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

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

%struct.s2n_security_policy = type { i8, ptr, ptr, ptr, ptr, ptr, ptr, i8, [2 x i8] }
%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_result = type { i32 }
%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 }

@s2n_use_color_in_output = external dso_local global i8, align 1
@async_early_data = external dso_local global ptr, align 8
@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 [81 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 [42 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [25 x i8], align 1
@__const.main.test_data = external hidden unnamed_addr constant [12 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [146 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [127 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [58 x i8], align 1
@security_policy_test_tls13_retry = external constant %struct.s2n_security_policy, align 8
@.str.79 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [125 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [128 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [125 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [68 x i8], align 1

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

586:                                              ; preds = %2
  br label %587

587:                                              ; preds = %586
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %588 = load ptr, ptr @stdout, align 8, !tbaa !9
  %589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %588, ptr noundef @.str, ptr noundef @.str.1) #11
  %590 = load ptr, ptr @stdout, align 8, !tbaa !9
  %591 = call i32 @fflush(ptr noundef %590)
  br label %592

592:                                              ; preds = %587
  %593 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %594 = icmp eq i32 %593, -1
  br i1 %594, label %595, label %646

595:                                              ; preds = %592
  br label %596

596:                                              ; preds = %595
  br label %597

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

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

609:                                              ; preds = %604
  %610 = load i32, ptr %6, align 4, !tbaa !5
  %611 = call ptr @__errno_location() #12
  store i32 %610, ptr %611, align 4, !tbaa !5
  %612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %613 = load i32, ptr @test_count, align 4, !tbaa !5
  %614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %615 = load i32, ptr %614, align 4, !tbaa !5
  %616 = call ptr @s2n_strerror(i32 noundef %615, ptr noundef @.str.4)
  %617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %618 = load i32, ptr %617, align 4, !tbaa !5
  %619 = call ptr @s2n_strerror_debug(i32 noundef %618, ptr noundef @.str.4)
  %620 = call ptr @__errno_location() #12
  %621 = load i32, ptr %620, align 4, !tbaa !5
  %622 = call ptr @strerror(i32 noundef %621) #11
  %623 = call ptr @__errno_location() #12
  %624 = load i32, ptr %623, align 4, !tbaa !5
  %625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %612, ptr noundef @.str.2, i32 noundef %613, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 56, ptr noundef %616, ptr noundef %619, ptr noundef %622, i32 noundef %624) #11
  br label %643

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

643:                                              ; preds = %626, %609
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #11
  br label %644

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

645:                                              ; No predecessors!
  br label %646

646:                                              ; preds = %645, %592
  br label %647

647:                                              ; preds = %646
  br label %648

648:                                              ; preds = %647
  %649 = load i32, ptr @test_count, align 4, !tbaa !5
  %650 = add nsw i32 %649, 1
  store i32 %650, ptr @test_count, align 4, !tbaa !5
  %651 = call i32 @s2n_enable_atexit()
  %652 = icmp eq i32 %651, -1
  br i1 %652, label %653, label %704

653:                                              ; preds = %648
  br label %654

654:                                              ; preds = %653
  br label %655

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

662:                                              ; preds = %655
  %663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %664 = call i32 @fileno(ptr noundef %663) #11
  %665 = call i32 @isatty(i32 noundef %664) #11
  %666 = icmp ne i32 %665, 0
  br i1 %666, label %667, label %684

667:                                              ; preds = %662
  %668 = load i32, ptr %7, align 4, !tbaa !5
  %669 = call ptr @__errno_location() #12
  store i32 %668, ptr %669, align 4, !tbaa !5
  %670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %671 = load i32, ptr @test_count, align 4, !tbaa !5
  %672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %673 = load i32, ptr %672, align 4, !tbaa !5
  %674 = call ptr @s2n_strerror(i32 noundef %673, ptr noundef @.str.4)
  %675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %676 = load i32, ptr %675, align 4, !tbaa !5
  %677 = call ptr @s2n_strerror_debug(i32 noundef %676, ptr noundef @.str.4)
  %678 = call ptr @__errno_location() #12
  %679 = load i32, ptr %678, align 4, !tbaa !5
  %680 = call ptr @strerror(i32 noundef %679) #11
  %681 = call ptr @__errno_location() #12
  %682 = load i32, ptr %681, align 4, !tbaa !5
  %683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %670, ptr noundef @.str.2, i32 noundef %671, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 56, ptr noundef %674, ptr noundef %677, ptr noundef %680, i32 noundef %682) #11
  br label %701

684:                                              ; preds = %662, %655
  %685 = load i32, ptr %7, align 4, !tbaa !5
  %686 = call ptr @__errno_location() #12
  store i32 %685, ptr %686, align 4, !tbaa !5
  %687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %688 = load i32, ptr @test_count, align 4, !tbaa !5
  %689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %690 = load i32, ptr %689, align 4, !tbaa !5
  %691 = call ptr @s2n_strerror(i32 noundef %690, ptr noundef @.str.4)
  %692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %693 = load i32, ptr %692, align 4, !tbaa !5
  %694 = call ptr @s2n_strerror_debug(i32 noundef %693, ptr noundef @.str.4)
  %695 = call ptr @__errno_location() #12
  %696 = load i32, ptr %695, align 4, !tbaa !5
  %697 = call ptr @strerror(i32 noundef %696) #11
  %698 = call ptr @__errno_location() #12
  %699 = load i32, ptr %698, align 4, !tbaa !5
  %700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %687, ptr noundef @.str.5, i32 noundef %688, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 56, ptr noundef %691, ptr noundef %694, ptr noundef %697, i32 noundef %699) #11
  br label %701

701:                                              ; preds = %684, %667
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #11
  br label %702

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

703:                                              ; No predecessors!
  br label %704

704:                                              ; preds = %703, %648
  br label %705

705:                                              ; preds = %704
  br label %706

706:                                              ; preds = %705
  br label %707

707:                                              ; preds = %706
  %708 = call i32 @s2n_init()
  %709 = icmp eq i32 %708, -1
  br i1 %709, label %710, label %761

710:                                              ; preds = %707
  br label %711

711:                                              ; preds = %710
  br label %712

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

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

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

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

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

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

760:                                              ; No predecessors!
  br label %761

761:                                              ; preds = %760, %707
  br label %762

762:                                              ; preds = %761
  br label %763

763:                                              ; preds = %762
  %764 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %764, label %912, label %765

765:                                              ; preds = %763
  br label %766

766:                                              ; preds = %765
  br label %767

767:                                              ; preds = %766
  %768 = call i32 @s2n_cleanup()
  %769 = icmp eq i32 %768, -1
  br i1 %769, label %770, label %821

770:                                              ; preds = %767
  br label %771

771:                                              ; preds = %770
  br label %772

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

779:                                              ; preds = %772
  %780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %781 = call i32 @fileno(ptr noundef %780) #11
  %782 = call i32 @isatty(i32 noundef %781) #11
  %783 = icmp ne i32 %782, 0
  br i1 %783, label %784, label %801

784:                                              ; preds = %779
  %785 = load i32, ptr %9, align 4, !tbaa !5
  %786 = call ptr @__errno_location() #12
  store i32 %785, ptr %786, align 4, !tbaa !5
  %787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %788 = load i32, ptr @test_count, align 4, !tbaa !5
  %789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %790 = load i32, ptr %789, align 4, !tbaa !5
  %791 = call ptr @s2n_strerror(i32 noundef %790, ptr noundef @.str.4)
  %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_debug(i32 noundef %793, ptr noundef @.str.4)
  %795 = call ptr @__errno_location() #12
  %796 = load i32, ptr %795, align 4, !tbaa !5
  %797 = call ptr @strerror(i32 noundef %796) #11
  %798 = call ptr @__errno_location() #12
  %799 = load i32, ptr %798, align 4, !tbaa !5
  %800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %787, ptr noundef @.str.2, i32 noundef %788, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 59, ptr noundef %791, ptr noundef %794, ptr noundef %797, i32 noundef %799) #11
  br label %818

801:                                              ; preds = %779, %772
  %802 = load i32, ptr %9, align 4, !tbaa !5
  %803 = call ptr @__errno_location() #12
  store i32 %802, ptr %803, align 4, !tbaa !5
  %804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %805 = load i32, ptr @test_count, align 4, !tbaa !5
  %806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %807 = load i32, ptr %806, align 4, !tbaa !5
  %808 = call ptr @s2n_strerror(i32 noundef %807, ptr noundef @.str.4)
  %809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %810 = load i32, ptr %809, align 4, !tbaa !5
  %811 = call ptr @s2n_strerror_debug(i32 noundef %810, ptr noundef @.str.4)
  %812 = call ptr @__errno_location() #12
  %813 = load i32, ptr %812, align 4, !tbaa !5
  %814 = call ptr @strerror(i32 noundef %813) #11
  %815 = call ptr @__errno_location() #12
  %816 = load i32, ptr %815, align 4, !tbaa !5
  %817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %804, ptr noundef @.str.5, i32 noundef %805, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 59, ptr noundef %808, ptr noundef %811, ptr noundef %814, i32 noundef %816) #11
  br label %818

818:                                              ; preds = %801, %784
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #11
  br label %819

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

820:                                              ; No predecessors!
  br label %821

821:                                              ; preds = %820, %767
  br label %822

822:                                              ; preds = %821
  br label %823

823:                                              ; preds = %822
  br label %824

824:                                              ; preds = %823
  %825 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %826 = icmp eq i32 %825, -1
  br i1 %826, label %827, label %878

827:                                              ; preds = %824
  br label %828

828:                                              ; preds = %827
  br label %829

829:                                              ; preds = %828
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #11
  %830 = call ptr @__errno_location() #12
  %831 = load i32, ptr %830, align 4, !tbaa !5
  store i32 %831, ptr %10, align 4, !tbaa !5
  %832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %833 = call i32 @s2n_print_stacktrace(ptr noundef %832)
  %834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %835 = trunc i8 %834 to i1
  br i1 %835, label %836, label %858

836:                                              ; preds = %829
  %837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %838 = call i32 @fileno(ptr noundef %837) #11
  %839 = call i32 @isatty(i32 noundef %838) #11
  %840 = icmp ne i32 %839, 0
  br i1 %840, label %841, label %858

841:                                              ; preds = %836
  %842 = load i32, ptr %10, align 4, !tbaa !5
  %843 = call ptr @__errno_location() #12
  store i32 %842, ptr %843, align 4, !tbaa !5
  %844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %845 = load i32, ptr @test_count, align 4, !tbaa !5
  %846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %847 = load i32, ptr %846, align 4, !tbaa !5
  %848 = call ptr @s2n_strerror(i32 noundef %847, ptr noundef @.str.4)
  %849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %850 = load i32, ptr %849, align 4, !tbaa !5
  %851 = call ptr @s2n_strerror_debug(i32 noundef %850, ptr noundef @.str.4)
  %852 = call ptr @__errno_location() #12
  %853 = load i32, ptr %852, align 4, !tbaa !5
  %854 = call ptr @strerror(i32 noundef %853) #11
  %855 = call ptr @__errno_location() #12
  %856 = load i32, ptr %855, align 4, !tbaa !5
  %857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %844, ptr noundef @.str.2, i32 noundef %845, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 59, ptr noundef %848, ptr noundef %851, ptr noundef %854, i32 noundef %856) #11
  br label %875

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

875:                                              ; preds = %858, %841
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #11
  br label %876

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

877:                                              ; No predecessors!
  br label %878

878:                                              ; preds = %877, %824
  br label %879

879:                                              ; preds = %878
  %880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %881 = trunc i8 %880 to i1
  br i1 %881, label %882, label %898

882:                                              ; preds = %879
  %883 = load ptr, ptr @stdout, align 8, !tbaa !9
  %884 = call i32 @fileno(ptr noundef %883) #11
  %885 = call i32 @isatty(i32 noundef %884) #11
  %886 = icmp ne i32 %885, 0
  br i1 %886, label %887, label %898

887:                                              ; preds = %882
  %888 = load i32, ptr @test_count, align 4, !tbaa !5
  %889 = icmp ne i32 %888, 0
  br i1 %889, label %890, label %894

890:                                              ; preds = %887
  %891 = load ptr, ptr @stdout, align 8, !tbaa !9
  %892 = load i32, ptr @test_count, align 4, !tbaa !5
  %893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %891, ptr noundef @.str.10, i32 noundef %892) #11
  br label %897

894:                                              ; preds = %887
  %895 = load ptr, ptr @stdout, align 8, !tbaa !9
  %896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %895, ptr noundef @.str.11) #11
  br label %897

897:                                              ; preds = %894, %890
  br label %909

898:                                              ; preds = %882, %879
  %899 = load i32, ptr @test_count, align 4, !tbaa !5
  %900 = icmp ne i32 %899, 0
  br i1 %900, label %901, label %905

901:                                              ; preds = %898
  %902 = load ptr, ptr @stdout, align 8, !tbaa !9
  %903 = load i32, ptr @test_count, align 4, !tbaa !5
  %904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %902, ptr noundef @.str.12, i32 noundef %903) #11
  br label %908

905:                                              ; preds = %898
  %906 = load ptr, ptr @stdout, align 8, !tbaa !9
  %907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %906, ptr noundef @.str.13) #11
  br label %908

908:                                              ; preds = %905, %901
  br label %909

909:                                              ; preds = %908, %897
  store i32 0, ptr %3, align 4
  br label %29391

910:                                              ; No predecessors!
  br label %911

911:                                              ; preds = %910
  br label %912

912:                                              ; preds = %911, %763
  call void @llvm.lifetime.start.p0(i64 12, ptr %11) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %11, ptr align 1 @__const.main.test_data, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #11
  %913 = call ptr @s2n_external_psk_new()
  store ptr %913, ptr %12, align 8, !tbaa !9
  br label %914

914:                                              ; preds = %912
  %915 = load i32, ptr @test_count, align 4, !tbaa !5
  %916 = add nsw i32 %915, 1
  store i32 %916, ptr @test_count, align 4, !tbaa !5
  %917 = load ptr, ptr %12, align 8, !tbaa !9
  %918 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %919 = call i32 @s2n_psk_set_identity(ptr noundef %917, ptr noundef %918, i16 noundef zeroext 12)
  %920 = icmp eq i32 %919, -1
  br i1 %920, label %921, label %974

921:                                              ; preds = %914
  br label %922

922:                                              ; preds = %921
  br label %923

923:                                              ; preds = %922
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #11
  %924 = call ptr @__errno_location() #12
  %925 = load i32, ptr %924, align 4, !tbaa !5
  store i32 %925, ptr %13, align 4, !tbaa !5
  %926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %927 = call i32 @s2n_print_stacktrace(ptr noundef %926)
  %928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %929 = trunc i8 %928 to i1
  br i1 %929, label %930, label %952

930:                                              ; preds = %923
  %931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %932 = call i32 @fileno(ptr noundef %931) #11
  %933 = call i32 @isatty(i32 noundef %932) #11
  %934 = icmp ne i32 %933, 0
  br i1 %934, label %935, label %952

935:                                              ; preds = %930
  %936 = load i32, ptr %13, align 4, !tbaa !5
  %937 = call ptr @__errno_location() #12
  store i32 %936, ptr %937, align 4, !tbaa !5
  %938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %939 = load i32, ptr @test_count, align 4, !tbaa !5
  %940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %941 = load i32, ptr %940, align 4, !tbaa !5
  %942 = call ptr @s2n_strerror(i32 noundef %941, ptr noundef @.str.4)
  %943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %944 = load i32, ptr %943, align 4, !tbaa !5
  %945 = call ptr @s2n_strerror_debug(i32 noundef %944, ptr noundef @.str.4)
  %946 = call ptr @__errno_location() #12
  %947 = load i32, ptr %946, align 4, !tbaa !5
  %948 = call ptr @strerror(i32 noundef %947) #11
  %949 = call ptr @__errno_location() #12
  %950 = load i32, ptr %949, align 4, !tbaa !5
  %951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %938, ptr noundef @.str.2, i32 noundef %939, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 65, ptr noundef %942, ptr noundef %945, ptr noundef %948, i32 noundef %950) #11
  br label %969

952:                                              ; preds = %930, %923
  %953 = load i32, ptr %13, align 4, !tbaa !5
  %954 = call ptr @__errno_location() #12
  store i32 %953, ptr %954, align 4, !tbaa !5
  %955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %956 = load i32, ptr @test_count, align 4, !tbaa !5
  %957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %958 = load i32, ptr %957, align 4, !tbaa !5
  %959 = call ptr @s2n_strerror(i32 noundef %958, ptr noundef @.str.4)
  %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_debug(i32 noundef %961, ptr noundef @.str.4)
  %963 = call ptr @__errno_location() #12
  %964 = load i32, ptr %963, align 4, !tbaa !5
  %965 = call ptr @strerror(i32 noundef %964) #11
  %966 = call ptr @__errno_location() #12
  %967 = load i32, ptr %966, align 4, !tbaa !5
  %968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %955, ptr noundef @.str.5, i32 noundef %956, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 65, ptr noundef %959, ptr noundef %962, ptr noundef %965, i32 noundef %967) #11
  br label %969

969:                                              ; preds = %952, %935
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #11
  br label %970

970:                                              ; preds = %969
  br label %971

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

972:                                              ; No predecessors!
  br label %973

973:                                              ; preds = %972
  br label %974

974:                                              ; preds = %973, %914
  br label %975

975:                                              ; preds = %974
  br label %976

976:                                              ; preds = %975
  br label %977

977:                                              ; preds = %976
  %978 = load i32, ptr @test_count, align 4, !tbaa !5
  %979 = add nsw i32 %978, 1
  store i32 %979, ptr @test_count, align 4, !tbaa !5
  %980 = load ptr, ptr %12, align 8, !tbaa !9
  %981 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %982 = call i32 @s2n_psk_set_secret(ptr noundef %980, ptr noundef %981, i16 noundef zeroext 12)
  %983 = icmp eq i32 %982, -1
  br i1 %983, label %984, label %1037

984:                                              ; preds = %977
  br label %985

985:                                              ; preds = %984
  br label %986

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

993:                                              ; preds = %986
  %994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %995 = call i32 @fileno(ptr noundef %994) #11
  %996 = call i32 @isatty(i32 noundef %995) #11
  %997 = icmp ne i32 %996, 0
  br i1 %997, label %998, label %1015

998:                                              ; preds = %993
  %999 = load i32, ptr %14, align 4, !tbaa !5
  %1000 = call ptr @__errno_location() #12
  store i32 %999, ptr %1000, align 4, !tbaa !5
  %1001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1002 = load i32, ptr @test_count, align 4, !tbaa !5
  %1003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1004 = load i32, ptr %1003, align 4, !tbaa !5
  %1005 = call ptr @s2n_strerror(i32 noundef %1004, ptr noundef @.str.4)
  %1006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1007 = load i32, ptr %1006, align 4, !tbaa !5
  %1008 = call ptr @s2n_strerror_debug(i32 noundef %1007, ptr noundef @.str.4)
  %1009 = call ptr @__errno_location() #12
  %1010 = load i32, ptr %1009, align 4, !tbaa !5
  %1011 = call ptr @strerror(i32 noundef %1010) #11
  %1012 = call ptr @__errno_location() #12
  %1013 = load i32, ptr %1012, align 4, !tbaa !5
  %1014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1001, ptr noundef @.str.2, i32 noundef %1002, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1005, ptr noundef %1008, ptr noundef %1011, i32 noundef %1013) #11
  br label %1032

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

1032:                                             ; preds = %1015, %998
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #11
  br label %1033

1033:                                             ; preds = %1032
  br label %1034

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

1035:                                             ; No predecessors!
  br label %1036

1036:                                             ; preds = %1035
  br label %1037

1037:                                             ; preds = %1036, %977
  br label %1038

1038:                                             ; preds = %1037
  br label %1039

1039:                                             ; preds = %1038
  br label %1040

1040:                                             ; preds = %1039
  %1041 = load i32, ptr @test_count, align 4, !tbaa !5
  %1042 = add nsw i32 %1041, 1
  store i32 %1042, ptr @test_count, align 4, !tbaa !5
  %1043 = load ptr, ptr %12, align 8, !tbaa !9
  %1044 = call i32 @s2n_psk_configure_early_data(ptr noundef %1043, i32 noundef 1000, i8 noundef zeroext 19, i8 noundef zeroext 1)
  %1045 = icmp eq i32 %1044, -1
  br i1 %1045, label %1046, label %1099

1046:                                             ; preds = %1040
  br label %1047

1047:                                             ; preds = %1046
  br label %1048

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

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

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

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

1094:                                             ; preds = %1077, %1060
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #11
  br label %1095

1095:                                             ; preds = %1094
  br label %1096

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

1097:                                             ; No predecessors!
  br label %1098

1098:                                             ; preds = %1097
  br label %1099

1099:                                             ; preds = %1098, %1040
  br label %1100

1100:                                             ; preds = %1099
  br label %1101

1101:                                             ; preds = %1100
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #11
  %1102 = call ptr @s2n_external_psk_new()
  store ptr %1102, ptr %16, align 8, !tbaa !9
  br label %1103

1103:                                             ; preds = %1101
  %1104 = load i32, ptr @test_count, align 4, !tbaa !5
  %1105 = add nsw i32 %1104, 1
  store i32 %1105, ptr @test_count, align 4, !tbaa !5
  %1106 = load ptr, ptr %16, align 8, !tbaa !9
  %1107 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %1108 = call i32 @s2n_psk_set_identity(ptr noundef %1106, ptr noundef %1107, i16 noundef zeroext 12)
  %1109 = icmp eq i32 %1108, -1
  br i1 %1109, label %1110, label %1163

1110:                                             ; preds = %1103
  br label %1111

1111:                                             ; preds = %1110
  br label %1112

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

1119:                                             ; preds = %1112
  %1120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1121 = call i32 @fileno(ptr noundef %1120) #11
  %1122 = call i32 @isatty(i32 noundef %1121) #11
  %1123 = icmp ne i32 %1122, 0
  br i1 %1123, label %1124, label %1141

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

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

1158:                                             ; preds = %1141, %1124
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #11
  br label %1159

1159:                                             ; preds = %1158
  br label %1160

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

1161:                                             ; No predecessors!
  br label %1162

1162:                                             ; preds = %1161
  br label %1163

1163:                                             ; preds = %1162, %1103
  br label %1164

1164:                                             ; preds = %1163
  br label %1165

1165:                                             ; preds = %1164
  br label %1166

1166:                                             ; preds = %1165
  %1167 = load i32, ptr @test_count, align 4, !tbaa !5
  %1168 = add nsw i32 %1167, 1
  store i32 %1168, ptr @test_count, align 4, !tbaa !5
  %1169 = load ptr, ptr %16, align 8, !tbaa !9
  %1170 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %1171 = call i32 @s2n_psk_set_secret(ptr noundef %1169, ptr noundef %1170, i16 noundef zeroext 12)
  %1172 = icmp eq i32 %1171, -1
  br i1 %1172, label %1173, label %1226

1173:                                             ; preds = %1166
  br label %1174

1174:                                             ; preds = %1173
  br label %1175

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

1182:                                             ; preds = %1175
  %1183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1184 = call i32 @fileno(ptr noundef %1183) #11
  %1185 = call i32 @isatty(i32 noundef %1184) #11
  %1186 = icmp ne i32 %1185, 0
  br i1 %1186, label %1187, label %1204

1187:                                             ; preds = %1182
  %1188 = load i32, ptr %18, align 4, !tbaa !5
  %1189 = call ptr @__errno_location() #12
  store i32 %1188, ptr %1189, align 4, !tbaa !5
  %1190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1191 = load i32, ptr @test_count, align 4, !tbaa !5
  %1192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1193 = load i32, ptr %1192, align 4, !tbaa !5
  %1194 = call ptr @s2n_strerror(i32 noundef %1193, ptr noundef @.str.4)
  %1195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1196 = load i32, ptr %1195, align 4, !tbaa !5
  %1197 = call ptr @s2n_strerror_debug(i32 noundef %1196, ptr noundef @.str.4)
  %1198 = call ptr @__errno_location() #12
  %1199 = load i32, ptr %1198, align 4, !tbaa !5
  %1200 = call ptr @strerror(i32 noundef %1199) #11
  %1201 = call ptr @__errno_location() #12
  %1202 = load i32, ptr %1201, align 4, !tbaa !5
  %1203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1190, ptr noundef @.str.2, i32 noundef %1191, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 71, ptr noundef %1194, ptr noundef %1197, ptr noundef %1200, i32 noundef %1202) #11
  br label %1221

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

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

1222:                                             ; preds = %1221
  br label %1223

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

1224:                                             ; No predecessors!
  br label %1225

1225:                                             ; preds = %1224
  br label %1226

1226:                                             ; preds = %1225, %1166
  br label %1227

1227:                                             ; preds = %1226
  br label %1228

1228:                                             ; preds = %1227
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #11
  %1229 = call ptr @s2n_external_psk_new()
  store ptr %1229, ptr %19, align 8, !tbaa !9
  br label %1230

1230:                                             ; preds = %1228
  %1231 = load i32, ptr @test_count, align 4, !tbaa !5
  %1232 = add nsw i32 %1231, 1
  store i32 %1232, ptr @test_count, align 4, !tbaa !5
  %1233 = load ptr, ptr %19, align 8, !tbaa !9
  %1234 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %1235 = call i32 @s2n_psk_set_identity(ptr noundef %1233, ptr noundef %1234, i16 noundef zeroext 12)
  %1236 = icmp eq i32 %1235, -1
  br i1 %1236, label %1237, label %1290

1237:                                             ; preds = %1230
  br label %1238

1238:                                             ; preds = %1237
  br label %1239

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

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

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

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

1285:                                             ; preds = %1268, %1251
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #11
  br label %1286

1286:                                             ; preds = %1285
  br label %1287

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

1288:                                             ; No predecessors!
  br label %1289

1289:                                             ; preds = %1288
  br label %1290

1290:                                             ; preds = %1289, %1230
  br label %1291

1291:                                             ; preds = %1290
  br label %1292

1292:                                             ; preds = %1291
  br label %1293

1293:                                             ; preds = %1292
  %1294 = load i32, ptr @test_count, align 4, !tbaa !5
  %1295 = add nsw i32 %1294, 1
  store i32 %1295, ptr @test_count, align 4, !tbaa !5
  %1296 = load ptr, ptr %19, align 8, !tbaa !9
  %1297 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %1298 = call i32 @s2n_psk_set_secret(ptr noundef %1296, ptr noundef %1297, i16 noundef zeroext 12)
  %1299 = icmp eq i32 %1298, -1
  br i1 %1299, label %1300, label %1353

1300:                                             ; preds = %1293
  br label %1301

1301:                                             ; preds = %1300
  br label %1302

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

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

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

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

1348:                                             ; preds = %1331, %1314
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #11
  br label %1349

1349:                                             ; preds = %1348
  br label %1350

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

1351:                                             ; No predecessors!
  br label %1352

1352:                                             ; preds = %1351
  br label %1353

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

1354:                                             ; preds = %1353
  br label %1355

1355:                                             ; preds = %1354
  br label %1356

1356:                                             ; preds = %1355
  %1357 = load i32, ptr @test_count, align 4, !tbaa !5
  %1358 = add nsw i32 %1357, 1
  store i32 %1358, ptr @test_count, align 4, !tbaa !5
  %1359 = load ptr, ptr %19, align 8, !tbaa !9
  %1360 = call i32 @s2n_psk_configure_early_data(ptr noundef %1359, i32 noundef 1000, i8 noundef zeroext 19, i8 noundef zeroext 3)
  %1361 = icmp eq i32 %1360, -1
  br i1 %1361, label %1362, label %1415

1362:                                             ; preds = %1356
  br label %1363

1363:                                             ; preds = %1362
  br label %1364

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

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

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

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

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

1411:                                             ; preds = %1410
  br label %1412

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

1413:                                             ; No predecessors!
  br label %1414

1414:                                             ; preds = %1413
  br label %1415

1415:                                             ; preds = %1414, %1356
  br label %1416

1416:                                             ; preds = %1415
  br label %1417

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

1418:                                             ; preds = %1417
  %1419 = load i32, ptr @test_count, align 4, !tbaa !5
  %1420 = add nsw i32 %1419, 1
  store i32 %1420, ptr @test_count, align 4, !tbaa !5
  %1421 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %23, ptr noundef @.str.22, ptr noundef @.str.23)
  %1422 = icmp eq i32 %1421, -1
  br i1 %1422, label %1423, label %1476

1423:                                             ; preds = %1418
  br label %1424

1424:                                             ; preds = %1423
  br label %1425

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

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

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

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

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

1472:                                             ; preds = %1471
  br label %1473

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

1474:                                             ; No predecessors!
  br label %1475

1475:                                             ; preds = %1474
  br label %1476

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

1477:                                             ; preds = %1476
  br label %1478

1478:                                             ; preds = %1477
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #11
  %1479 = call ptr @s2n_config_new()
  store ptr %1479, ptr %25, align 8, !tbaa !9
  br label %1480

1480:                                             ; preds = %1478
  %1481 = load i32, ptr @test_count, align 4, !tbaa !5
  %1482 = add nsw i32 %1481, 1
  store i32 %1482, ptr @test_count, align 4, !tbaa !5
  %1483 = load ptr, ptr %25, align 8, !tbaa !9
  %1484 = load ptr, ptr %23, align 8, !tbaa !9
  %1485 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %1483, ptr noundef %1484)
  %1486 = icmp eq i32 %1485, -1
  br i1 %1486, label %1487, label %1540

1487:                                             ; preds = %1480
  br label %1488

1488:                                             ; preds = %1487
  br label %1489

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

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

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

1518:                                             ; preds = %1496, %1489
  %1519 = load i32, ptr %26, align 4, !tbaa !5
  %1520 = call ptr @__errno_location() #12
  store i32 %1519, ptr %1520, align 4, !tbaa !5
  %1521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1522 = load i32, ptr @test_count, align 4, !tbaa !5
  %1523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1524 = load i32, ptr %1523, align 4, !tbaa !5
  %1525 = call ptr @s2n_strerror(i32 noundef %1524, ptr noundef @.str.4)
  %1526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1527 = load i32, ptr %1526, align 4, !tbaa !5
  %1528 = call ptr @s2n_strerror_debug(i32 noundef %1527, ptr noundef @.str.4)
  %1529 = call ptr @__errno_location() #12
  %1530 = load i32, ptr %1529, align 4, !tbaa !5
  %1531 = call ptr @strerror(i32 noundef %1530) #11
  %1532 = call ptr @__errno_location() #12
  %1533 = load i32, ptr %1532, align 4, !tbaa !5
  %1534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1521, ptr noundef @.str.5, i32 noundef %1522, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 83, ptr noundef %1525, ptr noundef %1528, ptr noundef %1531, i32 noundef %1533) #11
  br label %1535

1535:                                             ; preds = %1518, %1501
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #11
  br label %1536

1536:                                             ; preds = %1535
  br label %1537

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

1538:                                             ; No predecessors!
  br label %1539

1539:                                             ; preds = %1538
  br label %1540

1540:                                             ; preds = %1539, %1480
  br label %1541

1541:                                             ; preds = %1540
  br label %1542

1542:                                             ; preds = %1541
  br label %1543

1543:                                             ; preds = %1542
  %1544 = load i32, ptr @test_count, align 4, !tbaa !5
  %1545 = add nsw i32 %1544, 1
  store i32 %1545, ptr @test_count, align 4, !tbaa !5
  %1546 = load ptr, ptr %25, align 8, !tbaa !9
  %1547 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %1546)
  %1548 = icmp eq i32 %1547, -1
  br i1 %1548, label %1549, label %1602

1549:                                             ; preds = %1543
  br label %1550

1550:                                             ; preds = %1549
  br label %1551

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

1558:                                             ; preds = %1551
  %1559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1560 = call i32 @fileno(ptr noundef %1559) #11
  %1561 = call i32 @isatty(i32 noundef %1560) #11
  %1562 = icmp ne i32 %1561, 0
  br i1 %1562, label %1563, label %1580

1563:                                             ; preds = %1558
  %1564 = load i32, ptr %27, align 4, !tbaa !5
  %1565 = call ptr @__errno_location() #12
  store i32 %1564, ptr %1565, align 4, !tbaa !5
  %1566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1567 = load i32, ptr @test_count, align 4, !tbaa !5
  %1568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1569 = load i32, ptr %1568, align 4, !tbaa !5
  %1570 = call ptr @s2n_strerror(i32 noundef %1569, ptr noundef @.str.4)
  %1571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1572 = load i32, ptr %1571, align 4, !tbaa !5
  %1573 = call ptr @s2n_strerror_debug(i32 noundef %1572, ptr noundef @.str.4)
  %1574 = call ptr @__errno_location() #12
  %1575 = load i32, ptr %1574, align 4, !tbaa !5
  %1576 = call ptr @strerror(i32 noundef %1575) #11
  %1577 = call ptr @__errno_location() #12
  %1578 = load i32, ptr %1577, align 4, !tbaa !5
  %1579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1566, ptr noundef @.str.2, i32 noundef %1567, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 84, ptr noundef %1570, ptr noundef %1573, ptr noundef %1576, i32 noundef %1578) #11
  br label %1597

1580:                                             ; preds = %1558, %1551
  %1581 = load i32, ptr %27, 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.5, i32 noundef %1584, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 84, ptr noundef %1587, ptr noundef %1590, ptr noundef %1593, i32 noundef %1595) #11
  br label %1597

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

1598:                                             ; preds = %1597
  br label %1599

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

1600:                                             ; No predecessors!
  br label %1601

1601:                                             ; preds = %1600
  br label %1602

1602:                                             ; preds = %1601, %1543
  br label %1603

1603:                                             ; preds = %1602
  br label %1604

1604:                                             ; preds = %1603
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #11
  store ptr null, ptr %28, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #11
  store ptr null, ptr %29, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #11
  call void @llvm.memset.p0.i64(ptr align 4 %30, i8 0, i64 8, i1 false)
  br label %1605

1605:                                             ; preds = %1604
  %1606 = load i32, ptr @test_count, align 4, !tbaa !5
  %1607 = add nsw i32 %1606, 1
  store i32 %1607, ptr @test_count, align 4, !tbaa !5
  %1608 = call i32 @s2n_test_client_and_server_new(ptr noundef %28, ptr noundef %29, ptr noundef %30)
  %1609 = getelementptr inbounds %struct.s2n_result, ptr %31, i32 0, i32 0
  store i32 %1608, ptr %1609, align 4
  %1610 = getelementptr inbounds %struct.s2n_result, ptr %31, i32 0, i32 0
  %1611 = load i32, ptr %1610, align 4
  %1612 = call zeroext i1 @s2n_result_is_ok(i32 %1611)
  br i1 %1612, label %1666, label %1613

1613:                                             ; preds = %1605
  br label %1614

1614:                                             ; preds = %1613
  br label %1615

1615:                                             ; preds = %1614
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #11
  %1616 = call ptr @__errno_location() #12
  %1617 = load i32, ptr %1616, align 4, !tbaa !5
  store i32 %1617, ptr %32, align 4, !tbaa !5
  %1618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1619 = call i32 @s2n_print_stacktrace(ptr noundef %1618)
  %1620 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1621 = trunc i8 %1620 to i1
  br i1 %1621, label %1622, label %1644

1622:                                             ; preds = %1615
  %1623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1624 = call i32 @fileno(ptr noundef %1623) #11
  %1625 = call i32 @isatty(i32 noundef %1624) #11
  %1626 = icmp ne i32 %1625, 0
  br i1 %1626, label %1627, label %1644

1627:                                             ; preds = %1622
  %1628 = load i32, ptr %32, align 4, !tbaa !5
  %1629 = call ptr @__errno_location() #12
  store i32 %1628, ptr %1629, align 4, !tbaa !5
  %1630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1631 = load i32, ptr @test_count, align 4, !tbaa !5
  %1632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1633 = load i32, ptr %1632, align 4, !tbaa !5
  %1634 = call ptr @s2n_strerror(i32 noundef %1633, ptr noundef @.str.4)
  %1635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1636 = load i32, ptr %1635, align 4, !tbaa !5
  %1637 = call ptr @s2n_strerror_debug(i32 noundef %1636, ptr noundef @.str.4)
  %1638 = call ptr @__errno_location() #12
  %1639 = load i32, ptr %1638, align 4, !tbaa !5
  %1640 = call ptr @strerror(i32 noundef %1639) #11
  %1641 = call ptr @__errno_location() #12
  %1642 = load i32, ptr %1641, align 4, !tbaa !5
  %1643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1630, ptr noundef @.str.2, i32 noundef %1631, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 92, ptr noundef %1634, ptr noundef %1637, ptr noundef %1640, i32 noundef %1642) #11
  br label %1661

1644:                                             ; preds = %1622, %1615
  %1645 = load i32, ptr %32, align 4, !tbaa !5
  %1646 = call ptr @__errno_location() #12
  store i32 %1645, ptr %1646, align 4, !tbaa !5
  %1647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1648 = load i32, ptr @test_count, align 4, !tbaa !5
  %1649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1650 = load i32, ptr %1649, align 4, !tbaa !5
  %1651 = call ptr @s2n_strerror(i32 noundef %1650, ptr noundef @.str.4)
  %1652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1653 = load i32, ptr %1652, align 4, !tbaa !5
  %1654 = call ptr @s2n_strerror_debug(i32 noundef %1653, ptr noundef @.str.4)
  %1655 = call ptr @__errno_location() #12
  %1656 = load i32, ptr %1655, align 4, !tbaa !5
  %1657 = call ptr @strerror(i32 noundef %1656) #11
  %1658 = call ptr @__errno_location() #12
  %1659 = load i32, ptr %1658, align 4, !tbaa !5
  %1660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1647, ptr noundef @.str.5, i32 noundef %1648, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 92, ptr noundef %1651, ptr noundef %1654, ptr noundef %1657, i32 noundef %1659) #11
  br label %1661

1661:                                             ; preds = %1644, %1627
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #11
  br label %1662

1662:                                             ; preds = %1661
  br label %1663

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

1664:                                             ; No predecessors!
  br label %1665

1665:                                             ; preds = %1664
  br label %1666

1666:                                             ; preds = %1665, %1605
  br label %1667

1667:                                             ; preds = %1666
  br label %1668

1668:                                             ; preds = %1667
  br label %1669

1669:                                             ; preds = %1668
  %1670 = load i32, ptr @test_count, align 4, !tbaa !5
  %1671 = add nsw i32 %1670, 1
  store i32 %1671, ptr @test_count, align 4, !tbaa !5
  %1672 = load ptr, ptr %28, align 8, !tbaa !9
  %1673 = load ptr, ptr %12, align 8, !tbaa !9
  %1674 = call i32 @s2n_connection_append_psk(ptr noundef %1672, ptr noundef %1673)
  %1675 = icmp eq i32 %1674, -1
  br i1 %1675, label %1676, label %1729

1676:                                             ; preds = %1669
  br label %1677

1677:                                             ; preds = %1676
  br label %1678

1678:                                             ; preds = %1677
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #11
  %1679 = call ptr @__errno_location() #12
  %1680 = load i32, ptr %1679, align 4, !tbaa !5
  store i32 %1680, ptr %33, align 4, !tbaa !5
  %1681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1682 = call i32 @s2n_print_stacktrace(ptr noundef %1681)
  %1683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1684 = trunc i8 %1683 to i1
  br i1 %1684, label %1685, label %1707

1685:                                             ; preds = %1678
  %1686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1687 = call i32 @fileno(ptr noundef %1686) #11
  %1688 = call i32 @isatty(i32 noundef %1687) #11
  %1689 = icmp ne i32 %1688, 0
  br i1 %1689, label %1690, label %1707

1690:                                             ; preds = %1685
  %1691 = load i32, ptr %33, align 4, !tbaa !5
  %1692 = call ptr @__errno_location() #12
  store i32 %1691, ptr %1692, align 4, !tbaa !5
  %1693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1694 = load i32, ptr @test_count, align 4, !tbaa !5
  %1695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1696 = load i32, ptr %1695, align 4, !tbaa !5
  %1697 = call ptr @s2n_strerror(i32 noundef %1696, ptr noundef @.str.4)
  %1698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1699 = load i32, ptr %1698, align 4, !tbaa !5
  %1700 = call ptr @s2n_strerror_debug(i32 noundef %1699, ptr noundef @.str.4)
  %1701 = call ptr @__errno_location() #12
  %1702 = load i32, ptr %1701, align 4, !tbaa !5
  %1703 = call ptr @strerror(i32 noundef %1702) #11
  %1704 = call ptr @__errno_location() #12
  %1705 = load i32, ptr %1704, align 4, !tbaa !5
  %1706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1693, ptr noundef @.str.2, i32 noundef %1694, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 94, ptr noundef %1697, ptr noundef %1700, ptr noundef %1703, i32 noundef %1705) #11
  br label %1724

1707:                                             ; preds = %1685, %1678
  %1708 = load i32, ptr %33, align 4, !tbaa !5
  %1709 = call ptr @__errno_location() #12
  store i32 %1708, ptr %1709, align 4, !tbaa !5
  %1710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1711 = load i32, ptr @test_count, align 4, !tbaa !5
  %1712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1713 = load i32, ptr %1712, align 4, !tbaa !5
  %1714 = call ptr @s2n_strerror(i32 noundef %1713, ptr noundef @.str.4)
  %1715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1716 = load i32, ptr %1715, align 4, !tbaa !5
  %1717 = call ptr @s2n_strerror_debug(i32 noundef %1716, ptr noundef @.str.4)
  %1718 = call ptr @__errno_location() #12
  %1719 = load i32, ptr %1718, align 4, !tbaa !5
  %1720 = call ptr @strerror(i32 noundef %1719) #11
  %1721 = call ptr @__errno_location() #12
  %1722 = load i32, ptr %1721, align 4, !tbaa !5
  %1723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1710, ptr noundef @.str.5, i32 noundef %1711, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 94, ptr noundef %1714, ptr noundef %1717, ptr noundef %1720, i32 noundef %1722) #11
  br label %1724

1724:                                             ; preds = %1707, %1690
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #11
  br label %1725

1725:                                             ; preds = %1724
  br label %1726

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

1727:                                             ; No predecessors!
  br label %1728

1728:                                             ; preds = %1727
  br label %1729

1729:                                             ; preds = %1728, %1669
  br label %1730

1730:                                             ; preds = %1729
  br label %1731

1731:                                             ; preds = %1730
  br label %1732

1732:                                             ; preds = %1731
  %1733 = load i32, ptr @test_count, align 4, !tbaa !5
  %1734 = add nsw i32 %1733, 1
  store i32 %1734, ptr @test_count, align 4, !tbaa !5
  %1735 = load ptr, ptr %29, align 8, !tbaa !9
  %1736 = load ptr, ptr %12, align 8, !tbaa !9
  %1737 = call i32 @s2n_connection_append_psk(ptr noundef %1735, ptr noundef %1736)
  %1738 = icmp eq i32 %1737, -1
  br i1 %1738, label %1739, label %1792

1739:                                             ; preds = %1732
  br label %1740

1740:                                             ; preds = %1739
  br label %1741

1741:                                             ; preds = %1740
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #11
  %1742 = call ptr @__errno_location() #12
  %1743 = load i32, ptr %1742, align 4, !tbaa !5
  store i32 %1743, ptr %34, align 4, !tbaa !5
  %1744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1745 = call i32 @s2n_print_stacktrace(ptr noundef %1744)
  %1746 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1747 = trunc i8 %1746 to i1
  br i1 %1747, label %1748, label %1770

1748:                                             ; preds = %1741
  %1749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1750 = call i32 @fileno(ptr noundef %1749) #11
  %1751 = call i32 @isatty(i32 noundef %1750) #11
  %1752 = icmp ne i32 %1751, 0
  br i1 %1752, label %1753, label %1770

1753:                                             ; preds = %1748
  %1754 = load i32, ptr %34, align 4, !tbaa !5
  %1755 = call ptr @__errno_location() #12
  store i32 %1754, ptr %1755, align 4, !tbaa !5
  %1756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1757 = load i32, ptr @test_count, align 4, !tbaa !5
  %1758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1759 = load i32, ptr %1758, align 4, !tbaa !5
  %1760 = call ptr @s2n_strerror(i32 noundef %1759, ptr noundef @.str.4)
  %1761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1762 = load i32, ptr %1761, align 4, !tbaa !5
  %1763 = call ptr @s2n_strerror_debug(i32 noundef %1762, ptr noundef @.str.4)
  %1764 = call ptr @__errno_location() #12
  %1765 = load i32, ptr %1764, align 4, !tbaa !5
  %1766 = call ptr @strerror(i32 noundef %1765) #11
  %1767 = call ptr @__errno_location() #12
  %1768 = load i32, ptr %1767, align 4, !tbaa !5
  %1769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1756, ptr noundef @.str.2, i32 noundef %1757, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 95, ptr noundef %1760, ptr noundef %1763, ptr noundef %1766, i32 noundef %1768) #11
  br label %1787

1770:                                             ; preds = %1748, %1741
  %1771 = load i32, ptr %34, align 4, !tbaa !5
  %1772 = call ptr @__errno_location() #12
  store i32 %1771, ptr %1772, align 4, !tbaa !5
  %1773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1774 = load i32, ptr @test_count, align 4, !tbaa !5
  %1775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1776 = load i32, ptr %1775, align 4, !tbaa !5
  %1777 = call ptr @s2n_strerror(i32 noundef %1776, ptr noundef @.str.4)
  %1778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1779 = load i32, ptr %1778, align 4, !tbaa !5
  %1780 = call ptr @s2n_strerror_debug(i32 noundef %1779, ptr noundef @.str.4)
  %1781 = call ptr @__errno_location() #12
  %1782 = load i32, ptr %1781, align 4, !tbaa !5
  %1783 = call ptr @strerror(i32 noundef %1782) #11
  %1784 = call ptr @__errno_location() #12
  %1785 = load i32, ptr %1784, align 4, !tbaa !5
  %1786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1773, ptr noundef @.str.5, i32 noundef %1774, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 95, ptr noundef %1777, ptr noundef %1780, ptr noundef %1783, i32 noundef %1785) #11
  br label %1787

1787:                                             ; preds = %1770, %1753
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #11
  br label %1788

1788:                                             ; preds = %1787
  br label %1789

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

1790:                                             ; No predecessors!
  br label %1791

1791:                                             ; preds = %1790
  br label %1792

1792:                                             ; preds = %1791, %1732
  br label %1793

1793:                                             ; preds = %1792
  br label %1794

1794:                                             ; preds = %1793
  br label %1795

1795:                                             ; preds = %1794
  %1796 = load i32, ptr @test_count, align 4, !tbaa !5
  %1797 = add nsw i32 %1796, 1
  store i32 %1797, ptr @test_count, align 4, !tbaa !5
  %1798 = load ptr, ptr %28, align 8, !tbaa !9
  %1799 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %1798)
  %1800 = icmp eq i32 %1799, -1
  br i1 %1800, label %1801, label %1854

1801:                                             ; preds = %1795
  br label %1802

1802:                                             ; preds = %1801
  br label %1803

1803:                                             ; preds = %1802
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #11
  %1804 = call ptr @__errno_location() #12
  %1805 = load i32, ptr %1804, align 4, !tbaa !5
  store i32 %1805, ptr %35, align 4, !tbaa !5
  %1806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1807 = call i32 @s2n_print_stacktrace(ptr noundef %1806)
  %1808 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1809 = trunc i8 %1808 to i1
  br i1 %1809, label %1810, label %1832

1810:                                             ; preds = %1803
  %1811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1812 = call i32 @fileno(ptr noundef %1811) #11
  %1813 = call i32 @isatty(i32 noundef %1812) #11
  %1814 = icmp ne i32 %1813, 0
  br i1 %1814, label %1815, label %1832

1815:                                             ; preds = %1810
  %1816 = load i32, ptr %35, align 4, !tbaa !5
  %1817 = call ptr @__errno_location() #12
  store i32 %1816, ptr %1817, align 4, !tbaa !5
  %1818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1819 = load i32, ptr @test_count, align 4, !tbaa !5
  %1820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1821 = load i32, ptr %1820, align 4, !tbaa !5
  %1822 = call ptr @s2n_strerror(i32 noundef %1821, ptr noundef @.str.4)
  %1823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1824 = load i32, ptr %1823, align 4, !tbaa !5
  %1825 = call ptr @s2n_strerror_debug(i32 noundef %1824, ptr noundef @.str.4)
  %1826 = call ptr @__errno_location() #12
  %1827 = load i32, ptr %1826, align 4, !tbaa !5
  %1828 = call ptr @strerror(i32 noundef %1827) #11
  %1829 = call ptr @__errno_location() #12
  %1830 = load i32, ptr %1829, align 4, !tbaa !5
  %1831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1818, ptr noundef @.str.2, i32 noundef %1819, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 96, ptr noundef %1822, ptr noundef %1825, ptr noundef %1828, i32 noundef %1830) #11
  br label %1849

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

1849:                                             ; preds = %1832, %1815
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #11
  br label %1850

1850:                                             ; preds = %1849
  br label %1851

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

1852:                                             ; No predecessors!
  br label %1853

1853:                                             ; preds = %1852
  br label %1854

1854:                                             ; preds = %1853, %1795
  br label %1855

1855:                                             ; preds = %1854
  br label %1856

1856:                                             ; preds = %1855
  br label %1857

1857:                                             ; preds = %1856
  %1858 = load i32, ptr @test_count, align 4, !tbaa !5
  %1859 = add nsw i32 %1858, 1
  store i32 %1859, ptr @test_count, align 4, !tbaa !5
  %1860 = load ptr, ptr %29, align 8, !tbaa !9
  %1861 = load ptr, ptr %28, align 8, !tbaa !9
  %1862 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1860, ptr noundef %1861)
  %1863 = icmp eq i32 %1862, -1
  br i1 %1863, label %1864, label %1917

1864:                                             ; preds = %1857
  br label %1865

1865:                                             ; preds = %1864
  br label %1866

1866:                                             ; preds = %1865
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #11
  %1867 = call ptr @__errno_location() #12
  %1868 = load i32, ptr %1867, align 4, !tbaa !5
  store i32 %1868, ptr %36, align 4, !tbaa !5
  %1869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1870 = call i32 @s2n_print_stacktrace(ptr noundef %1869)
  %1871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1872 = trunc i8 %1871 to i1
  br i1 %1872, label %1873, label %1895

1873:                                             ; preds = %1866
  %1874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1875 = call i32 @fileno(ptr noundef %1874) #11
  %1876 = call i32 @isatty(i32 noundef %1875) #11
  %1877 = icmp ne i32 %1876, 0
  br i1 %1877, label %1878, label %1895

1878:                                             ; preds = %1873
  %1879 = load i32, ptr %36, align 4, !tbaa !5
  %1880 = call ptr @__errno_location() #12
  store i32 %1879, ptr %1880, align 4, !tbaa !5
  %1881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1882 = load i32, ptr @test_count, align 4, !tbaa !5
  %1883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1884 = load i32, ptr %1883, align 4, !tbaa !5
  %1885 = call ptr @s2n_strerror(i32 noundef %1884, ptr noundef @.str.4)
  %1886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1887 = load i32, ptr %1886, align 4, !tbaa !5
  %1888 = call ptr @s2n_strerror_debug(i32 noundef %1887, ptr noundef @.str.4)
  %1889 = call ptr @__errno_location() #12
  %1890 = load i32, ptr %1889, align 4, !tbaa !5
  %1891 = call ptr @strerror(i32 noundef %1890) #11
  %1892 = call ptr @__errno_location() #12
  %1893 = load i32, ptr %1892, align 4, !tbaa !5
  %1894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1881, ptr noundef @.str.2, i32 noundef %1882, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 98, ptr noundef %1885, ptr noundef %1888, ptr noundef %1891, i32 noundef %1893) #11
  br label %1912

1895:                                             ; preds = %1873, %1866
  %1896 = load i32, ptr %36, align 4, !tbaa !5
  %1897 = call ptr @__errno_location() #12
  store i32 %1896, ptr %1897, align 4, !tbaa !5
  %1898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1899 = load i32, ptr @test_count, align 4, !tbaa !5
  %1900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1901 = load i32, ptr %1900, align 4, !tbaa !5
  %1902 = call ptr @s2n_strerror(i32 noundef %1901, ptr noundef @.str.4)
  %1903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1904 = load i32, ptr %1903, align 4, !tbaa !5
  %1905 = call ptr @s2n_strerror_debug(i32 noundef %1904, ptr noundef @.str.4)
  %1906 = call ptr @__errno_location() #12
  %1907 = load i32, ptr %1906, align 4, !tbaa !5
  %1908 = call ptr @strerror(i32 noundef %1907) #11
  %1909 = call ptr @__errno_location() #12
  %1910 = load i32, ptr %1909, align 4, !tbaa !5
  %1911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1898, ptr noundef @.str.5, i32 noundef %1899, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 98, ptr noundef %1902, ptr noundef %1905, ptr noundef %1908, i32 noundef %1910) #11
  br label %1912

1912:                                             ; preds = %1895, %1878
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #11
  br label %1913

1913:                                             ; preds = %1912
  br label %1914

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

1915:                                             ; No predecessors!
  br label %1916

1916:                                             ; preds = %1915
  br label %1917

1917:                                             ; preds = %1916, %1857
  br label %1918

1918:                                             ; preds = %1917
  br label %1919

1919:                                             ; preds = %1918
  br label %1920

1920:                                             ; preds = %1919
  %1921 = load i32, ptr @test_count, align 4, !tbaa !5
  %1922 = add nsw i32 %1921, 1
  store i32 %1922, ptr @test_count, align 4, !tbaa !5
  %1923 = load ptr, ptr %28, align 8, !tbaa !9
  %1924 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %1923, i32 noundef 64)
  br i1 %1924, label %1925, label %1978

1925:                                             ; preds = %1920
  br label %1926

1926:                                             ; preds = %1925
  br label %1927

1927:                                             ; preds = %1926
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #11
  %1928 = call ptr @__errno_location() #12
  %1929 = load i32, ptr %1928, align 4, !tbaa !5
  store i32 %1929, ptr %37, align 4, !tbaa !5
  %1930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1931 = call i32 @s2n_print_stacktrace(ptr noundef %1930)
  %1932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1933 = trunc i8 %1932 to i1
  br i1 %1933, label %1934, label %1956

1934:                                             ; preds = %1927
  %1935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1936 = call i32 @fileno(ptr noundef %1935) #11
  %1937 = call i32 @isatty(i32 noundef %1936) #11
  %1938 = icmp ne i32 %1937, 0
  br i1 %1938, label %1939, label %1956

1939:                                             ; preds = %1934
  %1940 = load i32, ptr %37, align 4, !tbaa !5
  %1941 = call ptr @__errno_location() #12
  store i32 %1940, ptr %1941, align 4, !tbaa !5
  %1942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1943 = load i32, ptr @test_count, align 4, !tbaa !5
  %1944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1945 = load i32, ptr %1944, align 4, !tbaa !5
  %1946 = call ptr @s2n_strerror(i32 noundef %1945, ptr noundef @.str.4)
  %1947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1948 = load i32, ptr %1947, align 4, !tbaa !5
  %1949 = call ptr @s2n_strerror_debug(i32 noundef %1948, ptr noundef @.str.4)
  %1950 = call ptr @__errno_location() #12
  %1951 = load i32, ptr %1950, align 4, !tbaa !5
  %1952 = call ptr @strerror(i32 noundef %1951) #11
  %1953 = call ptr @__errno_location() #12
  %1954 = load i32, ptr %1953, align 4, !tbaa !5
  %1955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1942, ptr noundef @.str.2, i32 noundef %1943, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 100, ptr noundef %1946, ptr noundef %1949, ptr noundef %1952, i32 noundef %1954) #11
  br label %1973

1956:                                             ; preds = %1934, %1927
  %1957 = load i32, ptr %37, align 4, !tbaa !5
  %1958 = call ptr @__errno_location() #12
  store i32 %1957, ptr %1958, align 4, !tbaa !5
  %1959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1960 = load i32, ptr @test_count, align 4, !tbaa !5
  %1961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1962 = load i32, ptr %1961, align 4, !tbaa !5
  %1963 = call ptr @s2n_strerror(i32 noundef %1962, ptr noundef @.str.4)
  %1964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1965 = load i32, ptr %1964, align 4, !tbaa !5
  %1966 = call ptr @s2n_strerror_debug(i32 noundef %1965, ptr noundef @.str.4)
  %1967 = call ptr @__errno_location() #12
  %1968 = load i32, ptr %1967, align 4, !tbaa !5
  %1969 = call ptr @strerror(i32 noundef %1968) #11
  %1970 = call ptr @__errno_location() #12
  %1971 = load i32, ptr %1970, align 4, !tbaa !5
  %1972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1959, ptr noundef @.str.5, i32 noundef %1960, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 100, ptr noundef %1963, ptr noundef %1966, ptr noundef %1969, i32 noundef %1971) #11
  br label %1973

1973:                                             ; preds = %1956, %1939
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #11
  br label %1974

1974:                                             ; preds = %1973
  br label %1975

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

1976:                                             ; No predecessors!
  br label %1977

1977:                                             ; preds = %1976
  br label %1978

1978:                                             ; preds = %1977, %1920
  br label %1979

1979:                                             ; preds = %1978
  br label %1980

1980:                                             ; preds = %1979
  br label %1981

1981:                                             ; preds = %1980
  %1982 = load i32, ptr @test_count, align 4, !tbaa !5
  %1983 = add nsw i32 %1982, 1
  store i32 %1983, ptr @test_count, align 4, !tbaa !5
  %1984 = load ptr, ptr %29, align 8, !tbaa !9
  %1985 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %1984, i32 noundef 64)
  br i1 %1985, label %1986, label %2039

1986:                                             ; preds = %1981
  br label %1987

1987:                                             ; preds = %1986
  br label %1988

1988:                                             ; preds = %1987
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #11
  %1989 = call ptr @__errno_location() #12
  %1990 = load i32, ptr %1989, align 4, !tbaa !5
  store i32 %1990, ptr %38, align 4, !tbaa !5
  %1991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1992 = call i32 @s2n_print_stacktrace(ptr noundef %1991)
  %1993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1994 = trunc i8 %1993 to i1
  br i1 %1994, label %1995, label %2017

1995:                                             ; preds = %1988
  %1996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1997 = call i32 @fileno(ptr noundef %1996) #11
  %1998 = call i32 @isatty(i32 noundef %1997) #11
  %1999 = icmp ne i32 %1998, 0
  br i1 %1999, label %2000, label %2017

2000:                                             ; preds = %1995
  %2001 = load i32, ptr %38, align 4, !tbaa !5
  %2002 = call ptr @__errno_location() #12
  store i32 %2001, ptr %2002, align 4, !tbaa !5
  %2003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2004 = load i32, ptr @test_count, align 4, !tbaa !5
  %2005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2006 = load i32, ptr %2005, align 4, !tbaa !5
  %2007 = call ptr @s2n_strerror(i32 noundef %2006, ptr noundef @.str.4)
  %2008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2009 = load i32, ptr %2008, align 4, !tbaa !5
  %2010 = call ptr @s2n_strerror_debug(i32 noundef %2009, ptr noundef @.str.4)
  %2011 = call ptr @__errno_location() #12
  %2012 = load i32, ptr %2011, align 4, !tbaa !5
  %2013 = call ptr @strerror(i32 noundef %2012) #11
  %2014 = call ptr @__errno_location() #12
  %2015 = load i32, ptr %2014, align 4, !tbaa !5
  %2016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2003, ptr noundef @.str.2, i32 noundef %2004, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 101, ptr noundef %2007, ptr noundef %2010, ptr noundef %2013, i32 noundef %2015) #11
  br label %2034

2017:                                             ; preds = %1995, %1988
  %2018 = load i32, ptr %38, align 4, !tbaa !5
  %2019 = call ptr @__errno_location() #12
  store i32 %2018, ptr %2019, align 4, !tbaa !5
  %2020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2021 = load i32, ptr @test_count, align 4, !tbaa !5
  %2022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2023 = load i32, ptr %2022, align 4, !tbaa !5
  %2024 = call ptr @s2n_strerror(i32 noundef %2023, ptr noundef @.str.4)
  %2025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2026 = load i32, ptr %2025, align 4, !tbaa !5
  %2027 = call ptr @s2n_strerror_debug(i32 noundef %2026, ptr noundef @.str.4)
  %2028 = call ptr @__errno_location() #12
  %2029 = load i32, ptr %2028, align 4, !tbaa !5
  %2030 = call ptr @strerror(i32 noundef %2029) #11
  %2031 = call ptr @__errno_location() #12
  %2032 = load i32, ptr %2031, align 4, !tbaa !5
  %2033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2020, ptr noundef @.str.5, i32 noundef %2021, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 101, ptr noundef %2024, ptr noundef %2027, ptr noundef %2030, i32 noundef %2032) #11
  br label %2034

2034:                                             ; preds = %2017, %2000
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #11
  br label %2035

2035:                                             ; preds = %2034
  br label %2036

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

2037:                                             ; No predecessors!
  br label %2038

2038:                                             ; preds = %2037
  br label %2039

2039:                                             ; preds = %2038, %1981
  br label %2040

2040:                                             ; preds = %2039
  br label %2041

2041:                                             ; preds = %2040
  br label %2042

2042:                                             ; preds = %2041
  %2043 = load i32, ptr @test_count, align 4, !tbaa !5
  %2044 = add nsw i32 %2043, 1
  store i32 %2044, ptr @test_count, align 4, !tbaa !5
  %2045 = load ptr, ptr %28, align 8, !tbaa !9
  %2046 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %2045, i32 noundef 128)
  br i1 %2046, label %2100, label %2047

2047:                                             ; preds = %2042
  br label %2048

2048:                                             ; preds = %2047
  br label %2049

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

2056:                                             ; preds = %2049
  %2057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2058 = call i32 @fileno(ptr noundef %2057) #11
  %2059 = call i32 @isatty(i32 noundef %2058) #11
  %2060 = icmp ne i32 %2059, 0
  br i1 %2060, label %2061, label %2078

2061:                                             ; preds = %2056
  %2062 = load i32, ptr %39, align 4, !tbaa !5
  %2063 = call ptr @__errno_location() #12
  store i32 %2062, ptr %2063, align 4, !tbaa !5
  %2064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2065 = load i32, ptr @test_count, align 4, !tbaa !5
  %2066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2067 = load i32, ptr %2066, align 4, !tbaa !5
  %2068 = call ptr @s2n_strerror(i32 noundef %2067, ptr noundef @.str.4)
  %2069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2070 = load i32, ptr %2069, align 4, !tbaa !5
  %2071 = call ptr @s2n_strerror_debug(i32 noundef %2070, ptr noundef @.str.4)
  %2072 = call ptr @__errno_location() #12
  %2073 = load i32, ptr %2072, align 4, !tbaa !5
  %2074 = call ptr @strerror(i32 noundef %2073) #11
  %2075 = call ptr @__errno_location() #12
  %2076 = load i32, ptr %2075, align 4, !tbaa !5
  %2077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2064, ptr noundef @.str.2, i32 noundef %2065, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 102, ptr noundef %2068, ptr noundef %2071, ptr noundef %2074, i32 noundef %2076) #11
  br label %2095

2078:                                             ; preds = %2056, %2049
  %2079 = load i32, ptr %39, align 4, !tbaa !5
  %2080 = call ptr @__errno_location() #12
  store i32 %2079, ptr %2080, align 4, !tbaa !5
  %2081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2082 = load i32, ptr @test_count, align 4, !tbaa !5
  %2083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2084 = load i32, ptr %2083, align 4, !tbaa !5
  %2085 = call ptr @s2n_strerror(i32 noundef %2084, ptr noundef @.str.4)
  %2086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2087 = load i32, ptr %2086, align 4, !tbaa !5
  %2088 = call ptr @s2n_strerror_debug(i32 noundef %2087, ptr noundef @.str.4)
  %2089 = call ptr @__errno_location() #12
  %2090 = load i32, ptr %2089, align 4, !tbaa !5
  %2091 = call ptr @strerror(i32 noundef %2090) #11
  %2092 = call ptr @__errno_location() #12
  %2093 = load i32, ptr %2092, align 4, !tbaa !5
  %2094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2081, ptr noundef @.str.5, i32 noundef %2082, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 102, ptr noundef %2085, ptr noundef %2088, ptr noundef %2091, i32 noundef %2093) #11
  br label %2095

2095:                                             ; preds = %2078, %2061
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #11
  br label %2096

2096:                                             ; preds = %2095
  br label %2097

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

2098:                                             ; No predecessors!
  br label %2099

2099:                                             ; preds = %2098
  br label %2100

2100:                                             ; preds = %2099, %2042
  br label %2101

2101:                                             ; preds = %2100
  br label %2102

2102:                                             ; preds = %2101
  br label %2103

2103:                                             ; preds = %2102
  %2104 = load i32, ptr @test_count, align 4, !tbaa !5
  %2105 = add nsw i32 %2104, 1
  store i32 %2105, ptr @test_count, align 4, !tbaa !5
  %2106 = load ptr, ptr %29, align 8, !tbaa !9
  %2107 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %2106, i32 noundef 128)
  br i1 %2107, label %2161, label %2108

2108:                                             ; preds = %2103
  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.35, ptr noundef @.str.1, i32 noundef 103, 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.35, ptr noundef @.str.1, i32 noundef 103, 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, %2103
  br label %2162

2162:                                             ; preds = %2161
  br label %2163

2163:                                             ; preds = %2162
  br label %2164

2164:                                             ; preds = %2163
  %2165 = load i32, ptr @test_count, align 4, !tbaa !5
  %2166 = add nsw i32 %2165, 1
  store i32 %2166, ptr @test_count, align 4, !tbaa !5
  %2167 = load ptr, ptr %28, align 8, !tbaa !9
  %2168 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %2167, i32 noundef 2)
  br i1 %2168, label %2169, label %2222

2169:                                             ; preds = %2164
  br label %2170

2170:                                             ; preds = %2169
  br label %2171

2171:                                             ; preds = %2170
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #11
  %2172 = call ptr @__errno_location() #12
  %2173 = load i32, ptr %2172, align 4, !tbaa !5
  store i32 %2173, ptr %41, align 4, !tbaa !5
  %2174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2175 = call i32 @s2n_print_stacktrace(ptr noundef %2174)
  %2176 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2177 = trunc i8 %2176 to i1
  br i1 %2177, label %2178, label %2200

2178:                                             ; preds = %2171
  %2179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2180 = call i32 @fileno(ptr noundef %2179) #11
  %2181 = call i32 @isatty(i32 noundef %2180) #11
  %2182 = icmp ne i32 %2181, 0
  br i1 %2182, label %2183, label %2200

2183:                                             ; preds = %2178
  %2184 = load i32, ptr %41, align 4, !tbaa !5
  %2185 = call ptr @__errno_location() #12
  store i32 %2184, ptr %2185, align 4, !tbaa !5
  %2186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2187 = load i32, ptr @test_count, align 4, !tbaa !5
  %2188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2189 = load i32, ptr %2188, align 4, !tbaa !5
  %2190 = call ptr @s2n_strerror(i32 noundef %2189, ptr noundef @.str.4)
  %2191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2192 = load i32, ptr %2191, align 4, !tbaa !5
  %2193 = call ptr @s2n_strerror_debug(i32 noundef %2192, ptr noundef @.str.4)
  %2194 = call ptr @__errno_location() #12
  %2195 = load i32, ptr %2194, align 4, !tbaa !5
  %2196 = call ptr @strerror(i32 noundef %2195) #11
  %2197 = call ptr @__errno_location() #12
  %2198 = load i32, ptr %2197, align 4, !tbaa !5
  %2199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2186, ptr noundef @.str.2, i32 noundef %2187, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 104, ptr noundef %2190, ptr noundef %2193, ptr noundef %2196, i32 noundef %2198) #11
  br label %2217

2200:                                             ; preds = %2178, %2171
  %2201 = load i32, ptr %41, align 4, !tbaa !5
  %2202 = call ptr @__errno_location() #12
  store i32 %2201, ptr %2202, align 4, !tbaa !5
  %2203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2204 = load i32, ptr @test_count, align 4, !tbaa !5
  %2205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2206 = load i32, ptr %2205, align 4, !tbaa !5
  %2207 = call ptr @s2n_strerror(i32 noundef %2206, ptr noundef @.str.4)
  %2208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2209 = load i32, ptr %2208, align 4, !tbaa !5
  %2210 = call ptr @s2n_strerror_debug(i32 noundef %2209, ptr noundef @.str.4)
  %2211 = call ptr @__errno_location() #12
  %2212 = load i32, ptr %2211, align 4, !tbaa !5
  %2213 = call ptr @strerror(i32 noundef %2212) #11
  %2214 = call ptr @__errno_location() #12
  %2215 = load i32, ptr %2214, align 4, !tbaa !5
  %2216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2203, ptr noundef @.str.5, i32 noundef %2204, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 104, ptr noundef %2207, ptr noundef %2210, ptr noundef %2213, i32 noundef %2215) #11
  br label %2217

2217:                                             ; preds = %2200, %2183
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #11
  br label %2218

2218:                                             ; preds = %2217
  br label %2219

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

2220:                                             ; No predecessors!
  br label %2221

2221:                                             ; preds = %2220
  br label %2222

2222:                                             ; preds = %2221, %2164
  br label %2223

2223:                                             ; preds = %2222
  br label %2224

2224:                                             ; preds = %2223
  br label %2225

2225:                                             ; preds = %2224
  %2226 = load i32, ptr @test_count, align 4, !tbaa !5
  %2227 = add nsw i32 %2226, 1
  store i32 %2227, ptr @test_count, align 4, !tbaa !5
  %2228 = load ptr, ptr %29, align 8, !tbaa !9
  %2229 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %2228, i32 noundef 2)
  br i1 %2229, label %2230, label %2283

2230:                                             ; preds = %2225
  br label %2231

2231:                                             ; preds = %2230
  br label %2232

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

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

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

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

2278:                                             ; preds = %2261, %2244
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #11
  br label %2279

2279:                                             ; preds = %2278
  br label %2280

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

2281:                                             ; No predecessors!
  br label %2282

2282:                                             ; preds = %2281
  br label %2283

2283:                                             ; preds = %2282, %2225
  br label %2284

2284:                                             ; preds = %2283
  br label %2285

2285:                                             ; preds = %2284
  br label %2286

2286:                                             ; preds = %2285
  %2287 = load i32, ptr @test_count, align 4, !tbaa !5
  %2288 = add nsw i32 %2287, 1
  store i32 %2288, ptr @test_count, align 4, !tbaa !5
  %2289 = load ptr, ptr %28, align 8, !tbaa !9
  %2290 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %2289, i32 noundef 16)
  br i1 %2290, label %2291, label %2344

2291:                                             ; preds = %2286
  br label %2292

2292:                                             ; preds = %2291
  br label %2293

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

2300:                                             ; preds = %2293
  %2301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2302 = call i32 @fileno(ptr noundef %2301) #11
  %2303 = call i32 @isatty(i32 noundef %2302) #11
  %2304 = icmp ne i32 %2303, 0
  br i1 %2304, label %2305, label %2322

2305:                                             ; preds = %2300
  %2306 = load i32, ptr %43, align 4, !tbaa !5
  %2307 = call ptr @__errno_location() #12
  store i32 %2306, ptr %2307, align 4, !tbaa !5
  %2308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2309 = load i32, ptr @test_count, align 4, !tbaa !5
  %2310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2311 = load i32, ptr %2310, align 4, !tbaa !5
  %2312 = call ptr @s2n_strerror(i32 noundef %2311, ptr noundef @.str.4)
  %2313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2314 = load i32, ptr %2313, align 4, !tbaa !5
  %2315 = call ptr @s2n_strerror_debug(i32 noundef %2314, ptr noundef @.str.4)
  %2316 = call ptr @__errno_location() #12
  %2317 = load i32, ptr %2316, align 4, !tbaa !5
  %2318 = call ptr @strerror(i32 noundef %2317) #11
  %2319 = call ptr @__errno_location() #12
  %2320 = load i32, ptr %2319, align 4, !tbaa !5
  %2321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2308, ptr noundef @.str.2, i32 noundef %2309, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 106, ptr noundef %2312, ptr noundef %2315, ptr noundef %2318, i32 noundef %2320) #11
  br label %2339

2322:                                             ; preds = %2300, %2293
  %2323 = load i32, ptr %43, align 4, !tbaa !5
  %2324 = call ptr @__errno_location() #12
  store i32 %2323, ptr %2324, align 4, !tbaa !5
  %2325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2326 = load i32, ptr @test_count, align 4, !tbaa !5
  %2327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2328 = load i32, ptr %2327, align 4, !tbaa !5
  %2329 = call ptr @s2n_strerror(i32 noundef %2328, ptr noundef @.str.4)
  %2330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2331 = load i32, ptr %2330, align 4, !tbaa !5
  %2332 = call ptr @s2n_strerror_debug(i32 noundef %2331, ptr noundef @.str.4)
  %2333 = call ptr @__errno_location() #12
  %2334 = load i32, ptr %2333, align 4, !tbaa !5
  %2335 = call ptr @strerror(i32 noundef %2334) #11
  %2336 = call ptr @__errno_location() #12
  %2337 = load i32, ptr %2336, align 4, !tbaa !5
  %2338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2325, ptr noundef @.str.5, i32 noundef %2326, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 106, ptr noundef %2329, ptr noundef %2332, ptr noundef %2335, i32 noundef %2337) #11
  br label %2339

2339:                                             ; preds = %2322, %2305
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #11
  br label %2340

2340:                                             ; preds = %2339
  br label %2341

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

2342:                                             ; No predecessors!
  br label %2343

2343:                                             ; preds = %2342
  br label %2344

2344:                                             ; preds = %2343, %2286
  br label %2345

2345:                                             ; preds = %2344
  br label %2346

2346:                                             ; preds = %2345
  br label %2347

2347:                                             ; preds = %2346
  %2348 = load i32, ptr @test_count, align 4, !tbaa !5
  %2349 = add nsw i32 %2348, 1
  store i32 %2349, ptr @test_count, align 4, !tbaa !5
  %2350 = load ptr, ptr %29, align 8, !tbaa !9
  %2351 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %2350, i32 noundef 16)
  br i1 %2351, label %2352, label %2405

2352:                                             ; preds = %2347
  br label %2353

2353:                                             ; preds = %2352
  br label %2354

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

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

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

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

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

2401:                                             ; preds = %2400
  br label %2402

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

2403:                                             ; No predecessors!
  br label %2404

2404:                                             ; preds = %2403
  br label %2405

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

2406:                                             ; preds = %2405
  br label %2407

2407:                                             ; preds = %2406
  br label %2408

2408:                                             ; preds = %2407
  %2409 = load i32, ptr @test_count, align 4, !tbaa !5
  %2410 = add nsw i32 %2409, 1
  store i32 %2410, ptr @test_count, align 4, !tbaa !5
  %2411 = load ptr, ptr %28, align 8, !tbaa !9
  %2412 = call i32 @s2n_conn_get_current_message_type(ptr noundef %2411)
  %2413 = icmp eq i32 %2412, 20
  br i1 %2413, label %2467, label %2414

2414:                                             ; preds = %2408
  br label %2415

2415:                                             ; preds = %2414
  br label %2416

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

2423:                                             ; preds = %2416
  %2424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2425 = call i32 @fileno(ptr noundef %2424) #11
  %2426 = call i32 @isatty(i32 noundef %2425) #11
  %2427 = icmp ne i32 %2426, 0
  br i1 %2427, label %2428, label %2445

2428:                                             ; preds = %2423
  %2429 = load i32, ptr %45, align 4, !tbaa !5
  %2430 = call ptr @__errno_location() #12
  store i32 %2429, ptr %2430, align 4, !tbaa !5
  %2431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2432 = load i32, ptr @test_count, align 4, !tbaa !5
  %2433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2434 = load i32, ptr %2433, align 4, !tbaa !5
  %2435 = call ptr @s2n_strerror(i32 noundef %2434, ptr noundef @.str.4)
  %2436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2437 = load i32, ptr %2436, align 4, !tbaa !5
  %2438 = call ptr @s2n_strerror_debug(i32 noundef %2437, ptr noundef @.str.4)
  %2439 = call ptr @__errno_location() #12
  %2440 = load i32, ptr %2439, align 4, !tbaa !5
  %2441 = call ptr @strerror(i32 noundef %2440) #11
  %2442 = call ptr @__errno_location() #12
  %2443 = load i32, ptr %2442, align 4, !tbaa !5
  %2444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2431, ptr noundef @.str.2, i32 noundef %2432, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 108, ptr noundef %2435, ptr noundef %2438, ptr noundef %2441, i32 noundef %2443) #11
  br label %2462

2445:                                             ; preds = %2423, %2416
  %2446 = load i32, ptr %45, align 4, !tbaa !5
  %2447 = call ptr @__errno_location() #12
  store i32 %2446, ptr %2447, align 4, !tbaa !5
  %2448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2449 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2451, ptr noundef @.str.4)
  %2453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2454 = load i32, ptr %2453, align 4, !tbaa !5
  %2455 = call ptr @s2n_strerror_debug(i32 noundef %2454, ptr noundef @.str.4)
  %2456 = call ptr @__errno_location() #12
  %2457 = load i32, ptr %2456, align 4, !tbaa !5
  %2458 = call ptr @strerror(i32 noundef %2457) #11
  %2459 = call ptr @__errno_location() #12
  %2460 = load i32, ptr %2459, align 4, !tbaa !5
  %2461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2448, ptr noundef @.str.5, i32 noundef %2449, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 108, ptr noundef %2452, ptr noundef %2455, ptr noundef %2458, i32 noundef %2460) #11
  br label %2462

2462:                                             ; preds = %2445, %2428
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #11
  br label %2463

2463:                                             ; preds = %2462
  br label %2464

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

2465:                                             ; No predecessors!
  br label %2466

2466:                                             ; preds = %2465
  br label %2467

2467:                                             ; preds = %2466, %2408
  br label %2468

2468:                                             ; preds = %2467
  br label %2469

2469:                                             ; preds = %2468
  br label %2470

2470:                                             ; preds = %2469
  %2471 = load i32, ptr @test_count, align 4, !tbaa !5
  %2472 = add nsw i32 %2471, 1
  store i32 %2472, ptr @test_count, align 4, !tbaa !5
  %2473 = load ptr, ptr %29, align 8, !tbaa !9
  %2474 = call i32 @s2n_conn_get_current_message_type(ptr noundef %2473)
  %2475 = icmp eq i32 %2474, 20
  br i1 %2475, label %2529, label %2476

2476:                                             ; preds = %2470
  br label %2477

2477:                                             ; preds = %2476
  br label %2478

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

2485:                                             ; preds = %2478
  %2486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2487 = call i32 @fileno(ptr noundef %2486) #11
  %2488 = call i32 @isatty(i32 noundef %2487) #11
  %2489 = icmp ne i32 %2488, 0
  br i1 %2489, label %2490, label %2507

2490:                                             ; preds = %2485
  %2491 = load i32, ptr %46, align 4, !tbaa !5
  %2492 = call ptr @__errno_location() #12
  store i32 %2491, ptr %2492, align 4, !tbaa !5
  %2493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2494 = load i32, ptr @test_count, align 4, !tbaa !5
  %2495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2496 = load i32, ptr %2495, align 4, !tbaa !5
  %2497 = call ptr @s2n_strerror(i32 noundef %2496, ptr noundef @.str.4)
  %2498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2499 = load i32, ptr %2498, align 4, !tbaa !5
  %2500 = call ptr @s2n_strerror_debug(i32 noundef %2499, ptr noundef @.str.4)
  %2501 = call ptr @__errno_location() #12
  %2502 = load i32, ptr %2501, align 4, !tbaa !5
  %2503 = call ptr @strerror(i32 noundef %2502) #11
  %2504 = call ptr @__errno_location() #12
  %2505 = load i32, ptr %2504, align 4, !tbaa !5
  %2506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2493, ptr noundef @.str.2, i32 noundef %2494, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 109, ptr noundef %2497, ptr noundef %2500, ptr noundef %2503, i32 noundef %2505) #11
  br label %2524

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

2524:                                             ; preds = %2507, %2490
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #11
  br label %2525

2525:                                             ; preds = %2524
  br label %2526

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

2527:                                             ; No predecessors!
  br label %2528

2528:                                             ; preds = %2527
  br label %2529

2529:                                             ; preds = %2528, %2470
  br label %2530

2530:                                             ; preds = %2529
  br label %2531

2531:                                             ; preds = %2530
  br label %2532

2532:                                             ; preds = %2531
  %2533 = load i32, ptr @test_count, align 4, !tbaa !5
  %2534 = add nsw i32 %2533, 1
  store i32 %2534, ptr @test_count, align 4, !tbaa !5
  %2535 = load ptr, ptr %29, align 8, !tbaa !9
  %2536 = load ptr, ptr %28, align 8, !tbaa !9
  %2537 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %2535, ptr noundef %2536)
  %2538 = icmp eq i32 %2537, -1
  br i1 %2538, label %2539, label %2592

2539:                                             ; preds = %2532
  br label %2540

2540:                                             ; preds = %2539
  br label %2541

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

2548:                                             ; preds = %2541
  %2549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2550 = call i32 @fileno(ptr noundef %2549) #11
  %2551 = call i32 @isatty(i32 noundef %2550) #11
  %2552 = icmp ne i32 %2551, 0
  br i1 %2552, label %2553, label %2570

2553:                                             ; preds = %2548
  %2554 = load i32, ptr %47, align 4, !tbaa !5
  %2555 = call ptr @__errno_location() #12
  store i32 %2554, ptr %2555, align 4, !tbaa !5
  %2556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2557 = load i32, ptr @test_count, align 4, !tbaa !5
  %2558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2559 = load i32, ptr %2558, align 4, !tbaa !5
  %2560 = call ptr @s2n_strerror(i32 noundef %2559, ptr noundef @.str.4)
  %2561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2562 = load i32, ptr %2561, align 4, !tbaa !5
  %2563 = call ptr @s2n_strerror_debug(i32 noundef %2562, ptr noundef @.str.4)
  %2564 = call ptr @__errno_location() #12
  %2565 = load i32, ptr %2564, align 4, !tbaa !5
  %2566 = call ptr @strerror(i32 noundef %2565) #11
  %2567 = call ptr @__errno_location() #12
  %2568 = load i32, ptr %2567, align 4, !tbaa !5
  %2569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2556, ptr noundef @.str.2, i32 noundef %2557, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 111, ptr noundef %2560, ptr noundef %2563, ptr noundef %2566, i32 noundef %2568) #11
  br label %2587

2570:                                             ; preds = %2548, %2541
  %2571 = load i32, ptr %47, align 4, !tbaa !5
  %2572 = call ptr @__errno_location() #12
  store i32 %2571, ptr %2572, align 4, !tbaa !5
  %2573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2574 = load i32, ptr @test_count, align 4, !tbaa !5
  %2575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2576 = load i32, ptr %2575, align 4, !tbaa !5
  %2577 = call ptr @s2n_strerror(i32 noundef %2576, ptr noundef @.str.4)
  %2578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2579 = load i32, ptr %2578, align 4, !tbaa !5
  %2580 = call ptr @s2n_strerror_debug(i32 noundef %2579, ptr noundef @.str.4)
  %2581 = call ptr @__errno_location() #12
  %2582 = load i32, ptr %2581, align 4, !tbaa !5
  %2583 = call ptr @strerror(i32 noundef %2582) #11
  %2584 = call ptr @__errno_location() #12
  %2585 = load i32, ptr %2584, align 4, !tbaa !5
  %2586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2573, ptr noundef @.str.5, i32 noundef %2574, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 111, ptr noundef %2577, ptr noundef %2580, ptr noundef %2583, i32 noundef %2585) #11
  br label %2587

2587:                                             ; preds = %2570, %2553
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #11
  br label %2588

2588:                                             ; preds = %2587
  br label %2589

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

2590:                                             ; No predecessors!
  br label %2591

2591:                                             ; preds = %2590
  br label %2592

2592:                                             ; preds = %2591, %2532
  br label %2593

2593:                                             ; preds = %2592
  br label %2594

2594:                                             ; preds = %2593
  br label %2595

2595:                                             ; preds = %2594
  %2596 = load i32, ptr @test_count, align 4, !tbaa !5
  %2597 = add nsw i32 %2596, 1
  store i32 %2597, ptr @test_count, align 4, !tbaa !5
  %2598 = load ptr, ptr %28, align 8, !tbaa !9
  %2599 = call i32 @s2n_connection_free(ptr noundef %2598)
  %2600 = icmp eq i32 %2599, -1
  br i1 %2600, label %2601, label %2654

2601:                                             ; preds = %2595
  br label %2602

2602:                                             ; preds = %2601
  br label %2603

2603:                                             ; preds = %2602
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #11
  %2604 = call ptr @__errno_location() #12
  %2605 = load i32, ptr %2604, align 4, !tbaa !5
  store i32 %2605, ptr %48, align 4, !tbaa !5
  %2606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2607 = call i32 @s2n_print_stacktrace(ptr noundef %2606)
  %2608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2609 = trunc i8 %2608 to i1
  br i1 %2609, label %2610, label %2632

2610:                                             ; preds = %2603
  %2611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2612 = call i32 @fileno(ptr noundef %2611) #11
  %2613 = call i32 @isatty(i32 noundef %2612) #11
  %2614 = icmp ne i32 %2613, 0
  br i1 %2614, label %2615, label %2632

2615:                                             ; preds = %2610
  %2616 = load i32, ptr %48, align 4, !tbaa !5
  %2617 = call ptr @__errno_location() #12
  store i32 %2616, ptr %2617, align 4, !tbaa !5
  %2618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2619 = load i32, ptr @test_count, align 4, !tbaa !5
  %2620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2621 = load i32, ptr %2620, align 4, !tbaa !5
  %2622 = call ptr @s2n_strerror(i32 noundef %2621, ptr noundef @.str.4)
  %2623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2624 = load i32, ptr %2623, align 4, !tbaa !5
  %2625 = call ptr @s2n_strerror_debug(i32 noundef %2624, ptr noundef @.str.4)
  %2626 = call ptr @__errno_location() #12
  %2627 = load i32, ptr %2626, align 4, !tbaa !5
  %2628 = call ptr @strerror(i32 noundef %2627) #11
  %2629 = call ptr @__errno_location() #12
  %2630 = load i32, ptr %2629, align 4, !tbaa !5
  %2631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2618, ptr noundef @.str.2, i32 noundef %2619, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 112, ptr noundef %2622, ptr noundef %2625, ptr noundef %2628, i32 noundef %2630) #11
  br label %2649

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

2649:                                             ; preds = %2632, %2615
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #11
  br label %2650

2650:                                             ; preds = %2649
  br label %2651

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

2652:                                             ; No predecessors!
  br label %2653

2653:                                             ; preds = %2652
  br label %2654

2654:                                             ; preds = %2653, %2595
  br label %2655

2655:                                             ; preds = %2654
  br label %2656

2656:                                             ; preds = %2655
  br label %2657

2657:                                             ; preds = %2656
  %2658 = load i32, ptr @test_count, align 4, !tbaa !5
  %2659 = add nsw i32 %2658, 1
  store i32 %2659, ptr @test_count, align 4, !tbaa !5
  %2660 = load ptr, ptr %29, align 8, !tbaa !9
  %2661 = call i32 @s2n_connection_free(ptr noundef %2660)
  %2662 = icmp eq i32 %2661, -1
  br i1 %2662, label %2663, label %2716

2663:                                             ; preds = %2657
  br label %2664

2664:                                             ; preds = %2663
  br label %2665

2665:                                             ; preds = %2664
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #11
  %2666 = call ptr @__errno_location() #12
  %2667 = load i32, ptr %2666, align 4, !tbaa !5
  store i32 %2667, ptr %49, align 4, !tbaa !5
  %2668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2669 = call i32 @s2n_print_stacktrace(ptr noundef %2668)
  %2670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2671 = trunc i8 %2670 to i1
  br i1 %2671, label %2672, label %2694

2672:                                             ; preds = %2665
  %2673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2674 = call i32 @fileno(ptr noundef %2673) #11
  %2675 = call i32 @isatty(i32 noundef %2674) #11
  %2676 = icmp ne i32 %2675, 0
  br i1 %2676, label %2677, label %2694

2677:                                             ; preds = %2672
  %2678 = load i32, ptr %49, align 4, !tbaa !5
  %2679 = call ptr @__errno_location() #12
  store i32 %2678, ptr %2679, align 4, !tbaa !5
  %2680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2681 = load i32, ptr @test_count, align 4, !tbaa !5
  %2682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2683 = load i32, ptr %2682, align 4, !tbaa !5
  %2684 = call ptr @s2n_strerror(i32 noundef %2683, ptr noundef @.str.4)
  %2685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2686 = load i32, ptr %2685, align 4, !tbaa !5
  %2687 = call ptr @s2n_strerror_debug(i32 noundef %2686, ptr noundef @.str.4)
  %2688 = call ptr @__errno_location() #12
  %2689 = load i32, ptr %2688, align 4, !tbaa !5
  %2690 = call ptr @strerror(i32 noundef %2689) #11
  %2691 = call ptr @__errno_location() #12
  %2692 = load i32, ptr %2691, align 4, !tbaa !5
  %2693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2680, ptr noundef @.str.2, i32 noundef %2681, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 113, ptr noundef %2684, ptr noundef %2687, ptr noundef %2690, i32 noundef %2692) #11
  br label %2711

2694:                                             ; preds = %2672, %2665
  %2695 = load i32, ptr %49, align 4, !tbaa !5
  %2696 = call ptr @__errno_location() #12
  store i32 %2695, ptr %2696, align 4, !tbaa !5
  %2697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2698 = load i32, ptr @test_count, align 4, !tbaa !5
  %2699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2700 = load i32, ptr %2699, align 4, !tbaa !5
  %2701 = call ptr @s2n_strerror(i32 noundef %2700, ptr noundef @.str.4)
  %2702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2703 = load i32, ptr %2702, align 4, !tbaa !5
  %2704 = call ptr @s2n_strerror_debug(i32 noundef %2703, ptr noundef @.str.4)
  %2705 = call ptr @__errno_location() #12
  %2706 = load i32, ptr %2705, align 4, !tbaa !5
  %2707 = call ptr @strerror(i32 noundef %2706) #11
  %2708 = call ptr @__errno_location() #12
  %2709 = load i32, ptr %2708, align 4, !tbaa !5
  %2710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2697, ptr noundef @.str.5, i32 noundef %2698, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 113, ptr noundef %2701, ptr noundef %2704, ptr noundef %2707, i32 noundef %2709) #11
  br label %2711

2711:                                             ; preds = %2694, %2677
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #11
  br label %2712

2712:                                             ; preds = %2711
  br label %2713

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

2714:                                             ; No predecessors!
  br label %2715

2715:                                             ; preds = %2714
  br label %2716

2716:                                             ; preds = %2715, %2657
  br label %2717

2717:                                             ; preds = %2716
  br label %2718

2718:                                             ; preds = %2717
  %2719 = call i32 @s2n_io_pair_close(ptr noundef %30)
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #11
  store ptr null, ptr %50, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #11
  store ptr null, ptr %51, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #11
  call void @llvm.memset.p0.i64(ptr align 4 %52, i8 0, i64 8, i1 false)
  br label %2720

2720:                                             ; preds = %2718
  %2721 = load i32, ptr @test_count, align 4, !tbaa !5
  %2722 = add nsw i32 %2721, 1
  store i32 %2722, ptr @test_count, align 4, !tbaa !5
  %2723 = call i32 @s2n_test_client_and_server_new(ptr noundef %50, ptr noundef %51, ptr noundef %52)
  %2724 = getelementptr inbounds %struct.s2n_result, ptr %53, i32 0, i32 0
  store i32 %2723, ptr %2724, align 4
  %2725 = getelementptr inbounds %struct.s2n_result, ptr %53, i32 0, i32 0
  %2726 = load i32, ptr %2725, align 4
  %2727 = call zeroext i1 @s2n_result_is_ok(i32 %2726)
  br i1 %2727, label %2781, label %2728

2728:                                             ; preds = %2720
  br label %2729

2729:                                             ; preds = %2728
  br label %2730

2730:                                             ; preds = %2729
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #11
  %2731 = call ptr @__errno_location() #12
  %2732 = load i32, ptr %2731, align 4, !tbaa !5
  store i32 %2732, ptr %54, align 4, !tbaa !5
  %2733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2734 = call i32 @s2n_print_stacktrace(ptr noundef %2733)
  %2735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2736 = trunc i8 %2735 to i1
  br i1 %2736, label %2737, label %2759

2737:                                             ; preds = %2730
  %2738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2739 = call i32 @fileno(ptr noundef %2738) #11
  %2740 = call i32 @isatty(i32 noundef %2739) #11
  %2741 = icmp ne i32 %2740, 0
  br i1 %2741, label %2742, label %2759

2742:                                             ; preds = %2737
  %2743 = load i32, ptr %54, align 4, !tbaa !5
  %2744 = call ptr @__errno_location() #12
  store i32 %2743, ptr %2744, align 4, !tbaa !5
  %2745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2746 = load i32, ptr @test_count, align 4, !tbaa !5
  %2747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2748 = load i32, ptr %2747, align 4, !tbaa !5
  %2749 = call ptr @s2n_strerror(i32 noundef %2748, ptr noundef @.str.4)
  %2750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2751 = load i32, ptr %2750, align 4, !tbaa !5
  %2752 = call ptr @s2n_strerror_debug(i32 noundef %2751, ptr noundef @.str.4)
  %2753 = call ptr @__errno_location() #12
  %2754 = load i32, ptr %2753, align 4, !tbaa !5
  %2755 = call ptr @strerror(i32 noundef %2754) #11
  %2756 = call ptr @__errno_location() #12
  %2757 = load i32, ptr %2756, align 4, !tbaa !5
  %2758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2745, ptr noundef @.str.2, i32 noundef %2746, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2749, ptr noundef %2752, ptr noundef %2755, i32 noundef %2757) #11
  br label %2776

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

2776:                                             ; preds = %2759, %2742
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #11
  br label %2777

2777:                                             ; preds = %2776
  br label %2778

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

2779:                                             ; No predecessors!
  br label %2780

2780:                                             ; preds = %2779
  br label %2781

2781:                                             ; preds = %2780, %2720
  br label %2782

2782:                                             ; preds = %2781
  br label %2783

2783:                                             ; preds = %2782
  br label %2784

2784:                                             ; preds = %2783
  %2785 = load i32, ptr @test_count, align 4, !tbaa !5
  %2786 = add nsw i32 %2785, 1
  store i32 %2786, ptr @test_count, align 4, !tbaa !5
  %2787 = load ptr, ptr %50, align 8, !tbaa !9
  %2788 = load ptr, ptr %12, align 8, !tbaa !9
  %2789 = call i32 @s2n_connection_append_psk(ptr noundef %2787, ptr noundef %2788)
  %2790 = icmp eq i32 %2789, -1
  br i1 %2790, label %2791, label %2844

2791:                                             ; preds = %2784
  br label %2792

2792:                                             ; preds = %2791
  br label %2793

2793:                                             ; preds = %2792
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #11
  %2794 = call ptr @__errno_location() #12
  %2795 = load i32, ptr %2794, align 4, !tbaa !5
  store i32 %2795, ptr %55, align 4, !tbaa !5
  %2796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2797 = call i32 @s2n_print_stacktrace(ptr noundef %2796)
  %2798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2799 = trunc i8 %2798 to i1
  br i1 %2799, label %2800, label %2822

2800:                                             ; preds = %2793
  %2801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2802 = call i32 @fileno(ptr noundef %2801) #11
  %2803 = call i32 @isatty(i32 noundef %2802) #11
  %2804 = icmp ne i32 %2803, 0
  br i1 %2804, label %2805, label %2822

2805:                                             ; preds = %2800
  %2806 = load i32, ptr %55, align 4, !tbaa !5
  %2807 = call ptr @__errno_location() #12
  store i32 %2806, ptr %2807, align 4, !tbaa !5
  %2808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2809 = load i32, ptr @test_count, align 4, !tbaa !5
  %2810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2811 = load i32, ptr %2810, align 4, !tbaa !5
  %2812 = call ptr @s2n_strerror(i32 noundef %2811, ptr noundef @.str.4)
  %2813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2814 = load i32, ptr %2813, align 4, !tbaa !5
  %2815 = call ptr @s2n_strerror_debug(i32 noundef %2814, ptr noundef @.str.4)
  %2816 = call ptr @__errno_location() #12
  %2817 = load i32, ptr %2816, align 4, !tbaa !5
  %2818 = call ptr @strerror(i32 noundef %2817) #11
  %2819 = call ptr @__errno_location() #12
  %2820 = load i32, ptr %2819, align 4, !tbaa !5
  %2821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2808, ptr noundef @.str.2, i32 noundef %2809, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 122, ptr noundef %2812, ptr noundef %2815, ptr noundef %2818, i32 noundef %2820) #11
  br label %2839

2822:                                             ; preds = %2800, %2793
  %2823 = load i32, ptr %55, align 4, !tbaa !5
  %2824 = call ptr @__errno_location() #12
  store i32 %2823, ptr %2824, align 4, !tbaa !5
  %2825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2826 = load i32, ptr @test_count, align 4, !tbaa !5
  %2827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2828 = load i32, ptr %2827, align 4, !tbaa !5
  %2829 = call ptr @s2n_strerror(i32 noundef %2828, ptr noundef @.str.4)
  %2830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2831 = load i32, ptr %2830, align 4, !tbaa !5
  %2832 = call ptr @s2n_strerror_debug(i32 noundef %2831, ptr noundef @.str.4)
  %2833 = call ptr @__errno_location() #12
  %2834 = load i32, ptr %2833, align 4, !tbaa !5
  %2835 = call ptr @strerror(i32 noundef %2834) #11
  %2836 = call ptr @__errno_location() #12
  %2837 = load i32, ptr %2836, align 4, !tbaa !5
  %2838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2825, ptr noundef @.str.5, i32 noundef %2826, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 122, ptr noundef %2829, ptr noundef %2832, ptr noundef %2835, i32 noundef %2837) #11
  br label %2839

2839:                                             ; preds = %2822, %2805
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #11
  br label %2840

2840:                                             ; preds = %2839
  br label %2841

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

2842:                                             ; No predecessors!
  br label %2843

2843:                                             ; preds = %2842
  br label %2844

2844:                                             ; preds = %2843, %2784
  br label %2845

2845:                                             ; preds = %2844
  br label %2846

2846:                                             ; preds = %2845
  br label %2847

2847:                                             ; preds = %2846
  %2848 = load i32, ptr @test_count, align 4, !tbaa !5
  %2849 = add nsw i32 %2848, 1
  store i32 %2849, ptr @test_count, align 4, !tbaa !5
  %2850 = load ptr, ptr %51, align 8, !tbaa !9
  %2851 = load ptr, ptr %12, align 8, !tbaa !9
  %2852 = call i32 @s2n_connection_append_psk(ptr noundef %2850, ptr noundef %2851)
  %2853 = icmp eq i32 %2852, -1
  br i1 %2853, label %2854, label %2907

2854:                                             ; preds = %2847
  br label %2855

2855:                                             ; preds = %2854
  br label %2856

2856:                                             ; preds = %2855
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #11
  %2857 = call ptr @__errno_location() #12
  %2858 = load i32, ptr %2857, align 4, !tbaa !5
  store i32 %2858, ptr %56, align 4, !tbaa !5
  %2859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2860 = call i32 @s2n_print_stacktrace(ptr noundef %2859)
  %2861 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2862 = trunc i8 %2861 to i1
  br i1 %2862, label %2863, label %2885

2863:                                             ; preds = %2856
  %2864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2865 = call i32 @fileno(ptr noundef %2864) #11
  %2866 = call i32 @isatty(i32 noundef %2865) #11
  %2867 = icmp ne i32 %2866, 0
  br i1 %2867, label %2868, label %2885

2868:                                             ; preds = %2863
  %2869 = load i32, ptr %56, align 4, !tbaa !5
  %2870 = call ptr @__errno_location() #12
  store i32 %2869, ptr %2870, align 4, !tbaa !5
  %2871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2872 = load i32, ptr @test_count, align 4, !tbaa !5
  %2873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2874 = load i32, ptr %2873, align 4, !tbaa !5
  %2875 = call ptr @s2n_strerror(i32 noundef %2874, ptr noundef @.str.4)
  %2876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2877 = load i32, ptr %2876, align 4, !tbaa !5
  %2878 = call ptr @s2n_strerror_debug(i32 noundef %2877, ptr noundef @.str.4)
  %2879 = call ptr @__errno_location() #12
  %2880 = load i32, ptr %2879, align 4, !tbaa !5
  %2881 = call ptr @strerror(i32 noundef %2880) #11
  %2882 = call ptr @__errno_location() #12
  %2883 = load i32, ptr %2882, align 4, !tbaa !5
  %2884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2871, ptr noundef @.str.2, i32 noundef %2872, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 123, ptr noundef %2875, ptr noundef %2878, ptr noundef %2881, i32 noundef %2883) #11
  br label %2902

2885:                                             ; preds = %2863, %2856
  %2886 = load i32, ptr %56, align 4, !tbaa !5
  %2887 = call ptr @__errno_location() #12
  store i32 %2886, ptr %2887, align 4, !tbaa !5
  %2888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2889 = load i32, ptr @test_count, align 4, !tbaa !5
  %2890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2891 = load i32, ptr %2890, align 4, !tbaa !5
  %2892 = call ptr @s2n_strerror(i32 noundef %2891, ptr noundef @.str.4)
  %2893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2894 = load i32, ptr %2893, align 4, !tbaa !5
  %2895 = call ptr @s2n_strerror_debug(i32 noundef %2894, ptr noundef @.str.4)
  %2896 = call ptr @__errno_location() #12
  %2897 = load i32, ptr %2896, align 4, !tbaa !5
  %2898 = call ptr @strerror(i32 noundef %2897) #11
  %2899 = call ptr @__errno_location() #12
  %2900 = load i32, ptr %2899, align 4, !tbaa !5
  %2901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2888, ptr noundef @.str.5, i32 noundef %2889, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 123, ptr noundef %2892, ptr noundef %2895, ptr noundef %2898, i32 noundef %2900) #11
  br label %2902

2902:                                             ; preds = %2885, %2868
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #11
  br label %2903

2903:                                             ; preds = %2902
  br label %2904

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

2905:                                             ; No predecessors!
  br label %2906

2906:                                             ; preds = %2905
  br label %2907

2907:                                             ; preds = %2906, %2847
  br label %2908

2908:                                             ; preds = %2907
  br label %2909

2909:                                             ; preds = %2908
  br label %2910

2910:                                             ; preds = %2909
  %2911 = load i32, ptr @test_count, align 4, !tbaa !5
  %2912 = add nsw i32 %2911, 1
  store i32 %2912, ptr @test_count, align 4, !tbaa !5
  %2913 = load ptr, ptr %51, align 8, !tbaa !9
  %2914 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %2913)
  %2915 = icmp eq i32 %2914, -1
  br i1 %2915, label %2916, label %2969

2916:                                             ; preds = %2910
  br label %2917

2917:                                             ; preds = %2916
  br label %2918

2918:                                             ; preds = %2917
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #11
  %2919 = call ptr @__errno_location() #12
  %2920 = load i32, ptr %2919, align 4, !tbaa !5
  store i32 %2920, ptr %57, align 4, !tbaa !5
  %2921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2922 = call i32 @s2n_print_stacktrace(ptr noundef %2921)
  %2923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2924 = trunc i8 %2923 to i1
  br i1 %2924, label %2925, label %2947

2925:                                             ; preds = %2918
  %2926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2927 = call i32 @fileno(ptr noundef %2926) #11
  %2928 = call i32 @isatty(i32 noundef %2927) #11
  %2929 = icmp ne i32 %2928, 0
  br i1 %2929, label %2930, label %2947

2930:                                             ; preds = %2925
  %2931 = load i32, ptr %57, align 4, !tbaa !5
  %2932 = call ptr @__errno_location() #12
  store i32 %2931, ptr %2932, align 4, !tbaa !5
  %2933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2934 = load i32, ptr @test_count, align 4, !tbaa !5
  %2935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2936 = load i32, ptr %2935, align 4, !tbaa !5
  %2937 = call ptr @s2n_strerror(i32 noundef %2936, ptr noundef @.str.4)
  %2938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2939 = load i32, ptr %2938, align 4, !tbaa !5
  %2940 = call ptr @s2n_strerror_debug(i32 noundef %2939, ptr noundef @.str.4)
  %2941 = call ptr @__errno_location() #12
  %2942 = load i32, ptr %2941, align 4, !tbaa !5
  %2943 = call ptr @strerror(i32 noundef %2942) #11
  %2944 = call ptr @__errno_location() #12
  %2945 = load i32, ptr %2944, align 4, !tbaa !5
  %2946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2933, ptr noundef @.str.2, i32 noundef %2934, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 124, ptr noundef %2937, ptr noundef %2940, ptr noundef %2943, i32 noundef %2945) #11
  br label %2964

2947:                                             ; preds = %2925, %2918
  %2948 = load i32, ptr %57, align 4, !tbaa !5
  %2949 = call ptr @__errno_location() #12
  store i32 %2948, ptr %2949, align 4, !tbaa !5
  %2950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2951 = load i32, ptr @test_count, align 4, !tbaa !5
  %2952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2953 = load i32, ptr %2952, align 4, !tbaa !5
  %2954 = call ptr @s2n_strerror(i32 noundef %2953, ptr noundef @.str.4)
  %2955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2956 = load i32, ptr %2955, align 4, !tbaa !5
  %2957 = call ptr @s2n_strerror_debug(i32 noundef %2956, ptr noundef @.str.4)
  %2958 = call ptr @__errno_location() #12
  %2959 = load i32, ptr %2958, align 4, !tbaa !5
  %2960 = call ptr @strerror(i32 noundef %2959) #11
  %2961 = call ptr @__errno_location() #12
  %2962 = load i32, ptr %2961, align 4, !tbaa !5
  %2963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2950, ptr noundef @.str.5, i32 noundef %2951, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 124, ptr noundef %2954, ptr noundef %2957, ptr noundef %2960, i32 noundef %2962) #11
  br label %2964

2964:                                             ; preds = %2947, %2930
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #11
  br label %2965

2965:                                             ; preds = %2964
  br label %2966

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

2967:                                             ; No predecessors!
  br label %2968

2968:                                             ; preds = %2967
  br label %2969

2969:                                             ; preds = %2968, %2910
  br label %2970

2970:                                             ; preds = %2969
  br label %2971

2971:                                             ; preds = %2970
  br label %2972

2972:                                             ; preds = %2971
  %2973 = load i32, ptr @test_count, align 4, !tbaa !5
  %2974 = add nsw i32 %2973, 1
  store i32 %2974, ptr @test_count, align 4, !tbaa !5
  %2975 = load ptr, ptr %51, align 8, !tbaa !9
  %2976 = load ptr, ptr %50, align 8, !tbaa !9
  %2977 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2975, ptr noundef %2976)
  %2978 = icmp eq i32 %2977, -1
  br i1 %2978, label %2979, label %3032

2979:                                             ; preds = %2972
  br label %2980

2980:                                             ; preds = %2979
  br label %2981

2981:                                             ; preds = %2980
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #11
  %2982 = call ptr @__errno_location() #12
  %2983 = load i32, ptr %2982, align 4, !tbaa !5
  store i32 %2983, ptr %58, align 4, !tbaa !5
  %2984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2985 = call i32 @s2n_print_stacktrace(ptr noundef %2984)
  %2986 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2987 = trunc i8 %2986 to i1
  br i1 %2987, label %2988, label %3010

2988:                                             ; preds = %2981
  %2989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2990 = call i32 @fileno(ptr noundef %2989) #11
  %2991 = call i32 @isatty(i32 noundef %2990) #11
  %2992 = icmp ne i32 %2991, 0
  br i1 %2992, label %2993, label %3010

2993:                                             ; preds = %2988
  %2994 = load i32, ptr %58, align 4, !tbaa !5
  %2995 = call ptr @__errno_location() #12
  store i32 %2994, ptr %2995, align 4, !tbaa !5
  %2996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2997 = load i32, ptr @test_count, align 4, !tbaa !5
  %2998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2999 = load i32, ptr %2998, align 4, !tbaa !5
  %3000 = call ptr @s2n_strerror(i32 noundef %2999, ptr noundef @.str.4)
  %3001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3002 = load i32, ptr %3001, align 4, !tbaa !5
  %3003 = call ptr @s2n_strerror_debug(i32 noundef %3002, ptr noundef @.str.4)
  %3004 = call ptr @__errno_location() #12
  %3005 = load i32, ptr %3004, align 4, !tbaa !5
  %3006 = call ptr @strerror(i32 noundef %3005) #11
  %3007 = call ptr @__errno_location() #12
  %3008 = load i32, ptr %3007, align 4, !tbaa !5
  %3009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2996, ptr noundef @.str.2, i32 noundef %2997, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 126, ptr noundef %3000, ptr noundef %3003, ptr noundef %3006, i32 noundef %3008) #11
  br label %3027

3010:                                             ; preds = %2988, %2981
  %3011 = load i32, ptr %58, align 4, !tbaa !5
  %3012 = call ptr @__errno_location() #12
  store i32 %3011, ptr %3012, align 4, !tbaa !5
  %3013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3014 = load i32, ptr @test_count, align 4, !tbaa !5
  %3015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3016 = load i32, ptr %3015, align 4, !tbaa !5
  %3017 = call ptr @s2n_strerror(i32 noundef %3016, ptr noundef @.str.4)
  %3018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3019 = load i32, ptr %3018, align 4, !tbaa !5
  %3020 = call ptr @s2n_strerror_debug(i32 noundef %3019, ptr noundef @.str.4)
  %3021 = call ptr @__errno_location() #12
  %3022 = load i32, ptr %3021, align 4, !tbaa !5
  %3023 = call ptr @strerror(i32 noundef %3022) #11
  %3024 = call ptr @__errno_location() #12
  %3025 = load i32, ptr %3024, align 4, !tbaa !5
  %3026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3013, ptr noundef @.str.5, i32 noundef %3014, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 126, ptr noundef %3017, ptr noundef %3020, ptr noundef %3023, i32 noundef %3025) #11
  br label %3027

3027:                                             ; preds = %3010, %2993
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #11
  br label %3028

3028:                                             ; preds = %3027
  br label %3029

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

3030:                                             ; No predecessors!
  br label %3031

3031:                                             ; preds = %3030
  br label %3032

3032:                                             ; preds = %3031, %2972
  br label %3033

3033:                                             ; preds = %3032
  br label %3034

3034:                                             ; preds = %3033
  br label %3035

3035:                                             ; preds = %3034
  %3036 = load i32, ptr @test_count, align 4, !tbaa !5
  %3037 = add nsw i32 %3036, 1
  store i32 %3037, ptr @test_count, align 4, !tbaa !5
  %3038 = load ptr, ptr %50, align 8, !tbaa !9
  %3039 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %3038, i32 noundef 64)
  br i1 %3039, label %3040, label %3093

3040:                                             ; preds = %3035
  br label %3041

3041:                                             ; preds = %3040
  br label %3042

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

3049:                                             ; preds = %3042
  %3050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3051 = call i32 @fileno(ptr noundef %3050) #11
  %3052 = call i32 @isatty(i32 noundef %3051) #11
  %3053 = icmp ne i32 %3052, 0
  br i1 %3053, label %3054, label %3071

3054:                                             ; preds = %3049
  %3055 = load i32, ptr %59, align 4, !tbaa !5
  %3056 = call ptr @__errno_location() #12
  store i32 %3055, ptr %3056, align 4, !tbaa !5
  %3057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3058 = load i32, ptr @test_count, align 4, !tbaa !5
  %3059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3060 = load i32, ptr %3059, align 4, !tbaa !5
  %3061 = call ptr @s2n_strerror(i32 noundef %3060, ptr noundef @.str.4)
  %3062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3063 = load i32, ptr %3062, align 4, !tbaa !5
  %3064 = call ptr @s2n_strerror_debug(i32 noundef %3063, ptr noundef @.str.4)
  %3065 = call ptr @__errno_location() #12
  %3066 = load i32, ptr %3065, align 4, !tbaa !5
  %3067 = call ptr @strerror(i32 noundef %3066) #11
  %3068 = call ptr @__errno_location() #12
  %3069 = load i32, ptr %3068, align 4, !tbaa !5
  %3070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3057, ptr noundef @.str.2, i32 noundef %3058, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 128, ptr noundef %3061, ptr noundef %3064, ptr noundef %3067, i32 noundef %3069) #11
  br label %3088

3071:                                             ; preds = %3049, %3042
  %3072 = load i32, ptr %59, align 4, !tbaa !5
  %3073 = call ptr @__errno_location() #12
  store i32 %3072, ptr %3073, align 4, !tbaa !5
  %3074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3075 = load i32, ptr @test_count, align 4, !tbaa !5
  %3076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3077 = load i32, ptr %3076, align 4, !tbaa !5
  %3078 = call ptr @s2n_strerror(i32 noundef %3077, ptr noundef @.str.4)
  %3079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3080 = load i32, ptr %3079, align 4, !tbaa !5
  %3081 = call ptr @s2n_strerror_debug(i32 noundef %3080, ptr noundef @.str.4)
  %3082 = call ptr @__errno_location() #12
  %3083 = load i32, ptr %3082, align 4, !tbaa !5
  %3084 = call ptr @strerror(i32 noundef %3083) #11
  %3085 = call ptr @__errno_location() #12
  %3086 = load i32, ptr %3085, align 4, !tbaa !5
  %3087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3074, ptr noundef @.str.5, i32 noundef %3075, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 128, ptr noundef %3078, ptr noundef %3081, ptr noundef %3084, i32 noundef %3086) #11
  br label %3088

3088:                                             ; preds = %3071, %3054
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #11
  br label %3089

3089:                                             ; preds = %3088
  br label %3090

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

3091:                                             ; No predecessors!
  br label %3092

3092:                                             ; preds = %3091
  br label %3093

3093:                                             ; preds = %3092, %3035
  br label %3094

3094:                                             ; preds = %3093
  br label %3095

3095:                                             ; preds = %3094
  br label %3096

3096:                                             ; preds = %3095
  %3097 = load i32, ptr @test_count, align 4, !tbaa !5
  %3098 = add nsw i32 %3097, 1
  store i32 %3098, ptr @test_count, align 4, !tbaa !5
  %3099 = load ptr, ptr %51, align 8, !tbaa !9
  %3100 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %3099, i32 noundef 64)
  br i1 %3100, label %3101, label %3154

3101:                                             ; preds = %3096
  br label %3102

3102:                                             ; preds = %3101
  br label %3103

3103:                                             ; preds = %3102
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #11
  %3104 = call ptr @__errno_location() #12
  %3105 = load i32, ptr %3104, align 4, !tbaa !5
  store i32 %3105, ptr %60, align 4, !tbaa !5
  %3106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3107 = call i32 @s2n_print_stacktrace(ptr noundef %3106)
  %3108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3109 = trunc i8 %3108 to i1
  br i1 %3109, label %3110, label %3132

3110:                                             ; preds = %3103
  %3111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3112 = call i32 @fileno(ptr noundef %3111) #11
  %3113 = call i32 @isatty(i32 noundef %3112) #11
  %3114 = icmp ne i32 %3113, 0
  br i1 %3114, label %3115, label %3132

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

3132:                                             ; preds = %3110, %3103
  %3133 = load i32, ptr %60, align 4, !tbaa !5
  %3134 = call ptr @__errno_location() #12
  store i32 %3133, ptr %3134, align 4, !tbaa !5
  %3135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3136 = load i32, ptr @test_count, align 4, !tbaa !5
  %3137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3138 = load i32, ptr %3137, align 4, !tbaa !5
  %3139 = call ptr @s2n_strerror(i32 noundef %3138, ptr noundef @.str.4)
  %3140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3141 = load i32, ptr %3140, align 4, !tbaa !5
  %3142 = call ptr @s2n_strerror_debug(i32 noundef %3141, ptr noundef @.str.4)
  %3143 = call ptr @__errno_location() #12
  %3144 = load i32, ptr %3143, align 4, !tbaa !5
  %3145 = call ptr @strerror(i32 noundef %3144) #11
  %3146 = call ptr @__errno_location() #12
  %3147 = load i32, ptr %3146, align 4, !tbaa !5
  %3148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3135, ptr noundef @.str.5, i32 noundef %3136, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 129, ptr noundef %3139, ptr noundef %3142, ptr noundef %3145, i32 noundef %3147) #11
  br label %3149

3149:                                             ; preds = %3132, %3115
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #11
  br label %3150

3150:                                             ; preds = %3149
  br label %3151

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

3152:                                             ; No predecessors!
  br label %3153

3153:                                             ; preds = %3152
  br label %3154

3154:                                             ; preds = %3153, %3096
  br label %3155

3155:                                             ; preds = %3154
  br label %3156

3156:                                             ; preds = %3155
  br label %3157

3157:                                             ; preds = %3156
  %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 %50, align 8, !tbaa !9
  %3161 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %3160, i32 noundef 128)
  br i1 %3161, label %3162, label %3215

3162:                                             ; preds = %3157
  br label %3163

3163:                                             ; preds = %3162
  br label %3164

3164:                                             ; preds = %3163
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #11
  %3165 = call ptr @__errno_location() #12
  %3166 = load i32, ptr %3165, align 4, !tbaa !5
  store i32 %3166, ptr %61, align 4, !tbaa !5
  %3167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3168 = call i32 @s2n_print_stacktrace(ptr noundef %3167)
  %3169 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3170 = trunc i8 %3169 to i1
  br i1 %3170, label %3171, label %3193

3171:                                             ; preds = %3164
  %3172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3173 = call i32 @fileno(ptr noundef %3172) #11
  %3174 = call i32 @isatty(i32 noundef %3173) #11
  %3175 = icmp ne i32 %3174, 0
  br i1 %3175, label %3176, label %3193

3176:                                             ; preds = %3171
  %3177 = load i32, ptr %61, align 4, !tbaa !5
  %3178 = call ptr @__errno_location() #12
  store i32 %3177, ptr %3178, align 4, !tbaa !5
  %3179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3180 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3182, ptr noundef @.str.4)
  %3184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3185 = load i32, ptr %3184, align 4, !tbaa !5
  %3186 = call ptr @s2n_strerror_debug(i32 noundef %3185, ptr noundef @.str.4)
  %3187 = call ptr @__errno_location() #12
  %3188 = load i32, ptr %3187, align 4, !tbaa !5
  %3189 = call ptr @strerror(i32 noundef %3188) #11
  %3190 = call ptr @__errno_location() #12
  %3191 = load i32, ptr %3190, align 4, !tbaa !5
  %3192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3179, ptr noundef @.str.2, i32 noundef %3180, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 130, ptr noundef %3183, ptr noundef %3186, ptr noundef %3189, i32 noundef %3191) #11
  br label %3210

3193:                                             ; preds = %3171, %3164
  %3194 = load i32, ptr %61, align 4, !tbaa !5
  %3195 = call ptr @__errno_location() #12
  store i32 %3194, ptr %3195, align 4, !tbaa !5
  %3196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3197 = load i32, ptr @test_count, align 4, !tbaa !5
  %3198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3199 = load i32, ptr %3198, align 4, !tbaa !5
  %3200 = call ptr @s2n_strerror(i32 noundef %3199, ptr noundef @.str.4)
  %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 = call ptr @__errno_location() #12
  %3205 = load i32, ptr %3204, align 4, !tbaa !5
  %3206 = call ptr @strerror(i32 noundef %3205) #11
  %3207 = call ptr @__errno_location() #12
  %3208 = load i32, ptr %3207, align 4, !tbaa !5
  %3209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3196, ptr noundef @.str.5, i32 noundef %3197, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 130, ptr noundef %3200, ptr noundef %3203, ptr noundef %3206, i32 noundef %3208) #11
  br label %3210

3210:                                             ; preds = %3193, %3176
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #11
  br label %3211

3211:                                             ; preds = %3210
  br label %3212

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

3213:                                             ; No predecessors!
  br label %3214

3214:                                             ; preds = %3213
  br label %3215

3215:                                             ; preds = %3214, %3157
  br label %3216

3216:                                             ; preds = %3215
  br label %3217

3217:                                             ; preds = %3216
  br label %3218

3218:                                             ; preds = %3217
  %3219 = load i32, ptr @test_count, align 4, !tbaa !5
  %3220 = add nsw i32 %3219, 1
  store i32 %3220, ptr @test_count, align 4, !tbaa !5
  %3221 = load ptr, ptr %51, align 8, !tbaa !9
  %3222 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %3221, i32 noundef 128)
  br i1 %3222, label %3223, label %3276

3223:                                             ; preds = %3218
  br label %3224

3224:                                             ; preds = %3223
  br label %3225

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

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

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

3254:                                             ; preds = %3232, %3225
  %3255 = load i32, ptr %62, align 4, !tbaa !5
  %3256 = call ptr @__errno_location() #12
  store i32 %3255, ptr %3256, align 4, !tbaa !5
  %3257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3258 = load i32, ptr @test_count, align 4, !tbaa !5
  %3259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3260 = load i32, ptr %3259, align 4, !tbaa !5
  %3261 = call ptr @s2n_strerror(i32 noundef %3260, ptr noundef @.str.4)
  %3262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3263 = load i32, ptr %3262, align 4, !tbaa !5
  %3264 = call ptr @s2n_strerror_debug(i32 noundef %3263, ptr noundef @.str.4)
  %3265 = call ptr @__errno_location() #12
  %3266 = load i32, ptr %3265, align 4, !tbaa !5
  %3267 = call ptr @strerror(i32 noundef %3266) #11
  %3268 = call ptr @__errno_location() #12
  %3269 = load i32, ptr %3268, align 4, !tbaa !5
  %3270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3257, ptr noundef @.str.5, i32 noundef %3258, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 131, ptr noundef %3261, ptr noundef %3264, ptr noundef %3267, i32 noundef %3269) #11
  br label %3271

3271:                                             ; preds = %3254, %3237
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #11
  br label %3272

3272:                                             ; preds = %3271
  br label %3273

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

3274:                                             ; No predecessors!
  br label %3275

3275:                                             ; preds = %3274
  br label %3276

3276:                                             ; preds = %3275, %3218
  br label %3277

3277:                                             ; preds = %3276
  br label %3278

3278:                                             ; preds = %3277
  br label %3279

3279:                                             ; preds = %3278
  %3280 = load i32, ptr @test_count, align 4, !tbaa !5
  %3281 = add nsw i32 %3280, 1
  store i32 %3281, ptr @test_count, align 4, !tbaa !5
  %3282 = load ptr, ptr %50, align 8, !tbaa !9
  %3283 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %3282, i32 noundef 2)
  br i1 %3283, label %3284, label %3337

3284:                                             ; preds = %3279
  br label %3285

3285:                                             ; preds = %3284
  br label %3286

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

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

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

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

3332:                                             ; preds = %3315, %3298
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #11
  br label %3333

3333:                                             ; preds = %3332
  br label %3334

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

3335:                                             ; No predecessors!
  br label %3336

3336:                                             ; preds = %3335
  br label %3337

3337:                                             ; preds = %3336, %3279
  br label %3338

3338:                                             ; preds = %3337
  br label %3339

3339:                                             ; preds = %3338
  br label %3340

3340:                                             ; preds = %3339
  %3341 = load i32, ptr @test_count, align 4, !tbaa !5
  %3342 = add nsw i32 %3341, 1
  store i32 %3342, ptr @test_count, align 4, !tbaa !5
  %3343 = load ptr, ptr %51, align 8, !tbaa !9
  %3344 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %3343, i32 noundef 2)
  br i1 %3344, label %3345, label %3398

3345:                                             ; preds = %3340
  br label %3346

3346:                                             ; preds = %3345
  br label %3347

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

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

3359:                                             ; preds = %3354
  %3360 = load i32, ptr %64, align 4, !tbaa !5
  %3361 = call ptr @__errno_location() #12
  store i32 %3360, ptr %3361, align 4, !tbaa !5
  %3362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3363 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3365, ptr noundef @.str.4)
  %3367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3368 = load i32, ptr %3367, align 4, !tbaa !5
  %3369 = call ptr @s2n_strerror_debug(i32 noundef %3368, ptr noundef @.str.4)
  %3370 = call ptr @__errno_location() #12
  %3371 = load i32, ptr %3370, align 4, !tbaa !5
  %3372 = call ptr @strerror(i32 noundef %3371) #11
  %3373 = call ptr @__errno_location() #12
  %3374 = load i32, ptr %3373, align 4, !tbaa !5
  %3375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3362, ptr noundef @.str.2, i32 noundef %3363, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 133, ptr noundef %3366, ptr noundef %3369, ptr noundef %3372, i32 noundef %3374) #11
  br label %3393

3376:                                             ; preds = %3354, %3347
  %3377 = load i32, ptr %64, align 4, !tbaa !5
  %3378 = call ptr @__errno_location() #12
  store i32 %3377, ptr %3378, align 4, !tbaa !5
  %3379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3380 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3382, ptr noundef @.str.4)
  %3384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3385 = load i32, ptr %3384, align 4, !tbaa !5
  %3386 = call ptr @s2n_strerror_debug(i32 noundef %3385, ptr noundef @.str.4)
  %3387 = call ptr @__errno_location() #12
  %3388 = load i32, ptr %3387, align 4, !tbaa !5
  %3389 = call ptr @strerror(i32 noundef %3388) #11
  %3390 = call ptr @__errno_location() #12
  %3391 = load i32, ptr %3390, align 4, !tbaa !5
  %3392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3379, ptr noundef @.str.5, i32 noundef %3380, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 133, ptr noundef %3383, ptr noundef %3386, ptr noundef %3389, i32 noundef %3391) #11
  br label %3393

3393:                                             ; preds = %3376, %3359
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #11
  br label %3394

3394:                                             ; preds = %3393
  br label %3395

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

3396:                                             ; No predecessors!
  br label %3397

3397:                                             ; preds = %3396
  br label %3398

3398:                                             ; preds = %3397, %3340
  br label %3399

3399:                                             ; preds = %3398
  br label %3400

3400:                                             ; preds = %3399
  br label %3401

3401:                                             ; preds = %3400
  %3402 = load i32, ptr @test_count, align 4, !tbaa !5
  %3403 = add nsw i32 %3402, 1
  store i32 %3403, ptr @test_count, align 4, !tbaa !5
  %3404 = load ptr, ptr %50, align 8, !tbaa !9
  %3405 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %3404, i32 noundef 16)
  br i1 %3405, label %3406, label %3459

3406:                                             ; preds = %3401
  br label %3407

3407:                                             ; preds = %3406
  br label %3408

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

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

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

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

3454:                                             ; preds = %3437, %3420
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #11
  br label %3455

3455:                                             ; preds = %3454
  br label %3456

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

3457:                                             ; No predecessors!
  br label %3458

3458:                                             ; preds = %3457
  br label %3459

3459:                                             ; preds = %3458, %3401
  br label %3460

3460:                                             ; preds = %3459
  br label %3461

3461:                                             ; preds = %3460
  br label %3462

3462:                                             ; preds = %3461
  %3463 = load i32, ptr @test_count, align 4, !tbaa !5
  %3464 = add nsw i32 %3463, 1
  store i32 %3464, ptr @test_count, align 4, !tbaa !5
  %3465 = load ptr, ptr %51, align 8, !tbaa !9
  %3466 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %3465, i32 noundef 16)
  br i1 %3466, label %3467, label %3520

3467:                                             ; preds = %3462
  br label %3468

3468:                                             ; preds = %3467
  br label %3469

3469:                                             ; preds = %3468
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #11
  %3470 = call ptr @__errno_location() #12
  %3471 = load i32, ptr %3470, align 4, !tbaa !5
  store i32 %3471, ptr %66, 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 %66, 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.39, ptr noundef @.str.1, i32 noundef 135, ptr noundef %3488, ptr noundef %3491, ptr noundef %3494, i32 noundef %3496) #11
  br label %3515

3498:                                             ; preds = %3476, %3469
  %3499 = load i32, ptr %66, 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.39, ptr noundef @.str.1, i32 noundef 135, 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 %66) #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, %3462
  br label %3521

3521:                                             ; preds = %3520
  br label %3522

3522:                                             ; preds = %3521
  br label %3523

3523:                                             ; preds = %3522
  %3524 = load i32, ptr @test_count, align 4, !tbaa !5
  %3525 = add nsw i32 %3524, 1
  store i32 %3525, ptr @test_count, align 4, !tbaa !5
  %3526 = load ptr, ptr %50, align 8, !tbaa !9
  %3527 = call i32 @s2n_conn_get_current_message_type(ptr noundef %3526)
  %3528 = icmp eq i32 %3527, 20
  br i1 %3528, label %3582, label %3529

3529:                                             ; preds = %3523
  br label %3530

3530:                                             ; preds = %3529
  br label %3531

3531:                                             ; preds = %3530
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #11
  %3532 = call ptr @__errno_location() #12
  %3533 = load i32, ptr %3532, align 4, !tbaa !5
  store i32 %3533, ptr %67, align 4, !tbaa !5
  %3534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3535 = call i32 @s2n_print_stacktrace(ptr noundef %3534)
  %3536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3537 = trunc i8 %3536 to i1
  br i1 %3537, label %3538, label %3560

3538:                                             ; preds = %3531
  %3539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3540 = call i32 @fileno(ptr noundef %3539) #11
  %3541 = call i32 @isatty(i32 noundef %3540) #11
  %3542 = icmp ne i32 %3541, 0
  br i1 %3542, label %3543, label %3560

3543:                                             ; preds = %3538
  %3544 = load i32, ptr %67, align 4, !tbaa !5
  %3545 = call ptr @__errno_location() #12
  store i32 %3544, ptr %3545, align 4, !tbaa !5
  %3546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3547 = load i32, ptr @test_count, align 4, !tbaa !5
  %3548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3549 = load i32, ptr %3548, align 4, !tbaa !5
  %3550 = call ptr @s2n_strerror(i32 noundef %3549, ptr noundef @.str.4)
  %3551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3552 = load i32, ptr %3551, align 4, !tbaa !5
  %3553 = call ptr @s2n_strerror_debug(i32 noundef %3552, ptr noundef @.str.4)
  %3554 = call ptr @__errno_location() #12
  %3555 = load i32, ptr %3554, align 4, !tbaa !5
  %3556 = call ptr @strerror(i32 noundef %3555) #11
  %3557 = call ptr @__errno_location() #12
  %3558 = load i32, ptr %3557, align 4, !tbaa !5
  %3559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3546, ptr noundef @.str.2, i32 noundef %3547, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 136, ptr noundef %3550, ptr noundef %3553, ptr noundef %3556, i32 noundef %3558) #11
  br label %3577

3560:                                             ; preds = %3538, %3531
  %3561 = load i32, ptr %67, align 4, !tbaa !5
  %3562 = call ptr @__errno_location() #12
  store i32 %3561, ptr %3562, align 4, !tbaa !5
  %3563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3564 = load i32, ptr @test_count, align 4, !tbaa !5
  %3565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3566 = load i32, ptr %3565, align 4, !tbaa !5
  %3567 = call ptr @s2n_strerror(i32 noundef %3566, ptr noundef @.str.4)
  %3568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3569 = load i32, ptr %3568, align 4, !tbaa !5
  %3570 = call ptr @s2n_strerror_debug(i32 noundef %3569, ptr noundef @.str.4)
  %3571 = call ptr @__errno_location() #12
  %3572 = load i32, ptr %3571, align 4, !tbaa !5
  %3573 = call ptr @strerror(i32 noundef %3572) #11
  %3574 = call ptr @__errno_location() #12
  %3575 = load i32, ptr %3574, align 4, !tbaa !5
  %3576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3563, ptr noundef @.str.5, i32 noundef %3564, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 136, ptr noundef %3567, ptr noundef %3570, ptr noundef %3573, i32 noundef %3575) #11
  br label %3577

3577:                                             ; preds = %3560, %3543
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #11
  br label %3578

3578:                                             ; preds = %3577
  br label %3579

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

3580:                                             ; No predecessors!
  br label %3581

3581:                                             ; preds = %3580
  br label %3582

3582:                                             ; preds = %3581, %3523
  br label %3583

3583:                                             ; preds = %3582
  br label %3584

3584:                                             ; preds = %3583
  br label %3585

3585:                                             ; preds = %3584
  %3586 = load i32, ptr @test_count, align 4, !tbaa !5
  %3587 = add nsw i32 %3586, 1
  store i32 %3587, ptr @test_count, align 4, !tbaa !5
  %3588 = load ptr, ptr %51, align 8, !tbaa !9
  %3589 = call i32 @s2n_conn_get_current_message_type(ptr noundef %3588)
  %3590 = icmp eq i32 %3589, 20
  br i1 %3590, label %3644, label %3591

3591:                                             ; preds = %3585
  br label %3592

3592:                                             ; preds = %3591
  br label %3593

3593:                                             ; preds = %3592
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #11
  %3594 = call ptr @__errno_location() #12
  %3595 = load i32, ptr %3594, align 4, !tbaa !5
  store i32 %3595, ptr %68, align 4, !tbaa !5
  %3596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3597 = call i32 @s2n_print_stacktrace(ptr noundef %3596)
  %3598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3599 = trunc i8 %3598 to i1
  br i1 %3599, label %3600, label %3622

3600:                                             ; preds = %3593
  %3601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3602 = call i32 @fileno(ptr noundef %3601) #11
  %3603 = call i32 @isatty(i32 noundef %3602) #11
  %3604 = icmp ne i32 %3603, 0
  br i1 %3604, label %3605, label %3622

3605:                                             ; preds = %3600
  %3606 = load i32, ptr %68, align 4, !tbaa !5
  %3607 = call ptr @__errno_location() #12
  store i32 %3606, ptr %3607, align 4, !tbaa !5
  %3608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3609 = load i32, ptr @test_count, align 4, !tbaa !5
  %3610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3611 = load i32, ptr %3610, align 4, !tbaa !5
  %3612 = call ptr @s2n_strerror(i32 noundef %3611, ptr noundef @.str.4)
  %3613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3614 = load i32, ptr %3613, align 4, !tbaa !5
  %3615 = call ptr @s2n_strerror_debug(i32 noundef %3614, ptr noundef @.str.4)
  %3616 = call ptr @__errno_location() #12
  %3617 = load i32, ptr %3616, align 4, !tbaa !5
  %3618 = call ptr @strerror(i32 noundef %3617) #11
  %3619 = call ptr @__errno_location() #12
  %3620 = load i32, ptr %3619, align 4, !tbaa !5
  %3621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3608, ptr noundef @.str.2, i32 noundef %3609, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 137, ptr noundef %3612, ptr noundef %3615, ptr noundef %3618, i32 noundef %3620) #11
  br label %3639

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

3639:                                             ; preds = %3622, %3605
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #11
  br label %3640

3640:                                             ; preds = %3639
  br label %3641

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

3642:                                             ; No predecessors!
  br label %3643

3643:                                             ; preds = %3642
  br label %3644

3644:                                             ; preds = %3643, %3585
  br label %3645

3645:                                             ; preds = %3644
  br label %3646

3646:                                             ; preds = %3645
  br label %3647

3647:                                             ; preds = %3646
  %3648 = load i32, ptr @test_count, align 4, !tbaa !5
  %3649 = add nsw i32 %3648, 1
  store i32 %3649, ptr @test_count, align 4, !tbaa !5
  %3650 = load ptr, ptr %51, align 8, !tbaa !9
  %3651 = load ptr, ptr %50, align 8, !tbaa !9
  %3652 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %3650, ptr noundef %3651)
  %3653 = icmp eq i32 %3652, -1
  br i1 %3653, label %3654, label %3707

3654:                                             ; preds = %3647
  br label %3655

3655:                                             ; preds = %3654
  br label %3656

3656:                                             ; preds = %3655
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #11
  %3657 = call ptr @__errno_location() #12
  %3658 = load i32, ptr %3657, align 4, !tbaa !5
  store i32 %3658, ptr %69, align 4, !tbaa !5
  %3659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3660 = call i32 @s2n_print_stacktrace(ptr noundef %3659)
  %3661 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3662 = trunc i8 %3661 to i1
  br i1 %3662, label %3663, label %3685

3663:                                             ; preds = %3656
  %3664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3665 = call i32 @fileno(ptr noundef %3664) #11
  %3666 = call i32 @isatty(i32 noundef %3665) #11
  %3667 = icmp ne i32 %3666, 0
  br i1 %3667, label %3668, label %3685

3668:                                             ; preds = %3663
  %3669 = load i32, ptr %69, align 4, !tbaa !5
  %3670 = call ptr @__errno_location() #12
  store i32 %3669, ptr %3670, align 4, !tbaa !5
  %3671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3672 = load i32, ptr @test_count, align 4, !tbaa !5
  %3673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3674 = load i32, ptr %3673, align 4, !tbaa !5
  %3675 = call ptr @s2n_strerror(i32 noundef %3674, ptr noundef @.str.4)
  %3676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3677 = load i32, ptr %3676, align 4, !tbaa !5
  %3678 = call ptr @s2n_strerror_debug(i32 noundef %3677, ptr noundef @.str.4)
  %3679 = call ptr @__errno_location() #12
  %3680 = load i32, ptr %3679, align 4, !tbaa !5
  %3681 = call ptr @strerror(i32 noundef %3680) #11
  %3682 = call ptr @__errno_location() #12
  %3683 = load i32, ptr %3682, align 4, !tbaa !5
  %3684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3671, ptr noundef @.str.2, i32 noundef %3672, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 139, ptr noundef %3675, ptr noundef %3678, ptr noundef %3681, i32 noundef %3683) #11
  br label %3702

3685:                                             ; preds = %3663, %3656
  %3686 = load i32, ptr %69, align 4, !tbaa !5
  %3687 = call ptr @__errno_location() #12
  store i32 %3686, ptr %3687, align 4, !tbaa !5
  %3688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3689 = load i32, ptr @test_count, align 4, !tbaa !5
  %3690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3691 = load i32, ptr %3690, align 4, !tbaa !5
  %3692 = call ptr @s2n_strerror(i32 noundef %3691, ptr noundef @.str.4)
  %3693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3694 = load i32, ptr %3693, align 4, !tbaa !5
  %3695 = call ptr @s2n_strerror_debug(i32 noundef %3694, ptr noundef @.str.4)
  %3696 = call ptr @__errno_location() #12
  %3697 = load i32, ptr %3696, align 4, !tbaa !5
  %3698 = call ptr @strerror(i32 noundef %3697) #11
  %3699 = call ptr @__errno_location() #12
  %3700 = load i32, ptr %3699, align 4, !tbaa !5
  %3701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3688, ptr noundef @.str.5, i32 noundef %3689, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 139, ptr noundef %3692, ptr noundef %3695, ptr noundef %3698, i32 noundef %3700) #11
  br label %3702

3702:                                             ; preds = %3685, %3668
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #11
  br label %3703

3703:                                             ; preds = %3702
  br label %3704

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

3705:                                             ; No predecessors!
  br label %3706

3706:                                             ; preds = %3705
  br label %3707

3707:                                             ; preds = %3706, %3647
  br label %3708

3708:                                             ; preds = %3707
  br label %3709

3709:                                             ; preds = %3708
  br label %3710

3710:                                             ; preds = %3709
  %3711 = load i32, ptr @test_count, align 4, !tbaa !5
  %3712 = add nsw i32 %3711, 1
  store i32 %3712, ptr @test_count, align 4, !tbaa !5
  %3713 = load ptr, ptr %50, align 8, !tbaa !9
  %3714 = call i32 @s2n_connection_free(ptr noundef %3713)
  %3715 = icmp eq i32 %3714, -1
  br i1 %3715, label %3716, label %3769

3716:                                             ; preds = %3710
  br label %3717

3717:                                             ; preds = %3716
  br label %3718

3718:                                             ; preds = %3717
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #11
  %3719 = call ptr @__errno_location() #12
  %3720 = load i32, ptr %3719, align 4, !tbaa !5
  store i32 %3720, ptr %70, align 4, !tbaa !5
  %3721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3722 = call i32 @s2n_print_stacktrace(ptr noundef %3721)
  %3723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3724 = trunc i8 %3723 to i1
  br i1 %3724, label %3725, label %3747

3725:                                             ; preds = %3718
  %3726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3727 = call i32 @fileno(ptr noundef %3726) #11
  %3728 = call i32 @isatty(i32 noundef %3727) #11
  %3729 = icmp ne i32 %3728, 0
  br i1 %3729, label %3730, label %3747

3730:                                             ; preds = %3725
  %3731 = load i32, ptr %70, align 4, !tbaa !5
  %3732 = call ptr @__errno_location() #12
  store i32 %3731, ptr %3732, align 4, !tbaa !5
  %3733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3734 = load i32, ptr @test_count, align 4, !tbaa !5
  %3735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3736 = load i32, ptr %3735, align 4, !tbaa !5
  %3737 = call ptr @s2n_strerror(i32 noundef %3736, ptr noundef @.str.4)
  %3738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3739 = load i32, ptr %3738, align 4, !tbaa !5
  %3740 = call ptr @s2n_strerror_debug(i32 noundef %3739, ptr noundef @.str.4)
  %3741 = call ptr @__errno_location() #12
  %3742 = load i32, ptr %3741, align 4, !tbaa !5
  %3743 = call ptr @strerror(i32 noundef %3742) #11
  %3744 = call ptr @__errno_location() #12
  %3745 = load i32, ptr %3744, align 4, !tbaa !5
  %3746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3733, ptr noundef @.str.2, i32 noundef %3734, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 140, ptr noundef %3737, ptr noundef %3740, ptr noundef %3743, i32 noundef %3745) #11
  br label %3764

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

3764:                                             ; preds = %3747, %3730
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #11
  br label %3765

3765:                                             ; preds = %3764
  br label %3766

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

3767:                                             ; No predecessors!
  br label %3768

3768:                                             ; preds = %3767
  br label %3769

3769:                                             ; preds = %3768, %3710
  br label %3770

3770:                                             ; preds = %3769
  br label %3771

3771:                                             ; preds = %3770
  br label %3772

3772:                                             ; preds = %3771
  %3773 = load i32, ptr @test_count, align 4, !tbaa !5
  %3774 = add nsw i32 %3773, 1
  store i32 %3774, ptr @test_count, align 4, !tbaa !5
  %3775 = load ptr, ptr %51, align 8, !tbaa !9
  %3776 = call i32 @s2n_connection_free(ptr noundef %3775)
  %3777 = icmp eq i32 %3776, -1
  br i1 %3777, label %3778, label %3831

3778:                                             ; preds = %3772
  br label %3779

3779:                                             ; preds = %3778
  br label %3780

3780:                                             ; preds = %3779
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #11
  %3781 = call ptr @__errno_location() #12
  %3782 = load i32, ptr %3781, align 4, !tbaa !5
  store i32 %3782, ptr %71, align 4, !tbaa !5
  %3783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3784 = call i32 @s2n_print_stacktrace(ptr noundef %3783)
  %3785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3786 = trunc i8 %3785 to i1
  br i1 %3786, label %3787, label %3809

3787:                                             ; preds = %3780
  %3788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3789 = call i32 @fileno(ptr noundef %3788) #11
  %3790 = call i32 @isatty(i32 noundef %3789) #11
  %3791 = icmp ne i32 %3790, 0
  br i1 %3791, label %3792, label %3809

3792:                                             ; preds = %3787
  %3793 = load i32, ptr %71, align 4, !tbaa !5
  %3794 = call ptr @__errno_location() #12
  store i32 %3793, ptr %3794, align 4, !tbaa !5
  %3795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3796 = load i32, ptr @test_count, align 4, !tbaa !5
  %3797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3798 = load i32, ptr %3797, align 4, !tbaa !5
  %3799 = call ptr @s2n_strerror(i32 noundef %3798, ptr noundef @.str.4)
  %3800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3801 = load i32, ptr %3800, align 4, !tbaa !5
  %3802 = call ptr @s2n_strerror_debug(i32 noundef %3801, ptr noundef @.str.4)
  %3803 = call ptr @__errno_location() #12
  %3804 = load i32, ptr %3803, align 4, !tbaa !5
  %3805 = call ptr @strerror(i32 noundef %3804) #11
  %3806 = call ptr @__errno_location() #12
  %3807 = load i32, ptr %3806, align 4, !tbaa !5
  %3808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3795, ptr noundef @.str.2, i32 noundef %3796, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 141, ptr noundef %3799, ptr noundef %3802, ptr noundef %3805, i32 noundef %3807) #11
  br label %3826

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

3826:                                             ; preds = %3809, %3792
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #11
  br label %3827

3827:                                             ; preds = %3826
  br label %3828

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

3829:                                             ; No predecessors!
  br label %3830

3830:                                             ; preds = %3829
  br label %3831

3831:                                             ; preds = %3830, %3772
  br label %3832

3832:                                             ; preds = %3831
  br label %3833

3833:                                             ; preds = %3832
  %3834 = call i32 @s2n_io_pair_close(ptr noundef %52)
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #11
  store ptr null, ptr %72, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #11
  store ptr null, ptr %73, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #11
  call void @llvm.memset.p0.i64(ptr align 4 %74, i8 0, i64 8, i1 false)
  br label %3835

3835:                                             ; preds = %3833
  %3836 = load i32, ptr @test_count, align 4, !tbaa !5
  %3837 = add nsw i32 %3836, 1
  store i32 %3837, ptr @test_count, align 4, !tbaa !5
  %3838 = call i32 @s2n_test_client_and_server_new(ptr noundef %72, ptr noundef %73, ptr noundef %74)
  %3839 = getelementptr inbounds %struct.s2n_result, ptr %75, i32 0, i32 0
  store i32 %3838, ptr %3839, align 4
  %3840 = getelementptr inbounds %struct.s2n_result, ptr %75, i32 0, i32 0
  %3841 = load i32, ptr %3840, align 4
  %3842 = call zeroext i1 @s2n_result_is_ok(i32 %3841)
  br i1 %3842, label %3896, label %3843

3843:                                             ; preds = %3835
  br label %3844

3844:                                             ; preds = %3843
  br label %3845

3845:                                             ; preds = %3844
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #11
  %3846 = call ptr @__errno_location() #12
  %3847 = load i32, ptr %3846, align 4, !tbaa !5
  store i32 %3847, ptr %76, align 4, !tbaa !5
  %3848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3849 = call i32 @s2n_print_stacktrace(ptr noundef %3848)
  %3850 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3851 = trunc i8 %3850 to i1
  br i1 %3851, label %3852, label %3874

3852:                                             ; preds = %3845
  %3853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3854 = call i32 @fileno(ptr noundef %3853) #11
  %3855 = call i32 @isatty(i32 noundef %3854) #11
  %3856 = icmp ne i32 %3855, 0
  br i1 %3856, label %3857, label %3874

3857:                                             ; preds = %3852
  %3858 = load i32, ptr %76, align 4, !tbaa !5
  %3859 = call ptr @__errno_location() #12
  store i32 %3858, ptr %3859, align 4, !tbaa !5
  %3860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3861 = load i32, ptr @test_count, align 4, !tbaa !5
  %3862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3863 = load i32, ptr %3862, align 4, !tbaa !5
  %3864 = call ptr @s2n_strerror(i32 noundef %3863, ptr noundef @.str.4)
  %3865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3866 = load i32, ptr %3865, align 4, !tbaa !5
  %3867 = call ptr @s2n_strerror_debug(i32 noundef %3866, ptr noundef @.str.4)
  %3868 = call ptr @__errno_location() #12
  %3869 = load i32, ptr %3868, align 4, !tbaa !5
  %3870 = call ptr @strerror(i32 noundef %3869) #11
  %3871 = call ptr @__errno_location() #12
  %3872 = load i32, ptr %3871, align 4, !tbaa !5
  %3873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3860, ptr noundef @.str.2, i32 noundef %3861, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 148, ptr noundef %3864, ptr noundef %3867, ptr noundef %3870, i32 noundef %3872) #11
  br label %3891

3874:                                             ; preds = %3852, %3845
  %3875 = load i32, ptr %76, align 4, !tbaa !5
  %3876 = call ptr @__errno_location() #12
  store i32 %3875, ptr %3876, align 4, !tbaa !5
  %3877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3878 = load i32, ptr @test_count, align 4, !tbaa !5
  %3879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3880 = load i32, ptr %3879, align 4, !tbaa !5
  %3881 = call ptr @s2n_strerror(i32 noundef %3880, ptr noundef @.str.4)
  %3882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3883 = load i32, ptr %3882, align 4, !tbaa !5
  %3884 = call ptr @s2n_strerror_debug(i32 noundef %3883, ptr noundef @.str.4)
  %3885 = call ptr @__errno_location() #12
  %3886 = load i32, ptr %3885, align 4, !tbaa !5
  %3887 = call ptr @strerror(i32 noundef %3886) #11
  %3888 = call ptr @__errno_location() #12
  %3889 = load i32, ptr %3888, align 4, !tbaa !5
  %3890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3877, ptr noundef @.str.5, i32 noundef %3878, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 148, ptr noundef %3881, ptr noundef %3884, ptr noundef %3887, i32 noundef %3889) #11
  br label %3891

3891:                                             ; preds = %3874, %3857
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #11
  br label %3892

3892:                                             ; preds = %3891
  br label %3893

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

3894:                                             ; No predecessors!
  br label %3895

3895:                                             ; preds = %3894
  br label %3896

3896:                                             ; preds = %3895, %3835
  br label %3897

3897:                                             ; preds = %3896
  br label %3898

3898:                                             ; preds = %3897
  br label %3899

3899:                                             ; preds = %3898
  %3900 = load i32, ptr @test_count, align 4, !tbaa !5
  %3901 = add nsw i32 %3900, 1
  store i32 %3901, ptr @test_count, align 4, !tbaa !5
  %3902 = load ptr, ptr %72, align 8, !tbaa !9
  %3903 = load ptr, ptr %12, align 8, !tbaa !9
  %3904 = call i32 @s2n_connection_append_psk(ptr noundef %3902, ptr noundef %3903)
  %3905 = icmp eq i32 %3904, -1
  br i1 %3905, label %3906, label %3959

3906:                                             ; preds = %3899
  br label %3907

3907:                                             ; preds = %3906
  br label %3908

3908:                                             ; preds = %3907
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #11
  %3909 = call ptr @__errno_location() #12
  %3910 = load i32, ptr %3909, align 4, !tbaa !5
  store i32 %3910, ptr %77, align 4, !tbaa !5
  %3911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3912 = call i32 @s2n_print_stacktrace(ptr noundef %3911)
  %3913 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3914 = trunc i8 %3913 to i1
  br i1 %3914, label %3915, label %3937

3915:                                             ; preds = %3908
  %3916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3917 = call i32 @fileno(ptr noundef %3916) #11
  %3918 = call i32 @isatty(i32 noundef %3917) #11
  %3919 = icmp ne i32 %3918, 0
  br i1 %3919, label %3920, label %3937

3920:                                             ; preds = %3915
  %3921 = load i32, ptr %77, align 4, !tbaa !5
  %3922 = call ptr @__errno_location() #12
  store i32 %3921, ptr %3922, align 4, !tbaa !5
  %3923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3924 = load i32, ptr @test_count, align 4, !tbaa !5
  %3925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3926 = load i32, ptr %3925, align 4, !tbaa !5
  %3927 = call ptr @s2n_strerror(i32 noundef %3926, ptr noundef @.str.4)
  %3928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3929 = load i32, ptr %3928, align 4, !tbaa !5
  %3930 = call ptr @s2n_strerror_debug(i32 noundef %3929, ptr noundef @.str.4)
  %3931 = call ptr @__errno_location() #12
  %3932 = load i32, ptr %3931, align 4, !tbaa !5
  %3933 = call ptr @strerror(i32 noundef %3932) #11
  %3934 = call ptr @__errno_location() #12
  %3935 = load i32, ptr %3934, align 4, !tbaa !5
  %3936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3923, ptr noundef @.str.2, i32 noundef %3924, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 150, ptr noundef %3927, ptr noundef %3930, ptr noundef %3933, i32 noundef %3935) #11
  br label %3954

3937:                                             ; preds = %3915, %3908
  %3938 = load i32, ptr %77, align 4, !tbaa !5
  %3939 = call ptr @__errno_location() #12
  store i32 %3938, ptr %3939, align 4, !tbaa !5
  %3940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3941 = load i32, ptr @test_count, align 4, !tbaa !5
  %3942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3943 = load i32, ptr %3942, align 4, !tbaa !5
  %3944 = call ptr @s2n_strerror(i32 noundef %3943, ptr noundef @.str.4)
  %3945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3946 = load i32, ptr %3945, align 4, !tbaa !5
  %3947 = call ptr @s2n_strerror_debug(i32 noundef %3946, ptr noundef @.str.4)
  %3948 = call ptr @__errno_location() #12
  %3949 = load i32, ptr %3948, align 4, !tbaa !5
  %3950 = call ptr @strerror(i32 noundef %3949) #11
  %3951 = call ptr @__errno_location() #12
  %3952 = load i32, ptr %3951, align 4, !tbaa !5
  %3953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3940, ptr noundef @.str.5, i32 noundef %3941, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 150, ptr noundef %3944, ptr noundef %3947, ptr noundef %3950, i32 noundef %3952) #11
  br label %3954

3954:                                             ; preds = %3937, %3920
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #11
  br label %3955

3955:                                             ; preds = %3954
  br label %3956

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

3957:                                             ; No predecessors!
  br label %3958

3958:                                             ; preds = %3957
  br label %3959

3959:                                             ; preds = %3958, %3899
  br label %3960

3960:                                             ; preds = %3959
  br label %3961

3961:                                             ; preds = %3960
  br label %3962

3962:                                             ; preds = %3961
  %3963 = load i32, ptr @test_count, align 4, !tbaa !5
  %3964 = add nsw i32 %3963, 1
  store i32 %3964, ptr @test_count, align 4, !tbaa !5
  %3965 = load ptr, ptr %72, align 8, !tbaa !9
  %3966 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %3965)
  %3967 = icmp eq i32 %3966, -1
  br i1 %3967, label %3968, label %4021

3968:                                             ; preds = %3962
  br label %3969

3969:                                             ; preds = %3968
  br label %3970

3970:                                             ; preds = %3969
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #11
  %3971 = call ptr @__errno_location() #12
  %3972 = load i32, ptr %3971, align 4, !tbaa !5
  store i32 %3972, ptr %78, align 4, !tbaa !5
  %3973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3974 = call i32 @s2n_print_stacktrace(ptr noundef %3973)
  %3975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3976 = trunc i8 %3975 to i1
  br i1 %3976, label %3977, label %3999

3977:                                             ; preds = %3970
  %3978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3979 = call i32 @fileno(ptr noundef %3978) #11
  %3980 = call i32 @isatty(i32 noundef %3979) #11
  %3981 = icmp ne i32 %3980, 0
  br i1 %3981, label %3982, label %3999

3982:                                             ; preds = %3977
  %3983 = load i32, ptr %78, align 4, !tbaa !5
  %3984 = call ptr @__errno_location() #12
  store i32 %3983, ptr %3984, align 4, !tbaa !5
  %3985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3986 = load i32, ptr @test_count, align 4, !tbaa !5
  %3987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3988 = load i32, ptr %3987, align 4, !tbaa !5
  %3989 = call ptr @s2n_strerror(i32 noundef %3988, ptr noundef @.str.4)
  %3990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3991 = load i32, ptr %3990, align 4, !tbaa !5
  %3992 = call ptr @s2n_strerror_debug(i32 noundef %3991, ptr noundef @.str.4)
  %3993 = call ptr @__errno_location() #12
  %3994 = load i32, ptr %3993, align 4, !tbaa !5
  %3995 = call ptr @strerror(i32 noundef %3994) #11
  %3996 = call ptr @__errno_location() #12
  %3997 = load i32, ptr %3996, align 4, !tbaa !5
  %3998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3985, ptr noundef @.str.2, i32 noundef %3986, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 151, ptr noundef %3989, ptr noundef %3992, ptr noundef %3995, i32 noundef %3997) #11
  br label %4016

3999:                                             ; preds = %3977, %3970
  %4000 = load i32, ptr %78, align 4, !tbaa !5
  %4001 = call ptr @__errno_location() #12
  store i32 %4000, ptr %4001, align 4, !tbaa !5
  %4002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4003 = load i32, ptr @test_count, align 4, !tbaa !5
  %4004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4005 = load i32, ptr %4004, align 4, !tbaa !5
  %4006 = call ptr @s2n_strerror(i32 noundef %4005, ptr noundef @.str.4)
  %4007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4008 = load i32, ptr %4007, align 4, !tbaa !5
  %4009 = call ptr @s2n_strerror_debug(i32 noundef %4008, ptr noundef @.str.4)
  %4010 = call ptr @__errno_location() #12
  %4011 = load i32, ptr %4010, align 4, !tbaa !5
  %4012 = call ptr @strerror(i32 noundef %4011) #11
  %4013 = call ptr @__errno_location() #12
  %4014 = load i32, ptr %4013, align 4, !tbaa !5
  %4015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4002, ptr noundef @.str.5, i32 noundef %4003, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 151, ptr noundef %4006, ptr noundef %4009, ptr noundef %4012, i32 noundef %4014) #11
  br label %4016

4016:                                             ; preds = %3999, %3982
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #11
  br label %4017

4017:                                             ; preds = %4016
  br label %4018

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

4019:                                             ; No predecessors!
  br label %4020

4020:                                             ; preds = %4019
  br label %4021

4021:                                             ; preds = %4020, %3962
  br label %4022

4022:                                             ; preds = %4021
  br label %4023

4023:                                             ; preds = %4022
  br label %4024

4024:                                             ; preds = %4023
  %4025 = load i32, ptr @test_count, align 4, !tbaa !5
  %4026 = add nsw i32 %4025, 1
  store i32 %4026, ptr @test_count, align 4, !tbaa !5
  %4027 = load ptr, ptr %72, align 8, !tbaa !9
  %4028 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %4027, ptr noundef @.str.48)
  %4029 = icmp eq i32 %4028, -1
  br i1 %4029, label %4030, label %4083

4030:                                             ; preds = %4024
  br label %4031

4031:                                             ; preds = %4030
  br label %4032

4032:                                             ; preds = %4031
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #11
  %4033 = call ptr @__errno_location() #12
  %4034 = load i32, ptr %4033, align 4, !tbaa !5
  store i32 %4034, ptr %79, align 4, !tbaa !5
  %4035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4036 = call i32 @s2n_print_stacktrace(ptr noundef %4035)
  %4037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4038 = trunc i8 %4037 to i1
  br i1 %4038, label %4039, label %4061

4039:                                             ; preds = %4032
  %4040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4041 = call i32 @fileno(ptr noundef %4040) #11
  %4042 = call i32 @isatty(i32 noundef %4041) #11
  %4043 = icmp ne i32 %4042, 0
  br i1 %4043, label %4044, label %4061

4044:                                             ; preds = %4039
  %4045 = load i32, ptr %79, align 4, !tbaa !5
  %4046 = call ptr @__errno_location() #12
  store i32 %4045, ptr %4046, align 4, !tbaa !5
  %4047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4048 = load i32, ptr @test_count, align 4, !tbaa !5
  %4049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4050 = load i32, ptr %4049, align 4, !tbaa !5
  %4051 = call ptr @s2n_strerror(i32 noundef %4050, ptr noundef @.str.4)
  %4052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4053 = load i32, ptr %4052, align 4, !tbaa !5
  %4054 = call ptr @s2n_strerror_debug(i32 noundef %4053, ptr noundef @.str.4)
  %4055 = call ptr @__errno_location() #12
  %4056 = load i32, ptr %4055, align 4, !tbaa !5
  %4057 = call ptr @strerror(i32 noundef %4056) #11
  %4058 = call ptr @__errno_location() #12
  %4059 = load i32, ptr %4058, align 4, !tbaa !5
  %4060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4047, ptr noundef @.str.2, i32 noundef %4048, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 152, ptr noundef %4051, ptr noundef %4054, ptr noundef %4057, i32 noundef %4059) #11
  br label %4078

4061:                                             ; preds = %4039, %4032
  %4062 = load i32, ptr %79, align 4, !tbaa !5
  %4063 = call ptr @__errno_location() #12
  store i32 %4062, ptr %4063, align 4, !tbaa !5
  %4064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4065 = load i32, ptr @test_count, align 4, !tbaa !5
  %4066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4067 = load i32, ptr %4066, align 4, !tbaa !5
  %4068 = call ptr @s2n_strerror(i32 noundef %4067, ptr noundef @.str.4)
  %4069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4070 = load i32, ptr %4069, align 4, !tbaa !5
  %4071 = call ptr @s2n_strerror_debug(i32 noundef %4070, ptr noundef @.str.4)
  %4072 = call ptr @__errno_location() #12
  %4073 = load i32, ptr %4072, align 4, !tbaa !5
  %4074 = call ptr @strerror(i32 noundef %4073) #11
  %4075 = call ptr @__errno_location() #12
  %4076 = load i32, ptr %4075, align 4, !tbaa !5
  %4077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4064, ptr noundef @.str.5, i32 noundef %4065, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 152, ptr noundef %4068, ptr noundef %4071, ptr noundef %4074, i32 noundef %4076) #11
  br label %4078

4078:                                             ; preds = %4061, %4044
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #11
  br label %4079

4079:                                             ; preds = %4078
  br label %4080

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

4081:                                             ; No predecessors!
  br label %4082

4082:                                             ; preds = %4081
  br label %4083

4083:                                             ; preds = %4082, %4024
  br label %4084

4084:                                             ; preds = %4083
  br label %4085

4085:                                             ; preds = %4084
  br label %4086

4086:                                             ; preds = %4085
  %4087 = load i32, ptr @test_count, align 4, !tbaa !5
  %4088 = add nsw i32 %4087, 1
  store i32 %4088, ptr @test_count, align 4, !tbaa !5
  %4089 = load ptr, ptr %73, align 8, !tbaa !9
  %4090 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %4089, ptr noundef @.str.50)
  %4091 = icmp eq i32 %4090, -1
  br i1 %4091, label %4092, label %4145

4092:                                             ; preds = %4086
  br label %4093

4093:                                             ; preds = %4092
  br label %4094

4094:                                             ; preds = %4093
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #11
  %4095 = call ptr @__errno_location() #12
  %4096 = load i32, ptr %4095, align 4, !tbaa !5
  store i32 %4096, ptr %80, align 4, !tbaa !5
  %4097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4098 = call i32 @s2n_print_stacktrace(ptr noundef %4097)
  %4099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4100 = trunc i8 %4099 to i1
  br i1 %4100, label %4101, label %4123

4101:                                             ; preds = %4094
  %4102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4103 = call i32 @fileno(ptr noundef %4102) #11
  %4104 = call i32 @isatty(i32 noundef %4103) #11
  %4105 = icmp ne i32 %4104, 0
  br i1 %4105, label %4106, label %4123

4106:                                             ; preds = %4101
  %4107 = load i32, ptr %80, align 4, !tbaa !5
  %4108 = call ptr @__errno_location() #12
  store i32 %4107, ptr %4108, align 4, !tbaa !5
  %4109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4110 = load i32, ptr @test_count, align 4, !tbaa !5
  %4111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4112 = load i32, ptr %4111, align 4, !tbaa !5
  %4113 = call ptr @s2n_strerror(i32 noundef %4112, ptr noundef @.str.4)
  %4114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4115 = load i32, ptr %4114, align 4, !tbaa !5
  %4116 = call ptr @s2n_strerror_debug(i32 noundef %4115, ptr noundef @.str.4)
  %4117 = call ptr @__errno_location() #12
  %4118 = load i32, ptr %4117, align 4, !tbaa !5
  %4119 = call ptr @strerror(i32 noundef %4118) #11
  %4120 = call ptr @__errno_location() #12
  %4121 = load i32, ptr %4120, align 4, !tbaa !5
  %4122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4109, ptr noundef @.str.2, i32 noundef %4110, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 153, ptr noundef %4113, ptr noundef %4116, ptr noundef %4119, i32 noundef %4121) #11
  br label %4140

4123:                                             ; preds = %4101, %4094
  %4124 = load i32, ptr %80, align 4, !tbaa !5
  %4125 = call ptr @__errno_location() #12
  store i32 %4124, ptr %4125, align 4, !tbaa !5
  %4126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4127 = load i32, ptr @test_count, align 4, !tbaa !5
  %4128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4129 = load i32, ptr %4128, align 4, !tbaa !5
  %4130 = call ptr @s2n_strerror(i32 noundef %4129, ptr noundef @.str.4)
  %4131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4132 = load i32, ptr %4131, align 4, !tbaa !5
  %4133 = call ptr @s2n_strerror_debug(i32 noundef %4132, ptr noundef @.str.4)
  %4134 = call ptr @__errno_location() #12
  %4135 = load i32, ptr %4134, align 4, !tbaa !5
  %4136 = call ptr @strerror(i32 noundef %4135) #11
  %4137 = call ptr @__errno_location() #12
  %4138 = load i32, ptr %4137, align 4, !tbaa !5
  %4139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4126, ptr noundef @.str.5, i32 noundef %4127, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 153, ptr noundef %4130, ptr noundef %4133, ptr noundef %4136, i32 noundef %4138) #11
  br label %4140

4140:                                             ; preds = %4123, %4106
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #11
  br label %4141

4141:                                             ; preds = %4140
  br label %4142

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

4143:                                             ; No predecessors!
  br label %4144

4144:                                             ; preds = %4143
  br label %4145

4145:                                             ; preds = %4144, %4086
  br label %4146

4146:                                             ; preds = %4145
  br label %4147

4147:                                             ; preds = %4146
  br label %4148

4148:                                             ; preds = %4147
  %4149 = load i32, ptr @test_count, align 4, !tbaa !5
  %4150 = add nsw i32 %4149, 1
  store i32 %4150, ptr @test_count, align 4, !tbaa !5
  %4151 = load ptr, ptr %73, align 8, !tbaa !9
  %4152 = load ptr, ptr %25, align 8, !tbaa !9
  %4153 = call i32 @s2n_connection_set_config(ptr noundef %4151, ptr noundef %4152)
  %4154 = icmp eq i32 %4153, -1
  br i1 %4154, label %4155, label %4208

4155:                                             ; preds = %4148
  br label %4156

4156:                                             ; preds = %4155
  br label %4157

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

4164:                                             ; preds = %4157
  %4165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4166 = call i32 @fileno(ptr noundef %4165) #11
  %4167 = call i32 @isatty(i32 noundef %4166) #11
  %4168 = icmp ne i32 %4167, 0
  br i1 %4168, label %4169, label %4186

4169:                                             ; preds = %4164
  %4170 = load i32, ptr %81, align 4, !tbaa !5
  %4171 = call ptr @__errno_location() #12
  store i32 %4170, ptr %4171, align 4, !tbaa !5
  %4172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4173 = load i32, ptr @test_count, align 4, !tbaa !5
  %4174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4175 = load i32, ptr %4174, align 4, !tbaa !5
  %4176 = call ptr @s2n_strerror(i32 noundef %4175, ptr noundef @.str.4)
  %4177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4178 = load i32, ptr %4177, align 4, !tbaa !5
  %4179 = call ptr @s2n_strerror_debug(i32 noundef %4178, ptr noundef @.str.4)
  %4180 = call ptr @__errno_location() #12
  %4181 = load i32, ptr %4180, align 4, !tbaa !5
  %4182 = call ptr @strerror(i32 noundef %4181) #11
  %4183 = call ptr @__errno_location() #12
  %4184 = load i32, ptr %4183, align 4, !tbaa !5
  %4185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4172, ptr noundef @.str.2, i32 noundef %4173, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 154, ptr noundef %4176, ptr noundef %4179, ptr noundef %4182, i32 noundef %4184) #11
  br label %4203

4186:                                             ; preds = %4164, %4157
  %4187 = load i32, ptr %81, align 4, !tbaa !5
  %4188 = call ptr @__errno_location() #12
  store i32 %4187, ptr %4188, align 4, !tbaa !5
  %4189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4190 = load i32, ptr @test_count, align 4, !tbaa !5
  %4191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4192 = load i32, ptr %4191, align 4, !tbaa !5
  %4193 = call ptr @s2n_strerror(i32 noundef %4192, ptr noundef @.str.4)
  %4194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4195 = load i32, ptr %4194, align 4, !tbaa !5
  %4196 = call ptr @s2n_strerror_debug(i32 noundef %4195, ptr noundef @.str.4)
  %4197 = call ptr @__errno_location() #12
  %4198 = load i32, ptr %4197, align 4, !tbaa !5
  %4199 = call ptr @strerror(i32 noundef %4198) #11
  %4200 = call ptr @__errno_location() #12
  %4201 = load i32, ptr %4200, align 4, !tbaa !5
  %4202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4189, ptr noundef @.str.5, i32 noundef %4190, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 154, ptr noundef %4193, ptr noundef %4196, ptr noundef %4199, i32 noundef %4201) #11
  br label %4203

4203:                                             ; preds = %4186, %4169
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #11
  br label %4204

4204:                                             ; preds = %4203
  br label %4205

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

4206:                                             ; No predecessors!
  br label %4207

4207:                                             ; preds = %4206
  br label %4208

4208:                                             ; preds = %4207, %4148
  br label %4209

4209:                                             ; preds = %4208
  br label %4210

4210:                                             ; preds = %4209
  br label %4211

4211:                                             ; preds = %4210
  br label %4212

4212:                                             ; preds = %4211
  br label %4213

4213:                                             ; preds = %4212
  %4214 = load i32, ptr @test_count, align 4, !tbaa !5
  %4215 = add nsw i32 %4214, 1
  store i32 %4215, ptr @test_count, align 4, !tbaa !5
  %4216 = load ptr, ptr %73, align 8, !tbaa !9
  %4217 = load ptr, ptr %72, align 8, !tbaa !9
  %4218 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %4216, ptr noundef %4217, i32 noundef 9)
  %4219 = getelementptr inbounds %struct.s2n_result, ptr %82, i32 0, i32 0
  store i32 %4218, ptr %4219, align 4
  %4220 = getelementptr inbounds %struct.s2n_result, ptr %82, i32 0, i32 0
  %4221 = load i32, ptr %4220, align 4
  %4222 = call zeroext i1 @s2n_result_is_error(i32 %4221)
  br i1 %4222, label %4276, label %4223

4223:                                             ; preds = %4213
  br label %4224

4224:                                             ; preds = %4223
  br label %4225

4225:                                             ; preds = %4224
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #11
  %4226 = call ptr @__errno_location() #12
  %4227 = load i32, ptr %4226, align 4, !tbaa !5
  store i32 %4227, ptr %83, align 4, !tbaa !5
  %4228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4229 = call i32 @s2n_print_stacktrace(ptr noundef %4228)
  %4230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4231 = trunc i8 %4230 to i1
  br i1 %4231, label %4232, label %4254

4232:                                             ; preds = %4225
  %4233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4234 = call i32 @fileno(ptr noundef %4233) #11
  %4235 = call i32 @isatty(i32 noundef %4234) #11
  %4236 = icmp ne i32 %4235, 0
  br i1 %4236, label %4237, label %4254

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

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

4271:                                             ; preds = %4254, %4237
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #11
  br label %4272

4272:                                             ; preds = %4271
  br label %4273

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

4274:                                             ; No predecessors!
  br label %4275

4275:                                             ; preds = %4274
  br label %4276

4276:                                             ; preds = %4275, %4213
  br label %4277

4277:                                             ; preds = %4276
  br label %4278

4278:                                             ; preds = %4277
  br label %4279

4279:                                             ; preds = %4278
  %4280 = load i32, ptr @test_count, align 4, !tbaa !5
  %4281 = add nsw i32 %4280, 1
  store i32 %4281, ptr @test_count, align 4, !tbaa !5
  %4282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4283 = load i32, ptr %4282, align 4, !tbaa !5
  %4284 = icmp eq i32 %4283, 335544384
  br i1 %4284, label %4338, label %4285

4285:                                             ; preds = %4279
  br label %4286

4286:                                             ; preds = %4285
  br label %4287

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

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

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

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

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

4334:                                             ; preds = %4333
  br label %4335

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

4336:                                             ; No predecessors!
  br label %4337

4337:                                             ; preds = %4336
  br label %4338

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

4339:                                             ; preds = %4338
  br label %4340

4340:                                             ; preds = %4339
  br label %4341

4341:                                             ; preds = %4340
  %4342 = load i32, ptr @test_count, align 4, !tbaa !5
  %4343 = add nsw i32 %4342, 1
  store i32 %4343, ptr @test_count, align 4, !tbaa !5
  %4344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4345 = load i32, ptr %4344, align 4, !tbaa !5
  %4346 = call ptr @s2n_strerror_debug(i32 noundef %4345, ptr noundef @.str.4)
  %4347 = icmp eq ptr %4346, null
  br i1 %4347, label %4348, label %4401

4348:                                             ; preds = %4341
  br label %4349

4349:                                             ; preds = %4348
  br label %4350

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

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

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

4379:                                             ; preds = %4357, %4350
  %4380 = load i32, ptr %85, align 4, !tbaa !5
  %4381 = call ptr @__errno_location() #12
  store i32 %4380, ptr %4381, align 4, !tbaa !5
  %4382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4383 = load i32, ptr @test_count, align 4, !tbaa !5
  %4384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4385 = load i32, ptr %4384, align 4, !tbaa !5
  %4386 = call ptr @s2n_strerror(i32 noundef %4385, ptr noundef @.str.4)
  %4387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4388 = load i32, ptr %4387, align 4, !tbaa !5
  %4389 = call ptr @s2n_strerror_debug(i32 noundef %4388, ptr noundef @.str.4)
  %4390 = call ptr @__errno_location() #12
  %4391 = load i32, ptr %4390, align 4, !tbaa !5
  %4392 = call ptr @strerror(i32 noundef %4391) #11
  %4393 = call ptr @__errno_location() #12
  %4394 = load i32, ptr %4393, align 4, !tbaa !5
  %4395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4382, ptr noundef @.str.5, i32 noundef %4383, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 163, ptr noundef %4386, ptr noundef %4389, ptr noundef %4392, i32 noundef %4394) #11
  br label %4396

4396:                                             ; preds = %4379, %4362
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #11
  br label %4397

4397:                                             ; preds = %4396
  br label %4398

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

4399:                                             ; No predecessors!
  br label %4400

4400:                                             ; preds = %4399
  br label %4401

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

4402:                                             ; preds = %4401
  br label %4403

4403:                                             ; preds = %4402
  br label %4404

4404:                                             ; preds = %4403
  br label %4405

4405:                                             ; preds = %4404
  br label %4406

4406:                                             ; preds = %4405
  %4407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4407, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4408 = call ptr @__errno_location() #12
  store i32 0, ptr %4408, align 4, !tbaa !5
  br label %4409

4409:                                             ; preds = %4406
  br label %4410

4410:                                             ; preds = %4409
  br label %4411

4411:                                             ; preds = %4410
  br label %4412

4412:                                             ; preds = %4411
  br label %4413

4413:                                             ; preds = %4412
  %4414 = load i32, ptr @test_count, align 4, !tbaa !5
  %4415 = add nsw i32 %4414, 1
  store i32 %4415, ptr @test_count, align 4, !tbaa !5
  %4416 = load ptr, ptr %72, align 8, !tbaa !9
  %4417 = call i32 @s2n_connection_free(ptr noundef %4416)
  %4418 = icmp eq i32 %4417, -1
  br i1 %4418, label %4419, label %4472

4419:                                             ; preds = %4413
  br label %4420

4420:                                             ; preds = %4419
  br label %4421

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

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

4433:                                             ; preds = %4428
  %4434 = load i32, ptr %86, align 4, !tbaa !5
  %4435 = call ptr @__errno_location() #12
  store i32 %4434, ptr %4435, align 4, !tbaa !5
  %4436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4437 = load i32, ptr @test_count, align 4, !tbaa !5
  %4438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4439 = load i32, ptr %4438, align 4, !tbaa !5
  %4440 = call ptr @s2n_strerror(i32 noundef %4439, ptr noundef @.str.4)
  %4441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4442 = load i32, ptr %4441, align 4, !tbaa !5
  %4443 = call ptr @s2n_strerror_debug(i32 noundef %4442, ptr noundef @.str.4)
  %4444 = call ptr @__errno_location() #12
  %4445 = load i32, ptr %4444, align 4, !tbaa !5
  %4446 = call ptr @strerror(i32 noundef %4445) #11
  %4447 = call ptr @__errno_location() #12
  %4448 = load i32, ptr %4447, align 4, !tbaa !5
  %4449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4436, ptr noundef @.str.2, i32 noundef %4437, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 165, ptr noundef %4440, ptr noundef %4443, ptr noundef %4446, i32 noundef %4448) #11
  br label %4467

4450:                                             ; preds = %4428, %4421
  %4451 = load i32, ptr %86, align 4, !tbaa !5
  %4452 = call ptr @__errno_location() #12
  store i32 %4451, ptr %4452, align 4, !tbaa !5
  %4453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4454 = load i32, ptr @test_count, align 4, !tbaa !5
  %4455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4456 = load i32, ptr %4455, align 4, !tbaa !5
  %4457 = call ptr @s2n_strerror(i32 noundef %4456, ptr noundef @.str.4)
  %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_debug(i32 noundef %4459, ptr noundef @.str.4)
  %4461 = call ptr @__errno_location() #12
  %4462 = load i32, ptr %4461, align 4, !tbaa !5
  %4463 = call ptr @strerror(i32 noundef %4462) #11
  %4464 = call ptr @__errno_location() #12
  %4465 = load i32, ptr %4464, align 4, !tbaa !5
  %4466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4453, ptr noundef @.str.5, i32 noundef %4454, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 165, ptr noundef %4457, ptr noundef %4460, ptr noundef %4463, i32 noundef %4465) #11
  br label %4467

4467:                                             ; preds = %4450, %4433
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #11
  br label %4468

4468:                                             ; preds = %4467
  br label %4469

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

4470:                                             ; No predecessors!
  br label %4471

4471:                                             ; preds = %4470
  br label %4472

4472:                                             ; preds = %4471, %4413
  br label %4473

4473:                                             ; preds = %4472
  br label %4474

4474:                                             ; preds = %4473
  br label %4475

4475:                                             ; preds = %4474
  %4476 = load i32, ptr @test_count, align 4, !tbaa !5
  %4477 = add nsw i32 %4476, 1
  store i32 %4477, ptr @test_count, align 4, !tbaa !5
  %4478 = load ptr, ptr %73, align 8, !tbaa !9
  %4479 = call i32 @s2n_connection_free(ptr noundef %4478)
  %4480 = icmp eq i32 %4479, -1
  br i1 %4480, label %4481, label %4534

4481:                                             ; preds = %4475
  br label %4482

4482:                                             ; preds = %4481
  br label %4483

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

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

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

4512:                                             ; preds = %4490, %4483
  %4513 = load i32, ptr %87, align 4, !tbaa !5
  %4514 = call ptr @__errno_location() #12
  store i32 %4513, ptr %4514, align 4, !tbaa !5
  %4515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4516 = load i32, ptr @test_count, align 4, !tbaa !5
  %4517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4518 = load i32, ptr %4517, align 4, !tbaa !5
  %4519 = call ptr @s2n_strerror(i32 noundef %4518, ptr noundef @.str.4)
  %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_debug(i32 noundef %4521, ptr noundef @.str.4)
  %4523 = call ptr @__errno_location() #12
  %4524 = load i32, ptr %4523, align 4, !tbaa !5
  %4525 = call ptr @strerror(i32 noundef %4524) #11
  %4526 = call ptr @__errno_location() #12
  %4527 = load i32, ptr %4526, align 4, !tbaa !5
  %4528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4515, ptr noundef @.str.5, i32 noundef %4516, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 166, ptr noundef %4519, ptr noundef %4522, ptr noundef %4525, i32 noundef %4527) #11
  br label %4529

4529:                                             ; preds = %4512, %4495
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #11
  br label %4530

4530:                                             ; preds = %4529
  br label %4531

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

4532:                                             ; No predecessors!
  br label %4533

4533:                                             ; preds = %4532
  br label %4534

4534:                                             ; preds = %4533, %4475
  br label %4535

4535:                                             ; preds = %4534
  br label %4536

4536:                                             ; preds = %4535
  %4537 = call i32 @s2n_io_pair_close(ptr noundef %74)
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #11
  store ptr null, ptr %88, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #11
  store ptr null, ptr %89, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #11
  call void @llvm.memset.p0.i64(ptr align 4 %90, i8 0, i64 8, i1 false)
  br label %4538

4538:                                             ; preds = %4536
  %4539 = load i32, ptr @test_count, align 4, !tbaa !5
  %4540 = add nsw i32 %4539, 1
  store i32 %4540, ptr @test_count, align 4, !tbaa !5
  %4541 = call i32 @s2n_test_client_and_server_new(ptr noundef %88, ptr noundef %89, ptr noundef %90)
  %4542 = getelementptr inbounds %struct.s2n_result, ptr %91, i32 0, i32 0
  store i32 %4541, ptr %4542, align 4
  %4543 = getelementptr inbounds %struct.s2n_result, ptr %91, i32 0, i32 0
  %4544 = load i32, ptr %4543, align 4
  %4545 = call zeroext i1 @s2n_result_is_ok(i32 %4544)
  br i1 %4545, label %4599, label %4546

4546:                                             ; preds = %4538
  br label %4547

4547:                                             ; preds = %4546
  br label %4548

4548:                                             ; preds = %4547
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #11
  %4549 = call ptr @__errno_location() #12
  %4550 = load i32, ptr %4549, align 4, !tbaa !5
  store i32 %4550, ptr %92, align 4, !tbaa !5
  %4551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4552 = call i32 @s2n_print_stacktrace(ptr noundef %4551)
  %4553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4554 = trunc i8 %4553 to i1
  br i1 %4554, label %4555, label %4577

4555:                                             ; preds = %4548
  %4556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4557 = call i32 @fileno(ptr noundef %4556) #11
  %4558 = call i32 @isatty(i32 noundef %4557) #11
  %4559 = icmp ne i32 %4558, 0
  br i1 %4559, label %4560, label %4577

4560:                                             ; preds = %4555
  %4561 = load i32, ptr %92, align 4, !tbaa !5
  %4562 = call ptr @__errno_location() #12
  store i32 %4561, ptr %4562, align 4, !tbaa !5
  %4563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4564 = load i32, ptr @test_count, align 4, !tbaa !5
  %4565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4566 = load i32, ptr %4565, align 4, !tbaa !5
  %4567 = call ptr @s2n_strerror(i32 noundef %4566, ptr noundef @.str.4)
  %4568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4569 = load i32, ptr %4568, align 4, !tbaa !5
  %4570 = call ptr @s2n_strerror_debug(i32 noundef %4569, ptr noundef @.str.4)
  %4571 = call ptr @__errno_location() #12
  %4572 = load i32, ptr %4571, align 4, !tbaa !5
  %4573 = call ptr @strerror(i32 noundef %4572) #11
  %4574 = call ptr @__errno_location() #12
  %4575 = load i32, ptr %4574, align 4, !tbaa !5
  %4576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4563, ptr noundef @.str.2, i32 noundef %4564, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 173, ptr noundef %4567, ptr noundef %4570, ptr noundef %4573, i32 noundef %4575) #11
  br label %4594

4577:                                             ; preds = %4555, %4548
  %4578 = load i32, ptr %92, align 4, !tbaa !5
  %4579 = call ptr @__errno_location() #12
  store i32 %4578, ptr %4579, align 4, !tbaa !5
  %4580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4581 = load i32, ptr @test_count, align 4, !tbaa !5
  %4582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4583 = load i32, ptr %4582, align 4, !tbaa !5
  %4584 = call ptr @s2n_strerror(i32 noundef %4583, ptr noundef @.str.4)
  %4585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4586 = load i32, ptr %4585, align 4, !tbaa !5
  %4587 = call ptr @s2n_strerror_debug(i32 noundef %4586, ptr noundef @.str.4)
  %4588 = call ptr @__errno_location() #12
  %4589 = load i32, ptr %4588, align 4, !tbaa !5
  %4590 = call ptr @strerror(i32 noundef %4589) #11
  %4591 = call ptr @__errno_location() #12
  %4592 = load i32, ptr %4591, align 4, !tbaa !5
  %4593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4580, ptr noundef @.str.5, i32 noundef %4581, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 173, ptr noundef %4584, ptr noundef %4587, ptr noundef %4590, i32 noundef %4592) #11
  br label %4594

4594:                                             ; preds = %4577, %4560
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #11
  br label %4595

4595:                                             ; preds = %4594
  br label %4596

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

4597:                                             ; No predecessors!
  br label %4598

4598:                                             ; preds = %4597
  br label %4599

4599:                                             ; preds = %4598, %4538
  br label %4600

4600:                                             ; preds = %4599
  br label %4601

4601:                                             ; preds = %4600
  br label %4602

4602:                                             ; preds = %4601
  %4603 = load i32, ptr @test_count, align 4, !tbaa !5
  %4604 = add nsw i32 %4603, 1
  store i32 %4604, ptr @test_count, align 4, !tbaa !5
  %4605 = load ptr, ptr %88, align 8, !tbaa !9
  %4606 = load ptr, ptr %12, align 8, !tbaa !9
  %4607 = call i32 @s2n_connection_append_psk(ptr noundef %4605, ptr noundef %4606)
  %4608 = icmp eq i32 %4607, -1
  br i1 %4608, label %4609, label %4662

4609:                                             ; preds = %4602
  br label %4610

4610:                                             ; preds = %4609
  br label %4611

4611:                                             ; preds = %4610
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #11
  %4612 = call ptr @__errno_location() #12
  %4613 = load i32, ptr %4612, align 4, !tbaa !5
  store i32 %4613, ptr %93, align 4, !tbaa !5
  %4614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4615 = call i32 @s2n_print_stacktrace(ptr noundef %4614)
  %4616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4617 = trunc i8 %4616 to i1
  br i1 %4617, label %4618, label %4640

4618:                                             ; preds = %4611
  %4619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4620 = call i32 @fileno(ptr noundef %4619) #11
  %4621 = call i32 @isatty(i32 noundef %4620) #11
  %4622 = icmp ne i32 %4621, 0
  br i1 %4622, label %4623, label %4640

4623:                                             ; preds = %4618
  %4624 = load i32, ptr %93, align 4, !tbaa !5
  %4625 = call ptr @__errno_location() #12
  store i32 %4624, ptr %4625, align 4, !tbaa !5
  %4626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4627 = load i32, ptr @test_count, align 4, !tbaa !5
  %4628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4629 = load i32, ptr %4628, align 4, !tbaa !5
  %4630 = call ptr @s2n_strerror(i32 noundef %4629, ptr noundef @.str.4)
  %4631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4632 = load i32, ptr %4631, align 4, !tbaa !5
  %4633 = call ptr @s2n_strerror_debug(i32 noundef %4632, ptr noundef @.str.4)
  %4634 = call ptr @__errno_location() #12
  %4635 = load i32, ptr %4634, align 4, !tbaa !5
  %4636 = call ptr @strerror(i32 noundef %4635) #11
  %4637 = call ptr @__errno_location() #12
  %4638 = load i32, ptr %4637, align 4, !tbaa !5
  %4639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4626, ptr noundef @.str.2, i32 noundef %4627, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 175, ptr noundef %4630, ptr noundef %4633, ptr noundef %4636, i32 noundef %4638) #11
  br label %4657

4640:                                             ; preds = %4618, %4611
  %4641 = load i32, ptr %93, align 4, !tbaa !5
  %4642 = call ptr @__errno_location() #12
  store i32 %4641, ptr %4642, align 4, !tbaa !5
  %4643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4644 = load i32, ptr @test_count, align 4, !tbaa !5
  %4645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4646 = load i32, ptr %4645, align 4, !tbaa !5
  %4647 = call ptr @s2n_strerror(i32 noundef %4646, ptr noundef @.str.4)
  %4648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4649 = load i32, ptr %4648, align 4, !tbaa !5
  %4650 = call ptr @s2n_strerror_debug(i32 noundef %4649, ptr noundef @.str.4)
  %4651 = call ptr @__errno_location() #12
  %4652 = load i32, ptr %4651, align 4, !tbaa !5
  %4653 = call ptr @strerror(i32 noundef %4652) #11
  %4654 = call ptr @__errno_location() #12
  %4655 = load i32, ptr %4654, align 4, !tbaa !5
  %4656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4643, ptr noundef @.str.5, i32 noundef %4644, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 175, ptr noundef %4647, ptr noundef %4650, ptr noundef %4653, i32 noundef %4655) #11
  br label %4657

4657:                                             ; preds = %4640, %4623
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #11
  br label %4658

4658:                                             ; preds = %4657
  br label %4659

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

4660:                                             ; No predecessors!
  br label %4661

4661:                                             ; preds = %4660
  br label %4662

4662:                                             ; preds = %4661, %4602
  br label %4663

4663:                                             ; preds = %4662
  br label %4664

4664:                                             ; preds = %4663
  br label %4665

4665:                                             ; preds = %4664
  %4666 = load i32, ptr @test_count, align 4, !tbaa !5
  %4667 = add nsw i32 %4666, 1
  store i32 %4667, ptr @test_count, align 4, !tbaa !5
  %4668 = load ptr, ptr %89, align 8, !tbaa !9
  %4669 = load ptr, ptr %12, align 8, !tbaa !9
  %4670 = call i32 @s2n_connection_append_psk(ptr noundef %4668, ptr noundef %4669)
  %4671 = icmp eq i32 %4670, -1
  br i1 %4671, label %4672, label %4725

4672:                                             ; preds = %4665
  br label %4673

4673:                                             ; preds = %4672
  br label %4674

4674:                                             ; preds = %4673
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #11
  %4675 = call ptr @__errno_location() #12
  %4676 = load i32, ptr %4675, align 4, !tbaa !5
  store i32 %4676, ptr %94, align 4, !tbaa !5
  %4677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4678 = call i32 @s2n_print_stacktrace(ptr noundef %4677)
  %4679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4680 = trunc i8 %4679 to i1
  br i1 %4680, label %4681, label %4703

4681:                                             ; preds = %4674
  %4682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4683 = call i32 @fileno(ptr noundef %4682) #11
  %4684 = call i32 @isatty(i32 noundef %4683) #11
  %4685 = icmp ne i32 %4684, 0
  br i1 %4685, label %4686, label %4703

4686:                                             ; preds = %4681
  %4687 = load i32, ptr %94, align 4, !tbaa !5
  %4688 = call ptr @__errno_location() #12
  store i32 %4687, ptr %4688, align 4, !tbaa !5
  %4689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4690 = load i32, ptr @test_count, align 4, !tbaa !5
  %4691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4692 = load i32, ptr %4691, align 4, !tbaa !5
  %4693 = call ptr @s2n_strerror(i32 noundef %4692, ptr noundef @.str.4)
  %4694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4695 = load i32, ptr %4694, align 4, !tbaa !5
  %4696 = call ptr @s2n_strerror_debug(i32 noundef %4695, ptr noundef @.str.4)
  %4697 = call ptr @__errno_location() #12
  %4698 = load i32, ptr %4697, align 4, !tbaa !5
  %4699 = call ptr @strerror(i32 noundef %4698) #11
  %4700 = call ptr @__errno_location() #12
  %4701 = load i32, ptr %4700, align 4, !tbaa !5
  %4702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4689, ptr noundef @.str.2, i32 noundef %4690, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 176, ptr noundef %4693, ptr noundef %4696, ptr noundef %4699, i32 noundef %4701) #11
  br label %4720

4703:                                             ; preds = %4681, %4674
  %4704 = load i32, ptr %94, 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.5, i32 noundef %4707, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 176, ptr noundef %4710, ptr noundef %4713, ptr noundef %4716, i32 noundef %4718) #11
  br label %4720

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

4721:                                             ; preds = %4720
  br label %4722

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

4723:                                             ; No predecessors!
  br label %4724

4724:                                             ; preds = %4723
  br label %4725

4725:                                             ; preds = %4724, %4665
  br label %4726

4726:                                             ; preds = %4725
  br label %4727

4727:                                             ; preds = %4726
  br label %4728

4728:                                             ; preds = %4727
  %4729 = load i32, ptr @test_count, align 4, !tbaa !5
  %4730 = add nsw i32 %4729, 1
  store i32 %4730, ptr @test_count, align 4, !tbaa !5
  %4731 = load ptr, ptr %88, align 8, !tbaa !9
  %4732 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %4731)
  %4733 = icmp eq i32 %4732, -1
  br i1 %4733, label %4734, label %4787

4734:                                             ; preds = %4728
  br label %4735

4735:                                             ; preds = %4734
  br label %4736

4736:                                             ; preds = %4735
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #11
  %4737 = call ptr @__errno_location() #12
  %4738 = load i32, ptr %4737, align 4, !tbaa !5
  store i32 %4738, ptr %95, align 4, !tbaa !5
  %4739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4740 = call i32 @s2n_print_stacktrace(ptr noundef %4739)
  %4741 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4742 = trunc i8 %4741 to i1
  br i1 %4742, label %4743, label %4765

4743:                                             ; preds = %4736
  %4744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4745 = call i32 @fileno(ptr noundef %4744) #11
  %4746 = call i32 @isatty(i32 noundef %4745) #11
  %4747 = icmp ne i32 %4746, 0
  br i1 %4747, label %4748, label %4765

4748:                                             ; preds = %4743
  %4749 = load i32, ptr %95, align 4, !tbaa !5
  %4750 = call ptr @__errno_location() #12
  store i32 %4749, ptr %4750, align 4, !tbaa !5
  %4751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4752 = load i32, ptr @test_count, align 4, !tbaa !5
  %4753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4754 = load i32, ptr %4753, align 4, !tbaa !5
  %4755 = call ptr @s2n_strerror(i32 noundef %4754, ptr noundef @.str.4)
  %4756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4757 = load i32, ptr %4756, align 4, !tbaa !5
  %4758 = call ptr @s2n_strerror_debug(i32 noundef %4757, ptr noundef @.str.4)
  %4759 = call ptr @__errno_location() #12
  %4760 = load i32, ptr %4759, align 4, !tbaa !5
  %4761 = call ptr @strerror(i32 noundef %4760) #11
  %4762 = call ptr @__errno_location() #12
  %4763 = load i32, ptr %4762, align 4, !tbaa !5
  %4764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4751, ptr noundef @.str.2, i32 noundef %4752, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 177, ptr noundef %4755, ptr noundef %4758, ptr noundef %4761, i32 noundef %4763) #11
  br label %4782

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

4782:                                             ; preds = %4765, %4748
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #11
  br label %4783

4783:                                             ; preds = %4782
  br label %4784

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

4785:                                             ; No predecessors!
  br label %4786

4786:                                             ; preds = %4785
  br label %4787

4787:                                             ; preds = %4786, %4728
  br label %4788

4788:                                             ; preds = %4787
  br label %4789

4789:                                             ; preds = %4788
  br label %4790

4790:                                             ; preds = %4789
  %4791 = load i32, ptr @test_count, align 4, !tbaa !5
  %4792 = add nsw i32 %4791, 1
  store i32 %4792, ptr @test_count, align 4, !tbaa !5
  %4793 = load ptr, ptr %89, align 8, !tbaa !9
  %4794 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %4793)
  %4795 = icmp eq i32 %4794, -1
  br i1 %4795, label %4796, label %4849

4796:                                             ; preds = %4790
  br label %4797

4797:                                             ; preds = %4796
  br label %4798

4798:                                             ; preds = %4797
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #11
  %4799 = call ptr @__errno_location() #12
  %4800 = load i32, ptr %4799, align 4, !tbaa !5
  store i32 %4800, ptr %96, align 4, !tbaa !5
  %4801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4802 = call i32 @s2n_print_stacktrace(ptr noundef %4801)
  %4803 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4804 = trunc i8 %4803 to i1
  br i1 %4804, label %4805, label %4827

4805:                                             ; preds = %4798
  %4806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4807 = call i32 @fileno(ptr noundef %4806) #11
  %4808 = call i32 @isatty(i32 noundef %4807) #11
  %4809 = icmp ne i32 %4808, 0
  br i1 %4809, label %4810, label %4827

4810:                                             ; preds = %4805
  %4811 = load i32, ptr %96, align 4, !tbaa !5
  %4812 = call ptr @__errno_location() #12
  store i32 %4811, ptr %4812, align 4, !tbaa !5
  %4813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4814 = load i32, ptr @test_count, align 4, !tbaa !5
  %4815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4816 = load i32, ptr %4815, align 4, !tbaa !5
  %4817 = call ptr @s2n_strerror(i32 noundef %4816, ptr noundef @.str.4)
  %4818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4819 = load i32, ptr %4818, align 4, !tbaa !5
  %4820 = call ptr @s2n_strerror_debug(i32 noundef %4819, ptr noundef @.str.4)
  %4821 = call ptr @__errno_location() #12
  %4822 = load i32, ptr %4821, align 4, !tbaa !5
  %4823 = call ptr @strerror(i32 noundef %4822) #11
  %4824 = call ptr @__errno_location() #12
  %4825 = load i32, ptr %4824, align 4, !tbaa !5
  %4826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4813, ptr noundef @.str.2, i32 noundef %4814, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 178, ptr noundef %4817, ptr noundef %4820, ptr noundef %4823, i32 noundef %4825) #11
  br label %4844

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

4844:                                             ; preds = %4827, %4810
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #11
  br label %4845

4845:                                             ; preds = %4844
  br label %4846

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

4847:                                             ; No predecessors!
  br label %4848

4848:                                             ; preds = %4847
  br label %4849

4849:                                             ; preds = %4848, %4790
  br label %4850

4850:                                             ; preds = %4849
  br label %4851

4851:                                             ; preds = %4850
  br label %4852

4852:                                             ; preds = %4851
  %4853 = load i32, ptr @test_count, align 4, !tbaa !5
  %4854 = add nsw i32 %4853, 1
  store i32 %4854, ptr @test_count, align 4, !tbaa !5
  %4855 = load ptr, ptr %89, align 8, !tbaa !9
  %4856 = load ptr, ptr %88, align 8, !tbaa !9
  %4857 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %4855, ptr noundef %4856, i32 noundef 19)
  %4858 = getelementptr inbounds %struct.s2n_result, ptr %97, i32 0, i32 0
  store i32 %4857, ptr %4858, align 4
  %4859 = getelementptr inbounds %struct.s2n_result, ptr %97, i32 0, i32 0
  %4860 = load i32, ptr %4859, align 4
  %4861 = call zeroext i1 @s2n_result_is_ok(i32 %4860)
  br i1 %4861, label %4915, label %4862

4862:                                             ; preds = %4852
  br label %4863

4863:                                             ; preds = %4862
  br label %4864

4864:                                             ; preds = %4863
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #11
  %4865 = call ptr @__errno_location() #12
  %4866 = load i32, ptr %4865, align 4, !tbaa !5
  store i32 %4866, ptr %98, align 4, !tbaa !5
  %4867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4868 = call i32 @s2n_print_stacktrace(ptr noundef %4867)
  %4869 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4870 = trunc i8 %4869 to i1
  br i1 %4870, label %4871, label %4893

4871:                                             ; preds = %4864
  %4872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4873 = call i32 @fileno(ptr noundef %4872) #11
  %4874 = call i32 @isatty(i32 noundef %4873) #11
  %4875 = icmp ne i32 %4874, 0
  br i1 %4875, label %4876, label %4893

4876:                                             ; preds = %4871
  %4877 = load i32, ptr %98, align 4, !tbaa !5
  %4878 = call ptr @__errno_location() #12
  store i32 %4877, ptr %4878, align 4, !tbaa !5
  %4879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4880 = load i32, ptr @test_count, align 4, !tbaa !5
  %4881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4882 = load i32, ptr %4881, align 4, !tbaa !5
  %4883 = call ptr @s2n_strerror(i32 noundef %4882, ptr noundef @.str.4)
  %4884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4885 = load i32, ptr %4884, align 4, !tbaa !5
  %4886 = call ptr @s2n_strerror_debug(i32 noundef %4885, ptr noundef @.str.4)
  %4887 = call ptr @__errno_location() #12
  %4888 = load i32, ptr %4887, align 4, !tbaa !5
  %4889 = call ptr @strerror(i32 noundef %4888) #11
  %4890 = call ptr @__errno_location() #12
  %4891 = load i32, ptr %4890, align 4, !tbaa !5
  %4892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4879, ptr noundef @.str.2, i32 noundef %4880, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 181, ptr noundef %4883, ptr noundef %4886, ptr noundef %4889, i32 noundef %4891) #11
  br label %4910

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

4910:                                             ; preds = %4893, %4876
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #11
  br label %4911

4911:                                             ; preds = %4910
  br label %4912

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

4913:                                             ; No predecessors!
  br label %4914

4914:                                             ; preds = %4913
  br label %4915

4915:                                             ; preds = %4914, %4852
  br label %4916

4916:                                             ; preds = %4915
  br label %4917

4917:                                             ; preds = %4916
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #11
  store i32 0, ptr %99, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #11
  store i64 0, ptr %100, align 8, !tbaa !15
  br label %4918

4918:                                             ; preds = %5182, %4917
  %4919 = load i64, ptr %100, align 8, !tbaa !15
  %4920 = icmp ult i64 %4919, 10
  br i1 %4920, label %4922, label %4921

4921:                                             ; preds = %4918
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #11
  br label %5185

4922:                                             ; preds = %4918
  br label %4923

4923:                                             ; preds = %4922
  br label %4924

4924:                                             ; preds = %4923
  br label %4925

4925:                                             ; preds = %4924
  %4926 = load i32, ptr @test_count, align 4, !tbaa !5
  %4927 = add nsw i32 %4926, 1
  store i32 %4927, ptr @test_count, align 4, !tbaa !5
  %4928 = load ptr, ptr %88, align 8, !tbaa !9
  %4929 = call i32 @s2n_negotiate(ptr noundef %4928, ptr noundef %99)
  %4930 = icmp eq i32 %4929, -1
  br i1 %4930, label %4984, label %4931

4931:                                             ; preds = %4925
  br label %4932

4932:                                             ; preds = %4931
  br label %4933

4933:                                             ; preds = %4932
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #11
  %4934 = call ptr @__errno_location() #12
  %4935 = load i32, ptr %4934, align 4, !tbaa !5
  store i32 %4935, ptr %101, align 4, !tbaa !5
  %4936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4937 = call i32 @s2n_print_stacktrace(ptr noundef %4936)
  %4938 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4939 = trunc i8 %4938 to i1
  br i1 %4939, label %4940, label %4962

4940:                                             ; preds = %4933
  %4941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4942 = call i32 @fileno(ptr noundef %4941) #11
  %4943 = call i32 @isatty(i32 noundef %4942) #11
  %4944 = icmp ne i32 %4943, 0
  br i1 %4944, label %4945, label %4962

4945:                                             ; preds = %4940
  %4946 = load i32, ptr %101, align 4, !tbaa !5
  %4947 = call ptr @__errno_location() #12
  store i32 %4946, ptr %4947, align 4, !tbaa !5
  %4948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4949 = load i32, ptr @test_count, align 4, !tbaa !5
  %4950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4951 = load i32, ptr %4950, align 4, !tbaa !5
  %4952 = call ptr @s2n_strerror(i32 noundef %4951, ptr noundef @.str.4)
  %4953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4954 = load i32, ptr %4953, align 4, !tbaa !5
  %4955 = call ptr @s2n_strerror_debug(i32 noundef %4954, ptr noundef @.str.4)
  %4956 = call ptr @__errno_location() #12
  %4957 = load i32, ptr %4956, align 4, !tbaa !5
  %4958 = call ptr @strerror(i32 noundef %4957) #11
  %4959 = call ptr @__errno_location() #12
  %4960 = load i32, ptr %4959, align 4, !tbaa !5
  %4961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4948, ptr noundef @.str.2, i32 noundef %4949, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 186, ptr noundef %4952, ptr noundef %4955, ptr noundef %4958, i32 noundef %4960) #11
  br label %4979

4962:                                             ; preds = %4940, %4933
  %4963 = load i32, ptr %101, align 4, !tbaa !5
  %4964 = call ptr @__errno_location() #12
  store i32 %4963, ptr %4964, align 4, !tbaa !5
  %4965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4966 = load i32, ptr @test_count, align 4, !tbaa !5
  %4967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4968 = load i32, ptr %4967, align 4, !tbaa !5
  %4969 = call ptr @s2n_strerror(i32 noundef %4968, ptr noundef @.str.4)
  %4970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4971 = load i32, ptr %4970, align 4, !tbaa !5
  %4972 = call ptr @s2n_strerror_debug(i32 noundef %4971, ptr noundef @.str.4)
  %4973 = call ptr @__errno_location() #12
  %4974 = load i32, ptr %4973, align 4, !tbaa !5
  %4975 = call ptr @strerror(i32 noundef %4974) #11
  %4976 = call ptr @__errno_location() #12
  %4977 = load i32, ptr %4976, align 4, !tbaa !5
  %4978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4965, ptr noundef @.str.5, i32 noundef %4966, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 186, ptr noundef %4969, ptr noundef %4972, ptr noundef %4975, i32 noundef %4977) #11
  br label %4979

4979:                                             ; preds = %4962, %4945
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #11
  br label %4980

4980:                                             ; preds = %4979
  br label %4981

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

4982:                                             ; No predecessors!
  br label %4983

4983:                                             ; preds = %4982
  br label %4984

4984:                                             ; preds = %4983, %4925
  br label %4985

4985:                                             ; preds = %4984
  br label %4986

4986:                                             ; preds = %4985
  br label %4987

4987:                                             ; preds = %4986
  %4988 = load i32, ptr @test_count, align 4, !tbaa !5
  %4989 = add nsw i32 %4988, 1
  store i32 %4989, ptr @test_count, align 4, !tbaa !5
  %4990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4991 = load i32, ptr %4990, align 4, !tbaa !5
  %4992 = icmp eq i32 %4991, 201326594
  br i1 %4992, label %5046, label %4993

4993:                                             ; preds = %4987
  br label %4994

4994:                                             ; preds = %4993
  br label %4995

4995:                                             ; preds = %4994
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #11
  %4996 = call ptr @__errno_location() #12
  %4997 = load i32, ptr %4996, align 4, !tbaa !5
  store i32 %4997, ptr %102, align 4, !tbaa !5
  %4998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4999 = call i32 @s2n_print_stacktrace(ptr noundef %4998)
  %5000 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5001 = trunc i8 %5000 to i1
  br i1 %5001, label %5002, label %5024

5002:                                             ; preds = %4995
  %5003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5004 = call i32 @fileno(ptr noundef %5003) #11
  %5005 = call i32 @isatty(i32 noundef %5004) #11
  %5006 = icmp ne i32 %5005, 0
  br i1 %5006, label %5007, label %5024

5007:                                             ; preds = %5002
  %5008 = load i32, ptr %102, align 4, !tbaa !5
  %5009 = call ptr @__errno_location() #12
  store i32 %5008, ptr %5009, align 4, !tbaa !5
  %5010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5011 = load i32, ptr @test_count, align 4, !tbaa !5
  %5012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5013 = load i32, ptr %5012, align 4, !tbaa !5
  %5014 = call ptr @s2n_strerror(i32 noundef %5013, ptr noundef @.str.4)
  %5015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5016 = load i32, ptr %5015, align 4, !tbaa !5
  %5017 = call ptr @s2n_strerror_debug(i32 noundef %5016, ptr noundef @.str.4)
  %5018 = call ptr @__errno_location() #12
  %5019 = load i32, ptr %5018, align 4, !tbaa !5
  %5020 = call ptr @strerror(i32 noundef %5019) #11
  %5021 = call ptr @__errno_location() #12
  %5022 = load i32, ptr %5021, align 4, !tbaa !5
  %5023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5010, ptr noundef @.str.2, i32 noundef %5011, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 186, ptr noundef %5014, ptr noundef %5017, ptr noundef %5020, i32 noundef %5022) #11
  br label %5041

5024:                                             ; preds = %5002, %4995
  %5025 = load i32, ptr %102, align 4, !tbaa !5
  %5026 = call ptr @__errno_location() #12
  store i32 %5025, ptr %5026, align 4, !tbaa !5
  %5027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5028 = load i32, ptr @test_count, align 4, !tbaa !5
  %5029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5030 = load i32, ptr %5029, align 4, !tbaa !5
  %5031 = call ptr @s2n_strerror(i32 noundef %5030, ptr noundef @.str.4)
  %5032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5033 = load i32, ptr %5032, align 4, !tbaa !5
  %5034 = call ptr @s2n_strerror_debug(i32 noundef %5033, ptr noundef @.str.4)
  %5035 = call ptr @__errno_location() #12
  %5036 = load i32, ptr %5035, align 4, !tbaa !5
  %5037 = call ptr @strerror(i32 noundef %5036) #11
  %5038 = call ptr @__errno_location() #12
  %5039 = load i32, ptr %5038, align 4, !tbaa !5
  %5040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5027, ptr noundef @.str.5, i32 noundef %5028, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 186, ptr noundef %5031, ptr noundef %5034, ptr noundef %5037, i32 noundef %5039) #11
  br label %5041

5041:                                             ; preds = %5024, %5007
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #11
  br label %5042

5042:                                             ; preds = %5041
  br label %5043

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

5044:                                             ; No predecessors!
  br label %5045

5045:                                             ; preds = %5044
  br label %5046

5046:                                             ; preds = %5045, %4987
  br label %5047

5047:                                             ; preds = %5046
  br label %5048

5048:                                             ; preds = %5047
  br label %5049

5049:                                             ; preds = %5048
  %5050 = load i32, ptr @test_count, align 4, !tbaa !5
  %5051 = add nsw i32 %5050, 1
  store i32 %5051, ptr @test_count, align 4, !tbaa !5
  %5052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5053 = load i32, ptr %5052, align 4, !tbaa !5
  %5054 = call ptr @s2n_strerror_debug(i32 noundef %5053, ptr noundef @.str.4)
  %5055 = icmp eq ptr %5054, null
  br i1 %5055, label %5056, label %5109

5056:                                             ; preds = %5049
  br label %5057

5057:                                             ; preds = %5056
  br label %5058

5058:                                             ; preds = %5057
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #11
  %5059 = call ptr @__errno_location() #12
  %5060 = load i32, ptr %5059, align 4, !tbaa !5
  store i32 %5060, ptr %103, align 4, !tbaa !5
  %5061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5062 = call i32 @s2n_print_stacktrace(ptr noundef %5061)
  %5063 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5064 = trunc i8 %5063 to i1
  br i1 %5064, label %5065, label %5087

5065:                                             ; preds = %5058
  %5066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5067 = call i32 @fileno(ptr noundef %5066) #11
  %5068 = call i32 @isatty(i32 noundef %5067) #11
  %5069 = icmp ne i32 %5068, 0
  br i1 %5069, label %5070, label %5087

5070:                                             ; preds = %5065
  %5071 = load i32, ptr %103, align 4, !tbaa !5
  %5072 = call ptr @__errno_location() #12
  store i32 %5071, ptr %5072, align 4, !tbaa !5
  %5073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5074 = load i32, ptr @test_count, align 4, !tbaa !5
  %5075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5076 = load i32, ptr %5075, align 4, !tbaa !5
  %5077 = call ptr @s2n_strerror(i32 noundef %5076, ptr noundef @.str.4)
  %5078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5079 = load i32, ptr %5078, align 4, !tbaa !5
  %5080 = call ptr @s2n_strerror_debug(i32 noundef %5079, ptr noundef @.str.4)
  %5081 = call ptr @__errno_location() #12
  %5082 = load i32, ptr %5081, align 4, !tbaa !5
  %5083 = call ptr @strerror(i32 noundef %5082) #11
  %5084 = call ptr @__errno_location() #12
  %5085 = load i32, ptr %5084, align 4, !tbaa !5
  %5086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5073, ptr noundef @.str.2, i32 noundef %5074, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 186, ptr noundef %5077, ptr noundef %5080, ptr noundef %5083, i32 noundef %5085) #11
  br label %5104

5087:                                             ; preds = %5065, %5058
  %5088 = load i32, ptr %103, align 4, !tbaa !5
  %5089 = call ptr @__errno_location() #12
  store i32 %5088, ptr %5089, align 4, !tbaa !5
  %5090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5091 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5093, ptr noundef @.str.4)
  %5095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5096 = load i32, ptr %5095, align 4, !tbaa !5
  %5097 = call ptr @s2n_strerror_debug(i32 noundef %5096, ptr noundef @.str.4)
  %5098 = call ptr @__errno_location() #12
  %5099 = load i32, ptr %5098, align 4, !tbaa !5
  %5100 = call ptr @strerror(i32 noundef %5099) #11
  %5101 = call ptr @__errno_location() #12
  %5102 = load i32, ptr %5101, align 4, !tbaa !5
  %5103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5090, ptr noundef @.str.5, i32 noundef %5091, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 186, ptr noundef %5094, ptr noundef %5097, ptr noundef %5100, i32 noundef %5102) #11
  br label %5104

5104:                                             ; preds = %5087, %5070
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #11
  br label %5105

5105:                                             ; preds = %5104
  br label %5106

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

5107:                                             ; No predecessors!
  br label %5108

5108:                                             ; preds = %5107
  br label %5109

5109:                                             ; preds = %5108, %5049
  br label %5110

5110:                                             ; preds = %5109
  br label %5111

5111:                                             ; preds = %5110
  br label %5112

5112:                                             ; preds = %5111
  br label %5113

5113:                                             ; preds = %5112
  br label %5114

5114:                                             ; preds = %5113
  %5115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5115, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5116 = call ptr @__errno_location() #12
  store i32 0, ptr %5116, align 4, !tbaa !5
  br label %5117

5117:                                             ; preds = %5114
  br label %5118

5118:                                             ; preds = %5117
  br label %5119

5119:                                             ; preds = %5118
  br label %5120

5120:                                             ; preds = %5119
  br label %5121

5121:                                             ; preds = %5120
  %5122 = load i32, ptr @test_count, align 4, !tbaa !5
  %5123 = add nsw i32 %5122, 1
  store i32 %5123, ptr @test_count, align 4, !tbaa !5
  %5124 = load i32, ptr %99, align 4, !tbaa !5
  %5125 = icmp eq i32 %5124, 4
  br i1 %5125, label %5179, label %5126

5126:                                             ; preds = %5121
  br label %5127

5127:                                             ; preds = %5126
  br label %5128

5128:                                             ; preds = %5127
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #11
  %5129 = call ptr @__errno_location() #12
  %5130 = load i32, ptr %5129, align 4, !tbaa !5
  store i32 %5130, ptr %104, align 4, !tbaa !5
  %5131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5132 = call i32 @s2n_print_stacktrace(ptr noundef %5131)
  %5133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5134 = trunc i8 %5133 to i1
  br i1 %5134, label %5135, label %5157

5135:                                             ; preds = %5128
  %5136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5137 = call i32 @fileno(ptr noundef %5136) #11
  %5138 = call i32 @isatty(i32 noundef %5137) #11
  %5139 = icmp ne i32 %5138, 0
  br i1 %5139, label %5140, label %5157

5140:                                             ; preds = %5135
  %5141 = load i32, ptr %104, align 4, !tbaa !5
  %5142 = call ptr @__errno_location() #12
  store i32 %5141, ptr %5142, align 4, !tbaa !5
  %5143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5144 = load i32, ptr @test_count, align 4, !tbaa !5
  %5145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5146 = load i32, ptr %5145, align 4, !tbaa !5
  %5147 = call ptr @s2n_strerror(i32 noundef %5146, ptr noundef @.str.4)
  %5148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5149 = load i32, ptr %5148, align 4, !tbaa !5
  %5150 = call ptr @s2n_strerror_debug(i32 noundef %5149, ptr noundef @.str.4)
  %5151 = call ptr @__errno_location() #12
  %5152 = load i32, ptr %5151, align 4, !tbaa !5
  %5153 = call ptr @strerror(i32 noundef %5152) #11
  %5154 = call ptr @__errno_location() #12
  %5155 = load i32, ptr %5154, align 4, !tbaa !5
  %5156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5143, ptr noundef @.str.2, i32 noundef %5144, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 187, ptr noundef %5147, ptr noundef %5150, ptr noundef %5153, i32 noundef %5155) #11
  br label %5174

5157:                                             ; preds = %5135, %5128
  %5158 = load i32, ptr %104, align 4, !tbaa !5
  %5159 = call ptr @__errno_location() #12
  store i32 %5158, ptr %5159, align 4, !tbaa !5
  %5160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5161 = load i32, ptr @test_count, align 4, !tbaa !5
  %5162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5163 = load i32, ptr %5162, align 4, !tbaa !5
  %5164 = call ptr @s2n_strerror(i32 noundef %5163, ptr noundef @.str.4)
  %5165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5166 = load i32, ptr %5165, align 4, !tbaa !5
  %5167 = call ptr @s2n_strerror_debug(i32 noundef %5166, ptr noundef @.str.4)
  %5168 = call ptr @__errno_location() #12
  %5169 = load i32, ptr %5168, align 4, !tbaa !5
  %5170 = call ptr @strerror(i32 noundef %5169) #11
  %5171 = call ptr @__errno_location() #12
  %5172 = load i32, ptr %5171, align 4, !tbaa !5
  %5173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5160, ptr noundef @.str.5, i32 noundef %5161, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 187, ptr noundef %5164, ptr noundef %5167, ptr noundef %5170, i32 noundef %5172) #11
  br label %5174

5174:                                             ; preds = %5157, %5140
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #11
  br label %5175

5175:                                             ; preds = %5174
  br label %5176

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

5177:                                             ; No predecessors!
  br label %5178

5178:                                             ; preds = %5177
  br label %5179

5179:                                             ; preds = %5178, %5121
  br label %5180

5180:                                             ; preds = %5179
  br label %5181

5181:                                             ; preds = %5180
  br label %5182

5182:                                             ; preds = %5181
  %5183 = load i64, ptr %100, align 8, !tbaa !15
  %5184 = add i64 %5183, 1
  store i64 %5184, ptr %100, align 8, !tbaa !15
  br label %4918, !llvm.loop !17

5185:                                             ; preds = %4921
  br label %5186

5186:                                             ; preds = %5185
  %5187 = load i32, ptr @test_count, align 4, !tbaa !5
  %5188 = add nsw i32 %5187, 1
  store i32 %5188, ptr @test_count, align 4, !tbaa !5
  %5189 = load ptr, ptr %88, align 8, !tbaa !9
  %5190 = call i32 @s2n_connection_set_end_of_early_data(ptr noundef %5189)
  %5191 = icmp eq i32 %5190, -1
  br i1 %5191, label %5192, label %5245

5192:                                             ; preds = %5186
  br label %5193

5193:                                             ; preds = %5192
  br label %5194

5194:                                             ; preds = %5193
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #11
  %5195 = call ptr @__errno_location() #12
  %5196 = load i32, ptr %5195, align 4, !tbaa !5
  store i32 %5196, ptr %105, align 4, !tbaa !5
  %5197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5198 = call i32 @s2n_print_stacktrace(ptr noundef %5197)
  %5199 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5200 = trunc i8 %5199 to i1
  br i1 %5200, label %5201, label %5223

5201:                                             ; preds = %5194
  %5202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5203 = call i32 @fileno(ptr noundef %5202) #11
  %5204 = call i32 @isatty(i32 noundef %5203) #11
  %5205 = icmp ne i32 %5204, 0
  br i1 %5205, label %5206, label %5223

5206:                                             ; preds = %5201
  %5207 = load i32, ptr %105, align 4, !tbaa !5
  %5208 = call ptr @__errno_location() #12
  store i32 %5207, ptr %5208, align 4, !tbaa !5
  %5209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5210 = load i32, ptr @test_count, align 4, !tbaa !5
  %5211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5212 = load i32, ptr %5211, align 4, !tbaa !5
  %5213 = call ptr @s2n_strerror(i32 noundef %5212, ptr noundef @.str.4)
  %5214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5215 = load i32, ptr %5214, align 4, !tbaa !5
  %5216 = call ptr @s2n_strerror_debug(i32 noundef %5215, ptr noundef @.str.4)
  %5217 = call ptr @__errno_location() #12
  %5218 = load i32, ptr %5217, align 4, !tbaa !5
  %5219 = call ptr @strerror(i32 noundef %5218) #11
  %5220 = call ptr @__errno_location() #12
  %5221 = load i32, ptr %5220, align 4, !tbaa !5
  %5222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5209, ptr noundef @.str.2, i32 noundef %5210, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 190, ptr noundef %5213, ptr noundef %5216, ptr noundef %5219, i32 noundef %5221) #11
  br label %5240

5223:                                             ; preds = %5201, %5194
  %5224 = load i32, ptr %105, align 4, !tbaa !5
  %5225 = call ptr @__errno_location() #12
  store i32 %5224, ptr %5225, align 4, !tbaa !5
  %5226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5227 = load i32, ptr @test_count, align 4, !tbaa !5
  %5228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5229 = load i32, ptr %5228, align 4, !tbaa !5
  %5230 = call ptr @s2n_strerror(i32 noundef %5229, ptr noundef @.str.4)
  %5231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5232 = load i32, ptr %5231, align 4, !tbaa !5
  %5233 = call ptr @s2n_strerror_debug(i32 noundef %5232, ptr noundef @.str.4)
  %5234 = call ptr @__errno_location() #12
  %5235 = load i32, ptr %5234, align 4, !tbaa !5
  %5236 = call ptr @strerror(i32 noundef %5235) #11
  %5237 = call ptr @__errno_location() #12
  %5238 = load i32, ptr %5237, align 4, !tbaa !5
  %5239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5226, ptr noundef @.str.5, i32 noundef %5227, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 190, ptr noundef %5230, ptr noundef %5233, ptr noundef %5236, i32 noundef %5238) #11
  br label %5240

5240:                                             ; preds = %5223, %5206
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #11
  br label %5241

5241:                                             ; preds = %5240
  br label %5242

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

5243:                                             ; No predecessors!
  br label %5244

5244:                                             ; preds = %5243
  br label %5245

5245:                                             ; preds = %5244, %5186
  br label %5246

5246:                                             ; preds = %5245
  br label %5247

5247:                                             ; preds = %5246
  br label %5248

5248:                                             ; preds = %5247
  %5249 = load i32, ptr @test_count, align 4, !tbaa !5
  %5250 = add nsw i32 %5249, 1
  store i32 %5250, ptr @test_count, align 4, !tbaa !5
  %5251 = load ptr, ptr %89, align 8, !tbaa !9
  %5252 = load ptr, ptr %88, align 8, !tbaa !9
  %5253 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5251, ptr noundef %5252)
  %5254 = icmp eq i32 %5253, -1
  br i1 %5254, label %5255, label %5308

5255:                                             ; preds = %5248
  br label %5256

5256:                                             ; preds = %5255
  br label %5257

5257:                                             ; preds = %5256
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #11
  %5258 = call ptr @__errno_location() #12
  %5259 = load i32, ptr %5258, align 4, !tbaa !5
  store i32 %5259, ptr %106, align 4, !tbaa !5
  %5260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5261 = call i32 @s2n_print_stacktrace(ptr noundef %5260)
  %5262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5263 = trunc i8 %5262 to i1
  br i1 %5263, label %5264, label %5286

5264:                                             ; preds = %5257
  %5265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5266 = call i32 @fileno(ptr noundef %5265) #11
  %5267 = call i32 @isatty(i32 noundef %5266) #11
  %5268 = icmp ne i32 %5267, 0
  br i1 %5268, label %5269, label %5286

5269:                                             ; preds = %5264
  %5270 = load i32, ptr %106, align 4, !tbaa !5
  %5271 = call ptr @__errno_location() #12
  store i32 %5270, ptr %5271, align 4, !tbaa !5
  %5272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5273 = load i32, ptr @test_count, align 4, !tbaa !5
  %5274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5275 = load i32, ptr %5274, align 4, !tbaa !5
  %5276 = call ptr @s2n_strerror(i32 noundef %5275, ptr noundef @.str.4)
  %5277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5278 = load i32, ptr %5277, align 4, !tbaa !5
  %5279 = call ptr @s2n_strerror_debug(i32 noundef %5278, ptr noundef @.str.4)
  %5280 = call ptr @__errno_location() #12
  %5281 = load i32, ptr %5280, align 4, !tbaa !5
  %5282 = call ptr @strerror(i32 noundef %5281) #11
  %5283 = call ptr @__errno_location() #12
  %5284 = load i32, ptr %5283, align 4, !tbaa !5
  %5285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5272, ptr noundef @.str.2, i32 noundef %5273, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 191, ptr noundef %5276, ptr noundef %5279, ptr noundef %5282, i32 noundef %5284) #11
  br label %5303

5286:                                             ; preds = %5264, %5257
  %5287 = load i32, ptr %106, align 4, !tbaa !5
  %5288 = call ptr @__errno_location() #12
  store i32 %5287, ptr %5288, align 4, !tbaa !5
  %5289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5290 = load i32, ptr @test_count, align 4, !tbaa !5
  %5291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5292 = load i32, ptr %5291, align 4, !tbaa !5
  %5293 = call ptr @s2n_strerror(i32 noundef %5292, ptr noundef @.str.4)
  %5294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5295 = load i32, ptr %5294, align 4, !tbaa !5
  %5296 = call ptr @s2n_strerror_debug(i32 noundef %5295, ptr noundef @.str.4)
  %5297 = call ptr @__errno_location() #12
  %5298 = load i32, ptr %5297, align 4, !tbaa !5
  %5299 = call ptr @strerror(i32 noundef %5298) #11
  %5300 = call ptr @__errno_location() #12
  %5301 = load i32, ptr %5300, align 4, !tbaa !5
  %5302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5289, ptr noundef @.str.5, i32 noundef %5290, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 191, ptr noundef %5293, ptr noundef %5296, ptr noundef %5299, i32 noundef %5301) #11
  br label %5303

5303:                                             ; preds = %5286, %5269
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #11
  br label %5304

5304:                                             ; preds = %5303
  br label %5305

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

5306:                                             ; No predecessors!
  br label %5307

5307:                                             ; preds = %5306
  br label %5308

5308:                                             ; preds = %5307, %5248
  br label %5309

5309:                                             ; preds = %5308
  br label %5310

5310:                                             ; preds = %5309
  br label %5311

5311:                                             ; preds = %5310
  %5312 = load i32, ptr @test_count, align 4, !tbaa !5
  %5313 = add nsw i32 %5312, 1
  store i32 %5313, ptr @test_count, align 4, !tbaa !5
  %5314 = load ptr, ptr %88, align 8, !tbaa !9
  %5315 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %5314, i32 noundef 64)
  br i1 %5315, label %5369, label %5316

5316:                                             ; preds = %5311
  br label %5317

5317:                                             ; preds = %5316
  br label %5318

5318:                                             ; preds = %5317
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #11
  %5319 = call ptr @__errno_location() #12
  %5320 = load i32, ptr %5319, align 4, !tbaa !5
  store i32 %5320, ptr %107, align 4, !tbaa !5
  %5321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5322 = call i32 @s2n_print_stacktrace(ptr noundef %5321)
  %5323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5324 = trunc i8 %5323 to i1
  br i1 %5324, label %5325, label %5347

5325:                                             ; preds = %5318
  %5326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5327 = call i32 @fileno(ptr noundef %5326) #11
  %5328 = call i32 @isatty(i32 noundef %5327) #11
  %5329 = icmp ne i32 %5328, 0
  br i1 %5329, label %5330, label %5347

5330:                                             ; preds = %5325
  %5331 = load i32, ptr %107, align 4, !tbaa !5
  %5332 = call ptr @__errno_location() #12
  store i32 %5331, ptr %5332, align 4, !tbaa !5
  %5333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5334 = load i32, ptr @test_count, align 4, !tbaa !5
  %5335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5336 = load i32, ptr %5335, align 4, !tbaa !5
  %5337 = call ptr @s2n_strerror(i32 noundef %5336, ptr noundef @.str.4)
  %5338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5339 = load i32, ptr %5338, align 4, !tbaa !5
  %5340 = call ptr @s2n_strerror_debug(i32 noundef %5339, ptr noundef @.str.4)
  %5341 = call ptr @__errno_location() #12
  %5342 = load i32, ptr %5341, align 4, !tbaa !5
  %5343 = call ptr @strerror(i32 noundef %5342) #11
  %5344 = call ptr @__errno_location() #12
  %5345 = load i32, ptr %5344, align 4, !tbaa !5
  %5346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5333, ptr noundef @.str.2, i32 noundef %5334, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 193, ptr noundef %5337, ptr noundef %5340, ptr noundef %5343, i32 noundef %5345) #11
  br label %5364

5347:                                             ; preds = %5325, %5318
  %5348 = load i32, ptr %107, align 4, !tbaa !5
  %5349 = call ptr @__errno_location() #12
  store i32 %5348, ptr %5349, align 4, !tbaa !5
  %5350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5351 = load i32, ptr @test_count, align 4, !tbaa !5
  %5352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5353 = load i32, ptr %5352, align 4, !tbaa !5
  %5354 = call ptr @s2n_strerror(i32 noundef %5353, ptr noundef @.str.4)
  %5355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5356 = load i32, ptr %5355, align 4, !tbaa !5
  %5357 = call ptr @s2n_strerror_debug(i32 noundef %5356, ptr noundef @.str.4)
  %5358 = call ptr @__errno_location() #12
  %5359 = load i32, ptr %5358, align 4, !tbaa !5
  %5360 = call ptr @strerror(i32 noundef %5359) #11
  %5361 = call ptr @__errno_location() #12
  %5362 = load i32, ptr %5361, align 4, !tbaa !5
  %5363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5350, ptr noundef @.str.5, i32 noundef %5351, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 193, ptr noundef %5354, ptr noundef %5357, ptr noundef %5360, i32 noundef %5362) #11
  br label %5364

5364:                                             ; preds = %5347, %5330
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #11
  br label %5365

5365:                                             ; preds = %5364
  br label %5366

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

5367:                                             ; No predecessors!
  br label %5368

5368:                                             ; preds = %5367
  br label %5369

5369:                                             ; preds = %5368, %5311
  br label %5370

5370:                                             ; preds = %5369
  br label %5371

5371:                                             ; preds = %5370
  br label %5372

5372:                                             ; preds = %5371
  %5373 = load i32, ptr @test_count, align 4, !tbaa !5
  %5374 = add nsw i32 %5373, 1
  store i32 %5374, ptr @test_count, align 4, !tbaa !5
  %5375 = load ptr, ptr %89, align 8, !tbaa !9
  %5376 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %5375, i32 noundef 64)
  br i1 %5376, label %5430, label %5377

5377:                                             ; preds = %5372
  br label %5378

5378:                                             ; preds = %5377
  br label %5379

5379:                                             ; preds = %5378
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #11
  %5380 = call ptr @__errno_location() #12
  %5381 = load i32, ptr %5380, align 4, !tbaa !5
  store i32 %5381, ptr %108, align 4, !tbaa !5
  %5382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5383 = call i32 @s2n_print_stacktrace(ptr noundef %5382)
  %5384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5385 = trunc i8 %5384 to i1
  br i1 %5385, label %5386, label %5408

5386:                                             ; preds = %5379
  %5387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5388 = call i32 @fileno(ptr noundef %5387) #11
  %5389 = call i32 @isatty(i32 noundef %5388) #11
  %5390 = icmp ne i32 %5389, 0
  br i1 %5390, label %5391, label %5408

5391:                                             ; preds = %5386
  %5392 = load i32, ptr %108, align 4, !tbaa !5
  %5393 = call ptr @__errno_location() #12
  store i32 %5392, ptr %5393, align 4, !tbaa !5
  %5394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5395 = load i32, ptr @test_count, align 4, !tbaa !5
  %5396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5397 = load i32, ptr %5396, align 4, !tbaa !5
  %5398 = call ptr @s2n_strerror(i32 noundef %5397, ptr noundef @.str.4)
  %5399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5400 = load i32, ptr %5399, align 4, !tbaa !5
  %5401 = call ptr @s2n_strerror_debug(i32 noundef %5400, ptr noundef @.str.4)
  %5402 = call ptr @__errno_location() #12
  %5403 = load i32, ptr %5402, align 4, !tbaa !5
  %5404 = call ptr @strerror(i32 noundef %5403) #11
  %5405 = call ptr @__errno_location() #12
  %5406 = load i32, ptr %5405, align 4, !tbaa !5
  %5407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5394, ptr noundef @.str.2, i32 noundef %5395, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 194, ptr noundef %5398, ptr noundef %5401, ptr noundef %5404, i32 noundef %5406) #11
  br label %5425

5408:                                             ; preds = %5386, %5379
  %5409 = load i32, ptr %108, align 4, !tbaa !5
  %5410 = call ptr @__errno_location() #12
  store i32 %5409, ptr %5410, align 4, !tbaa !5
  %5411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5412 = load i32, ptr @test_count, align 4, !tbaa !5
  %5413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5414 = load i32, ptr %5413, align 4, !tbaa !5
  %5415 = call ptr @s2n_strerror(i32 noundef %5414, ptr noundef @.str.4)
  %5416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5417 = load i32, ptr %5416, align 4, !tbaa !5
  %5418 = call ptr @s2n_strerror_debug(i32 noundef %5417, ptr noundef @.str.4)
  %5419 = call ptr @__errno_location() #12
  %5420 = load i32, ptr %5419, align 4, !tbaa !5
  %5421 = call ptr @strerror(i32 noundef %5420) #11
  %5422 = call ptr @__errno_location() #12
  %5423 = load i32, ptr %5422, align 4, !tbaa !5
  %5424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5411, ptr noundef @.str.5, i32 noundef %5412, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 194, ptr noundef %5415, ptr noundef %5418, ptr noundef %5421, i32 noundef %5423) #11
  br label %5425

5425:                                             ; preds = %5408, %5391
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #11
  br label %5426

5426:                                             ; preds = %5425
  br label %5427

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

5428:                                             ; No predecessors!
  br label %5429

5429:                                             ; preds = %5428
  br label %5430

5430:                                             ; preds = %5429, %5372
  br label %5431

5431:                                             ; preds = %5430
  br label %5432

5432:                                             ; preds = %5431
  br label %5433

5433:                                             ; preds = %5432
  %5434 = load i32, ptr @test_count, align 4, !tbaa !5
  %5435 = add nsw i32 %5434, 1
  store i32 %5435, ptr @test_count, align 4, !tbaa !5
  %5436 = load ptr, ptr %88, align 8, !tbaa !9
  %5437 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %5436, i32 noundef 128)
  br i1 %5437, label %5491, label %5438

5438:                                             ; preds = %5433
  br label %5439

5439:                                             ; preds = %5438
  br label %5440

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

5447:                                             ; preds = %5440
  %5448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5449 = call i32 @fileno(ptr noundef %5448) #11
  %5450 = call i32 @isatty(i32 noundef %5449) #11
  %5451 = icmp ne i32 %5450, 0
  br i1 %5451, label %5452, label %5469

5452:                                             ; preds = %5447
  %5453 = load i32, ptr %109, align 4, !tbaa !5
  %5454 = call ptr @__errno_location() #12
  store i32 %5453, ptr %5454, align 4, !tbaa !5
  %5455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5456 = load i32, ptr @test_count, align 4, !tbaa !5
  %5457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5458 = load i32, ptr %5457, align 4, !tbaa !5
  %5459 = call ptr @s2n_strerror(i32 noundef %5458, ptr noundef @.str.4)
  %5460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5461 = load i32, ptr %5460, align 4, !tbaa !5
  %5462 = call ptr @s2n_strerror_debug(i32 noundef %5461, ptr noundef @.str.4)
  %5463 = call ptr @__errno_location() #12
  %5464 = load i32, ptr %5463, align 4, !tbaa !5
  %5465 = call ptr @strerror(i32 noundef %5464) #11
  %5466 = call ptr @__errno_location() #12
  %5467 = load i32, ptr %5466, align 4, !tbaa !5
  %5468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5455, ptr noundef @.str.2, i32 noundef %5456, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 195, ptr noundef %5459, ptr noundef %5462, ptr noundef %5465, i32 noundef %5467) #11
  br label %5486

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

5486:                                             ; preds = %5469, %5452
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #11
  br label %5487

5487:                                             ; preds = %5486
  br label %5488

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

5489:                                             ; No predecessors!
  br label %5490

5490:                                             ; preds = %5489
  br label %5491

5491:                                             ; preds = %5490, %5433
  br label %5492

5492:                                             ; preds = %5491
  br label %5493

5493:                                             ; preds = %5492
  br label %5494

5494:                                             ; preds = %5493
  %5495 = load i32, ptr @test_count, align 4, !tbaa !5
  %5496 = add nsw i32 %5495, 1
  store i32 %5496, ptr @test_count, align 4, !tbaa !5
  %5497 = load ptr, ptr %89, align 8, !tbaa !9
  %5498 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %5497, i32 noundef 128)
  br i1 %5498, label %5552, label %5499

5499:                                             ; preds = %5494
  br label %5500

5500:                                             ; preds = %5499
  br label %5501

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

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

5513:                                             ; preds = %5508
  %5514 = load i32, ptr %110, align 4, !tbaa !5
  %5515 = call ptr @__errno_location() #12
  store i32 %5514, ptr %5515, align 4, !tbaa !5
  %5516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5517 = load i32, ptr @test_count, align 4, !tbaa !5
  %5518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5519 = load i32, ptr %5518, align 4, !tbaa !5
  %5520 = call ptr @s2n_strerror(i32 noundef %5519, ptr noundef @.str.4)
  %5521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5522 = load i32, ptr %5521, align 4, !tbaa !5
  %5523 = call ptr @s2n_strerror_debug(i32 noundef %5522, ptr noundef @.str.4)
  %5524 = call ptr @__errno_location() #12
  %5525 = load i32, ptr %5524, align 4, !tbaa !5
  %5526 = call ptr @strerror(i32 noundef %5525) #11
  %5527 = call ptr @__errno_location() #12
  %5528 = load i32, ptr %5527, align 4, !tbaa !5
  %5529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5516, ptr noundef @.str.2, i32 noundef %5517, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 196, ptr noundef %5520, ptr noundef %5523, ptr noundef %5526, i32 noundef %5528) #11
  br label %5547

5530:                                             ; preds = %5508, %5501
  %5531 = load i32, ptr %110, align 4, !tbaa !5
  %5532 = call ptr @__errno_location() #12
  store i32 %5531, ptr %5532, align 4, !tbaa !5
  %5533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5534 = load i32, ptr @test_count, align 4, !tbaa !5
  %5535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5536 = load i32, ptr %5535, align 4, !tbaa !5
  %5537 = call ptr @s2n_strerror(i32 noundef %5536, ptr noundef @.str.4)
  %5538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5539 = load i32, ptr %5538, align 4, !tbaa !5
  %5540 = call ptr @s2n_strerror_debug(i32 noundef %5539, ptr noundef @.str.4)
  %5541 = call ptr @__errno_location() #12
  %5542 = load i32, ptr %5541, align 4, !tbaa !5
  %5543 = call ptr @strerror(i32 noundef %5542) #11
  %5544 = call ptr @__errno_location() #12
  %5545 = load i32, ptr %5544, align 4, !tbaa !5
  %5546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5533, ptr noundef @.str.5, i32 noundef %5534, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 196, ptr noundef %5537, ptr noundef %5540, ptr noundef %5543, i32 noundef %5545) #11
  br label %5547

5547:                                             ; preds = %5530, %5513
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #11
  br label %5548

5548:                                             ; preds = %5547
  br label %5549

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

5550:                                             ; No predecessors!
  br label %5551

5551:                                             ; preds = %5550
  br label %5552

5552:                                             ; preds = %5551, %5494
  br label %5553

5553:                                             ; preds = %5552
  br label %5554

5554:                                             ; preds = %5553
  br label %5555

5555:                                             ; preds = %5554
  %5556 = load i32, ptr @test_count, align 4, !tbaa !5
  %5557 = add nsw i32 %5556, 1
  store i32 %5557, ptr @test_count, align 4, !tbaa !5
  %5558 = load ptr, ptr %88, align 8, !tbaa !9
  %5559 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %5558, i32 noundef 2)
  br i1 %5559, label %5560, label %5613

5560:                                             ; preds = %5555
  br label %5561

5561:                                             ; preds = %5560
  br label %5562

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

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

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

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

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

5609:                                             ; preds = %5608
  br label %5610

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

5611:                                             ; No predecessors!
  br label %5612

5612:                                             ; preds = %5611
  br label %5613

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

5614:                                             ; preds = %5613
  br label %5615

5615:                                             ; preds = %5614
  br label %5616

5616:                                             ; preds = %5615
  %5617 = load i32, ptr @test_count, align 4, !tbaa !5
  %5618 = add nsw i32 %5617, 1
  store i32 %5618, ptr @test_count, align 4, !tbaa !5
  %5619 = load ptr, ptr %89, align 8, !tbaa !9
  %5620 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %5619, i32 noundef 2)
  br i1 %5620, label %5621, label %5674

5621:                                             ; preds = %5616
  br label %5622

5622:                                             ; preds = %5621
  br label %5623

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

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

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

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

5669:                                             ; preds = %5652, %5635
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #11
  br label %5670

5670:                                             ; preds = %5669
  br label %5671

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

5672:                                             ; No predecessors!
  br label %5673

5673:                                             ; preds = %5672
  br label %5674

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

5675:                                             ; preds = %5674
  br label %5676

5676:                                             ; preds = %5675
  br label %5677

5677:                                             ; preds = %5676
  %5678 = load i32, ptr @test_count, align 4, !tbaa !5
  %5679 = add nsw i32 %5678, 1
  store i32 %5679, ptr @test_count, align 4, !tbaa !5
  %5680 = load ptr, ptr %88, align 8, !tbaa !9
  %5681 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %5680, i32 noundef 16)
  br i1 %5681, label %5682, label %5735

5682:                                             ; preds = %5677
  br label %5683

5683:                                             ; preds = %5682
  br label %5684

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

5691:                                             ; preds = %5684
  %5692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5693 = call i32 @fileno(ptr noundef %5692) #11
  %5694 = call i32 @isatty(i32 noundef %5693) #11
  %5695 = icmp ne i32 %5694, 0
  br i1 %5695, label %5696, label %5713

5696:                                             ; preds = %5691
  %5697 = load i32, ptr %113, align 4, !tbaa !5
  %5698 = call ptr @__errno_location() #12
  store i32 %5697, ptr %5698, align 4, !tbaa !5
  %5699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5700 = load i32, ptr @test_count, align 4, !tbaa !5
  %5701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5702 = load i32, ptr %5701, align 4, !tbaa !5
  %5703 = call ptr @s2n_strerror(i32 noundef %5702, ptr noundef @.str.4)
  %5704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5705 = load i32, ptr %5704, align 4, !tbaa !5
  %5706 = call ptr @s2n_strerror_debug(i32 noundef %5705, ptr noundef @.str.4)
  %5707 = call ptr @__errno_location() #12
  %5708 = load i32, ptr %5707, align 4, !tbaa !5
  %5709 = call ptr @strerror(i32 noundef %5708) #11
  %5710 = call ptr @__errno_location() #12
  %5711 = load i32, ptr %5710, align 4, !tbaa !5
  %5712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5699, ptr noundef @.str.2, i32 noundef %5700, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 199, ptr noundef %5703, ptr noundef %5706, ptr noundef %5709, i32 noundef %5711) #11
  br label %5730

5713:                                             ; preds = %5691, %5684
  %5714 = load i32, ptr %113, align 4, !tbaa !5
  %5715 = call ptr @__errno_location() #12
  store i32 %5714, ptr %5715, align 4, !tbaa !5
  %5716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5717 = load i32, ptr @test_count, align 4, !tbaa !5
  %5718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5719 = load i32, ptr %5718, align 4, !tbaa !5
  %5720 = call ptr @s2n_strerror(i32 noundef %5719, ptr noundef @.str.4)
  %5721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5722 = load i32, ptr %5721, align 4, !tbaa !5
  %5723 = call ptr @s2n_strerror_debug(i32 noundef %5722, ptr noundef @.str.4)
  %5724 = call ptr @__errno_location() #12
  %5725 = load i32, ptr %5724, align 4, !tbaa !5
  %5726 = call ptr @strerror(i32 noundef %5725) #11
  %5727 = call ptr @__errno_location() #12
  %5728 = load i32, ptr %5727, align 4, !tbaa !5
  %5729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5716, ptr noundef @.str.5, i32 noundef %5717, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 199, ptr noundef %5720, ptr noundef %5723, ptr noundef %5726, i32 noundef %5728) #11
  br label %5730

5730:                                             ; preds = %5713, %5696
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #11
  br label %5731

5731:                                             ; preds = %5730
  br label %5732

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

5733:                                             ; No predecessors!
  br label %5734

5734:                                             ; preds = %5733
  br label %5735

5735:                                             ; preds = %5734, %5677
  br label %5736

5736:                                             ; preds = %5735
  br label %5737

5737:                                             ; preds = %5736
  br label %5738

5738:                                             ; preds = %5737
  %5739 = load i32, ptr @test_count, align 4, !tbaa !5
  %5740 = add nsw i32 %5739, 1
  store i32 %5740, ptr @test_count, align 4, !tbaa !5
  %5741 = load ptr, ptr %89, align 8, !tbaa !9
  %5742 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %5741, i32 noundef 16)
  br i1 %5742, label %5743, label %5796

5743:                                             ; preds = %5738
  br label %5744

5744:                                             ; preds = %5743
  br label %5745

5745:                                             ; preds = %5744
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #11
  %5746 = call ptr @__errno_location() #12
  %5747 = load i32, ptr %5746, align 4, !tbaa !5
  store i32 %5747, ptr %114, align 4, !tbaa !5
  %5748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5749 = call i32 @s2n_print_stacktrace(ptr noundef %5748)
  %5750 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5751 = trunc i8 %5750 to i1
  br i1 %5751, label %5752, label %5774

5752:                                             ; preds = %5745
  %5753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5754 = call i32 @fileno(ptr noundef %5753) #11
  %5755 = call i32 @isatty(i32 noundef %5754) #11
  %5756 = icmp ne i32 %5755, 0
  br i1 %5756, label %5757, label %5774

5757:                                             ; preds = %5752
  %5758 = load i32, ptr %114, align 4, !tbaa !5
  %5759 = call ptr @__errno_location() #12
  store i32 %5758, ptr %5759, align 4, !tbaa !5
  %5760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5761 = load i32, ptr @test_count, align 4, !tbaa !5
  %5762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5763 = load i32, ptr %5762, align 4, !tbaa !5
  %5764 = call ptr @s2n_strerror(i32 noundef %5763, ptr noundef @.str.4)
  %5765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5766 = load i32, ptr %5765, align 4, !tbaa !5
  %5767 = call ptr @s2n_strerror_debug(i32 noundef %5766, ptr noundef @.str.4)
  %5768 = call ptr @__errno_location() #12
  %5769 = load i32, ptr %5768, align 4, !tbaa !5
  %5770 = call ptr @strerror(i32 noundef %5769) #11
  %5771 = call ptr @__errno_location() #12
  %5772 = load i32, ptr %5771, align 4, !tbaa !5
  %5773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5760, ptr noundef @.str.2, i32 noundef %5761, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 200, ptr noundef %5764, ptr noundef %5767, ptr noundef %5770, i32 noundef %5772) #11
  br label %5791

5774:                                             ; preds = %5752, %5745
  %5775 = load i32, ptr %114, align 4, !tbaa !5
  %5776 = call ptr @__errno_location() #12
  store i32 %5775, ptr %5776, align 4, !tbaa !5
  %5777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5778 = load i32, ptr @test_count, align 4, !tbaa !5
  %5779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5780 = load i32, ptr %5779, align 4, !tbaa !5
  %5781 = call ptr @s2n_strerror(i32 noundef %5780, ptr noundef @.str.4)
  %5782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5783 = load i32, ptr %5782, align 4, !tbaa !5
  %5784 = call ptr @s2n_strerror_debug(i32 noundef %5783, ptr noundef @.str.4)
  %5785 = call ptr @__errno_location() #12
  %5786 = load i32, ptr %5785, align 4, !tbaa !5
  %5787 = call ptr @strerror(i32 noundef %5786) #11
  %5788 = call ptr @__errno_location() #12
  %5789 = load i32, ptr %5788, align 4, !tbaa !5
  %5790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5777, ptr noundef @.str.5, i32 noundef %5778, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 200, ptr noundef %5781, ptr noundef %5784, ptr noundef %5787, i32 noundef %5789) #11
  br label %5791

5791:                                             ; preds = %5774, %5757
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #11
  br label %5792

5792:                                             ; preds = %5791
  br label %5793

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

5794:                                             ; No predecessors!
  br label %5795

5795:                                             ; preds = %5794
  br label %5796

5796:                                             ; preds = %5795, %5738
  br label %5797

5797:                                             ; preds = %5796
  br label %5798

5798:                                             ; preds = %5797
  br label %5799

5799:                                             ; preds = %5798
  %5800 = load i32, ptr @test_count, align 4, !tbaa !5
  %5801 = add nsw i32 %5800, 1
  store i32 %5801, ptr @test_count, align 4, !tbaa !5
  %5802 = load ptr, ptr %88, align 8, !tbaa !9
  %5803 = call i32 @s2n_conn_get_current_message_type(ptr noundef %5802)
  %5804 = icmp eq i32 %5803, 20
  br i1 %5804, label %5858, label %5805

5805:                                             ; preds = %5799
  br label %5806

5806:                                             ; preds = %5805
  br label %5807

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

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

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

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

5853:                                             ; preds = %5836, %5819
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #11
  br label %5854

5854:                                             ; preds = %5853
  br label %5855

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

5856:                                             ; No predecessors!
  br label %5857

5857:                                             ; preds = %5856
  br label %5858

5858:                                             ; preds = %5857, %5799
  br label %5859

5859:                                             ; preds = %5858
  br label %5860

5860:                                             ; preds = %5859
  br label %5861

5861:                                             ; preds = %5860
  %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 %89, align 8, !tbaa !9
  %5865 = call i32 @s2n_conn_get_current_message_type(ptr noundef %5864)
  %5866 = icmp eq i32 %5865, 20
  br i1 %5866, label %5920, label %5867

5867:                                             ; preds = %5861
  br label %5868

5868:                                             ; preds = %5867
  br label %5869

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

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

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

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

5915:                                             ; preds = %5898, %5881
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #11
  br label %5916

5916:                                             ; preds = %5915
  br label %5917

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

5918:                                             ; No predecessors!
  br label %5919

5919:                                             ; preds = %5918
  br label %5920

5920:                                             ; preds = %5919, %5861
  br label %5921

5921:                                             ; preds = %5920
  br label %5922

5922:                                             ; preds = %5921
  br label %5923

5923:                                             ; preds = %5922
  %5924 = load i32, ptr @test_count, align 4, !tbaa !5
  %5925 = add nsw i32 %5924, 1
  store i32 %5925, ptr @test_count, align 4, !tbaa !5
  %5926 = load ptr, ptr %89, align 8, !tbaa !9
  %5927 = load ptr, ptr %88, align 8, !tbaa !9
  %5928 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %5926, ptr noundef %5927)
  %5929 = icmp eq i32 %5928, -1
  br i1 %5929, label %5930, label %5983

5930:                                             ; preds = %5923
  br label %5931

5931:                                             ; preds = %5930
  br label %5932

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

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

5944:                                             ; preds = %5939
  %5945 = load i32, ptr %117, align 4, !tbaa !5
  %5946 = call ptr @__errno_location() #12
  store i32 %5945, ptr %5946, align 4, !tbaa !5
  %5947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5948 = load i32, ptr @test_count, align 4, !tbaa !5
  %5949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5950 = load i32, ptr %5949, align 4, !tbaa !5
  %5951 = call ptr @s2n_strerror(i32 noundef %5950, ptr noundef @.str.4)
  %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_debug(i32 noundef %5953, ptr noundef @.str.4)
  %5955 = call ptr @__errno_location() #12
  %5956 = load i32, ptr %5955, align 4, !tbaa !5
  %5957 = call ptr @strerror(i32 noundef %5956) #11
  %5958 = call ptr @__errno_location() #12
  %5959 = load i32, ptr %5958, align 4, !tbaa !5
  %5960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5947, ptr noundef @.str.2, i32 noundef %5948, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 205, ptr noundef %5951, ptr noundef %5954, ptr noundef %5957, i32 noundef %5959) #11
  br label %5978

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

5978:                                             ; preds = %5961, %5944
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #11
  br label %5979

5979:                                             ; preds = %5978
  br label %5980

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

5981:                                             ; No predecessors!
  br label %5982

5982:                                             ; preds = %5981
  br label %5983

5983:                                             ; preds = %5982, %5923
  br label %5984

5984:                                             ; preds = %5983
  br label %5985

5985:                                             ; preds = %5984
  br label %5986

5986:                                             ; preds = %5985
  %5987 = load i32, ptr @test_count, align 4, !tbaa !5
  %5988 = add nsw i32 %5987, 1
  store i32 %5988, ptr @test_count, align 4, !tbaa !5
  %5989 = load ptr, ptr %88, align 8, !tbaa !9
  %5990 = call i32 @s2n_connection_free(ptr noundef %5989)
  %5991 = icmp eq i32 %5990, -1
  br i1 %5991, label %5992, label %6045

5992:                                             ; preds = %5986
  br label %5993

5993:                                             ; preds = %5992
  br label %5994

5994:                                             ; preds = %5993
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #11
  %5995 = call ptr @__errno_location() #12
  %5996 = load i32, ptr %5995, align 4, !tbaa !5
  store i32 %5996, ptr %118, align 4, !tbaa !5
  %5997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5998 = call i32 @s2n_print_stacktrace(ptr noundef %5997)
  %5999 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6000 = trunc i8 %5999 to i1
  br i1 %6000, label %6001, label %6023

6001:                                             ; preds = %5994
  %6002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6003 = call i32 @fileno(ptr noundef %6002) #11
  %6004 = call i32 @isatty(i32 noundef %6003) #11
  %6005 = icmp ne i32 %6004, 0
  br i1 %6005, label %6006, label %6023

6006:                                             ; preds = %6001
  %6007 = load i32, ptr %118, align 4, !tbaa !5
  %6008 = call ptr @__errno_location() #12
  store i32 %6007, ptr %6008, align 4, !tbaa !5
  %6009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6010 = load i32, ptr @test_count, align 4, !tbaa !5
  %6011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6012 = load i32, ptr %6011, align 4, !tbaa !5
  %6013 = call ptr @s2n_strerror(i32 noundef %6012, ptr noundef @.str.4)
  %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_debug(i32 noundef %6015, ptr noundef @.str.4)
  %6017 = call ptr @__errno_location() #12
  %6018 = load i32, ptr %6017, align 4, !tbaa !5
  %6019 = call ptr @strerror(i32 noundef %6018) #11
  %6020 = call ptr @__errno_location() #12
  %6021 = load i32, ptr %6020, align 4, !tbaa !5
  %6022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6009, ptr noundef @.str.2, i32 noundef %6010, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 206, ptr noundef %6013, ptr noundef %6016, ptr noundef %6019, i32 noundef %6021) #11
  br label %6040

6023:                                             ; preds = %6001, %5994
  %6024 = load i32, ptr %118, align 4, !tbaa !5
  %6025 = call ptr @__errno_location() #12
  store i32 %6024, ptr %6025, align 4, !tbaa !5
  %6026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6027 = load i32, ptr @test_count, align 4, !tbaa !5
  %6028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6029 = load i32, ptr %6028, align 4, !tbaa !5
  %6030 = call ptr @s2n_strerror(i32 noundef %6029, ptr noundef @.str.4)
  %6031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6032 = load i32, ptr %6031, align 4, !tbaa !5
  %6033 = call ptr @s2n_strerror_debug(i32 noundef %6032, ptr noundef @.str.4)
  %6034 = call ptr @__errno_location() #12
  %6035 = load i32, ptr %6034, align 4, !tbaa !5
  %6036 = call ptr @strerror(i32 noundef %6035) #11
  %6037 = call ptr @__errno_location() #12
  %6038 = load i32, ptr %6037, align 4, !tbaa !5
  %6039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6026, ptr noundef @.str.5, i32 noundef %6027, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 206, ptr noundef %6030, ptr noundef %6033, ptr noundef %6036, i32 noundef %6038) #11
  br label %6040

6040:                                             ; preds = %6023, %6006
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #11
  br label %6041

6041:                                             ; preds = %6040
  br label %6042

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

6043:                                             ; No predecessors!
  br label %6044

6044:                                             ; preds = %6043
  br label %6045

6045:                                             ; preds = %6044, %5986
  br label %6046

6046:                                             ; preds = %6045
  br label %6047

6047:                                             ; preds = %6046
  br label %6048

6048:                                             ; preds = %6047
  %6049 = load i32, ptr @test_count, align 4, !tbaa !5
  %6050 = add nsw i32 %6049, 1
  store i32 %6050, ptr @test_count, align 4, !tbaa !5
  %6051 = load ptr, ptr %89, align 8, !tbaa !9
  %6052 = call i32 @s2n_connection_free(ptr noundef %6051)
  %6053 = icmp eq i32 %6052, -1
  br i1 %6053, label %6054, label %6107

6054:                                             ; preds = %6048
  br label %6055

6055:                                             ; preds = %6054
  br label %6056

6056:                                             ; preds = %6055
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #11
  %6057 = call ptr @__errno_location() #12
  %6058 = load i32, ptr %6057, align 4, !tbaa !5
  store i32 %6058, ptr %119, align 4, !tbaa !5
  %6059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6060 = call i32 @s2n_print_stacktrace(ptr noundef %6059)
  %6061 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6062 = trunc i8 %6061 to i1
  br i1 %6062, label %6063, label %6085

6063:                                             ; preds = %6056
  %6064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6065 = call i32 @fileno(ptr noundef %6064) #11
  %6066 = call i32 @isatty(i32 noundef %6065) #11
  %6067 = icmp ne i32 %6066, 0
  br i1 %6067, label %6068, label %6085

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

6085:                                             ; preds = %6063, %6056
  %6086 = load i32, ptr %119, align 4, !tbaa !5
  %6087 = call ptr @__errno_location() #12
  store i32 %6086, ptr %6087, align 4, !tbaa !5
  %6088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6089 = load i32, ptr @test_count, align 4, !tbaa !5
  %6090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6091 = load i32, ptr %6090, align 4, !tbaa !5
  %6092 = call ptr @s2n_strerror(i32 noundef %6091, ptr noundef @.str.4)
  %6093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6094 = load i32, ptr %6093, align 4, !tbaa !5
  %6095 = call ptr @s2n_strerror_debug(i32 noundef %6094, ptr noundef @.str.4)
  %6096 = call ptr @__errno_location() #12
  %6097 = load i32, ptr %6096, align 4, !tbaa !5
  %6098 = call ptr @strerror(i32 noundef %6097) #11
  %6099 = call ptr @__errno_location() #12
  %6100 = load i32, ptr %6099, align 4, !tbaa !5
  %6101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6088, ptr noundef @.str.5, i32 noundef %6089, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 207, ptr noundef %6092, ptr noundef %6095, ptr noundef %6098, i32 noundef %6100) #11
  br label %6102

6102:                                             ; preds = %6085, %6068
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #11
  br label %6103

6103:                                             ; preds = %6102
  br label %6104

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

6105:                                             ; No predecessors!
  br label %6106

6106:                                             ; preds = %6105
  br label %6107

6107:                                             ; preds = %6106, %6048
  br label %6108

6108:                                             ; preds = %6107
  br label %6109

6109:                                             ; preds = %6108
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #11
  %6110 = call i32 @s2n_io_pair_close(ptr noundef %90)
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #11
  store i32 0, ptr %120, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %121) #11
  %6111 = call ptr @s2n_config_new()
  store ptr %6111, ptr %121, align 8, !tbaa !9
  br label %6112

6112:                                             ; preds = %6109
  %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 %121, align 8, !tbaa !9
  %6116 = call i32 @s2n_config_set_early_data_cb(ptr noundef %6115, ptr noundef @s2n_test_async_early_data_cb)
  %6117 = icmp eq i32 %6116, -1
  br i1 %6117, label %6118, label %6171

6118:                                             ; preds = %6112
  br label %6119

6119:                                             ; preds = %6118
  br label %6120

6120:                                             ; preds = %6119
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #11
  %6121 = call ptr @__errno_location() #12
  %6122 = load i32, ptr %6121, align 4, !tbaa !5
  store i32 %6122, ptr %122, align 4, !tbaa !5
  %6123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6124 = call i32 @s2n_print_stacktrace(ptr noundef %6123)
  %6125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6126 = trunc i8 %6125 to i1
  br i1 %6126, label %6127, label %6149

6127:                                             ; preds = %6120
  %6128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6129 = call i32 @fileno(ptr noundef %6128) #11
  %6130 = call i32 @isatty(i32 noundef %6129) #11
  %6131 = icmp ne i32 %6130, 0
  br i1 %6131, label %6132, label %6149

6132:                                             ; preds = %6127
  %6133 = load i32, ptr %122, align 4, !tbaa !5
  %6134 = call ptr @__errno_location() #12
  store i32 %6133, ptr %6134, align 4, !tbaa !5
  %6135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6136 = load i32, ptr @test_count, align 4, !tbaa !5
  %6137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6138 = load i32, ptr %6137, align 4, !tbaa !5
  %6139 = call ptr @s2n_strerror(i32 noundef %6138, ptr noundef @.str.4)
  %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_debug(i32 noundef %6141, ptr noundef @.str.4)
  %6143 = call ptr @__errno_location() #12
  %6144 = load i32, ptr %6143, align 4, !tbaa !5
  %6145 = call ptr @strerror(i32 noundef %6144) #11
  %6146 = call ptr @__errno_location() #12
  %6147 = load i32, ptr %6146, align 4, !tbaa !5
  %6148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6135, ptr noundef @.str.2, i32 noundef %6136, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 215, ptr noundef %6139, ptr noundef %6142, ptr noundef %6145, i32 noundef %6147) #11
  br label %6166

6149:                                             ; preds = %6127, %6120
  %6150 = load i32, ptr %122, align 4, !tbaa !5
  %6151 = call ptr @__errno_location() #12
  store i32 %6150, ptr %6151, align 4, !tbaa !5
  %6152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6153 = load i32, ptr @test_count, align 4, !tbaa !5
  %6154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6155 = load i32, ptr %6154, align 4, !tbaa !5
  %6156 = call ptr @s2n_strerror(i32 noundef %6155, ptr noundef @.str.4)
  %6157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6158 = load i32, ptr %6157, align 4, !tbaa !5
  %6159 = call ptr @s2n_strerror_debug(i32 noundef %6158, ptr noundef @.str.4)
  %6160 = call ptr @__errno_location() #12
  %6161 = load i32, ptr %6160, align 4, !tbaa !5
  %6162 = call ptr @strerror(i32 noundef %6161) #11
  %6163 = call ptr @__errno_location() #12
  %6164 = load i32, ptr %6163, align 4, !tbaa !5
  %6165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6152, ptr noundef @.str.5, i32 noundef %6153, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 215, ptr noundef %6156, ptr noundef %6159, ptr noundef %6162, i32 noundef %6164) #11
  br label %6166

6166:                                             ; preds = %6149, %6132
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #11
  br label %6167

6167:                                             ; preds = %6166
  br label %6168

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

6169:                                             ; No predecessors!
  br label %6170

6170:                                             ; preds = %6169
  br label %6171

6171:                                             ; preds = %6170, %6112
  br label %6172

6172:                                             ; preds = %6171
  br label %6173

6173:                                             ; preds = %6172
  br label %6174

6174:                                             ; preds = %6173
  %6175 = load i32, ptr @test_count, align 4, !tbaa !5
  %6176 = add nsw i32 %6175, 1
  store i32 %6176, ptr @test_count, align 4, !tbaa !5
  %6177 = load ptr, ptr %121, align 8, !tbaa !9
  %6178 = icmp eq ptr %6177, null
  br i1 %6178, label %6179, label %6232

6179:                                             ; preds = %6174
  br label %6180

6180:                                             ; preds = %6179
  br label %6181

6181:                                             ; preds = %6180
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #11
  %6182 = call ptr @__errno_location() #12
  %6183 = load i32, ptr %6182, align 4, !tbaa !5
  store i32 %6183, ptr %123, align 4, !tbaa !5
  %6184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6185 = call i32 @s2n_print_stacktrace(ptr noundef %6184)
  %6186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6187 = trunc i8 %6186 to i1
  br i1 %6187, label %6188, label %6210

6188:                                             ; preds = %6181
  %6189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6190 = call i32 @fileno(ptr noundef %6189) #11
  %6191 = call i32 @isatty(i32 noundef %6190) #11
  %6192 = icmp ne i32 %6191, 0
  br i1 %6192, label %6193, label %6210

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

6210:                                             ; preds = %6188, %6181
  %6211 = load i32, ptr %123, align 4, !tbaa !5
  %6212 = call ptr @__errno_location() #12
  store i32 %6211, ptr %6212, align 4, !tbaa !5
  %6213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6214 = load i32, ptr @test_count, align 4, !tbaa !5
  %6215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6216 = load i32, ptr %6215, align 4, !tbaa !5
  %6217 = call ptr @s2n_strerror(i32 noundef %6216, ptr noundef @.str.4)
  %6218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6219 = load i32, ptr %6218, align 4, !tbaa !5
  %6220 = call ptr @s2n_strerror_debug(i32 noundef %6219, ptr noundef @.str.4)
  %6221 = call ptr @__errno_location() #12
  %6222 = load i32, ptr %6221, align 4, !tbaa !5
  %6223 = call ptr @strerror(i32 noundef %6222) #11
  %6224 = call ptr @__errno_location() #12
  %6225 = load i32, ptr %6224, align 4, !tbaa !5
  %6226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6213, ptr noundef @.str.5, i32 noundef %6214, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 216, ptr noundef %6217, ptr noundef %6220, ptr noundef %6223, i32 noundef %6225) #11
  br label %6227

6227:                                             ; preds = %6210, %6193
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #11
  br label %6228

6228:                                             ; preds = %6227
  br label %6229

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

6230:                                             ; No predecessors!
  br label %6231

6231:                                             ; preds = %6230
  br label %6232

6232:                                             ; preds = %6231, %6174
  br label %6233

6233:                                             ; preds = %6232
  br label %6234

6234:                                             ; preds = %6233
  call void @llvm.lifetime.start.p0(i64 8, ptr %124) #11
  store ptr null, ptr %124, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %125) #11
  store ptr null, ptr %125, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %126) #11
  call void @llvm.memset.p0.i64(ptr align 4 %126, i8 0, i64 8, i1 false)
  br label %6235

6235:                                             ; preds = %6234
  %6236 = load i32, ptr @test_count, align 4, !tbaa !5
  %6237 = add nsw i32 %6236, 1
  store i32 %6237, ptr @test_count, align 4, !tbaa !5
  %6238 = call i32 @s2n_test_client_and_server_new(ptr noundef %124, ptr noundef %125, ptr noundef %126)
  %6239 = getelementptr inbounds %struct.s2n_result, ptr %127, i32 0, i32 0
  store i32 %6238, ptr %6239, align 4
  %6240 = getelementptr inbounds %struct.s2n_result, ptr %127, i32 0, i32 0
  %6241 = load i32, ptr %6240, align 4
  %6242 = call zeroext i1 @s2n_result_is_ok(i32 %6241)
  br i1 %6242, label %6296, label %6243

6243:                                             ; preds = %6235
  br label %6244

6244:                                             ; preds = %6243
  br label %6245

6245:                                             ; preds = %6244
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #11
  %6246 = call ptr @__errno_location() #12
  %6247 = load i32, ptr %6246, align 4, !tbaa !5
  store i32 %6247, ptr %128, align 4, !tbaa !5
  %6248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6249 = call i32 @s2n_print_stacktrace(ptr noundef %6248)
  %6250 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6251 = trunc i8 %6250 to i1
  br i1 %6251, label %6252, label %6274

6252:                                             ; preds = %6245
  %6253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6254 = call i32 @fileno(ptr noundef %6253) #11
  %6255 = call i32 @isatty(i32 noundef %6254) #11
  %6256 = icmp ne i32 %6255, 0
  br i1 %6256, label %6257, label %6274

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

6274:                                             ; preds = %6252, %6245
  %6275 = load i32, ptr %128, align 4, !tbaa !5
  %6276 = call ptr @__errno_location() #12
  store i32 %6275, ptr %6276, align 4, !tbaa !5
  %6277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6278 = load i32, ptr @test_count, align 4, !tbaa !5
  %6279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6280 = load i32, ptr %6279, align 4, !tbaa !5
  %6281 = call ptr @s2n_strerror(i32 noundef %6280, ptr noundef @.str.4)
  %6282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6283 = load i32, ptr %6282, align 4, !tbaa !5
  %6284 = call ptr @s2n_strerror_debug(i32 noundef %6283, ptr noundef @.str.4)
  %6285 = call ptr @__errno_location() #12
  %6286 = load i32, ptr %6285, align 4, !tbaa !5
  %6287 = call ptr @strerror(i32 noundef %6286) #11
  %6288 = call ptr @__errno_location() #12
  %6289 = load i32, ptr %6288, align 4, !tbaa !5
  %6290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6277, ptr noundef @.str.5, i32 noundef %6278, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 220, ptr noundef %6281, ptr noundef %6284, ptr noundef %6287, i32 noundef %6289) #11
  br label %6291

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

6292:                                             ; preds = %6291
  br label %6293

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

6294:                                             ; No predecessors!
  br label %6295

6295:                                             ; preds = %6294
  br label %6296

6296:                                             ; preds = %6295, %6235
  br label %6297

6297:                                             ; preds = %6296
  br label %6298

6298:                                             ; preds = %6297
  br label %6299

6299:                                             ; preds = %6298
  %6300 = load i32, ptr @test_count, align 4, !tbaa !5
  %6301 = add nsw i32 %6300, 1
  store i32 %6301, ptr @test_count, align 4, !tbaa !5
  %6302 = load ptr, ptr %125, align 8, !tbaa !9
  %6303 = load ptr, ptr %121, align 8, !tbaa !9
  %6304 = call i32 @s2n_connection_set_config(ptr noundef %6302, ptr noundef %6303)
  %6305 = icmp eq i32 %6304, -1
  br i1 %6305, label %6306, label %6359

6306:                                             ; preds = %6299
  br label %6307

6307:                                             ; preds = %6306
  br label %6308

6308:                                             ; preds = %6307
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #11
  %6309 = call ptr @__errno_location() #12
  %6310 = load i32, ptr %6309, align 4, !tbaa !5
  store i32 %6310, ptr %129, align 4, !tbaa !5
  %6311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6312 = call i32 @s2n_print_stacktrace(ptr noundef %6311)
  %6313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6314 = trunc i8 %6313 to i1
  br i1 %6314, label %6315, label %6337

6315:                                             ; preds = %6308
  %6316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6317 = call i32 @fileno(ptr noundef %6316) #11
  %6318 = call i32 @isatty(i32 noundef %6317) #11
  %6319 = icmp ne i32 %6318, 0
  br i1 %6319, label %6320, label %6337

6320:                                             ; preds = %6315
  %6321 = load i32, ptr %129, align 4, !tbaa !5
  %6322 = call ptr @__errno_location() #12
  store i32 %6321, ptr %6322, align 4, !tbaa !5
  %6323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6324 = load i32, ptr @test_count, align 4, !tbaa !5
  %6325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6326 = load i32, ptr %6325, align 4, !tbaa !5
  %6327 = call ptr @s2n_strerror(i32 noundef %6326, ptr noundef @.str.4)
  %6328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6329 = load i32, ptr %6328, align 4, !tbaa !5
  %6330 = call ptr @s2n_strerror_debug(i32 noundef %6329, ptr noundef @.str.4)
  %6331 = call ptr @__errno_location() #12
  %6332 = load i32, ptr %6331, align 4, !tbaa !5
  %6333 = call ptr @strerror(i32 noundef %6332) #11
  %6334 = call ptr @__errno_location() #12
  %6335 = load i32, ptr %6334, align 4, !tbaa !5
  %6336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6323, ptr noundef @.str.2, i32 noundef %6324, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 221, ptr noundef %6327, ptr noundef %6330, ptr noundef %6333, i32 noundef %6335) #11
  br label %6354

6337:                                             ; preds = %6315, %6308
  %6338 = load i32, ptr %129, align 4, !tbaa !5
  %6339 = call ptr @__errno_location() #12
  store i32 %6338, ptr %6339, align 4, !tbaa !5
  %6340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6341 = load i32, ptr @test_count, align 4, !tbaa !5
  %6342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6343 = load i32, ptr %6342, align 4, !tbaa !5
  %6344 = call ptr @s2n_strerror(i32 noundef %6343, ptr noundef @.str.4)
  %6345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6346 = load i32, ptr %6345, align 4, !tbaa !5
  %6347 = call ptr @s2n_strerror_debug(i32 noundef %6346, ptr noundef @.str.4)
  %6348 = call ptr @__errno_location() #12
  %6349 = load i32, ptr %6348, align 4, !tbaa !5
  %6350 = call ptr @strerror(i32 noundef %6349) #11
  %6351 = call ptr @__errno_location() #12
  %6352 = load i32, ptr %6351, align 4, !tbaa !5
  %6353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6340, ptr noundef @.str.5, i32 noundef %6341, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 221, ptr noundef %6344, ptr noundef %6347, ptr noundef %6350, i32 noundef %6352) #11
  br label %6354

6354:                                             ; preds = %6337, %6320
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #11
  br label %6355

6355:                                             ; preds = %6354
  br label %6356

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

6357:                                             ; No predecessors!
  br label %6358

6358:                                             ; preds = %6357
  br label %6359

6359:                                             ; preds = %6358, %6299
  br label %6360

6360:                                             ; preds = %6359
  br label %6361

6361:                                             ; preds = %6360
  br label %6362

6362:                                             ; preds = %6361
  %6363 = load i32, ptr @test_count, align 4, !tbaa !5
  %6364 = add nsw i32 %6363, 1
  store i32 %6364, ptr @test_count, align 4, !tbaa !5
  %6365 = load ptr, ptr %124, align 8, !tbaa !9
  %6366 = load ptr, ptr %12, align 8, !tbaa !9
  %6367 = call i32 @s2n_connection_append_psk(ptr noundef %6365, ptr noundef %6366)
  %6368 = icmp eq i32 %6367, -1
  br i1 %6368, label %6369, label %6422

6369:                                             ; preds = %6362
  br label %6370

6370:                                             ; preds = %6369
  br label %6371

6371:                                             ; preds = %6370
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #11
  %6372 = call ptr @__errno_location() #12
  %6373 = load i32, ptr %6372, align 4, !tbaa !5
  store i32 %6373, ptr %130, align 4, !tbaa !5
  %6374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6375 = call i32 @s2n_print_stacktrace(ptr noundef %6374)
  %6376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6377 = trunc i8 %6376 to i1
  br i1 %6377, label %6378, label %6400

6378:                                             ; preds = %6371
  %6379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6380 = call i32 @fileno(ptr noundef %6379) #11
  %6381 = call i32 @isatty(i32 noundef %6380) #11
  %6382 = icmp ne i32 %6381, 0
  br i1 %6382, label %6383, label %6400

6383:                                             ; preds = %6378
  %6384 = load i32, ptr %130, align 4, !tbaa !5
  %6385 = call ptr @__errno_location() #12
  store i32 %6384, ptr %6385, align 4, !tbaa !5
  %6386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6387 = load i32, ptr @test_count, align 4, !tbaa !5
  %6388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6389 = load i32, ptr %6388, align 4, !tbaa !5
  %6390 = call ptr @s2n_strerror(i32 noundef %6389, ptr noundef @.str.4)
  %6391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6392 = load i32, ptr %6391, align 4, !tbaa !5
  %6393 = call ptr @s2n_strerror_debug(i32 noundef %6392, ptr noundef @.str.4)
  %6394 = call ptr @__errno_location() #12
  %6395 = load i32, ptr %6394, align 4, !tbaa !5
  %6396 = call ptr @strerror(i32 noundef %6395) #11
  %6397 = call ptr @__errno_location() #12
  %6398 = load i32, ptr %6397, align 4, !tbaa !5
  %6399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6386, ptr noundef @.str.2, i32 noundef %6387, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 223, ptr noundef %6390, ptr noundef %6393, ptr noundef %6396, i32 noundef %6398) #11
  br label %6417

6400:                                             ; preds = %6378, %6371
  %6401 = load i32, ptr %130, align 4, !tbaa !5
  %6402 = call ptr @__errno_location() #12
  store i32 %6401, ptr %6402, align 4, !tbaa !5
  %6403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6404 = load i32, ptr @test_count, align 4, !tbaa !5
  %6405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6406 = load i32, ptr %6405, align 4, !tbaa !5
  %6407 = call ptr @s2n_strerror(i32 noundef %6406, ptr noundef @.str.4)
  %6408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6409 = load i32, ptr %6408, align 4, !tbaa !5
  %6410 = call ptr @s2n_strerror_debug(i32 noundef %6409, ptr noundef @.str.4)
  %6411 = call ptr @__errno_location() #12
  %6412 = load i32, ptr %6411, align 4, !tbaa !5
  %6413 = call ptr @strerror(i32 noundef %6412) #11
  %6414 = call ptr @__errno_location() #12
  %6415 = load i32, ptr %6414, align 4, !tbaa !5
  %6416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6403, ptr noundef @.str.5, i32 noundef %6404, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 223, ptr noundef %6407, ptr noundef %6410, ptr noundef %6413, i32 noundef %6415) #11
  br label %6417

6417:                                             ; preds = %6400, %6383
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #11
  br label %6418

6418:                                             ; preds = %6417
  br label %6419

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

6420:                                             ; No predecessors!
  br label %6421

6421:                                             ; preds = %6420
  br label %6422

6422:                                             ; preds = %6421, %6362
  br label %6423

6423:                                             ; preds = %6422
  br label %6424

6424:                                             ; preds = %6423
  br label %6425

6425:                                             ; preds = %6424
  %6426 = load i32, ptr @test_count, align 4, !tbaa !5
  %6427 = add nsw i32 %6426, 1
  store i32 %6427, ptr @test_count, align 4, !tbaa !5
  %6428 = load ptr, ptr %125, align 8, !tbaa !9
  %6429 = load ptr, ptr %12, align 8, !tbaa !9
  %6430 = call i32 @s2n_connection_append_psk(ptr noundef %6428, ptr noundef %6429)
  %6431 = icmp eq i32 %6430, -1
  br i1 %6431, label %6432, label %6485

6432:                                             ; preds = %6425
  br label %6433

6433:                                             ; preds = %6432
  br label %6434

6434:                                             ; preds = %6433
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #11
  %6435 = call ptr @__errno_location() #12
  %6436 = load i32, ptr %6435, align 4, !tbaa !5
  store i32 %6436, ptr %131, align 4, !tbaa !5
  %6437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6438 = call i32 @s2n_print_stacktrace(ptr noundef %6437)
  %6439 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6440 = trunc i8 %6439 to i1
  br i1 %6440, label %6441, label %6463

6441:                                             ; preds = %6434
  %6442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6443 = call i32 @fileno(ptr noundef %6442) #11
  %6444 = call i32 @isatty(i32 noundef %6443) #11
  %6445 = icmp ne i32 %6444, 0
  br i1 %6445, label %6446, label %6463

6446:                                             ; preds = %6441
  %6447 = load i32, ptr %131, align 4, !tbaa !5
  %6448 = call ptr @__errno_location() #12
  store i32 %6447, ptr %6448, align 4, !tbaa !5
  %6449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6450 = load i32, ptr @test_count, align 4, !tbaa !5
  %6451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6452 = load i32, ptr %6451, align 4, !tbaa !5
  %6453 = call ptr @s2n_strerror(i32 noundef %6452, ptr noundef @.str.4)
  %6454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6455 = load i32, ptr %6454, align 4, !tbaa !5
  %6456 = call ptr @s2n_strerror_debug(i32 noundef %6455, ptr noundef @.str.4)
  %6457 = call ptr @__errno_location() #12
  %6458 = load i32, ptr %6457, align 4, !tbaa !5
  %6459 = call ptr @strerror(i32 noundef %6458) #11
  %6460 = call ptr @__errno_location() #12
  %6461 = load i32, ptr %6460, align 4, !tbaa !5
  %6462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6449, ptr noundef @.str.2, i32 noundef %6450, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 224, ptr noundef %6453, ptr noundef %6456, ptr noundef %6459, i32 noundef %6461) #11
  br label %6480

6463:                                             ; preds = %6441, %6434
  %6464 = load i32, ptr %131, align 4, !tbaa !5
  %6465 = call ptr @__errno_location() #12
  store i32 %6464, ptr %6465, align 4, !tbaa !5
  %6466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6467 = load i32, ptr @test_count, align 4, !tbaa !5
  %6468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6469 = load i32, ptr %6468, align 4, !tbaa !5
  %6470 = call ptr @s2n_strerror(i32 noundef %6469, ptr noundef @.str.4)
  %6471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6472 = load i32, ptr %6471, align 4, !tbaa !5
  %6473 = call ptr @s2n_strerror_debug(i32 noundef %6472, ptr noundef @.str.4)
  %6474 = call ptr @__errno_location() #12
  %6475 = load i32, ptr %6474, align 4, !tbaa !5
  %6476 = call ptr @strerror(i32 noundef %6475) #11
  %6477 = call ptr @__errno_location() #12
  %6478 = load i32, ptr %6477, align 4, !tbaa !5
  %6479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6466, ptr noundef @.str.5, i32 noundef %6467, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 224, ptr noundef %6470, ptr noundef %6473, ptr noundef %6476, i32 noundef %6478) #11
  br label %6480

6480:                                             ; preds = %6463, %6446
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #11
  br label %6481

6481:                                             ; preds = %6480
  br label %6482

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

6483:                                             ; No predecessors!
  br label %6484

6484:                                             ; preds = %6483
  br label %6485

6485:                                             ; preds = %6484, %6425
  br label %6486

6486:                                             ; preds = %6485
  br label %6487

6487:                                             ; preds = %6486
  br label %6488

6488:                                             ; preds = %6487
  %6489 = load i32, ptr @test_count, align 4, !tbaa !5
  %6490 = add nsw i32 %6489, 1
  store i32 %6490, ptr @test_count, align 4, !tbaa !5
  %6491 = load ptr, ptr %124, align 8, !tbaa !9
  %6492 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %6491)
  %6493 = icmp eq i32 %6492, -1
  br i1 %6493, label %6494, label %6547

6494:                                             ; preds = %6488
  br label %6495

6495:                                             ; preds = %6494
  br label %6496

6496:                                             ; preds = %6495
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #11
  %6497 = call ptr @__errno_location() #12
  %6498 = load i32, ptr %6497, align 4, !tbaa !5
  store i32 %6498, ptr %132, align 4, !tbaa !5
  %6499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6500 = call i32 @s2n_print_stacktrace(ptr noundef %6499)
  %6501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6502 = trunc i8 %6501 to i1
  br i1 %6502, label %6503, label %6525

6503:                                             ; preds = %6496
  %6504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6505 = call i32 @fileno(ptr noundef %6504) #11
  %6506 = call i32 @isatty(i32 noundef %6505) #11
  %6507 = icmp ne i32 %6506, 0
  br i1 %6507, label %6508, label %6525

6508:                                             ; preds = %6503
  %6509 = load i32, ptr %132, align 4, !tbaa !5
  %6510 = call ptr @__errno_location() #12
  store i32 %6509, ptr %6510, align 4, !tbaa !5
  %6511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6512 = load i32, ptr @test_count, align 4, !tbaa !5
  %6513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6514 = load i32, ptr %6513, align 4, !tbaa !5
  %6515 = call ptr @s2n_strerror(i32 noundef %6514, ptr noundef @.str.4)
  %6516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6517 = load i32, ptr %6516, align 4, !tbaa !5
  %6518 = call ptr @s2n_strerror_debug(i32 noundef %6517, ptr noundef @.str.4)
  %6519 = call ptr @__errno_location() #12
  %6520 = load i32, ptr %6519, align 4, !tbaa !5
  %6521 = call ptr @strerror(i32 noundef %6520) #11
  %6522 = call ptr @__errno_location() #12
  %6523 = load i32, ptr %6522, align 4, !tbaa !5
  %6524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6511, ptr noundef @.str.2, i32 noundef %6512, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 225, ptr noundef %6515, ptr noundef %6518, ptr noundef %6521, i32 noundef %6523) #11
  br label %6542

6525:                                             ; preds = %6503, %6496
  %6526 = load i32, ptr %132, align 4, !tbaa !5
  %6527 = call ptr @__errno_location() #12
  store i32 %6526, ptr %6527, align 4, !tbaa !5
  %6528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6529 = load i32, ptr @test_count, align 4, !tbaa !5
  %6530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6531 = load i32, ptr %6530, align 4, !tbaa !5
  %6532 = call ptr @s2n_strerror(i32 noundef %6531, ptr noundef @.str.4)
  %6533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6534 = load i32, ptr %6533, align 4, !tbaa !5
  %6535 = call ptr @s2n_strerror_debug(i32 noundef %6534, ptr noundef @.str.4)
  %6536 = call ptr @__errno_location() #12
  %6537 = load i32, ptr %6536, align 4, !tbaa !5
  %6538 = call ptr @strerror(i32 noundef %6537) #11
  %6539 = call ptr @__errno_location() #12
  %6540 = load i32, ptr %6539, align 4, !tbaa !5
  %6541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6528, ptr noundef @.str.5, i32 noundef %6529, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 225, ptr noundef %6532, ptr noundef %6535, ptr noundef %6538, i32 noundef %6540) #11
  br label %6542

6542:                                             ; preds = %6525, %6508
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #11
  br label %6543

6543:                                             ; preds = %6542
  br label %6544

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

6545:                                             ; No predecessors!
  br label %6546

6546:                                             ; preds = %6545
  br label %6547

6547:                                             ; preds = %6546, %6488
  br label %6548

6548:                                             ; preds = %6547
  br label %6549

6549:                                             ; preds = %6548
  br label %6550

6550:                                             ; preds = %6549
  %6551 = load i32, ptr @test_count, align 4, !tbaa !5
  %6552 = add nsw i32 %6551, 1
  store i32 %6552, ptr @test_count, align 4, !tbaa !5
  %6553 = load ptr, ptr %125, align 8, !tbaa !9
  %6554 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %6553)
  %6555 = icmp eq i32 %6554, -1
  br i1 %6555, label %6556, label %6609

6556:                                             ; preds = %6550
  br label %6557

6557:                                             ; preds = %6556
  br label %6558

6558:                                             ; preds = %6557
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #11
  %6559 = call ptr @__errno_location() #12
  %6560 = load i32, ptr %6559, align 4, !tbaa !5
  store i32 %6560, ptr %133, align 4, !tbaa !5
  %6561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6562 = call i32 @s2n_print_stacktrace(ptr noundef %6561)
  %6563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6564 = trunc i8 %6563 to i1
  br i1 %6564, label %6565, label %6587

6565:                                             ; preds = %6558
  %6566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6567 = call i32 @fileno(ptr noundef %6566) #11
  %6568 = call i32 @isatty(i32 noundef %6567) #11
  %6569 = icmp ne i32 %6568, 0
  br i1 %6569, label %6570, label %6587

6570:                                             ; preds = %6565
  %6571 = load i32, ptr %133, align 4, !tbaa !5
  %6572 = call ptr @__errno_location() #12
  store i32 %6571, ptr %6572, align 4, !tbaa !5
  %6573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6574 = load i32, ptr @test_count, align 4, !tbaa !5
  %6575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6576 = load i32, ptr %6575, align 4, !tbaa !5
  %6577 = call ptr @s2n_strerror(i32 noundef %6576, ptr noundef @.str.4)
  %6578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6579 = load i32, ptr %6578, align 4, !tbaa !5
  %6580 = call ptr @s2n_strerror_debug(i32 noundef %6579, ptr noundef @.str.4)
  %6581 = call ptr @__errno_location() #12
  %6582 = load i32, ptr %6581, align 4, !tbaa !5
  %6583 = call ptr @strerror(i32 noundef %6582) #11
  %6584 = call ptr @__errno_location() #12
  %6585 = load i32, ptr %6584, align 4, !tbaa !5
  %6586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6573, ptr noundef @.str.2, i32 noundef %6574, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 226, ptr noundef %6577, ptr noundef %6580, ptr noundef %6583, i32 noundef %6585) #11
  br label %6604

6587:                                             ; preds = %6565, %6558
  %6588 = load i32, ptr %133, align 4, !tbaa !5
  %6589 = call ptr @__errno_location() #12
  store i32 %6588, ptr %6589, align 4, !tbaa !5
  %6590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6591 = load i32, ptr @test_count, align 4, !tbaa !5
  %6592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6593 = load i32, ptr %6592, align 4, !tbaa !5
  %6594 = call ptr @s2n_strerror(i32 noundef %6593, ptr noundef @.str.4)
  %6595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6596 = load i32, ptr %6595, align 4, !tbaa !5
  %6597 = call ptr @s2n_strerror_debug(i32 noundef %6596, ptr noundef @.str.4)
  %6598 = call ptr @__errno_location() #12
  %6599 = load i32, ptr %6598, align 4, !tbaa !5
  %6600 = call ptr @strerror(i32 noundef %6599) #11
  %6601 = call ptr @__errno_location() #12
  %6602 = load i32, ptr %6601, align 4, !tbaa !5
  %6603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6590, ptr noundef @.str.5, i32 noundef %6591, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 226, ptr noundef %6594, ptr noundef %6597, ptr noundef %6600, i32 noundef %6602) #11
  br label %6604

6604:                                             ; preds = %6587, %6570
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #11
  br label %6605

6605:                                             ; preds = %6604
  br label %6606

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

6607:                                             ; No predecessors!
  br label %6608

6608:                                             ; preds = %6607
  br label %6609

6609:                                             ; preds = %6608, %6550
  br label %6610

6610:                                             ; preds = %6609
  br label %6611

6611:                                             ; preds = %6610
  br label %6612

6612:                                             ; preds = %6611
  %6613 = load i32, ptr @test_count, align 4, !tbaa !5
  %6614 = add nsw i32 %6613, 1
  store i32 %6614, ptr @test_count, align 4, !tbaa !5
  %6615 = load ptr, ptr %124, align 8, !tbaa !9
  %6616 = call i32 @s2n_negotiate_until_message(ptr noundef %6615, ptr noundef %120, i32 noundef 1)
  %6617 = getelementptr inbounds %struct.s2n_result, ptr %134, i32 0, i32 0
  store i32 %6616, ptr %6617, align 4
  %6618 = getelementptr inbounds %struct.s2n_result, ptr %134, i32 0, i32 0
  %6619 = load i32, ptr %6618, align 4
  %6620 = call zeroext i1 @s2n_result_is_ok(i32 %6619)
  br i1 %6620, label %6674, label %6621

6621:                                             ; preds = %6612
  br label %6622

6622:                                             ; preds = %6621
  br label %6623

6623:                                             ; preds = %6622
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #11
  %6624 = call ptr @__errno_location() #12
  %6625 = load i32, ptr %6624, align 4, !tbaa !5
  store i32 %6625, ptr %135, align 4, !tbaa !5
  %6626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6627 = call i32 @s2n_print_stacktrace(ptr noundef %6626)
  %6628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6629 = trunc i8 %6628 to i1
  br i1 %6629, label %6630, label %6652

6630:                                             ; preds = %6623
  %6631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6632 = call i32 @fileno(ptr noundef %6631) #11
  %6633 = call i32 @isatty(i32 noundef %6632) #11
  %6634 = icmp ne i32 %6633, 0
  br i1 %6634, label %6635, label %6652

6635:                                             ; preds = %6630
  %6636 = load i32, ptr %135, align 4, !tbaa !5
  %6637 = call ptr @__errno_location() #12
  store i32 %6636, ptr %6637, align 4, !tbaa !5
  %6638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6639 = load i32, ptr @test_count, align 4, !tbaa !5
  %6640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6641 = load i32, ptr %6640, align 4, !tbaa !5
  %6642 = call ptr @s2n_strerror(i32 noundef %6641, ptr noundef @.str.4)
  %6643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6644 = load i32, ptr %6643, align 4, !tbaa !5
  %6645 = call ptr @s2n_strerror_debug(i32 noundef %6644, ptr noundef @.str.4)
  %6646 = call ptr @__errno_location() #12
  %6647 = load i32, ptr %6646, align 4, !tbaa !5
  %6648 = call ptr @strerror(i32 noundef %6647) #11
  %6649 = call ptr @__errno_location() #12
  %6650 = load i32, ptr %6649, align 4, !tbaa !5
  %6651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6638, ptr noundef @.str.2, i32 noundef %6639, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 229, ptr noundef %6642, ptr noundef %6645, ptr noundef %6648, i32 noundef %6650) #11
  br label %6669

6652:                                             ; preds = %6630, %6623
  %6653 = load i32, ptr %135, align 4, !tbaa !5
  %6654 = call ptr @__errno_location() #12
  store i32 %6653, ptr %6654, align 4, !tbaa !5
  %6655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6656 = load i32, ptr @test_count, align 4, !tbaa !5
  %6657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6658 = load i32, ptr %6657, align 4, !tbaa !5
  %6659 = call ptr @s2n_strerror(i32 noundef %6658, ptr noundef @.str.4)
  %6660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6661 = load i32, ptr %6660, align 4, !tbaa !5
  %6662 = call ptr @s2n_strerror_debug(i32 noundef %6661, ptr noundef @.str.4)
  %6663 = call ptr @__errno_location() #12
  %6664 = load i32, ptr %6663, align 4, !tbaa !5
  %6665 = call ptr @strerror(i32 noundef %6664) #11
  %6666 = call ptr @__errno_location() #12
  %6667 = load i32, ptr %6666, align 4, !tbaa !5
  %6668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6655, ptr noundef @.str.5, i32 noundef %6656, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 229, ptr noundef %6659, ptr noundef %6662, ptr noundef %6665, i32 noundef %6667) #11
  br label %6669

6669:                                             ; preds = %6652, %6635
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #11
  br label %6670

6670:                                             ; preds = %6669
  br label %6671

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

6672:                                             ; No predecessors!
  br label %6673

6673:                                             ; preds = %6672
  br label %6674

6674:                                             ; preds = %6673, %6612
  br label %6675

6675:                                             ; preds = %6674
  br label %6676

6676:                                             ; preds = %6675
  br label %6677

6677:                                             ; preds = %6676
  br label %6678

6678:                                             ; preds = %6677
  br label %6679

6679:                                             ; preds = %6678
  %6680 = load i32, ptr @test_count, align 4, !tbaa !5
  %6681 = add nsw i32 %6680, 1
  store i32 %6681, ptr @test_count, align 4, !tbaa !5
  %6682 = load ptr, ptr %125, align 8, !tbaa !9
  %6683 = call i32 @s2n_negotiate(ptr noundef %6682, ptr noundef %120)
  %6684 = icmp eq i32 %6683, -1
  br i1 %6684, label %6738, label %6685

6685:                                             ; preds = %6679
  br label %6686

6686:                                             ; preds = %6685
  br label %6687

6687:                                             ; preds = %6686
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #11
  %6688 = call ptr @__errno_location() #12
  %6689 = load i32, ptr %6688, align 4, !tbaa !5
  store i32 %6689, ptr %136, align 4, !tbaa !5
  %6690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6691 = call i32 @s2n_print_stacktrace(ptr noundef %6690)
  %6692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6693 = trunc i8 %6692 to i1
  br i1 %6693, label %6694, label %6716

6694:                                             ; preds = %6687
  %6695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6696 = call i32 @fileno(ptr noundef %6695) #11
  %6697 = call i32 @isatty(i32 noundef %6696) #11
  %6698 = icmp ne i32 %6697, 0
  br i1 %6698, label %6699, label %6716

6699:                                             ; preds = %6694
  %6700 = load i32, ptr %136, align 4, !tbaa !5
  %6701 = call ptr @__errno_location() #12
  store i32 %6700, ptr %6701, align 4, !tbaa !5
  %6702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6703 = load i32, ptr @test_count, align 4, !tbaa !5
  %6704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6705 = load i32, ptr %6704, align 4, !tbaa !5
  %6706 = call ptr @s2n_strerror(i32 noundef %6705, ptr noundef @.str.4)
  %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_debug(i32 noundef %6708, ptr noundef @.str.4)
  %6710 = call ptr @__errno_location() #12
  %6711 = load i32, ptr %6710, align 4, !tbaa !5
  %6712 = call ptr @strerror(i32 noundef %6711) #11
  %6713 = call ptr @__errno_location() #12
  %6714 = load i32, ptr %6713, align 4, !tbaa !5
  %6715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6702, ptr noundef @.str.2, i32 noundef %6703, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 230, ptr noundef %6706, ptr noundef %6709, ptr noundef %6712, i32 noundef %6714) #11
  br label %6733

6716:                                             ; preds = %6694, %6687
  %6717 = load i32, ptr %136, align 4, !tbaa !5
  %6718 = call ptr @__errno_location() #12
  store i32 %6717, ptr %6718, align 4, !tbaa !5
  %6719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6720 = load i32, ptr @test_count, align 4, !tbaa !5
  %6721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6722 = load i32, ptr %6721, align 4, !tbaa !5
  %6723 = call ptr @s2n_strerror(i32 noundef %6722, ptr noundef @.str.4)
  %6724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6725 = load i32, ptr %6724, align 4, !tbaa !5
  %6726 = call ptr @s2n_strerror_debug(i32 noundef %6725, ptr noundef @.str.4)
  %6727 = call ptr @__errno_location() #12
  %6728 = load i32, ptr %6727, align 4, !tbaa !5
  %6729 = call ptr @strerror(i32 noundef %6728) #11
  %6730 = call ptr @__errno_location() #12
  %6731 = load i32, ptr %6730, align 4, !tbaa !5
  %6732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6719, ptr noundef @.str.5, i32 noundef %6720, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 230, ptr noundef %6723, ptr noundef %6726, ptr noundef %6729, i32 noundef %6731) #11
  br label %6733

6733:                                             ; preds = %6716, %6699
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #11
  br label %6734

6734:                                             ; preds = %6733
  br label %6735

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

6736:                                             ; No predecessors!
  br label %6737

6737:                                             ; preds = %6736
  br label %6738

6738:                                             ; preds = %6737, %6679
  br label %6739

6739:                                             ; preds = %6738
  br label %6740

6740:                                             ; preds = %6739
  br label %6741

6741:                                             ; preds = %6740
  %6742 = load i32, ptr @test_count, align 4, !tbaa !5
  %6743 = add nsw i32 %6742, 1
  store i32 %6743, ptr @test_count, align 4, !tbaa !5
  %6744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6745 = load i32, ptr %6744, align 4, !tbaa !5
  %6746 = icmp eq i32 %6745, 201326593
  br i1 %6746, label %6800, label %6747

6747:                                             ; preds = %6741
  br label %6748

6748:                                             ; preds = %6747
  br label %6749

6749:                                             ; preds = %6748
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #11
  %6750 = call ptr @__errno_location() #12
  %6751 = load i32, ptr %6750, align 4, !tbaa !5
  store i32 %6751, ptr %137, align 4, !tbaa !5
  %6752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6753 = call i32 @s2n_print_stacktrace(ptr noundef %6752)
  %6754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6755 = trunc i8 %6754 to i1
  br i1 %6755, label %6756, label %6778

6756:                                             ; preds = %6749
  %6757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6758 = call i32 @fileno(ptr noundef %6757) #11
  %6759 = call i32 @isatty(i32 noundef %6758) #11
  %6760 = icmp ne i32 %6759, 0
  br i1 %6760, label %6761, label %6778

6761:                                             ; preds = %6756
  %6762 = load i32, ptr %137, align 4, !tbaa !5
  %6763 = call ptr @__errno_location() #12
  store i32 %6762, ptr %6763, align 4, !tbaa !5
  %6764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6765 = load i32, ptr @test_count, align 4, !tbaa !5
  %6766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6767 = load i32, ptr %6766, align 4, !tbaa !5
  %6768 = call ptr @s2n_strerror(i32 noundef %6767, ptr noundef @.str.4)
  %6769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6770 = load i32, ptr %6769, align 4, !tbaa !5
  %6771 = call ptr @s2n_strerror_debug(i32 noundef %6770, ptr noundef @.str.4)
  %6772 = call ptr @__errno_location() #12
  %6773 = load i32, ptr %6772, align 4, !tbaa !5
  %6774 = call ptr @strerror(i32 noundef %6773) #11
  %6775 = call ptr @__errno_location() #12
  %6776 = load i32, ptr %6775, align 4, !tbaa !5
  %6777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6764, ptr noundef @.str.2, i32 noundef %6765, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 230, ptr noundef %6768, ptr noundef %6771, ptr noundef %6774, i32 noundef %6776) #11
  br label %6795

6778:                                             ; preds = %6756, %6749
  %6779 = load i32, ptr %137, align 4, !tbaa !5
  %6780 = call ptr @__errno_location() #12
  store i32 %6779, ptr %6780, align 4, !tbaa !5
  %6781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6782 = load i32, ptr @test_count, align 4, !tbaa !5
  %6783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6784 = load i32, ptr %6783, align 4, !tbaa !5
  %6785 = call ptr @s2n_strerror(i32 noundef %6784, ptr noundef @.str.4)
  %6786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6787 = load i32, ptr %6786, align 4, !tbaa !5
  %6788 = call ptr @s2n_strerror_debug(i32 noundef %6787, ptr noundef @.str.4)
  %6789 = call ptr @__errno_location() #12
  %6790 = load i32, ptr %6789, align 4, !tbaa !5
  %6791 = call ptr @strerror(i32 noundef %6790) #11
  %6792 = call ptr @__errno_location() #12
  %6793 = load i32, ptr %6792, align 4, !tbaa !5
  %6794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6781, ptr noundef @.str.5, i32 noundef %6782, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 230, ptr noundef %6785, ptr noundef %6788, ptr noundef %6791, i32 noundef %6793) #11
  br label %6795

6795:                                             ; preds = %6778, %6761
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #11
  br label %6796

6796:                                             ; preds = %6795
  br label %6797

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

6798:                                             ; No predecessors!
  br label %6799

6799:                                             ; preds = %6798
  br label %6800

6800:                                             ; preds = %6799, %6741
  br label %6801

6801:                                             ; preds = %6800
  br label %6802

6802:                                             ; preds = %6801
  br label %6803

6803:                                             ; preds = %6802
  %6804 = load i32, ptr @test_count, align 4, !tbaa !5
  %6805 = add nsw i32 %6804, 1
  store i32 %6805, ptr @test_count, align 4, !tbaa !5
  %6806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6807 = load i32, ptr %6806, align 4, !tbaa !5
  %6808 = call ptr @s2n_strerror_debug(i32 noundef %6807, ptr noundef @.str.4)
  %6809 = icmp eq ptr %6808, null
  br i1 %6809, label %6810, label %6863

6810:                                             ; preds = %6803
  br label %6811

6811:                                             ; preds = %6810
  br label %6812

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

6819:                                             ; preds = %6812
  %6820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6821 = call i32 @fileno(ptr noundef %6820) #11
  %6822 = call i32 @isatty(i32 noundef %6821) #11
  %6823 = icmp ne i32 %6822, 0
  br i1 %6823, label %6824, label %6841

6824:                                             ; preds = %6819
  %6825 = load i32, ptr %138, align 4, !tbaa !5
  %6826 = call ptr @__errno_location() #12
  store i32 %6825, ptr %6826, align 4, !tbaa !5
  %6827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6828 = load i32, ptr @test_count, align 4, !tbaa !5
  %6829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6830 = load i32, ptr %6829, align 4, !tbaa !5
  %6831 = call ptr @s2n_strerror(i32 noundef %6830, ptr noundef @.str.4)
  %6832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6833 = load i32, ptr %6832, align 4, !tbaa !5
  %6834 = call ptr @s2n_strerror_debug(i32 noundef %6833, ptr noundef @.str.4)
  %6835 = call ptr @__errno_location() #12
  %6836 = load i32, ptr %6835, align 4, !tbaa !5
  %6837 = call ptr @strerror(i32 noundef %6836) #11
  %6838 = call ptr @__errno_location() #12
  %6839 = load i32, ptr %6838, align 4, !tbaa !5
  %6840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6827, ptr noundef @.str.2, i32 noundef %6828, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 230, ptr noundef %6831, ptr noundef %6834, ptr noundef %6837, i32 noundef %6839) #11
  br label %6858

6841:                                             ; preds = %6819, %6812
  %6842 = load i32, ptr %138, align 4, !tbaa !5
  %6843 = call ptr @__errno_location() #12
  store i32 %6842, ptr %6843, align 4, !tbaa !5
  %6844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6845 = load i32, ptr @test_count, align 4, !tbaa !5
  %6846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6847 = load i32, ptr %6846, align 4, !tbaa !5
  %6848 = call ptr @s2n_strerror(i32 noundef %6847, ptr noundef @.str.4)
  %6849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6850 = load i32, ptr %6849, align 4, !tbaa !5
  %6851 = call ptr @s2n_strerror_debug(i32 noundef %6850, ptr noundef @.str.4)
  %6852 = call ptr @__errno_location() #12
  %6853 = load i32, ptr %6852, align 4, !tbaa !5
  %6854 = call ptr @strerror(i32 noundef %6853) #11
  %6855 = call ptr @__errno_location() #12
  %6856 = load i32, ptr %6855, align 4, !tbaa !5
  %6857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6844, ptr noundef @.str.5, i32 noundef %6845, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 230, ptr noundef %6848, ptr noundef %6851, ptr noundef %6854, i32 noundef %6856) #11
  br label %6858

6858:                                             ; preds = %6841, %6824
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #11
  br label %6859

6859:                                             ; preds = %6858
  br label %6860

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

6861:                                             ; No predecessors!
  br label %6862

6862:                                             ; preds = %6861
  br label %6863

6863:                                             ; preds = %6862, %6803
  br label %6864

6864:                                             ; preds = %6863
  br label %6865

6865:                                             ; preds = %6864
  br label %6866

6866:                                             ; preds = %6865
  br label %6867

6867:                                             ; preds = %6866
  br label %6868

6868:                                             ; preds = %6867
  %6869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6869, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6870 = call ptr @__errno_location() #12
  store i32 0, ptr %6870, align 4, !tbaa !5
  br label %6871

6871:                                             ; preds = %6868
  br label %6872

6872:                                             ; preds = %6871
  br label %6873

6873:                                             ; preds = %6872
  br label %6874

6874:                                             ; preds = %6873
  br label %6875

6875:                                             ; preds = %6874
  br label %6876

6876:                                             ; preds = %6875
  br label %6877

6877:                                             ; preds = %6876
  %6878 = load i32, ptr @test_count, align 4, !tbaa !5
  %6879 = add nsw i32 %6878, 1
  store i32 %6879, ptr @test_count, align 4, !tbaa !5
  %6880 = load ptr, ptr %125, align 8, !tbaa !9
  %6881 = call i32 @s2n_negotiate(ptr noundef %6880, ptr noundef %120)
  %6882 = icmp eq i32 %6881, -1
  br i1 %6882, label %6936, label %6883

6883:                                             ; preds = %6877
  br label %6884

6884:                                             ; preds = %6883
  br label %6885

6885:                                             ; preds = %6884
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #11
  %6886 = call ptr @__errno_location() #12
  %6887 = load i32, ptr %6886, align 4, !tbaa !5
  store i32 %6887, ptr %139, align 4, !tbaa !5
  %6888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6889 = call i32 @s2n_print_stacktrace(ptr noundef %6888)
  %6890 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6891 = trunc i8 %6890 to i1
  br i1 %6891, label %6892, label %6914

6892:                                             ; preds = %6885
  %6893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6894 = call i32 @fileno(ptr noundef %6893) #11
  %6895 = call i32 @isatty(i32 noundef %6894) #11
  %6896 = icmp ne i32 %6895, 0
  br i1 %6896, label %6897, label %6914

6897:                                             ; preds = %6892
  %6898 = load i32, ptr %139, align 4, !tbaa !5
  %6899 = call ptr @__errno_location() #12
  store i32 %6898, ptr %6899, align 4, !tbaa !5
  %6900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6901 = load i32, ptr @test_count, align 4, !tbaa !5
  %6902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6903 = load i32, ptr %6902, align 4, !tbaa !5
  %6904 = call ptr @s2n_strerror(i32 noundef %6903, ptr noundef @.str.4)
  %6905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6906 = load i32, ptr %6905, align 4, !tbaa !5
  %6907 = call ptr @s2n_strerror_debug(i32 noundef %6906, ptr noundef @.str.4)
  %6908 = call ptr @__errno_location() #12
  %6909 = load i32, ptr %6908, align 4, !tbaa !5
  %6910 = call ptr @strerror(i32 noundef %6909) #11
  %6911 = call ptr @__errno_location() #12
  %6912 = load i32, ptr %6911, align 4, !tbaa !5
  %6913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6900, ptr noundef @.str.2, i32 noundef %6901, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 233, ptr noundef %6904, ptr noundef %6907, ptr noundef %6910, i32 noundef %6912) #11
  br label %6931

6914:                                             ; preds = %6892, %6885
  %6915 = load i32, ptr %139, align 4, !tbaa !5
  %6916 = call ptr @__errno_location() #12
  store i32 %6915, ptr %6916, align 4, !tbaa !5
  %6917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6918 = load i32, ptr @test_count, align 4, !tbaa !5
  %6919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6920 = load i32, ptr %6919, align 4, !tbaa !5
  %6921 = call ptr @s2n_strerror(i32 noundef %6920, ptr noundef @.str.4)
  %6922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6923 = load i32, ptr %6922, align 4, !tbaa !5
  %6924 = call ptr @s2n_strerror_debug(i32 noundef %6923, ptr noundef @.str.4)
  %6925 = call ptr @__errno_location() #12
  %6926 = load i32, ptr %6925, align 4, !tbaa !5
  %6927 = call ptr @strerror(i32 noundef %6926) #11
  %6928 = call ptr @__errno_location() #12
  %6929 = load i32, ptr %6928, align 4, !tbaa !5
  %6930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6917, ptr noundef @.str.5, i32 noundef %6918, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 233, ptr noundef %6921, ptr noundef %6924, ptr noundef %6927, i32 noundef %6929) #11
  br label %6931

6931:                                             ; preds = %6914, %6897
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #11
  br label %6932

6932:                                             ; preds = %6931
  br label %6933

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

6934:                                             ; No predecessors!
  br label %6935

6935:                                             ; preds = %6934
  br label %6936

6936:                                             ; preds = %6935, %6877
  br label %6937

6937:                                             ; preds = %6936
  br label %6938

6938:                                             ; preds = %6937
  br label %6939

6939:                                             ; preds = %6938
  %6940 = load i32, ptr @test_count, align 4, !tbaa !5
  %6941 = add nsw i32 %6940, 1
  store i32 %6941, ptr @test_count, align 4, !tbaa !5
  %6942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6943 = load i32, ptr %6942, align 4, !tbaa !5
  %6944 = icmp eq i32 %6943, 201326593
  br i1 %6944, label %6998, label %6945

6945:                                             ; preds = %6939
  br label %6946

6946:                                             ; preds = %6945
  br label %6947

6947:                                             ; preds = %6946
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #11
  %6948 = call ptr @__errno_location() #12
  %6949 = load i32, ptr %6948, align 4, !tbaa !5
  store i32 %6949, ptr %140, align 4, !tbaa !5
  %6950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6951 = call i32 @s2n_print_stacktrace(ptr noundef %6950)
  %6952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6953 = trunc i8 %6952 to i1
  br i1 %6953, label %6954, label %6976

6954:                                             ; preds = %6947
  %6955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6956 = call i32 @fileno(ptr noundef %6955) #11
  %6957 = call i32 @isatty(i32 noundef %6956) #11
  %6958 = icmp ne i32 %6957, 0
  br i1 %6958, label %6959, label %6976

6959:                                             ; preds = %6954
  %6960 = load i32, ptr %140, align 4, !tbaa !5
  %6961 = call ptr @__errno_location() #12
  store i32 %6960, ptr %6961, align 4, !tbaa !5
  %6962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6963 = load i32, ptr @test_count, align 4, !tbaa !5
  %6964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6965 = load i32, ptr %6964, align 4, !tbaa !5
  %6966 = call ptr @s2n_strerror(i32 noundef %6965, ptr noundef @.str.4)
  %6967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6968 = load i32, ptr %6967, align 4, !tbaa !5
  %6969 = call ptr @s2n_strerror_debug(i32 noundef %6968, ptr noundef @.str.4)
  %6970 = call ptr @__errno_location() #12
  %6971 = load i32, ptr %6970, align 4, !tbaa !5
  %6972 = call ptr @strerror(i32 noundef %6971) #11
  %6973 = call ptr @__errno_location() #12
  %6974 = load i32, ptr %6973, align 4, !tbaa !5
  %6975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6962, ptr noundef @.str.2, i32 noundef %6963, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 233, ptr noundef %6966, ptr noundef %6969, ptr noundef %6972, i32 noundef %6974) #11
  br label %6993

6976:                                             ; preds = %6954, %6947
  %6977 = load i32, ptr %140, align 4, !tbaa !5
  %6978 = call ptr @__errno_location() #12
  store i32 %6977, ptr %6978, align 4, !tbaa !5
  %6979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6980 = load i32, ptr @test_count, align 4, !tbaa !5
  %6981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6982 = load i32, ptr %6981, align 4, !tbaa !5
  %6983 = call ptr @s2n_strerror(i32 noundef %6982, ptr noundef @.str.4)
  %6984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6985 = load i32, ptr %6984, align 4, !tbaa !5
  %6986 = call ptr @s2n_strerror_debug(i32 noundef %6985, ptr noundef @.str.4)
  %6987 = call ptr @__errno_location() #12
  %6988 = load i32, ptr %6987, align 4, !tbaa !5
  %6989 = call ptr @strerror(i32 noundef %6988) #11
  %6990 = call ptr @__errno_location() #12
  %6991 = load i32, ptr %6990, align 4, !tbaa !5
  %6992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6979, ptr noundef @.str.5, i32 noundef %6980, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 233, ptr noundef %6983, ptr noundef %6986, ptr noundef %6989, i32 noundef %6991) #11
  br label %6993

6993:                                             ; preds = %6976, %6959
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #11
  br label %6994

6994:                                             ; preds = %6993
  br label %6995

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

6996:                                             ; No predecessors!
  br label %6997

6997:                                             ; preds = %6996
  br label %6998

6998:                                             ; preds = %6997, %6939
  br label %6999

6999:                                             ; preds = %6998
  br label %7000

7000:                                             ; preds = %6999
  br label %7001

7001:                                             ; preds = %7000
  %7002 = load i32, ptr @test_count, align 4, !tbaa !5
  %7003 = add nsw i32 %7002, 1
  store i32 %7003, ptr @test_count, align 4, !tbaa !5
  %7004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7005 = load i32, ptr %7004, align 4, !tbaa !5
  %7006 = call ptr @s2n_strerror_debug(i32 noundef %7005, ptr noundef @.str.4)
  %7007 = icmp eq ptr %7006, null
  br i1 %7007, label %7008, label %7061

7008:                                             ; preds = %7001
  br label %7009

7009:                                             ; preds = %7008
  br label %7010

7010:                                             ; preds = %7009
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #11
  %7011 = call ptr @__errno_location() #12
  %7012 = load i32, ptr %7011, align 4, !tbaa !5
  store i32 %7012, ptr %141, align 4, !tbaa !5
  %7013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7014 = call i32 @s2n_print_stacktrace(ptr noundef %7013)
  %7015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7016 = trunc i8 %7015 to i1
  br i1 %7016, label %7017, label %7039

7017:                                             ; preds = %7010
  %7018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7019 = call i32 @fileno(ptr noundef %7018) #11
  %7020 = call i32 @isatty(i32 noundef %7019) #11
  %7021 = icmp ne i32 %7020, 0
  br i1 %7021, label %7022, label %7039

7022:                                             ; preds = %7017
  %7023 = load i32, ptr %141, align 4, !tbaa !5
  %7024 = call ptr @__errno_location() #12
  store i32 %7023, ptr %7024, align 4, !tbaa !5
  %7025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7026 = load i32, ptr @test_count, align 4, !tbaa !5
  %7027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7028 = load i32, ptr %7027, align 4, !tbaa !5
  %7029 = call ptr @s2n_strerror(i32 noundef %7028, ptr noundef @.str.4)
  %7030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7031 = load i32, ptr %7030, align 4, !tbaa !5
  %7032 = call ptr @s2n_strerror_debug(i32 noundef %7031, ptr noundef @.str.4)
  %7033 = call ptr @__errno_location() #12
  %7034 = load i32, ptr %7033, align 4, !tbaa !5
  %7035 = call ptr @strerror(i32 noundef %7034) #11
  %7036 = call ptr @__errno_location() #12
  %7037 = load i32, ptr %7036, align 4, !tbaa !5
  %7038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7025, ptr noundef @.str.2, i32 noundef %7026, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 233, ptr noundef %7029, ptr noundef %7032, ptr noundef %7035, i32 noundef %7037) #11
  br label %7056

7039:                                             ; preds = %7017, %7010
  %7040 = load i32, ptr %141, align 4, !tbaa !5
  %7041 = call ptr @__errno_location() #12
  store i32 %7040, ptr %7041, align 4, !tbaa !5
  %7042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7043 = load i32, ptr @test_count, align 4, !tbaa !5
  %7044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7045 = load i32, ptr %7044, align 4, !tbaa !5
  %7046 = call ptr @s2n_strerror(i32 noundef %7045, ptr noundef @.str.4)
  %7047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7048 = load i32, ptr %7047, align 4, !tbaa !5
  %7049 = call ptr @s2n_strerror_debug(i32 noundef %7048, ptr noundef @.str.4)
  %7050 = call ptr @__errno_location() #12
  %7051 = load i32, ptr %7050, align 4, !tbaa !5
  %7052 = call ptr @strerror(i32 noundef %7051) #11
  %7053 = call ptr @__errno_location() #12
  %7054 = load i32, ptr %7053, align 4, !tbaa !5
  %7055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7042, ptr noundef @.str.5, i32 noundef %7043, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 233, ptr noundef %7046, ptr noundef %7049, ptr noundef %7052, i32 noundef %7054) #11
  br label %7056

7056:                                             ; preds = %7039, %7022
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #11
  br label %7057

7057:                                             ; preds = %7056
  br label %7058

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

7059:                                             ; No predecessors!
  br label %7060

7060:                                             ; preds = %7059
  br label %7061

7061:                                             ; preds = %7060, %7001
  br label %7062

7062:                                             ; preds = %7061
  br label %7063

7063:                                             ; preds = %7062
  br label %7064

7064:                                             ; preds = %7063
  br label %7065

7065:                                             ; preds = %7064
  br label %7066

7066:                                             ; preds = %7065
  %7067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7067, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7068 = call ptr @__errno_location() #12
  store i32 0, ptr %7068, align 4, !tbaa !5
  br label %7069

7069:                                             ; preds = %7066
  br label %7070

7070:                                             ; preds = %7069
  br label %7071

7071:                                             ; preds = %7070
  br label %7072

7072:                                             ; preds = %7071
  br label %7073

7073:                                             ; preds = %7072
  %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 @async_early_data, align 8, !tbaa !9
  %7077 = call i32 @s2n_offered_early_data_accept(ptr noundef %7076)
  %7078 = icmp eq i32 %7077, -1
  br i1 %7078, label %7079, label %7132

7079:                                             ; preds = %7073
  br label %7080

7080:                                             ; preds = %7079
  br label %7081

7081:                                             ; preds = %7080
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #11
  %7082 = call ptr @__errno_location() #12
  %7083 = load i32, ptr %7082, align 4, !tbaa !5
  store i32 %7083, ptr %142, align 4, !tbaa !5
  %7084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7085 = call i32 @s2n_print_stacktrace(ptr noundef %7084)
  %7086 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7087 = trunc i8 %7086 to i1
  br i1 %7087, label %7088, label %7110

7088:                                             ; preds = %7081
  %7089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7090 = call i32 @fileno(ptr noundef %7089) #11
  %7091 = call i32 @isatty(i32 noundef %7090) #11
  %7092 = icmp ne i32 %7091, 0
  br i1 %7092, label %7093, label %7110

7093:                                             ; preds = %7088
  %7094 = load i32, ptr %142, align 4, !tbaa !5
  %7095 = call ptr @__errno_location() #12
  store i32 %7094, ptr %7095, align 4, !tbaa !5
  %7096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7097 = load i32, ptr @test_count, align 4, !tbaa !5
  %7098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7099 = load i32, ptr %7098, align 4, !tbaa !5
  %7100 = call ptr @s2n_strerror(i32 noundef %7099, ptr noundef @.str.4)
  %7101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7102 = load i32, ptr %7101, align 4, !tbaa !5
  %7103 = call ptr @s2n_strerror_debug(i32 noundef %7102, ptr noundef @.str.4)
  %7104 = call ptr @__errno_location() #12
  %7105 = load i32, ptr %7104, align 4, !tbaa !5
  %7106 = call ptr @strerror(i32 noundef %7105) #11
  %7107 = call ptr @__errno_location() #12
  %7108 = load i32, ptr %7107, align 4, !tbaa !5
  %7109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7096, ptr noundef @.str.2, i32 noundef %7097, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 236, ptr noundef %7100, ptr noundef %7103, ptr noundef %7106, i32 noundef %7108) #11
  br label %7127

7110:                                             ; preds = %7088, %7081
  %7111 = load i32, ptr %142, align 4, !tbaa !5
  %7112 = call ptr @__errno_location() #12
  store i32 %7111, ptr %7112, align 4, !tbaa !5
  %7113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7114 = load i32, ptr @test_count, align 4, !tbaa !5
  %7115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7116 = load i32, ptr %7115, align 4, !tbaa !5
  %7117 = call ptr @s2n_strerror(i32 noundef %7116, ptr noundef @.str.4)
  %7118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7119 = load i32, ptr %7118, align 4, !tbaa !5
  %7120 = call ptr @s2n_strerror_debug(i32 noundef %7119, ptr noundef @.str.4)
  %7121 = call ptr @__errno_location() #12
  %7122 = load i32, ptr %7121, align 4, !tbaa !5
  %7123 = call ptr @strerror(i32 noundef %7122) #11
  %7124 = call ptr @__errno_location() #12
  %7125 = load i32, ptr %7124, align 4, !tbaa !5
  %7126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7113, ptr noundef @.str.5, i32 noundef %7114, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 236, ptr noundef %7117, ptr noundef %7120, ptr noundef %7123, i32 noundef %7125) #11
  br label %7127

7127:                                             ; preds = %7110, %7093
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #11
  br label %7128

7128:                                             ; preds = %7127
  br label %7129

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

7130:                                             ; No predecessors!
  br label %7131

7131:                                             ; preds = %7130
  br label %7132

7132:                                             ; preds = %7131, %7073
  br label %7133

7133:                                             ; preds = %7132
  br label %7134

7134:                                             ; preds = %7133
  br label %7135

7135:                                             ; preds = %7134
  %7136 = load i32, ptr @test_count, align 4, !tbaa !5
  %7137 = add nsw i32 %7136, 1
  store i32 %7137, ptr @test_count, align 4, !tbaa !5
  %7138 = load ptr, ptr %124, align 8, !tbaa !9
  %7139 = call i32 @s2n_connection_set_end_of_early_data(ptr noundef %7138)
  %7140 = icmp eq i32 %7139, -1
  br i1 %7140, label %7141, label %7194

7141:                                             ; preds = %7135
  br label %7142

7142:                                             ; preds = %7141
  br label %7143

7143:                                             ; preds = %7142
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #11
  %7144 = call ptr @__errno_location() #12
  %7145 = load i32, ptr %7144, align 4, !tbaa !5
  store i32 %7145, ptr %143, align 4, !tbaa !5
  %7146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7147 = call i32 @s2n_print_stacktrace(ptr noundef %7146)
  %7148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7149 = trunc i8 %7148 to i1
  br i1 %7149, label %7150, label %7172

7150:                                             ; preds = %7143
  %7151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7152 = call i32 @fileno(ptr noundef %7151) #11
  %7153 = call i32 @isatty(i32 noundef %7152) #11
  %7154 = icmp ne i32 %7153, 0
  br i1 %7154, label %7155, label %7172

7155:                                             ; preds = %7150
  %7156 = load i32, ptr %143, align 4, !tbaa !5
  %7157 = call ptr @__errno_location() #12
  store i32 %7156, ptr %7157, align 4, !tbaa !5
  %7158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7159 = load i32, ptr @test_count, align 4, !tbaa !5
  %7160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7161 = load i32, ptr %7160, align 4, !tbaa !5
  %7162 = call ptr @s2n_strerror(i32 noundef %7161, ptr noundef @.str.4)
  %7163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7164 = load i32, ptr %7163, align 4, !tbaa !5
  %7165 = call ptr @s2n_strerror_debug(i32 noundef %7164, ptr noundef @.str.4)
  %7166 = call ptr @__errno_location() #12
  %7167 = load i32, ptr %7166, align 4, !tbaa !5
  %7168 = call ptr @strerror(i32 noundef %7167) #11
  %7169 = call ptr @__errno_location() #12
  %7170 = load i32, ptr %7169, align 4, !tbaa !5
  %7171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7158, ptr noundef @.str.2, i32 noundef %7159, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 239, ptr noundef %7162, ptr noundef %7165, ptr noundef %7168, i32 noundef %7170) #11
  br label %7189

7172:                                             ; preds = %7150, %7143
  %7173 = load i32, ptr %143, align 4, !tbaa !5
  %7174 = call ptr @__errno_location() #12
  store i32 %7173, ptr %7174, align 4, !tbaa !5
  %7175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7176 = load i32, ptr @test_count, align 4, !tbaa !5
  %7177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7178 = load i32, ptr %7177, align 4, !tbaa !5
  %7179 = call ptr @s2n_strerror(i32 noundef %7178, ptr noundef @.str.4)
  %7180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7181 = load i32, ptr %7180, align 4, !tbaa !5
  %7182 = call ptr @s2n_strerror_debug(i32 noundef %7181, ptr noundef @.str.4)
  %7183 = call ptr @__errno_location() #12
  %7184 = load i32, ptr %7183, align 4, !tbaa !5
  %7185 = call ptr @strerror(i32 noundef %7184) #11
  %7186 = call ptr @__errno_location() #12
  %7187 = load i32, ptr %7186, align 4, !tbaa !5
  %7188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7175, ptr noundef @.str.5, i32 noundef %7176, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 239, ptr noundef %7179, ptr noundef %7182, ptr noundef %7185, i32 noundef %7187) #11
  br label %7189

7189:                                             ; preds = %7172, %7155
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #11
  br label %7190

7190:                                             ; preds = %7189
  br label %7191

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

7192:                                             ; No predecessors!
  br label %7193

7193:                                             ; preds = %7192
  br label %7194

7194:                                             ; preds = %7193, %7135
  br label %7195

7195:                                             ; preds = %7194
  br label %7196

7196:                                             ; preds = %7195
  br label %7197

7197:                                             ; preds = %7196
  %7198 = load i32, ptr @test_count, align 4, !tbaa !5
  %7199 = add nsw i32 %7198, 1
  store i32 %7199, ptr @test_count, align 4, !tbaa !5
  %7200 = load ptr, ptr %125, align 8, !tbaa !9
  %7201 = load ptr, ptr %124, align 8, !tbaa !9
  %7202 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %7200, ptr noundef %7201)
  %7203 = icmp eq i32 %7202, -1
  br i1 %7203, label %7204, label %7257

7204:                                             ; preds = %7197
  br label %7205

7205:                                             ; preds = %7204
  br label %7206

7206:                                             ; preds = %7205
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #11
  %7207 = call ptr @__errno_location() #12
  %7208 = load i32, ptr %7207, align 4, !tbaa !5
  store i32 %7208, ptr %144, align 4, !tbaa !5
  %7209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7210 = call i32 @s2n_print_stacktrace(ptr noundef %7209)
  %7211 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7212 = trunc i8 %7211 to i1
  br i1 %7212, label %7213, label %7235

7213:                                             ; preds = %7206
  %7214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7215 = call i32 @fileno(ptr noundef %7214) #11
  %7216 = call i32 @isatty(i32 noundef %7215) #11
  %7217 = icmp ne i32 %7216, 0
  br i1 %7217, label %7218, label %7235

7218:                                             ; preds = %7213
  %7219 = load i32, ptr %144, align 4, !tbaa !5
  %7220 = call ptr @__errno_location() #12
  store i32 %7219, ptr %7220, align 4, !tbaa !5
  %7221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7222 = load i32, ptr @test_count, align 4, !tbaa !5
  %7223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7224 = load i32, ptr %7223, align 4, !tbaa !5
  %7225 = call ptr @s2n_strerror(i32 noundef %7224, ptr noundef @.str.4)
  %7226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7227 = load i32, ptr %7226, align 4, !tbaa !5
  %7228 = call ptr @s2n_strerror_debug(i32 noundef %7227, ptr noundef @.str.4)
  %7229 = call ptr @__errno_location() #12
  %7230 = load i32, ptr %7229, align 4, !tbaa !5
  %7231 = call ptr @strerror(i32 noundef %7230) #11
  %7232 = call ptr @__errno_location() #12
  %7233 = load i32, ptr %7232, align 4, !tbaa !5
  %7234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7221, ptr noundef @.str.2, i32 noundef %7222, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 240, ptr noundef %7225, ptr noundef %7228, ptr noundef %7231, i32 noundef %7233) #11
  br label %7252

7235:                                             ; preds = %7213, %7206
  %7236 = load i32, ptr %144, align 4, !tbaa !5
  %7237 = call ptr @__errno_location() #12
  store i32 %7236, ptr %7237, align 4, !tbaa !5
  %7238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7239 = load i32, ptr @test_count, align 4, !tbaa !5
  %7240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7241 = load i32, ptr %7240, align 4, !tbaa !5
  %7242 = call ptr @s2n_strerror(i32 noundef %7241, ptr noundef @.str.4)
  %7243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7244 = load i32, ptr %7243, align 4, !tbaa !5
  %7245 = call ptr @s2n_strerror_debug(i32 noundef %7244, ptr noundef @.str.4)
  %7246 = call ptr @__errno_location() #12
  %7247 = load i32, ptr %7246, align 4, !tbaa !5
  %7248 = call ptr @strerror(i32 noundef %7247) #11
  %7249 = call ptr @__errno_location() #12
  %7250 = load i32, ptr %7249, align 4, !tbaa !5
  %7251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7238, ptr noundef @.str.5, i32 noundef %7239, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 240, ptr noundef %7242, ptr noundef %7245, ptr noundef %7248, i32 noundef %7250) #11
  br label %7252

7252:                                             ; preds = %7235, %7218
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #11
  br label %7253

7253:                                             ; preds = %7252
  br label %7254

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

7255:                                             ; No predecessors!
  br label %7256

7256:                                             ; preds = %7255
  br label %7257

7257:                                             ; preds = %7256, %7197
  br label %7258

7258:                                             ; preds = %7257
  br label %7259

7259:                                             ; preds = %7258
  br label %7260

7260:                                             ; preds = %7259
  %7261 = load i32, ptr @test_count, align 4, !tbaa !5
  %7262 = add nsw i32 %7261, 1
  store i32 %7262, ptr @test_count, align 4, !tbaa !5
  %7263 = load ptr, ptr %124, align 8, !tbaa !9
  %7264 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %7263, i32 noundef 64)
  br i1 %7264, label %7318, label %7265

7265:                                             ; preds = %7260
  br label %7266

7266:                                             ; preds = %7265
  br label %7267

7267:                                             ; preds = %7266
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #11
  %7268 = call ptr @__errno_location() #12
  %7269 = load i32, ptr %7268, align 4, !tbaa !5
  store i32 %7269, ptr %145, align 4, !tbaa !5
  %7270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7271 = call i32 @s2n_print_stacktrace(ptr noundef %7270)
  %7272 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7273 = trunc i8 %7272 to i1
  br i1 %7273, label %7274, label %7296

7274:                                             ; preds = %7267
  %7275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7276 = call i32 @fileno(ptr noundef %7275) #11
  %7277 = call i32 @isatty(i32 noundef %7276) #11
  %7278 = icmp ne i32 %7277, 0
  br i1 %7278, label %7279, label %7296

7279:                                             ; preds = %7274
  %7280 = load i32, ptr %145, align 4, !tbaa !5
  %7281 = call ptr @__errno_location() #12
  store i32 %7280, ptr %7281, align 4, !tbaa !5
  %7282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7283 = load i32, ptr @test_count, align 4, !tbaa !5
  %7284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7285 = load i32, ptr %7284, align 4, !tbaa !5
  %7286 = call ptr @s2n_strerror(i32 noundef %7285, ptr noundef @.str.4)
  %7287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7288 = load i32, ptr %7287, align 4, !tbaa !5
  %7289 = call ptr @s2n_strerror_debug(i32 noundef %7288, ptr noundef @.str.4)
  %7290 = call ptr @__errno_location() #12
  %7291 = load i32, ptr %7290, align 4, !tbaa !5
  %7292 = call ptr @strerror(i32 noundef %7291) #11
  %7293 = call ptr @__errno_location() #12
  %7294 = load i32, ptr %7293, align 4, !tbaa !5
  %7295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7282, ptr noundef @.str.2, i32 noundef %7283, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 242, ptr noundef %7286, ptr noundef %7289, ptr noundef %7292, i32 noundef %7294) #11
  br label %7313

7296:                                             ; preds = %7274, %7267
  %7297 = load i32, ptr %145, align 4, !tbaa !5
  %7298 = call ptr @__errno_location() #12
  store i32 %7297, ptr %7298, align 4, !tbaa !5
  %7299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7300 = load i32, ptr @test_count, align 4, !tbaa !5
  %7301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7302 = load i32, ptr %7301, align 4, !tbaa !5
  %7303 = call ptr @s2n_strerror(i32 noundef %7302, ptr noundef @.str.4)
  %7304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7305 = load i32, ptr %7304, align 4, !tbaa !5
  %7306 = call ptr @s2n_strerror_debug(i32 noundef %7305, ptr noundef @.str.4)
  %7307 = call ptr @__errno_location() #12
  %7308 = load i32, ptr %7307, align 4, !tbaa !5
  %7309 = call ptr @strerror(i32 noundef %7308) #11
  %7310 = call ptr @__errno_location() #12
  %7311 = load i32, ptr %7310, align 4, !tbaa !5
  %7312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7299, ptr noundef @.str.5, i32 noundef %7300, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 242, ptr noundef %7303, ptr noundef %7306, ptr noundef %7309, i32 noundef %7311) #11
  br label %7313

7313:                                             ; preds = %7296, %7279
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #11
  br label %7314

7314:                                             ; preds = %7313
  br label %7315

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

7316:                                             ; No predecessors!
  br label %7317

7317:                                             ; preds = %7316
  br label %7318

7318:                                             ; preds = %7317, %7260
  br label %7319

7319:                                             ; preds = %7318
  br label %7320

7320:                                             ; preds = %7319
  br label %7321

7321:                                             ; preds = %7320
  %7322 = load i32, ptr @test_count, align 4, !tbaa !5
  %7323 = add nsw i32 %7322, 1
  store i32 %7323, ptr @test_count, align 4, !tbaa !5
  %7324 = load ptr, ptr %125, align 8, !tbaa !9
  %7325 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %7324, i32 noundef 64)
  br i1 %7325, label %7379, label %7326

7326:                                             ; preds = %7321
  br label %7327

7327:                                             ; preds = %7326
  br label %7328

7328:                                             ; preds = %7327
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #11
  %7329 = call ptr @__errno_location() #12
  %7330 = load i32, ptr %7329, align 4, !tbaa !5
  store i32 %7330, ptr %146, align 4, !tbaa !5
  %7331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7332 = call i32 @s2n_print_stacktrace(ptr noundef %7331)
  %7333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7334 = trunc i8 %7333 to i1
  br i1 %7334, label %7335, label %7357

7335:                                             ; preds = %7328
  %7336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7337 = call i32 @fileno(ptr noundef %7336) #11
  %7338 = call i32 @isatty(i32 noundef %7337) #11
  %7339 = icmp ne i32 %7338, 0
  br i1 %7339, label %7340, label %7357

7340:                                             ; preds = %7335
  %7341 = load i32, ptr %146, align 4, !tbaa !5
  %7342 = call ptr @__errno_location() #12
  store i32 %7341, ptr %7342, align 4, !tbaa !5
  %7343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7344 = load i32, ptr @test_count, align 4, !tbaa !5
  %7345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7346 = load i32, ptr %7345, align 4, !tbaa !5
  %7347 = call ptr @s2n_strerror(i32 noundef %7346, ptr noundef @.str.4)
  %7348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7349 = load i32, ptr %7348, align 4, !tbaa !5
  %7350 = call ptr @s2n_strerror_debug(i32 noundef %7349, ptr noundef @.str.4)
  %7351 = call ptr @__errno_location() #12
  %7352 = load i32, ptr %7351, align 4, !tbaa !5
  %7353 = call ptr @strerror(i32 noundef %7352) #11
  %7354 = call ptr @__errno_location() #12
  %7355 = load i32, ptr %7354, align 4, !tbaa !5
  %7356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7343, ptr noundef @.str.2, i32 noundef %7344, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 243, ptr noundef %7347, ptr noundef %7350, ptr noundef %7353, i32 noundef %7355) #11
  br label %7374

7357:                                             ; preds = %7335, %7328
  %7358 = load i32, ptr %146, align 4, !tbaa !5
  %7359 = call ptr @__errno_location() #12
  store i32 %7358, ptr %7359, align 4, !tbaa !5
  %7360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7361 = load i32, ptr @test_count, align 4, !tbaa !5
  %7362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7363 = load i32, ptr %7362, align 4, !tbaa !5
  %7364 = call ptr @s2n_strerror(i32 noundef %7363, ptr noundef @.str.4)
  %7365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7366 = load i32, ptr %7365, align 4, !tbaa !5
  %7367 = call ptr @s2n_strerror_debug(i32 noundef %7366, ptr noundef @.str.4)
  %7368 = call ptr @__errno_location() #12
  %7369 = load i32, ptr %7368, align 4, !tbaa !5
  %7370 = call ptr @strerror(i32 noundef %7369) #11
  %7371 = call ptr @__errno_location() #12
  %7372 = load i32, ptr %7371, align 4, !tbaa !5
  %7373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7360, ptr noundef @.str.5, i32 noundef %7361, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 243, ptr noundef %7364, ptr noundef %7367, ptr noundef %7370, i32 noundef %7372) #11
  br label %7374

7374:                                             ; preds = %7357, %7340
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #11
  br label %7375

7375:                                             ; preds = %7374
  br label %7376

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

7377:                                             ; No predecessors!
  br label %7378

7378:                                             ; preds = %7377
  br label %7379

7379:                                             ; preds = %7378, %7321
  br label %7380

7380:                                             ; preds = %7379
  br label %7381

7381:                                             ; preds = %7380
  br label %7382

7382:                                             ; preds = %7381
  %7383 = load i32, ptr @test_count, align 4, !tbaa !5
  %7384 = add nsw i32 %7383, 1
  store i32 %7384, ptr @test_count, align 4, !tbaa !5
  %7385 = load ptr, ptr %124, align 8, !tbaa !9
  %7386 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %7385, i32 noundef 128)
  br i1 %7386, label %7440, label %7387

7387:                                             ; preds = %7382
  br label %7388

7388:                                             ; preds = %7387
  br label %7389

7389:                                             ; preds = %7388
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #11
  %7390 = call ptr @__errno_location() #12
  %7391 = load i32, ptr %7390, align 4, !tbaa !5
  store i32 %7391, ptr %147, align 4, !tbaa !5
  %7392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7393 = call i32 @s2n_print_stacktrace(ptr noundef %7392)
  %7394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7395 = trunc i8 %7394 to i1
  br i1 %7395, label %7396, label %7418

7396:                                             ; preds = %7389
  %7397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7398 = call i32 @fileno(ptr noundef %7397) #11
  %7399 = call i32 @isatty(i32 noundef %7398) #11
  %7400 = icmp ne i32 %7399, 0
  br i1 %7400, label %7401, label %7418

7401:                                             ; preds = %7396
  %7402 = load i32, ptr %147, align 4, !tbaa !5
  %7403 = call ptr @__errno_location() #12
  store i32 %7402, ptr %7403, align 4, !tbaa !5
  %7404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7405 = load i32, ptr @test_count, align 4, !tbaa !5
  %7406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7407 = load i32, ptr %7406, align 4, !tbaa !5
  %7408 = call ptr @s2n_strerror(i32 noundef %7407, ptr noundef @.str.4)
  %7409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7410 = load i32, ptr %7409, align 4, !tbaa !5
  %7411 = call ptr @s2n_strerror_debug(i32 noundef %7410, ptr noundef @.str.4)
  %7412 = call ptr @__errno_location() #12
  %7413 = load i32, ptr %7412, align 4, !tbaa !5
  %7414 = call ptr @strerror(i32 noundef %7413) #11
  %7415 = call ptr @__errno_location() #12
  %7416 = load i32, ptr %7415, align 4, !tbaa !5
  %7417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7404, ptr noundef @.str.2, i32 noundef %7405, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 244, ptr noundef %7408, ptr noundef %7411, ptr noundef %7414, i32 noundef %7416) #11
  br label %7435

7418:                                             ; preds = %7396, %7389
  %7419 = load i32, ptr %147, align 4, !tbaa !5
  %7420 = call ptr @__errno_location() #12
  store i32 %7419, ptr %7420, align 4, !tbaa !5
  %7421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7422 = load i32, ptr @test_count, align 4, !tbaa !5
  %7423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7424 = load i32, ptr %7423, align 4, !tbaa !5
  %7425 = call ptr @s2n_strerror(i32 noundef %7424, ptr noundef @.str.4)
  %7426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7427 = load i32, ptr %7426, align 4, !tbaa !5
  %7428 = call ptr @s2n_strerror_debug(i32 noundef %7427, ptr noundef @.str.4)
  %7429 = call ptr @__errno_location() #12
  %7430 = load i32, ptr %7429, align 4, !tbaa !5
  %7431 = call ptr @strerror(i32 noundef %7430) #11
  %7432 = call ptr @__errno_location() #12
  %7433 = load i32, ptr %7432, align 4, !tbaa !5
  %7434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7421, ptr noundef @.str.5, i32 noundef %7422, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 244, ptr noundef %7425, ptr noundef %7428, ptr noundef %7431, i32 noundef %7433) #11
  br label %7435

7435:                                             ; preds = %7418, %7401
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #11
  br label %7436

7436:                                             ; preds = %7435
  br label %7437

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

7438:                                             ; No predecessors!
  br label %7439

7439:                                             ; preds = %7438
  br label %7440

7440:                                             ; preds = %7439, %7382
  br label %7441

7441:                                             ; preds = %7440
  br label %7442

7442:                                             ; preds = %7441
  br label %7443

7443:                                             ; preds = %7442
  %7444 = load i32, ptr @test_count, align 4, !tbaa !5
  %7445 = add nsw i32 %7444, 1
  store i32 %7445, ptr @test_count, align 4, !tbaa !5
  %7446 = load ptr, ptr %125, align 8, !tbaa !9
  %7447 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %7446, i32 noundef 128)
  br i1 %7447, label %7501, label %7448

7448:                                             ; preds = %7443
  br label %7449

7449:                                             ; preds = %7448
  br label %7450

7450:                                             ; preds = %7449
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #11
  %7451 = call ptr @__errno_location() #12
  %7452 = load i32, ptr %7451, align 4, !tbaa !5
  store i32 %7452, ptr %148, align 4, !tbaa !5
  %7453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7454 = call i32 @s2n_print_stacktrace(ptr noundef %7453)
  %7455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7456 = trunc i8 %7455 to i1
  br i1 %7456, label %7457, label %7479

7457:                                             ; preds = %7450
  %7458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7459 = call i32 @fileno(ptr noundef %7458) #11
  %7460 = call i32 @isatty(i32 noundef %7459) #11
  %7461 = icmp ne i32 %7460, 0
  br i1 %7461, label %7462, label %7479

7462:                                             ; preds = %7457
  %7463 = load i32, ptr %148, align 4, !tbaa !5
  %7464 = call ptr @__errno_location() #12
  store i32 %7463, ptr %7464, align 4, !tbaa !5
  %7465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7466 = load i32, ptr @test_count, align 4, !tbaa !5
  %7467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7468 = load i32, ptr %7467, align 4, !tbaa !5
  %7469 = call ptr @s2n_strerror(i32 noundef %7468, ptr noundef @.str.4)
  %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_debug(i32 noundef %7471, ptr noundef @.str.4)
  %7473 = call ptr @__errno_location() #12
  %7474 = load i32, ptr %7473, align 4, !tbaa !5
  %7475 = call ptr @strerror(i32 noundef %7474) #11
  %7476 = call ptr @__errno_location() #12
  %7477 = load i32, ptr %7476, align 4, !tbaa !5
  %7478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7465, ptr noundef @.str.2, i32 noundef %7466, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 245, ptr noundef %7469, ptr noundef %7472, ptr noundef %7475, i32 noundef %7477) #11
  br label %7496

7479:                                             ; preds = %7457, %7450
  %7480 = load i32, ptr %148, align 4, !tbaa !5
  %7481 = call ptr @__errno_location() #12
  store i32 %7480, ptr %7481, align 4, !tbaa !5
  %7482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7483 = load i32, ptr @test_count, align 4, !tbaa !5
  %7484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7485 = load i32, ptr %7484, align 4, !tbaa !5
  %7486 = call ptr @s2n_strerror(i32 noundef %7485, ptr noundef @.str.4)
  %7487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7488 = load i32, ptr %7487, align 4, !tbaa !5
  %7489 = call ptr @s2n_strerror_debug(i32 noundef %7488, ptr noundef @.str.4)
  %7490 = call ptr @__errno_location() #12
  %7491 = load i32, ptr %7490, align 4, !tbaa !5
  %7492 = call ptr @strerror(i32 noundef %7491) #11
  %7493 = call ptr @__errno_location() #12
  %7494 = load i32, ptr %7493, align 4, !tbaa !5
  %7495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7482, ptr noundef @.str.5, i32 noundef %7483, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 245, ptr noundef %7486, ptr noundef %7489, ptr noundef %7492, i32 noundef %7494) #11
  br label %7496

7496:                                             ; preds = %7479, %7462
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #11
  br label %7497

7497:                                             ; preds = %7496
  br label %7498

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

7499:                                             ; No predecessors!
  br label %7500

7500:                                             ; preds = %7499
  br label %7501

7501:                                             ; preds = %7500, %7443
  br label %7502

7502:                                             ; preds = %7501
  br label %7503

7503:                                             ; preds = %7502
  br label %7504

7504:                                             ; preds = %7503
  %7505 = load i32, ptr @test_count, align 4, !tbaa !5
  %7506 = add nsw i32 %7505, 1
  store i32 %7506, ptr @test_count, align 4, !tbaa !5
  %7507 = load ptr, ptr %124, align 8, !tbaa !9
  %7508 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %7507, i32 noundef 2)
  br i1 %7508, label %7509, label %7562

7509:                                             ; preds = %7504
  br label %7510

7510:                                             ; preds = %7509
  br label %7511

7511:                                             ; preds = %7510
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #11
  %7512 = call ptr @__errno_location() #12
  %7513 = load i32, ptr %7512, align 4, !tbaa !5
  store i32 %7513, ptr %149, align 4, !tbaa !5
  %7514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7515 = call i32 @s2n_print_stacktrace(ptr noundef %7514)
  %7516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7517 = trunc i8 %7516 to i1
  br i1 %7517, label %7518, label %7540

7518:                                             ; preds = %7511
  %7519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7520 = call i32 @fileno(ptr noundef %7519) #11
  %7521 = call i32 @isatty(i32 noundef %7520) #11
  %7522 = icmp ne i32 %7521, 0
  br i1 %7522, label %7523, label %7540

7523:                                             ; preds = %7518
  %7524 = load i32, ptr %149, align 4, !tbaa !5
  %7525 = call ptr @__errno_location() #12
  store i32 %7524, ptr %7525, align 4, !tbaa !5
  %7526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7527 = load i32, ptr @test_count, align 4, !tbaa !5
  %7528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7529 = load i32, ptr %7528, align 4, !tbaa !5
  %7530 = call ptr @s2n_strerror(i32 noundef %7529, ptr noundef @.str.4)
  %7531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7532 = load i32, ptr %7531, align 4, !tbaa !5
  %7533 = call ptr @s2n_strerror_debug(i32 noundef %7532, ptr noundef @.str.4)
  %7534 = call ptr @__errno_location() #12
  %7535 = load i32, ptr %7534, align 4, !tbaa !5
  %7536 = call ptr @strerror(i32 noundef %7535) #11
  %7537 = call ptr @__errno_location() #12
  %7538 = load i32, ptr %7537, align 4, !tbaa !5
  %7539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7526, ptr noundef @.str.2, i32 noundef %7527, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 246, ptr noundef %7530, ptr noundef %7533, ptr noundef %7536, i32 noundef %7538) #11
  br label %7557

7540:                                             ; preds = %7518, %7511
  %7541 = load i32, ptr %149, align 4, !tbaa !5
  %7542 = call ptr @__errno_location() #12
  store i32 %7541, ptr %7542, align 4, !tbaa !5
  %7543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7544 = load i32, ptr @test_count, align 4, !tbaa !5
  %7545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7546 = load i32, ptr %7545, align 4, !tbaa !5
  %7547 = call ptr @s2n_strerror(i32 noundef %7546, ptr noundef @.str.4)
  %7548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7549 = load i32, ptr %7548, align 4, !tbaa !5
  %7550 = call ptr @s2n_strerror_debug(i32 noundef %7549, ptr noundef @.str.4)
  %7551 = call ptr @__errno_location() #12
  %7552 = load i32, ptr %7551, align 4, !tbaa !5
  %7553 = call ptr @strerror(i32 noundef %7552) #11
  %7554 = call ptr @__errno_location() #12
  %7555 = load i32, ptr %7554, align 4, !tbaa !5
  %7556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7543, ptr noundef @.str.5, i32 noundef %7544, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 246, ptr noundef %7547, ptr noundef %7550, ptr noundef %7553, i32 noundef %7555) #11
  br label %7557

7557:                                             ; preds = %7540, %7523
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #11
  br label %7558

7558:                                             ; preds = %7557
  br label %7559

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

7560:                                             ; No predecessors!
  br label %7561

7561:                                             ; preds = %7560
  br label %7562

7562:                                             ; preds = %7561, %7504
  br label %7563

7563:                                             ; preds = %7562
  br label %7564

7564:                                             ; preds = %7563
  br label %7565

7565:                                             ; preds = %7564
  %7566 = load i32, ptr @test_count, align 4, !tbaa !5
  %7567 = add nsw i32 %7566, 1
  store i32 %7567, ptr @test_count, align 4, !tbaa !5
  %7568 = load ptr, ptr %125, align 8, !tbaa !9
  %7569 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %7568, i32 noundef 2)
  br i1 %7569, label %7570, label %7623

7570:                                             ; preds = %7565
  br label %7571

7571:                                             ; preds = %7570
  br label %7572

7572:                                             ; preds = %7571
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #11
  %7573 = call ptr @__errno_location() #12
  %7574 = load i32, ptr %7573, align 4, !tbaa !5
  store i32 %7574, ptr %150, align 4, !tbaa !5
  %7575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7576 = call i32 @s2n_print_stacktrace(ptr noundef %7575)
  %7577 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7578 = trunc i8 %7577 to i1
  br i1 %7578, label %7579, label %7601

7579:                                             ; preds = %7572
  %7580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7581 = call i32 @fileno(ptr noundef %7580) #11
  %7582 = call i32 @isatty(i32 noundef %7581) #11
  %7583 = icmp ne i32 %7582, 0
  br i1 %7583, label %7584, label %7601

7584:                                             ; preds = %7579
  %7585 = load i32, ptr %150, align 4, !tbaa !5
  %7586 = call ptr @__errno_location() #12
  store i32 %7585, ptr %7586, align 4, !tbaa !5
  %7587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7588 = load i32, ptr @test_count, align 4, !tbaa !5
  %7589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7590 = load i32, ptr %7589, align 4, !tbaa !5
  %7591 = call ptr @s2n_strerror(i32 noundef %7590, ptr noundef @.str.4)
  %7592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7593 = load i32, ptr %7592, align 4, !tbaa !5
  %7594 = call ptr @s2n_strerror_debug(i32 noundef %7593, ptr noundef @.str.4)
  %7595 = call ptr @__errno_location() #12
  %7596 = load i32, ptr %7595, align 4, !tbaa !5
  %7597 = call ptr @strerror(i32 noundef %7596) #11
  %7598 = call ptr @__errno_location() #12
  %7599 = load i32, ptr %7598, align 4, !tbaa !5
  %7600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7587, ptr noundef @.str.2, i32 noundef %7588, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 247, ptr noundef %7591, ptr noundef %7594, ptr noundef %7597, i32 noundef %7599) #11
  br label %7618

7601:                                             ; preds = %7579, %7572
  %7602 = load i32, ptr %150, align 4, !tbaa !5
  %7603 = call ptr @__errno_location() #12
  store i32 %7602, ptr %7603, align 4, !tbaa !5
  %7604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7605 = load i32, ptr @test_count, align 4, !tbaa !5
  %7606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7607 = load i32, ptr %7606, align 4, !tbaa !5
  %7608 = call ptr @s2n_strerror(i32 noundef %7607, ptr noundef @.str.4)
  %7609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7610 = load i32, ptr %7609, align 4, !tbaa !5
  %7611 = call ptr @s2n_strerror_debug(i32 noundef %7610, ptr noundef @.str.4)
  %7612 = call ptr @__errno_location() #12
  %7613 = load i32, ptr %7612, align 4, !tbaa !5
  %7614 = call ptr @strerror(i32 noundef %7613) #11
  %7615 = call ptr @__errno_location() #12
  %7616 = load i32, ptr %7615, align 4, !tbaa !5
  %7617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7604, ptr noundef @.str.5, i32 noundef %7605, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 247, ptr noundef %7608, ptr noundef %7611, ptr noundef %7614, i32 noundef %7616) #11
  br label %7618

7618:                                             ; preds = %7601, %7584
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #11
  br label %7619

7619:                                             ; preds = %7618
  br label %7620

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

7621:                                             ; No predecessors!
  br label %7622

7622:                                             ; preds = %7621
  br label %7623

7623:                                             ; preds = %7622, %7565
  br label %7624

7624:                                             ; preds = %7623
  br label %7625

7625:                                             ; preds = %7624
  br label %7626

7626:                                             ; preds = %7625
  %7627 = load i32, ptr @test_count, align 4, !tbaa !5
  %7628 = add nsw i32 %7627, 1
  store i32 %7628, ptr @test_count, align 4, !tbaa !5
  %7629 = load ptr, ptr %124, align 8, !tbaa !9
  %7630 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %7629, i32 noundef 16)
  br i1 %7630, label %7631, label %7684

7631:                                             ; preds = %7626
  br label %7632

7632:                                             ; preds = %7631
  br label %7633

7633:                                             ; preds = %7632
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #11
  %7634 = call ptr @__errno_location() #12
  %7635 = load i32, ptr %7634, align 4, !tbaa !5
  store i32 %7635, ptr %151, align 4, !tbaa !5
  %7636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7637 = call i32 @s2n_print_stacktrace(ptr noundef %7636)
  %7638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7639 = trunc i8 %7638 to i1
  br i1 %7639, label %7640, label %7662

7640:                                             ; preds = %7633
  %7641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7642 = call i32 @fileno(ptr noundef %7641) #11
  %7643 = call i32 @isatty(i32 noundef %7642) #11
  %7644 = icmp ne i32 %7643, 0
  br i1 %7644, label %7645, label %7662

7645:                                             ; preds = %7640
  %7646 = load i32, ptr %151, align 4, !tbaa !5
  %7647 = call ptr @__errno_location() #12
  store i32 %7646, ptr %7647, align 4, !tbaa !5
  %7648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7649 = load i32, ptr @test_count, align 4, !tbaa !5
  %7650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7651 = load i32, ptr %7650, align 4, !tbaa !5
  %7652 = call ptr @s2n_strerror(i32 noundef %7651, ptr noundef @.str.4)
  %7653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7654 = load i32, ptr %7653, align 4, !tbaa !5
  %7655 = call ptr @s2n_strerror_debug(i32 noundef %7654, ptr noundef @.str.4)
  %7656 = call ptr @__errno_location() #12
  %7657 = load i32, ptr %7656, align 4, !tbaa !5
  %7658 = call ptr @strerror(i32 noundef %7657) #11
  %7659 = call ptr @__errno_location() #12
  %7660 = load i32, ptr %7659, align 4, !tbaa !5
  %7661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7648, ptr noundef @.str.2, i32 noundef %7649, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 248, ptr noundef %7652, ptr noundef %7655, ptr noundef %7658, i32 noundef %7660) #11
  br label %7679

7662:                                             ; preds = %7640, %7633
  %7663 = load i32, ptr %151, align 4, !tbaa !5
  %7664 = call ptr @__errno_location() #12
  store i32 %7663, ptr %7664, align 4, !tbaa !5
  %7665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7666 = load i32, ptr @test_count, align 4, !tbaa !5
  %7667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7668 = load i32, ptr %7667, align 4, !tbaa !5
  %7669 = call ptr @s2n_strerror(i32 noundef %7668, ptr noundef @.str.4)
  %7670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7671 = load i32, ptr %7670, align 4, !tbaa !5
  %7672 = call ptr @s2n_strerror_debug(i32 noundef %7671, ptr noundef @.str.4)
  %7673 = call ptr @__errno_location() #12
  %7674 = load i32, ptr %7673, align 4, !tbaa !5
  %7675 = call ptr @strerror(i32 noundef %7674) #11
  %7676 = call ptr @__errno_location() #12
  %7677 = load i32, ptr %7676, align 4, !tbaa !5
  %7678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7665, ptr noundef @.str.5, i32 noundef %7666, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 248, ptr noundef %7669, ptr noundef %7672, ptr noundef %7675, i32 noundef %7677) #11
  br label %7679

7679:                                             ; preds = %7662, %7645
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #11
  br label %7680

7680:                                             ; preds = %7679
  br label %7681

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

7682:                                             ; No predecessors!
  br label %7683

7683:                                             ; preds = %7682
  br label %7684

7684:                                             ; preds = %7683, %7626
  br label %7685

7685:                                             ; preds = %7684
  br label %7686

7686:                                             ; preds = %7685
  br label %7687

7687:                                             ; preds = %7686
  %7688 = load i32, ptr @test_count, align 4, !tbaa !5
  %7689 = add nsw i32 %7688, 1
  store i32 %7689, ptr @test_count, align 4, !tbaa !5
  %7690 = load ptr, ptr %125, align 8, !tbaa !9
  %7691 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %7690, i32 noundef 16)
  br i1 %7691, label %7692, label %7745

7692:                                             ; preds = %7687
  br label %7693

7693:                                             ; preds = %7692
  br label %7694

7694:                                             ; preds = %7693
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #11
  %7695 = call ptr @__errno_location() #12
  %7696 = load i32, ptr %7695, align 4, !tbaa !5
  store i32 %7696, ptr %152, align 4, !tbaa !5
  %7697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7698 = call i32 @s2n_print_stacktrace(ptr noundef %7697)
  %7699 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7700 = trunc i8 %7699 to i1
  br i1 %7700, label %7701, label %7723

7701:                                             ; preds = %7694
  %7702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7703 = call i32 @fileno(ptr noundef %7702) #11
  %7704 = call i32 @isatty(i32 noundef %7703) #11
  %7705 = icmp ne i32 %7704, 0
  br i1 %7705, label %7706, label %7723

7706:                                             ; preds = %7701
  %7707 = load i32, ptr %152, align 4, !tbaa !5
  %7708 = call ptr @__errno_location() #12
  store i32 %7707, ptr %7708, align 4, !tbaa !5
  %7709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7710 = load i32, ptr @test_count, align 4, !tbaa !5
  %7711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7712 = load i32, ptr %7711, align 4, !tbaa !5
  %7713 = call ptr @s2n_strerror(i32 noundef %7712, ptr noundef @.str.4)
  %7714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7715 = load i32, ptr %7714, align 4, !tbaa !5
  %7716 = call ptr @s2n_strerror_debug(i32 noundef %7715, ptr noundef @.str.4)
  %7717 = call ptr @__errno_location() #12
  %7718 = load i32, ptr %7717, align 4, !tbaa !5
  %7719 = call ptr @strerror(i32 noundef %7718) #11
  %7720 = call ptr @__errno_location() #12
  %7721 = load i32, ptr %7720, align 4, !tbaa !5
  %7722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7709, ptr noundef @.str.2, i32 noundef %7710, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 249, ptr noundef %7713, ptr noundef %7716, ptr noundef %7719, i32 noundef %7721) #11
  br label %7740

7723:                                             ; preds = %7701, %7694
  %7724 = load i32, ptr %152, align 4, !tbaa !5
  %7725 = call ptr @__errno_location() #12
  store i32 %7724, ptr %7725, align 4, !tbaa !5
  %7726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7727 = load i32, ptr @test_count, align 4, !tbaa !5
  %7728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7729 = load i32, ptr %7728, align 4, !tbaa !5
  %7730 = call ptr @s2n_strerror(i32 noundef %7729, ptr noundef @.str.4)
  %7731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7732 = load i32, ptr %7731, align 4, !tbaa !5
  %7733 = call ptr @s2n_strerror_debug(i32 noundef %7732, ptr noundef @.str.4)
  %7734 = call ptr @__errno_location() #12
  %7735 = load i32, ptr %7734, align 4, !tbaa !5
  %7736 = call ptr @strerror(i32 noundef %7735) #11
  %7737 = call ptr @__errno_location() #12
  %7738 = load i32, ptr %7737, align 4, !tbaa !5
  %7739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7726, ptr noundef @.str.5, i32 noundef %7727, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 249, ptr noundef %7730, ptr noundef %7733, ptr noundef %7736, i32 noundef %7738) #11
  br label %7740

7740:                                             ; preds = %7723, %7706
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #11
  br label %7741

7741:                                             ; preds = %7740
  br label %7742

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

7743:                                             ; No predecessors!
  br label %7744

7744:                                             ; preds = %7743
  br label %7745

7745:                                             ; preds = %7744, %7687
  br label %7746

7746:                                             ; preds = %7745
  br label %7747

7747:                                             ; preds = %7746
  br label %7748

7748:                                             ; preds = %7747
  %7749 = load i32, ptr @test_count, align 4, !tbaa !5
  %7750 = add nsw i32 %7749, 1
  store i32 %7750, ptr @test_count, align 4, !tbaa !5
  %7751 = load ptr, ptr %124, align 8, !tbaa !9
  %7752 = call i32 @s2n_conn_get_current_message_type(ptr noundef %7751)
  %7753 = icmp eq i32 %7752, 20
  br i1 %7753, label %7807, label %7754

7754:                                             ; preds = %7748
  br label %7755

7755:                                             ; preds = %7754
  br label %7756

7756:                                             ; preds = %7755
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #11
  %7757 = call ptr @__errno_location() #12
  %7758 = load i32, ptr %7757, align 4, !tbaa !5
  store i32 %7758, ptr %153, align 4, !tbaa !5
  %7759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7760 = call i32 @s2n_print_stacktrace(ptr noundef %7759)
  %7761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7762 = trunc i8 %7761 to i1
  br i1 %7762, label %7763, label %7785

7763:                                             ; preds = %7756
  %7764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7765 = call i32 @fileno(ptr noundef %7764) #11
  %7766 = call i32 @isatty(i32 noundef %7765) #11
  %7767 = icmp ne i32 %7766, 0
  br i1 %7767, label %7768, label %7785

7768:                                             ; preds = %7763
  %7769 = load i32, ptr %153, align 4, !tbaa !5
  %7770 = call ptr @__errno_location() #12
  store i32 %7769, ptr %7770, align 4, !tbaa !5
  %7771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7772 = load i32, ptr @test_count, align 4, !tbaa !5
  %7773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7774 = load i32, ptr %7773, align 4, !tbaa !5
  %7775 = call ptr @s2n_strerror(i32 noundef %7774, ptr noundef @.str.4)
  %7776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7777 = load i32, ptr %7776, align 4, !tbaa !5
  %7778 = call ptr @s2n_strerror_debug(i32 noundef %7777, ptr noundef @.str.4)
  %7779 = call ptr @__errno_location() #12
  %7780 = load i32, ptr %7779, align 4, !tbaa !5
  %7781 = call ptr @strerror(i32 noundef %7780) #11
  %7782 = call ptr @__errno_location() #12
  %7783 = load i32, ptr %7782, align 4, !tbaa !5
  %7784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7771, ptr noundef @.str.2, i32 noundef %7772, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 251, ptr noundef %7775, ptr noundef %7778, ptr noundef %7781, i32 noundef %7783) #11
  br label %7802

7785:                                             ; preds = %7763, %7756
  %7786 = load i32, ptr %153, align 4, !tbaa !5
  %7787 = call ptr @__errno_location() #12
  store i32 %7786, ptr %7787, align 4, !tbaa !5
  %7788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7789 = load i32, ptr @test_count, align 4, !tbaa !5
  %7790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7791 = load i32, ptr %7790, align 4, !tbaa !5
  %7792 = call ptr @s2n_strerror(i32 noundef %7791, ptr noundef @.str.4)
  %7793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7794 = load i32, ptr %7793, align 4, !tbaa !5
  %7795 = call ptr @s2n_strerror_debug(i32 noundef %7794, ptr noundef @.str.4)
  %7796 = call ptr @__errno_location() #12
  %7797 = load i32, ptr %7796, align 4, !tbaa !5
  %7798 = call ptr @strerror(i32 noundef %7797) #11
  %7799 = call ptr @__errno_location() #12
  %7800 = load i32, ptr %7799, align 4, !tbaa !5
  %7801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7788, ptr noundef @.str.5, i32 noundef %7789, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 251, ptr noundef %7792, ptr noundef %7795, ptr noundef %7798, i32 noundef %7800) #11
  br label %7802

7802:                                             ; preds = %7785, %7768
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #11
  br label %7803

7803:                                             ; preds = %7802
  br label %7804

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

7805:                                             ; No predecessors!
  br label %7806

7806:                                             ; preds = %7805
  br label %7807

7807:                                             ; preds = %7806, %7748
  br label %7808

7808:                                             ; preds = %7807
  br label %7809

7809:                                             ; preds = %7808
  br label %7810

7810:                                             ; preds = %7809
  %7811 = load i32, ptr @test_count, align 4, !tbaa !5
  %7812 = add nsw i32 %7811, 1
  store i32 %7812, ptr @test_count, align 4, !tbaa !5
  %7813 = load ptr, ptr %125, align 8, !tbaa !9
  %7814 = call i32 @s2n_conn_get_current_message_type(ptr noundef %7813)
  %7815 = icmp eq i32 %7814, 20
  br i1 %7815, label %7869, label %7816

7816:                                             ; preds = %7810
  br label %7817

7817:                                             ; preds = %7816
  br label %7818

7818:                                             ; preds = %7817
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #11
  %7819 = call ptr @__errno_location() #12
  %7820 = load i32, ptr %7819, align 4, !tbaa !5
  store i32 %7820, ptr %154, align 4, !tbaa !5
  %7821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7822 = call i32 @s2n_print_stacktrace(ptr noundef %7821)
  %7823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7824 = trunc i8 %7823 to i1
  br i1 %7824, label %7825, label %7847

7825:                                             ; preds = %7818
  %7826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7827 = call i32 @fileno(ptr noundef %7826) #11
  %7828 = call i32 @isatty(i32 noundef %7827) #11
  %7829 = icmp ne i32 %7828, 0
  br i1 %7829, label %7830, label %7847

7830:                                             ; preds = %7825
  %7831 = load i32, ptr %154, align 4, !tbaa !5
  %7832 = call ptr @__errno_location() #12
  store i32 %7831, ptr %7832, align 4, !tbaa !5
  %7833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7834 = load i32, ptr @test_count, align 4, !tbaa !5
  %7835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7836 = load i32, ptr %7835, align 4, !tbaa !5
  %7837 = call ptr @s2n_strerror(i32 noundef %7836, ptr noundef @.str.4)
  %7838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7839 = load i32, ptr %7838, align 4, !tbaa !5
  %7840 = call ptr @s2n_strerror_debug(i32 noundef %7839, ptr noundef @.str.4)
  %7841 = call ptr @__errno_location() #12
  %7842 = load i32, ptr %7841, align 4, !tbaa !5
  %7843 = call ptr @strerror(i32 noundef %7842) #11
  %7844 = call ptr @__errno_location() #12
  %7845 = load i32, ptr %7844, align 4, !tbaa !5
  %7846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7833, ptr noundef @.str.2, i32 noundef %7834, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 252, ptr noundef %7837, ptr noundef %7840, ptr noundef %7843, i32 noundef %7845) #11
  br label %7864

7847:                                             ; preds = %7825, %7818
  %7848 = load i32, ptr %154, align 4, !tbaa !5
  %7849 = call ptr @__errno_location() #12
  store i32 %7848, ptr %7849, align 4, !tbaa !5
  %7850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7851 = load i32, ptr @test_count, align 4, !tbaa !5
  %7852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7853 = load i32, ptr %7852, align 4, !tbaa !5
  %7854 = call ptr @s2n_strerror(i32 noundef %7853, ptr noundef @.str.4)
  %7855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7856 = load i32, ptr %7855, align 4, !tbaa !5
  %7857 = call ptr @s2n_strerror_debug(i32 noundef %7856, ptr noundef @.str.4)
  %7858 = call ptr @__errno_location() #12
  %7859 = load i32, ptr %7858, align 4, !tbaa !5
  %7860 = call ptr @strerror(i32 noundef %7859) #11
  %7861 = call ptr @__errno_location() #12
  %7862 = load i32, ptr %7861, align 4, !tbaa !5
  %7863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7850, ptr noundef @.str.5, i32 noundef %7851, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 252, ptr noundef %7854, ptr noundef %7857, ptr noundef %7860, i32 noundef %7862) #11
  br label %7864

7864:                                             ; preds = %7847, %7830
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #11
  br label %7865

7865:                                             ; preds = %7864
  br label %7866

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

7867:                                             ; No predecessors!
  br label %7868

7868:                                             ; preds = %7867
  br label %7869

7869:                                             ; preds = %7868, %7810
  br label %7870

7870:                                             ; preds = %7869
  br label %7871

7871:                                             ; preds = %7870
  br label %7872

7872:                                             ; preds = %7871
  %7873 = load i32, ptr @test_count, align 4, !tbaa !5
  %7874 = add nsw i32 %7873, 1
  store i32 %7874, ptr @test_count, align 4, !tbaa !5
  %7875 = load ptr, ptr %125, align 8, !tbaa !9
  %7876 = load ptr, ptr %124, align 8, !tbaa !9
  %7877 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %7875, ptr noundef %7876)
  %7878 = icmp eq i32 %7877, -1
  br i1 %7878, label %7879, label %7932

7879:                                             ; preds = %7872
  br label %7880

7880:                                             ; preds = %7879
  br label %7881

7881:                                             ; preds = %7880
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #11
  %7882 = call ptr @__errno_location() #12
  %7883 = load i32, ptr %7882, align 4, !tbaa !5
  store i32 %7883, ptr %155, align 4, !tbaa !5
  %7884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7885 = call i32 @s2n_print_stacktrace(ptr noundef %7884)
  %7886 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7887 = trunc i8 %7886 to i1
  br i1 %7887, label %7888, label %7910

7888:                                             ; preds = %7881
  %7889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7890 = call i32 @fileno(ptr noundef %7889) #11
  %7891 = call i32 @isatty(i32 noundef %7890) #11
  %7892 = icmp ne i32 %7891, 0
  br i1 %7892, label %7893, label %7910

7893:                                             ; preds = %7888
  %7894 = load i32, ptr %155, align 4, !tbaa !5
  %7895 = call ptr @__errno_location() #12
  store i32 %7894, ptr %7895, align 4, !tbaa !5
  %7896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7897 = load i32, ptr @test_count, align 4, !tbaa !5
  %7898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7899 = load i32, ptr %7898, align 4, !tbaa !5
  %7900 = call ptr @s2n_strerror(i32 noundef %7899, ptr noundef @.str.4)
  %7901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7902 = load i32, ptr %7901, align 4, !tbaa !5
  %7903 = call ptr @s2n_strerror_debug(i32 noundef %7902, ptr noundef @.str.4)
  %7904 = call ptr @__errno_location() #12
  %7905 = load i32, ptr %7904, align 4, !tbaa !5
  %7906 = call ptr @strerror(i32 noundef %7905) #11
  %7907 = call ptr @__errno_location() #12
  %7908 = load i32, ptr %7907, align 4, !tbaa !5
  %7909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7896, ptr noundef @.str.2, i32 noundef %7897, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 254, ptr noundef %7900, ptr noundef %7903, ptr noundef %7906, i32 noundef %7908) #11
  br label %7927

7910:                                             ; preds = %7888, %7881
  %7911 = load i32, ptr %155, align 4, !tbaa !5
  %7912 = call ptr @__errno_location() #12
  store i32 %7911, ptr %7912, align 4, !tbaa !5
  %7913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7914 = load i32, ptr @test_count, align 4, !tbaa !5
  %7915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7916 = load i32, ptr %7915, align 4, !tbaa !5
  %7917 = call ptr @s2n_strerror(i32 noundef %7916, ptr noundef @.str.4)
  %7918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7919 = load i32, ptr %7918, align 4, !tbaa !5
  %7920 = call ptr @s2n_strerror_debug(i32 noundef %7919, ptr noundef @.str.4)
  %7921 = call ptr @__errno_location() #12
  %7922 = load i32, ptr %7921, align 4, !tbaa !5
  %7923 = call ptr @strerror(i32 noundef %7922) #11
  %7924 = call ptr @__errno_location() #12
  %7925 = load i32, ptr %7924, align 4, !tbaa !5
  %7926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7913, ptr noundef @.str.5, i32 noundef %7914, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 254, ptr noundef %7917, ptr noundef %7920, ptr noundef %7923, i32 noundef %7925) #11
  br label %7927

7927:                                             ; preds = %7910, %7893
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #11
  br label %7928

7928:                                             ; preds = %7927
  br label %7929

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

7930:                                             ; No predecessors!
  br label %7931

7931:                                             ; preds = %7930
  br label %7932

7932:                                             ; preds = %7931, %7872
  br label %7933

7933:                                             ; preds = %7932
  br label %7934

7934:                                             ; preds = %7933
  br label %7935

7935:                                             ; preds = %7934
  %7936 = load i32, ptr @test_count, align 4, !tbaa !5
  %7937 = add nsw i32 %7936, 1
  store i32 %7937, ptr @test_count, align 4, !tbaa !5
  %7938 = load ptr, ptr %124, align 8, !tbaa !9
  %7939 = call i32 @s2n_connection_free(ptr noundef %7938)
  %7940 = icmp eq i32 %7939, -1
  br i1 %7940, label %7941, label %7994

7941:                                             ; preds = %7935
  br label %7942

7942:                                             ; preds = %7941
  br label %7943

7943:                                             ; preds = %7942
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #11
  %7944 = call ptr @__errno_location() #12
  %7945 = load i32, ptr %7944, align 4, !tbaa !5
  store i32 %7945, ptr %156, align 4, !tbaa !5
  %7946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7947 = call i32 @s2n_print_stacktrace(ptr noundef %7946)
  %7948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7949 = trunc i8 %7948 to i1
  br i1 %7949, label %7950, label %7972

7950:                                             ; preds = %7943
  %7951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7952 = call i32 @fileno(ptr noundef %7951) #11
  %7953 = call i32 @isatty(i32 noundef %7952) #11
  %7954 = icmp ne i32 %7953, 0
  br i1 %7954, label %7955, label %7972

7955:                                             ; preds = %7950
  %7956 = load i32, ptr %156, align 4, !tbaa !5
  %7957 = call ptr @__errno_location() #12
  store i32 %7956, ptr %7957, align 4, !tbaa !5
  %7958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7959 = load i32, ptr @test_count, align 4, !tbaa !5
  %7960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7961 = load i32, ptr %7960, align 4, !tbaa !5
  %7962 = call ptr @s2n_strerror(i32 noundef %7961, ptr noundef @.str.4)
  %7963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7964 = load i32, ptr %7963, align 4, !tbaa !5
  %7965 = call ptr @s2n_strerror_debug(i32 noundef %7964, ptr noundef @.str.4)
  %7966 = call ptr @__errno_location() #12
  %7967 = load i32, ptr %7966, align 4, !tbaa !5
  %7968 = call ptr @strerror(i32 noundef %7967) #11
  %7969 = call ptr @__errno_location() #12
  %7970 = load i32, ptr %7969, align 4, !tbaa !5
  %7971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7958, ptr noundef @.str.2, i32 noundef %7959, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 255, ptr noundef %7962, ptr noundef %7965, ptr noundef %7968, i32 noundef %7970) #11
  br label %7989

7972:                                             ; preds = %7950, %7943
  %7973 = load i32, ptr %156, align 4, !tbaa !5
  %7974 = call ptr @__errno_location() #12
  store i32 %7973, ptr %7974, align 4, !tbaa !5
  %7975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7976 = load i32, ptr @test_count, align 4, !tbaa !5
  %7977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7978 = load i32, ptr %7977, align 4, !tbaa !5
  %7979 = call ptr @s2n_strerror(i32 noundef %7978, ptr noundef @.str.4)
  %7980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7981 = load i32, ptr %7980, align 4, !tbaa !5
  %7982 = call ptr @s2n_strerror_debug(i32 noundef %7981, ptr noundef @.str.4)
  %7983 = call ptr @__errno_location() #12
  %7984 = load i32, ptr %7983, align 4, !tbaa !5
  %7985 = call ptr @strerror(i32 noundef %7984) #11
  %7986 = call ptr @__errno_location() #12
  %7987 = load i32, ptr %7986, align 4, !tbaa !5
  %7988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7975, ptr noundef @.str.5, i32 noundef %7976, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 255, ptr noundef %7979, ptr noundef %7982, ptr noundef %7985, i32 noundef %7987) #11
  br label %7989

7989:                                             ; preds = %7972, %7955
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #11
  br label %7990

7990:                                             ; preds = %7989
  br label %7991

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

7992:                                             ; No predecessors!
  br label %7993

7993:                                             ; preds = %7992
  br label %7994

7994:                                             ; preds = %7993, %7935
  br label %7995

7995:                                             ; preds = %7994
  br label %7996

7996:                                             ; preds = %7995
  br label %7997

7997:                                             ; preds = %7996
  %7998 = load i32, ptr @test_count, align 4, !tbaa !5
  %7999 = add nsw i32 %7998, 1
  store i32 %7999, ptr @test_count, align 4, !tbaa !5
  %8000 = load ptr, ptr %125, align 8, !tbaa !9
  %8001 = call i32 @s2n_connection_free(ptr noundef %8000)
  %8002 = icmp eq i32 %8001, -1
  br i1 %8002, label %8003, label %8056

8003:                                             ; preds = %7997
  br label %8004

8004:                                             ; preds = %8003
  br label %8005

8005:                                             ; preds = %8004
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #11
  %8006 = call ptr @__errno_location() #12
  %8007 = load i32, ptr %8006, align 4, !tbaa !5
  store i32 %8007, ptr %157, align 4, !tbaa !5
  %8008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8009 = call i32 @s2n_print_stacktrace(ptr noundef %8008)
  %8010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8011 = trunc i8 %8010 to i1
  br i1 %8011, label %8012, label %8034

8012:                                             ; preds = %8005
  %8013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8014 = call i32 @fileno(ptr noundef %8013) #11
  %8015 = call i32 @isatty(i32 noundef %8014) #11
  %8016 = icmp ne i32 %8015, 0
  br i1 %8016, label %8017, label %8034

8017:                                             ; preds = %8012
  %8018 = load i32, ptr %157, align 4, !tbaa !5
  %8019 = call ptr @__errno_location() #12
  store i32 %8018, ptr %8019, align 4, !tbaa !5
  %8020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8021 = load i32, ptr @test_count, align 4, !tbaa !5
  %8022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8023 = load i32, ptr %8022, align 4, !tbaa !5
  %8024 = call ptr @s2n_strerror(i32 noundef %8023, ptr noundef @.str.4)
  %8025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8026 = load i32, ptr %8025, align 4, !tbaa !5
  %8027 = call ptr @s2n_strerror_debug(i32 noundef %8026, ptr noundef @.str.4)
  %8028 = call ptr @__errno_location() #12
  %8029 = load i32, ptr %8028, align 4, !tbaa !5
  %8030 = call ptr @strerror(i32 noundef %8029) #11
  %8031 = call ptr @__errno_location() #12
  %8032 = load i32, ptr %8031, align 4, !tbaa !5
  %8033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8020, ptr noundef @.str.2, i32 noundef %8021, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 256, ptr noundef %8024, ptr noundef %8027, ptr noundef %8030, i32 noundef %8032) #11
  br label %8051

8034:                                             ; preds = %8012, %8005
  %8035 = load i32, ptr %157, align 4, !tbaa !5
  %8036 = call ptr @__errno_location() #12
  store i32 %8035, ptr %8036, align 4, !tbaa !5
  %8037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8038 = load i32, ptr @test_count, align 4, !tbaa !5
  %8039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8040 = load i32, ptr %8039, align 4, !tbaa !5
  %8041 = call ptr @s2n_strerror(i32 noundef %8040, ptr noundef @.str.4)
  %8042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8043 = load i32, ptr %8042, align 4, !tbaa !5
  %8044 = call ptr @s2n_strerror_debug(i32 noundef %8043, ptr noundef @.str.4)
  %8045 = call ptr @__errno_location() #12
  %8046 = load i32, ptr %8045, align 4, !tbaa !5
  %8047 = call ptr @strerror(i32 noundef %8046) #11
  %8048 = call ptr @__errno_location() #12
  %8049 = load i32, ptr %8048, align 4, !tbaa !5
  %8050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8037, ptr noundef @.str.5, i32 noundef %8038, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 256, ptr noundef %8041, ptr noundef %8044, ptr noundef %8047, i32 noundef %8049) #11
  br label %8051

8051:                                             ; preds = %8034, %8017
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #11
  br label %8052

8052:                                             ; preds = %8051
  br label %8053

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

8054:                                             ; No predecessors!
  br label %8055

8055:                                             ; preds = %8054
  br label %8056

8056:                                             ; preds = %8055, %7997
  br label %8057

8057:                                             ; preds = %8056
  br label %8058

8058:                                             ; preds = %8057
  br label %8059

8059:                                             ; preds = %8058
  %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 %121, align 8, !tbaa !9
  %8063 = call i32 @s2n_config_free(ptr noundef %8062)
  %8064 = icmp eq i32 %8063, -1
  br i1 %8064, label %8065, label %8118

8065:                                             ; preds = %8059
  br label %8066

8066:                                             ; preds = %8065
  br label %8067

8067:                                             ; preds = %8066
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #11
  %8068 = call ptr @__errno_location() #12
  %8069 = load i32, ptr %8068, align 4, !tbaa !5
  store i32 %8069, ptr %158, align 4, !tbaa !5
  %8070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8071 = call i32 @s2n_print_stacktrace(ptr noundef %8070)
  %8072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8073 = trunc i8 %8072 to i1
  br i1 %8073, label %8074, label %8096

8074:                                             ; preds = %8067
  %8075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8076 = call i32 @fileno(ptr noundef %8075) #11
  %8077 = call i32 @isatty(i32 noundef %8076) #11
  %8078 = icmp ne i32 %8077, 0
  br i1 %8078, label %8079, label %8096

8079:                                             ; preds = %8074
  %8080 = load i32, ptr %158, align 4, !tbaa !5
  %8081 = call ptr @__errno_location() #12
  store i32 %8080, ptr %8081, align 4, !tbaa !5
  %8082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8083 = load i32, ptr @test_count, align 4, !tbaa !5
  %8084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8085 = load i32, ptr %8084, align 4, !tbaa !5
  %8086 = call ptr @s2n_strerror(i32 noundef %8085, ptr noundef @.str.4)
  %8087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8088 = load i32, ptr %8087, align 4, !tbaa !5
  %8089 = call ptr @s2n_strerror_debug(i32 noundef %8088, ptr noundef @.str.4)
  %8090 = call ptr @__errno_location() #12
  %8091 = load i32, ptr %8090, align 4, !tbaa !5
  %8092 = call ptr @strerror(i32 noundef %8091) #11
  %8093 = call ptr @__errno_location() #12
  %8094 = load i32, ptr %8093, align 4, !tbaa !5
  %8095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8082, ptr noundef @.str.2, i32 noundef %8083, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 257, ptr noundef %8086, ptr noundef %8089, ptr noundef %8092, i32 noundef %8094) #11
  br label %8113

8096:                                             ; preds = %8074, %8067
  %8097 = load i32, ptr %158, align 4, !tbaa !5
  %8098 = call ptr @__errno_location() #12
  store i32 %8097, ptr %8098, align 4, !tbaa !5
  %8099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8100 = load i32, ptr @test_count, align 4, !tbaa !5
  %8101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8102 = load i32, ptr %8101, align 4, !tbaa !5
  %8103 = call ptr @s2n_strerror(i32 noundef %8102, ptr noundef @.str.4)
  %8104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8105 = load i32, ptr %8104, align 4, !tbaa !5
  %8106 = call ptr @s2n_strerror_debug(i32 noundef %8105, ptr noundef @.str.4)
  %8107 = call ptr @__errno_location() #12
  %8108 = load i32, ptr %8107, align 4, !tbaa !5
  %8109 = call ptr @strerror(i32 noundef %8108) #11
  %8110 = call ptr @__errno_location() #12
  %8111 = load i32, ptr %8110, align 4, !tbaa !5
  %8112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8099, ptr noundef @.str.5, i32 noundef %8100, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 257, ptr noundef %8103, ptr noundef %8106, ptr noundef %8109, i32 noundef %8111) #11
  br label %8113

8113:                                             ; preds = %8096, %8079
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #11
  br label %8114

8114:                                             ; preds = %8113
  br label %8115

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

8116:                                             ; No predecessors!
  br label %8117

8117:                                             ; preds = %8116
  br label %8118

8118:                                             ; preds = %8117, %8059
  br label %8119

8119:                                             ; preds = %8118
  br label %8120

8120:                                             ; preds = %8119
  %8121 = call i32 @s2n_io_pair_close(ptr noundef %126)
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %125) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %124) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %121) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %159) #11
  store ptr null, ptr %159, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %160) #11
  store ptr null, ptr %160, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %161) #11
  call void @llvm.memset.p0.i64(ptr align 4 %161, i8 0, i64 8, i1 false)
  br label %8122

8122:                                             ; preds = %8120
  %8123 = load i32, ptr @test_count, align 4, !tbaa !5
  %8124 = add nsw i32 %8123, 1
  store i32 %8124, ptr @test_count, align 4, !tbaa !5
  %8125 = call i32 @s2n_test_client_and_server_new(ptr noundef %159, ptr noundef %160, ptr noundef %161)
  %8126 = getelementptr inbounds %struct.s2n_result, ptr %162, i32 0, i32 0
  store i32 %8125, ptr %8126, align 4
  %8127 = getelementptr inbounds %struct.s2n_result, ptr %162, i32 0, i32 0
  %8128 = load i32, ptr %8127, align 4
  %8129 = call zeroext i1 @s2n_result_is_ok(i32 %8128)
  br i1 %8129, label %8183, label %8130

8130:                                             ; preds = %8122
  br label %8131

8131:                                             ; preds = %8130
  br label %8132

8132:                                             ; preds = %8131
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #11
  %8133 = call ptr @__errno_location() #12
  %8134 = load i32, ptr %8133, align 4, !tbaa !5
  store i32 %8134, ptr %163, align 4, !tbaa !5
  %8135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8136 = call i32 @s2n_print_stacktrace(ptr noundef %8135)
  %8137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8138 = trunc i8 %8137 to i1
  br i1 %8138, label %8139, label %8161

8139:                                             ; preds = %8132
  %8140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8141 = call i32 @fileno(ptr noundef %8140) #11
  %8142 = call i32 @isatty(i32 noundef %8141) #11
  %8143 = icmp ne i32 %8142, 0
  br i1 %8143, label %8144, label %8161

8144:                                             ; preds = %8139
  %8145 = load i32, ptr %163, align 4, !tbaa !5
  %8146 = call ptr @__errno_location() #12
  store i32 %8145, ptr %8146, align 4, !tbaa !5
  %8147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8148 = load i32, ptr @test_count, align 4, !tbaa !5
  %8149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8150 = load i32, ptr %8149, align 4, !tbaa !5
  %8151 = call ptr @s2n_strerror(i32 noundef %8150, ptr noundef @.str.4)
  %8152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8153 = load i32, ptr %8152, align 4, !tbaa !5
  %8154 = call ptr @s2n_strerror_debug(i32 noundef %8153, ptr noundef @.str.4)
  %8155 = call ptr @__errno_location() #12
  %8156 = load i32, ptr %8155, align 4, !tbaa !5
  %8157 = call ptr @strerror(i32 noundef %8156) #11
  %8158 = call ptr @__errno_location() #12
  %8159 = load i32, ptr %8158, align 4, !tbaa !5
  %8160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8147, ptr noundef @.str.2, i32 noundef %8148, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 264, ptr noundef %8151, ptr noundef %8154, ptr noundef %8157, i32 noundef %8159) #11
  br label %8178

8161:                                             ; preds = %8139, %8132
  %8162 = load i32, ptr %163, align 4, !tbaa !5
  %8163 = call ptr @__errno_location() #12
  store i32 %8162, ptr %8163, align 4, !tbaa !5
  %8164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8165 = load i32, ptr @test_count, align 4, !tbaa !5
  %8166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8167 = load i32, ptr %8166, align 4, !tbaa !5
  %8168 = call ptr @s2n_strerror(i32 noundef %8167, ptr noundef @.str.4)
  %8169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8170 = load i32, ptr %8169, align 4, !tbaa !5
  %8171 = call ptr @s2n_strerror_debug(i32 noundef %8170, ptr noundef @.str.4)
  %8172 = call ptr @__errno_location() #12
  %8173 = load i32, ptr %8172, align 4, !tbaa !5
  %8174 = call ptr @strerror(i32 noundef %8173) #11
  %8175 = call ptr @__errno_location() #12
  %8176 = load i32, ptr %8175, align 4, !tbaa !5
  %8177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8164, ptr noundef @.str.5, i32 noundef %8165, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 264, ptr noundef %8168, ptr noundef %8171, ptr noundef %8174, i32 noundef %8176) #11
  br label %8178

8178:                                             ; preds = %8161, %8144
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #11
  br label %8179

8179:                                             ; preds = %8178
  br label %8180

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

8181:                                             ; No predecessors!
  br label %8182

8182:                                             ; preds = %8181
  br label %8183

8183:                                             ; preds = %8182, %8122
  br label %8184

8184:                                             ; preds = %8183
  br label %8185

8185:                                             ; preds = %8184
  br label %8186

8186:                                             ; preds = %8185
  %8187 = load i32, ptr @test_count, align 4, !tbaa !5
  %8188 = add nsw i32 %8187, 1
  store i32 %8188, ptr @test_count, align 4, !tbaa !5
  %8189 = load ptr, ptr %159, align 8, !tbaa !9
  %8190 = load ptr, ptr %12, align 8, !tbaa !9
  %8191 = call i32 @s2n_connection_append_psk(ptr noundef %8189, ptr noundef %8190)
  %8192 = icmp eq i32 %8191, -1
  br i1 %8192, label %8193, label %8246

8193:                                             ; preds = %8186
  br label %8194

8194:                                             ; preds = %8193
  br label %8195

8195:                                             ; preds = %8194
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #11
  %8196 = call ptr @__errno_location() #12
  %8197 = load i32, ptr %8196, align 4, !tbaa !5
  store i32 %8197, ptr %164, align 4, !tbaa !5
  %8198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8199 = call i32 @s2n_print_stacktrace(ptr noundef %8198)
  %8200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8201 = trunc i8 %8200 to i1
  br i1 %8201, label %8202, label %8224

8202:                                             ; preds = %8195
  %8203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8204 = call i32 @fileno(ptr noundef %8203) #11
  %8205 = call i32 @isatty(i32 noundef %8204) #11
  %8206 = icmp ne i32 %8205, 0
  br i1 %8206, label %8207, label %8224

8207:                                             ; preds = %8202
  %8208 = load i32, ptr %164, align 4, !tbaa !5
  %8209 = call ptr @__errno_location() #12
  store i32 %8208, ptr %8209, align 4, !tbaa !5
  %8210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8211 = load i32, ptr @test_count, align 4, !tbaa !5
  %8212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8213 = load i32, ptr %8212, align 4, !tbaa !5
  %8214 = call ptr @s2n_strerror(i32 noundef %8213, ptr noundef @.str.4)
  %8215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8216 = load i32, ptr %8215, align 4, !tbaa !5
  %8217 = call ptr @s2n_strerror_debug(i32 noundef %8216, ptr noundef @.str.4)
  %8218 = call ptr @__errno_location() #12
  %8219 = load i32, ptr %8218, align 4, !tbaa !5
  %8220 = call ptr @strerror(i32 noundef %8219) #11
  %8221 = call ptr @__errno_location() #12
  %8222 = load i32, ptr %8221, align 4, !tbaa !5
  %8223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8210, ptr noundef @.str.2, i32 noundef %8211, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 266, ptr noundef %8214, ptr noundef %8217, ptr noundef %8220, i32 noundef %8222) #11
  br label %8241

8224:                                             ; preds = %8202, %8195
  %8225 = load i32, ptr %164, align 4, !tbaa !5
  %8226 = call ptr @__errno_location() #12
  store i32 %8225, ptr %8226, align 4, !tbaa !5
  %8227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8228 = load i32, ptr @test_count, align 4, !tbaa !5
  %8229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8230 = load i32, ptr %8229, align 4, !tbaa !5
  %8231 = call ptr @s2n_strerror(i32 noundef %8230, ptr noundef @.str.4)
  %8232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8233 = load i32, ptr %8232, align 4, !tbaa !5
  %8234 = call ptr @s2n_strerror_debug(i32 noundef %8233, ptr noundef @.str.4)
  %8235 = call ptr @__errno_location() #12
  %8236 = load i32, ptr %8235, align 4, !tbaa !5
  %8237 = call ptr @strerror(i32 noundef %8236) #11
  %8238 = call ptr @__errno_location() #12
  %8239 = load i32, ptr %8238, align 4, !tbaa !5
  %8240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8227, ptr noundef @.str.5, i32 noundef %8228, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 266, ptr noundef %8231, ptr noundef %8234, ptr noundef %8237, i32 noundef %8239) #11
  br label %8241

8241:                                             ; preds = %8224, %8207
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #11
  br label %8242

8242:                                             ; preds = %8241
  br label %8243

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

8244:                                             ; No predecessors!
  br label %8245

8245:                                             ; preds = %8244
  br label %8246

8246:                                             ; preds = %8245, %8186
  br label %8247

8247:                                             ; preds = %8246
  br label %8248

8248:                                             ; preds = %8247
  br label %8249

8249:                                             ; preds = %8248
  %8250 = load i32, ptr @test_count, align 4, !tbaa !5
  %8251 = add nsw i32 %8250, 1
  store i32 %8251, ptr @test_count, align 4, !tbaa !5
  %8252 = load ptr, ptr %160, align 8, !tbaa !9
  %8253 = load ptr, ptr %16, align 8, !tbaa !9
  %8254 = call i32 @s2n_connection_append_psk(ptr noundef %8252, ptr noundef %8253)
  %8255 = icmp eq i32 %8254, -1
  br i1 %8255, label %8256, label %8309

8256:                                             ; preds = %8249
  br label %8257

8257:                                             ; preds = %8256
  br label %8258

8258:                                             ; preds = %8257
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #11
  %8259 = call ptr @__errno_location() #12
  %8260 = load i32, ptr %8259, align 4, !tbaa !5
  store i32 %8260, ptr %165, align 4, !tbaa !5
  %8261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8262 = call i32 @s2n_print_stacktrace(ptr noundef %8261)
  %8263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8264 = trunc i8 %8263 to i1
  br i1 %8264, label %8265, label %8287

8265:                                             ; preds = %8258
  %8266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8267 = call i32 @fileno(ptr noundef %8266) #11
  %8268 = call i32 @isatty(i32 noundef %8267) #11
  %8269 = icmp ne i32 %8268, 0
  br i1 %8269, label %8270, label %8287

8270:                                             ; preds = %8265
  %8271 = load i32, ptr %165, align 4, !tbaa !5
  %8272 = call ptr @__errno_location() #12
  store i32 %8271, ptr %8272, align 4, !tbaa !5
  %8273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8274 = load i32, ptr @test_count, align 4, !tbaa !5
  %8275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8276 = load i32, ptr %8275, align 4, !tbaa !5
  %8277 = call ptr @s2n_strerror(i32 noundef %8276, ptr noundef @.str.4)
  %8278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8279 = load i32, ptr %8278, align 4, !tbaa !5
  %8280 = call ptr @s2n_strerror_debug(i32 noundef %8279, ptr noundef @.str.4)
  %8281 = call ptr @__errno_location() #12
  %8282 = load i32, ptr %8281, align 4, !tbaa !5
  %8283 = call ptr @strerror(i32 noundef %8282) #11
  %8284 = call ptr @__errno_location() #12
  %8285 = load i32, ptr %8284, align 4, !tbaa !5
  %8286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8273, ptr noundef @.str.2, i32 noundef %8274, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 267, ptr noundef %8277, ptr noundef %8280, ptr noundef %8283, i32 noundef %8285) #11
  br label %8304

8287:                                             ; preds = %8265, %8258
  %8288 = load i32, ptr %165, align 4, !tbaa !5
  %8289 = call ptr @__errno_location() #12
  store i32 %8288, ptr %8289, align 4, !tbaa !5
  %8290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8291 = load i32, ptr @test_count, align 4, !tbaa !5
  %8292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8293 = load i32, ptr %8292, align 4, !tbaa !5
  %8294 = call ptr @s2n_strerror(i32 noundef %8293, ptr noundef @.str.4)
  %8295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8296 = load i32, ptr %8295, align 4, !tbaa !5
  %8297 = call ptr @s2n_strerror_debug(i32 noundef %8296, ptr noundef @.str.4)
  %8298 = call ptr @__errno_location() #12
  %8299 = load i32, ptr %8298, align 4, !tbaa !5
  %8300 = call ptr @strerror(i32 noundef %8299) #11
  %8301 = call ptr @__errno_location() #12
  %8302 = load i32, ptr %8301, align 4, !tbaa !5
  %8303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8290, ptr noundef @.str.5, i32 noundef %8291, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 267, ptr noundef %8294, ptr noundef %8297, ptr noundef %8300, i32 noundef %8302) #11
  br label %8304

8304:                                             ; preds = %8287, %8270
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #11
  br label %8305

8305:                                             ; preds = %8304
  br label %8306

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

8307:                                             ; No predecessors!
  br label %8308

8308:                                             ; preds = %8307
  br label %8309

8309:                                             ; preds = %8308, %8249
  br label %8310

8310:                                             ; preds = %8309
  br label %8311

8311:                                             ; preds = %8310
  br label %8312

8312:                                             ; preds = %8311
  %8313 = load i32, ptr @test_count, align 4, !tbaa !5
  %8314 = add nsw i32 %8313, 1
  store i32 %8314, ptr @test_count, align 4, !tbaa !5
  %8315 = load ptr, ptr %159, align 8, !tbaa !9
  %8316 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %8315)
  %8317 = icmp eq i32 %8316, -1
  br i1 %8317, label %8318, label %8371

8318:                                             ; preds = %8312
  br label %8319

8319:                                             ; preds = %8318
  br label %8320

8320:                                             ; preds = %8319
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #11
  %8321 = call ptr @__errno_location() #12
  %8322 = load i32, ptr %8321, align 4, !tbaa !5
  store i32 %8322, ptr %166, align 4, !tbaa !5
  %8323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8324 = call i32 @s2n_print_stacktrace(ptr noundef %8323)
  %8325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8326 = trunc i8 %8325 to i1
  br i1 %8326, label %8327, label %8349

8327:                                             ; preds = %8320
  %8328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8329 = call i32 @fileno(ptr noundef %8328) #11
  %8330 = call i32 @isatty(i32 noundef %8329) #11
  %8331 = icmp ne i32 %8330, 0
  br i1 %8331, label %8332, label %8349

8332:                                             ; preds = %8327
  %8333 = load i32, ptr %166, align 4, !tbaa !5
  %8334 = call ptr @__errno_location() #12
  store i32 %8333, ptr %8334, align 4, !tbaa !5
  %8335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8336 = load i32, ptr @test_count, align 4, !tbaa !5
  %8337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8338 = load i32, ptr %8337, align 4, !tbaa !5
  %8339 = call ptr @s2n_strerror(i32 noundef %8338, ptr noundef @.str.4)
  %8340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8341 = load i32, ptr %8340, align 4, !tbaa !5
  %8342 = call ptr @s2n_strerror_debug(i32 noundef %8341, ptr noundef @.str.4)
  %8343 = call ptr @__errno_location() #12
  %8344 = load i32, ptr %8343, align 4, !tbaa !5
  %8345 = call ptr @strerror(i32 noundef %8344) #11
  %8346 = call ptr @__errno_location() #12
  %8347 = load i32, ptr %8346, align 4, !tbaa !5
  %8348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8335, ptr noundef @.str.2, i32 noundef %8336, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 268, ptr noundef %8339, ptr noundef %8342, ptr noundef %8345, i32 noundef %8347) #11
  br label %8366

8349:                                             ; preds = %8327, %8320
  %8350 = load i32, ptr %166, align 4, !tbaa !5
  %8351 = call ptr @__errno_location() #12
  store i32 %8350, ptr %8351, align 4, !tbaa !5
  %8352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8353 = load i32, ptr @test_count, align 4, !tbaa !5
  %8354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8355 = load i32, ptr %8354, align 4, !tbaa !5
  %8356 = call ptr @s2n_strerror(i32 noundef %8355, ptr noundef @.str.4)
  %8357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8358 = load i32, ptr %8357, align 4, !tbaa !5
  %8359 = call ptr @s2n_strerror_debug(i32 noundef %8358, ptr noundef @.str.4)
  %8360 = call ptr @__errno_location() #12
  %8361 = load i32, ptr %8360, align 4, !tbaa !5
  %8362 = call ptr @strerror(i32 noundef %8361) #11
  %8363 = call ptr @__errno_location() #12
  %8364 = load i32, ptr %8363, align 4, !tbaa !5
  %8365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8352, ptr noundef @.str.5, i32 noundef %8353, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 268, ptr noundef %8356, ptr noundef %8359, ptr noundef %8362, i32 noundef %8364) #11
  br label %8366

8366:                                             ; preds = %8349, %8332
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #11
  br label %8367

8367:                                             ; preds = %8366
  br label %8368

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

8369:                                             ; No predecessors!
  br label %8370

8370:                                             ; preds = %8369
  br label %8371

8371:                                             ; preds = %8370, %8312
  br label %8372

8372:                                             ; preds = %8371
  br label %8373

8373:                                             ; preds = %8372
  br label %8374

8374:                                             ; preds = %8373
  %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 = load ptr, ptr %160, align 8, !tbaa !9
  %8378 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %8377)
  %8379 = icmp eq i32 %8378, -1
  br i1 %8379, label %8380, label %8433

8380:                                             ; preds = %8374
  br label %8381

8381:                                             ; preds = %8380
  br label %8382

8382:                                             ; preds = %8381
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #11
  %8383 = call ptr @__errno_location() #12
  %8384 = load i32, ptr %8383, align 4, !tbaa !5
  store i32 %8384, ptr %167, align 4, !tbaa !5
  %8385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8386 = call i32 @s2n_print_stacktrace(ptr noundef %8385)
  %8387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8388 = trunc i8 %8387 to i1
  br i1 %8388, label %8389, label %8411

8389:                                             ; preds = %8382
  %8390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8391 = call i32 @fileno(ptr noundef %8390) #11
  %8392 = call i32 @isatty(i32 noundef %8391) #11
  %8393 = icmp ne i32 %8392, 0
  br i1 %8393, label %8394, label %8411

8394:                                             ; preds = %8389
  %8395 = load i32, ptr %167, align 4, !tbaa !5
  %8396 = call ptr @__errno_location() #12
  store i32 %8395, ptr %8396, align 4, !tbaa !5
  %8397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8398 = load i32, ptr @test_count, align 4, !tbaa !5
  %8399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8400 = load i32, ptr %8399, align 4, !tbaa !5
  %8401 = call ptr @s2n_strerror(i32 noundef %8400, ptr noundef @.str.4)
  %8402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8403 = load i32, ptr %8402, align 4, !tbaa !5
  %8404 = call ptr @s2n_strerror_debug(i32 noundef %8403, ptr noundef @.str.4)
  %8405 = call ptr @__errno_location() #12
  %8406 = load i32, ptr %8405, align 4, !tbaa !5
  %8407 = call ptr @strerror(i32 noundef %8406) #11
  %8408 = call ptr @__errno_location() #12
  %8409 = load i32, ptr %8408, align 4, !tbaa !5
  %8410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8397, ptr noundef @.str.2, i32 noundef %8398, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 269, ptr noundef %8401, ptr noundef %8404, ptr noundef %8407, i32 noundef %8409) #11
  br label %8428

8411:                                             ; preds = %8389, %8382
  %8412 = load i32, ptr %167, align 4, !tbaa !5
  %8413 = call ptr @__errno_location() #12
  store i32 %8412, ptr %8413, align 4, !tbaa !5
  %8414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8415 = load i32, ptr @test_count, align 4, !tbaa !5
  %8416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8417 = load i32, ptr %8416, align 4, !tbaa !5
  %8418 = call ptr @s2n_strerror(i32 noundef %8417, ptr noundef @.str.4)
  %8419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8420 = load i32, ptr %8419, align 4, !tbaa !5
  %8421 = call ptr @s2n_strerror_debug(i32 noundef %8420, ptr noundef @.str.4)
  %8422 = call ptr @__errno_location() #12
  %8423 = load i32, ptr %8422, align 4, !tbaa !5
  %8424 = call ptr @strerror(i32 noundef %8423) #11
  %8425 = call ptr @__errno_location() #12
  %8426 = load i32, ptr %8425, align 4, !tbaa !5
  %8427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8414, ptr noundef @.str.5, i32 noundef %8415, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 269, ptr noundef %8418, ptr noundef %8421, ptr noundef %8424, i32 noundef %8426) #11
  br label %8428

8428:                                             ; preds = %8411, %8394
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #11
  br label %8429

8429:                                             ; preds = %8428
  br label %8430

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

8431:                                             ; No predecessors!
  br label %8432

8432:                                             ; preds = %8431
  br label %8433

8433:                                             ; preds = %8432, %8374
  br label %8434

8434:                                             ; preds = %8433
  br label %8435

8435:                                             ; preds = %8434
  br label %8436

8436:                                             ; preds = %8435
  %8437 = load i32, ptr @test_count, align 4, !tbaa !5
  %8438 = add nsw i32 %8437, 1
  store i32 %8438, ptr @test_count, align 4, !tbaa !5
  %8439 = load ptr, ptr %160, align 8, !tbaa !9
  %8440 = load ptr, ptr %159, align 8, !tbaa !9
  %8441 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %8439, ptr noundef %8440)
  %8442 = icmp eq i32 %8441, -1
  br i1 %8442, label %8443, label %8496

8443:                                             ; preds = %8436
  br label %8444

8444:                                             ; preds = %8443
  br label %8445

8445:                                             ; preds = %8444
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #11
  %8446 = call ptr @__errno_location() #12
  %8447 = load i32, ptr %8446, align 4, !tbaa !5
  store i32 %8447, ptr %168, align 4, !tbaa !5
  %8448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8449 = call i32 @s2n_print_stacktrace(ptr noundef %8448)
  %8450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8451 = trunc i8 %8450 to i1
  br i1 %8451, label %8452, label %8474

8452:                                             ; preds = %8445
  %8453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8454 = call i32 @fileno(ptr noundef %8453) #11
  %8455 = call i32 @isatty(i32 noundef %8454) #11
  %8456 = icmp ne i32 %8455, 0
  br i1 %8456, label %8457, label %8474

8457:                                             ; preds = %8452
  %8458 = load i32, ptr %168, align 4, !tbaa !5
  %8459 = call ptr @__errno_location() #12
  store i32 %8458, ptr %8459, align 4, !tbaa !5
  %8460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8461 = load i32, ptr @test_count, align 4, !tbaa !5
  %8462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8463 = load i32, ptr %8462, align 4, !tbaa !5
  %8464 = call ptr @s2n_strerror(i32 noundef %8463, ptr noundef @.str.4)
  %8465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8466 = load i32, ptr %8465, align 4, !tbaa !5
  %8467 = call ptr @s2n_strerror_debug(i32 noundef %8466, ptr noundef @.str.4)
  %8468 = call ptr @__errno_location() #12
  %8469 = load i32, ptr %8468, align 4, !tbaa !5
  %8470 = call ptr @strerror(i32 noundef %8469) #11
  %8471 = call ptr @__errno_location() #12
  %8472 = load i32, ptr %8471, align 4, !tbaa !5
  %8473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8460, ptr noundef @.str.2, i32 noundef %8461, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 271, ptr noundef %8464, ptr noundef %8467, ptr noundef %8470, i32 noundef %8472) #11
  br label %8491

8474:                                             ; preds = %8452, %8445
  %8475 = load i32, ptr %168, align 4, !tbaa !5
  %8476 = call ptr @__errno_location() #12
  store i32 %8475, ptr %8476, align 4, !tbaa !5
  %8477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8478 = load i32, ptr @test_count, align 4, !tbaa !5
  %8479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8480 = load i32, ptr %8479, align 4, !tbaa !5
  %8481 = call ptr @s2n_strerror(i32 noundef %8480, ptr noundef @.str.4)
  %8482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8483 = load i32, ptr %8482, align 4, !tbaa !5
  %8484 = call ptr @s2n_strerror_debug(i32 noundef %8483, ptr noundef @.str.4)
  %8485 = call ptr @__errno_location() #12
  %8486 = load i32, ptr %8485, align 4, !tbaa !5
  %8487 = call ptr @strerror(i32 noundef %8486) #11
  %8488 = call ptr @__errno_location() #12
  %8489 = load i32, ptr %8488, align 4, !tbaa !5
  %8490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8477, ptr noundef @.str.5, i32 noundef %8478, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 271, ptr noundef %8481, ptr noundef %8484, ptr noundef %8487, i32 noundef %8489) #11
  br label %8491

8491:                                             ; preds = %8474, %8457
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #11
  br label %8492

8492:                                             ; preds = %8491
  br label %8493

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

8494:                                             ; No predecessors!
  br label %8495

8495:                                             ; preds = %8494
  br label %8496

8496:                                             ; preds = %8495, %8436
  br label %8497

8497:                                             ; preds = %8496
  br label %8498

8498:                                             ; preds = %8497
  br label %8499

8499:                                             ; preds = %8498
  %8500 = load i32, ptr @test_count, align 4, !tbaa !5
  %8501 = add nsw i32 %8500, 1
  store i32 %8501, ptr @test_count, align 4, !tbaa !5
  %8502 = load ptr, ptr %159, align 8, !tbaa !9
  %8503 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %8502, i32 noundef 64)
  br i1 %8503, label %8504, label %8557

8504:                                             ; preds = %8499
  br label %8505

8505:                                             ; preds = %8504
  br label %8506

8506:                                             ; preds = %8505
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #11
  %8507 = call ptr @__errno_location() #12
  %8508 = load i32, ptr %8507, align 4, !tbaa !5
  store i32 %8508, ptr %169, align 4, !tbaa !5
  %8509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8510 = call i32 @s2n_print_stacktrace(ptr noundef %8509)
  %8511 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8512 = trunc i8 %8511 to i1
  br i1 %8512, label %8513, label %8535

8513:                                             ; preds = %8506
  %8514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8515 = call i32 @fileno(ptr noundef %8514) #11
  %8516 = call i32 @isatty(i32 noundef %8515) #11
  %8517 = icmp ne i32 %8516, 0
  br i1 %8517, label %8518, label %8535

8518:                                             ; preds = %8513
  %8519 = load i32, ptr %169, align 4, !tbaa !5
  %8520 = call ptr @__errno_location() #12
  store i32 %8519, ptr %8520, align 4, !tbaa !5
  %8521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8522 = load i32, ptr @test_count, align 4, !tbaa !5
  %8523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8524 = load i32, ptr %8523, align 4, !tbaa !5
  %8525 = call ptr @s2n_strerror(i32 noundef %8524, ptr noundef @.str.4)
  %8526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8527 = load i32, ptr %8526, align 4, !tbaa !5
  %8528 = call ptr @s2n_strerror_debug(i32 noundef %8527, ptr noundef @.str.4)
  %8529 = call ptr @__errno_location() #12
  %8530 = load i32, ptr %8529, align 4, !tbaa !5
  %8531 = call ptr @strerror(i32 noundef %8530) #11
  %8532 = call ptr @__errno_location() #12
  %8533 = load i32, ptr %8532, align 4, !tbaa !5
  %8534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8521, ptr noundef @.str.2, i32 noundef %8522, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 273, ptr noundef %8525, ptr noundef %8528, ptr noundef %8531, i32 noundef %8533) #11
  br label %8552

8535:                                             ; preds = %8513, %8506
  %8536 = load i32, ptr %169, align 4, !tbaa !5
  %8537 = call ptr @__errno_location() #12
  store i32 %8536, ptr %8537, align 4, !tbaa !5
  %8538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8539 = load i32, ptr @test_count, align 4, !tbaa !5
  %8540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8541 = load i32, ptr %8540, align 4, !tbaa !5
  %8542 = call ptr @s2n_strerror(i32 noundef %8541, ptr noundef @.str.4)
  %8543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8544 = load i32, ptr %8543, align 4, !tbaa !5
  %8545 = call ptr @s2n_strerror_debug(i32 noundef %8544, ptr noundef @.str.4)
  %8546 = call ptr @__errno_location() #12
  %8547 = load i32, ptr %8546, align 4, !tbaa !5
  %8548 = call ptr @strerror(i32 noundef %8547) #11
  %8549 = call ptr @__errno_location() #12
  %8550 = load i32, ptr %8549, align 4, !tbaa !5
  %8551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8538, ptr noundef @.str.5, i32 noundef %8539, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 273, ptr noundef %8542, ptr noundef %8545, ptr noundef %8548, i32 noundef %8550) #11
  br label %8552

8552:                                             ; preds = %8535, %8518
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #11
  br label %8553

8553:                                             ; preds = %8552
  br label %8554

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

8555:                                             ; No predecessors!
  br label %8556

8556:                                             ; preds = %8555
  br label %8557

8557:                                             ; preds = %8556, %8499
  br label %8558

8558:                                             ; preds = %8557
  br label %8559

8559:                                             ; preds = %8558
  br label %8560

8560:                                             ; preds = %8559
  %8561 = load i32, ptr @test_count, align 4, !tbaa !5
  %8562 = add nsw i32 %8561, 1
  store i32 %8562, ptr @test_count, align 4, !tbaa !5
  %8563 = load ptr, ptr %160, align 8, !tbaa !9
  %8564 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %8563, i32 noundef 64)
  br i1 %8564, label %8565, label %8618

8565:                                             ; preds = %8560
  br label %8566

8566:                                             ; preds = %8565
  br label %8567

8567:                                             ; preds = %8566
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #11
  %8568 = call ptr @__errno_location() #12
  %8569 = load i32, ptr %8568, align 4, !tbaa !5
  store i32 %8569, ptr %170, align 4, !tbaa !5
  %8570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8571 = call i32 @s2n_print_stacktrace(ptr noundef %8570)
  %8572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8573 = trunc i8 %8572 to i1
  br i1 %8573, label %8574, label %8596

8574:                                             ; preds = %8567
  %8575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8576 = call i32 @fileno(ptr noundef %8575) #11
  %8577 = call i32 @isatty(i32 noundef %8576) #11
  %8578 = icmp ne i32 %8577, 0
  br i1 %8578, label %8579, label %8596

8579:                                             ; preds = %8574
  %8580 = load i32, ptr %170, align 4, !tbaa !5
  %8581 = call ptr @__errno_location() #12
  store i32 %8580, ptr %8581, align 4, !tbaa !5
  %8582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8583 = load i32, ptr @test_count, align 4, !tbaa !5
  %8584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8585 = load i32, ptr %8584, align 4, !tbaa !5
  %8586 = call ptr @s2n_strerror(i32 noundef %8585, ptr noundef @.str.4)
  %8587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8588 = load i32, ptr %8587, align 4, !tbaa !5
  %8589 = call ptr @s2n_strerror_debug(i32 noundef %8588, ptr noundef @.str.4)
  %8590 = call ptr @__errno_location() #12
  %8591 = load i32, ptr %8590, align 4, !tbaa !5
  %8592 = call ptr @strerror(i32 noundef %8591) #11
  %8593 = call ptr @__errno_location() #12
  %8594 = load i32, ptr %8593, align 4, !tbaa !5
  %8595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8582, ptr noundef @.str.2, i32 noundef %8583, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 274, ptr noundef %8586, ptr noundef %8589, ptr noundef %8592, i32 noundef %8594) #11
  br label %8613

8596:                                             ; preds = %8574, %8567
  %8597 = load i32, ptr %170, align 4, !tbaa !5
  %8598 = call ptr @__errno_location() #12
  store i32 %8597, ptr %8598, align 4, !tbaa !5
  %8599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8600 = load i32, ptr @test_count, align 4, !tbaa !5
  %8601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8602 = load i32, ptr %8601, align 4, !tbaa !5
  %8603 = call ptr @s2n_strerror(i32 noundef %8602, ptr noundef @.str.4)
  %8604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8605 = load i32, ptr %8604, align 4, !tbaa !5
  %8606 = call ptr @s2n_strerror_debug(i32 noundef %8605, ptr noundef @.str.4)
  %8607 = call ptr @__errno_location() #12
  %8608 = load i32, ptr %8607, align 4, !tbaa !5
  %8609 = call ptr @strerror(i32 noundef %8608) #11
  %8610 = call ptr @__errno_location() #12
  %8611 = load i32, ptr %8610, align 4, !tbaa !5
  %8612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8599, ptr noundef @.str.5, i32 noundef %8600, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 274, ptr noundef %8603, ptr noundef %8606, ptr noundef %8609, i32 noundef %8611) #11
  br label %8613

8613:                                             ; preds = %8596, %8579
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #11
  br label %8614

8614:                                             ; preds = %8613
  br label %8615

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

8616:                                             ; No predecessors!
  br label %8617

8617:                                             ; preds = %8616
  br label %8618

8618:                                             ; preds = %8617, %8560
  br label %8619

8619:                                             ; preds = %8618
  br label %8620

8620:                                             ; preds = %8619
  br label %8621

8621:                                             ; preds = %8620
  %8622 = load i32, ptr @test_count, align 4, !tbaa !5
  %8623 = add nsw i32 %8622, 1
  store i32 %8623, ptr @test_count, align 4, !tbaa !5
  %8624 = load ptr, ptr %159, align 8, !tbaa !9
  %8625 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %8624, i32 noundef 128)
  br i1 %8625, label %8679, label %8626

8626:                                             ; preds = %8621
  br label %8627

8627:                                             ; preds = %8626
  br label %8628

8628:                                             ; preds = %8627
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #11
  %8629 = call ptr @__errno_location() #12
  %8630 = load i32, ptr %8629, align 4, !tbaa !5
  store i32 %8630, ptr %171, align 4, !tbaa !5
  %8631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8632 = call i32 @s2n_print_stacktrace(ptr noundef %8631)
  %8633 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8634 = trunc i8 %8633 to i1
  br i1 %8634, label %8635, label %8657

8635:                                             ; preds = %8628
  %8636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8637 = call i32 @fileno(ptr noundef %8636) #11
  %8638 = call i32 @isatty(i32 noundef %8637) #11
  %8639 = icmp ne i32 %8638, 0
  br i1 %8639, label %8640, label %8657

8640:                                             ; preds = %8635
  %8641 = load i32, ptr %171, align 4, !tbaa !5
  %8642 = call ptr @__errno_location() #12
  store i32 %8641, ptr %8642, align 4, !tbaa !5
  %8643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8644 = load i32, ptr @test_count, align 4, !tbaa !5
  %8645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8646 = load i32, ptr %8645, align 4, !tbaa !5
  %8647 = call ptr @s2n_strerror(i32 noundef %8646, ptr noundef @.str.4)
  %8648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8649 = load i32, ptr %8648, align 4, !tbaa !5
  %8650 = call ptr @s2n_strerror_debug(i32 noundef %8649, ptr noundef @.str.4)
  %8651 = call ptr @__errno_location() #12
  %8652 = load i32, ptr %8651, align 4, !tbaa !5
  %8653 = call ptr @strerror(i32 noundef %8652) #11
  %8654 = call ptr @__errno_location() #12
  %8655 = load i32, ptr %8654, align 4, !tbaa !5
  %8656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8643, ptr noundef @.str.2, i32 noundef %8644, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 275, ptr noundef %8647, ptr noundef %8650, ptr noundef %8653, i32 noundef %8655) #11
  br label %8674

8657:                                             ; preds = %8635, %8628
  %8658 = load i32, ptr %171, align 4, !tbaa !5
  %8659 = call ptr @__errno_location() #12
  store i32 %8658, ptr %8659, align 4, !tbaa !5
  %8660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8661 = load i32, ptr @test_count, align 4, !tbaa !5
  %8662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8663 = load i32, ptr %8662, align 4, !tbaa !5
  %8664 = call ptr @s2n_strerror(i32 noundef %8663, ptr noundef @.str.4)
  %8665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8666 = load i32, ptr %8665, align 4, !tbaa !5
  %8667 = call ptr @s2n_strerror_debug(i32 noundef %8666, ptr noundef @.str.4)
  %8668 = call ptr @__errno_location() #12
  %8669 = load i32, ptr %8668, align 4, !tbaa !5
  %8670 = call ptr @strerror(i32 noundef %8669) #11
  %8671 = call ptr @__errno_location() #12
  %8672 = load i32, ptr %8671, align 4, !tbaa !5
  %8673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8660, ptr noundef @.str.5, i32 noundef %8661, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 275, ptr noundef %8664, ptr noundef %8667, ptr noundef %8670, i32 noundef %8672) #11
  br label %8674

8674:                                             ; preds = %8657, %8640
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #11
  br label %8675

8675:                                             ; preds = %8674
  br label %8676

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

8677:                                             ; No predecessors!
  br label %8678

8678:                                             ; preds = %8677
  br label %8679

8679:                                             ; preds = %8678, %8621
  br label %8680

8680:                                             ; preds = %8679
  br label %8681

8681:                                             ; preds = %8680
  br label %8682

8682:                                             ; preds = %8681
  %8683 = load i32, ptr @test_count, align 4, !tbaa !5
  %8684 = add nsw i32 %8683, 1
  store i32 %8684, ptr @test_count, align 4, !tbaa !5
  %8685 = load ptr, ptr %160, align 8, !tbaa !9
  %8686 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %8685, i32 noundef 128)
  br i1 %8686, label %8740, label %8687

8687:                                             ; preds = %8682
  br label %8688

8688:                                             ; preds = %8687
  br label %8689

8689:                                             ; preds = %8688
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #11
  %8690 = call ptr @__errno_location() #12
  %8691 = load i32, ptr %8690, align 4, !tbaa !5
  store i32 %8691, ptr %172, align 4, !tbaa !5
  %8692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8693 = call i32 @s2n_print_stacktrace(ptr noundef %8692)
  %8694 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8695 = trunc i8 %8694 to i1
  br i1 %8695, label %8696, label %8718

8696:                                             ; preds = %8689
  %8697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8698 = call i32 @fileno(ptr noundef %8697) #11
  %8699 = call i32 @isatty(i32 noundef %8698) #11
  %8700 = icmp ne i32 %8699, 0
  br i1 %8700, label %8701, label %8718

8701:                                             ; preds = %8696
  %8702 = load i32, ptr %172, align 4, !tbaa !5
  %8703 = call ptr @__errno_location() #12
  store i32 %8702, ptr %8703, align 4, !tbaa !5
  %8704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8705 = load i32, ptr @test_count, align 4, !tbaa !5
  %8706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8707 = load i32, ptr %8706, align 4, !tbaa !5
  %8708 = call ptr @s2n_strerror(i32 noundef %8707, ptr noundef @.str.4)
  %8709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8710 = load i32, ptr %8709, align 4, !tbaa !5
  %8711 = call ptr @s2n_strerror_debug(i32 noundef %8710, ptr noundef @.str.4)
  %8712 = call ptr @__errno_location() #12
  %8713 = load i32, ptr %8712, align 4, !tbaa !5
  %8714 = call ptr @strerror(i32 noundef %8713) #11
  %8715 = call ptr @__errno_location() #12
  %8716 = load i32, ptr %8715, align 4, !tbaa !5
  %8717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8704, ptr noundef @.str.2, i32 noundef %8705, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 276, ptr noundef %8708, ptr noundef %8711, ptr noundef %8714, i32 noundef %8716) #11
  br label %8735

8718:                                             ; preds = %8696, %8689
  %8719 = load i32, ptr %172, align 4, !tbaa !5
  %8720 = call ptr @__errno_location() #12
  store i32 %8719, ptr %8720, align 4, !tbaa !5
  %8721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8722 = load i32, ptr @test_count, align 4, !tbaa !5
  %8723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8724 = load i32, ptr %8723, align 4, !tbaa !5
  %8725 = call ptr @s2n_strerror(i32 noundef %8724, ptr noundef @.str.4)
  %8726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8727 = load i32, ptr %8726, align 4, !tbaa !5
  %8728 = call ptr @s2n_strerror_debug(i32 noundef %8727, ptr noundef @.str.4)
  %8729 = call ptr @__errno_location() #12
  %8730 = load i32, ptr %8729, align 4, !tbaa !5
  %8731 = call ptr @strerror(i32 noundef %8730) #11
  %8732 = call ptr @__errno_location() #12
  %8733 = load i32, ptr %8732, align 4, !tbaa !5
  %8734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8721, ptr noundef @.str.5, i32 noundef %8722, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 276, ptr noundef %8725, ptr noundef %8728, ptr noundef %8731, i32 noundef %8733) #11
  br label %8735

8735:                                             ; preds = %8718, %8701
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #11
  br label %8736

8736:                                             ; preds = %8735
  br label %8737

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

8738:                                             ; No predecessors!
  br label %8739

8739:                                             ; preds = %8738
  br label %8740

8740:                                             ; preds = %8739, %8682
  br label %8741

8741:                                             ; preds = %8740
  br label %8742

8742:                                             ; preds = %8741
  br label %8743

8743:                                             ; preds = %8742
  %8744 = load i32, ptr @test_count, align 4, !tbaa !5
  %8745 = add nsw i32 %8744, 1
  store i32 %8745, ptr @test_count, align 4, !tbaa !5
  %8746 = load ptr, ptr %159, align 8, !tbaa !9
  %8747 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %8746, i32 noundef 2)
  br i1 %8747, label %8748, label %8801

8748:                                             ; preds = %8743
  br label %8749

8749:                                             ; preds = %8748
  br label %8750

8750:                                             ; preds = %8749
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #11
  %8751 = call ptr @__errno_location() #12
  %8752 = load i32, ptr %8751, align 4, !tbaa !5
  store i32 %8752, ptr %173, align 4, !tbaa !5
  %8753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8754 = call i32 @s2n_print_stacktrace(ptr noundef %8753)
  %8755 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8756 = trunc i8 %8755 to i1
  br i1 %8756, label %8757, label %8779

8757:                                             ; preds = %8750
  %8758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8759 = call i32 @fileno(ptr noundef %8758) #11
  %8760 = call i32 @isatty(i32 noundef %8759) #11
  %8761 = icmp ne i32 %8760, 0
  br i1 %8761, label %8762, label %8779

8762:                                             ; preds = %8757
  %8763 = load i32, ptr %173, align 4, !tbaa !5
  %8764 = call ptr @__errno_location() #12
  store i32 %8763, ptr %8764, align 4, !tbaa !5
  %8765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8766 = load i32, ptr @test_count, align 4, !tbaa !5
  %8767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8768 = load i32, ptr %8767, align 4, !tbaa !5
  %8769 = call ptr @s2n_strerror(i32 noundef %8768, ptr noundef @.str.4)
  %8770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8771 = load i32, ptr %8770, align 4, !tbaa !5
  %8772 = call ptr @s2n_strerror_debug(i32 noundef %8771, ptr noundef @.str.4)
  %8773 = call ptr @__errno_location() #12
  %8774 = load i32, ptr %8773, align 4, !tbaa !5
  %8775 = call ptr @strerror(i32 noundef %8774) #11
  %8776 = call ptr @__errno_location() #12
  %8777 = load i32, ptr %8776, align 4, !tbaa !5
  %8778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8765, ptr noundef @.str.2, i32 noundef %8766, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 277, ptr noundef %8769, ptr noundef %8772, ptr noundef %8775, i32 noundef %8777) #11
  br label %8796

8779:                                             ; preds = %8757, %8750
  %8780 = load i32, ptr %173, align 4, !tbaa !5
  %8781 = call ptr @__errno_location() #12
  store i32 %8780, ptr %8781, align 4, !tbaa !5
  %8782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8783 = load i32, ptr @test_count, align 4, !tbaa !5
  %8784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8785 = load i32, ptr %8784, align 4, !tbaa !5
  %8786 = call ptr @s2n_strerror(i32 noundef %8785, ptr noundef @.str.4)
  %8787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8788 = load i32, ptr %8787, align 4, !tbaa !5
  %8789 = call ptr @s2n_strerror_debug(i32 noundef %8788, ptr noundef @.str.4)
  %8790 = call ptr @__errno_location() #12
  %8791 = load i32, ptr %8790, align 4, !tbaa !5
  %8792 = call ptr @strerror(i32 noundef %8791) #11
  %8793 = call ptr @__errno_location() #12
  %8794 = load i32, ptr %8793, align 4, !tbaa !5
  %8795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8782, ptr noundef @.str.5, i32 noundef %8783, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 277, ptr noundef %8786, ptr noundef %8789, ptr noundef %8792, i32 noundef %8794) #11
  br label %8796

8796:                                             ; preds = %8779, %8762
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #11
  br label %8797

8797:                                             ; preds = %8796
  br label %8798

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

8799:                                             ; No predecessors!
  br label %8800

8800:                                             ; preds = %8799
  br label %8801

8801:                                             ; preds = %8800, %8743
  br label %8802

8802:                                             ; preds = %8801
  br label %8803

8803:                                             ; preds = %8802
  br label %8804

8804:                                             ; preds = %8803
  %8805 = load i32, ptr @test_count, align 4, !tbaa !5
  %8806 = add nsw i32 %8805, 1
  store i32 %8806, ptr @test_count, align 4, !tbaa !5
  %8807 = load ptr, ptr %160, align 8, !tbaa !9
  %8808 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %8807, i32 noundef 2)
  br i1 %8808, label %8809, label %8862

8809:                                             ; preds = %8804
  br label %8810

8810:                                             ; preds = %8809
  br label %8811

8811:                                             ; preds = %8810
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #11
  %8812 = call ptr @__errno_location() #12
  %8813 = load i32, ptr %8812, align 4, !tbaa !5
  store i32 %8813, ptr %174, align 4, !tbaa !5
  %8814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8815 = call i32 @s2n_print_stacktrace(ptr noundef %8814)
  %8816 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8817 = trunc i8 %8816 to i1
  br i1 %8817, label %8818, label %8840

8818:                                             ; preds = %8811
  %8819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8820 = call i32 @fileno(ptr noundef %8819) #11
  %8821 = call i32 @isatty(i32 noundef %8820) #11
  %8822 = icmp ne i32 %8821, 0
  br i1 %8822, label %8823, label %8840

8823:                                             ; preds = %8818
  %8824 = load i32, ptr %174, align 4, !tbaa !5
  %8825 = call ptr @__errno_location() #12
  store i32 %8824, ptr %8825, align 4, !tbaa !5
  %8826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8827 = load i32, ptr @test_count, align 4, !tbaa !5
  %8828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8829 = load i32, ptr %8828, align 4, !tbaa !5
  %8830 = call ptr @s2n_strerror(i32 noundef %8829, ptr noundef @.str.4)
  %8831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8832 = load i32, ptr %8831, align 4, !tbaa !5
  %8833 = call ptr @s2n_strerror_debug(i32 noundef %8832, ptr noundef @.str.4)
  %8834 = call ptr @__errno_location() #12
  %8835 = load i32, ptr %8834, align 4, !tbaa !5
  %8836 = call ptr @strerror(i32 noundef %8835) #11
  %8837 = call ptr @__errno_location() #12
  %8838 = load i32, ptr %8837, align 4, !tbaa !5
  %8839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8826, ptr noundef @.str.2, i32 noundef %8827, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 278, ptr noundef %8830, ptr noundef %8833, ptr noundef %8836, i32 noundef %8838) #11
  br label %8857

8840:                                             ; preds = %8818, %8811
  %8841 = load i32, ptr %174, align 4, !tbaa !5
  %8842 = call ptr @__errno_location() #12
  store i32 %8841, ptr %8842, align 4, !tbaa !5
  %8843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8844 = load i32, ptr @test_count, align 4, !tbaa !5
  %8845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8846 = load i32, ptr %8845, align 4, !tbaa !5
  %8847 = call ptr @s2n_strerror(i32 noundef %8846, ptr noundef @.str.4)
  %8848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8849 = load i32, ptr %8848, align 4, !tbaa !5
  %8850 = call ptr @s2n_strerror_debug(i32 noundef %8849, ptr noundef @.str.4)
  %8851 = call ptr @__errno_location() #12
  %8852 = load i32, ptr %8851, align 4, !tbaa !5
  %8853 = call ptr @strerror(i32 noundef %8852) #11
  %8854 = call ptr @__errno_location() #12
  %8855 = load i32, ptr %8854, align 4, !tbaa !5
  %8856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8843, ptr noundef @.str.5, i32 noundef %8844, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 278, ptr noundef %8847, ptr noundef %8850, ptr noundef %8853, i32 noundef %8855) #11
  br label %8857

8857:                                             ; preds = %8840, %8823
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #11
  br label %8858

8858:                                             ; preds = %8857
  br label %8859

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

8860:                                             ; No predecessors!
  br label %8861

8861:                                             ; preds = %8860
  br label %8862

8862:                                             ; preds = %8861, %8804
  br label %8863

8863:                                             ; preds = %8862
  br label %8864

8864:                                             ; preds = %8863
  br label %8865

8865:                                             ; preds = %8864
  %8866 = load i32, ptr @test_count, align 4, !tbaa !5
  %8867 = add nsw i32 %8866, 1
  store i32 %8867, ptr @test_count, align 4, !tbaa !5
  %8868 = load ptr, ptr %159, align 8, !tbaa !9
  %8869 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %8868, i32 noundef 16)
  br i1 %8869, label %8870, label %8923

8870:                                             ; preds = %8865
  br label %8871

8871:                                             ; preds = %8870
  br label %8872

8872:                                             ; preds = %8871
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #11
  %8873 = call ptr @__errno_location() #12
  %8874 = load i32, ptr %8873, align 4, !tbaa !5
  store i32 %8874, ptr %175, align 4, !tbaa !5
  %8875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8876 = call i32 @s2n_print_stacktrace(ptr noundef %8875)
  %8877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8878 = trunc i8 %8877 to i1
  br i1 %8878, label %8879, label %8901

8879:                                             ; preds = %8872
  %8880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8881 = call i32 @fileno(ptr noundef %8880) #11
  %8882 = call i32 @isatty(i32 noundef %8881) #11
  %8883 = icmp ne i32 %8882, 0
  br i1 %8883, label %8884, label %8901

8884:                                             ; preds = %8879
  %8885 = load i32, ptr %175, align 4, !tbaa !5
  %8886 = call ptr @__errno_location() #12
  store i32 %8885, ptr %8886, align 4, !tbaa !5
  %8887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8888 = load i32, ptr @test_count, align 4, !tbaa !5
  %8889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8890 = load i32, ptr %8889, align 4, !tbaa !5
  %8891 = call ptr @s2n_strerror(i32 noundef %8890, ptr noundef @.str.4)
  %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_debug(i32 noundef %8893, ptr noundef @.str.4)
  %8895 = call ptr @__errno_location() #12
  %8896 = load i32, ptr %8895, align 4, !tbaa !5
  %8897 = call ptr @strerror(i32 noundef %8896) #11
  %8898 = call ptr @__errno_location() #12
  %8899 = load i32, ptr %8898, align 4, !tbaa !5
  %8900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8887, ptr noundef @.str.2, i32 noundef %8888, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 279, ptr noundef %8891, ptr noundef %8894, ptr noundef %8897, i32 noundef %8899) #11
  br label %8918

8901:                                             ; preds = %8879, %8872
  %8902 = load i32, ptr %175, align 4, !tbaa !5
  %8903 = call ptr @__errno_location() #12
  store i32 %8902, ptr %8903, align 4, !tbaa !5
  %8904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8905 = load i32, ptr @test_count, align 4, !tbaa !5
  %8906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8907 = load i32, ptr %8906, align 4, !tbaa !5
  %8908 = call ptr @s2n_strerror(i32 noundef %8907, ptr noundef @.str.4)
  %8909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8910 = load i32, ptr %8909, align 4, !tbaa !5
  %8911 = call ptr @s2n_strerror_debug(i32 noundef %8910, ptr noundef @.str.4)
  %8912 = call ptr @__errno_location() #12
  %8913 = load i32, ptr %8912, align 4, !tbaa !5
  %8914 = call ptr @strerror(i32 noundef %8913) #11
  %8915 = call ptr @__errno_location() #12
  %8916 = load i32, ptr %8915, align 4, !tbaa !5
  %8917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8904, ptr noundef @.str.5, i32 noundef %8905, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 279, ptr noundef %8908, ptr noundef %8911, ptr noundef %8914, i32 noundef %8916) #11
  br label %8918

8918:                                             ; preds = %8901, %8884
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #11
  br label %8919

8919:                                             ; preds = %8918
  br label %8920

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

8921:                                             ; No predecessors!
  br label %8922

8922:                                             ; preds = %8921
  br label %8923

8923:                                             ; preds = %8922, %8865
  br label %8924

8924:                                             ; preds = %8923
  br label %8925

8925:                                             ; preds = %8924
  br label %8926

8926:                                             ; preds = %8925
  %8927 = load i32, ptr @test_count, align 4, !tbaa !5
  %8928 = add nsw i32 %8927, 1
  store i32 %8928, ptr @test_count, align 4, !tbaa !5
  %8929 = load ptr, ptr %160, align 8, !tbaa !9
  %8930 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %8929, i32 noundef 16)
  br i1 %8930, label %8931, label %8984

8931:                                             ; preds = %8926
  br label %8932

8932:                                             ; preds = %8931
  br label %8933

8933:                                             ; preds = %8932
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #11
  %8934 = call ptr @__errno_location() #12
  %8935 = load i32, ptr %8934, align 4, !tbaa !5
  store i32 %8935, ptr %176, align 4, !tbaa !5
  %8936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8937 = call i32 @s2n_print_stacktrace(ptr noundef %8936)
  %8938 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8939 = trunc i8 %8938 to i1
  br i1 %8939, label %8940, label %8962

8940:                                             ; preds = %8933
  %8941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8942 = call i32 @fileno(ptr noundef %8941) #11
  %8943 = call i32 @isatty(i32 noundef %8942) #11
  %8944 = icmp ne i32 %8943, 0
  br i1 %8944, label %8945, label %8962

8945:                                             ; preds = %8940
  %8946 = load i32, ptr %176, align 4, !tbaa !5
  %8947 = call ptr @__errno_location() #12
  store i32 %8946, ptr %8947, align 4, !tbaa !5
  %8948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8949 = load i32, ptr @test_count, align 4, !tbaa !5
  %8950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8951 = load i32, ptr %8950, align 4, !tbaa !5
  %8952 = call ptr @s2n_strerror(i32 noundef %8951, ptr noundef @.str.4)
  %8953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8954 = load i32, ptr %8953, align 4, !tbaa !5
  %8955 = call ptr @s2n_strerror_debug(i32 noundef %8954, ptr noundef @.str.4)
  %8956 = call ptr @__errno_location() #12
  %8957 = load i32, ptr %8956, align 4, !tbaa !5
  %8958 = call ptr @strerror(i32 noundef %8957) #11
  %8959 = call ptr @__errno_location() #12
  %8960 = load i32, ptr %8959, align 4, !tbaa !5
  %8961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8948, ptr noundef @.str.2, i32 noundef %8949, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 280, ptr noundef %8952, ptr noundef %8955, ptr noundef %8958, i32 noundef %8960) #11
  br label %8979

8962:                                             ; preds = %8940, %8933
  %8963 = load i32, ptr %176, align 4, !tbaa !5
  %8964 = call ptr @__errno_location() #12
  store i32 %8963, ptr %8964, align 4, !tbaa !5
  %8965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8966 = load i32, ptr @test_count, align 4, !tbaa !5
  %8967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8968 = load i32, ptr %8967, align 4, !tbaa !5
  %8969 = call ptr @s2n_strerror(i32 noundef %8968, ptr noundef @.str.4)
  %8970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8971 = load i32, ptr %8970, align 4, !tbaa !5
  %8972 = call ptr @s2n_strerror_debug(i32 noundef %8971, ptr noundef @.str.4)
  %8973 = call ptr @__errno_location() #12
  %8974 = load i32, ptr %8973, align 4, !tbaa !5
  %8975 = call ptr @strerror(i32 noundef %8974) #11
  %8976 = call ptr @__errno_location() #12
  %8977 = load i32, ptr %8976, align 4, !tbaa !5
  %8978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8965, ptr noundef @.str.5, i32 noundef %8966, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 280, ptr noundef %8969, ptr noundef %8972, ptr noundef %8975, i32 noundef %8977) #11
  br label %8979

8979:                                             ; preds = %8962, %8945
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #11
  br label %8980

8980:                                             ; preds = %8979
  br label %8981

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

8982:                                             ; No predecessors!
  br label %8983

8983:                                             ; preds = %8982
  br label %8984

8984:                                             ; preds = %8983, %8926
  br label %8985

8985:                                             ; preds = %8984
  br label %8986

8986:                                             ; preds = %8985
  br label %8987

8987:                                             ; preds = %8986
  %8988 = load i32, ptr @test_count, align 4, !tbaa !5
  %8989 = add nsw i32 %8988, 1
  store i32 %8989, ptr @test_count, align 4, !tbaa !5
  %8990 = load ptr, ptr %159, align 8, !tbaa !9
  %8991 = call i32 @s2n_conn_get_current_message_type(ptr noundef %8990)
  %8992 = icmp eq i32 %8991, 20
  br i1 %8992, label %9046, label %8993

8993:                                             ; preds = %8987
  br label %8994

8994:                                             ; preds = %8993
  br label %8995

8995:                                             ; preds = %8994
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #11
  %8996 = call ptr @__errno_location() #12
  %8997 = load i32, ptr %8996, align 4, !tbaa !5
  store i32 %8997, ptr %177, align 4, !tbaa !5
  %8998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8999 = call i32 @s2n_print_stacktrace(ptr noundef %8998)
  %9000 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9001 = trunc i8 %9000 to i1
  br i1 %9001, label %9002, label %9024

9002:                                             ; preds = %8995
  %9003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9004 = call i32 @fileno(ptr noundef %9003) #11
  %9005 = call i32 @isatty(i32 noundef %9004) #11
  %9006 = icmp ne i32 %9005, 0
  br i1 %9006, label %9007, label %9024

9007:                                             ; preds = %9002
  %9008 = load i32, ptr %177, align 4, !tbaa !5
  %9009 = call ptr @__errno_location() #12
  store i32 %9008, ptr %9009, align 4, !tbaa !5
  %9010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9011 = load i32, ptr @test_count, align 4, !tbaa !5
  %9012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9013 = load i32, ptr %9012, align 4, !tbaa !5
  %9014 = call ptr @s2n_strerror(i32 noundef %9013, ptr noundef @.str.4)
  %9015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9016 = load i32, ptr %9015, align 4, !tbaa !5
  %9017 = call ptr @s2n_strerror_debug(i32 noundef %9016, ptr noundef @.str.4)
  %9018 = call ptr @__errno_location() #12
  %9019 = load i32, ptr %9018, align 4, !tbaa !5
  %9020 = call ptr @strerror(i32 noundef %9019) #11
  %9021 = call ptr @__errno_location() #12
  %9022 = load i32, ptr %9021, align 4, !tbaa !5
  %9023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9010, ptr noundef @.str.2, i32 noundef %9011, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 281, ptr noundef %9014, ptr noundef %9017, ptr noundef %9020, i32 noundef %9022) #11
  br label %9041

9024:                                             ; preds = %9002, %8995
  %9025 = load i32, ptr %177, align 4, !tbaa !5
  %9026 = call ptr @__errno_location() #12
  store i32 %9025, ptr %9026, align 4, !tbaa !5
  %9027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9028 = load i32, ptr @test_count, align 4, !tbaa !5
  %9029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9030 = load i32, ptr %9029, align 4, !tbaa !5
  %9031 = call ptr @s2n_strerror(i32 noundef %9030, ptr noundef @.str.4)
  %9032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9033 = load i32, ptr %9032, align 4, !tbaa !5
  %9034 = call ptr @s2n_strerror_debug(i32 noundef %9033, ptr noundef @.str.4)
  %9035 = call ptr @__errno_location() #12
  %9036 = load i32, ptr %9035, align 4, !tbaa !5
  %9037 = call ptr @strerror(i32 noundef %9036) #11
  %9038 = call ptr @__errno_location() #12
  %9039 = load i32, ptr %9038, align 4, !tbaa !5
  %9040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9027, ptr noundef @.str.5, i32 noundef %9028, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 281, ptr noundef %9031, ptr noundef %9034, ptr noundef %9037, i32 noundef %9039) #11
  br label %9041

9041:                                             ; preds = %9024, %9007
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #11
  br label %9042

9042:                                             ; preds = %9041
  br label %9043

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

9044:                                             ; No predecessors!
  br label %9045

9045:                                             ; preds = %9044
  br label %9046

9046:                                             ; preds = %9045, %8987
  br label %9047

9047:                                             ; preds = %9046
  br label %9048

9048:                                             ; preds = %9047
  br label %9049

9049:                                             ; preds = %9048
  %9050 = load i32, ptr @test_count, align 4, !tbaa !5
  %9051 = add nsw i32 %9050, 1
  store i32 %9051, ptr @test_count, align 4, !tbaa !5
  %9052 = load ptr, ptr %160, align 8, !tbaa !9
  %9053 = call i32 @s2n_conn_get_current_message_type(ptr noundef %9052)
  %9054 = icmp eq i32 %9053, 20
  br i1 %9054, label %9108, label %9055

9055:                                             ; preds = %9049
  br label %9056

9056:                                             ; preds = %9055
  br label %9057

9057:                                             ; preds = %9056
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #11
  %9058 = call ptr @__errno_location() #12
  %9059 = load i32, ptr %9058, align 4, !tbaa !5
  store i32 %9059, ptr %178, align 4, !tbaa !5
  %9060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9061 = call i32 @s2n_print_stacktrace(ptr noundef %9060)
  %9062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9063 = trunc i8 %9062 to i1
  br i1 %9063, label %9064, label %9086

9064:                                             ; preds = %9057
  %9065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9066 = call i32 @fileno(ptr noundef %9065) #11
  %9067 = call i32 @isatty(i32 noundef %9066) #11
  %9068 = icmp ne i32 %9067, 0
  br i1 %9068, label %9069, label %9086

9069:                                             ; preds = %9064
  %9070 = load i32, ptr %178, align 4, !tbaa !5
  %9071 = call ptr @__errno_location() #12
  store i32 %9070, ptr %9071, align 4, !tbaa !5
  %9072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9073 = load i32, ptr @test_count, align 4, !tbaa !5
  %9074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9075 = load i32, ptr %9074, align 4, !tbaa !5
  %9076 = call ptr @s2n_strerror(i32 noundef %9075, ptr noundef @.str.4)
  %9077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9078 = load i32, ptr %9077, align 4, !tbaa !5
  %9079 = call ptr @s2n_strerror_debug(i32 noundef %9078, ptr noundef @.str.4)
  %9080 = call ptr @__errno_location() #12
  %9081 = load i32, ptr %9080, align 4, !tbaa !5
  %9082 = call ptr @strerror(i32 noundef %9081) #11
  %9083 = call ptr @__errno_location() #12
  %9084 = load i32, ptr %9083, align 4, !tbaa !5
  %9085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9072, ptr noundef @.str.2, i32 noundef %9073, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 282, ptr noundef %9076, ptr noundef %9079, ptr noundef %9082, i32 noundef %9084) #11
  br label %9103

9086:                                             ; preds = %9064, %9057
  %9087 = load i32, ptr %178, align 4, !tbaa !5
  %9088 = call ptr @__errno_location() #12
  store i32 %9087, ptr %9088, align 4, !tbaa !5
  %9089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9090 = load i32, ptr @test_count, align 4, !tbaa !5
  %9091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9092 = load i32, ptr %9091, align 4, !tbaa !5
  %9093 = call ptr @s2n_strerror(i32 noundef %9092, ptr noundef @.str.4)
  %9094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9095 = load i32, ptr %9094, align 4, !tbaa !5
  %9096 = call ptr @s2n_strerror_debug(i32 noundef %9095, ptr noundef @.str.4)
  %9097 = call ptr @__errno_location() #12
  %9098 = load i32, ptr %9097, align 4, !tbaa !5
  %9099 = call ptr @strerror(i32 noundef %9098) #11
  %9100 = call ptr @__errno_location() #12
  %9101 = load i32, ptr %9100, align 4, !tbaa !5
  %9102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9089, ptr noundef @.str.5, i32 noundef %9090, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 282, ptr noundef %9093, ptr noundef %9096, ptr noundef %9099, i32 noundef %9101) #11
  br label %9103

9103:                                             ; preds = %9086, %9069
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #11
  br label %9104

9104:                                             ; preds = %9103
  br label %9105

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

9106:                                             ; No predecessors!
  br label %9107

9107:                                             ; preds = %9106
  br label %9108

9108:                                             ; preds = %9107, %9049
  br label %9109

9109:                                             ; preds = %9108
  br label %9110

9110:                                             ; preds = %9109
  br label %9111

9111:                                             ; preds = %9110
  %9112 = load i32, ptr @test_count, align 4, !tbaa !5
  %9113 = add nsw i32 %9112, 1
  store i32 %9113, ptr @test_count, align 4, !tbaa !5
  %9114 = load ptr, ptr %160, align 8, !tbaa !9
  %9115 = load ptr, ptr %159, align 8, !tbaa !9
  %9116 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %9114, ptr noundef %9115)
  %9117 = icmp eq i32 %9116, -1
  br i1 %9117, label %9118, label %9171

9118:                                             ; preds = %9111
  br label %9119

9119:                                             ; preds = %9118
  br label %9120

9120:                                             ; preds = %9119
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #11
  %9121 = call ptr @__errno_location() #12
  %9122 = load i32, ptr %9121, align 4, !tbaa !5
  store i32 %9122, ptr %179, align 4, !tbaa !5
  %9123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9124 = call i32 @s2n_print_stacktrace(ptr noundef %9123)
  %9125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9126 = trunc i8 %9125 to i1
  br i1 %9126, label %9127, label %9149

9127:                                             ; preds = %9120
  %9128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9129 = call i32 @fileno(ptr noundef %9128) #11
  %9130 = call i32 @isatty(i32 noundef %9129) #11
  %9131 = icmp ne i32 %9130, 0
  br i1 %9131, label %9132, label %9149

9132:                                             ; preds = %9127
  %9133 = load i32, ptr %179, align 4, !tbaa !5
  %9134 = call ptr @__errno_location() #12
  store i32 %9133, ptr %9134, align 4, !tbaa !5
  %9135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9136 = load i32, ptr @test_count, align 4, !tbaa !5
  %9137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9138 = load i32, ptr %9137, align 4, !tbaa !5
  %9139 = call ptr @s2n_strerror(i32 noundef %9138, ptr noundef @.str.4)
  %9140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9141 = load i32, ptr %9140, align 4, !tbaa !5
  %9142 = call ptr @s2n_strerror_debug(i32 noundef %9141, ptr noundef @.str.4)
  %9143 = call ptr @__errno_location() #12
  %9144 = load i32, ptr %9143, align 4, !tbaa !5
  %9145 = call ptr @strerror(i32 noundef %9144) #11
  %9146 = call ptr @__errno_location() #12
  %9147 = load i32, ptr %9146, align 4, !tbaa !5
  %9148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9135, ptr noundef @.str.2, i32 noundef %9136, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 284, ptr noundef %9139, ptr noundef %9142, ptr noundef %9145, i32 noundef %9147) #11
  br label %9166

9149:                                             ; preds = %9127, %9120
  %9150 = load i32, ptr %179, align 4, !tbaa !5
  %9151 = call ptr @__errno_location() #12
  store i32 %9150, ptr %9151, align 4, !tbaa !5
  %9152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9153 = load i32, ptr @test_count, align 4, !tbaa !5
  %9154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9155 = load i32, ptr %9154, align 4, !tbaa !5
  %9156 = call ptr @s2n_strerror(i32 noundef %9155, ptr noundef @.str.4)
  %9157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9158 = load i32, ptr %9157, align 4, !tbaa !5
  %9159 = call ptr @s2n_strerror_debug(i32 noundef %9158, ptr noundef @.str.4)
  %9160 = call ptr @__errno_location() #12
  %9161 = load i32, ptr %9160, align 4, !tbaa !5
  %9162 = call ptr @strerror(i32 noundef %9161) #11
  %9163 = call ptr @__errno_location() #12
  %9164 = load i32, ptr %9163, align 4, !tbaa !5
  %9165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9152, ptr noundef @.str.5, i32 noundef %9153, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 284, ptr noundef %9156, ptr noundef %9159, ptr noundef %9162, i32 noundef %9164) #11
  br label %9166

9166:                                             ; preds = %9149, %9132
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #11
  br label %9167

9167:                                             ; preds = %9166
  br label %9168

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

9169:                                             ; No predecessors!
  br label %9170

9170:                                             ; preds = %9169
  br label %9171

9171:                                             ; preds = %9170, %9111
  br label %9172

9172:                                             ; preds = %9171
  br label %9173

9173:                                             ; preds = %9172
  br label %9174

9174:                                             ; preds = %9173
  %9175 = load i32, ptr @test_count, align 4, !tbaa !5
  %9176 = add nsw i32 %9175, 1
  store i32 %9176, ptr @test_count, align 4, !tbaa !5
  %9177 = load ptr, ptr %159, align 8, !tbaa !9
  %9178 = call i32 @s2n_connection_free(ptr noundef %9177)
  %9179 = icmp eq i32 %9178, -1
  br i1 %9179, label %9180, label %9233

9180:                                             ; preds = %9174
  br label %9181

9181:                                             ; preds = %9180
  br label %9182

9182:                                             ; preds = %9181
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #11
  %9183 = call ptr @__errno_location() #12
  %9184 = load i32, ptr %9183, align 4, !tbaa !5
  store i32 %9184, ptr %180, align 4, !tbaa !5
  %9185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9186 = call i32 @s2n_print_stacktrace(ptr noundef %9185)
  %9187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9188 = trunc i8 %9187 to i1
  br i1 %9188, label %9189, label %9211

9189:                                             ; preds = %9182
  %9190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9191 = call i32 @fileno(ptr noundef %9190) #11
  %9192 = call i32 @isatty(i32 noundef %9191) #11
  %9193 = icmp ne i32 %9192, 0
  br i1 %9193, label %9194, label %9211

9194:                                             ; preds = %9189
  %9195 = load i32, ptr %180, align 4, !tbaa !5
  %9196 = call ptr @__errno_location() #12
  store i32 %9195, ptr %9196, align 4, !tbaa !5
  %9197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9198 = load i32, ptr @test_count, align 4, !tbaa !5
  %9199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9200 = load i32, ptr %9199, align 4, !tbaa !5
  %9201 = call ptr @s2n_strerror(i32 noundef %9200, ptr noundef @.str.4)
  %9202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9203 = load i32, ptr %9202, align 4, !tbaa !5
  %9204 = call ptr @s2n_strerror_debug(i32 noundef %9203, ptr noundef @.str.4)
  %9205 = call ptr @__errno_location() #12
  %9206 = load i32, ptr %9205, align 4, !tbaa !5
  %9207 = call ptr @strerror(i32 noundef %9206) #11
  %9208 = call ptr @__errno_location() #12
  %9209 = load i32, ptr %9208, align 4, !tbaa !5
  %9210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9197, ptr noundef @.str.2, i32 noundef %9198, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 285, ptr noundef %9201, ptr noundef %9204, ptr noundef %9207, i32 noundef %9209) #11
  br label %9228

9211:                                             ; preds = %9189, %9182
  %9212 = load i32, ptr %180, align 4, !tbaa !5
  %9213 = call ptr @__errno_location() #12
  store i32 %9212, ptr %9213, align 4, !tbaa !5
  %9214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9215 = load i32, ptr @test_count, align 4, !tbaa !5
  %9216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9217 = load i32, ptr %9216, align 4, !tbaa !5
  %9218 = call ptr @s2n_strerror(i32 noundef %9217, ptr noundef @.str.4)
  %9219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9220 = load i32, ptr %9219, align 4, !tbaa !5
  %9221 = call ptr @s2n_strerror_debug(i32 noundef %9220, ptr noundef @.str.4)
  %9222 = call ptr @__errno_location() #12
  %9223 = load i32, ptr %9222, align 4, !tbaa !5
  %9224 = call ptr @strerror(i32 noundef %9223) #11
  %9225 = call ptr @__errno_location() #12
  %9226 = load i32, ptr %9225, align 4, !tbaa !5
  %9227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9214, ptr noundef @.str.5, i32 noundef %9215, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 285, ptr noundef %9218, ptr noundef %9221, ptr noundef %9224, i32 noundef %9226) #11
  br label %9228

9228:                                             ; preds = %9211, %9194
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #11
  br label %9229

9229:                                             ; preds = %9228
  br label %9230

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

9231:                                             ; No predecessors!
  br label %9232

9232:                                             ; preds = %9231
  br label %9233

9233:                                             ; preds = %9232, %9174
  br label %9234

9234:                                             ; preds = %9233
  br label %9235

9235:                                             ; preds = %9234
  br label %9236

9236:                                             ; preds = %9235
  %9237 = load i32, ptr @test_count, align 4, !tbaa !5
  %9238 = add nsw i32 %9237, 1
  store i32 %9238, ptr @test_count, align 4, !tbaa !5
  %9239 = load ptr, ptr %160, align 8, !tbaa !9
  %9240 = call i32 @s2n_connection_free(ptr noundef %9239)
  %9241 = icmp eq i32 %9240, -1
  br i1 %9241, label %9242, label %9295

9242:                                             ; preds = %9236
  br label %9243

9243:                                             ; preds = %9242
  br label %9244

9244:                                             ; preds = %9243
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #11
  %9245 = call ptr @__errno_location() #12
  %9246 = load i32, ptr %9245, align 4, !tbaa !5
  store i32 %9246, ptr %181, 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 %181, 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.44, ptr noundef @.str.1, i32 noundef 286, ptr noundef %9263, ptr noundef %9266, ptr noundef %9269, i32 noundef %9271) #11
  br label %9290

9273:                                             ; preds = %9251, %9244
  %9274 = load i32, ptr %181, 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.44, ptr noundef @.str.1, i32 noundef 286, 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 %181) #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, %9236
  br label %9296

9296:                                             ; preds = %9295
  br label %9297

9297:                                             ; preds = %9296
  %9298 = call i32 @s2n_io_pair_close(ptr noundef %161)
  call void @llvm.lifetime.end.p0(i64 8, ptr %161) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %159) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #11
  store i32 0, ptr %182, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %183) #11
  %9299 = call ptr @s2n_config_new()
  store ptr %9299, ptr %183, align 8, !tbaa !9
  br label %9300

9300:                                             ; preds = %9297
  %9301 = load i32, ptr @test_count, align 4, !tbaa !5
  %9302 = add nsw i32 %9301, 1
  store i32 %9302, ptr @test_count, align 4, !tbaa !5
  %9303 = load ptr, ptr %183, align 8, !tbaa !9
  %9304 = call i32 @s2n_config_set_early_data_cb(ptr noundef %9303, ptr noundef @s2n_test_async_early_data_cb)
  %9305 = icmp eq i32 %9304, -1
  br i1 %9305, label %9306, label %9359

9306:                                             ; preds = %9300
  br label %9307

9307:                                             ; preds = %9306
  br label %9308

9308:                                             ; preds = %9307
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #11
  %9309 = call ptr @__errno_location() #12
  %9310 = load i32, ptr %9309, align 4, !tbaa !5
  store i32 %9310, ptr %184, align 4, !tbaa !5
  %9311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9312 = call i32 @s2n_print_stacktrace(ptr noundef %9311)
  %9313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9314 = trunc i8 %9313 to i1
  br i1 %9314, label %9315, label %9337

9315:                                             ; preds = %9308
  %9316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9317 = call i32 @fileno(ptr noundef %9316) #11
  %9318 = call i32 @isatty(i32 noundef %9317) #11
  %9319 = icmp ne i32 %9318, 0
  br i1 %9319, label %9320, label %9337

9320:                                             ; preds = %9315
  %9321 = load i32, ptr %184, align 4, !tbaa !5
  %9322 = call ptr @__errno_location() #12
  store i32 %9321, ptr %9322, align 4, !tbaa !5
  %9323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9324 = load i32, ptr @test_count, align 4, !tbaa !5
  %9325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9326 = load i32, ptr %9325, align 4, !tbaa !5
  %9327 = call ptr @s2n_strerror(i32 noundef %9326, ptr noundef @.str.4)
  %9328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9329 = load i32, ptr %9328, align 4, !tbaa !5
  %9330 = call ptr @s2n_strerror_debug(i32 noundef %9329, ptr noundef @.str.4)
  %9331 = call ptr @__errno_location() #12
  %9332 = load i32, ptr %9331, align 4, !tbaa !5
  %9333 = call ptr @strerror(i32 noundef %9332) #11
  %9334 = call ptr @__errno_location() #12
  %9335 = load i32, ptr %9334, align 4, !tbaa !5
  %9336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9323, ptr noundef @.str.2, i32 noundef %9324, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 294, ptr noundef %9327, ptr noundef %9330, ptr noundef %9333, i32 noundef %9335) #11
  br label %9354

9337:                                             ; preds = %9315, %9308
  %9338 = load i32, ptr %184, align 4, !tbaa !5
  %9339 = call ptr @__errno_location() #12
  store i32 %9338, ptr %9339, align 4, !tbaa !5
  %9340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9341 = load i32, ptr @test_count, align 4, !tbaa !5
  %9342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9343 = load i32, ptr %9342, align 4, !tbaa !5
  %9344 = call ptr @s2n_strerror(i32 noundef %9343, ptr noundef @.str.4)
  %9345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9346 = load i32, ptr %9345, align 4, !tbaa !5
  %9347 = call ptr @s2n_strerror_debug(i32 noundef %9346, ptr noundef @.str.4)
  %9348 = call ptr @__errno_location() #12
  %9349 = load i32, ptr %9348, align 4, !tbaa !5
  %9350 = call ptr @strerror(i32 noundef %9349) #11
  %9351 = call ptr @__errno_location() #12
  %9352 = load i32, ptr %9351, align 4, !tbaa !5
  %9353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9340, ptr noundef @.str.5, i32 noundef %9341, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 294, ptr noundef %9344, ptr noundef %9347, ptr noundef %9350, i32 noundef %9352) #11
  br label %9354

9354:                                             ; preds = %9337, %9320
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #11
  br label %9355

9355:                                             ; preds = %9354
  br label %9356

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

9357:                                             ; No predecessors!
  br label %9358

9358:                                             ; preds = %9357
  br label %9359

9359:                                             ; preds = %9358, %9300
  br label %9360

9360:                                             ; preds = %9359
  br label %9361

9361:                                             ; preds = %9360
  br label %9362

9362:                                             ; preds = %9361
  %9363 = load i32, ptr @test_count, align 4, !tbaa !5
  %9364 = add nsw i32 %9363, 1
  store i32 %9364, ptr @test_count, align 4, !tbaa !5
  %9365 = load ptr, ptr %183, align 8, !tbaa !9
  %9366 = icmp eq ptr %9365, null
  br i1 %9366, label %9367, label %9420

9367:                                             ; preds = %9362
  br label %9368

9368:                                             ; preds = %9367
  br label %9369

9369:                                             ; preds = %9368
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #11
  %9370 = call ptr @__errno_location() #12
  %9371 = load i32, ptr %9370, align 4, !tbaa !5
  store i32 %9371, ptr %185, align 4, !tbaa !5
  %9372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9373 = call i32 @s2n_print_stacktrace(ptr noundef %9372)
  %9374 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9375 = trunc i8 %9374 to i1
  br i1 %9375, label %9376, label %9398

9376:                                             ; preds = %9369
  %9377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9378 = call i32 @fileno(ptr noundef %9377) #11
  %9379 = call i32 @isatty(i32 noundef %9378) #11
  %9380 = icmp ne i32 %9379, 0
  br i1 %9380, label %9381, label %9398

9381:                                             ; preds = %9376
  %9382 = load i32, ptr %185, align 4, !tbaa !5
  %9383 = call ptr @__errno_location() #12
  store i32 %9382, ptr %9383, align 4, !tbaa !5
  %9384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9385 = load i32, ptr @test_count, align 4, !tbaa !5
  %9386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9387 = load i32, ptr %9386, align 4, !tbaa !5
  %9388 = call ptr @s2n_strerror(i32 noundef %9387, ptr noundef @.str.4)
  %9389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9390 = load i32, ptr %9389, align 4, !tbaa !5
  %9391 = call ptr @s2n_strerror_debug(i32 noundef %9390, ptr noundef @.str.4)
  %9392 = call ptr @__errno_location() #12
  %9393 = load i32, ptr %9392, align 4, !tbaa !5
  %9394 = call ptr @strerror(i32 noundef %9393) #11
  %9395 = call ptr @__errno_location() #12
  %9396 = load i32, ptr %9395, align 4, !tbaa !5
  %9397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9384, ptr noundef @.str.2, i32 noundef %9385, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 295, ptr noundef %9388, ptr noundef %9391, ptr noundef %9394, i32 noundef %9396) #11
  br label %9415

9398:                                             ; preds = %9376, %9369
  %9399 = load i32, ptr %185, align 4, !tbaa !5
  %9400 = call ptr @__errno_location() #12
  store i32 %9399, ptr %9400, align 4, !tbaa !5
  %9401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9402 = load i32, ptr @test_count, align 4, !tbaa !5
  %9403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9404 = load i32, ptr %9403, align 4, !tbaa !5
  %9405 = call ptr @s2n_strerror(i32 noundef %9404, ptr noundef @.str.4)
  %9406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9407 = load i32, ptr %9406, align 4, !tbaa !5
  %9408 = call ptr @s2n_strerror_debug(i32 noundef %9407, ptr noundef @.str.4)
  %9409 = call ptr @__errno_location() #12
  %9410 = load i32, ptr %9409, align 4, !tbaa !5
  %9411 = call ptr @strerror(i32 noundef %9410) #11
  %9412 = call ptr @__errno_location() #12
  %9413 = load i32, ptr %9412, align 4, !tbaa !5
  %9414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9401, ptr noundef @.str.5, i32 noundef %9402, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 295, ptr noundef %9405, ptr noundef %9408, ptr noundef %9411, i32 noundef %9413) #11
  br label %9415

9415:                                             ; preds = %9398, %9381
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #11
  br label %9416

9416:                                             ; preds = %9415
  br label %9417

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

9418:                                             ; No predecessors!
  br label %9419

9419:                                             ; preds = %9418
  br label %9420

9420:                                             ; preds = %9419, %9362
  br label %9421

9421:                                             ; preds = %9420
  br label %9422

9422:                                             ; preds = %9421
  call void @llvm.lifetime.start.p0(i64 8, ptr %186) #11
  store ptr null, ptr %186, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %187) #11
  store ptr null, ptr %187, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %188) #11
  call void @llvm.memset.p0.i64(ptr align 4 %188, i8 0, i64 8, i1 false)
  br label %9423

9423:                                             ; preds = %9422
  %9424 = load i32, ptr @test_count, align 4, !tbaa !5
  %9425 = add nsw i32 %9424, 1
  store i32 %9425, ptr @test_count, align 4, !tbaa !5
  %9426 = call i32 @s2n_test_client_and_server_new(ptr noundef %186, ptr noundef %187, ptr noundef %188)
  %9427 = getelementptr inbounds %struct.s2n_result, ptr %189, i32 0, i32 0
  store i32 %9426, ptr %9427, align 4
  %9428 = getelementptr inbounds %struct.s2n_result, ptr %189, i32 0, i32 0
  %9429 = load i32, ptr %9428, align 4
  %9430 = call zeroext i1 @s2n_result_is_ok(i32 %9429)
  br i1 %9430, label %9484, label %9431

9431:                                             ; preds = %9423
  br label %9432

9432:                                             ; preds = %9431
  br label %9433

9433:                                             ; preds = %9432
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #11
  %9434 = call ptr @__errno_location() #12
  %9435 = load i32, ptr %9434, align 4, !tbaa !5
  store i32 %9435, ptr %190, align 4, !tbaa !5
  %9436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9437 = call i32 @s2n_print_stacktrace(ptr noundef %9436)
  %9438 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9439 = trunc i8 %9438 to i1
  br i1 %9439, label %9440, label %9462

9440:                                             ; preds = %9433
  %9441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9442 = call i32 @fileno(ptr noundef %9441) #11
  %9443 = call i32 @isatty(i32 noundef %9442) #11
  %9444 = icmp ne i32 %9443, 0
  br i1 %9444, label %9445, label %9462

9445:                                             ; preds = %9440
  %9446 = load i32, ptr %190, align 4, !tbaa !5
  %9447 = call ptr @__errno_location() #12
  store i32 %9446, ptr %9447, align 4, !tbaa !5
  %9448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9449 = load i32, ptr @test_count, align 4, !tbaa !5
  %9450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9451 = load i32, ptr %9450, align 4, !tbaa !5
  %9452 = call ptr @s2n_strerror(i32 noundef %9451, ptr noundef @.str.4)
  %9453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9454 = load i32, ptr %9453, align 4, !tbaa !5
  %9455 = call ptr @s2n_strerror_debug(i32 noundef %9454, ptr noundef @.str.4)
  %9456 = call ptr @__errno_location() #12
  %9457 = load i32, ptr %9456, align 4, !tbaa !5
  %9458 = call ptr @strerror(i32 noundef %9457) #11
  %9459 = call ptr @__errno_location() #12
  %9460 = load i32, ptr %9459, align 4, !tbaa !5
  %9461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9448, ptr noundef @.str.2, i32 noundef %9449, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 299, ptr noundef %9452, ptr noundef %9455, ptr noundef %9458, i32 noundef %9460) #11
  br label %9479

9462:                                             ; preds = %9440, %9433
  %9463 = load i32, ptr %190, align 4, !tbaa !5
  %9464 = call ptr @__errno_location() #12
  store i32 %9463, ptr %9464, align 4, !tbaa !5
  %9465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9466 = load i32, ptr @test_count, align 4, !tbaa !5
  %9467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9468 = load i32, ptr %9467, align 4, !tbaa !5
  %9469 = call ptr @s2n_strerror(i32 noundef %9468, ptr noundef @.str.4)
  %9470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9471 = load i32, ptr %9470, align 4, !tbaa !5
  %9472 = call ptr @s2n_strerror_debug(i32 noundef %9471, ptr noundef @.str.4)
  %9473 = call ptr @__errno_location() #12
  %9474 = load i32, ptr %9473, align 4, !tbaa !5
  %9475 = call ptr @strerror(i32 noundef %9474) #11
  %9476 = call ptr @__errno_location() #12
  %9477 = load i32, ptr %9476, align 4, !tbaa !5
  %9478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9465, ptr noundef @.str.5, i32 noundef %9466, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 299, ptr noundef %9469, ptr noundef %9472, ptr noundef %9475, i32 noundef %9477) #11
  br label %9479

9479:                                             ; preds = %9462, %9445
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #11
  br label %9480

9480:                                             ; preds = %9479
  br label %9481

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

9482:                                             ; No predecessors!
  br label %9483

9483:                                             ; preds = %9482
  br label %9484

9484:                                             ; preds = %9483, %9423
  br label %9485

9485:                                             ; preds = %9484
  br label %9486

9486:                                             ; preds = %9485
  br label %9487

9487:                                             ; preds = %9486
  %9488 = load i32, ptr @test_count, align 4, !tbaa !5
  %9489 = add nsw i32 %9488, 1
  store i32 %9489, ptr @test_count, align 4, !tbaa !5
  %9490 = load ptr, ptr %187, align 8, !tbaa !9
  %9491 = load ptr, ptr %183, align 8, !tbaa !9
  %9492 = call i32 @s2n_connection_set_config(ptr noundef %9490, ptr noundef %9491)
  %9493 = icmp eq i32 %9492, -1
  br i1 %9493, label %9494, label %9547

9494:                                             ; preds = %9487
  br label %9495

9495:                                             ; preds = %9494
  br label %9496

9496:                                             ; preds = %9495
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #11
  %9497 = call ptr @__errno_location() #12
  %9498 = load i32, ptr %9497, align 4, !tbaa !5
  store i32 %9498, ptr %191, align 4, !tbaa !5
  %9499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9500 = call i32 @s2n_print_stacktrace(ptr noundef %9499)
  %9501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9502 = trunc i8 %9501 to i1
  br i1 %9502, label %9503, label %9525

9503:                                             ; preds = %9496
  %9504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9505 = call i32 @fileno(ptr noundef %9504) #11
  %9506 = call i32 @isatty(i32 noundef %9505) #11
  %9507 = icmp ne i32 %9506, 0
  br i1 %9507, label %9508, label %9525

9508:                                             ; preds = %9503
  %9509 = load i32, ptr %191, align 4, !tbaa !5
  %9510 = call ptr @__errno_location() #12
  store i32 %9509, ptr %9510, align 4, !tbaa !5
  %9511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9512 = load i32, ptr @test_count, align 4, !tbaa !5
  %9513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9514 = load i32, ptr %9513, align 4, !tbaa !5
  %9515 = call ptr @s2n_strerror(i32 noundef %9514, ptr noundef @.str.4)
  %9516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9517 = load i32, ptr %9516, align 4, !tbaa !5
  %9518 = call ptr @s2n_strerror_debug(i32 noundef %9517, ptr noundef @.str.4)
  %9519 = call ptr @__errno_location() #12
  %9520 = load i32, ptr %9519, align 4, !tbaa !5
  %9521 = call ptr @strerror(i32 noundef %9520) #11
  %9522 = call ptr @__errno_location() #12
  %9523 = load i32, ptr %9522, align 4, !tbaa !5
  %9524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9511, ptr noundef @.str.2, i32 noundef %9512, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 300, ptr noundef %9515, ptr noundef %9518, ptr noundef %9521, i32 noundef %9523) #11
  br label %9542

9525:                                             ; preds = %9503, %9496
  %9526 = load i32, ptr %191, align 4, !tbaa !5
  %9527 = call ptr @__errno_location() #12
  store i32 %9526, ptr %9527, align 4, !tbaa !5
  %9528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9529 = load i32, ptr @test_count, align 4, !tbaa !5
  %9530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9531 = load i32, ptr %9530, align 4, !tbaa !5
  %9532 = call ptr @s2n_strerror(i32 noundef %9531, ptr noundef @.str.4)
  %9533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9534 = load i32, ptr %9533, align 4, !tbaa !5
  %9535 = call ptr @s2n_strerror_debug(i32 noundef %9534, ptr noundef @.str.4)
  %9536 = call ptr @__errno_location() #12
  %9537 = load i32, ptr %9536, align 4, !tbaa !5
  %9538 = call ptr @strerror(i32 noundef %9537) #11
  %9539 = call ptr @__errno_location() #12
  %9540 = load i32, ptr %9539, align 4, !tbaa !5
  %9541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9528, ptr noundef @.str.5, i32 noundef %9529, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 300, ptr noundef %9532, ptr noundef %9535, ptr noundef %9538, i32 noundef %9540) #11
  br label %9542

9542:                                             ; preds = %9525, %9508
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #11
  br label %9543

9543:                                             ; preds = %9542
  br label %9544

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

9545:                                             ; No predecessors!
  br label %9546

9546:                                             ; preds = %9545
  br label %9547

9547:                                             ; preds = %9546, %9487
  br label %9548

9548:                                             ; preds = %9547
  br label %9549

9549:                                             ; preds = %9548
  br label %9550

9550:                                             ; preds = %9549
  %9551 = load i32, ptr @test_count, align 4, !tbaa !5
  %9552 = add nsw i32 %9551, 1
  store i32 %9552, ptr @test_count, align 4, !tbaa !5
  %9553 = load ptr, ptr %186, align 8, !tbaa !9
  %9554 = load ptr, ptr %12, align 8, !tbaa !9
  %9555 = call i32 @s2n_connection_append_psk(ptr noundef %9553, ptr noundef %9554)
  %9556 = icmp eq i32 %9555, -1
  br i1 %9556, label %9557, label %9610

9557:                                             ; preds = %9550
  br label %9558

9558:                                             ; preds = %9557
  br label %9559

9559:                                             ; preds = %9558
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #11
  %9560 = call ptr @__errno_location() #12
  %9561 = load i32, ptr %9560, align 4, !tbaa !5
  store i32 %9561, ptr %192, align 4, !tbaa !5
  %9562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9563 = call i32 @s2n_print_stacktrace(ptr noundef %9562)
  %9564 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9565 = trunc i8 %9564 to i1
  br i1 %9565, label %9566, label %9588

9566:                                             ; preds = %9559
  %9567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9568 = call i32 @fileno(ptr noundef %9567) #11
  %9569 = call i32 @isatty(i32 noundef %9568) #11
  %9570 = icmp ne i32 %9569, 0
  br i1 %9570, label %9571, label %9588

9571:                                             ; preds = %9566
  %9572 = load i32, ptr %192, align 4, !tbaa !5
  %9573 = call ptr @__errno_location() #12
  store i32 %9572, ptr %9573, align 4, !tbaa !5
  %9574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9575 = load i32, ptr @test_count, align 4, !tbaa !5
  %9576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9577 = load i32, ptr %9576, align 4, !tbaa !5
  %9578 = call ptr @s2n_strerror(i32 noundef %9577, ptr noundef @.str.4)
  %9579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9580 = load i32, ptr %9579, align 4, !tbaa !5
  %9581 = call ptr @s2n_strerror_debug(i32 noundef %9580, ptr noundef @.str.4)
  %9582 = call ptr @__errno_location() #12
  %9583 = load i32, ptr %9582, align 4, !tbaa !5
  %9584 = call ptr @strerror(i32 noundef %9583) #11
  %9585 = call ptr @__errno_location() #12
  %9586 = load i32, ptr %9585, align 4, !tbaa !5
  %9587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9574, ptr noundef @.str.2, i32 noundef %9575, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 302, ptr noundef %9578, ptr noundef %9581, ptr noundef %9584, i32 noundef %9586) #11
  br label %9605

9588:                                             ; preds = %9566, %9559
  %9589 = load i32, ptr %192, align 4, !tbaa !5
  %9590 = call ptr @__errno_location() #12
  store i32 %9589, ptr %9590, align 4, !tbaa !5
  %9591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9592 = load i32, ptr @test_count, align 4, !tbaa !5
  %9593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9594 = load i32, ptr %9593, align 4, !tbaa !5
  %9595 = call ptr @s2n_strerror(i32 noundef %9594, ptr noundef @.str.4)
  %9596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9597 = load i32, ptr %9596, align 4, !tbaa !5
  %9598 = call ptr @s2n_strerror_debug(i32 noundef %9597, ptr noundef @.str.4)
  %9599 = call ptr @__errno_location() #12
  %9600 = load i32, ptr %9599, align 4, !tbaa !5
  %9601 = call ptr @strerror(i32 noundef %9600) #11
  %9602 = call ptr @__errno_location() #12
  %9603 = load i32, ptr %9602, align 4, !tbaa !5
  %9604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9591, ptr noundef @.str.5, i32 noundef %9592, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 302, ptr noundef %9595, ptr noundef %9598, ptr noundef %9601, i32 noundef %9603) #11
  br label %9605

9605:                                             ; preds = %9588, %9571
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #11
  br label %9606

9606:                                             ; preds = %9605
  br label %9607

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

9608:                                             ; No predecessors!
  br label %9609

9609:                                             ; preds = %9608
  br label %9610

9610:                                             ; preds = %9609, %9550
  br label %9611

9611:                                             ; preds = %9610
  br label %9612

9612:                                             ; preds = %9611
  br label %9613

9613:                                             ; preds = %9612
  %9614 = load i32, ptr @test_count, align 4, !tbaa !5
  %9615 = add nsw i32 %9614, 1
  store i32 %9615, ptr @test_count, align 4, !tbaa !5
  %9616 = load ptr, ptr %187, align 8, !tbaa !9
  %9617 = load ptr, ptr %12, align 8, !tbaa !9
  %9618 = call i32 @s2n_connection_append_psk(ptr noundef %9616, ptr noundef %9617)
  %9619 = icmp eq i32 %9618, -1
  br i1 %9619, label %9620, label %9673

9620:                                             ; preds = %9613
  br label %9621

9621:                                             ; preds = %9620
  br label %9622

9622:                                             ; preds = %9621
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #11
  %9623 = call ptr @__errno_location() #12
  %9624 = load i32, ptr %9623, align 4, !tbaa !5
  store i32 %9624, ptr %193, align 4, !tbaa !5
  %9625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9626 = call i32 @s2n_print_stacktrace(ptr noundef %9625)
  %9627 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9628 = trunc i8 %9627 to i1
  br i1 %9628, label %9629, label %9651

9629:                                             ; preds = %9622
  %9630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9631 = call i32 @fileno(ptr noundef %9630) #11
  %9632 = call i32 @isatty(i32 noundef %9631) #11
  %9633 = icmp ne i32 %9632, 0
  br i1 %9633, label %9634, label %9651

9634:                                             ; preds = %9629
  %9635 = load i32, ptr %193, align 4, !tbaa !5
  %9636 = call ptr @__errno_location() #12
  store i32 %9635, ptr %9636, align 4, !tbaa !5
  %9637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9638 = load i32, ptr @test_count, align 4, !tbaa !5
  %9639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9640 = load i32, ptr %9639, align 4, !tbaa !5
  %9641 = call ptr @s2n_strerror(i32 noundef %9640, ptr noundef @.str.4)
  %9642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9643 = load i32, ptr %9642, align 4, !tbaa !5
  %9644 = call ptr @s2n_strerror_debug(i32 noundef %9643, ptr noundef @.str.4)
  %9645 = call ptr @__errno_location() #12
  %9646 = load i32, ptr %9645, align 4, !tbaa !5
  %9647 = call ptr @strerror(i32 noundef %9646) #11
  %9648 = call ptr @__errno_location() #12
  %9649 = load i32, ptr %9648, align 4, !tbaa !5
  %9650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9637, ptr noundef @.str.2, i32 noundef %9638, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 303, ptr noundef %9641, ptr noundef %9644, ptr noundef %9647, i32 noundef %9649) #11
  br label %9668

9651:                                             ; preds = %9629, %9622
  %9652 = load i32, ptr %193, align 4, !tbaa !5
  %9653 = call ptr @__errno_location() #12
  store i32 %9652, ptr %9653, align 4, !tbaa !5
  %9654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9655 = load i32, ptr @test_count, align 4, !tbaa !5
  %9656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9657 = load i32, ptr %9656, align 4, !tbaa !5
  %9658 = call ptr @s2n_strerror(i32 noundef %9657, ptr noundef @.str.4)
  %9659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9660 = load i32, ptr %9659, align 4, !tbaa !5
  %9661 = call ptr @s2n_strerror_debug(i32 noundef %9660, ptr noundef @.str.4)
  %9662 = call ptr @__errno_location() #12
  %9663 = load i32, ptr %9662, align 4, !tbaa !5
  %9664 = call ptr @strerror(i32 noundef %9663) #11
  %9665 = call ptr @__errno_location() #12
  %9666 = load i32, ptr %9665, align 4, !tbaa !5
  %9667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9654, ptr noundef @.str.5, i32 noundef %9655, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 303, ptr noundef %9658, ptr noundef %9661, ptr noundef %9664, i32 noundef %9666) #11
  br label %9668

9668:                                             ; preds = %9651, %9634
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #11
  br label %9669

9669:                                             ; preds = %9668
  br label %9670

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

9671:                                             ; No predecessors!
  br label %9672

9672:                                             ; preds = %9671
  br label %9673

9673:                                             ; preds = %9672, %9613
  br label %9674

9674:                                             ; preds = %9673
  br label %9675

9675:                                             ; preds = %9674
  br label %9676

9676:                                             ; preds = %9675
  %9677 = load i32, ptr @test_count, align 4, !tbaa !5
  %9678 = add nsw i32 %9677, 1
  store i32 %9678, ptr @test_count, align 4, !tbaa !5
  %9679 = load ptr, ptr %186, align 8, !tbaa !9
  %9680 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %9679)
  %9681 = icmp eq i32 %9680, -1
  br i1 %9681, label %9682, label %9735

9682:                                             ; preds = %9676
  br label %9683

9683:                                             ; preds = %9682
  br label %9684

9684:                                             ; preds = %9683
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #11
  %9685 = call ptr @__errno_location() #12
  %9686 = load i32, ptr %9685, align 4, !tbaa !5
  store i32 %9686, ptr %194, align 4, !tbaa !5
  %9687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9688 = call i32 @s2n_print_stacktrace(ptr noundef %9687)
  %9689 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9690 = trunc i8 %9689 to i1
  br i1 %9690, label %9691, label %9713

9691:                                             ; preds = %9684
  %9692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9693 = call i32 @fileno(ptr noundef %9692) #11
  %9694 = call i32 @isatty(i32 noundef %9693) #11
  %9695 = icmp ne i32 %9694, 0
  br i1 %9695, label %9696, label %9713

9696:                                             ; preds = %9691
  %9697 = load i32, ptr %194, align 4, !tbaa !5
  %9698 = call ptr @__errno_location() #12
  store i32 %9697, ptr %9698, align 4, !tbaa !5
  %9699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9700 = load i32, ptr @test_count, align 4, !tbaa !5
  %9701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9702 = load i32, ptr %9701, align 4, !tbaa !5
  %9703 = call ptr @s2n_strerror(i32 noundef %9702, ptr noundef @.str.4)
  %9704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9705 = load i32, ptr %9704, align 4, !tbaa !5
  %9706 = call ptr @s2n_strerror_debug(i32 noundef %9705, ptr noundef @.str.4)
  %9707 = call ptr @__errno_location() #12
  %9708 = load i32, ptr %9707, align 4, !tbaa !5
  %9709 = call ptr @strerror(i32 noundef %9708) #11
  %9710 = call ptr @__errno_location() #12
  %9711 = load i32, ptr %9710, align 4, !tbaa !5
  %9712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9699, ptr noundef @.str.2, i32 noundef %9700, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 304, ptr noundef %9703, ptr noundef %9706, ptr noundef %9709, i32 noundef %9711) #11
  br label %9730

9713:                                             ; preds = %9691, %9684
  %9714 = load i32, ptr %194, align 4, !tbaa !5
  %9715 = call ptr @__errno_location() #12
  store i32 %9714, ptr %9715, align 4, !tbaa !5
  %9716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9717 = load i32, ptr @test_count, align 4, !tbaa !5
  %9718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9719 = load i32, ptr %9718, align 4, !tbaa !5
  %9720 = call ptr @s2n_strerror(i32 noundef %9719, ptr noundef @.str.4)
  %9721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9722 = load i32, ptr %9721, align 4, !tbaa !5
  %9723 = call ptr @s2n_strerror_debug(i32 noundef %9722, ptr noundef @.str.4)
  %9724 = call ptr @__errno_location() #12
  %9725 = load i32, ptr %9724, align 4, !tbaa !5
  %9726 = call ptr @strerror(i32 noundef %9725) #11
  %9727 = call ptr @__errno_location() #12
  %9728 = load i32, ptr %9727, align 4, !tbaa !5
  %9729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9716, ptr noundef @.str.5, i32 noundef %9717, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 304, ptr noundef %9720, ptr noundef %9723, ptr noundef %9726, i32 noundef %9728) #11
  br label %9730

9730:                                             ; preds = %9713, %9696
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #11
  br label %9731

9731:                                             ; preds = %9730
  br label %9732

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

9733:                                             ; No predecessors!
  br label %9734

9734:                                             ; preds = %9733
  br label %9735

9735:                                             ; preds = %9734, %9676
  br label %9736

9736:                                             ; preds = %9735
  br label %9737

9737:                                             ; preds = %9736
  br label %9738

9738:                                             ; preds = %9737
  %9739 = load i32, ptr @test_count, align 4, !tbaa !5
  %9740 = add nsw i32 %9739, 1
  store i32 %9740, ptr @test_count, align 4, !tbaa !5
  %9741 = load ptr, ptr %187, align 8, !tbaa !9
  %9742 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %9741)
  %9743 = icmp eq i32 %9742, -1
  br i1 %9743, label %9744, label %9797

9744:                                             ; preds = %9738
  br label %9745

9745:                                             ; preds = %9744
  br label %9746

9746:                                             ; preds = %9745
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #11
  %9747 = call ptr @__errno_location() #12
  %9748 = load i32, ptr %9747, align 4, !tbaa !5
  store i32 %9748, ptr %195, align 4, !tbaa !5
  %9749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9750 = call i32 @s2n_print_stacktrace(ptr noundef %9749)
  %9751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9752 = trunc i8 %9751 to i1
  br i1 %9752, label %9753, label %9775

9753:                                             ; preds = %9746
  %9754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9755 = call i32 @fileno(ptr noundef %9754) #11
  %9756 = call i32 @isatty(i32 noundef %9755) #11
  %9757 = icmp ne i32 %9756, 0
  br i1 %9757, label %9758, label %9775

9758:                                             ; preds = %9753
  %9759 = load i32, ptr %195, align 4, !tbaa !5
  %9760 = call ptr @__errno_location() #12
  store i32 %9759, ptr %9760, align 4, !tbaa !5
  %9761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9762 = load i32, ptr @test_count, align 4, !tbaa !5
  %9763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9764 = load i32, ptr %9763, align 4, !tbaa !5
  %9765 = call ptr @s2n_strerror(i32 noundef %9764, ptr noundef @.str.4)
  %9766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9767 = load i32, ptr %9766, align 4, !tbaa !5
  %9768 = call ptr @s2n_strerror_debug(i32 noundef %9767, ptr noundef @.str.4)
  %9769 = call ptr @__errno_location() #12
  %9770 = load i32, ptr %9769, align 4, !tbaa !5
  %9771 = call ptr @strerror(i32 noundef %9770) #11
  %9772 = call ptr @__errno_location() #12
  %9773 = load i32, ptr %9772, align 4, !tbaa !5
  %9774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9761, ptr noundef @.str.2, i32 noundef %9762, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 305, ptr noundef %9765, ptr noundef %9768, ptr noundef %9771, i32 noundef %9773) #11
  br label %9792

9775:                                             ; preds = %9753, %9746
  %9776 = load i32, ptr %195, align 4, !tbaa !5
  %9777 = call ptr @__errno_location() #12
  store i32 %9776, ptr %9777, align 4, !tbaa !5
  %9778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9779 = load i32, ptr @test_count, align 4, !tbaa !5
  %9780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9781 = load i32, ptr %9780, align 4, !tbaa !5
  %9782 = call ptr @s2n_strerror(i32 noundef %9781, ptr noundef @.str.4)
  %9783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9784 = load i32, ptr %9783, align 4, !tbaa !5
  %9785 = call ptr @s2n_strerror_debug(i32 noundef %9784, ptr noundef @.str.4)
  %9786 = call ptr @__errno_location() #12
  %9787 = load i32, ptr %9786, align 4, !tbaa !5
  %9788 = call ptr @strerror(i32 noundef %9787) #11
  %9789 = call ptr @__errno_location() #12
  %9790 = load i32, ptr %9789, align 4, !tbaa !5
  %9791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9778, ptr noundef @.str.5, i32 noundef %9779, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 305, ptr noundef %9782, ptr noundef %9785, ptr noundef %9788, i32 noundef %9790) #11
  br label %9792

9792:                                             ; preds = %9775, %9758
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #11
  br label %9793

9793:                                             ; preds = %9792
  br label %9794

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

9795:                                             ; No predecessors!
  br label %9796

9796:                                             ; preds = %9795
  br label %9797

9797:                                             ; preds = %9796, %9738
  br label %9798

9798:                                             ; preds = %9797
  br label %9799

9799:                                             ; preds = %9798
  br label %9800

9800:                                             ; preds = %9799
  %9801 = load i32, ptr @test_count, align 4, !tbaa !5
  %9802 = add nsw i32 %9801, 1
  store i32 %9802, ptr @test_count, align 4, !tbaa !5
  %9803 = load ptr, ptr %186, align 8, !tbaa !9
  %9804 = call i32 @s2n_negotiate_until_message(ptr noundef %9803, ptr noundef %182, i32 noundef 1)
  %9805 = getelementptr inbounds %struct.s2n_result, ptr %196, i32 0, i32 0
  store i32 %9804, ptr %9805, align 4
  %9806 = getelementptr inbounds %struct.s2n_result, ptr %196, i32 0, i32 0
  %9807 = load i32, ptr %9806, align 4
  %9808 = call zeroext i1 @s2n_result_is_ok(i32 %9807)
  br i1 %9808, label %9862, label %9809

9809:                                             ; preds = %9800
  br label %9810

9810:                                             ; preds = %9809
  br label %9811

9811:                                             ; preds = %9810
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #11
  %9812 = call ptr @__errno_location() #12
  %9813 = load i32, ptr %9812, align 4, !tbaa !5
  store i32 %9813, ptr %197, align 4, !tbaa !5
  %9814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9815 = call i32 @s2n_print_stacktrace(ptr noundef %9814)
  %9816 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9817 = trunc i8 %9816 to i1
  br i1 %9817, label %9818, label %9840

9818:                                             ; preds = %9811
  %9819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9820 = call i32 @fileno(ptr noundef %9819) #11
  %9821 = call i32 @isatty(i32 noundef %9820) #11
  %9822 = icmp ne i32 %9821, 0
  br i1 %9822, label %9823, label %9840

9823:                                             ; preds = %9818
  %9824 = load i32, ptr %197, align 4, !tbaa !5
  %9825 = call ptr @__errno_location() #12
  store i32 %9824, ptr %9825, align 4, !tbaa !5
  %9826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9827 = load i32, ptr @test_count, align 4, !tbaa !5
  %9828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9829 = load i32, ptr %9828, align 4, !tbaa !5
  %9830 = call ptr @s2n_strerror(i32 noundef %9829, ptr noundef @.str.4)
  %9831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9832 = load i32, ptr %9831, align 4, !tbaa !5
  %9833 = call ptr @s2n_strerror_debug(i32 noundef %9832, ptr noundef @.str.4)
  %9834 = call ptr @__errno_location() #12
  %9835 = load i32, ptr %9834, align 4, !tbaa !5
  %9836 = call ptr @strerror(i32 noundef %9835) #11
  %9837 = call ptr @__errno_location() #12
  %9838 = load i32, ptr %9837, align 4, !tbaa !5
  %9839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9826, ptr noundef @.str.2, i32 noundef %9827, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 308, ptr noundef %9830, ptr noundef %9833, ptr noundef %9836, i32 noundef %9838) #11
  br label %9857

9840:                                             ; preds = %9818, %9811
  %9841 = load i32, ptr %197, align 4, !tbaa !5
  %9842 = call ptr @__errno_location() #12
  store i32 %9841, ptr %9842, align 4, !tbaa !5
  %9843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9844 = load i32, ptr @test_count, align 4, !tbaa !5
  %9845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9846 = load i32, ptr %9845, align 4, !tbaa !5
  %9847 = call ptr @s2n_strerror(i32 noundef %9846, ptr noundef @.str.4)
  %9848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9849 = load i32, ptr %9848, align 4, !tbaa !5
  %9850 = call ptr @s2n_strerror_debug(i32 noundef %9849, ptr noundef @.str.4)
  %9851 = call ptr @__errno_location() #12
  %9852 = load i32, ptr %9851, align 4, !tbaa !5
  %9853 = call ptr @strerror(i32 noundef %9852) #11
  %9854 = call ptr @__errno_location() #12
  %9855 = load i32, ptr %9854, align 4, !tbaa !5
  %9856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9843, ptr noundef @.str.5, i32 noundef %9844, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 308, ptr noundef %9847, ptr noundef %9850, ptr noundef %9853, i32 noundef %9855) #11
  br label %9857

9857:                                             ; preds = %9840, %9823
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #11
  br label %9858

9858:                                             ; preds = %9857
  br label %9859

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

9860:                                             ; No predecessors!
  br label %9861

9861:                                             ; preds = %9860
  br label %9862

9862:                                             ; preds = %9861, %9800
  br label %9863

9863:                                             ; preds = %9862
  br label %9864

9864:                                             ; preds = %9863
  br label %9865

9865:                                             ; preds = %9864
  br label %9866

9866:                                             ; preds = %9865
  br label %9867

9867:                                             ; preds = %9866
  %9868 = load i32, ptr @test_count, align 4, !tbaa !5
  %9869 = add nsw i32 %9868, 1
  store i32 %9869, ptr @test_count, align 4, !tbaa !5
  %9870 = load ptr, ptr %187, align 8, !tbaa !9
  %9871 = call i32 @s2n_negotiate(ptr noundef %9870, ptr noundef %182)
  %9872 = icmp eq i32 %9871, -1
  br i1 %9872, label %9926, label %9873

9873:                                             ; preds = %9867
  br label %9874

9874:                                             ; preds = %9873
  br label %9875

9875:                                             ; preds = %9874
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #11
  %9876 = call ptr @__errno_location() #12
  %9877 = load i32, ptr %9876, align 4, !tbaa !5
  store i32 %9877, ptr %198, align 4, !tbaa !5
  %9878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9879 = call i32 @s2n_print_stacktrace(ptr noundef %9878)
  %9880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9881 = trunc i8 %9880 to i1
  br i1 %9881, label %9882, label %9904

9882:                                             ; preds = %9875
  %9883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9884 = call i32 @fileno(ptr noundef %9883) #11
  %9885 = call i32 @isatty(i32 noundef %9884) #11
  %9886 = icmp ne i32 %9885, 0
  br i1 %9886, label %9887, label %9904

9887:                                             ; preds = %9882
  %9888 = load i32, ptr %198, align 4, !tbaa !5
  %9889 = call ptr @__errno_location() #12
  store i32 %9888, ptr %9889, align 4, !tbaa !5
  %9890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9891 = load i32, ptr @test_count, align 4, !tbaa !5
  %9892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9893 = load i32, ptr %9892, align 4, !tbaa !5
  %9894 = call ptr @s2n_strerror(i32 noundef %9893, ptr noundef @.str.4)
  %9895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9896 = load i32, ptr %9895, align 4, !tbaa !5
  %9897 = call ptr @s2n_strerror_debug(i32 noundef %9896, ptr noundef @.str.4)
  %9898 = call ptr @__errno_location() #12
  %9899 = load i32, ptr %9898, align 4, !tbaa !5
  %9900 = call ptr @strerror(i32 noundef %9899) #11
  %9901 = call ptr @__errno_location() #12
  %9902 = load i32, ptr %9901, align 4, !tbaa !5
  %9903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9890, ptr noundef @.str.2, i32 noundef %9891, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 309, ptr noundef %9894, ptr noundef %9897, ptr noundef %9900, i32 noundef %9902) #11
  br label %9921

9904:                                             ; preds = %9882, %9875
  %9905 = load i32, ptr %198, 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.5, i32 noundef %9908, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 309, ptr noundef %9911, ptr noundef %9914, ptr noundef %9917, i32 noundef %9919) #11
  br label %9921

9921:                                             ; preds = %9904, %9887
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #11
  br label %9922

9922:                                             ; preds = %9921
  br label %9923

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

9924:                                             ; No predecessors!
  br label %9925

9925:                                             ; preds = %9924
  br label %9926

9926:                                             ; preds = %9925, %9867
  br label %9927

9927:                                             ; preds = %9926
  br label %9928

9928:                                             ; preds = %9927
  br label %9929

9929:                                             ; preds = %9928
  %9930 = load i32, ptr @test_count, align 4, !tbaa !5
  %9931 = add nsw i32 %9930, 1
  store i32 %9931, ptr @test_count, align 4, !tbaa !5
  %9932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9933 = load i32, ptr %9932, align 4, !tbaa !5
  %9934 = icmp eq i32 %9933, 201326593
  br i1 %9934, label %9988, label %9935

9935:                                             ; preds = %9929
  br label %9936

9936:                                             ; preds = %9935
  br label %9937

9937:                                             ; preds = %9936
  call void @llvm.lifetime.start.p0(i64 4, ptr %199) #11
  %9938 = call ptr @__errno_location() #12
  %9939 = load i32, ptr %9938, align 4, !tbaa !5
  store i32 %9939, ptr %199, align 4, !tbaa !5
  %9940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9941 = call i32 @s2n_print_stacktrace(ptr noundef %9940)
  %9942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9943 = trunc i8 %9942 to i1
  br i1 %9943, label %9944, label %9966

9944:                                             ; preds = %9937
  %9945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9946 = call i32 @fileno(ptr noundef %9945) #11
  %9947 = call i32 @isatty(i32 noundef %9946) #11
  %9948 = icmp ne i32 %9947, 0
  br i1 %9948, label %9949, label %9966

9949:                                             ; preds = %9944
  %9950 = load i32, ptr %199, align 4, !tbaa !5
  %9951 = call ptr @__errno_location() #12
  store i32 %9950, ptr %9951, align 4, !tbaa !5
  %9952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9953 = load i32, ptr @test_count, align 4, !tbaa !5
  %9954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9955 = load i32, ptr %9954, align 4, !tbaa !5
  %9956 = call ptr @s2n_strerror(i32 noundef %9955, ptr noundef @.str.4)
  %9957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9958 = load i32, ptr %9957, align 4, !tbaa !5
  %9959 = call ptr @s2n_strerror_debug(i32 noundef %9958, ptr noundef @.str.4)
  %9960 = call ptr @__errno_location() #12
  %9961 = load i32, ptr %9960, align 4, !tbaa !5
  %9962 = call ptr @strerror(i32 noundef %9961) #11
  %9963 = call ptr @__errno_location() #12
  %9964 = load i32, ptr %9963, align 4, !tbaa !5
  %9965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9952, ptr noundef @.str.2, i32 noundef %9953, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 309, ptr noundef %9956, ptr noundef %9959, ptr noundef %9962, i32 noundef %9964) #11
  br label %9983

9966:                                             ; preds = %9944, %9937
  %9967 = load i32, ptr %199, align 4, !tbaa !5
  %9968 = call ptr @__errno_location() #12
  store i32 %9967, ptr %9968, align 4, !tbaa !5
  %9969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9970 = load i32, ptr @test_count, align 4, !tbaa !5
  %9971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9972 = load i32, ptr %9971, align 4, !tbaa !5
  %9973 = call ptr @s2n_strerror(i32 noundef %9972, ptr noundef @.str.4)
  %9974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9975 = load i32, ptr %9974, align 4, !tbaa !5
  %9976 = call ptr @s2n_strerror_debug(i32 noundef %9975, ptr noundef @.str.4)
  %9977 = call ptr @__errno_location() #12
  %9978 = load i32, ptr %9977, align 4, !tbaa !5
  %9979 = call ptr @strerror(i32 noundef %9978) #11
  %9980 = call ptr @__errno_location() #12
  %9981 = load i32, ptr %9980, align 4, !tbaa !5
  %9982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9969, ptr noundef @.str.5, i32 noundef %9970, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 309, ptr noundef %9973, ptr noundef %9976, ptr noundef %9979, i32 noundef %9981) #11
  br label %9983

9983:                                             ; preds = %9966, %9949
  call void @llvm.lifetime.end.p0(i64 4, ptr %199) #11
  br label %9984

9984:                                             ; preds = %9983
  br label %9985

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

9986:                                             ; No predecessors!
  br label %9987

9987:                                             ; preds = %9986
  br label %9988

9988:                                             ; preds = %9987, %9929
  br label %9989

9989:                                             ; preds = %9988
  br label %9990

9990:                                             ; preds = %9989
  br label %9991

9991:                                             ; preds = %9990
  %9992 = load i32, ptr @test_count, align 4, !tbaa !5
  %9993 = add nsw i32 %9992, 1
  store i32 %9993, ptr @test_count, align 4, !tbaa !5
  %9994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9995 = load i32, ptr %9994, align 4, !tbaa !5
  %9996 = call ptr @s2n_strerror_debug(i32 noundef %9995, ptr noundef @.str.4)
  %9997 = icmp eq ptr %9996, null
  br i1 %9997, label %9998, label %10051

9998:                                             ; preds = %9991
  br label %9999

9999:                                             ; preds = %9998
  br label %10000

10000:                                            ; preds = %9999
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #11
  %10001 = call ptr @__errno_location() #12
  %10002 = load i32, ptr %10001, align 4, !tbaa !5
  store i32 %10002, ptr %200, align 4, !tbaa !5
  %10003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10004 = call i32 @s2n_print_stacktrace(ptr noundef %10003)
  %10005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10006 = trunc i8 %10005 to i1
  br i1 %10006, label %10007, label %10029

10007:                                            ; preds = %10000
  %10008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10009 = call i32 @fileno(ptr noundef %10008) #11
  %10010 = call i32 @isatty(i32 noundef %10009) #11
  %10011 = icmp ne i32 %10010, 0
  br i1 %10011, label %10012, label %10029

10012:                                            ; preds = %10007
  %10013 = load i32, ptr %200, align 4, !tbaa !5
  %10014 = call ptr @__errno_location() #12
  store i32 %10013, ptr %10014, align 4, !tbaa !5
  %10015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10016 = load i32, ptr @test_count, align 4, !tbaa !5
  %10017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10018 = load i32, ptr %10017, align 4, !tbaa !5
  %10019 = call ptr @s2n_strerror(i32 noundef %10018, ptr noundef @.str.4)
  %10020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10021 = load i32, ptr %10020, align 4, !tbaa !5
  %10022 = call ptr @s2n_strerror_debug(i32 noundef %10021, ptr noundef @.str.4)
  %10023 = call ptr @__errno_location() #12
  %10024 = load i32, ptr %10023, align 4, !tbaa !5
  %10025 = call ptr @strerror(i32 noundef %10024) #11
  %10026 = call ptr @__errno_location() #12
  %10027 = load i32, ptr %10026, align 4, !tbaa !5
  %10028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10015, ptr noundef @.str.2, i32 noundef %10016, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 309, ptr noundef %10019, ptr noundef %10022, ptr noundef %10025, i32 noundef %10027) #11
  br label %10046

10029:                                            ; preds = %10007, %10000
  %10030 = load i32, ptr %200, align 4, !tbaa !5
  %10031 = call ptr @__errno_location() #12
  store i32 %10030, ptr %10031, align 4, !tbaa !5
  %10032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10033 = load i32, ptr @test_count, align 4, !tbaa !5
  %10034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10035 = load i32, ptr %10034, align 4, !tbaa !5
  %10036 = call ptr @s2n_strerror(i32 noundef %10035, ptr noundef @.str.4)
  %10037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10038 = load i32, ptr %10037, align 4, !tbaa !5
  %10039 = call ptr @s2n_strerror_debug(i32 noundef %10038, ptr noundef @.str.4)
  %10040 = call ptr @__errno_location() #12
  %10041 = load i32, ptr %10040, align 4, !tbaa !5
  %10042 = call ptr @strerror(i32 noundef %10041) #11
  %10043 = call ptr @__errno_location() #12
  %10044 = load i32, ptr %10043, align 4, !tbaa !5
  %10045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10032, ptr noundef @.str.5, i32 noundef %10033, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 309, ptr noundef %10036, ptr noundef %10039, ptr noundef %10042, i32 noundef %10044) #11
  br label %10046

10046:                                            ; preds = %10029, %10012
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #11
  br label %10047

10047:                                            ; preds = %10046
  br label %10048

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

10049:                                            ; No predecessors!
  br label %10050

10050:                                            ; preds = %10049
  br label %10051

10051:                                            ; preds = %10050, %9991
  br label %10052

10052:                                            ; preds = %10051
  br label %10053

10053:                                            ; preds = %10052
  br label %10054

10054:                                            ; preds = %10053
  br label %10055

10055:                                            ; preds = %10054
  br label %10056

10056:                                            ; preds = %10055
  %10057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10057, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10058 = call ptr @__errno_location() #12
  store i32 0, ptr %10058, align 4, !tbaa !5
  br label %10059

10059:                                            ; preds = %10056
  br label %10060

10060:                                            ; preds = %10059
  br label %10061

10061:                                            ; preds = %10060
  br label %10062

10062:                                            ; preds = %10061
  br label %10063

10063:                                            ; preds = %10062
  br label %10064

10064:                                            ; preds = %10063
  br label %10065

10065:                                            ; preds = %10064
  %10066 = load i32, ptr @test_count, align 4, !tbaa !5
  %10067 = add nsw i32 %10066, 1
  store i32 %10067, ptr @test_count, align 4, !tbaa !5
  %10068 = load ptr, ptr %187, align 8, !tbaa !9
  %10069 = call i32 @s2n_negotiate(ptr noundef %10068, ptr noundef %182)
  %10070 = icmp eq i32 %10069, -1
  br i1 %10070, label %10124, label %10071

10071:                                            ; preds = %10065
  br label %10072

10072:                                            ; preds = %10071
  br label %10073

10073:                                            ; preds = %10072
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #11
  %10074 = call ptr @__errno_location() #12
  %10075 = load i32, ptr %10074, align 4, !tbaa !5
  store i32 %10075, ptr %201, align 4, !tbaa !5
  %10076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10077 = call i32 @s2n_print_stacktrace(ptr noundef %10076)
  %10078 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10079 = trunc i8 %10078 to i1
  br i1 %10079, label %10080, label %10102

10080:                                            ; preds = %10073
  %10081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10082 = call i32 @fileno(ptr noundef %10081) #11
  %10083 = call i32 @isatty(i32 noundef %10082) #11
  %10084 = icmp ne i32 %10083, 0
  br i1 %10084, label %10085, label %10102

10085:                                            ; preds = %10080
  %10086 = load i32, ptr %201, align 4, !tbaa !5
  %10087 = call ptr @__errno_location() #12
  store i32 %10086, ptr %10087, align 4, !tbaa !5
  %10088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10089 = load i32, ptr @test_count, align 4, !tbaa !5
  %10090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10091 = load i32, ptr %10090, align 4, !tbaa !5
  %10092 = call ptr @s2n_strerror(i32 noundef %10091, ptr noundef @.str.4)
  %10093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10094 = load i32, ptr %10093, align 4, !tbaa !5
  %10095 = call ptr @s2n_strerror_debug(i32 noundef %10094, ptr noundef @.str.4)
  %10096 = call ptr @__errno_location() #12
  %10097 = load i32, ptr %10096, align 4, !tbaa !5
  %10098 = call ptr @strerror(i32 noundef %10097) #11
  %10099 = call ptr @__errno_location() #12
  %10100 = load i32, ptr %10099, align 4, !tbaa !5
  %10101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10088, ptr noundef @.str.2, i32 noundef %10089, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 312, ptr noundef %10092, ptr noundef %10095, ptr noundef %10098, i32 noundef %10100) #11
  br label %10119

10102:                                            ; preds = %10080, %10073
  %10103 = load i32, ptr %201, align 4, !tbaa !5
  %10104 = call ptr @__errno_location() #12
  store i32 %10103, ptr %10104, align 4, !tbaa !5
  %10105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10106 = load i32, ptr @test_count, align 4, !tbaa !5
  %10107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10108 = load i32, ptr %10107, align 4, !tbaa !5
  %10109 = call ptr @s2n_strerror(i32 noundef %10108, ptr noundef @.str.4)
  %10110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10111 = load i32, ptr %10110, align 4, !tbaa !5
  %10112 = call ptr @s2n_strerror_debug(i32 noundef %10111, ptr noundef @.str.4)
  %10113 = call ptr @__errno_location() #12
  %10114 = load i32, ptr %10113, align 4, !tbaa !5
  %10115 = call ptr @strerror(i32 noundef %10114) #11
  %10116 = call ptr @__errno_location() #12
  %10117 = load i32, ptr %10116, align 4, !tbaa !5
  %10118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10105, ptr noundef @.str.5, i32 noundef %10106, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 312, ptr noundef %10109, ptr noundef %10112, ptr noundef %10115, i32 noundef %10117) #11
  br label %10119

10119:                                            ; preds = %10102, %10085
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #11
  br label %10120

10120:                                            ; preds = %10119
  br label %10121

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

10122:                                            ; No predecessors!
  br label %10123

10123:                                            ; preds = %10122
  br label %10124

10124:                                            ; preds = %10123, %10065
  br label %10125

10125:                                            ; preds = %10124
  br label %10126

10126:                                            ; preds = %10125
  br label %10127

10127:                                            ; preds = %10126
  %10128 = load i32, ptr @test_count, align 4, !tbaa !5
  %10129 = add nsw i32 %10128, 1
  store i32 %10129, ptr @test_count, align 4, !tbaa !5
  %10130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10131 = load i32, ptr %10130, align 4, !tbaa !5
  %10132 = icmp eq i32 %10131, 201326593
  br i1 %10132, label %10186, label %10133

10133:                                            ; preds = %10127
  br label %10134

10134:                                            ; preds = %10133
  br label %10135

10135:                                            ; preds = %10134
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #11
  %10136 = call ptr @__errno_location() #12
  %10137 = load i32, ptr %10136, align 4, !tbaa !5
  store i32 %10137, ptr %202, align 4, !tbaa !5
  %10138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10139 = call i32 @s2n_print_stacktrace(ptr noundef %10138)
  %10140 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10141 = trunc i8 %10140 to i1
  br i1 %10141, label %10142, label %10164

10142:                                            ; preds = %10135
  %10143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10144 = call i32 @fileno(ptr noundef %10143) #11
  %10145 = call i32 @isatty(i32 noundef %10144) #11
  %10146 = icmp ne i32 %10145, 0
  br i1 %10146, label %10147, label %10164

10147:                                            ; preds = %10142
  %10148 = load i32, ptr %202, align 4, !tbaa !5
  %10149 = call ptr @__errno_location() #12
  store i32 %10148, ptr %10149, align 4, !tbaa !5
  %10150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10151 = load i32, ptr @test_count, align 4, !tbaa !5
  %10152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10153 = load i32, ptr %10152, align 4, !tbaa !5
  %10154 = call ptr @s2n_strerror(i32 noundef %10153, ptr noundef @.str.4)
  %10155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10156 = load i32, ptr %10155, align 4, !tbaa !5
  %10157 = call ptr @s2n_strerror_debug(i32 noundef %10156, ptr noundef @.str.4)
  %10158 = call ptr @__errno_location() #12
  %10159 = load i32, ptr %10158, align 4, !tbaa !5
  %10160 = call ptr @strerror(i32 noundef %10159) #11
  %10161 = call ptr @__errno_location() #12
  %10162 = load i32, ptr %10161, align 4, !tbaa !5
  %10163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10150, ptr noundef @.str.2, i32 noundef %10151, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 312, ptr noundef %10154, ptr noundef %10157, ptr noundef %10160, i32 noundef %10162) #11
  br label %10181

10164:                                            ; preds = %10142, %10135
  %10165 = load i32, ptr %202, align 4, !tbaa !5
  %10166 = call ptr @__errno_location() #12
  store i32 %10165, ptr %10166, align 4, !tbaa !5
  %10167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10168 = load i32, ptr @test_count, align 4, !tbaa !5
  %10169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10170 = load i32, ptr %10169, align 4, !tbaa !5
  %10171 = call ptr @s2n_strerror(i32 noundef %10170, ptr noundef @.str.4)
  %10172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10173 = load i32, ptr %10172, align 4, !tbaa !5
  %10174 = call ptr @s2n_strerror_debug(i32 noundef %10173, ptr noundef @.str.4)
  %10175 = call ptr @__errno_location() #12
  %10176 = load i32, ptr %10175, align 4, !tbaa !5
  %10177 = call ptr @strerror(i32 noundef %10176) #11
  %10178 = call ptr @__errno_location() #12
  %10179 = load i32, ptr %10178, align 4, !tbaa !5
  %10180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10167, ptr noundef @.str.5, i32 noundef %10168, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 312, ptr noundef %10171, ptr noundef %10174, ptr noundef %10177, i32 noundef %10179) #11
  br label %10181

10181:                                            ; preds = %10164, %10147
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #11
  br label %10182

10182:                                            ; preds = %10181
  br label %10183

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

10184:                                            ; No predecessors!
  br label %10185

10185:                                            ; preds = %10184
  br label %10186

10186:                                            ; preds = %10185, %10127
  br label %10187

10187:                                            ; preds = %10186
  br label %10188

10188:                                            ; preds = %10187
  br label %10189

10189:                                            ; preds = %10188
  %10190 = load i32, ptr @test_count, align 4, !tbaa !5
  %10191 = add nsw i32 %10190, 1
  store i32 %10191, ptr @test_count, align 4, !tbaa !5
  %10192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10193 = load i32, ptr %10192, align 4, !tbaa !5
  %10194 = call ptr @s2n_strerror_debug(i32 noundef %10193, ptr noundef @.str.4)
  %10195 = icmp eq ptr %10194, null
  br i1 %10195, label %10196, label %10249

10196:                                            ; preds = %10189
  br label %10197

10197:                                            ; preds = %10196
  br label %10198

10198:                                            ; preds = %10197
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #11
  %10199 = call ptr @__errno_location() #12
  %10200 = load i32, ptr %10199, align 4, !tbaa !5
  store i32 %10200, ptr %203, align 4, !tbaa !5
  %10201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10202 = call i32 @s2n_print_stacktrace(ptr noundef %10201)
  %10203 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10204 = trunc i8 %10203 to i1
  br i1 %10204, label %10205, label %10227

10205:                                            ; preds = %10198
  %10206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10207 = call i32 @fileno(ptr noundef %10206) #11
  %10208 = call i32 @isatty(i32 noundef %10207) #11
  %10209 = icmp ne i32 %10208, 0
  br i1 %10209, label %10210, label %10227

10210:                                            ; preds = %10205
  %10211 = load i32, ptr %203, align 4, !tbaa !5
  %10212 = call ptr @__errno_location() #12
  store i32 %10211, ptr %10212, align 4, !tbaa !5
  %10213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10214 = load i32, ptr @test_count, align 4, !tbaa !5
  %10215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10216 = load i32, ptr %10215, align 4, !tbaa !5
  %10217 = call ptr @s2n_strerror(i32 noundef %10216, ptr noundef @.str.4)
  %10218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10219 = load i32, ptr %10218, align 4, !tbaa !5
  %10220 = call ptr @s2n_strerror_debug(i32 noundef %10219, ptr noundef @.str.4)
  %10221 = call ptr @__errno_location() #12
  %10222 = load i32, ptr %10221, align 4, !tbaa !5
  %10223 = call ptr @strerror(i32 noundef %10222) #11
  %10224 = call ptr @__errno_location() #12
  %10225 = load i32, ptr %10224, align 4, !tbaa !5
  %10226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10213, ptr noundef @.str.2, i32 noundef %10214, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 312, ptr noundef %10217, ptr noundef %10220, ptr noundef %10223, i32 noundef %10225) #11
  br label %10244

10227:                                            ; preds = %10205, %10198
  %10228 = load i32, ptr %203, align 4, !tbaa !5
  %10229 = call ptr @__errno_location() #12
  store i32 %10228, ptr %10229, align 4, !tbaa !5
  %10230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10231 = load i32, ptr @test_count, align 4, !tbaa !5
  %10232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10233 = load i32, ptr %10232, align 4, !tbaa !5
  %10234 = call ptr @s2n_strerror(i32 noundef %10233, ptr noundef @.str.4)
  %10235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10236 = load i32, ptr %10235, align 4, !tbaa !5
  %10237 = call ptr @s2n_strerror_debug(i32 noundef %10236, ptr noundef @.str.4)
  %10238 = call ptr @__errno_location() #12
  %10239 = load i32, ptr %10238, align 4, !tbaa !5
  %10240 = call ptr @strerror(i32 noundef %10239) #11
  %10241 = call ptr @__errno_location() #12
  %10242 = load i32, ptr %10241, align 4, !tbaa !5
  %10243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10230, ptr noundef @.str.5, i32 noundef %10231, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 312, ptr noundef %10234, ptr noundef %10237, ptr noundef %10240, i32 noundef %10242) #11
  br label %10244

10244:                                            ; preds = %10227, %10210
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #11
  br label %10245

10245:                                            ; preds = %10244
  br label %10246

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

10247:                                            ; No predecessors!
  br label %10248

10248:                                            ; preds = %10247
  br label %10249

10249:                                            ; preds = %10248, %10189
  br label %10250

10250:                                            ; preds = %10249
  br label %10251

10251:                                            ; preds = %10250
  br label %10252

10252:                                            ; preds = %10251
  br label %10253

10253:                                            ; preds = %10252
  br label %10254

10254:                                            ; preds = %10253
  %10255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10255, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10256 = call ptr @__errno_location() #12
  store i32 0, ptr %10256, align 4, !tbaa !5
  br label %10257

10257:                                            ; preds = %10254
  br label %10258

10258:                                            ; preds = %10257
  br label %10259

10259:                                            ; preds = %10258
  br label %10260

10260:                                            ; preds = %10259
  br label %10261

10261:                                            ; preds = %10260
  %10262 = load i32, ptr @test_count, align 4, !tbaa !5
  %10263 = add nsw i32 %10262, 1
  store i32 %10263, ptr @test_count, align 4, !tbaa !5
  %10264 = load ptr, ptr @async_early_data, align 8, !tbaa !9
  %10265 = call i32 @s2n_offered_early_data_reject(ptr noundef %10264)
  %10266 = icmp eq i32 %10265, -1
  br i1 %10266, label %10267, label %10320

10267:                                            ; preds = %10261
  br label %10268

10268:                                            ; preds = %10267
  br label %10269

10269:                                            ; preds = %10268
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #11
  %10270 = call ptr @__errno_location() #12
  %10271 = load i32, ptr %10270, align 4, !tbaa !5
  store i32 %10271, ptr %204, align 4, !tbaa !5
  %10272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10273 = call i32 @s2n_print_stacktrace(ptr noundef %10272)
  %10274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10275 = trunc i8 %10274 to i1
  br i1 %10275, label %10276, label %10298

10276:                                            ; preds = %10269
  %10277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10278 = call i32 @fileno(ptr noundef %10277) #11
  %10279 = call i32 @isatty(i32 noundef %10278) #11
  %10280 = icmp ne i32 %10279, 0
  br i1 %10280, label %10281, label %10298

10281:                                            ; preds = %10276
  %10282 = load i32, ptr %204, align 4, !tbaa !5
  %10283 = call ptr @__errno_location() #12
  store i32 %10282, ptr %10283, align 4, !tbaa !5
  %10284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10285 = load i32, ptr @test_count, align 4, !tbaa !5
  %10286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10287 = load i32, ptr %10286, align 4, !tbaa !5
  %10288 = call ptr @s2n_strerror(i32 noundef %10287, ptr noundef @.str.4)
  %10289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10290 = load i32, ptr %10289, align 4, !tbaa !5
  %10291 = call ptr @s2n_strerror_debug(i32 noundef %10290, ptr noundef @.str.4)
  %10292 = call ptr @__errno_location() #12
  %10293 = load i32, ptr %10292, align 4, !tbaa !5
  %10294 = call ptr @strerror(i32 noundef %10293) #11
  %10295 = call ptr @__errno_location() #12
  %10296 = load i32, ptr %10295, align 4, !tbaa !5
  %10297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10284, ptr noundef @.str.2, i32 noundef %10285, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 314, ptr noundef %10288, ptr noundef %10291, ptr noundef %10294, i32 noundef %10296) #11
  br label %10315

10298:                                            ; preds = %10276, %10269
  %10299 = load i32, ptr %204, align 4, !tbaa !5
  %10300 = call ptr @__errno_location() #12
  store i32 %10299, ptr %10300, align 4, !tbaa !5
  %10301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10302 = load i32, ptr @test_count, align 4, !tbaa !5
  %10303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10304 = load i32, ptr %10303, align 4, !tbaa !5
  %10305 = call ptr @s2n_strerror(i32 noundef %10304, ptr noundef @.str.4)
  %10306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10307 = load i32, ptr %10306, align 4, !tbaa !5
  %10308 = call ptr @s2n_strerror_debug(i32 noundef %10307, ptr noundef @.str.4)
  %10309 = call ptr @__errno_location() #12
  %10310 = load i32, ptr %10309, align 4, !tbaa !5
  %10311 = call ptr @strerror(i32 noundef %10310) #11
  %10312 = call ptr @__errno_location() #12
  %10313 = load i32, ptr %10312, align 4, !tbaa !5
  %10314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10301, ptr noundef @.str.5, i32 noundef %10302, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 314, ptr noundef %10305, ptr noundef %10308, ptr noundef %10311, i32 noundef %10313) #11
  br label %10315

10315:                                            ; preds = %10298, %10281
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #11
  br label %10316

10316:                                            ; preds = %10315
  br label %10317

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

10318:                                            ; No predecessors!
  br label %10319

10319:                                            ; preds = %10318
  br label %10320

10320:                                            ; preds = %10319, %10261
  br label %10321

10321:                                            ; preds = %10320
  br label %10322

10322:                                            ; preds = %10321
  br label %10323

10323:                                            ; preds = %10322
  %10324 = load i32, ptr @test_count, align 4, !tbaa !5
  %10325 = add nsw i32 %10324, 1
  store i32 %10325, ptr @test_count, align 4, !tbaa !5
  %10326 = load ptr, ptr %187, align 8, !tbaa !9
  %10327 = load ptr, ptr %186, align 8, !tbaa !9
  %10328 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %10326, ptr noundef %10327)
  %10329 = icmp eq i32 %10328, -1
  br i1 %10329, label %10330, label %10383

10330:                                            ; preds = %10323
  br label %10331

10331:                                            ; preds = %10330
  br label %10332

10332:                                            ; preds = %10331
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #11
  %10333 = call ptr @__errno_location() #12
  %10334 = load i32, ptr %10333, align 4, !tbaa !5
  store i32 %10334, ptr %205, align 4, !tbaa !5
  %10335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10336 = call i32 @s2n_print_stacktrace(ptr noundef %10335)
  %10337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10338 = trunc i8 %10337 to i1
  br i1 %10338, label %10339, label %10361

10339:                                            ; preds = %10332
  %10340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10341 = call i32 @fileno(ptr noundef %10340) #11
  %10342 = call i32 @isatty(i32 noundef %10341) #11
  %10343 = icmp ne i32 %10342, 0
  br i1 %10343, label %10344, label %10361

10344:                                            ; preds = %10339
  %10345 = load i32, ptr %205, align 4, !tbaa !5
  %10346 = call ptr @__errno_location() #12
  store i32 %10345, ptr %10346, align 4, !tbaa !5
  %10347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10348 = load i32, ptr @test_count, align 4, !tbaa !5
  %10349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10350 = load i32, ptr %10349, align 4, !tbaa !5
  %10351 = call ptr @s2n_strerror(i32 noundef %10350, ptr noundef @.str.4)
  %10352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10353 = load i32, ptr %10352, align 4, !tbaa !5
  %10354 = call ptr @s2n_strerror_debug(i32 noundef %10353, ptr noundef @.str.4)
  %10355 = call ptr @__errno_location() #12
  %10356 = load i32, ptr %10355, align 4, !tbaa !5
  %10357 = call ptr @strerror(i32 noundef %10356) #11
  %10358 = call ptr @__errno_location() #12
  %10359 = load i32, ptr %10358, align 4, !tbaa !5
  %10360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10347, ptr noundef @.str.2, i32 noundef %10348, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 315, ptr noundef %10351, ptr noundef %10354, ptr noundef %10357, i32 noundef %10359) #11
  br label %10378

10361:                                            ; preds = %10339, %10332
  %10362 = load i32, ptr %205, align 4, !tbaa !5
  %10363 = call ptr @__errno_location() #12
  store i32 %10362, ptr %10363, align 4, !tbaa !5
  %10364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10365 = load i32, ptr @test_count, align 4, !tbaa !5
  %10366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10367 = load i32, ptr %10366, align 4, !tbaa !5
  %10368 = call ptr @s2n_strerror(i32 noundef %10367, ptr noundef @.str.4)
  %10369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10370 = load i32, ptr %10369, align 4, !tbaa !5
  %10371 = call ptr @s2n_strerror_debug(i32 noundef %10370, ptr noundef @.str.4)
  %10372 = call ptr @__errno_location() #12
  %10373 = load i32, ptr %10372, align 4, !tbaa !5
  %10374 = call ptr @strerror(i32 noundef %10373) #11
  %10375 = call ptr @__errno_location() #12
  %10376 = load i32, ptr %10375, align 4, !tbaa !5
  %10377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10364, ptr noundef @.str.5, i32 noundef %10365, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 315, ptr noundef %10368, ptr noundef %10371, ptr noundef %10374, i32 noundef %10376) #11
  br label %10378

10378:                                            ; preds = %10361, %10344
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #11
  br label %10379

10379:                                            ; preds = %10378
  br label %10380

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

10381:                                            ; No predecessors!
  br label %10382

10382:                                            ; preds = %10381
  br label %10383

10383:                                            ; preds = %10382, %10323
  br label %10384

10384:                                            ; preds = %10383
  br label %10385

10385:                                            ; preds = %10384
  br label %10386

10386:                                            ; preds = %10385
  %10387 = load i32, ptr @test_count, align 4, !tbaa !5
  %10388 = add nsw i32 %10387, 1
  store i32 %10388, ptr @test_count, align 4, !tbaa !5
  %10389 = load ptr, ptr %186, align 8, !tbaa !9
  %10390 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %10389, i32 noundef 64)
  br i1 %10390, label %10391, label %10444

10391:                                            ; preds = %10386
  br label %10392

10392:                                            ; preds = %10391
  br label %10393

10393:                                            ; preds = %10392
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #11
  %10394 = call ptr @__errno_location() #12
  %10395 = load i32, ptr %10394, align 4, !tbaa !5
  store i32 %10395, ptr %206, align 4, !tbaa !5
  %10396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10397 = call i32 @s2n_print_stacktrace(ptr noundef %10396)
  %10398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10399 = trunc i8 %10398 to i1
  br i1 %10399, label %10400, label %10422

10400:                                            ; preds = %10393
  %10401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10402 = call i32 @fileno(ptr noundef %10401) #11
  %10403 = call i32 @isatty(i32 noundef %10402) #11
  %10404 = icmp ne i32 %10403, 0
  br i1 %10404, label %10405, label %10422

10405:                                            ; preds = %10400
  %10406 = load i32, ptr %206, align 4, !tbaa !5
  %10407 = call ptr @__errno_location() #12
  store i32 %10406, ptr %10407, align 4, !tbaa !5
  %10408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10409 = load i32, ptr @test_count, align 4, !tbaa !5
  %10410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10411 = load i32, ptr %10410, align 4, !tbaa !5
  %10412 = call ptr @s2n_strerror(i32 noundef %10411, ptr noundef @.str.4)
  %10413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10414 = load i32, ptr %10413, align 4, !tbaa !5
  %10415 = call ptr @s2n_strerror_debug(i32 noundef %10414, ptr noundef @.str.4)
  %10416 = call ptr @__errno_location() #12
  %10417 = load i32, ptr %10416, align 4, !tbaa !5
  %10418 = call ptr @strerror(i32 noundef %10417) #11
  %10419 = call ptr @__errno_location() #12
  %10420 = load i32, ptr %10419, align 4, !tbaa !5
  %10421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10408, ptr noundef @.str.2, i32 noundef %10409, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 317, ptr noundef %10412, ptr noundef %10415, ptr noundef %10418, i32 noundef %10420) #11
  br label %10439

10422:                                            ; preds = %10400, %10393
  %10423 = load i32, ptr %206, align 4, !tbaa !5
  %10424 = call ptr @__errno_location() #12
  store i32 %10423, ptr %10424, align 4, !tbaa !5
  %10425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10426 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10428, ptr noundef @.str.4)
  %10430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10431 = load i32, ptr %10430, align 4, !tbaa !5
  %10432 = call ptr @s2n_strerror_debug(i32 noundef %10431, ptr noundef @.str.4)
  %10433 = call ptr @__errno_location() #12
  %10434 = load i32, ptr %10433, align 4, !tbaa !5
  %10435 = call ptr @strerror(i32 noundef %10434) #11
  %10436 = call ptr @__errno_location() #12
  %10437 = load i32, ptr %10436, align 4, !tbaa !5
  %10438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10425, ptr noundef @.str.5, i32 noundef %10426, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 317, ptr noundef %10429, ptr noundef %10432, ptr noundef %10435, i32 noundef %10437) #11
  br label %10439

10439:                                            ; preds = %10422, %10405
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #11
  br label %10440

10440:                                            ; preds = %10439
  br label %10441

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

10442:                                            ; No predecessors!
  br label %10443

10443:                                            ; preds = %10442
  br label %10444

10444:                                            ; preds = %10443, %10386
  br label %10445

10445:                                            ; preds = %10444
  br label %10446

10446:                                            ; preds = %10445
  br label %10447

10447:                                            ; preds = %10446
  %10448 = load i32, ptr @test_count, align 4, !tbaa !5
  %10449 = add nsw i32 %10448, 1
  store i32 %10449, ptr @test_count, align 4, !tbaa !5
  %10450 = load ptr, ptr %187, align 8, !tbaa !9
  %10451 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %10450, i32 noundef 64)
  br i1 %10451, label %10452, label %10505

10452:                                            ; preds = %10447
  br label %10453

10453:                                            ; preds = %10452
  br label %10454

10454:                                            ; preds = %10453
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #11
  %10455 = call ptr @__errno_location() #12
  %10456 = load i32, ptr %10455, align 4, !tbaa !5
  store i32 %10456, ptr %207, align 4, !tbaa !5
  %10457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10458 = call i32 @s2n_print_stacktrace(ptr noundef %10457)
  %10459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10460 = trunc i8 %10459 to i1
  br i1 %10460, label %10461, label %10483

10461:                                            ; preds = %10454
  %10462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10463 = call i32 @fileno(ptr noundef %10462) #11
  %10464 = call i32 @isatty(i32 noundef %10463) #11
  %10465 = icmp ne i32 %10464, 0
  br i1 %10465, label %10466, label %10483

10466:                                            ; preds = %10461
  %10467 = load i32, ptr %207, align 4, !tbaa !5
  %10468 = call ptr @__errno_location() #12
  store i32 %10467, ptr %10468, align 4, !tbaa !5
  %10469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10470 = load i32, ptr @test_count, align 4, !tbaa !5
  %10471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10472 = load i32, ptr %10471, align 4, !tbaa !5
  %10473 = call ptr @s2n_strerror(i32 noundef %10472, ptr noundef @.str.4)
  %10474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10475 = load i32, ptr %10474, align 4, !tbaa !5
  %10476 = call ptr @s2n_strerror_debug(i32 noundef %10475, ptr noundef @.str.4)
  %10477 = call ptr @__errno_location() #12
  %10478 = load i32, ptr %10477, align 4, !tbaa !5
  %10479 = call ptr @strerror(i32 noundef %10478) #11
  %10480 = call ptr @__errno_location() #12
  %10481 = load i32, ptr %10480, align 4, !tbaa !5
  %10482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10469, ptr noundef @.str.2, i32 noundef %10470, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 318, ptr noundef %10473, ptr noundef %10476, ptr noundef %10479, i32 noundef %10481) #11
  br label %10500

10483:                                            ; preds = %10461, %10454
  %10484 = load i32, ptr %207, align 4, !tbaa !5
  %10485 = call ptr @__errno_location() #12
  store i32 %10484, ptr %10485, align 4, !tbaa !5
  %10486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10487 = load i32, ptr @test_count, align 4, !tbaa !5
  %10488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10489 = load i32, ptr %10488, align 4, !tbaa !5
  %10490 = call ptr @s2n_strerror(i32 noundef %10489, ptr noundef @.str.4)
  %10491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10492 = load i32, ptr %10491, align 4, !tbaa !5
  %10493 = call ptr @s2n_strerror_debug(i32 noundef %10492, ptr noundef @.str.4)
  %10494 = call ptr @__errno_location() #12
  %10495 = load i32, ptr %10494, align 4, !tbaa !5
  %10496 = call ptr @strerror(i32 noundef %10495) #11
  %10497 = call ptr @__errno_location() #12
  %10498 = load i32, ptr %10497, align 4, !tbaa !5
  %10499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10486, ptr noundef @.str.5, i32 noundef %10487, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 318, ptr noundef %10490, ptr noundef %10493, ptr noundef %10496, i32 noundef %10498) #11
  br label %10500

10500:                                            ; preds = %10483, %10466
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #11
  br label %10501

10501:                                            ; preds = %10500
  br label %10502

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

10503:                                            ; No predecessors!
  br label %10504

10504:                                            ; preds = %10503
  br label %10505

10505:                                            ; preds = %10504, %10447
  br label %10506

10506:                                            ; preds = %10505
  br label %10507

10507:                                            ; preds = %10506
  br label %10508

10508:                                            ; preds = %10507
  %10509 = load i32, ptr @test_count, align 4, !tbaa !5
  %10510 = add nsw i32 %10509, 1
  store i32 %10510, ptr @test_count, align 4, !tbaa !5
  %10511 = load ptr, ptr %186, align 8, !tbaa !9
  %10512 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %10511, i32 noundef 128)
  br i1 %10512, label %10566, label %10513

10513:                                            ; preds = %10508
  br label %10514

10514:                                            ; preds = %10513
  br label %10515

10515:                                            ; preds = %10514
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #11
  %10516 = call ptr @__errno_location() #12
  %10517 = load i32, ptr %10516, align 4, !tbaa !5
  store i32 %10517, ptr %208, align 4, !tbaa !5
  %10518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10519 = call i32 @s2n_print_stacktrace(ptr noundef %10518)
  %10520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10521 = trunc i8 %10520 to i1
  br i1 %10521, label %10522, label %10544

10522:                                            ; preds = %10515
  %10523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10524 = call i32 @fileno(ptr noundef %10523) #11
  %10525 = call i32 @isatty(i32 noundef %10524) #11
  %10526 = icmp ne i32 %10525, 0
  br i1 %10526, label %10527, label %10544

10527:                                            ; preds = %10522
  %10528 = load i32, ptr %208, align 4, !tbaa !5
  %10529 = call ptr @__errno_location() #12
  store i32 %10528, ptr %10529, align 4, !tbaa !5
  %10530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10531 = load i32, ptr @test_count, align 4, !tbaa !5
  %10532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10533 = load i32, ptr %10532, align 4, !tbaa !5
  %10534 = call ptr @s2n_strerror(i32 noundef %10533, ptr noundef @.str.4)
  %10535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10536 = load i32, ptr %10535, align 4, !tbaa !5
  %10537 = call ptr @s2n_strerror_debug(i32 noundef %10536, ptr noundef @.str.4)
  %10538 = call ptr @__errno_location() #12
  %10539 = load i32, ptr %10538, align 4, !tbaa !5
  %10540 = call ptr @strerror(i32 noundef %10539) #11
  %10541 = call ptr @__errno_location() #12
  %10542 = load i32, ptr %10541, align 4, !tbaa !5
  %10543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10530, ptr noundef @.str.2, i32 noundef %10531, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 319, ptr noundef %10534, ptr noundef %10537, ptr noundef %10540, i32 noundef %10542) #11
  br label %10561

10544:                                            ; preds = %10522, %10515
  %10545 = load i32, ptr %208, align 4, !tbaa !5
  %10546 = call ptr @__errno_location() #12
  store i32 %10545, ptr %10546, align 4, !tbaa !5
  %10547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10548 = load i32, ptr @test_count, align 4, !tbaa !5
  %10549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10550 = load i32, ptr %10549, align 4, !tbaa !5
  %10551 = call ptr @s2n_strerror(i32 noundef %10550, ptr noundef @.str.4)
  %10552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10553 = load i32, ptr %10552, align 4, !tbaa !5
  %10554 = call ptr @s2n_strerror_debug(i32 noundef %10553, ptr noundef @.str.4)
  %10555 = call ptr @__errno_location() #12
  %10556 = load i32, ptr %10555, align 4, !tbaa !5
  %10557 = call ptr @strerror(i32 noundef %10556) #11
  %10558 = call ptr @__errno_location() #12
  %10559 = load i32, ptr %10558, align 4, !tbaa !5
  %10560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10547, ptr noundef @.str.5, i32 noundef %10548, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 319, ptr noundef %10551, ptr noundef %10554, ptr noundef %10557, i32 noundef %10559) #11
  br label %10561

10561:                                            ; preds = %10544, %10527
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #11
  br label %10562

10562:                                            ; preds = %10561
  br label %10563

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

10564:                                            ; No predecessors!
  br label %10565

10565:                                            ; preds = %10564
  br label %10566

10566:                                            ; preds = %10565, %10508
  br label %10567

10567:                                            ; preds = %10566
  br label %10568

10568:                                            ; preds = %10567
  br label %10569

10569:                                            ; preds = %10568
  %10570 = load i32, ptr @test_count, align 4, !tbaa !5
  %10571 = add nsw i32 %10570, 1
  store i32 %10571, ptr @test_count, align 4, !tbaa !5
  %10572 = load ptr, ptr %187, align 8, !tbaa !9
  %10573 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %10572, i32 noundef 128)
  br i1 %10573, label %10627, label %10574

10574:                                            ; preds = %10569
  br label %10575

10575:                                            ; preds = %10574
  br label %10576

10576:                                            ; preds = %10575
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #11
  %10577 = call ptr @__errno_location() #12
  %10578 = load i32, ptr %10577, align 4, !tbaa !5
  store i32 %10578, ptr %209, align 4, !tbaa !5
  %10579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10580 = call i32 @s2n_print_stacktrace(ptr noundef %10579)
  %10581 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10582 = trunc i8 %10581 to i1
  br i1 %10582, label %10583, label %10605

10583:                                            ; preds = %10576
  %10584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10585 = call i32 @fileno(ptr noundef %10584) #11
  %10586 = call i32 @isatty(i32 noundef %10585) #11
  %10587 = icmp ne i32 %10586, 0
  br i1 %10587, label %10588, label %10605

10588:                                            ; preds = %10583
  %10589 = load i32, ptr %209, align 4, !tbaa !5
  %10590 = call ptr @__errno_location() #12
  store i32 %10589, ptr %10590, align 4, !tbaa !5
  %10591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10592 = load i32, ptr @test_count, align 4, !tbaa !5
  %10593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10594 = load i32, ptr %10593, align 4, !tbaa !5
  %10595 = call ptr @s2n_strerror(i32 noundef %10594, ptr noundef @.str.4)
  %10596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10597 = load i32, ptr %10596, align 4, !tbaa !5
  %10598 = call ptr @s2n_strerror_debug(i32 noundef %10597, ptr noundef @.str.4)
  %10599 = call ptr @__errno_location() #12
  %10600 = load i32, ptr %10599, align 4, !tbaa !5
  %10601 = call ptr @strerror(i32 noundef %10600) #11
  %10602 = call ptr @__errno_location() #12
  %10603 = load i32, ptr %10602, align 4, !tbaa !5
  %10604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10591, ptr noundef @.str.2, i32 noundef %10592, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 320, ptr noundef %10595, ptr noundef %10598, ptr noundef %10601, i32 noundef %10603) #11
  br label %10622

10605:                                            ; preds = %10583, %10576
  %10606 = load i32, ptr %209, align 4, !tbaa !5
  %10607 = call ptr @__errno_location() #12
  store i32 %10606, ptr %10607, align 4, !tbaa !5
  %10608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10609 = load i32, ptr @test_count, align 4, !tbaa !5
  %10610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10611 = load i32, ptr %10610, align 4, !tbaa !5
  %10612 = call ptr @s2n_strerror(i32 noundef %10611, ptr noundef @.str.4)
  %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_debug(i32 noundef %10614, ptr noundef @.str.4)
  %10616 = call ptr @__errno_location() #12
  %10617 = load i32, ptr %10616, align 4, !tbaa !5
  %10618 = call ptr @strerror(i32 noundef %10617) #11
  %10619 = call ptr @__errno_location() #12
  %10620 = load i32, ptr %10619, align 4, !tbaa !5
  %10621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10608, ptr noundef @.str.5, i32 noundef %10609, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 320, ptr noundef %10612, ptr noundef %10615, ptr noundef %10618, i32 noundef %10620) #11
  br label %10622

10622:                                            ; preds = %10605, %10588
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #11
  br label %10623

10623:                                            ; preds = %10622
  br label %10624

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

10625:                                            ; No predecessors!
  br label %10626

10626:                                            ; preds = %10625
  br label %10627

10627:                                            ; preds = %10626, %10569
  br label %10628

10628:                                            ; preds = %10627
  br label %10629

10629:                                            ; preds = %10628
  br label %10630

10630:                                            ; preds = %10629
  %10631 = load i32, ptr @test_count, align 4, !tbaa !5
  %10632 = add nsw i32 %10631, 1
  store i32 %10632, ptr @test_count, align 4, !tbaa !5
  %10633 = load ptr, ptr %186, align 8, !tbaa !9
  %10634 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %10633, i32 noundef 2)
  br i1 %10634, label %10635, label %10688

10635:                                            ; preds = %10630
  br label %10636

10636:                                            ; preds = %10635
  br label %10637

10637:                                            ; preds = %10636
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #11
  %10638 = call ptr @__errno_location() #12
  %10639 = load i32, ptr %10638, align 4, !tbaa !5
  store i32 %10639, ptr %210, align 4, !tbaa !5
  %10640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10641 = call i32 @s2n_print_stacktrace(ptr noundef %10640)
  %10642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10643 = trunc i8 %10642 to i1
  br i1 %10643, label %10644, label %10666

10644:                                            ; preds = %10637
  %10645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10646 = call i32 @fileno(ptr noundef %10645) #11
  %10647 = call i32 @isatty(i32 noundef %10646) #11
  %10648 = icmp ne i32 %10647, 0
  br i1 %10648, label %10649, label %10666

10649:                                            ; preds = %10644
  %10650 = load i32, ptr %210, align 4, !tbaa !5
  %10651 = call ptr @__errno_location() #12
  store i32 %10650, ptr %10651, align 4, !tbaa !5
  %10652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10653 = load i32, ptr @test_count, align 4, !tbaa !5
  %10654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10655 = load i32, ptr %10654, align 4, !tbaa !5
  %10656 = call ptr @s2n_strerror(i32 noundef %10655, ptr noundef @.str.4)
  %10657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10658 = load i32, ptr %10657, align 4, !tbaa !5
  %10659 = call ptr @s2n_strerror_debug(i32 noundef %10658, ptr noundef @.str.4)
  %10660 = call ptr @__errno_location() #12
  %10661 = load i32, ptr %10660, align 4, !tbaa !5
  %10662 = call ptr @strerror(i32 noundef %10661) #11
  %10663 = call ptr @__errno_location() #12
  %10664 = load i32, ptr %10663, align 4, !tbaa !5
  %10665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10652, ptr noundef @.str.2, i32 noundef %10653, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 321, ptr noundef %10656, ptr noundef %10659, ptr noundef %10662, i32 noundef %10664) #11
  br label %10683

10666:                                            ; preds = %10644, %10637
  %10667 = load i32, ptr %210, align 4, !tbaa !5
  %10668 = call ptr @__errno_location() #12
  store i32 %10667, ptr %10668, align 4, !tbaa !5
  %10669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10670 = load i32, ptr @test_count, align 4, !tbaa !5
  %10671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10672 = load i32, ptr %10671, align 4, !tbaa !5
  %10673 = call ptr @s2n_strerror(i32 noundef %10672, ptr noundef @.str.4)
  %10674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10675 = load i32, ptr %10674, align 4, !tbaa !5
  %10676 = call ptr @s2n_strerror_debug(i32 noundef %10675, ptr noundef @.str.4)
  %10677 = call ptr @__errno_location() #12
  %10678 = load i32, ptr %10677, align 4, !tbaa !5
  %10679 = call ptr @strerror(i32 noundef %10678) #11
  %10680 = call ptr @__errno_location() #12
  %10681 = load i32, ptr %10680, align 4, !tbaa !5
  %10682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10669, ptr noundef @.str.5, i32 noundef %10670, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 321, ptr noundef %10673, ptr noundef %10676, ptr noundef %10679, i32 noundef %10681) #11
  br label %10683

10683:                                            ; preds = %10666, %10649
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #11
  br label %10684

10684:                                            ; preds = %10683
  br label %10685

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

10686:                                            ; No predecessors!
  br label %10687

10687:                                            ; preds = %10686
  br label %10688

10688:                                            ; preds = %10687, %10630
  br label %10689

10689:                                            ; preds = %10688
  br label %10690

10690:                                            ; preds = %10689
  br label %10691

10691:                                            ; preds = %10690
  %10692 = load i32, ptr @test_count, align 4, !tbaa !5
  %10693 = add nsw i32 %10692, 1
  store i32 %10693, ptr @test_count, align 4, !tbaa !5
  %10694 = load ptr, ptr %187, align 8, !tbaa !9
  %10695 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %10694, i32 noundef 2)
  br i1 %10695, label %10696, label %10749

10696:                                            ; preds = %10691
  br label %10697

10697:                                            ; preds = %10696
  br label %10698

10698:                                            ; preds = %10697
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #11
  %10699 = call ptr @__errno_location() #12
  %10700 = load i32, ptr %10699, align 4, !tbaa !5
  store i32 %10700, ptr %211, align 4, !tbaa !5
  %10701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10702 = call i32 @s2n_print_stacktrace(ptr noundef %10701)
  %10703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10704 = trunc i8 %10703 to i1
  br i1 %10704, label %10705, label %10727

10705:                                            ; preds = %10698
  %10706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10707 = call i32 @fileno(ptr noundef %10706) #11
  %10708 = call i32 @isatty(i32 noundef %10707) #11
  %10709 = icmp ne i32 %10708, 0
  br i1 %10709, label %10710, label %10727

10710:                                            ; preds = %10705
  %10711 = load i32, ptr %211, align 4, !tbaa !5
  %10712 = call ptr @__errno_location() #12
  store i32 %10711, ptr %10712, align 4, !tbaa !5
  %10713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10714 = load i32, ptr @test_count, align 4, !tbaa !5
  %10715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10716 = load i32, ptr %10715, align 4, !tbaa !5
  %10717 = call ptr @s2n_strerror(i32 noundef %10716, ptr noundef @.str.4)
  %10718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10719 = load i32, ptr %10718, align 4, !tbaa !5
  %10720 = call ptr @s2n_strerror_debug(i32 noundef %10719, ptr noundef @.str.4)
  %10721 = call ptr @__errno_location() #12
  %10722 = load i32, ptr %10721, align 4, !tbaa !5
  %10723 = call ptr @strerror(i32 noundef %10722) #11
  %10724 = call ptr @__errno_location() #12
  %10725 = load i32, ptr %10724, align 4, !tbaa !5
  %10726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10713, ptr noundef @.str.2, i32 noundef %10714, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 322, ptr noundef %10717, ptr noundef %10720, ptr noundef %10723, i32 noundef %10725) #11
  br label %10744

10727:                                            ; preds = %10705, %10698
  %10728 = load i32, ptr %211, align 4, !tbaa !5
  %10729 = call ptr @__errno_location() #12
  store i32 %10728, ptr %10729, align 4, !tbaa !5
  %10730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10731 = load i32, ptr @test_count, align 4, !tbaa !5
  %10732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10733 = load i32, ptr %10732, align 4, !tbaa !5
  %10734 = call ptr @s2n_strerror(i32 noundef %10733, ptr noundef @.str.4)
  %10735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10736 = load i32, ptr %10735, align 4, !tbaa !5
  %10737 = call ptr @s2n_strerror_debug(i32 noundef %10736, ptr noundef @.str.4)
  %10738 = call ptr @__errno_location() #12
  %10739 = load i32, ptr %10738, align 4, !tbaa !5
  %10740 = call ptr @strerror(i32 noundef %10739) #11
  %10741 = call ptr @__errno_location() #12
  %10742 = load i32, ptr %10741, align 4, !tbaa !5
  %10743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10730, ptr noundef @.str.5, i32 noundef %10731, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 322, ptr noundef %10734, ptr noundef %10737, ptr noundef %10740, i32 noundef %10742) #11
  br label %10744

10744:                                            ; preds = %10727, %10710
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #11
  br label %10745

10745:                                            ; preds = %10744
  br label %10746

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

10747:                                            ; No predecessors!
  br label %10748

10748:                                            ; preds = %10747
  br label %10749

10749:                                            ; preds = %10748, %10691
  br label %10750

10750:                                            ; preds = %10749
  br label %10751

10751:                                            ; preds = %10750
  br label %10752

10752:                                            ; preds = %10751
  %10753 = load i32, ptr @test_count, align 4, !tbaa !5
  %10754 = add nsw i32 %10753, 1
  store i32 %10754, ptr @test_count, align 4, !tbaa !5
  %10755 = load ptr, ptr %186, align 8, !tbaa !9
  %10756 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %10755, i32 noundef 16)
  br i1 %10756, label %10757, label %10810

10757:                                            ; preds = %10752
  br label %10758

10758:                                            ; preds = %10757
  br label %10759

10759:                                            ; preds = %10758
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #11
  %10760 = call ptr @__errno_location() #12
  %10761 = load i32, ptr %10760, align 4, !tbaa !5
  store i32 %10761, ptr %212, align 4, !tbaa !5
  %10762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10763 = call i32 @s2n_print_stacktrace(ptr noundef %10762)
  %10764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10765 = trunc i8 %10764 to i1
  br i1 %10765, label %10766, label %10788

10766:                                            ; preds = %10759
  %10767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10768 = call i32 @fileno(ptr noundef %10767) #11
  %10769 = call i32 @isatty(i32 noundef %10768) #11
  %10770 = icmp ne i32 %10769, 0
  br i1 %10770, label %10771, label %10788

10771:                                            ; preds = %10766
  %10772 = load i32, ptr %212, align 4, !tbaa !5
  %10773 = call ptr @__errno_location() #12
  store i32 %10772, ptr %10773, align 4, !tbaa !5
  %10774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10775 = load i32, ptr @test_count, align 4, !tbaa !5
  %10776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10777 = load i32, ptr %10776, align 4, !tbaa !5
  %10778 = call ptr @s2n_strerror(i32 noundef %10777, ptr noundef @.str.4)
  %10779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10780 = load i32, ptr %10779, align 4, !tbaa !5
  %10781 = call ptr @s2n_strerror_debug(i32 noundef %10780, ptr noundef @.str.4)
  %10782 = call ptr @__errno_location() #12
  %10783 = load i32, ptr %10782, align 4, !tbaa !5
  %10784 = call ptr @strerror(i32 noundef %10783) #11
  %10785 = call ptr @__errno_location() #12
  %10786 = load i32, ptr %10785, align 4, !tbaa !5
  %10787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10774, ptr noundef @.str.2, i32 noundef %10775, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 323, ptr noundef %10778, ptr noundef %10781, ptr noundef %10784, i32 noundef %10786) #11
  br label %10805

10788:                                            ; preds = %10766, %10759
  %10789 = load i32, ptr %212, align 4, !tbaa !5
  %10790 = call ptr @__errno_location() #12
  store i32 %10789, ptr %10790, align 4, !tbaa !5
  %10791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10792 = load i32, ptr @test_count, align 4, !tbaa !5
  %10793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10794 = load i32, ptr %10793, align 4, !tbaa !5
  %10795 = call ptr @s2n_strerror(i32 noundef %10794, ptr noundef @.str.4)
  %10796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10797 = load i32, ptr %10796, align 4, !tbaa !5
  %10798 = call ptr @s2n_strerror_debug(i32 noundef %10797, ptr noundef @.str.4)
  %10799 = call ptr @__errno_location() #12
  %10800 = load i32, ptr %10799, align 4, !tbaa !5
  %10801 = call ptr @strerror(i32 noundef %10800) #11
  %10802 = call ptr @__errno_location() #12
  %10803 = load i32, ptr %10802, align 4, !tbaa !5
  %10804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10791, ptr noundef @.str.5, i32 noundef %10792, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 323, ptr noundef %10795, ptr noundef %10798, ptr noundef %10801, i32 noundef %10803) #11
  br label %10805

10805:                                            ; preds = %10788, %10771
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #11
  br label %10806

10806:                                            ; preds = %10805
  br label %10807

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

10808:                                            ; No predecessors!
  br label %10809

10809:                                            ; preds = %10808
  br label %10810

10810:                                            ; preds = %10809, %10752
  br label %10811

10811:                                            ; preds = %10810
  br label %10812

10812:                                            ; preds = %10811
  br label %10813

10813:                                            ; preds = %10812
  %10814 = load i32, ptr @test_count, align 4, !tbaa !5
  %10815 = add nsw i32 %10814, 1
  store i32 %10815, ptr @test_count, align 4, !tbaa !5
  %10816 = load ptr, ptr %187, align 8, !tbaa !9
  %10817 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %10816, i32 noundef 16)
  br i1 %10817, label %10818, label %10871

10818:                                            ; preds = %10813
  br label %10819

10819:                                            ; preds = %10818
  br label %10820

10820:                                            ; preds = %10819
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #11
  %10821 = call ptr @__errno_location() #12
  %10822 = load i32, ptr %10821, align 4, !tbaa !5
  store i32 %10822, ptr %213, align 4, !tbaa !5
  %10823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10824 = call i32 @s2n_print_stacktrace(ptr noundef %10823)
  %10825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10826 = trunc i8 %10825 to i1
  br i1 %10826, label %10827, label %10849

10827:                                            ; preds = %10820
  %10828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10829 = call i32 @fileno(ptr noundef %10828) #11
  %10830 = call i32 @isatty(i32 noundef %10829) #11
  %10831 = icmp ne i32 %10830, 0
  br i1 %10831, label %10832, label %10849

10832:                                            ; preds = %10827
  %10833 = load i32, ptr %213, align 4, !tbaa !5
  %10834 = call ptr @__errno_location() #12
  store i32 %10833, ptr %10834, align 4, !tbaa !5
  %10835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10836 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10838, ptr noundef @.str.4)
  %10840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10841 = load i32, ptr %10840, align 4, !tbaa !5
  %10842 = call ptr @s2n_strerror_debug(i32 noundef %10841, ptr noundef @.str.4)
  %10843 = call ptr @__errno_location() #12
  %10844 = load i32, ptr %10843, align 4, !tbaa !5
  %10845 = call ptr @strerror(i32 noundef %10844) #11
  %10846 = call ptr @__errno_location() #12
  %10847 = load i32, ptr %10846, align 4, !tbaa !5
  %10848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10835, ptr noundef @.str.2, i32 noundef %10836, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 324, ptr noundef %10839, ptr noundef %10842, ptr noundef %10845, i32 noundef %10847) #11
  br label %10866

10849:                                            ; preds = %10827, %10820
  %10850 = load i32, ptr %213, align 4, !tbaa !5
  %10851 = call ptr @__errno_location() #12
  store i32 %10850, ptr %10851, align 4, !tbaa !5
  %10852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10853 = load i32, ptr @test_count, align 4, !tbaa !5
  %10854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10855 = load i32, ptr %10854, align 4, !tbaa !5
  %10856 = call ptr @s2n_strerror(i32 noundef %10855, ptr noundef @.str.4)
  %10857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10858 = load i32, ptr %10857, align 4, !tbaa !5
  %10859 = call ptr @s2n_strerror_debug(i32 noundef %10858, ptr noundef @.str.4)
  %10860 = call ptr @__errno_location() #12
  %10861 = load i32, ptr %10860, align 4, !tbaa !5
  %10862 = call ptr @strerror(i32 noundef %10861) #11
  %10863 = call ptr @__errno_location() #12
  %10864 = load i32, ptr %10863, align 4, !tbaa !5
  %10865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10852, ptr noundef @.str.5, i32 noundef %10853, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 324, ptr noundef %10856, ptr noundef %10859, ptr noundef %10862, i32 noundef %10864) #11
  br label %10866

10866:                                            ; preds = %10849, %10832
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #11
  br label %10867

10867:                                            ; preds = %10866
  br label %10868

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

10869:                                            ; No predecessors!
  br label %10870

10870:                                            ; preds = %10869
  br label %10871

10871:                                            ; preds = %10870, %10813
  br label %10872

10872:                                            ; preds = %10871
  br label %10873

10873:                                            ; preds = %10872
  br label %10874

10874:                                            ; preds = %10873
  %10875 = load i32, ptr @test_count, align 4, !tbaa !5
  %10876 = add nsw i32 %10875, 1
  store i32 %10876, ptr @test_count, align 4, !tbaa !5
  %10877 = load ptr, ptr %186, align 8, !tbaa !9
  %10878 = call i32 @s2n_conn_get_current_message_type(ptr noundef %10877)
  %10879 = icmp eq i32 %10878, 20
  br i1 %10879, label %10933, label %10880

10880:                                            ; preds = %10874
  br label %10881

10881:                                            ; preds = %10880
  br label %10882

10882:                                            ; preds = %10881
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #11
  %10883 = call ptr @__errno_location() #12
  %10884 = load i32, ptr %10883, align 4, !tbaa !5
  store i32 %10884, ptr %214, align 4, !tbaa !5
  %10885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10886 = call i32 @s2n_print_stacktrace(ptr noundef %10885)
  %10887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10888 = trunc i8 %10887 to i1
  br i1 %10888, label %10889, label %10911

10889:                                            ; preds = %10882
  %10890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10891 = call i32 @fileno(ptr noundef %10890) #11
  %10892 = call i32 @isatty(i32 noundef %10891) #11
  %10893 = icmp ne i32 %10892, 0
  br i1 %10893, label %10894, label %10911

10894:                                            ; preds = %10889
  %10895 = load i32, ptr %214, align 4, !tbaa !5
  %10896 = call ptr @__errno_location() #12
  store i32 %10895, ptr %10896, align 4, !tbaa !5
  %10897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10898 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10900, ptr noundef @.str.4)
  %10902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10903 = load i32, ptr %10902, align 4, !tbaa !5
  %10904 = call ptr @s2n_strerror_debug(i32 noundef %10903, ptr noundef @.str.4)
  %10905 = call ptr @__errno_location() #12
  %10906 = load i32, ptr %10905, align 4, !tbaa !5
  %10907 = call ptr @strerror(i32 noundef %10906) #11
  %10908 = call ptr @__errno_location() #12
  %10909 = load i32, ptr %10908, align 4, !tbaa !5
  %10910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10897, ptr noundef @.str.2, i32 noundef %10898, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 325, ptr noundef %10901, ptr noundef %10904, ptr noundef %10907, i32 noundef %10909) #11
  br label %10928

10911:                                            ; preds = %10889, %10882
  %10912 = load i32, ptr %214, align 4, !tbaa !5
  %10913 = call ptr @__errno_location() #12
  store i32 %10912, ptr %10913, align 4, !tbaa !5
  %10914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10915 = load i32, ptr @test_count, align 4, !tbaa !5
  %10916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10917 = load i32, ptr %10916, align 4, !tbaa !5
  %10918 = call ptr @s2n_strerror(i32 noundef %10917, ptr noundef @.str.4)
  %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 = call ptr @__errno_location() #12
  %10923 = load i32, ptr %10922, align 4, !tbaa !5
  %10924 = call ptr @strerror(i32 noundef %10923) #11
  %10925 = call ptr @__errno_location() #12
  %10926 = load i32, ptr %10925, align 4, !tbaa !5
  %10927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10914, ptr noundef @.str.5, i32 noundef %10915, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 325, ptr noundef %10918, ptr noundef %10921, ptr noundef %10924, i32 noundef %10926) #11
  br label %10928

10928:                                            ; preds = %10911, %10894
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #11
  br label %10929

10929:                                            ; preds = %10928
  br label %10930

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

10931:                                            ; No predecessors!
  br label %10932

10932:                                            ; preds = %10931
  br label %10933

10933:                                            ; preds = %10932, %10874
  br label %10934

10934:                                            ; preds = %10933
  br label %10935

10935:                                            ; preds = %10934
  br label %10936

10936:                                            ; preds = %10935
  %10937 = load i32, ptr @test_count, align 4, !tbaa !5
  %10938 = add nsw i32 %10937, 1
  store i32 %10938, ptr @test_count, align 4, !tbaa !5
  %10939 = load ptr, ptr %187, align 8, !tbaa !9
  %10940 = call i32 @s2n_conn_get_current_message_type(ptr noundef %10939)
  %10941 = icmp eq i32 %10940, 20
  br i1 %10941, label %10995, label %10942

10942:                                            ; preds = %10936
  br label %10943

10943:                                            ; preds = %10942
  br label %10944

10944:                                            ; preds = %10943
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #11
  %10945 = call ptr @__errno_location() #12
  %10946 = load i32, ptr %10945, align 4, !tbaa !5
  store i32 %10946, ptr %215, align 4, !tbaa !5
  %10947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10948 = call i32 @s2n_print_stacktrace(ptr noundef %10947)
  %10949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10950 = trunc i8 %10949 to i1
  br i1 %10950, label %10951, label %10973

10951:                                            ; preds = %10944
  %10952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10953 = call i32 @fileno(ptr noundef %10952) #11
  %10954 = call i32 @isatty(i32 noundef %10953) #11
  %10955 = icmp ne i32 %10954, 0
  br i1 %10955, label %10956, label %10973

10956:                                            ; preds = %10951
  %10957 = load i32, ptr %215, align 4, !tbaa !5
  %10958 = call ptr @__errno_location() #12
  store i32 %10957, ptr %10958, align 4, !tbaa !5
  %10959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10960 = load i32, ptr @test_count, align 4, !tbaa !5
  %10961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10962 = load i32, ptr %10961, align 4, !tbaa !5
  %10963 = call ptr @s2n_strerror(i32 noundef %10962, ptr noundef @.str.4)
  %10964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10965 = load i32, ptr %10964, align 4, !tbaa !5
  %10966 = call ptr @s2n_strerror_debug(i32 noundef %10965, ptr noundef @.str.4)
  %10967 = call ptr @__errno_location() #12
  %10968 = load i32, ptr %10967, align 4, !tbaa !5
  %10969 = call ptr @strerror(i32 noundef %10968) #11
  %10970 = call ptr @__errno_location() #12
  %10971 = load i32, ptr %10970, align 4, !tbaa !5
  %10972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10959, ptr noundef @.str.2, i32 noundef %10960, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 326, ptr noundef %10963, ptr noundef %10966, ptr noundef %10969, i32 noundef %10971) #11
  br label %10990

10973:                                            ; preds = %10951, %10944
  %10974 = load i32, ptr %215, align 4, !tbaa !5
  %10975 = call ptr @__errno_location() #12
  store i32 %10974, ptr %10975, align 4, !tbaa !5
  %10976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10977 = load i32, ptr @test_count, align 4, !tbaa !5
  %10978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10979 = load i32, ptr %10978, align 4, !tbaa !5
  %10980 = call ptr @s2n_strerror(i32 noundef %10979, ptr noundef @.str.4)
  %10981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10982 = load i32, ptr %10981, align 4, !tbaa !5
  %10983 = call ptr @s2n_strerror_debug(i32 noundef %10982, ptr noundef @.str.4)
  %10984 = call ptr @__errno_location() #12
  %10985 = load i32, ptr %10984, align 4, !tbaa !5
  %10986 = call ptr @strerror(i32 noundef %10985) #11
  %10987 = call ptr @__errno_location() #12
  %10988 = load i32, ptr %10987, align 4, !tbaa !5
  %10989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10976, ptr noundef @.str.5, i32 noundef %10977, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 326, ptr noundef %10980, ptr noundef %10983, ptr noundef %10986, i32 noundef %10988) #11
  br label %10990

10990:                                            ; preds = %10973, %10956
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #11
  br label %10991

10991:                                            ; preds = %10990
  br label %10992

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

10993:                                            ; No predecessors!
  br label %10994

10994:                                            ; preds = %10993
  br label %10995

10995:                                            ; preds = %10994, %10936
  br label %10996

10996:                                            ; preds = %10995
  br label %10997

10997:                                            ; preds = %10996
  br label %10998

10998:                                            ; preds = %10997
  %10999 = load i32, ptr @test_count, align 4, !tbaa !5
  %11000 = add nsw i32 %10999, 1
  store i32 %11000, ptr @test_count, align 4, !tbaa !5
  %11001 = load ptr, ptr %187, align 8, !tbaa !9
  %11002 = load ptr, ptr %186, align 8, !tbaa !9
  %11003 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %11001, ptr noundef %11002)
  %11004 = icmp eq i32 %11003, -1
  br i1 %11004, label %11005, label %11058

11005:                                            ; preds = %10998
  br label %11006

11006:                                            ; preds = %11005
  br label %11007

11007:                                            ; preds = %11006
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #11
  %11008 = call ptr @__errno_location() #12
  %11009 = load i32, ptr %11008, align 4, !tbaa !5
  store i32 %11009, ptr %216, align 4, !tbaa !5
  %11010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11011 = call i32 @s2n_print_stacktrace(ptr noundef %11010)
  %11012 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11013 = trunc i8 %11012 to i1
  br i1 %11013, label %11014, label %11036

11014:                                            ; preds = %11007
  %11015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11016 = call i32 @fileno(ptr noundef %11015) #11
  %11017 = call i32 @isatty(i32 noundef %11016) #11
  %11018 = icmp ne i32 %11017, 0
  br i1 %11018, label %11019, label %11036

11019:                                            ; preds = %11014
  %11020 = load i32, ptr %216, align 4, !tbaa !5
  %11021 = call ptr @__errno_location() #12
  store i32 %11020, ptr %11021, align 4, !tbaa !5
  %11022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11023 = load i32, ptr @test_count, align 4, !tbaa !5
  %11024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11025 = load i32, ptr %11024, align 4, !tbaa !5
  %11026 = call ptr @s2n_strerror(i32 noundef %11025, ptr noundef @.str.4)
  %11027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11028 = load i32, ptr %11027, align 4, !tbaa !5
  %11029 = call ptr @s2n_strerror_debug(i32 noundef %11028, ptr noundef @.str.4)
  %11030 = call ptr @__errno_location() #12
  %11031 = load i32, ptr %11030, align 4, !tbaa !5
  %11032 = call ptr @strerror(i32 noundef %11031) #11
  %11033 = call ptr @__errno_location() #12
  %11034 = load i32, ptr %11033, align 4, !tbaa !5
  %11035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11022, ptr noundef @.str.2, i32 noundef %11023, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 328, ptr noundef %11026, ptr noundef %11029, ptr noundef %11032, i32 noundef %11034) #11
  br label %11053

11036:                                            ; preds = %11014, %11007
  %11037 = load i32, ptr %216, align 4, !tbaa !5
  %11038 = call ptr @__errno_location() #12
  store i32 %11037, ptr %11038, align 4, !tbaa !5
  %11039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11040 = load i32, ptr @test_count, align 4, !tbaa !5
  %11041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11042 = load i32, ptr %11041, align 4, !tbaa !5
  %11043 = call ptr @s2n_strerror(i32 noundef %11042, ptr noundef @.str.4)
  %11044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11045 = load i32, ptr %11044, align 4, !tbaa !5
  %11046 = call ptr @s2n_strerror_debug(i32 noundef %11045, ptr noundef @.str.4)
  %11047 = call ptr @__errno_location() #12
  %11048 = load i32, ptr %11047, align 4, !tbaa !5
  %11049 = call ptr @strerror(i32 noundef %11048) #11
  %11050 = call ptr @__errno_location() #12
  %11051 = load i32, ptr %11050, align 4, !tbaa !5
  %11052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11039, ptr noundef @.str.5, i32 noundef %11040, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 328, ptr noundef %11043, ptr noundef %11046, ptr noundef %11049, i32 noundef %11051) #11
  br label %11053

11053:                                            ; preds = %11036, %11019
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #11
  br label %11054

11054:                                            ; preds = %11053
  br label %11055

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

11056:                                            ; No predecessors!
  br label %11057

11057:                                            ; preds = %11056
  br label %11058

11058:                                            ; preds = %11057, %10998
  br label %11059

11059:                                            ; preds = %11058
  br label %11060

11060:                                            ; preds = %11059
  br label %11061

11061:                                            ; preds = %11060
  %11062 = load i32, ptr @test_count, align 4, !tbaa !5
  %11063 = add nsw i32 %11062, 1
  store i32 %11063, ptr @test_count, align 4, !tbaa !5
  %11064 = load ptr, ptr %186, align 8, !tbaa !9
  %11065 = call i32 @s2n_connection_free(ptr noundef %11064)
  %11066 = icmp eq i32 %11065, -1
  br i1 %11066, label %11067, label %11120

11067:                                            ; preds = %11061
  br label %11068

11068:                                            ; preds = %11067
  br label %11069

11069:                                            ; preds = %11068
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #11
  %11070 = call ptr @__errno_location() #12
  %11071 = load i32, ptr %11070, align 4, !tbaa !5
  store i32 %11071, ptr %217, align 4, !tbaa !5
  %11072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11073 = call i32 @s2n_print_stacktrace(ptr noundef %11072)
  %11074 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11075 = trunc i8 %11074 to i1
  br i1 %11075, label %11076, label %11098

11076:                                            ; preds = %11069
  %11077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11078 = call i32 @fileno(ptr noundef %11077) #11
  %11079 = call i32 @isatty(i32 noundef %11078) #11
  %11080 = icmp ne i32 %11079, 0
  br i1 %11080, label %11081, label %11098

11081:                                            ; preds = %11076
  %11082 = load i32, ptr %217, align 4, !tbaa !5
  %11083 = call ptr @__errno_location() #12
  store i32 %11082, ptr %11083, align 4, !tbaa !5
  %11084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11085 = load i32, ptr @test_count, align 4, !tbaa !5
  %11086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11087 = load i32, ptr %11086, align 4, !tbaa !5
  %11088 = call ptr @s2n_strerror(i32 noundef %11087, ptr noundef @.str.4)
  %11089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11090 = load i32, ptr %11089, align 4, !tbaa !5
  %11091 = call ptr @s2n_strerror_debug(i32 noundef %11090, ptr noundef @.str.4)
  %11092 = call ptr @__errno_location() #12
  %11093 = load i32, ptr %11092, align 4, !tbaa !5
  %11094 = call ptr @strerror(i32 noundef %11093) #11
  %11095 = call ptr @__errno_location() #12
  %11096 = load i32, ptr %11095, align 4, !tbaa !5
  %11097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11084, ptr noundef @.str.2, i32 noundef %11085, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 329, ptr noundef %11088, ptr noundef %11091, ptr noundef %11094, i32 noundef %11096) #11
  br label %11115

11098:                                            ; preds = %11076, %11069
  %11099 = load i32, ptr %217, align 4, !tbaa !5
  %11100 = call ptr @__errno_location() #12
  store i32 %11099, ptr %11100, align 4, !tbaa !5
  %11101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11102 = load i32, ptr @test_count, align 4, !tbaa !5
  %11103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11104 = load i32, ptr %11103, align 4, !tbaa !5
  %11105 = call ptr @s2n_strerror(i32 noundef %11104, ptr noundef @.str.4)
  %11106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11107 = load i32, ptr %11106, align 4, !tbaa !5
  %11108 = call ptr @s2n_strerror_debug(i32 noundef %11107, ptr noundef @.str.4)
  %11109 = call ptr @__errno_location() #12
  %11110 = load i32, ptr %11109, align 4, !tbaa !5
  %11111 = call ptr @strerror(i32 noundef %11110) #11
  %11112 = call ptr @__errno_location() #12
  %11113 = load i32, ptr %11112, align 4, !tbaa !5
  %11114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11101, ptr noundef @.str.5, i32 noundef %11102, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 329, ptr noundef %11105, ptr noundef %11108, ptr noundef %11111, i32 noundef %11113) #11
  br label %11115

11115:                                            ; preds = %11098, %11081
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #11
  br label %11116

11116:                                            ; preds = %11115
  br label %11117

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

11118:                                            ; No predecessors!
  br label %11119

11119:                                            ; preds = %11118
  br label %11120

11120:                                            ; preds = %11119, %11061
  br label %11121

11121:                                            ; preds = %11120
  br label %11122

11122:                                            ; preds = %11121
  br label %11123

11123:                                            ; preds = %11122
  %11124 = load i32, ptr @test_count, align 4, !tbaa !5
  %11125 = add nsw i32 %11124, 1
  store i32 %11125, ptr @test_count, align 4, !tbaa !5
  %11126 = load ptr, ptr %187, align 8, !tbaa !9
  %11127 = call i32 @s2n_connection_free(ptr noundef %11126)
  %11128 = icmp eq i32 %11127, -1
  br i1 %11128, label %11129, label %11182

11129:                                            ; preds = %11123
  br label %11130

11130:                                            ; preds = %11129
  br label %11131

11131:                                            ; preds = %11130
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #11
  %11132 = call ptr @__errno_location() #12
  %11133 = load i32, ptr %11132, align 4, !tbaa !5
  store i32 %11133, ptr %218, align 4, !tbaa !5
  %11134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11135 = call i32 @s2n_print_stacktrace(ptr noundef %11134)
  %11136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11137 = trunc i8 %11136 to i1
  br i1 %11137, label %11138, label %11160

11138:                                            ; preds = %11131
  %11139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11140 = call i32 @fileno(ptr noundef %11139) #11
  %11141 = call i32 @isatty(i32 noundef %11140) #11
  %11142 = icmp ne i32 %11141, 0
  br i1 %11142, label %11143, label %11160

11143:                                            ; preds = %11138
  %11144 = load i32, ptr %218, align 4, !tbaa !5
  %11145 = call ptr @__errno_location() #12
  store i32 %11144, ptr %11145, align 4, !tbaa !5
  %11146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11147 = load i32, ptr @test_count, align 4, !tbaa !5
  %11148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11149 = load i32, ptr %11148, align 4, !tbaa !5
  %11150 = call ptr @s2n_strerror(i32 noundef %11149, ptr noundef @.str.4)
  %11151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11152 = load i32, ptr %11151, align 4, !tbaa !5
  %11153 = call ptr @s2n_strerror_debug(i32 noundef %11152, ptr noundef @.str.4)
  %11154 = call ptr @__errno_location() #12
  %11155 = load i32, ptr %11154, align 4, !tbaa !5
  %11156 = call ptr @strerror(i32 noundef %11155) #11
  %11157 = call ptr @__errno_location() #12
  %11158 = load i32, ptr %11157, align 4, !tbaa !5
  %11159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11146, ptr noundef @.str.2, i32 noundef %11147, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 330, ptr noundef %11150, ptr noundef %11153, ptr noundef %11156, i32 noundef %11158) #11
  br label %11177

11160:                                            ; preds = %11138, %11131
  %11161 = load i32, ptr %218, align 4, !tbaa !5
  %11162 = call ptr @__errno_location() #12
  store i32 %11161, ptr %11162, align 4, !tbaa !5
  %11163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11164 = load i32, ptr @test_count, align 4, !tbaa !5
  %11165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11166 = load i32, ptr %11165, align 4, !tbaa !5
  %11167 = call ptr @s2n_strerror(i32 noundef %11166, ptr noundef @.str.4)
  %11168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11169 = load i32, ptr %11168, align 4, !tbaa !5
  %11170 = call ptr @s2n_strerror_debug(i32 noundef %11169, ptr noundef @.str.4)
  %11171 = call ptr @__errno_location() #12
  %11172 = load i32, ptr %11171, align 4, !tbaa !5
  %11173 = call ptr @strerror(i32 noundef %11172) #11
  %11174 = call ptr @__errno_location() #12
  %11175 = load i32, ptr %11174, align 4, !tbaa !5
  %11176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11163, ptr noundef @.str.5, i32 noundef %11164, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 330, ptr noundef %11167, ptr noundef %11170, ptr noundef %11173, i32 noundef %11175) #11
  br label %11177

11177:                                            ; preds = %11160, %11143
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #11
  br label %11178

11178:                                            ; preds = %11177
  br label %11179

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

11180:                                            ; No predecessors!
  br label %11181

11181:                                            ; preds = %11180
  br label %11182

11182:                                            ; preds = %11181, %11123
  br label %11183

11183:                                            ; preds = %11182
  br label %11184

11184:                                            ; preds = %11183
  br label %11185

11185:                                            ; preds = %11184
  %11186 = load i32, ptr @test_count, align 4, !tbaa !5
  %11187 = add nsw i32 %11186, 1
  store i32 %11187, ptr @test_count, align 4, !tbaa !5
  %11188 = load ptr, ptr %183, align 8, !tbaa !9
  %11189 = call i32 @s2n_config_free(ptr noundef %11188)
  %11190 = icmp eq i32 %11189, -1
  br i1 %11190, label %11191, label %11244

11191:                                            ; preds = %11185
  br label %11192

11192:                                            ; preds = %11191
  br label %11193

11193:                                            ; preds = %11192
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #11
  %11194 = call ptr @__errno_location() #12
  %11195 = load i32, ptr %11194, align 4, !tbaa !5
  store i32 %11195, ptr %219, align 4, !tbaa !5
  %11196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11197 = call i32 @s2n_print_stacktrace(ptr noundef %11196)
  %11198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11199 = trunc i8 %11198 to i1
  br i1 %11199, label %11200, label %11222

11200:                                            ; preds = %11193
  %11201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11202 = call i32 @fileno(ptr noundef %11201) #11
  %11203 = call i32 @isatty(i32 noundef %11202) #11
  %11204 = icmp ne i32 %11203, 0
  br i1 %11204, label %11205, label %11222

11205:                                            ; preds = %11200
  %11206 = load i32, ptr %219, align 4, !tbaa !5
  %11207 = call ptr @__errno_location() #12
  store i32 %11206, ptr %11207, align 4, !tbaa !5
  %11208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11209 = load i32, ptr @test_count, align 4, !tbaa !5
  %11210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11211 = load i32, ptr %11210, align 4, !tbaa !5
  %11212 = call ptr @s2n_strerror(i32 noundef %11211, ptr noundef @.str.4)
  %11213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11214 = load i32, ptr %11213, align 4, !tbaa !5
  %11215 = call ptr @s2n_strerror_debug(i32 noundef %11214, ptr noundef @.str.4)
  %11216 = call ptr @__errno_location() #12
  %11217 = load i32, ptr %11216, align 4, !tbaa !5
  %11218 = call ptr @strerror(i32 noundef %11217) #11
  %11219 = call ptr @__errno_location() #12
  %11220 = load i32, ptr %11219, align 4, !tbaa !5
  %11221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11208, ptr noundef @.str.2, i32 noundef %11209, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 331, ptr noundef %11212, ptr noundef %11215, ptr noundef %11218, i32 noundef %11220) #11
  br label %11239

11222:                                            ; preds = %11200, %11193
  %11223 = load i32, ptr %219, align 4, !tbaa !5
  %11224 = call ptr @__errno_location() #12
  store i32 %11223, ptr %11224, align 4, !tbaa !5
  %11225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11226 = load i32, ptr @test_count, align 4, !tbaa !5
  %11227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11228 = load i32, ptr %11227, align 4, !tbaa !5
  %11229 = call ptr @s2n_strerror(i32 noundef %11228, ptr noundef @.str.4)
  %11230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11231 = load i32, ptr %11230, align 4, !tbaa !5
  %11232 = call ptr @s2n_strerror_debug(i32 noundef %11231, ptr noundef @.str.4)
  %11233 = call ptr @__errno_location() #12
  %11234 = load i32, ptr %11233, align 4, !tbaa !5
  %11235 = call ptr @strerror(i32 noundef %11234) #11
  %11236 = call ptr @__errno_location() #12
  %11237 = load i32, ptr %11236, align 4, !tbaa !5
  %11238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11225, ptr noundef @.str.5, i32 noundef %11226, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 331, ptr noundef %11229, ptr noundef %11232, ptr noundef %11235, i32 noundef %11237) #11
  br label %11239

11239:                                            ; preds = %11222, %11205
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #11
  br label %11240

11240:                                            ; preds = %11239
  br label %11241

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

11242:                                            ; No predecessors!
  br label %11243

11243:                                            ; preds = %11242
  br label %11244

11244:                                            ; preds = %11243, %11185
  br label %11245

11245:                                            ; preds = %11244
  br label %11246

11246:                                            ; preds = %11245
  %11247 = call i32 @s2n_io_pair_close(ptr noundef %188)
  call void @llvm.lifetime.end.p0(i64 8, ptr %188) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %187) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %186) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %183) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %220) #11
  store ptr null, ptr %220, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %221) #11
  store ptr null, ptr %221, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %222) #11
  call void @llvm.memset.p0.i64(ptr align 4 %222, i8 0, i64 8, i1 false)
  br label %11248

11248:                                            ; preds = %11246
  %11249 = load i32, ptr @test_count, align 4, !tbaa !5
  %11250 = add nsw i32 %11249, 1
  store i32 %11250, ptr @test_count, align 4, !tbaa !5
  %11251 = call i32 @s2n_test_client_and_server_new(ptr noundef %220, ptr noundef %221, ptr noundef %222)
  %11252 = getelementptr inbounds %struct.s2n_result, ptr %223, i32 0, i32 0
  store i32 %11251, ptr %11252, align 4
  %11253 = getelementptr inbounds %struct.s2n_result, ptr %223, i32 0, i32 0
  %11254 = load i32, ptr %11253, align 4
  %11255 = call zeroext i1 @s2n_result_is_ok(i32 %11254)
  br i1 %11255, label %11309, label %11256

11256:                                            ; preds = %11248
  br label %11257

11257:                                            ; preds = %11256
  br label %11258

11258:                                            ; preds = %11257
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #11
  %11259 = call ptr @__errno_location() #12
  %11260 = load i32, ptr %11259, align 4, !tbaa !5
  store i32 %11260, ptr %224, align 4, !tbaa !5
  %11261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11262 = call i32 @s2n_print_stacktrace(ptr noundef %11261)
  %11263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11264 = trunc i8 %11263 to i1
  br i1 %11264, label %11265, label %11287

11265:                                            ; preds = %11258
  %11266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11267 = call i32 @fileno(ptr noundef %11266) #11
  %11268 = call i32 @isatty(i32 noundef %11267) #11
  %11269 = icmp ne i32 %11268, 0
  br i1 %11269, label %11270, label %11287

11270:                                            ; preds = %11265
  %11271 = load i32, ptr %224, align 4, !tbaa !5
  %11272 = call ptr @__errno_location() #12
  store i32 %11271, ptr %11272, align 4, !tbaa !5
  %11273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11274 = load i32, ptr @test_count, align 4, !tbaa !5
  %11275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11276 = load i32, ptr %11275, align 4, !tbaa !5
  %11277 = call ptr @s2n_strerror(i32 noundef %11276, ptr noundef @.str.4)
  %11278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11279 = load i32, ptr %11278, align 4, !tbaa !5
  %11280 = call ptr @s2n_strerror_debug(i32 noundef %11279, ptr noundef @.str.4)
  %11281 = call ptr @__errno_location() #12
  %11282 = load i32, ptr %11281, align 4, !tbaa !5
  %11283 = call ptr @strerror(i32 noundef %11282) #11
  %11284 = call ptr @__errno_location() #12
  %11285 = load i32, ptr %11284, align 4, !tbaa !5
  %11286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11273, ptr noundef @.str.2, i32 noundef %11274, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 338, ptr noundef %11277, ptr noundef %11280, ptr noundef %11283, i32 noundef %11285) #11
  br label %11304

11287:                                            ; preds = %11265, %11258
  %11288 = load i32, ptr %224, align 4, !tbaa !5
  %11289 = call ptr @__errno_location() #12
  store i32 %11288, ptr %11289, align 4, !tbaa !5
  %11290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11291 = load i32, ptr @test_count, align 4, !tbaa !5
  %11292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11293 = load i32, ptr %11292, align 4, !tbaa !5
  %11294 = call ptr @s2n_strerror(i32 noundef %11293, ptr noundef @.str.4)
  %11295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11296 = load i32, ptr %11295, align 4, !tbaa !5
  %11297 = call ptr @s2n_strerror_debug(i32 noundef %11296, ptr noundef @.str.4)
  %11298 = call ptr @__errno_location() #12
  %11299 = load i32, ptr %11298, align 4, !tbaa !5
  %11300 = call ptr @strerror(i32 noundef %11299) #11
  %11301 = call ptr @__errno_location() #12
  %11302 = load i32, ptr %11301, align 4, !tbaa !5
  %11303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11290, ptr noundef @.str.5, i32 noundef %11291, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 338, ptr noundef %11294, ptr noundef %11297, ptr noundef %11300, i32 noundef %11302) #11
  br label %11304

11304:                                            ; preds = %11287, %11270
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #11
  br label %11305

11305:                                            ; preds = %11304
  br label %11306

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

11307:                                            ; No predecessors!
  br label %11308

11308:                                            ; preds = %11307
  br label %11309

11309:                                            ; preds = %11308, %11248
  br label %11310

11310:                                            ; preds = %11309
  br label %11311

11311:                                            ; preds = %11310
  br label %11312

11312:                                            ; preds = %11311
  %11313 = load i32, ptr @test_count, align 4, !tbaa !5
  %11314 = add nsw i32 %11313, 1
  store i32 %11314, ptr @test_count, align 4, !tbaa !5
  %11315 = load ptr, ptr %220, align 8, !tbaa !9
  %11316 = load ptr, ptr %12, align 8, !tbaa !9
  %11317 = call i32 @s2n_connection_append_psk(ptr noundef %11315, ptr noundef %11316)
  %11318 = icmp eq i32 %11317, -1
  br i1 %11318, label %11319, label %11372

11319:                                            ; preds = %11312
  br label %11320

11320:                                            ; preds = %11319
  br label %11321

11321:                                            ; preds = %11320
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #11
  %11322 = call ptr @__errno_location() #12
  %11323 = load i32, ptr %11322, align 4, !tbaa !5
  store i32 %11323, ptr %225, align 4, !tbaa !5
  %11324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11325 = call i32 @s2n_print_stacktrace(ptr noundef %11324)
  %11326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11327 = trunc i8 %11326 to i1
  br i1 %11327, label %11328, label %11350

11328:                                            ; preds = %11321
  %11329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11330 = call i32 @fileno(ptr noundef %11329) #11
  %11331 = call i32 @isatty(i32 noundef %11330) #11
  %11332 = icmp ne i32 %11331, 0
  br i1 %11332, label %11333, label %11350

11333:                                            ; preds = %11328
  %11334 = load i32, ptr %225, align 4, !tbaa !5
  %11335 = call ptr @__errno_location() #12
  store i32 %11334, ptr %11335, align 4, !tbaa !5
  %11336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11337 = load i32, ptr @test_count, align 4, !tbaa !5
  %11338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11339 = load i32, ptr %11338, align 4, !tbaa !5
  %11340 = call ptr @s2n_strerror(i32 noundef %11339, ptr noundef @.str.4)
  %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_debug(i32 noundef %11342, ptr noundef @.str.4)
  %11344 = call ptr @__errno_location() #12
  %11345 = load i32, ptr %11344, align 4, !tbaa !5
  %11346 = call ptr @strerror(i32 noundef %11345) #11
  %11347 = call ptr @__errno_location() #12
  %11348 = load i32, ptr %11347, align 4, !tbaa !5
  %11349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11336, ptr noundef @.str.2, i32 noundef %11337, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 340, ptr noundef %11340, ptr noundef %11343, ptr noundef %11346, i32 noundef %11348) #11
  br label %11367

11350:                                            ; preds = %11328, %11321
  %11351 = load i32, ptr %225, align 4, !tbaa !5
  %11352 = call ptr @__errno_location() #12
  store i32 %11351, ptr %11352, align 4, !tbaa !5
  %11353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11354 = load i32, ptr @test_count, align 4, !tbaa !5
  %11355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11356 = load i32, ptr %11355, align 4, !tbaa !5
  %11357 = call ptr @s2n_strerror(i32 noundef %11356, ptr noundef @.str.4)
  %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_debug(i32 noundef %11359, ptr noundef @.str.4)
  %11361 = call ptr @__errno_location() #12
  %11362 = load i32, ptr %11361, align 4, !tbaa !5
  %11363 = call ptr @strerror(i32 noundef %11362) #11
  %11364 = call ptr @__errno_location() #12
  %11365 = load i32, ptr %11364, align 4, !tbaa !5
  %11366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11353, ptr noundef @.str.5, i32 noundef %11354, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 340, ptr noundef %11357, ptr noundef %11360, ptr noundef %11363, i32 noundef %11365) #11
  br label %11367

11367:                                            ; preds = %11350, %11333
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #11
  br label %11368

11368:                                            ; preds = %11367
  br label %11369

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

11370:                                            ; No predecessors!
  br label %11371

11371:                                            ; preds = %11370
  br label %11372

11372:                                            ; preds = %11371, %11312
  br label %11373

11373:                                            ; preds = %11372
  br label %11374

11374:                                            ; preds = %11373
  br label %11375

11375:                                            ; preds = %11374
  %11376 = load i32, ptr @test_count, align 4, !tbaa !5
  %11377 = add nsw i32 %11376, 1
  store i32 %11377, ptr @test_count, align 4, !tbaa !5
  %11378 = load ptr, ptr %221, align 8, !tbaa !9
  %11379 = load ptr, ptr %19, align 8, !tbaa !9
  %11380 = call i32 @s2n_connection_append_psk(ptr noundef %11378, ptr noundef %11379)
  %11381 = icmp eq i32 %11380, -1
  br i1 %11381, label %11382, label %11435

11382:                                            ; preds = %11375
  br label %11383

11383:                                            ; preds = %11382
  br label %11384

11384:                                            ; preds = %11383
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #11
  %11385 = call ptr @__errno_location() #12
  %11386 = load i32, ptr %11385, align 4, !tbaa !5
  store i32 %11386, ptr %226, align 4, !tbaa !5
  %11387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11388 = call i32 @s2n_print_stacktrace(ptr noundef %11387)
  %11389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11390 = trunc i8 %11389 to i1
  br i1 %11390, label %11391, label %11413

11391:                                            ; preds = %11384
  %11392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11393 = call i32 @fileno(ptr noundef %11392) #11
  %11394 = call i32 @isatty(i32 noundef %11393) #11
  %11395 = icmp ne i32 %11394, 0
  br i1 %11395, label %11396, label %11413

11396:                                            ; preds = %11391
  %11397 = load i32, ptr %226, align 4, !tbaa !5
  %11398 = call ptr @__errno_location() #12
  store i32 %11397, ptr %11398, align 4, !tbaa !5
  %11399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11400 = load i32, ptr @test_count, align 4, !tbaa !5
  %11401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11402 = load i32, ptr %11401, align 4, !tbaa !5
  %11403 = call ptr @s2n_strerror(i32 noundef %11402, ptr noundef @.str.4)
  %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_debug(i32 noundef %11405, ptr noundef @.str.4)
  %11407 = call ptr @__errno_location() #12
  %11408 = load i32, ptr %11407, align 4, !tbaa !5
  %11409 = call ptr @strerror(i32 noundef %11408) #11
  %11410 = call ptr @__errno_location() #12
  %11411 = load i32, ptr %11410, align 4, !tbaa !5
  %11412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11399, ptr noundef @.str.2, i32 noundef %11400, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 341, ptr noundef %11403, ptr noundef %11406, ptr noundef %11409, i32 noundef %11411) #11
  br label %11430

11413:                                            ; preds = %11391, %11384
  %11414 = load i32, ptr %226, align 4, !tbaa !5
  %11415 = call ptr @__errno_location() #12
  store i32 %11414, ptr %11415, align 4, !tbaa !5
  %11416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11417 = load i32, ptr @test_count, align 4, !tbaa !5
  %11418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11419 = load i32, ptr %11418, align 4, !tbaa !5
  %11420 = call ptr @s2n_strerror(i32 noundef %11419, ptr noundef @.str.4)
  %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_debug(i32 noundef %11422, ptr noundef @.str.4)
  %11424 = call ptr @__errno_location() #12
  %11425 = load i32, ptr %11424, align 4, !tbaa !5
  %11426 = call ptr @strerror(i32 noundef %11425) #11
  %11427 = call ptr @__errno_location() #12
  %11428 = load i32, ptr %11427, align 4, !tbaa !5
  %11429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11416, ptr noundef @.str.5, i32 noundef %11417, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 341, ptr noundef %11420, ptr noundef %11423, ptr noundef %11426, i32 noundef %11428) #11
  br label %11430

11430:                                            ; preds = %11413, %11396
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #11
  br label %11431

11431:                                            ; preds = %11430
  br label %11432

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

11433:                                            ; No predecessors!
  br label %11434

11434:                                            ; preds = %11433
  br label %11435

11435:                                            ; preds = %11434, %11375
  br label %11436

11436:                                            ; preds = %11435
  br label %11437

11437:                                            ; preds = %11436
  br label %11438

11438:                                            ; preds = %11437
  %11439 = load i32, ptr @test_count, align 4, !tbaa !5
  %11440 = add nsw i32 %11439, 1
  store i32 %11440, ptr @test_count, align 4, !tbaa !5
  %11441 = load ptr, ptr %220, align 8, !tbaa !9
  %11442 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %11441)
  %11443 = icmp eq i32 %11442, -1
  br i1 %11443, label %11444, label %11497

11444:                                            ; preds = %11438
  br label %11445

11445:                                            ; preds = %11444
  br label %11446

11446:                                            ; preds = %11445
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #11
  %11447 = call ptr @__errno_location() #12
  %11448 = load i32, ptr %11447, align 4, !tbaa !5
  store i32 %11448, ptr %227, align 4, !tbaa !5
  %11449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11450 = call i32 @s2n_print_stacktrace(ptr noundef %11449)
  %11451 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11452 = trunc i8 %11451 to i1
  br i1 %11452, label %11453, label %11475

11453:                                            ; preds = %11446
  %11454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11455 = call i32 @fileno(ptr noundef %11454) #11
  %11456 = call i32 @isatty(i32 noundef %11455) #11
  %11457 = icmp ne i32 %11456, 0
  br i1 %11457, label %11458, label %11475

11458:                                            ; preds = %11453
  %11459 = load i32, ptr %227, align 4, !tbaa !5
  %11460 = call ptr @__errno_location() #12
  store i32 %11459, ptr %11460, align 4, !tbaa !5
  %11461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11462 = load i32, ptr @test_count, align 4, !tbaa !5
  %11463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11464 = load i32, ptr %11463, align 4, !tbaa !5
  %11465 = call ptr @s2n_strerror(i32 noundef %11464, ptr noundef @.str.4)
  %11466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11467 = load i32, ptr %11466, align 4, !tbaa !5
  %11468 = call ptr @s2n_strerror_debug(i32 noundef %11467, ptr noundef @.str.4)
  %11469 = call ptr @__errno_location() #12
  %11470 = load i32, ptr %11469, align 4, !tbaa !5
  %11471 = call ptr @strerror(i32 noundef %11470) #11
  %11472 = call ptr @__errno_location() #12
  %11473 = load i32, ptr %11472, align 4, !tbaa !5
  %11474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11461, ptr noundef @.str.2, i32 noundef %11462, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 342, ptr noundef %11465, ptr noundef %11468, ptr noundef %11471, i32 noundef %11473) #11
  br label %11492

11475:                                            ; preds = %11453, %11446
  %11476 = load i32, ptr %227, align 4, !tbaa !5
  %11477 = call ptr @__errno_location() #12
  store i32 %11476, ptr %11477, align 4, !tbaa !5
  %11478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11479 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11481, ptr noundef @.str.4)
  %11483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11484 = load i32, ptr %11483, align 4, !tbaa !5
  %11485 = call ptr @s2n_strerror_debug(i32 noundef %11484, ptr noundef @.str.4)
  %11486 = call ptr @__errno_location() #12
  %11487 = load i32, ptr %11486, align 4, !tbaa !5
  %11488 = call ptr @strerror(i32 noundef %11487) #11
  %11489 = call ptr @__errno_location() #12
  %11490 = load i32, ptr %11489, align 4, !tbaa !5
  %11491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11478, ptr noundef @.str.5, i32 noundef %11479, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 342, ptr noundef %11482, ptr noundef %11485, ptr noundef %11488, i32 noundef %11490) #11
  br label %11492

11492:                                            ; preds = %11475, %11458
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #11
  br label %11493

11493:                                            ; preds = %11492
  br label %11494

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

11495:                                            ; No predecessors!
  br label %11496

11496:                                            ; preds = %11495
  br label %11497

11497:                                            ; preds = %11496, %11438
  br label %11498

11498:                                            ; preds = %11497
  br label %11499

11499:                                            ; preds = %11498
  br label %11500

11500:                                            ; preds = %11499
  %11501 = load i32, ptr @test_count, align 4, !tbaa !5
  %11502 = add nsw i32 %11501, 1
  store i32 %11502, ptr @test_count, align 4, !tbaa !5
  %11503 = load ptr, ptr %221, align 8, !tbaa !9
  %11504 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %11503)
  %11505 = icmp eq i32 %11504, -1
  br i1 %11505, label %11506, label %11559

11506:                                            ; preds = %11500
  br label %11507

11507:                                            ; preds = %11506
  br label %11508

11508:                                            ; preds = %11507
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #11
  %11509 = call ptr @__errno_location() #12
  %11510 = load i32, ptr %11509, align 4, !tbaa !5
  store i32 %11510, ptr %228, align 4, !tbaa !5
  %11511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11512 = call i32 @s2n_print_stacktrace(ptr noundef %11511)
  %11513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11514 = trunc i8 %11513 to i1
  br i1 %11514, label %11515, label %11537

11515:                                            ; preds = %11508
  %11516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11517 = call i32 @fileno(ptr noundef %11516) #11
  %11518 = call i32 @isatty(i32 noundef %11517) #11
  %11519 = icmp ne i32 %11518, 0
  br i1 %11519, label %11520, label %11537

11520:                                            ; preds = %11515
  %11521 = load i32, ptr %228, align 4, !tbaa !5
  %11522 = call ptr @__errno_location() #12
  store i32 %11521, ptr %11522, align 4, !tbaa !5
  %11523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11524 = load i32, ptr @test_count, align 4, !tbaa !5
  %11525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11526 = load i32, ptr %11525, align 4, !tbaa !5
  %11527 = call ptr @s2n_strerror(i32 noundef %11526, ptr noundef @.str.4)
  %11528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11529 = load i32, ptr %11528, align 4, !tbaa !5
  %11530 = call ptr @s2n_strerror_debug(i32 noundef %11529, ptr noundef @.str.4)
  %11531 = call ptr @__errno_location() #12
  %11532 = load i32, ptr %11531, align 4, !tbaa !5
  %11533 = call ptr @strerror(i32 noundef %11532) #11
  %11534 = call ptr @__errno_location() #12
  %11535 = load i32, ptr %11534, align 4, !tbaa !5
  %11536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11523, ptr noundef @.str.2, i32 noundef %11524, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 343, ptr noundef %11527, ptr noundef %11530, ptr noundef %11533, i32 noundef %11535) #11
  br label %11554

11537:                                            ; preds = %11515, %11508
  %11538 = load i32, ptr %228, align 4, !tbaa !5
  %11539 = call ptr @__errno_location() #12
  store i32 %11538, ptr %11539, align 4, !tbaa !5
  %11540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11541 = load i32, ptr @test_count, align 4, !tbaa !5
  %11542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11543 = load i32, ptr %11542, align 4, !tbaa !5
  %11544 = call ptr @s2n_strerror(i32 noundef %11543, ptr noundef @.str.4)
  %11545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11546 = load i32, ptr %11545, align 4, !tbaa !5
  %11547 = call ptr @s2n_strerror_debug(i32 noundef %11546, ptr noundef @.str.4)
  %11548 = call ptr @__errno_location() #12
  %11549 = load i32, ptr %11548, align 4, !tbaa !5
  %11550 = call ptr @strerror(i32 noundef %11549) #11
  %11551 = call ptr @__errno_location() #12
  %11552 = load i32, ptr %11551, align 4, !tbaa !5
  %11553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11540, ptr noundef @.str.5, i32 noundef %11541, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 343, ptr noundef %11544, ptr noundef %11547, ptr noundef %11550, i32 noundef %11552) #11
  br label %11554

11554:                                            ; preds = %11537, %11520
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #11
  br label %11555

11555:                                            ; preds = %11554
  br label %11556

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

11557:                                            ; No predecessors!
  br label %11558

11558:                                            ; preds = %11557
  br label %11559

11559:                                            ; preds = %11558, %11500
  br label %11560

11560:                                            ; preds = %11559
  br label %11561

11561:                                            ; preds = %11560
  br label %11562

11562:                                            ; preds = %11561
  %11563 = load i32, ptr @test_count, align 4, !tbaa !5
  %11564 = add nsw i32 %11563, 1
  store i32 %11564, ptr @test_count, align 4, !tbaa !5
  %11565 = load ptr, ptr %221, align 8, !tbaa !9
  %11566 = load ptr, ptr %220, align 8, !tbaa !9
  %11567 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %11565, ptr noundef %11566, i32 noundef 1)
  %11568 = getelementptr inbounds %struct.s2n_result, ptr %229, i32 0, i32 0
  store i32 %11567, ptr %11568, align 4
  %11569 = getelementptr inbounds %struct.s2n_result, ptr %229, i32 0, i32 0
  %11570 = load i32, ptr %11569, align 4
  %11571 = call zeroext i1 @s2n_result_is_ok(i32 %11570)
  br i1 %11571, label %11625, label %11572

11572:                                            ; preds = %11562
  br label %11573

11573:                                            ; preds = %11572
  br label %11574

11574:                                            ; preds = %11573
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #11
  %11575 = call ptr @__errno_location() #12
  %11576 = load i32, ptr %11575, align 4, !tbaa !5
  store i32 %11576, ptr %230, align 4, !tbaa !5
  %11577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11578 = call i32 @s2n_print_stacktrace(ptr noundef %11577)
  %11579 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11580 = trunc i8 %11579 to i1
  br i1 %11580, label %11581, label %11603

11581:                                            ; preds = %11574
  %11582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11583 = call i32 @fileno(ptr noundef %11582) #11
  %11584 = call i32 @isatty(i32 noundef %11583) #11
  %11585 = icmp ne i32 %11584, 0
  br i1 %11585, label %11586, label %11603

11586:                                            ; preds = %11581
  %11587 = load i32, ptr %230, align 4, !tbaa !5
  %11588 = call ptr @__errno_location() #12
  store i32 %11587, ptr %11588, align 4, !tbaa !5
  %11589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11590 = load i32, ptr @test_count, align 4, !tbaa !5
  %11591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11592 = load i32, ptr %11591, align 4, !tbaa !5
  %11593 = call ptr @s2n_strerror(i32 noundef %11592, ptr noundef @.str.4)
  %11594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11595 = load i32, ptr %11594, align 4, !tbaa !5
  %11596 = call ptr @s2n_strerror_debug(i32 noundef %11595, ptr noundef @.str.4)
  %11597 = call ptr @__errno_location() #12
  %11598 = load i32, ptr %11597, align 4, !tbaa !5
  %11599 = call ptr @strerror(i32 noundef %11598) #11
  %11600 = call ptr @__errno_location() #12
  %11601 = load i32, ptr %11600, align 4, !tbaa !5
  %11602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11589, ptr noundef @.str.2, i32 noundef %11590, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 346, ptr noundef %11593, ptr noundef %11596, ptr noundef %11599, i32 noundef %11601) #11
  br label %11620

11603:                                            ; preds = %11581, %11574
  %11604 = load i32, ptr %230, align 4, !tbaa !5
  %11605 = call ptr @__errno_location() #12
  store i32 %11604, ptr %11605, align 4, !tbaa !5
  %11606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11607 = load i32, ptr @test_count, align 4, !tbaa !5
  %11608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11609 = load i32, ptr %11608, align 4, !tbaa !5
  %11610 = call ptr @s2n_strerror(i32 noundef %11609, ptr noundef @.str.4)
  %11611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11612 = load i32, ptr %11611, align 4, !tbaa !5
  %11613 = call ptr @s2n_strerror_debug(i32 noundef %11612, ptr noundef @.str.4)
  %11614 = call ptr @__errno_location() #12
  %11615 = load i32, ptr %11614, align 4, !tbaa !5
  %11616 = call ptr @strerror(i32 noundef %11615) #11
  %11617 = call ptr @__errno_location() #12
  %11618 = load i32, ptr %11617, align 4, !tbaa !5
  %11619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11606, ptr noundef @.str.5, i32 noundef %11607, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 346, ptr noundef %11610, ptr noundef %11613, ptr noundef %11616, i32 noundef %11618) #11
  br label %11620

11620:                                            ; preds = %11603, %11586
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #11
  br label %11621

11621:                                            ; preds = %11620
  br label %11622

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

11623:                                            ; No predecessors!
  br label %11624

11624:                                            ; preds = %11623
  br label %11625

11625:                                            ; preds = %11624, %11562
  br label %11626

11626:                                            ; preds = %11625
  br label %11627

11627:                                            ; preds = %11626
  br label %11628

11628:                                            ; preds = %11627
  %11629 = load i32, ptr @test_count, align 4, !tbaa !5
  %11630 = add nsw i32 %11629, 1
  store i32 %11630, ptr @test_count, align 4, !tbaa !5
  %11631 = load ptr, ptr %220, align 8, !tbaa !9
  %11632 = getelementptr inbounds %struct.s2n_connection, ptr %11631, i32 0, i32 89
  %11633 = load i32, ptr %11632, align 8, !tbaa !19
  %11634 = icmp eq i32 %11633, 1
  br i1 %11634, label %11688, label %11635

11635:                                            ; preds = %11628
  br label %11636

11636:                                            ; preds = %11635
  br label %11637

11637:                                            ; preds = %11636
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #11
  %11638 = call ptr @__errno_location() #12
  %11639 = load i32, ptr %11638, align 4, !tbaa !5
  store i32 %11639, ptr %231, align 4, !tbaa !5
  %11640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11641 = call i32 @s2n_print_stacktrace(ptr noundef %11640)
  %11642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11643 = trunc i8 %11642 to i1
  br i1 %11643, label %11644, label %11666

11644:                                            ; preds = %11637
  %11645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11646 = call i32 @fileno(ptr noundef %11645) #11
  %11647 = call i32 @isatty(i32 noundef %11646) #11
  %11648 = icmp ne i32 %11647, 0
  br i1 %11648, label %11649, label %11666

11649:                                            ; preds = %11644
  %11650 = load i32, ptr %231, align 4, !tbaa !5
  %11651 = call ptr @__errno_location() #12
  store i32 %11650, ptr %11651, align 4, !tbaa !5
  %11652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11653 = load i32, ptr @test_count, align 4, !tbaa !5
  %11654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11655 = load i32, ptr %11654, align 4, !tbaa !5
  %11656 = call ptr @s2n_strerror(i32 noundef %11655, ptr noundef @.str.4)
  %11657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11658 = load i32, ptr %11657, align 4, !tbaa !5
  %11659 = call ptr @s2n_strerror_debug(i32 noundef %11658, ptr noundef @.str.4)
  %11660 = call ptr @__errno_location() #12
  %11661 = load i32, ptr %11660, align 4, !tbaa !5
  %11662 = call ptr @strerror(i32 noundef %11661) #11
  %11663 = call ptr @__errno_location() #12
  %11664 = load i32, ptr %11663, align 4, !tbaa !5
  %11665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11652, ptr noundef @.str.2, i32 noundef %11653, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 347, ptr noundef %11656, ptr noundef %11659, ptr noundef %11662, i32 noundef %11664) #11
  br label %11683

11666:                                            ; preds = %11644, %11637
  %11667 = load i32, ptr %231, align 4, !tbaa !5
  %11668 = call ptr @__errno_location() #12
  store i32 %11667, ptr %11668, align 4, !tbaa !5
  %11669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11670 = load i32, ptr @test_count, align 4, !tbaa !5
  %11671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11672 = load i32, ptr %11671, align 4, !tbaa !5
  %11673 = call ptr @s2n_strerror(i32 noundef %11672, ptr noundef @.str.4)
  %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_debug(i32 noundef %11675, ptr noundef @.str.4)
  %11677 = call ptr @__errno_location() #12
  %11678 = load i32, ptr %11677, align 4, !tbaa !5
  %11679 = call ptr @strerror(i32 noundef %11678) #11
  %11680 = call ptr @__errno_location() #12
  %11681 = load i32, ptr %11680, align 4, !tbaa !5
  %11682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11669, ptr noundef @.str.5, i32 noundef %11670, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 347, ptr noundef %11673, ptr noundef %11676, ptr noundef %11679, i32 noundef %11681) #11
  br label %11683

11683:                                            ; preds = %11666, %11649
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #11
  br label %11684

11684:                                            ; preds = %11683
  br label %11685

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

11686:                                            ; No predecessors!
  br label %11687

11687:                                            ; preds = %11686
  br label %11688

11688:                                            ; preds = %11687, %11628
  br label %11689

11689:                                            ; preds = %11688
  br label %11690

11690:                                            ; preds = %11689
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #11
  store i32 0, ptr %232, align 4, !tbaa !5
  br label %11691

11691:                                            ; preds = %11690
  %11692 = load i32, ptr @test_count, align 4, !tbaa !5
  %11693 = add nsw i32 %11692, 1
  store i32 %11693, ptr @test_count, align 4, !tbaa !5
  %11694 = load ptr, ptr %220, align 8, !tbaa !9
  %11695 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %11696 = call i64 @s2n_send(ptr noundef %11694, ptr noundef %11695, i64 noundef 12, ptr noundef %232)
  %11697 = icmp eq i64 %11696, 12
  br i1 %11697, label %11751, label %11698

11698:                                            ; preds = %11691
  br label %11699

11699:                                            ; preds = %11698
  br label %11700

11700:                                            ; preds = %11699
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #11
  %11701 = call ptr @__errno_location() #12
  %11702 = load i32, ptr %11701, align 4, !tbaa !5
  store i32 %11702, ptr %233, align 4, !tbaa !5
  %11703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11704 = call i32 @s2n_print_stacktrace(ptr noundef %11703)
  %11705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11706 = trunc i8 %11705 to i1
  br i1 %11706, label %11707, label %11729

11707:                                            ; preds = %11700
  %11708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11709 = call i32 @fileno(ptr noundef %11708) #11
  %11710 = call i32 @isatty(i32 noundef %11709) #11
  %11711 = icmp ne i32 %11710, 0
  br i1 %11711, label %11712, label %11729

11712:                                            ; preds = %11707
  %11713 = load i32, ptr %233, align 4, !tbaa !5
  %11714 = call ptr @__errno_location() #12
  store i32 %11713, ptr %11714, align 4, !tbaa !5
  %11715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11716 = load i32, ptr @test_count, align 4, !tbaa !5
  %11717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11718 = load i32, ptr %11717, align 4, !tbaa !5
  %11719 = call ptr @s2n_strerror(i32 noundef %11718, ptr noundef @.str.4)
  %11720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11721 = load i32, ptr %11720, align 4, !tbaa !5
  %11722 = call ptr @s2n_strerror_debug(i32 noundef %11721, ptr noundef @.str.4)
  %11723 = call ptr @__errno_location() #12
  %11724 = load i32, ptr %11723, align 4, !tbaa !5
  %11725 = call ptr @strerror(i32 noundef %11724) #11
  %11726 = call ptr @__errno_location() #12
  %11727 = load i32, ptr %11726, align 4, !tbaa !5
  %11728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11715, ptr noundef @.str.2, i32 noundef %11716, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 351, ptr noundef %11719, ptr noundef %11722, ptr noundef %11725, i32 noundef %11727) #11
  br label %11746

11729:                                            ; preds = %11707, %11700
  %11730 = load i32, ptr %233, align 4, !tbaa !5
  %11731 = call ptr @__errno_location() #12
  store i32 %11730, ptr %11731, align 4, !tbaa !5
  %11732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11733 = load i32, ptr @test_count, align 4, !tbaa !5
  %11734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11735 = load i32, ptr %11734, align 4, !tbaa !5
  %11736 = call ptr @s2n_strerror(i32 noundef %11735, ptr noundef @.str.4)
  %11737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11738 = load i32, ptr %11737, align 4, !tbaa !5
  %11739 = call ptr @s2n_strerror_debug(i32 noundef %11738, ptr noundef @.str.4)
  %11740 = call ptr @__errno_location() #12
  %11741 = load i32, ptr %11740, align 4, !tbaa !5
  %11742 = call ptr @strerror(i32 noundef %11741) #11
  %11743 = call ptr @__errno_location() #12
  %11744 = load i32, ptr %11743, align 4, !tbaa !5
  %11745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11732, ptr noundef @.str.5, i32 noundef %11733, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 351, ptr noundef %11736, ptr noundef %11739, ptr noundef %11742, i32 noundef %11744) #11
  br label %11746

11746:                                            ; preds = %11729, %11712
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #11
  br label %11747

11747:                                            ; preds = %11746
  br label %11748

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

11749:                                            ; No predecessors!
  br label %11750

11750:                                            ; preds = %11749
  br label %11751

11751:                                            ; preds = %11750, %11691
  br label %11752

11752:                                            ; preds = %11751
  br label %11753

11753:                                            ; preds = %11752
  br label %11754

11754:                                            ; preds = %11753
  %11755 = load i32, ptr @test_count, align 4, !tbaa !5
  %11756 = add nsw i32 %11755, 1
  store i32 %11756, ptr @test_count, align 4, !tbaa !5
  %11757 = load ptr, ptr %220, align 8, !tbaa !9
  %11758 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %11759 = call i64 @s2n_send(ptr noundef %11757, ptr noundef %11758, i64 noundef 12, ptr noundef %232)
  %11760 = icmp eq i64 %11759, 12
  br i1 %11760, label %11814, label %11761

11761:                                            ; preds = %11754
  br label %11762

11762:                                            ; preds = %11761
  br label %11763

11763:                                            ; preds = %11762
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #11
  %11764 = call ptr @__errno_location() #12
  %11765 = load i32, ptr %11764, align 4, !tbaa !5
  store i32 %11765, ptr %234, align 4, !tbaa !5
  %11766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11767 = call i32 @s2n_print_stacktrace(ptr noundef %11766)
  %11768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11769 = trunc i8 %11768 to i1
  br i1 %11769, label %11770, label %11792

11770:                                            ; preds = %11763
  %11771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11772 = call i32 @fileno(ptr noundef %11771) #11
  %11773 = call i32 @isatty(i32 noundef %11772) #11
  %11774 = icmp ne i32 %11773, 0
  br i1 %11774, label %11775, label %11792

11775:                                            ; preds = %11770
  %11776 = load i32, ptr %234, align 4, !tbaa !5
  %11777 = call ptr @__errno_location() #12
  store i32 %11776, ptr %11777, align 4, !tbaa !5
  %11778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11779 = load i32, ptr @test_count, align 4, !tbaa !5
  %11780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11781 = load i32, ptr %11780, align 4, !tbaa !5
  %11782 = call ptr @s2n_strerror(i32 noundef %11781, ptr noundef @.str.4)
  %11783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11784 = load i32, ptr %11783, align 4, !tbaa !5
  %11785 = call ptr @s2n_strerror_debug(i32 noundef %11784, ptr noundef @.str.4)
  %11786 = call ptr @__errno_location() #12
  %11787 = load i32, ptr %11786, align 4, !tbaa !5
  %11788 = call ptr @strerror(i32 noundef %11787) #11
  %11789 = call ptr @__errno_location() #12
  %11790 = load i32, ptr %11789, align 4, !tbaa !5
  %11791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11778, ptr noundef @.str.2, i32 noundef %11779, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 352, ptr noundef %11782, ptr noundef %11785, ptr noundef %11788, i32 noundef %11790) #11
  br label %11809

11792:                                            ; preds = %11770, %11763
  %11793 = load i32, ptr %234, align 4, !tbaa !5
  %11794 = call ptr @__errno_location() #12
  store i32 %11793, ptr %11794, align 4, !tbaa !5
  %11795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11796 = load i32, ptr @test_count, align 4, !tbaa !5
  %11797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11798 = load i32, ptr %11797, align 4, !tbaa !5
  %11799 = call ptr @s2n_strerror(i32 noundef %11798, ptr noundef @.str.4)
  %11800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11801 = load i32, ptr %11800, align 4, !tbaa !5
  %11802 = call ptr @s2n_strerror_debug(i32 noundef %11801, ptr noundef @.str.4)
  %11803 = call ptr @__errno_location() #12
  %11804 = load i32, ptr %11803, align 4, !tbaa !5
  %11805 = call ptr @strerror(i32 noundef %11804) #11
  %11806 = call ptr @__errno_location() #12
  %11807 = load i32, ptr %11806, align 4, !tbaa !5
  %11808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11795, ptr noundef @.str.5, i32 noundef %11796, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 352, ptr noundef %11799, ptr noundef %11802, ptr noundef %11805, i32 noundef %11807) #11
  br label %11809

11809:                                            ; preds = %11792, %11775
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #11
  br label %11810

11810:                                            ; preds = %11809
  br label %11811

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

11812:                                            ; No predecessors!
  br label %11813

11813:                                            ; preds = %11812
  br label %11814

11814:                                            ; preds = %11813, %11754
  br label %11815

11815:                                            ; preds = %11814
  br label %11816

11816:                                            ; preds = %11815
  br label %11817

11817:                                            ; preds = %11816
  %11818 = load i32, ptr @test_count, align 4, !tbaa !5
  %11819 = add nsw i32 %11818, 1
  store i32 %11819, ptr @test_count, align 4, !tbaa !5
  %11820 = load ptr, ptr %220, align 8, !tbaa !9
  %11821 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %11822 = call i64 @s2n_send(ptr noundef %11820, ptr noundef %11821, i64 noundef 12, ptr noundef %232)
  %11823 = icmp eq i64 %11822, 12
  br i1 %11823, label %11877, label %11824

11824:                                            ; preds = %11817
  br label %11825

11825:                                            ; preds = %11824
  br label %11826

11826:                                            ; preds = %11825
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #11
  %11827 = call ptr @__errno_location() #12
  %11828 = load i32, ptr %11827, align 4, !tbaa !5
  store i32 %11828, ptr %235, align 4, !tbaa !5
  %11829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11830 = call i32 @s2n_print_stacktrace(ptr noundef %11829)
  %11831 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11832 = trunc i8 %11831 to i1
  br i1 %11832, label %11833, label %11855

11833:                                            ; preds = %11826
  %11834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11835 = call i32 @fileno(ptr noundef %11834) #11
  %11836 = call i32 @isatty(i32 noundef %11835) #11
  %11837 = icmp ne i32 %11836, 0
  br i1 %11837, label %11838, label %11855

11838:                                            ; preds = %11833
  %11839 = load i32, ptr %235, align 4, !tbaa !5
  %11840 = call ptr @__errno_location() #12
  store i32 %11839, ptr %11840, align 4, !tbaa !5
  %11841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11842 = load i32, ptr @test_count, align 4, !tbaa !5
  %11843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11844 = load i32, ptr %11843, align 4, !tbaa !5
  %11845 = call ptr @s2n_strerror(i32 noundef %11844, ptr noundef @.str.4)
  %11846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11847 = load i32, ptr %11846, align 4, !tbaa !5
  %11848 = call ptr @s2n_strerror_debug(i32 noundef %11847, ptr noundef @.str.4)
  %11849 = call ptr @__errno_location() #12
  %11850 = load i32, ptr %11849, align 4, !tbaa !5
  %11851 = call ptr @strerror(i32 noundef %11850) #11
  %11852 = call ptr @__errno_location() #12
  %11853 = load i32, ptr %11852, align 4, !tbaa !5
  %11854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11841, ptr noundef @.str.2, i32 noundef %11842, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 353, ptr noundef %11845, ptr noundef %11848, ptr noundef %11851, i32 noundef %11853) #11
  br label %11872

11855:                                            ; preds = %11833, %11826
  %11856 = load i32, ptr %235, align 4, !tbaa !5
  %11857 = call ptr @__errno_location() #12
  store i32 %11856, ptr %11857, align 4, !tbaa !5
  %11858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11859 = load i32, ptr @test_count, align 4, !tbaa !5
  %11860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11861 = load i32, ptr %11860, align 4, !tbaa !5
  %11862 = call ptr @s2n_strerror(i32 noundef %11861, ptr noundef @.str.4)
  %11863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11864 = load i32, ptr %11863, align 4, !tbaa !5
  %11865 = call ptr @s2n_strerror_debug(i32 noundef %11864, ptr noundef @.str.4)
  %11866 = call ptr @__errno_location() #12
  %11867 = load i32, ptr %11866, align 4, !tbaa !5
  %11868 = call ptr @strerror(i32 noundef %11867) #11
  %11869 = call ptr @__errno_location() #12
  %11870 = load i32, ptr %11869, align 4, !tbaa !5
  %11871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11858, ptr noundef @.str.5, i32 noundef %11859, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 353, ptr noundef %11862, ptr noundef %11865, ptr noundef %11868, i32 noundef %11870) #11
  br label %11872

11872:                                            ; preds = %11855, %11838
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #11
  br label %11873

11873:                                            ; preds = %11872
  br label %11874

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

11875:                                            ; No predecessors!
  br label %11876

11876:                                            ; preds = %11875
  br label %11877

11877:                                            ; preds = %11876, %11817
  br label %11878

11878:                                            ; preds = %11877
  br label %11879

11879:                                            ; preds = %11878
  br label %11880

11880:                                            ; preds = %11879
  %11881 = load i32, ptr @test_count, align 4, !tbaa !5
  %11882 = add nsw i32 %11881, 1
  store i32 %11882, ptr @test_count, align 4, !tbaa !5
  %11883 = load ptr, ptr %220, align 8, !tbaa !9
  %11884 = call i32 @s2n_connection_set_end_of_early_data(ptr noundef %11883)
  %11885 = icmp eq i32 %11884, -1
  br i1 %11885, label %11886, label %11939

11886:                                            ; preds = %11880
  br label %11887

11887:                                            ; preds = %11886
  br label %11888

11888:                                            ; preds = %11887
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #11
  %11889 = call ptr @__errno_location() #12
  %11890 = load i32, ptr %11889, align 4, !tbaa !5
  store i32 %11890, ptr %236, align 4, !tbaa !5
  %11891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11892 = call i32 @s2n_print_stacktrace(ptr noundef %11891)
  %11893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11894 = trunc i8 %11893 to i1
  br i1 %11894, label %11895, label %11917

11895:                                            ; preds = %11888
  %11896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11897 = call i32 @fileno(ptr noundef %11896) #11
  %11898 = call i32 @isatty(i32 noundef %11897) #11
  %11899 = icmp ne i32 %11898, 0
  br i1 %11899, label %11900, label %11917

11900:                                            ; preds = %11895
  %11901 = load i32, ptr %236, align 4, !tbaa !5
  %11902 = call ptr @__errno_location() #12
  store i32 %11901, ptr %11902, align 4, !tbaa !5
  %11903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11904 = load i32, ptr @test_count, align 4, !tbaa !5
  %11905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11906 = load i32, ptr %11905, align 4, !tbaa !5
  %11907 = call ptr @s2n_strerror(i32 noundef %11906, ptr noundef @.str.4)
  %11908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11909 = load i32, ptr %11908, align 4, !tbaa !5
  %11910 = call ptr @s2n_strerror_debug(i32 noundef %11909, ptr noundef @.str.4)
  %11911 = call ptr @__errno_location() #12
  %11912 = load i32, ptr %11911, align 4, !tbaa !5
  %11913 = call ptr @strerror(i32 noundef %11912) #11
  %11914 = call ptr @__errno_location() #12
  %11915 = load i32, ptr %11914, align 4, !tbaa !5
  %11916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11903, ptr noundef @.str.2, i32 noundef %11904, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 355, ptr noundef %11907, ptr noundef %11910, ptr noundef %11913, i32 noundef %11915) #11
  br label %11934

11917:                                            ; preds = %11895, %11888
  %11918 = load i32, ptr %236, align 4, !tbaa !5
  %11919 = call ptr @__errno_location() #12
  store i32 %11918, ptr %11919, align 4, !tbaa !5
  %11920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11921 = load i32, ptr @test_count, align 4, !tbaa !5
  %11922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11923 = load i32, ptr %11922, align 4, !tbaa !5
  %11924 = call ptr @s2n_strerror(i32 noundef %11923, ptr noundef @.str.4)
  %11925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11926 = load i32, ptr %11925, align 4, !tbaa !5
  %11927 = call ptr @s2n_strerror_debug(i32 noundef %11926, ptr noundef @.str.4)
  %11928 = call ptr @__errno_location() #12
  %11929 = load i32, ptr %11928, align 4, !tbaa !5
  %11930 = call ptr @strerror(i32 noundef %11929) #11
  %11931 = call ptr @__errno_location() #12
  %11932 = load i32, ptr %11931, align 4, !tbaa !5
  %11933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11920, ptr noundef @.str.5, i32 noundef %11921, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 355, ptr noundef %11924, ptr noundef %11927, ptr noundef %11930, i32 noundef %11932) #11
  br label %11934

11934:                                            ; preds = %11917, %11900
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #11
  br label %11935

11935:                                            ; preds = %11934
  br label %11936

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

11937:                                            ; No predecessors!
  br label %11938

11938:                                            ; preds = %11937
  br label %11939

11939:                                            ; preds = %11938, %11880
  br label %11940

11940:                                            ; preds = %11939
  br label %11941

11941:                                            ; preds = %11940
  br label %11942

11942:                                            ; preds = %11941
  %11943 = load i32, ptr @test_count, align 4, !tbaa !5
  %11944 = add nsw i32 %11943, 1
  store i32 %11944, ptr @test_count, align 4, !tbaa !5
  %11945 = load ptr, ptr %221, align 8, !tbaa !9
  %11946 = load ptr, ptr %220, align 8, !tbaa !9
  %11947 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %11945, ptr noundef %11946)
  %11948 = icmp eq i32 %11947, -1
  br i1 %11948, label %11949, label %12002

11949:                                            ; preds = %11942
  br label %11950

11950:                                            ; preds = %11949
  br label %11951

11951:                                            ; preds = %11950
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #11
  %11952 = call ptr @__errno_location() #12
  %11953 = load i32, ptr %11952, align 4, !tbaa !5
  store i32 %11953, ptr %237, align 4, !tbaa !5
  %11954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11955 = call i32 @s2n_print_stacktrace(ptr noundef %11954)
  %11956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11957 = trunc i8 %11956 to i1
  br i1 %11957, label %11958, label %11980

11958:                                            ; preds = %11951
  %11959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11960 = call i32 @fileno(ptr noundef %11959) #11
  %11961 = call i32 @isatty(i32 noundef %11960) #11
  %11962 = icmp ne i32 %11961, 0
  br i1 %11962, label %11963, label %11980

11963:                                            ; preds = %11958
  %11964 = load i32, ptr %237, align 4, !tbaa !5
  %11965 = call ptr @__errno_location() #12
  store i32 %11964, ptr %11965, align 4, !tbaa !5
  %11966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11967 = load i32, ptr @test_count, align 4, !tbaa !5
  %11968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11969 = load i32, ptr %11968, align 4, !tbaa !5
  %11970 = call ptr @s2n_strerror(i32 noundef %11969, ptr noundef @.str.4)
  %11971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11972 = load i32, ptr %11971, align 4, !tbaa !5
  %11973 = call ptr @s2n_strerror_debug(i32 noundef %11972, ptr noundef @.str.4)
  %11974 = call ptr @__errno_location() #12
  %11975 = load i32, ptr %11974, align 4, !tbaa !5
  %11976 = call ptr @strerror(i32 noundef %11975) #11
  %11977 = call ptr @__errno_location() #12
  %11978 = load i32, ptr %11977, align 4, !tbaa !5
  %11979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11966, ptr noundef @.str.2, i32 noundef %11967, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 356, ptr noundef %11970, ptr noundef %11973, ptr noundef %11976, i32 noundef %11978) #11
  br label %11997

11980:                                            ; preds = %11958, %11951
  %11981 = load i32, ptr %237, align 4, !tbaa !5
  %11982 = call ptr @__errno_location() #12
  store i32 %11981, ptr %11982, align 4, !tbaa !5
  %11983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11984 = load i32, ptr @test_count, align 4, !tbaa !5
  %11985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11986 = load i32, ptr %11985, align 4, !tbaa !5
  %11987 = call ptr @s2n_strerror(i32 noundef %11986, ptr noundef @.str.4)
  %11988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11989 = load i32, ptr %11988, align 4, !tbaa !5
  %11990 = call ptr @s2n_strerror_debug(i32 noundef %11989, ptr noundef @.str.4)
  %11991 = call ptr @__errno_location() #12
  %11992 = load i32, ptr %11991, align 4, !tbaa !5
  %11993 = call ptr @strerror(i32 noundef %11992) #11
  %11994 = call ptr @__errno_location() #12
  %11995 = load i32, ptr %11994, align 4, !tbaa !5
  %11996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11983, ptr noundef @.str.5, i32 noundef %11984, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 356, ptr noundef %11987, ptr noundef %11990, ptr noundef %11993, i32 noundef %11995) #11
  br label %11997

11997:                                            ; preds = %11980, %11963
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #11
  br label %11998

11998:                                            ; preds = %11997
  br label %11999

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

12000:                                            ; No predecessors!
  br label %12001

12001:                                            ; preds = %12000
  br label %12002

12002:                                            ; preds = %12001, %11942
  br label %12003

12003:                                            ; preds = %12002
  br label %12004

12004:                                            ; preds = %12003
  br label %12005

12005:                                            ; preds = %12004
  %12006 = load i32, ptr @test_count, align 4, !tbaa !5
  %12007 = add nsw i32 %12006, 1
  store i32 %12007, ptr @test_count, align 4, !tbaa !5
  %12008 = load ptr, ptr %220, align 8, !tbaa !9
  %12009 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %12008, i32 noundef 64)
  br i1 %12009, label %12010, label %12063

12010:                                            ; preds = %12005
  br label %12011

12011:                                            ; preds = %12010
  br label %12012

12012:                                            ; preds = %12011
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #11
  %12013 = call ptr @__errno_location() #12
  %12014 = load i32, ptr %12013, align 4, !tbaa !5
  store i32 %12014, ptr %238, align 4, !tbaa !5
  %12015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12016 = call i32 @s2n_print_stacktrace(ptr noundef %12015)
  %12017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12018 = trunc i8 %12017 to i1
  br i1 %12018, label %12019, label %12041

12019:                                            ; preds = %12012
  %12020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12021 = call i32 @fileno(ptr noundef %12020) #11
  %12022 = call i32 @isatty(i32 noundef %12021) #11
  %12023 = icmp ne i32 %12022, 0
  br i1 %12023, label %12024, label %12041

12024:                                            ; preds = %12019
  %12025 = load i32, ptr %238, align 4, !tbaa !5
  %12026 = call ptr @__errno_location() #12
  store i32 %12025, ptr %12026, align 4, !tbaa !5
  %12027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12028 = load i32, ptr @test_count, align 4, !tbaa !5
  %12029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12030 = load i32, ptr %12029, align 4, !tbaa !5
  %12031 = call ptr @s2n_strerror(i32 noundef %12030, ptr noundef @.str.4)
  %12032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12033 = load i32, ptr %12032, align 4, !tbaa !5
  %12034 = call ptr @s2n_strerror_debug(i32 noundef %12033, ptr noundef @.str.4)
  %12035 = call ptr @__errno_location() #12
  %12036 = load i32, ptr %12035, align 4, !tbaa !5
  %12037 = call ptr @strerror(i32 noundef %12036) #11
  %12038 = call ptr @__errno_location() #12
  %12039 = load i32, ptr %12038, align 4, !tbaa !5
  %12040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12027, ptr noundef @.str.2, i32 noundef %12028, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 358, ptr noundef %12031, ptr noundef %12034, ptr noundef %12037, i32 noundef %12039) #11
  br label %12058

12041:                                            ; preds = %12019, %12012
  %12042 = load i32, ptr %238, align 4, !tbaa !5
  %12043 = call ptr @__errno_location() #12
  store i32 %12042, ptr %12043, align 4, !tbaa !5
  %12044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12045 = load i32, ptr @test_count, align 4, !tbaa !5
  %12046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12047 = load i32, ptr %12046, align 4, !tbaa !5
  %12048 = call ptr @s2n_strerror(i32 noundef %12047, ptr noundef @.str.4)
  %12049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12050 = load i32, ptr %12049, align 4, !tbaa !5
  %12051 = call ptr @s2n_strerror_debug(i32 noundef %12050, ptr noundef @.str.4)
  %12052 = call ptr @__errno_location() #12
  %12053 = load i32, ptr %12052, align 4, !tbaa !5
  %12054 = call ptr @strerror(i32 noundef %12053) #11
  %12055 = call ptr @__errno_location() #12
  %12056 = load i32, ptr %12055, align 4, !tbaa !5
  %12057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12044, ptr noundef @.str.5, i32 noundef %12045, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 358, ptr noundef %12048, ptr noundef %12051, ptr noundef %12054, i32 noundef %12056) #11
  br label %12058

12058:                                            ; preds = %12041, %12024
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #11
  br label %12059

12059:                                            ; preds = %12058
  br label %12060

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

12061:                                            ; No predecessors!
  br label %12062

12062:                                            ; preds = %12061
  br label %12063

12063:                                            ; preds = %12062, %12005
  br label %12064

12064:                                            ; preds = %12063
  br label %12065

12065:                                            ; preds = %12064
  br label %12066

12066:                                            ; preds = %12065
  %12067 = load i32, ptr @test_count, align 4, !tbaa !5
  %12068 = add nsw i32 %12067, 1
  store i32 %12068, ptr @test_count, align 4, !tbaa !5
  %12069 = load ptr, ptr %221, align 8, !tbaa !9
  %12070 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %12069, i32 noundef 64)
  br i1 %12070, label %12071, label %12124

12071:                                            ; preds = %12066
  br label %12072

12072:                                            ; preds = %12071
  br label %12073

12073:                                            ; preds = %12072
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #11
  %12074 = call ptr @__errno_location() #12
  %12075 = load i32, ptr %12074, align 4, !tbaa !5
  store i32 %12075, ptr %239, align 4, !tbaa !5
  %12076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12077 = call i32 @s2n_print_stacktrace(ptr noundef %12076)
  %12078 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12079 = trunc i8 %12078 to i1
  br i1 %12079, label %12080, label %12102

12080:                                            ; preds = %12073
  %12081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12082 = call i32 @fileno(ptr noundef %12081) #11
  %12083 = call i32 @isatty(i32 noundef %12082) #11
  %12084 = icmp ne i32 %12083, 0
  br i1 %12084, label %12085, label %12102

12085:                                            ; preds = %12080
  %12086 = load i32, ptr %239, align 4, !tbaa !5
  %12087 = call ptr @__errno_location() #12
  store i32 %12086, ptr %12087, align 4, !tbaa !5
  %12088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12089 = load i32, ptr @test_count, align 4, !tbaa !5
  %12090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12091 = load i32, ptr %12090, align 4, !tbaa !5
  %12092 = call ptr @s2n_strerror(i32 noundef %12091, ptr noundef @.str.4)
  %12093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12094 = load i32, ptr %12093, align 4, !tbaa !5
  %12095 = call ptr @s2n_strerror_debug(i32 noundef %12094, ptr noundef @.str.4)
  %12096 = call ptr @__errno_location() #12
  %12097 = load i32, ptr %12096, align 4, !tbaa !5
  %12098 = call ptr @strerror(i32 noundef %12097) #11
  %12099 = call ptr @__errno_location() #12
  %12100 = load i32, ptr %12099, align 4, !tbaa !5
  %12101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12088, ptr noundef @.str.2, i32 noundef %12089, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 359, ptr noundef %12092, ptr noundef %12095, ptr noundef %12098, i32 noundef %12100) #11
  br label %12119

12102:                                            ; preds = %12080, %12073
  %12103 = load i32, ptr %239, align 4, !tbaa !5
  %12104 = call ptr @__errno_location() #12
  store i32 %12103, ptr %12104, align 4, !tbaa !5
  %12105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12106 = load i32, ptr @test_count, align 4, !tbaa !5
  %12107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12108 = load i32, ptr %12107, align 4, !tbaa !5
  %12109 = call ptr @s2n_strerror(i32 noundef %12108, ptr noundef @.str.4)
  %12110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12111 = load i32, ptr %12110, align 4, !tbaa !5
  %12112 = call ptr @s2n_strerror_debug(i32 noundef %12111, ptr noundef @.str.4)
  %12113 = call ptr @__errno_location() #12
  %12114 = load i32, ptr %12113, align 4, !tbaa !5
  %12115 = call ptr @strerror(i32 noundef %12114) #11
  %12116 = call ptr @__errno_location() #12
  %12117 = load i32, ptr %12116, align 4, !tbaa !5
  %12118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12105, ptr noundef @.str.5, i32 noundef %12106, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 359, ptr noundef %12109, ptr noundef %12112, ptr noundef %12115, i32 noundef %12117) #11
  br label %12119

12119:                                            ; preds = %12102, %12085
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #11
  br label %12120

12120:                                            ; preds = %12119
  br label %12121

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

12122:                                            ; No predecessors!
  br label %12123

12123:                                            ; preds = %12122
  br label %12124

12124:                                            ; preds = %12123, %12066
  br label %12125

12125:                                            ; preds = %12124
  br label %12126

12126:                                            ; preds = %12125
  br label %12127

12127:                                            ; preds = %12126
  %12128 = load i32, ptr @test_count, align 4, !tbaa !5
  %12129 = add nsw i32 %12128, 1
  store i32 %12129, ptr @test_count, align 4, !tbaa !5
  %12130 = load ptr, ptr %220, align 8, !tbaa !9
  %12131 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %12130, i32 noundef 2)
  br i1 %12131, label %12132, label %12185

12132:                                            ; preds = %12127
  br label %12133

12133:                                            ; preds = %12132
  br label %12134

12134:                                            ; preds = %12133
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #11
  %12135 = call ptr @__errno_location() #12
  %12136 = load i32, ptr %12135, align 4, !tbaa !5
  store i32 %12136, ptr %240, align 4, !tbaa !5
  %12137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12138 = call i32 @s2n_print_stacktrace(ptr noundef %12137)
  %12139 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12140 = trunc i8 %12139 to i1
  br i1 %12140, label %12141, label %12163

12141:                                            ; preds = %12134
  %12142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12143 = call i32 @fileno(ptr noundef %12142) #11
  %12144 = call i32 @isatty(i32 noundef %12143) #11
  %12145 = icmp ne i32 %12144, 0
  br i1 %12145, label %12146, label %12163

12146:                                            ; preds = %12141
  %12147 = load i32, ptr %240, align 4, !tbaa !5
  %12148 = call ptr @__errno_location() #12
  store i32 %12147, ptr %12148, align 4, !tbaa !5
  %12149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12150 = load i32, ptr @test_count, align 4, !tbaa !5
  %12151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12152 = load i32, ptr %12151, align 4, !tbaa !5
  %12153 = call ptr @s2n_strerror(i32 noundef %12152, ptr noundef @.str.4)
  %12154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12155 = load i32, ptr %12154, align 4, !tbaa !5
  %12156 = call ptr @s2n_strerror_debug(i32 noundef %12155, ptr noundef @.str.4)
  %12157 = call ptr @__errno_location() #12
  %12158 = load i32, ptr %12157, align 4, !tbaa !5
  %12159 = call ptr @strerror(i32 noundef %12158) #11
  %12160 = call ptr @__errno_location() #12
  %12161 = load i32, ptr %12160, align 4, !tbaa !5
  %12162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12149, ptr noundef @.str.2, i32 noundef %12150, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 360, ptr noundef %12153, ptr noundef %12156, ptr noundef %12159, i32 noundef %12161) #11
  br label %12180

12163:                                            ; preds = %12141, %12134
  %12164 = load i32, ptr %240, align 4, !tbaa !5
  %12165 = call ptr @__errno_location() #12
  store i32 %12164, ptr %12165, align 4, !tbaa !5
  %12166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12167 = load i32, ptr @test_count, align 4, !tbaa !5
  %12168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12169 = load i32, ptr %12168, align 4, !tbaa !5
  %12170 = call ptr @s2n_strerror(i32 noundef %12169, ptr noundef @.str.4)
  %12171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12172 = load i32, ptr %12171, align 4, !tbaa !5
  %12173 = call ptr @s2n_strerror_debug(i32 noundef %12172, ptr noundef @.str.4)
  %12174 = call ptr @__errno_location() #12
  %12175 = load i32, ptr %12174, align 4, !tbaa !5
  %12176 = call ptr @strerror(i32 noundef %12175) #11
  %12177 = call ptr @__errno_location() #12
  %12178 = load i32, ptr %12177, align 4, !tbaa !5
  %12179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12166, ptr noundef @.str.5, i32 noundef %12167, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 360, ptr noundef %12170, ptr noundef %12173, ptr noundef %12176, i32 noundef %12178) #11
  br label %12180

12180:                                            ; preds = %12163, %12146
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #11
  br label %12181

12181:                                            ; preds = %12180
  br label %12182

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

12183:                                            ; No predecessors!
  br label %12184

12184:                                            ; preds = %12183
  br label %12185

12185:                                            ; preds = %12184, %12127
  br label %12186

12186:                                            ; preds = %12185
  br label %12187

12187:                                            ; preds = %12186
  br label %12188

12188:                                            ; preds = %12187
  %12189 = load i32, ptr @test_count, align 4, !tbaa !5
  %12190 = add nsw i32 %12189, 1
  store i32 %12190, ptr @test_count, align 4, !tbaa !5
  %12191 = load ptr, ptr %221, align 8, !tbaa !9
  %12192 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %12191, i32 noundef 2)
  br i1 %12192, label %12193, label %12246

12193:                                            ; preds = %12188
  br label %12194

12194:                                            ; preds = %12193
  br label %12195

12195:                                            ; preds = %12194
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #11
  %12196 = call ptr @__errno_location() #12
  %12197 = load i32, ptr %12196, align 4, !tbaa !5
  store i32 %12197, ptr %241, align 4, !tbaa !5
  %12198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12199 = call i32 @s2n_print_stacktrace(ptr noundef %12198)
  %12200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12201 = trunc i8 %12200 to i1
  br i1 %12201, label %12202, label %12224

12202:                                            ; preds = %12195
  %12203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12204 = call i32 @fileno(ptr noundef %12203) #11
  %12205 = call i32 @isatty(i32 noundef %12204) #11
  %12206 = icmp ne i32 %12205, 0
  br i1 %12206, label %12207, label %12224

12207:                                            ; preds = %12202
  %12208 = load i32, ptr %241, align 4, !tbaa !5
  %12209 = call ptr @__errno_location() #12
  store i32 %12208, ptr %12209, align 4, !tbaa !5
  %12210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12211 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %12213, ptr noundef @.str.4)
  %12215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12216 = load i32, ptr %12215, align 4, !tbaa !5
  %12217 = call ptr @s2n_strerror_debug(i32 noundef %12216, ptr noundef @.str.4)
  %12218 = call ptr @__errno_location() #12
  %12219 = load i32, ptr %12218, align 4, !tbaa !5
  %12220 = call ptr @strerror(i32 noundef %12219) #11
  %12221 = call ptr @__errno_location() #12
  %12222 = load i32, ptr %12221, align 4, !tbaa !5
  %12223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12210, ptr noundef @.str.2, i32 noundef %12211, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 361, ptr noundef %12214, ptr noundef %12217, ptr noundef %12220, i32 noundef %12222) #11
  br label %12241

12224:                                            ; preds = %12202, %12195
  %12225 = load i32, ptr %241, align 4, !tbaa !5
  %12226 = call ptr @__errno_location() #12
  store i32 %12225, ptr %12226, align 4, !tbaa !5
  %12227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12228 = load i32, ptr @test_count, align 4, !tbaa !5
  %12229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12230 = load i32, ptr %12229, align 4, !tbaa !5
  %12231 = call ptr @s2n_strerror(i32 noundef %12230, ptr noundef @.str.4)
  %12232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12233 = load i32, ptr %12232, align 4, !tbaa !5
  %12234 = call ptr @s2n_strerror_debug(i32 noundef %12233, ptr noundef @.str.4)
  %12235 = call ptr @__errno_location() #12
  %12236 = load i32, ptr %12235, align 4, !tbaa !5
  %12237 = call ptr @strerror(i32 noundef %12236) #11
  %12238 = call ptr @__errno_location() #12
  %12239 = load i32, ptr %12238, align 4, !tbaa !5
  %12240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12227, ptr noundef @.str.5, i32 noundef %12228, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 361, ptr noundef %12231, ptr noundef %12234, ptr noundef %12237, i32 noundef %12239) #11
  br label %12241

12241:                                            ; preds = %12224, %12207
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #11
  br label %12242

12242:                                            ; preds = %12241
  br label %12243

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

12244:                                            ; No predecessors!
  br label %12245

12245:                                            ; preds = %12244
  br label %12246

12246:                                            ; preds = %12245, %12188
  br label %12247

12247:                                            ; preds = %12246
  br label %12248

12248:                                            ; preds = %12247
  br label %12249

12249:                                            ; preds = %12248
  %12250 = load i32, ptr @test_count, align 4, !tbaa !5
  %12251 = add nsw i32 %12250, 1
  store i32 %12251, ptr @test_count, align 4, !tbaa !5
  %12252 = load ptr, ptr %220, align 8, !tbaa !9
  %12253 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %12252, i32 noundef 16)
  br i1 %12253, label %12254, label %12307

12254:                                            ; preds = %12249
  br label %12255

12255:                                            ; preds = %12254
  br label %12256

12256:                                            ; preds = %12255
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #11
  %12257 = call ptr @__errno_location() #12
  %12258 = load i32, ptr %12257, align 4, !tbaa !5
  store i32 %12258, ptr %242, align 4, !tbaa !5
  %12259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12260 = call i32 @s2n_print_stacktrace(ptr noundef %12259)
  %12261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12262 = trunc i8 %12261 to i1
  br i1 %12262, label %12263, label %12285

12263:                                            ; preds = %12256
  %12264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12265 = call i32 @fileno(ptr noundef %12264) #11
  %12266 = call i32 @isatty(i32 noundef %12265) #11
  %12267 = icmp ne i32 %12266, 0
  br i1 %12267, label %12268, label %12285

12268:                                            ; preds = %12263
  %12269 = load i32, ptr %242, align 4, !tbaa !5
  %12270 = call ptr @__errno_location() #12
  store i32 %12269, ptr %12270, align 4, !tbaa !5
  %12271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12272 = load i32, ptr @test_count, align 4, !tbaa !5
  %12273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12274 = load i32, ptr %12273, align 4, !tbaa !5
  %12275 = call ptr @s2n_strerror(i32 noundef %12274, ptr noundef @.str.4)
  %12276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12277 = load i32, ptr %12276, align 4, !tbaa !5
  %12278 = call ptr @s2n_strerror_debug(i32 noundef %12277, ptr noundef @.str.4)
  %12279 = call ptr @__errno_location() #12
  %12280 = load i32, ptr %12279, align 4, !tbaa !5
  %12281 = call ptr @strerror(i32 noundef %12280) #11
  %12282 = call ptr @__errno_location() #12
  %12283 = load i32, ptr %12282, align 4, !tbaa !5
  %12284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12271, ptr noundef @.str.2, i32 noundef %12272, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 362, ptr noundef %12275, ptr noundef %12278, ptr noundef %12281, i32 noundef %12283) #11
  br label %12302

12285:                                            ; preds = %12263, %12256
  %12286 = load i32, ptr %242, align 4, !tbaa !5
  %12287 = call ptr @__errno_location() #12
  store i32 %12286, ptr %12287, align 4, !tbaa !5
  %12288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12289 = load i32, ptr @test_count, align 4, !tbaa !5
  %12290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12291 = load i32, ptr %12290, align 4, !tbaa !5
  %12292 = call ptr @s2n_strerror(i32 noundef %12291, ptr noundef @.str.4)
  %12293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12294 = load i32, ptr %12293, align 4, !tbaa !5
  %12295 = call ptr @s2n_strerror_debug(i32 noundef %12294, ptr noundef @.str.4)
  %12296 = call ptr @__errno_location() #12
  %12297 = load i32, ptr %12296, align 4, !tbaa !5
  %12298 = call ptr @strerror(i32 noundef %12297) #11
  %12299 = call ptr @__errno_location() #12
  %12300 = load i32, ptr %12299, align 4, !tbaa !5
  %12301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12288, ptr noundef @.str.5, i32 noundef %12289, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 362, ptr noundef %12292, ptr noundef %12295, ptr noundef %12298, i32 noundef %12300) #11
  br label %12302

12302:                                            ; preds = %12285, %12268
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #11
  br label %12303

12303:                                            ; preds = %12302
  br label %12304

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

12305:                                            ; No predecessors!
  br label %12306

12306:                                            ; preds = %12305
  br label %12307

12307:                                            ; preds = %12306, %12249
  br label %12308

12308:                                            ; preds = %12307
  br label %12309

12309:                                            ; preds = %12308
  br label %12310

12310:                                            ; preds = %12309
  %12311 = load i32, ptr @test_count, align 4, !tbaa !5
  %12312 = add nsw i32 %12311, 1
  store i32 %12312, ptr @test_count, align 4, !tbaa !5
  %12313 = load ptr, ptr %221, align 8, !tbaa !9
  %12314 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %12313, i32 noundef 16)
  br i1 %12314, label %12315, label %12368

12315:                                            ; preds = %12310
  br label %12316

12316:                                            ; preds = %12315
  br label %12317

12317:                                            ; preds = %12316
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #11
  %12318 = call ptr @__errno_location() #12
  %12319 = load i32, ptr %12318, align 4, !tbaa !5
  store i32 %12319, ptr %243, align 4, !tbaa !5
  %12320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12321 = call i32 @s2n_print_stacktrace(ptr noundef %12320)
  %12322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12323 = trunc i8 %12322 to i1
  br i1 %12323, label %12324, label %12346

12324:                                            ; preds = %12317
  %12325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12326 = call i32 @fileno(ptr noundef %12325) #11
  %12327 = call i32 @isatty(i32 noundef %12326) #11
  %12328 = icmp ne i32 %12327, 0
  br i1 %12328, label %12329, label %12346

12329:                                            ; preds = %12324
  %12330 = load i32, ptr %243, 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.2, i32 noundef %12333, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 363, ptr noundef %12336, ptr noundef %12339, ptr noundef %12342, i32 noundef %12344) #11
  br label %12363

12346:                                            ; preds = %12324, %12317
  %12347 = load i32, ptr %243, align 4, !tbaa !5
  %12348 = call ptr @__errno_location() #12
  store i32 %12347, ptr %12348, align 4, !tbaa !5
  %12349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12350 = load i32, ptr @test_count, align 4, !tbaa !5
  %12351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12352 = load i32, ptr %12351, align 4, !tbaa !5
  %12353 = call ptr @s2n_strerror(i32 noundef %12352, ptr noundef @.str.4)
  %12354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12355 = load i32, ptr %12354, align 4, !tbaa !5
  %12356 = call ptr @s2n_strerror_debug(i32 noundef %12355, ptr noundef @.str.4)
  %12357 = call ptr @__errno_location() #12
  %12358 = load i32, ptr %12357, align 4, !tbaa !5
  %12359 = call ptr @strerror(i32 noundef %12358) #11
  %12360 = call ptr @__errno_location() #12
  %12361 = load i32, ptr %12360, align 4, !tbaa !5
  %12362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12349, ptr noundef @.str.5, i32 noundef %12350, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 363, ptr noundef %12353, ptr noundef %12356, ptr noundef %12359, i32 noundef %12361) #11
  br label %12363

12363:                                            ; preds = %12346, %12329
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #11
  br label %12364

12364:                                            ; preds = %12363
  br label %12365

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

12366:                                            ; No predecessors!
  br label %12367

12367:                                            ; preds = %12366
  br label %12368

12368:                                            ; preds = %12367, %12310
  br label %12369

12369:                                            ; preds = %12368
  br label %12370

12370:                                            ; preds = %12369
  br label %12371

12371:                                            ; preds = %12370
  %12372 = load i32, ptr @test_count, align 4, !tbaa !5
  %12373 = add nsw i32 %12372, 1
  store i32 %12373, ptr @test_count, align 4, !tbaa !5
  %12374 = load ptr, ptr %220, align 8, !tbaa !9
  %12375 = call i32 @s2n_conn_get_current_message_type(ptr noundef %12374)
  %12376 = icmp eq i32 %12375, 20
  br i1 %12376, label %12430, label %12377

12377:                                            ; preds = %12371
  br label %12378

12378:                                            ; preds = %12377
  br label %12379

12379:                                            ; preds = %12378
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #11
  %12380 = call ptr @__errno_location() #12
  %12381 = load i32, ptr %12380, align 4, !tbaa !5
  store i32 %12381, ptr %244, align 4, !tbaa !5
  %12382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12383 = call i32 @s2n_print_stacktrace(ptr noundef %12382)
  %12384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12385 = trunc i8 %12384 to i1
  br i1 %12385, label %12386, label %12408

12386:                                            ; preds = %12379
  %12387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12388 = call i32 @fileno(ptr noundef %12387) #11
  %12389 = call i32 @isatty(i32 noundef %12388) #11
  %12390 = icmp ne i32 %12389, 0
  br i1 %12390, label %12391, label %12408

12391:                                            ; preds = %12386
  %12392 = load i32, ptr %244, 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.2, i32 noundef %12395, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 364, ptr noundef %12398, ptr noundef %12401, ptr noundef %12404, i32 noundef %12406) #11
  br label %12425

12408:                                            ; preds = %12386, %12379
  %12409 = load i32, ptr %244, align 4, !tbaa !5
  %12410 = call ptr @__errno_location() #12
  store i32 %12409, ptr %12410, align 4, !tbaa !5
  %12411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12412 = load i32, ptr @test_count, align 4, !tbaa !5
  %12413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12414 = load i32, ptr %12413, align 4, !tbaa !5
  %12415 = call ptr @s2n_strerror(i32 noundef %12414, ptr noundef @.str.4)
  %12416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12417 = load i32, ptr %12416, align 4, !tbaa !5
  %12418 = call ptr @s2n_strerror_debug(i32 noundef %12417, ptr noundef @.str.4)
  %12419 = call ptr @__errno_location() #12
  %12420 = load i32, ptr %12419, align 4, !tbaa !5
  %12421 = call ptr @strerror(i32 noundef %12420) #11
  %12422 = call ptr @__errno_location() #12
  %12423 = load i32, ptr %12422, align 4, !tbaa !5
  %12424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12411, ptr noundef @.str.5, i32 noundef %12412, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 364, ptr noundef %12415, ptr noundef %12418, ptr noundef %12421, i32 noundef %12423) #11
  br label %12425

12425:                                            ; preds = %12408, %12391
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #11
  br label %12426

12426:                                            ; preds = %12425
  br label %12427

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

12428:                                            ; No predecessors!
  br label %12429

12429:                                            ; preds = %12428
  br label %12430

12430:                                            ; preds = %12429, %12371
  br label %12431

12431:                                            ; preds = %12430
  br label %12432

12432:                                            ; preds = %12431
  br label %12433

12433:                                            ; preds = %12432
  %12434 = load i32, ptr @test_count, align 4, !tbaa !5
  %12435 = add nsw i32 %12434, 1
  store i32 %12435, ptr @test_count, align 4, !tbaa !5
  %12436 = load ptr, ptr %221, align 8, !tbaa !9
  %12437 = call i32 @s2n_conn_get_current_message_type(ptr noundef %12436)
  %12438 = icmp eq i32 %12437, 20
  br i1 %12438, label %12492, label %12439

12439:                                            ; preds = %12433
  br label %12440

12440:                                            ; preds = %12439
  br label %12441

12441:                                            ; preds = %12440
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #11
  %12442 = call ptr @__errno_location() #12
  %12443 = load i32, ptr %12442, align 4, !tbaa !5
  store i32 %12443, ptr %245, align 4, !tbaa !5
  %12444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12445 = call i32 @s2n_print_stacktrace(ptr noundef %12444)
  %12446 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12447 = trunc i8 %12446 to i1
  br i1 %12447, label %12448, label %12470

12448:                                            ; preds = %12441
  %12449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12450 = call i32 @fileno(ptr noundef %12449) #11
  %12451 = call i32 @isatty(i32 noundef %12450) #11
  %12452 = icmp ne i32 %12451, 0
  br i1 %12452, label %12453, label %12470

12453:                                            ; preds = %12448
  %12454 = load i32, ptr %245, 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.2, i32 noundef %12457, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 365, ptr noundef %12460, ptr noundef %12463, ptr noundef %12466, i32 noundef %12468) #11
  br label %12487

12470:                                            ; preds = %12448, %12441
  %12471 = load i32, ptr %245, align 4, !tbaa !5
  %12472 = call ptr @__errno_location() #12
  store i32 %12471, ptr %12472, align 4, !tbaa !5
  %12473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12474 = load i32, ptr @test_count, align 4, !tbaa !5
  %12475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12476 = load i32, ptr %12475, align 4, !tbaa !5
  %12477 = call ptr @s2n_strerror(i32 noundef %12476, ptr noundef @.str.4)
  %12478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12479 = load i32, ptr %12478, align 4, !tbaa !5
  %12480 = call ptr @s2n_strerror_debug(i32 noundef %12479, ptr noundef @.str.4)
  %12481 = call ptr @__errno_location() #12
  %12482 = load i32, ptr %12481, align 4, !tbaa !5
  %12483 = call ptr @strerror(i32 noundef %12482) #11
  %12484 = call ptr @__errno_location() #12
  %12485 = load i32, ptr %12484, align 4, !tbaa !5
  %12486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12473, ptr noundef @.str.5, i32 noundef %12474, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 365, ptr noundef %12477, ptr noundef %12480, ptr noundef %12483, i32 noundef %12485) #11
  br label %12487

12487:                                            ; preds = %12470, %12453
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #11
  br label %12488

12488:                                            ; preds = %12487
  br label %12489

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

12490:                                            ; No predecessors!
  br label %12491

12491:                                            ; preds = %12490
  br label %12492

12492:                                            ; preds = %12491, %12433
  br label %12493

12493:                                            ; preds = %12492
  br label %12494

12494:                                            ; preds = %12493
  br label %12495

12495:                                            ; preds = %12494
  %12496 = load i32, ptr @test_count, align 4, !tbaa !5
  %12497 = add nsw i32 %12496, 1
  store i32 %12497, ptr @test_count, align 4, !tbaa !5
  %12498 = load ptr, ptr %221, align 8, !tbaa !9
  %12499 = load ptr, ptr %220, align 8, !tbaa !9
  %12500 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %12498, ptr noundef %12499)
  %12501 = icmp eq i32 %12500, -1
  br i1 %12501, label %12502, label %12555

12502:                                            ; preds = %12495
  br label %12503

12503:                                            ; preds = %12502
  br label %12504

12504:                                            ; preds = %12503
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #11
  %12505 = call ptr @__errno_location() #12
  %12506 = load i32, ptr %12505, align 4, !tbaa !5
  store i32 %12506, ptr %246, align 4, !tbaa !5
  %12507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12508 = call i32 @s2n_print_stacktrace(ptr noundef %12507)
  %12509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12510 = trunc i8 %12509 to i1
  br i1 %12510, label %12511, label %12533

12511:                                            ; preds = %12504
  %12512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12513 = call i32 @fileno(ptr noundef %12512) #11
  %12514 = call i32 @isatty(i32 noundef %12513) #11
  %12515 = icmp ne i32 %12514, 0
  br i1 %12515, label %12516, label %12533

12516:                                            ; preds = %12511
  %12517 = load i32, ptr %246, align 4, !tbaa !5
  %12518 = call ptr @__errno_location() #12
  store i32 %12517, ptr %12518, align 4, !tbaa !5
  %12519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12520 = load i32, ptr @test_count, align 4, !tbaa !5
  %12521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12522 = load i32, ptr %12521, align 4, !tbaa !5
  %12523 = call ptr @s2n_strerror(i32 noundef %12522, ptr noundef @.str.4)
  %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_debug(i32 noundef %12525, ptr noundef @.str.4)
  %12527 = call ptr @__errno_location() #12
  %12528 = load i32, ptr %12527, align 4, !tbaa !5
  %12529 = call ptr @strerror(i32 noundef %12528) #11
  %12530 = call ptr @__errno_location() #12
  %12531 = load i32, ptr %12530, align 4, !tbaa !5
  %12532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12519, ptr noundef @.str.2, i32 noundef %12520, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 367, ptr noundef %12523, ptr noundef %12526, ptr noundef %12529, i32 noundef %12531) #11
  br label %12550

12533:                                            ; preds = %12511, %12504
  %12534 = load i32, ptr %246, align 4, !tbaa !5
  %12535 = call ptr @__errno_location() #12
  store i32 %12534, ptr %12535, align 4, !tbaa !5
  %12536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12537 = load i32, ptr @test_count, align 4, !tbaa !5
  %12538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12539 = load i32, ptr %12538, align 4, !tbaa !5
  %12540 = call ptr @s2n_strerror(i32 noundef %12539, ptr noundef @.str.4)
  %12541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12542 = load i32, ptr %12541, align 4, !tbaa !5
  %12543 = call ptr @s2n_strerror_debug(i32 noundef %12542, ptr noundef @.str.4)
  %12544 = call ptr @__errno_location() #12
  %12545 = load i32, ptr %12544, align 4, !tbaa !5
  %12546 = call ptr @strerror(i32 noundef %12545) #11
  %12547 = call ptr @__errno_location() #12
  %12548 = load i32, ptr %12547, align 4, !tbaa !5
  %12549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12536, ptr noundef @.str.5, i32 noundef %12537, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 367, ptr noundef %12540, ptr noundef %12543, ptr noundef %12546, i32 noundef %12548) #11
  br label %12550

12550:                                            ; preds = %12533, %12516
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #11
  br label %12551

12551:                                            ; preds = %12550
  br label %12552

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

12553:                                            ; No predecessors!
  br label %12554

12554:                                            ; preds = %12553
  br label %12555

12555:                                            ; preds = %12554, %12495
  br label %12556

12556:                                            ; preds = %12555
  br label %12557

12557:                                            ; preds = %12556
  br label %12558

12558:                                            ; preds = %12557
  %12559 = load i32, ptr @test_count, align 4, !tbaa !5
  %12560 = add nsw i32 %12559, 1
  store i32 %12560, ptr @test_count, align 4, !tbaa !5
  %12561 = load ptr, ptr %220, align 8, !tbaa !9
  %12562 = call i32 @s2n_connection_free(ptr noundef %12561)
  %12563 = icmp eq i32 %12562, -1
  br i1 %12563, label %12564, label %12617

12564:                                            ; preds = %12558
  br label %12565

12565:                                            ; preds = %12564
  br label %12566

12566:                                            ; preds = %12565
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #11
  %12567 = call ptr @__errno_location() #12
  %12568 = load i32, ptr %12567, align 4, !tbaa !5
  store i32 %12568, ptr %247, align 4, !tbaa !5
  %12569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12570 = call i32 @s2n_print_stacktrace(ptr noundef %12569)
  %12571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12572 = trunc i8 %12571 to i1
  br i1 %12572, label %12573, label %12595

12573:                                            ; preds = %12566
  %12574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12575 = call i32 @fileno(ptr noundef %12574) #11
  %12576 = call i32 @isatty(i32 noundef %12575) #11
  %12577 = icmp ne i32 %12576, 0
  br i1 %12577, label %12578, label %12595

12578:                                            ; preds = %12573
  %12579 = load i32, ptr %247, align 4, !tbaa !5
  %12580 = call ptr @__errno_location() #12
  store i32 %12579, ptr %12580, align 4, !tbaa !5
  %12581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12582 = load i32, ptr @test_count, align 4, !tbaa !5
  %12583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12584 = load i32, ptr %12583, align 4, !tbaa !5
  %12585 = call ptr @s2n_strerror(i32 noundef %12584, ptr noundef @.str.4)
  %12586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12587 = load i32, ptr %12586, align 4, !tbaa !5
  %12588 = call ptr @s2n_strerror_debug(i32 noundef %12587, ptr noundef @.str.4)
  %12589 = call ptr @__errno_location() #12
  %12590 = load i32, ptr %12589, align 4, !tbaa !5
  %12591 = call ptr @strerror(i32 noundef %12590) #11
  %12592 = call ptr @__errno_location() #12
  %12593 = load i32, ptr %12592, align 4, !tbaa !5
  %12594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12581, ptr noundef @.str.2, i32 noundef %12582, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 368, ptr noundef %12585, ptr noundef %12588, ptr noundef %12591, i32 noundef %12593) #11
  br label %12612

12595:                                            ; preds = %12573, %12566
  %12596 = load i32, ptr %247, align 4, !tbaa !5
  %12597 = call ptr @__errno_location() #12
  store i32 %12596, ptr %12597, align 4, !tbaa !5
  %12598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12599 = load i32, ptr @test_count, align 4, !tbaa !5
  %12600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12601 = load i32, ptr %12600, align 4, !tbaa !5
  %12602 = call ptr @s2n_strerror(i32 noundef %12601, ptr noundef @.str.4)
  %12603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12604 = load i32, ptr %12603, align 4, !tbaa !5
  %12605 = call ptr @s2n_strerror_debug(i32 noundef %12604, ptr noundef @.str.4)
  %12606 = call ptr @__errno_location() #12
  %12607 = load i32, ptr %12606, align 4, !tbaa !5
  %12608 = call ptr @strerror(i32 noundef %12607) #11
  %12609 = call ptr @__errno_location() #12
  %12610 = load i32, ptr %12609, align 4, !tbaa !5
  %12611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12598, ptr noundef @.str.5, i32 noundef %12599, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 368, ptr noundef %12602, ptr noundef %12605, ptr noundef %12608, i32 noundef %12610) #11
  br label %12612

12612:                                            ; preds = %12595, %12578
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #11
  br label %12613

12613:                                            ; preds = %12612
  br label %12614

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

12615:                                            ; No predecessors!
  br label %12616

12616:                                            ; preds = %12615
  br label %12617

12617:                                            ; preds = %12616, %12558
  br label %12618

12618:                                            ; preds = %12617
  br label %12619

12619:                                            ; preds = %12618
  br label %12620

12620:                                            ; preds = %12619
  %12621 = load i32, ptr @test_count, align 4, !tbaa !5
  %12622 = add nsw i32 %12621, 1
  store i32 %12622, ptr @test_count, align 4, !tbaa !5
  %12623 = load ptr, ptr %221, align 8, !tbaa !9
  %12624 = call i32 @s2n_connection_free(ptr noundef %12623)
  %12625 = icmp eq i32 %12624, -1
  br i1 %12625, label %12626, label %12679

12626:                                            ; preds = %12620
  br label %12627

12627:                                            ; preds = %12626
  br label %12628

12628:                                            ; preds = %12627
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #11
  %12629 = call ptr @__errno_location() #12
  %12630 = load i32, ptr %12629, align 4, !tbaa !5
  store i32 %12630, ptr %248, align 4, !tbaa !5
  %12631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12632 = call i32 @s2n_print_stacktrace(ptr noundef %12631)
  %12633 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12634 = trunc i8 %12633 to i1
  br i1 %12634, label %12635, label %12657

12635:                                            ; preds = %12628
  %12636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12637 = call i32 @fileno(ptr noundef %12636) #11
  %12638 = call i32 @isatty(i32 noundef %12637) #11
  %12639 = icmp ne i32 %12638, 0
  br i1 %12639, label %12640, label %12657

12640:                                            ; preds = %12635
  %12641 = load i32, ptr %248, align 4, !tbaa !5
  %12642 = call ptr @__errno_location() #12
  store i32 %12641, ptr %12642, align 4, !tbaa !5
  %12643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12644 = load i32, ptr @test_count, align 4, !tbaa !5
  %12645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12646 = load i32, ptr %12645, align 4, !tbaa !5
  %12647 = call ptr @s2n_strerror(i32 noundef %12646, ptr noundef @.str.4)
  %12648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12649 = load i32, ptr %12648, align 4, !tbaa !5
  %12650 = call ptr @s2n_strerror_debug(i32 noundef %12649, ptr noundef @.str.4)
  %12651 = call ptr @__errno_location() #12
  %12652 = load i32, ptr %12651, align 4, !tbaa !5
  %12653 = call ptr @strerror(i32 noundef %12652) #11
  %12654 = call ptr @__errno_location() #12
  %12655 = load i32, ptr %12654, align 4, !tbaa !5
  %12656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12643, ptr noundef @.str.2, i32 noundef %12644, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 369, ptr noundef %12647, ptr noundef %12650, ptr noundef %12653, i32 noundef %12655) #11
  br label %12674

12657:                                            ; preds = %12635, %12628
  %12658 = load i32, ptr %248, align 4, !tbaa !5
  %12659 = call ptr @__errno_location() #12
  store i32 %12658, ptr %12659, align 4, !tbaa !5
  %12660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12661 = load i32, ptr @test_count, align 4, !tbaa !5
  %12662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12663 = load i32, ptr %12662, align 4, !tbaa !5
  %12664 = call ptr @s2n_strerror(i32 noundef %12663, ptr noundef @.str.4)
  %12665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12666 = load i32, ptr %12665, align 4, !tbaa !5
  %12667 = call ptr @s2n_strerror_debug(i32 noundef %12666, ptr noundef @.str.4)
  %12668 = call ptr @__errno_location() #12
  %12669 = load i32, ptr %12668, align 4, !tbaa !5
  %12670 = call ptr @strerror(i32 noundef %12669) #11
  %12671 = call ptr @__errno_location() #12
  %12672 = load i32, ptr %12671, align 4, !tbaa !5
  %12673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12660, ptr noundef @.str.5, i32 noundef %12661, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 369, ptr noundef %12664, ptr noundef %12667, ptr noundef %12670, i32 noundef %12672) #11
  br label %12674

12674:                                            ; preds = %12657, %12640
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #11
  br label %12675

12675:                                            ; preds = %12674
  br label %12676

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

12677:                                            ; No predecessors!
  br label %12678

12678:                                            ; preds = %12677
  br label %12679

12679:                                            ; preds = %12678, %12620
  br label %12680

12680:                                            ; preds = %12679
  br label %12681

12681:                                            ; preds = %12680
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #11
  %12682 = call i32 @s2n_io_pair_close(ptr noundef %222)
  call void @llvm.lifetime.end.p0(i64 8, ptr %222) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %221) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %220) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %249) #11
  store ptr null, ptr %249, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %250) #11
  store ptr null, ptr %250, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %251) #11
  call void @llvm.memset.p0.i64(ptr align 4 %251, i8 0, i64 8, i1 false)
  br label %12683

12683:                                            ; preds = %12681
  %12684 = load i32, ptr @test_count, align 4, !tbaa !5
  %12685 = add nsw i32 %12684, 1
  store i32 %12685, ptr @test_count, align 4, !tbaa !5
  %12686 = call i32 @s2n_test_client_and_server_new(ptr noundef %249, ptr noundef %250, ptr noundef %251)
  %12687 = getelementptr inbounds %struct.s2n_result, ptr %252, i32 0, i32 0
  store i32 %12686, ptr %12687, align 4
  %12688 = getelementptr inbounds %struct.s2n_result, ptr %252, i32 0, i32 0
  %12689 = load i32, ptr %12688, align 4
  %12690 = call zeroext i1 @s2n_result_is_ok(i32 %12689)
  br i1 %12690, label %12744, label %12691

12691:                                            ; preds = %12683
  br label %12692

12692:                                            ; preds = %12691
  br label %12693

12693:                                            ; preds = %12692
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #11
  %12694 = call ptr @__errno_location() #12
  %12695 = load i32, ptr %12694, align 4, !tbaa !5
  store i32 %12695, ptr %253, align 4, !tbaa !5
  %12696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12697 = call i32 @s2n_print_stacktrace(ptr noundef %12696)
  %12698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12699 = trunc i8 %12698 to i1
  br i1 %12699, label %12700, label %12722

12700:                                            ; preds = %12693
  %12701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12702 = call i32 @fileno(ptr noundef %12701) #11
  %12703 = call i32 @isatty(i32 noundef %12702) #11
  %12704 = icmp ne i32 %12703, 0
  br i1 %12704, label %12705, label %12722

12705:                                            ; preds = %12700
  %12706 = load i32, ptr %253, align 4, !tbaa !5
  %12707 = call ptr @__errno_location() #12
  store i32 %12706, ptr %12707, align 4, !tbaa !5
  %12708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12709 = load i32, ptr @test_count, align 4, !tbaa !5
  %12710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12711 = load i32, ptr %12710, align 4, !tbaa !5
  %12712 = call ptr @s2n_strerror(i32 noundef %12711, ptr noundef @.str.4)
  %12713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12714 = load i32, ptr %12713, align 4, !tbaa !5
  %12715 = call ptr @s2n_strerror_debug(i32 noundef %12714, ptr noundef @.str.4)
  %12716 = call ptr @__errno_location() #12
  %12717 = load i32, ptr %12716, align 4, !tbaa !5
  %12718 = call ptr @strerror(i32 noundef %12717) #11
  %12719 = call ptr @__errno_location() #12
  %12720 = load i32, ptr %12719, align 4, !tbaa !5
  %12721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12708, ptr noundef @.str.2, i32 noundef %12709, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 376, ptr noundef %12712, ptr noundef %12715, ptr noundef %12718, i32 noundef %12720) #11
  br label %12739

12722:                                            ; preds = %12700, %12693
  %12723 = load i32, ptr %253, 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.5, i32 noundef %12726, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 376, ptr noundef %12729, ptr noundef %12732, ptr noundef %12735, i32 noundef %12737) #11
  br label %12739

12739:                                            ; preds = %12722, %12705
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #11
  br label %12740

12740:                                            ; preds = %12739
  br label %12741

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

12742:                                            ; No predecessors!
  br label %12743

12743:                                            ; preds = %12742
  br label %12744

12744:                                            ; preds = %12743, %12683
  br label %12745

12745:                                            ; preds = %12744
  br label %12746

12746:                                            ; preds = %12745
  br label %12747

12747:                                            ; preds = %12746
  %12748 = load i32, ptr @test_count, align 4, !tbaa !5
  %12749 = add nsw i32 %12748, 1
  store i32 %12749, ptr @test_count, align 4, !tbaa !5
  %12750 = load ptr, ptr %249, align 8, !tbaa !9
  %12751 = load ptr, ptr %12, align 8, !tbaa !9
  %12752 = call i32 @s2n_connection_append_psk(ptr noundef %12750, ptr noundef %12751)
  %12753 = icmp eq i32 %12752, -1
  br i1 %12753, label %12754, label %12807

12754:                                            ; preds = %12747
  br label %12755

12755:                                            ; preds = %12754
  br label %12756

12756:                                            ; preds = %12755
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #11
  %12757 = call ptr @__errno_location() #12
  %12758 = load i32, ptr %12757, align 4, !tbaa !5
  store i32 %12758, ptr %254, align 4, !tbaa !5
  %12759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12760 = call i32 @s2n_print_stacktrace(ptr noundef %12759)
  %12761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12762 = trunc i8 %12761 to i1
  br i1 %12762, label %12763, label %12785

12763:                                            ; preds = %12756
  %12764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12765 = call i32 @fileno(ptr noundef %12764) #11
  %12766 = call i32 @isatty(i32 noundef %12765) #11
  %12767 = icmp ne i32 %12766, 0
  br i1 %12767, label %12768, label %12785

12768:                                            ; preds = %12763
  %12769 = load i32, ptr %254, align 4, !tbaa !5
  %12770 = call ptr @__errno_location() #12
  store i32 %12769, ptr %12770, align 4, !tbaa !5
  %12771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12772 = load i32, ptr @test_count, align 4, !tbaa !5
  %12773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12774 = load i32, ptr %12773, align 4, !tbaa !5
  %12775 = call ptr @s2n_strerror(i32 noundef %12774, ptr noundef @.str.4)
  %12776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12777 = load i32, ptr %12776, align 4, !tbaa !5
  %12778 = call ptr @s2n_strerror_debug(i32 noundef %12777, ptr noundef @.str.4)
  %12779 = call ptr @__errno_location() #12
  %12780 = load i32, ptr %12779, align 4, !tbaa !5
  %12781 = call ptr @strerror(i32 noundef %12780) #11
  %12782 = call ptr @__errno_location() #12
  %12783 = load i32, ptr %12782, align 4, !tbaa !5
  %12784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12771, ptr noundef @.str.2, i32 noundef %12772, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 378, ptr noundef %12775, ptr noundef %12778, ptr noundef %12781, i32 noundef %12783) #11
  br label %12802

12785:                                            ; preds = %12763, %12756
  %12786 = load i32, ptr %254, align 4, !tbaa !5
  %12787 = call ptr @__errno_location() #12
  store i32 %12786, ptr %12787, align 4, !tbaa !5
  %12788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12789 = load i32, ptr @test_count, align 4, !tbaa !5
  %12790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12791 = load i32, ptr %12790, align 4, !tbaa !5
  %12792 = call ptr @s2n_strerror(i32 noundef %12791, ptr noundef @.str.4)
  %12793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12794 = load i32, ptr %12793, align 4, !tbaa !5
  %12795 = call ptr @s2n_strerror_debug(i32 noundef %12794, ptr noundef @.str.4)
  %12796 = call ptr @__errno_location() #12
  %12797 = load i32, ptr %12796, align 4, !tbaa !5
  %12798 = call ptr @strerror(i32 noundef %12797) #11
  %12799 = call ptr @__errno_location() #12
  %12800 = load i32, ptr %12799, align 4, !tbaa !5
  %12801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12788, ptr noundef @.str.5, i32 noundef %12789, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 378, ptr noundef %12792, ptr noundef %12795, ptr noundef %12798, i32 noundef %12800) #11
  br label %12802

12802:                                            ; preds = %12785, %12768
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #11
  br label %12803

12803:                                            ; preds = %12802
  br label %12804

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

12805:                                            ; No predecessors!
  br label %12806

12806:                                            ; preds = %12805
  br label %12807

12807:                                            ; preds = %12806, %12747
  br label %12808

12808:                                            ; preds = %12807
  br label %12809

12809:                                            ; preds = %12808
  br label %12810

12810:                                            ; preds = %12809
  %12811 = load i32, ptr @test_count, align 4, !tbaa !5
  %12812 = add nsw i32 %12811, 1
  store i32 %12812, ptr @test_count, align 4, !tbaa !5
  %12813 = load ptr, ptr %250, align 8, !tbaa !9
  %12814 = load ptr, ptr %19, align 8, !tbaa !9
  %12815 = call i32 @s2n_connection_append_psk(ptr noundef %12813, ptr noundef %12814)
  %12816 = icmp eq i32 %12815, -1
  br i1 %12816, label %12817, label %12870

12817:                                            ; preds = %12810
  br label %12818

12818:                                            ; preds = %12817
  br label %12819

12819:                                            ; preds = %12818
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #11
  %12820 = call ptr @__errno_location() #12
  %12821 = load i32, ptr %12820, align 4, !tbaa !5
  store i32 %12821, ptr %255, align 4, !tbaa !5
  %12822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12823 = call i32 @s2n_print_stacktrace(ptr noundef %12822)
  %12824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12825 = trunc i8 %12824 to i1
  br i1 %12825, label %12826, label %12848

12826:                                            ; preds = %12819
  %12827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12828 = call i32 @fileno(ptr noundef %12827) #11
  %12829 = call i32 @isatty(i32 noundef %12828) #11
  %12830 = icmp ne i32 %12829, 0
  br i1 %12830, label %12831, label %12848

12831:                                            ; preds = %12826
  %12832 = load i32, ptr %255, align 4, !tbaa !5
  %12833 = call ptr @__errno_location() #12
  store i32 %12832, ptr %12833, align 4, !tbaa !5
  %12834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12835 = load i32, ptr @test_count, align 4, !tbaa !5
  %12836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12837 = load i32, ptr %12836, align 4, !tbaa !5
  %12838 = call ptr @s2n_strerror(i32 noundef %12837, ptr noundef @.str.4)
  %12839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12840 = load i32, ptr %12839, align 4, !tbaa !5
  %12841 = call ptr @s2n_strerror_debug(i32 noundef %12840, ptr noundef @.str.4)
  %12842 = call ptr @__errno_location() #12
  %12843 = load i32, ptr %12842, align 4, !tbaa !5
  %12844 = call ptr @strerror(i32 noundef %12843) #11
  %12845 = call ptr @__errno_location() #12
  %12846 = load i32, ptr %12845, align 4, !tbaa !5
  %12847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12834, ptr noundef @.str.2, i32 noundef %12835, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 379, ptr noundef %12838, ptr noundef %12841, ptr noundef %12844, i32 noundef %12846) #11
  br label %12865

12848:                                            ; preds = %12826, %12819
  %12849 = load i32, ptr %255, align 4, !tbaa !5
  %12850 = call ptr @__errno_location() #12
  store i32 %12849, ptr %12850, align 4, !tbaa !5
  %12851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12852 = load i32, ptr @test_count, align 4, !tbaa !5
  %12853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12854 = load i32, ptr %12853, align 4, !tbaa !5
  %12855 = call ptr @s2n_strerror(i32 noundef %12854, ptr noundef @.str.4)
  %12856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12857 = load i32, ptr %12856, align 4, !tbaa !5
  %12858 = call ptr @s2n_strerror_debug(i32 noundef %12857, ptr noundef @.str.4)
  %12859 = call ptr @__errno_location() #12
  %12860 = load i32, ptr %12859, align 4, !tbaa !5
  %12861 = call ptr @strerror(i32 noundef %12860) #11
  %12862 = call ptr @__errno_location() #12
  %12863 = load i32, ptr %12862, align 4, !tbaa !5
  %12864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12851, ptr noundef @.str.5, i32 noundef %12852, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 379, ptr noundef %12855, ptr noundef %12858, ptr noundef %12861, i32 noundef %12863) #11
  br label %12865

12865:                                            ; preds = %12848, %12831
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #11
  br label %12866

12866:                                            ; preds = %12865
  br label %12867

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

12868:                                            ; No predecessors!
  br label %12869

12869:                                            ; preds = %12868
  br label %12870

12870:                                            ; preds = %12869, %12810
  br label %12871

12871:                                            ; preds = %12870
  br label %12872

12872:                                            ; preds = %12871
  br label %12873

12873:                                            ; preds = %12872
  %12874 = load i32, ptr @test_count, align 4, !tbaa !5
  %12875 = add nsw i32 %12874, 1
  store i32 %12875, ptr @test_count, align 4, !tbaa !5
  %12876 = load ptr, ptr %249, align 8, !tbaa !9
  %12877 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %12876)
  %12878 = icmp eq i32 %12877, -1
  br i1 %12878, label %12879, label %12932

12879:                                            ; preds = %12873
  br label %12880

12880:                                            ; preds = %12879
  br label %12881

12881:                                            ; preds = %12880
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #11
  %12882 = call ptr @__errno_location() #12
  %12883 = load i32, ptr %12882, align 4, !tbaa !5
  store i32 %12883, ptr %256, align 4, !tbaa !5
  %12884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12885 = call i32 @s2n_print_stacktrace(ptr noundef %12884)
  %12886 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12887 = trunc i8 %12886 to i1
  br i1 %12887, label %12888, label %12910

12888:                                            ; preds = %12881
  %12889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12890 = call i32 @fileno(ptr noundef %12889) #11
  %12891 = call i32 @isatty(i32 noundef %12890) #11
  %12892 = icmp ne i32 %12891, 0
  br i1 %12892, label %12893, label %12910

12893:                                            ; preds = %12888
  %12894 = load i32, ptr %256, align 4, !tbaa !5
  %12895 = call ptr @__errno_location() #12
  store i32 %12894, ptr %12895, align 4, !tbaa !5
  %12896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12897 = load i32, ptr @test_count, align 4, !tbaa !5
  %12898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12899 = load i32, ptr %12898, align 4, !tbaa !5
  %12900 = call ptr @s2n_strerror(i32 noundef %12899, ptr noundef @.str.4)
  %12901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12902 = load i32, ptr %12901, align 4, !tbaa !5
  %12903 = call ptr @s2n_strerror_debug(i32 noundef %12902, ptr noundef @.str.4)
  %12904 = call ptr @__errno_location() #12
  %12905 = load i32, ptr %12904, align 4, !tbaa !5
  %12906 = call ptr @strerror(i32 noundef %12905) #11
  %12907 = call ptr @__errno_location() #12
  %12908 = load i32, ptr %12907, align 4, !tbaa !5
  %12909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12896, ptr noundef @.str.2, i32 noundef %12897, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 380, ptr noundef %12900, ptr noundef %12903, ptr noundef %12906, i32 noundef %12908) #11
  br label %12927

12910:                                            ; preds = %12888, %12881
  %12911 = load i32, ptr %256, align 4, !tbaa !5
  %12912 = call ptr @__errno_location() #12
  store i32 %12911, ptr %12912, align 4, !tbaa !5
  %12913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12914 = load i32, ptr @test_count, align 4, !tbaa !5
  %12915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12916 = load i32, ptr %12915, align 4, !tbaa !5
  %12917 = call ptr @s2n_strerror(i32 noundef %12916, ptr noundef @.str.4)
  %12918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12919 = load i32, ptr %12918, align 4, !tbaa !5
  %12920 = call ptr @s2n_strerror_debug(i32 noundef %12919, ptr noundef @.str.4)
  %12921 = call ptr @__errno_location() #12
  %12922 = load i32, ptr %12921, align 4, !tbaa !5
  %12923 = call ptr @strerror(i32 noundef %12922) #11
  %12924 = call ptr @__errno_location() #12
  %12925 = load i32, ptr %12924, align 4, !tbaa !5
  %12926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12913, ptr noundef @.str.5, i32 noundef %12914, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 380, ptr noundef %12917, ptr noundef %12920, ptr noundef %12923, i32 noundef %12925) #11
  br label %12927

12927:                                            ; preds = %12910, %12893
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #11
  br label %12928

12928:                                            ; preds = %12927
  br label %12929

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

12930:                                            ; No predecessors!
  br label %12931

12931:                                            ; preds = %12930
  br label %12932

12932:                                            ; preds = %12931, %12873
  br label %12933

12933:                                            ; preds = %12932
  br label %12934

12934:                                            ; preds = %12933
  br label %12935

12935:                                            ; preds = %12934
  %12936 = load i32, ptr @test_count, align 4, !tbaa !5
  %12937 = add nsw i32 %12936, 1
  store i32 %12937, ptr @test_count, align 4, !tbaa !5
  %12938 = load ptr, ptr %250, align 8, !tbaa !9
  %12939 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %12938)
  %12940 = icmp eq i32 %12939, -1
  br i1 %12940, label %12941, label %12994

12941:                                            ; preds = %12935
  br label %12942

12942:                                            ; preds = %12941
  br label %12943

12943:                                            ; preds = %12942
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #11
  %12944 = call ptr @__errno_location() #12
  %12945 = load i32, ptr %12944, align 4, !tbaa !5
  store i32 %12945, ptr %257, align 4, !tbaa !5
  %12946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12947 = call i32 @s2n_print_stacktrace(ptr noundef %12946)
  %12948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12949 = trunc i8 %12948 to i1
  br i1 %12949, label %12950, label %12972

12950:                                            ; preds = %12943
  %12951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12952 = call i32 @fileno(ptr noundef %12951) #11
  %12953 = call i32 @isatty(i32 noundef %12952) #11
  %12954 = icmp ne i32 %12953, 0
  br i1 %12954, label %12955, label %12972

12955:                                            ; preds = %12950
  %12956 = load i32, ptr %257, align 4, !tbaa !5
  %12957 = call ptr @__errno_location() #12
  store i32 %12956, ptr %12957, align 4, !tbaa !5
  %12958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12959 = load i32, ptr @test_count, align 4, !tbaa !5
  %12960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12961 = load i32, ptr %12960, align 4, !tbaa !5
  %12962 = call ptr @s2n_strerror(i32 noundef %12961, ptr noundef @.str.4)
  %12963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12964 = load i32, ptr %12963, align 4, !tbaa !5
  %12965 = call ptr @s2n_strerror_debug(i32 noundef %12964, ptr noundef @.str.4)
  %12966 = call ptr @__errno_location() #12
  %12967 = load i32, ptr %12966, align 4, !tbaa !5
  %12968 = call ptr @strerror(i32 noundef %12967) #11
  %12969 = call ptr @__errno_location() #12
  %12970 = load i32, ptr %12969, align 4, !tbaa !5
  %12971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12958, ptr noundef @.str.2, i32 noundef %12959, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 381, ptr noundef %12962, ptr noundef %12965, ptr noundef %12968, i32 noundef %12970) #11
  br label %12989

12972:                                            ; preds = %12950, %12943
  %12973 = load i32, ptr %257, align 4, !tbaa !5
  %12974 = call ptr @__errno_location() #12
  store i32 %12973, ptr %12974, align 4, !tbaa !5
  %12975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12976 = load i32, ptr @test_count, align 4, !tbaa !5
  %12977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12978 = load i32, ptr %12977, align 4, !tbaa !5
  %12979 = call ptr @s2n_strerror(i32 noundef %12978, ptr noundef @.str.4)
  %12980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12981 = load i32, ptr %12980, align 4, !tbaa !5
  %12982 = call ptr @s2n_strerror_debug(i32 noundef %12981, ptr noundef @.str.4)
  %12983 = call ptr @__errno_location() #12
  %12984 = load i32, ptr %12983, align 4, !tbaa !5
  %12985 = call ptr @strerror(i32 noundef %12984) #11
  %12986 = call ptr @__errno_location() #12
  %12987 = load i32, ptr %12986, align 4, !tbaa !5
  %12988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12975, ptr noundef @.str.5, i32 noundef %12976, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 381, ptr noundef %12979, ptr noundef %12982, ptr noundef %12985, i32 noundef %12987) #11
  br label %12989

12989:                                            ; preds = %12972, %12955
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #11
  br label %12990

12990:                                            ; preds = %12989
  br label %12991

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

12992:                                            ; No predecessors!
  br label %12993

12993:                                            ; preds = %12992
  br label %12994

12994:                                            ; preds = %12993, %12935
  br label %12995

12995:                                            ; preds = %12994
  br label %12996

12996:                                            ; preds = %12995
  br label %12997

12997:                                            ; preds = %12996
  %12998 = load i32, ptr @test_count, align 4, !tbaa !5
  %12999 = add nsw i32 %12998, 1
  store i32 %12999, ptr @test_count, align 4, !tbaa !5
  %13000 = load ptr, ptr %250, align 8, !tbaa !9
  %13001 = load ptr, ptr %249, align 8, !tbaa !9
  %13002 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %13000, ptr noundef %13001, i32 noundef 1)
  %13003 = getelementptr inbounds %struct.s2n_result, ptr %258, i32 0, i32 0
  store i32 %13002, ptr %13003, align 4
  %13004 = getelementptr inbounds %struct.s2n_result, ptr %258, i32 0, i32 0
  %13005 = load i32, ptr %13004, align 4
  %13006 = call zeroext i1 @s2n_result_is_ok(i32 %13005)
  br i1 %13006, label %13060, label %13007

13007:                                            ; preds = %12997
  br label %13008

13008:                                            ; preds = %13007
  br label %13009

13009:                                            ; preds = %13008
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #11
  %13010 = call ptr @__errno_location() #12
  %13011 = load i32, ptr %13010, align 4, !tbaa !5
  store i32 %13011, ptr %259, align 4, !tbaa !5
  %13012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13013 = call i32 @s2n_print_stacktrace(ptr noundef %13012)
  %13014 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13015 = trunc i8 %13014 to i1
  br i1 %13015, label %13016, label %13038

13016:                                            ; preds = %13009
  %13017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13018 = call i32 @fileno(ptr noundef %13017) #11
  %13019 = call i32 @isatty(i32 noundef %13018) #11
  %13020 = icmp ne i32 %13019, 0
  br i1 %13020, label %13021, label %13038

13021:                                            ; preds = %13016
  %13022 = load i32, ptr %259, align 4, !tbaa !5
  %13023 = call ptr @__errno_location() #12
  store i32 %13022, ptr %13023, align 4, !tbaa !5
  %13024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13025 = load i32, ptr @test_count, align 4, !tbaa !5
  %13026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13027 = load i32, ptr %13026, align 4, !tbaa !5
  %13028 = call ptr @s2n_strerror(i32 noundef %13027, ptr noundef @.str.4)
  %13029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13030 = load i32, ptr %13029, align 4, !tbaa !5
  %13031 = call ptr @s2n_strerror_debug(i32 noundef %13030, ptr noundef @.str.4)
  %13032 = call ptr @__errno_location() #12
  %13033 = load i32, ptr %13032, align 4, !tbaa !5
  %13034 = call ptr @strerror(i32 noundef %13033) #11
  %13035 = call ptr @__errno_location() #12
  %13036 = load i32, ptr %13035, align 4, !tbaa !5
  %13037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13024, ptr noundef @.str.2, i32 noundef %13025, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 384, ptr noundef %13028, ptr noundef %13031, ptr noundef %13034, i32 noundef %13036) #11
  br label %13055

13038:                                            ; preds = %13016, %13009
  %13039 = load i32, ptr %259, align 4, !tbaa !5
  %13040 = call ptr @__errno_location() #12
  store i32 %13039, ptr %13040, align 4, !tbaa !5
  %13041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13042 = load i32, ptr @test_count, align 4, !tbaa !5
  %13043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13044 = load i32, ptr %13043, align 4, !tbaa !5
  %13045 = call ptr @s2n_strerror(i32 noundef %13044, ptr noundef @.str.4)
  %13046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13047 = load i32, ptr %13046, align 4, !tbaa !5
  %13048 = call ptr @s2n_strerror_debug(i32 noundef %13047, ptr noundef @.str.4)
  %13049 = call ptr @__errno_location() #12
  %13050 = load i32, ptr %13049, align 4, !tbaa !5
  %13051 = call ptr @strerror(i32 noundef %13050) #11
  %13052 = call ptr @__errno_location() #12
  %13053 = load i32, ptr %13052, align 4, !tbaa !5
  %13054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13041, ptr noundef @.str.5, i32 noundef %13042, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 384, ptr noundef %13045, ptr noundef %13048, ptr noundef %13051, i32 noundef %13053) #11
  br label %13055

13055:                                            ; preds = %13038, %13021
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #11
  br label %13056

13056:                                            ; preds = %13055
  br label %13057

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

13058:                                            ; No predecessors!
  br label %13059

13059:                                            ; preds = %13058
  br label %13060

13060:                                            ; preds = %13059, %12997
  br label %13061

13061:                                            ; preds = %13060
  br label %13062

13062:                                            ; preds = %13061
  br label %13063

13063:                                            ; preds = %13062
  %13064 = load i32, ptr @test_count, align 4, !tbaa !5
  %13065 = add nsw i32 %13064, 1
  store i32 %13065, ptr @test_count, align 4, !tbaa !5
  %13066 = load ptr, ptr %249, align 8, !tbaa !9
  %13067 = getelementptr inbounds %struct.s2n_connection, ptr %13066, i32 0, i32 89
  %13068 = load i32, ptr %13067, align 8, !tbaa !19
  %13069 = icmp eq i32 %13068, 1
  br i1 %13069, label %13123, label %13070

13070:                                            ; preds = %13063
  br label %13071

13071:                                            ; preds = %13070
  br label %13072

13072:                                            ; preds = %13071
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #11
  %13073 = call ptr @__errno_location() #12
  %13074 = load i32, ptr %13073, align 4, !tbaa !5
  store i32 %13074, ptr %260, align 4, !tbaa !5
  %13075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13076 = call i32 @s2n_print_stacktrace(ptr noundef %13075)
  %13077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13078 = trunc i8 %13077 to i1
  br i1 %13078, label %13079, label %13101

13079:                                            ; preds = %13072
  %13080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13081 = call i32 @fileno(ptr noundef %13080) #11
  %13082 = call i32 @isatty(i32 noundef %13081) #11
  %13083 = icmp ne i32 %13082, 0
  br i1 %13083, label %13084, label %13101

13084:                                            ; preds = %13079
  %13085 = load i32, ptr %260, align 4, !tbaa !5
  %13086 = call ptr @__errno_location() #12
  store i32 %13085, ptr %13086, align 4, !tbaa !5
  %13087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13088 = load i32, ptr @test_count, align 4, !tbaa !5
  %13089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13090 = load i32, ptr %13089, align 4, !tbaa !5
  %13091 = call ptr @s2n_strerror(i32 noundef %13090, ptr noundef @.str.4)
  %13092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13093 = load i32, ptr %13092, align 4, !tbaa !5
  %13094 = call ptr @s2n_strerror_debug(i32 noundef %13093, ptr noundef @.str.4)
  %13095 = call ptr @__errno_location() #12
  %13096 = load i32, ptr %13095, align 4, !tbaa !5
  %13097 = call ptr @strerror(i32 noundef %13096) #11
  %13098 = call ptr @__errno_location() #12
  %13099 = load i32, ptr %13098, align 4, !tbaa !5
  %13100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13087, ptr noundef @.str.2, i32 noundef %13088, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 385, ptr noundef %13091, ptr noundef %13094, ptr noundef %13097, i32 noundef %13099) #11
  br label %13118

13101:                                            ; preds = %13079, %13072
  %13102 = load i32, ptr %260, align 4, !tbaa !5
  %13103 = call ptr @__errno_location() #12
  store i32 %13102, ptr %13103, align 4, !tbaa !5
  %13104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13105 = load i32, ptr @test_count, align 4, !tbaa !5
  %13106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13107 = load i32, ptr %13106, align 4, !tbaa !5
  %13108 = call ptr @s2n_strerror(i32 noundef %13107, ptr noundef @.str.4)
  %13109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13110 = load i32, ptr %13109, align 4, !tbaa !5
  %13111 = call ptr @s2n_strerror_debug(i32 noundef %13110, ptr noundef @.str.4)
  %13112 = call ptr @__errno_location() #12
  %13113 = load i32, ptr %13112, align 4, !tbaa !5
  %13114 = call ptr @strerror(i32 noundef %13113) #11
  %13115 = call ptr @__errno_location() #12
  %13116 = load i32, ptr %13115, align 4, !tbaa !5
  %13117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13104, ptr noundef @.str.5, i32 noundef %13105, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 385, ptr noundef %13108, ptr noundef %13111, ptr noundef %13114, i32 noundef %13116) #11
  br label %13118

13118:                                            ; preds = %13101, %13084
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #11
  br label %13119

13119:                                            ; preds = %13118
  br label %13120

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

13121:                                            ; No predecessors!
  br label %13122

13122:                                            ; preds = %13121
  br label %13123

13123:                                            ; preds = %13122, %13063
  br label %13124

13124:                                            ; preds = %13123
  br label %13125

13125:                                            ; preds = %13124
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #11
  store i32 0, ptr %261, align 4, !tbaa !5
  br label %13126

13126:                                            ; preds = %13125
  %13127 = load i32, ptr @test_count, align 4, !tbaa !5
  %13128 = add nsw i32 %13127, 1
  store i32 %13128, ptr @test_count, align 4, !tbaa !5
  br label %13129

13129:                                            ; preds = %13126
  br label %13130

13130:                                            ; preds = %13129
  call void @llvm.lifetime.start.p0(i64 8, ptr %262) #11
  store i64 0, ptr %262, align 8, !tbaa !15
  br label %13131

13131:                                            ; preds = %13199, %13130
  %13132 = load i64, ptr %262, align 8, !tbaa !15
  %13133 = icmp ult i64 %13132, 83
  br i1 %13133, label %13135, label %13134

13134:                                            ; preds = %13131
  call void @llvm.lifetime.end.p0(i64 8, ptr %262) #11
  br label %13202

13135:                                            ; preds = %13131
  br label %13136

13136:                                            ; preds = %13135
  %13137 = load i32, ptr @test_count, align 4, !tbaa !5
  %13138 = add nsw i32 %13137, 1
  store i32 %13138, ptr @test_count, align 4, !tbaa !5
  %13139 = load ptr, ptr %249, align 8, !tbaa !9
  %13140 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %13141 = call i64 @s2n_send(ptr noundef %13139, ptr noundef %13140, i64 noundef 12, ptr noundef %261)
  %13142 = icmp eq i64 %13141, 12
  br i1 %13142, label %13196, label %13143

13143:                                            ; preds = %13136
  br label %13144

13144:                                            ; preds = %13143
  br label %13145

13145:                                            ; preds = %13144
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #11
  %13146 = call ptr @__errno_location() #12
  %13147 = load i32, ptr %13146, align 4, !tbaa !5
  store i32 %13147, ptr %263, align 4, !tbaa !5
  %13148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13149 = call i32 @s2n_print_stacktrace(ptr noundef %13148)
  %13150 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13151 = trunc i8 %13150 to i1
  br i1 %13151, label %13152, label %13174

13152:                                            ; preds = %13145
  %13153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13154 = call i32 @fileno(ptr noundef %13153) #11
  %13155 = call i32 @isatty(i32 noundef %13154) #11
  %13156 = icmp ne i32 %13155, 0
  br i1 %13156, label %13157, label %13174

13157:                                            ; preds = %13152
  %13158 = load i32, ptr %263, align 4, !tbaa !5
  %13159 = call ptr @__errno_location() #12
  store i32 %13158, ptr %13159, align 4, !tbaa !5
  %13160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13161 = load i32, ptr @test_count, align 4, !tbaa !5
  %13162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13163 = load i32, ptr %13162, align 4, !tbaa !5
  %13164 = call ptr @s2n_strerror(i32 noundef %13163, ptr noundef @.str.4)
  %13165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13166 = load i32, ptr %13165, align 4, !tbaa !5
  %13167 = call ptr @s2n_strerror_debug(i32 noundef %13166, ptr noundef @.str.4)
  %13168 = call ptr @__errno_location() #12
  %13169 = load i32, ptr %13168, align 4, !tbaa !5
  %13170 = call ptr @strerror(i32 noundef %13169) #11
  %13171 = call ptr @__errno_location() #12
  %13172 = load i32, ptr %13171, align 4, !tbaa !5
  %13173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13160, ptr noundef @.str.2, i32 noundef %13161, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 390, ptr noundef %13164, ptr noundef %13167, ptr noundef %13170, i32 noundef %13172) #11
  br label %13191

13174:                                            ; preds = %13152, %13145
  %13175 = load i32, ptr %263, align 4, !tbaa !5
  %13176 = call ptr @__errno_location() #12
  store i32 %13175, ptr %13176, align 4, !tbaa !5
  %13177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13178 = load i32, ptr @test_count, align 4, !tbaa !5
  %13179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13180 = load i32, ptr %13179, align 4, !tbaa !5
  %13181 = call ptr @s2n_strerror(i32 noundef %13180, ptr noundef @.str.4)
  %13182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13183 = load i32, ptr %13182, align 4, !tbaa !5
  %13184 = call ptr @s2n_strerror_debug(i32 noundef %13183, ptr noundef @.str.4)
  %13185 = call ptr @__errno_location() #12
  %13186 = load i32, ptr %13185, align 4, !tbaa !5
  %13187 = call ptr @strerror(i32 noundef %13186) #11
  %13188 = call ptr @__errno_location() #12
  %13189 = load i32, ptr %13188, align 4, !tbaa !5
  %13190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13177, ptr noundef @.str.5, i32 noundef %13178, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 390, ptr noundef %13181, ptr noundef %13184, ptr noundef %13187, i32 noundef %13189) #11
  br label %13191

13191:                                            ; preds = %13174, %13157
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #11
  br label %13192

13192:                                            ; preds = %13191
  br label %13193

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

13194:                                            ; No predecessors!
  br label %13195

13195:                                            ; preds = %13194
  br label %13196

13196:                                            ; preds = %13195, %13136
  br label %13197

13197:                                            ; preds = %13196
  br label %13198

13198:                                            ; preds = %13197
  br label %13199

13199:                                            ; preds = %13198
  %13200 = load i64, ptr %262, align 8, !tbaa !15
  %13201 = add i64 %13200, 1
  store i64 %13201, ptr %262, align 8, !tbaa !15
  br label %13131, !llvm.loop !45

13202:                                            ; preds = %13134
  %13203 = load ptr, ptr %249, align 8, !tbaa !9
  %13204 = getelementptr inbounds %struct.s2n_connection, ptr %13203, i32 0, i32 60
  store i64 0, ptr %13204, align 8, !tbaa !46
  br label %13205

13205:                                            ; preds = %13202
  %13206 = load i32, ptr @test_count, align 4, !tbaa !5
  %13207 = add nsw i32 %13206, 1
  store i32 %13207, ptr @test_count, align 4, !tbaa !5
  %13208 = load ptr, ptr %249, align 8, !tbaa !9
  %13209 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %13210 = call i64 @s2n_send(ptr noundef %13208, ptr noundef %13209, i64 noundef 12, ptr noundef %261)
  %13211 = icmp eq i64 %13210, 12
  br i1 %13211, label %13265, label %13212

13212:                                            ; preds = %13205
  br label %13213

13213:                                            ; preds = %13212
  br label %13214

13214:                                            ; preds = %13213
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #11
  %13215 = call ptr @__errno_location() #12
  %13216 = load i32, ptr %13215, align 4, !tbaa !5
  store i32 %13216, ptr %264, align 4, !tbaa !5
  %13217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13218 = call i32 @s2n_print_stacktrace(ptr noundef %13217)
  %13219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13220 = trunc i8 %13219 to i1
  br i1 %13220, label %13221, label %13243

13221:                                            ; preds = %13214
  %13222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13223 = call i32 @fileno(ptr noundef %13222) #11
  %13224 = call i32 @isatty(i32 noundef %13223) #11
  %13225 = icmp ne i32 %13224, 0
  br i1 %13225, label %13226, label %13243

13226:                                            ; preds = %13221
  %13227 = load i32, ptr %264, align 4, !tbaa !5
  %13228 = call ptr @__errno_location() #12
  store i32 %13227, ptr %13228, align 4, !tbaa !5
  %13229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13230 = load i32, ptr @test_count, align 4, !tbaa !5
  %13231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13232 = load i32, ptr %13231, align 4, !tbaa !5
  %13233 = call ptr @s2n_strerror(i32 noundef %13232, ptr noundef @.str.4)
  %13234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13235 = load i32, ptr %13234, align 4, !tbaa !5
  %13236 = call ptr @s2n_strerror_debug(i32 noundef %13235, ptr noundef @.str.4)
  %13237 = call ptr @__errno_location() #12
  %13238 = load i32, ptr %13237, align 4, !tbaa !5
  %13239 = call ptr @strerror(i32 noundef %13238) #11
  %13240 = call ptr @__errno_location() #12
  %13241 = load i32, ptr %13240, align 4, !tbaa !5
  %13242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13229, ptr noundef @.str.2, i32 noundef %13230, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 395, ptr noundef %13233, ptr noundef %13236, ptr noundef %13239, i32 noundef %13241) #11
  br label %13260

13243:                                            ; preds = %13221, %13214
  %13244 = load i32, ptr %264, align 4, !tbaa !5
  %13245 = call ptr @__errno_location() #12
  store i32 %13244, ptr %13245, align 4, !tbaa !5
  %13246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13247 = load i32, ptr @test_count, align 4, !tbaa !5
  %13248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13249 = load i32, ptr %13248, align 4, !tbaa !5
  %13250 = call ptr @s2n_strerror(i32 noundef %13249, ptr noundef @.str.4)
  %13251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13252 = load i32, ptr %13251, align 4, !tbaa !5
  %13253 = call ptr @s2n_strerror_debug(i32 noundef %13252, ptr noundef @.str.4)
  %13254 = call ptr @__errno_location() #12
  %13255 = load i32, ptr %13254, align 4, !tbaa !5
  %13256 = call ptr @strerror(i32 noundef %13255) #11
  %13257 = call ptr @__errno_location() #12
  %13258 = load i32, ptr %13257, align 4, !tbaa !5
  %13259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13246, ptr noundef @.str.5, i32 noundef %13247, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 395, ptr noundef %13250, ptr noundef %13253, ptr noundef %13256, i32 noundef %13258) #11
  br label %13260

13260:                                            ; preds = %13243, %13226
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #11
  br label %13261

13261:                                            ; preds = %13260
  br label %13262

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

13263:                                            ; No predecessors!
  br label %13264

13264:                                            ; preds = %13263
  br label %13265

13265:                                            ; preds = %13264, %13205
  br label %13266

13266:                                            ; preds = %13265
  br label %13267

13267:                                            ; preds = %13266
  br label %13268

13268:                                            ; preds = %13267
  %13269 = load i32, ptr @test_count, align 4, !tbaa !5
  %13270 = add nsw i32 %13269, 1
  store i32 %13270, ptr @test_count, align 4, !tbaa !5
  %13271 = load ptr, ptr %249, align 8, !tbaa !9
  %13272 = call i32 @s2n_connection_set_end_of_early_data(ptr noundef %13271)
  %13273 = icmp eq i32 %13272, -1
  br i1 %13273, label %13274, label %13327

13274:                                            ; preds = %13268
  br label %13275

13275:                                            ; preds = %13274
  br label %13276

13276:                                            ; preds = %13275
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #11
  %13277 = call ptr @__errno_location() #12
  %13278 = load i32, ptr %13277, align 4, !tbaa !5
  store i32 %13278, ptr %265, align 4, !tbaa !5
  %13279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13280 = call i32 @s2n_print_stacktrace(ptr noundef %13279)
  %13281 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13282 = trunc i8 %13281 to i1
  br i1 %13282, label %13283, label %13305

13283:                                            ; preds = %13276
  %13284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13285 = call i32 @fileno(ptr noundef %13284) #11
  %13286 = call i32 @isatty(i32 noundef %13285) #11
  %13287 = icmp ne i32 %13286, 0
  br i1 %13287, label %13288, label %13305

13288:                                            ; preds = %13283
  %13289 = load i32, ptr %265, align 4, !tbaa !5
  %13290 = call ptr @__errno_location() #12
  store i32 %13289, ptr %13290, align 4, !tbaa !5
  %13291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13292 = load i32, ptr @test_count, align 4, !tbaa !5
  %13293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13294 = load i32, ptr %13293, align 4, !tbaa !5
  %13295 = call ptr @s2n_strerror(i32 noundef %13294, ptr noundef @.str.4)
  %13296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13297 = load i32, ptr %13296, align 4, !tbaa !5
  %13298 = call ptr @s2n_strerror_debug(i32 noundef %13297, ptr noundef @.str.4)
  %13299 = call ptr @__errno_location() #12
  %13300 = load i32, ptr %13299, align 4, !tbaa !5
  %13301 = call ptr @strerror(i32 noundef %13300) #11
  %13302 = call ptr @__errno_location() #12
  %13303 = load i32, ptr %13302, align 4, !tbaa !5
  %13304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13291, ptr noundef @.str.2, i32 noundef %13292, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 397, ptr noundef %13295, ptr noundef %13298, ptr noundef %13301, i32 noundef %13303) #11
  br label %13322

13305:                                            ; preds = %13283, %13276
  %13306 = load i32, ptr %265, align 4, !tbaa !5
  %13307 = call ptr @__errno_location() #12
  store i32 %13306, ptr %13307, align 4, !tbaa !5
  %13308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13309 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %13311, ptr noundef @.str.4)
  %13313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13314 = load i32, ptr %13313, align 4, !tbaa !5
  %13315 = call ptr @s2n_strerror_debug(i32 noundef %13314, ptr noundef @.str.4)
  %13316 = call ptr @__errno_location() #12
  %13317 = load i32, ptr %13316, align 4, !tbaa !5
  %13318 = call ptr @strerror(i32 noundef %13317) #11
  %13319 = call ptr @__errno_location() #12
  %13320 = load i32, ptr %13319, align 4, !tbaa !5
  %13321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13308, ptr noundef @.str.5, i32 noundef %13309, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 397, ptr noundef %13312, ptr noundef %13315, ptr noundef %13318, i32 noundef %13320) #11
  br label %13322

13322:                                            ; preds = %13305, %13288
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #11
  br label %13323

13323:                                            ; preds = %13322
  br label %13324

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

13325:                                            ; No predecessors!
  br label %13326

13326:                                            ; preds = %13325
  br label %13327

13327:                                            ; preds = %13326, %13268
  br label %13328

13328:                                            ; preds = %13327
  br label %13329

13329:                                            ; preds = %13328
  br label %13330

13330:                                            ; preds = %13329
  br label %13331

13331:                                            ; preds = %13330
  br label %13332

13332:                                            ; preds = %13331
  %13333 = load i32, ptr @test_count, align 4, !tbaa !5
  %13334 = add nsw i32 %13333, 1
  store i32 %13334, ptr @test_count, align 4, !tbaa !5
  %13335 = load ptr, ptr %250, align 8, !tbaa !9
  %13336 = load ptr, ptr %249, align 8, !tbaa !9
  %13337 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %13335, ptr noundef %13336)
  %13338 = icmp eq i32 %13337, -1
  br i1 %13338, label %13392, label %13339

13339:                                            ; preds = %13332
  br label %13340

13340:                                            ; preds = %13339
  br label %13341

13341:                                            ; preds = %13340
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #11
  %13342 = call ptr @__errno_location() #12
  %13343 = load i32, ptr %13342, align 4, !tbaa !5
  store i32 %13343, ptr %266, align 4, !tbaa !5
  %13344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13345 = call i32 @s2n_print_stacktrace(ptr noundef %13344)
  %13346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13347 = trunc i8 %13346 to i1
  br i1 %13347, label %13348, label %13370

13348:                                            ; preds = %13341
  %13349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13350 = call i32 @fileno(ptr noundef %13349) #11
  %13351 = call i32 @isatty(i32 noundef %13350) #11
  %13352 = icmp ne i32 %13351, 0
  br i1 %13352, label %13353, label %13370

13353:                                            ; preds = %13348
  %13354 = load i32, ptr %266, align 4, !tbaa !5
  %13355 = call ptr @__errno_location() #12
  store i32 %13354, ptr %13355, align 4, !tbaa !5
  %13356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13357 = load i32, ptr @test_count, align 4, !tbaa !5
  %13358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13359 = load i32, ptr %13358, align 4, !tbaa !5
  %13360 = call ptr @s2n_strerror(i32 noundef %13359, ptr noundef @.str.4)
  %13361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13362 = load i32, ptr %13361, align 4, !tbaa !5
  %13363 = call ptr @s2n_strerror_debug(i32 noundef %13362, ptr noundef @.str.4)
  %13364 = call ptr @__errno_location() #12
  %13365 = load i32, ptr %13364, align 4, !tbaa !5
  %13366 = call ptr @strerror(i32 noundef %13365) #11
  %13367 = call ptr @__errno_location() #12
  %13368 = load i32, ptr %13367, align 4, !tbaa !5
  %13369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13356, ptr noundef @.str.2, i32 noundef %13357, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 399, ptr noundef %13360, ptr noundef %13363, ptr noundef %13366, i32 noundef %13368) #11
  br label %13387

13370:                                            ; preds = %13348, %13341
  %13371 = load i32, ptr %266, align 4, !tbaa !5
  %13372 = call ptr @__errno_location() #12
  store i32 %13371, ptr %13372, align 4, !tbaa !5
  %13373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13374 = load i32, ptr @test_count, align 4, !tbaa !5
  %13375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13376 = load i32, ptr %13375, align 4, !tbaa !5
  %13377 = call ptr @s2n_strerror(i32 noundef %13376, ptr noundef @.str.4)
  %13378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13379 = load i32, ptr %13378, align 4, !tbaa !5
  %13380 = call ptr @s2n_strerror_debug(i32 noundef %13379, ptr noundef @.str.4)
  %13381 = call ptr @__errno_location() #12
  %13382 = load i32, ptr %13381, align 4, !tbaa !5
  %13383 = call ptr @strerror(i32 noundef %13382) #11
  %13384 = call ptr @__errno_location() #12
  %13385 = load i32, ptr %13384, align 4, !tbaa !5
  %13386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13373, ptr noundef @.str.5, i32 noundef %13374, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 399, ptr noundef %13377, ptr noundef %13380, ptr noundef %13383, i32 noundef %13385) #11
  br label %13387

13387:                                            ; preds = %13370, %13353
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #11
  br label %13388

13388:                                            ; preds = %13387
  br label %13389

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

13390:                                            ; No predecessors!
  br label %13391

13391:                                            ; preds = %13390
  br label %13392

13392:                                            ; preds = %13391, %13332
  br label %13393

13393:                                            ; preds = %13392
  br label %13394

13394:                                            ; preds = %13393
  br label %13395

13395:                                            ; preds = %13394
  %13396 = load i32, ptr @test_count, align 4, !tbaa !5
  %13397 = add nsw i32 %13396, 1
  store i32 %13397, ptr @test_count, align 4, !tbaa !5
  %13398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13399 = load i32, ptr %13398, align 4, !tbaa !5
  %13400 = icmp eq i32 %13399, 335544396
  br i1 %13400, label %13454, label %13401

13401:                                            ; preds = %13395
  br label %13402

13402:                                            ; preds = %13401
  br label %13403

13403:                                            ; preds = %13402
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #11
  %13404 = call ptr @__errno_location() #12
  %13405 = load i32, ptr %13404, align 4, !tbaa !5
  store i32 %13405, ptr %267, align 4, !tbaa !5
  %13406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13407 = call i32 @s2n_print_stacktrace(ptr noundef %13406)
  %13408 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13409 = trunc i8 %13408 to i1
  br i1 %13409, label %13410, label %13432

13410:                                            ; preds = %13403
  %13411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13412 = call i32 @fileno(ptr noundef %13411) #11
  %13413 = call i32 @isatty(i32 noundef %13412) #11
  %13414 = icmp ne i32 %13413, 0
  br i1 %13414, label %13415, label %13432

13415:                                            ; preds = %13410
  %13416 = load i32, ptr %267, align 4, !tbaa !5
  %13417 = call ptr @__errno_location() #12
  store i32 %13416, ptr %13417, align 4, !tbaa !5
  %13418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13419 = load i32, ptr @test_count, align 4, !tbaa !5
  %13420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13421 = load i32, ptr %13420, align 4, !tbaa !5
  %13422 = call ptr @s2n_strerror(i32 noundef %13421, ptr noundef @.str.4)
  %13423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13424 = load i32, ptr %13423, align 4, !tbaa !5
  %13425 = call ptr @s2n_strerror_debug(i32 noundef %13424, ptr noundef @.str.4)
  %13426 = call ptr @__errno_location() #12
  %13427 = load i32, ptr %13426, align 4, !tbaa !5
  %13428 = call ptr @strerror(i32 noundef %13427) #11
  %13429 = call ptr @__errno_location() #12
  %13430 = load i32, ptr %13429, align 4, !tbaa !5
  %13431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13418, ptr noundef @.str.2, i32 noundef %13419, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 399, ptr noundef %13422, ptr noundef %13425, ptr noundef %13428, i32 noundef %13430) #11
  br label %13449

13432:                                            ; preds = %13410, %13403
  %13433 = load i32, ptr %267, align 4, !tbaa !5
  %13434 = call ptr @__errno_location() #12
  store i32 %13433, ptr %13434, align 4, !tbaa !5
  %13435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13436 = load i32, ptr @test_count, align 4, !tbaa !5
  %13437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13438 = load i32, ptr %13437, align 4, !tbaa !5
  %13439 = call ptr @s2n_strerror(i32 noundef %13438, ptr noundef @.str.4)
  %13440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13441 = load i32, ptr %13440, align 4, !tbaa !5
  %13442 = call ptr @s2n_strerror_debug(i32 noundef %13441, ptr noundef @.str.4)
  %13443 = call ptr @__errno_location() #12
  %13444 = load i32, ptr %13443, align 4, !tbaa !5
  %13445 = call ptr @strerror(i32 noundef %13444) #11
  %13446 = call ptr @__errno_location() #12
  %13447 = load i32, ptr %13446, align 4, !tbaa !5
  %13448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13435, ptr noundef @.str.5, i32 noundef %13436, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 399, ptr noundef %13439, ptr noundef %13442, ptr noundef %13445, i32 noundef %13447) #11
  br label %13449

13449:                                            ; preds = %13432, %13415
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #11
  br label %13450

13450:                                            ; preds = %13449
  br label %13451

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

13452:                                            ; No predecessors!
  br label %13453

13453:                                            ; preds = %13452
  br label %13454

13454:                                            ; preds = %13453, %13395
  br label %13455

13455:                                            ; preds = %13454
  br label %13456

13456:                                            ; preds = %13455
  br label %13457

13457:                                            ; preds = %13456
  %13458 = load i32, ptr @test_count, align 4, !tbaa !5
  %13459 = add nsw i32 %13458, 1
  store i32 %13459, ptr @test_count, align 4, !tbaa !5
  %13460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13461 = load i32, ptr %13460, align 4, !tbaa !5
  %13462 = call ptr @s2n_strerror_debug(i32 noundef %13461, ptr noundef @.str.4)
  %13463 = icmp eq ptr %13462, null
  br i1 %13463, label %13464, label %13517

13464:                                            ; preds = %13457
  br label %13465

13465:                                            ; preds = %13464
  br label %13466

13466:                                            ; preds = %13465
  call void @llvm.lifetime.start.p0(i64 4, ptr %268) #11
  %13467 = call ptr @__errno_location() #12
  %13468 = load i32, ptr %13467, align 4, !tbaa !5
  store i32 %13468, ptr %268, align 4, !tbaa !5
  %13469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13470 = call i32 @s2n_print_stacktrace(ptr noundef %13469)
  %13471 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13472 = trunc i8 %13471 to i1
  br i1 %13472, label %13473, label %13495

13473:                                            ; preds = %13466
  %13474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13475 = call i32 @fileno(ptr noundef %13474) #11
  %13476 = call i32 @isatty(i32 noundef %13475) #11
  %13477 = icmp ne i32 %13476, 0
  br i1 %13477, label %13478, label %13495

13478:                                            ; preds = %13473
  %13479 = load i32, ptr %268, align 4, !tbaa !5
  %13480 = call ptr @__errno_location() #12
  store i32 %13479, ptr %13480, align 4, !tbaa !5
  %13481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13482 = load i32, ptr @test_count, align 4, !tbaa !5
  %13483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13484 = load i32, ptr %13483, align 4, !tbaa !5
  %13485 = call ptr @s2n_strerror(i32 noundef %13484, ptr noundef @.str.4)
  %13486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13487 = load i32, ptr %13486, align 4, !tbaa !5
  %13488 = call ptr @s2n_strerror_debug(i32 noundef %13487, ptr noundef @.str.4)
  %13489 = call ptr @__errno_location() #12
  %13490 = load i32, ptr %13489, align 4, !tbaa !5
  %13491 = call ptr @strerror(i32 noundef %13490) #11
  %13492 = call ptr @__errno_location() #12
  %13493 = load i32, ptr %13492, align 4, !tbaa !5
  %13494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13481, ptr noundef @.str.2, i32 noundef %13482, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 399, ptr noundef %13485, ptr noundef %13488, ptr noundef %13491, i32 noundef %13493) #11
  br label %13512

13495:                                            ; preds = %13473, %13466
  %13496 = load i32, ptr %268, align 4, !tbaa !5
  %13497 = call ptr @__errno_location() #12
  store i32 %13496, ptr %13497, align 4, !tbaa !5
  %13498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13499 = load i32, ptr @test_count, align 4, !tbaa !5
  %13500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13501 = load i32, ptr %13500, align 4, !tbaa !5
  %13502 = call ptr @s2n_strerror(i32 noundef %13501, ptr noundef @.str.4)
  %13503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13504 = load i32, ptr %13503, align 4, !tbaa !5
  %13505 = call ptr @s2n_strerror_debug(i32 noundef %13504, ptr noundef @.str.4)
  %13506 = call ptr @__errno_location() #12
  %13507 = load i32, ptr %13506, align 4, !tbaa !5
  %13508 = call ptr @strerror(i32 noundef %13507) #11
  %13509 = call ptr @__errno_location() #12
  %13510 = load i32, ptr %13509, align 4, !tbaa !5
  %13511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13498, ptr noundef @.str.5, i32 noundef %13499, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 399, ptr noundef %13502, ptr noundef %13505, ptr noundef %13508, i32 noundef %13510) #11
  br label %13512

13512:                                            ; preds = %13495, %13478
  call void @llvm.lifetime.end.p0(i64 4, ptr %268) #11
  br label %13513

13513:                                            ; preds = %13512
  br label %13514

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

13515:                                            ; No predecessors!
  br label %13516

13516:                                            ; preds = %13515
  br label %13517

13517:                                            ; preds = %13516, %13457
  br label %13518

13518:                                            ; preds = %13517
  br label %13519

13519:                                            ; preds = %13518
  br label %13520

13520:                                            ; preds = %13519
  br label %13521

13521:                                            ; preds = %13520
  br label %13522

13522:                                            ; preds = %13521
  %13523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13523, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13524 = call ptr @__errno_location() #12
  store i32 0, ptr %13524, align 4, !tbaa !5
  br label %13525

13525:                                            ; preds = %13522
  br label %13526

13526:                                            ; preds = %13525
  br label %13527

13527:                                            ; preds = %13526
  br label %13528

13528:                                            ; preds = %13527
  br label %13529

13529:                                            ; preds = %13528
  %13530 = load i32, ptr @test_count, align 4, !tbaa !5
  %13531 = add nsw i32 %13530, 1
  store i32 %13531, ptr @test_count, align 4, !tbaa !5
  %13532 = load ptr, ptr %249, align 8, !tbaa !9
  %13533 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %13532, i32 noundef 64)
  br i1 %13533, label %13534, label %13587

13534:                                            ; preds = %13529
  br label %13535

13535:                                            ; preds = %13534
  br label %13536

13536:                                            ; preds = %13535
  call void @llvm.lifetime.start.p0(i64 4, ptr %269) #11
  %13537 = call ptr @__errno_location() #12
  %13538 = load i32, ptr %13537, align 4, !tbaa !5
  store i32 %13538, ptr %269, align 4, !tbaa !5
  %13539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13540 = call i32 @s2n_print_stacktrace(ptr noundef %13539)
  %13541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13542 = trunc i8 %13541 to i1
  br i1 %13542, label %13543, label %13565

13543:                                            ; preds = %13536
  %13544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13545 = call i32 @fileno(ptr noundef %13544) #11
  %13546 = call i32 @isatty(i32 noundef %13545) #11
  %13547 = icmp ne i32 %13546, 0
  br i1 %13547, label %13548, label %13565

13548:                                            ; preds = %13543
  %13549 = load i32, ptr %269, align 4, !tbaa !5
  %13550 = call ptr @__errno_location() #12
  store i32 %13549, ptr %13550, align 4, !tbaa !5
  %13551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13552 = load i32, ptr @test_count, align 4, !tbaa !5
  %13553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13554 = load i32, ptr %13553, align 4, !tbaa !5
  %13555 = call ptr @s2n_strerror(i32 noundef %13554, ptr noundef @.str.4)
  %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_debug(i32 noundef %13557, ptr noundef @.str.4)
  %13559 = call ptr @__errno_location() #12
  %13560 = load i32, ptr %13559, align 4, !tbaa !5
  %13561 = call ptr @strerror(i32 noundef %13560) #11
  %13562 = call ptr @__errno_location() #12
  %13563 = load i32, ptr %13562, align 4, !tbaa !5
  %13564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13551, ptr noundef @.str.2, i32 noundef %13552, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 401, ptr noundef %13555, ptr noundef %13558, ptr noundef %13561, i32 noundef %13563) #11
  br label %13582

13565:                                            ; preds = %13543, %13536
  %13566 = load i32, ptr %269, align 4, !tbaa !5
  %13567 = call ptr @__errno_location() #12
  store i32 %13566, ptr %13567, align 4, !tbaa !5
  %13568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13569 = load i32, ptr @test_count, align 4, !tbaa !5
  %13570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13571 = load i32, ptr %13570, align 4, !tbaa !5
  %13572 = call ptr @s2n_strerror(i32 noundef %13571, ptr noundef @.str.4)
  %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_debug(i32 noundef %13574, ptr noundef @.str.4)
  %13576 = call ptr @__errno_location() #12
  %13577 = load i32, ptr %13576, align 4, !tbaa !5
  %13578 = call ptr @strerror(i32 noundef %13577) #11
  %13579 = call ptr @__errno_location() #12
  %13580 = load i32, ptr %13579, align 4, !tbaa !5
  %13581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13568, ptr noundef @.str.5, i32 noundef %13569, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 401, ptr noundef %13572, ptr noundef %13575, ptr noundef %13578, i32 noundef %13580) #11
  br label %13582

13582:                                            ; preds = %13565, %13548
  call void @llvm.lifetime.end.p0(i64 4, ptr %269) #11
  br label %13583

13583:                                            ; preds = %13582
  br label %13584

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

13585:                                            ; No predecessors!
  br label %13586

13586:                                            ; preds = %13585
  br label %13587

13587:                                            ; preds = %13586, %13529
  br label %13588

13588:                                            ; preds = %13587
  br label %13589

13589:                                            ; preds = %13588
  br label %13590

13590:                                            ; preds = %13589
  %13591 = load i32, ptr @test_count, align 4, !tbaa !5
  %13592 = add nsw i32 %13591, 1
  store i32 %13592, ptr @test_count, align 4, !tbaa !5
  %13593 = load ptr, ptr %250, align 8, !tbaa !9
  %13594 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %13593, i32 noundef 64)
  br i1 %13594, label %13595, label %13648

13595:                                            ; preds = %13590
  br label %13596

13596:                                            ; preds = %13595
  br label %13597

13597:                                            ; preds = %13596
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #11
  %13598 = call ptr @__errno_location() #12
  %13599 = load i32, ptr %13598, align 4, !tbaa !5
  store i32 %13599, ptr %270, align 4, !tbaa !5
  %13600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13601 = call i32 @s2n_print_stacktrace(ptr noundef %13600)
  %13602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13603 = trunc i8 %13602 to i1
  br i1 %13603, label %13604, label %13626

13604:                                            ; preds = %13597
  %13605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13606 = call i32 @fileno(ptr noundef %13605) #11
  %13607 = call i32 @isatty(i32 noundef %13606) #11
  %13608 = icmp ne i32 %13607, 0
  br i1 %13608, label %13609, label %13626

13609:                                            ; preds = %13604
  %13610 = load i32, ptr %270, align 4, !tbaa !5
  %13611 = call ptr @__errno_location() #12
  store i32 %13610, ptr %13611, align 4, !tbaa !5
  %13612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13613 = load i32, ptr @test_count, align 4, !tbaa !5
  %13614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13615 = load i32, ptr %13614, align 4, !tbaa !5
  %13616 = call ptr @s2n_strerror(i32 noundef %13615, ptr noundef @.str.4)
  %13617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13618 = load i32, ptr %13617, align 4, !tbaa !5
  %13619 = call ptr @s2n_strerror_debug(i32 noundef %13618, ptr noundef @.str.4)
  %13620 = call ptr @__errno_location() #12
  %13621 = load i32, ptr %13620, align 4, !tbaa !5
  %13622 = call ptr @strerror(i32 noundef %13621) #11
  %13623 = call ptr @__errno_location() #12
  %13624 = load i32, ptr %13623, align 4, !tbaa !5
  %13625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13612, ptr noundef @.str.2, i32 noundef %13613, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 402, ptr noundef %13616, ptr noundef %13619, ptr noundef %13622, i32 noundef %13624) #11
  br label %13643

13626:                                            ; preds = %13604, %13597
  %13627 = load i32, ptr %270, align 4, !tbaa !5
  %13628 = call ptr @__errno_location() #12
  store i32 %13627, ptr %13628, align 4, !tbaa !5
  %13629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13630 = load i32, ptr @test_count, align 4, !tbaa !5
  %13631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13632 = load i32, ptr %13631, align 4, !tbaa !5
  %13633 = call ptr @s2n_strerror(i32 noundef %13632, ptr noundef @.str.4)
  %13634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13635 = load i32, ptr %13634, align 4, !tbaa !5
  %13636 = call ptr @s2n_strerror_debug(i32 noundef %13635, ptr noundef @.str.4)
  %13637 = call ptr @__errno_location() #12
  %13638 = load i32, ptr %13637, align 4, !tbaa !5
  %13639 = call ptr @strerror(i32 noundef %13638) #11
  %13640 = call ptr @__errno_location() #12
  %13641 = load i32, ptr %13640, align 4, !tbaa !5
  %13642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13629, ptr noundef @.str.5, i32 noundef %13630, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 402, ptr noundef %13633, ptr noundef %13636, ptr noundef %13639, i32 noundef %13641) #11
  br label %13643

13643:                                            ; preds = %13626, %13609
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #11
  br label %13644

13644:                                            ; preds = %13643
  br label %13645

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

13646:                                            ; No predecessors!
  br label %13647

13647:                                            ; preds = %13646
  br label %13648

13648:                                            ; preds = %13647, %13590
  br label %13649

13649:                                            ; preds = %13648
  br label %13650

13650:                                            ; preds = %13649
  br label %13651

13651:                                            ; preds = %13650
  %13652 = load i32, ptr @test_count, align 4, !tbaa !5
  %13653 = add nsw i32 %13652, 1
  store i32 %13653, ptr @test_count, align 4, !tbaa !5
  %13654 = load ptr, ptr %249, align 8, !tbaa !9
  %13655 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %13654, i32 noundef 2)
  br i1 %13655, label %13656, label %13709

13656:                                            ; preds = %13651
  br label %13657

13657:                                            ; preds = %13656
  br label %13658

13658:                                            ; preds = %13657
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #11
  %13659 = call ptr @__errno_location() #12
  %13660 = load i32, ptr %13659, align 4, !tbaa !5
  store i32 %13660, ptr %271, align 4, !tbaa !5
  %13661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13662 = call i32 @s2n_print_stacktrace(ptr noundef %13661)
  %13663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13664 = trunc i8 %13663 to i1
  br i1 %13664, label %13665, label %13687

13665:                                            ; preds = %13658
  %13666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13667 = call i32 @fileno(ptr noundef %13666) #11
  %13668 = call i32 @isatty(i32 noundef %13667) #11
  %13669 = icmp ne i32 %13668, 0
  br i1 %13669, label %13670, label %13687

13670:                                            ; preds = %13665
  %13671 = load i32, ptr %271, align 4, !tbaa !5
  %13672 = call ptr @__errno_location() #12
  store i32 %13671, ptr %13672, align 4, !tbaa !5
  %13673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13674 = load i32, ptr @test_count, align 4, !tbaa !5
  %13675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13676 = load i32, ptr %13675, align 4, !tbaa !5
  %13677 = call ptr @s2n_strerror(i32 noundef %13676, ptr noundef @.str.4)
  %13678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13679 = load i32, ptr %13678, align 4, !tbaa !5
  %13680 = call ptr @s2n_strerror_debug(i32 noundef %13679, ptr noundef @.str.4)
  %13681 = call ptr @__errno_location() #12
  %13682 = load i32, ptr %13681, align 4, !tbaa !5
  %13683 = call ptr @strerror(i32 noundef %13682) #11
  %13684 = call ptr @__errno_location() #12
  %13685 = load i32, ptr %13684, align 4, !tbaa !5
  %13686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13673, ptr noundef @.str.2, i32 noundef %13674, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 403, ptr noundef %13677, ptr noundef %13680, ptr noundef %13683, i32 noundef %13685) #11
  br label %13704

13687:                                            ; preds = %13665, %13658
  %13688 = load i32, ptr %271, align 4, !tbaa !5
  %13689 = call ptr @__errno_location() #12
  store i32 %13688, ptr %13689, align 4, !tbaa !5
  %13690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13691 = load i32, ptr @test_count, align 4, !tbaa !5
  %13692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13693 = load i32, ptr %13692, align 4, !tbaa !5
  %13694 = call ptr @s2n_strerror(i32 noundef %13693, ptr noundef @.str.4)
  %13695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13696 = load i32, ptr %13695, align 4, !tbaa !5
  %13697 = call ptr @s2n_strerror_debug(i32 noundef %13696, ptr noundef @.str.4)
  %13698 = call ptr @__errno_location() #12
  %13699 = load i32, ptr %13698, align 4, !tbaa !5
  %13700 = call ptr @strerror(i32 noundef %13699) #11
  %13701 = call ptr @__errno_location() #12
  %13702 = load i32, ptr %13701, align 4, !tbaa !5
  %13703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13690, ptr noundef @.str.5, i32 noundef %13691, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 403, ptr noundef %13694, ptr noundef %13697, ptr noundef %13700, i32 noundef %13702) #11
  br label %13704

13704:                                            ; preds = %13687, %13670
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #11
  br label %13705

13705:                                            ; preds = %13704
  br label %13706

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

13707:                                            ; No predecessors!
  br label %13708

13708:                                            ; preds = %13707
  br label %13709

13709:                                            ; preds = %13708, %13651
  br label %13710

13710:                                            ; preds = %13709
  br label %13711

13711:                                            ; preds = %13710
  br label %13712

13712:                                            ; preds = %13711
  %13713 = load i32, ptr @test_count, align 4, !tbaa !5
  %13714 = add nsw i32 %13713, 1
  store i32 %13714, ptr @test_count, align 4, !tbaa !5
  %13715 = load ptr, ptr %250, align 8, !tbaa !9
  %13716 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %13715, i32 noundef 2)
  br i1 %13716, label %13717, label %13770

13717:                                            ; preds = %13712
  br label %13718

13718:                                            ; preds = %13717
  br label %13719

13719:                                            ; preds = %13718
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #11
  %13720 = call ptr @__errno_location() #12
  %13721 = load i32, ptr %13720, align 4, !tbaa !5
  store i32 %13721, ptr %272, align 4, !tbaa !5
  %13722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13723 = call i32 @s2n_print_stacktrace(ptr noundef %13722)
  %13724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13725 = trunc i8 %13724 to i1
  br i1 %13725, label %13726, label %13748

13726:                                            ; preds = %13719
  %13727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13728 = call i32 @fileno(ptr noundef %13727) #11
  %13729 = call i32 @isatty(i32 noundef %13728) #11
  %13730 = icmp ne i32 %13729, 0
  br i1 %13730, label %13731, label %13748

13731:                                            ; preds = %13726
  %13732 = load i32, ptr %272, align 4, !tbaa !5
  %13733 = call ptr @__errno_location() #12
  store i32 %13732, ptr %13733, align 4, !tbaa !5
  %13734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13735 = load i32, ptr @test_count, align 4, !tbaa !5
  %13736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13737 = load i32, ptr %13736, align 4, !tbaa !5
  %13738 = call ptr @s2n_strerror(i32 noundef %13737, ptr noundef @.str.4)
  %13739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13740 = load i32, ptr %13739, align 4, !tbaa !5
  %13741 = call ptr @s2n_strerror_debug(i32 noundef %13740, ptr noundef @.str.4)
  %13742 = call ptr @__errno_location() #12
  %13743 = load i32, ptr %13742, align 4, !tbaa !5
  %13744 = call ptr @strerror(i32 noundef %13743) #11
  %13745 = call ptr @__errno_location() #12
  %13746 = load i32, ptr %13745, align 4, !tbaa !5
  %13747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13734, ptr noundef @.str.2, i32 noundef %13735, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 404, ptr noundef %13738, ptr noundef %13741, ptr noundef %13744, i32 noundef %13746) #11
  br label %13765

13748:                                            ; preds = %13726, %13719
  %13749 = load i32, ptr %272, align 4, !tbaa !5
  %13750 = call ptr @__errno_location() #12
  store i32 %13749, ptr %13750, align 4, !tbaa !5
  %13751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13752 = load i32, ptr @test_count, align 4, !tbaa !5
  %13753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13754 = load i32, ptr %13753, align 4, !tbaa !5
  %13755 = call ptr @s2n_strerror(i32 noundef %13754, ptr noundef @.str.4)
  %13756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13757 = load i32, ptr %13756, align 4, !tbaa !5
  %13758 = call ptr @s2n_strerror_debug(i32 noundef %13757, ptr noundef @.str.4)
  %13759 = call ptr @__errno_location() #12
  %13760 = load i32, ptr %13759, align 4, !tbaa !5
  %13761 = call ptr @strerror(i32 noundef %13760) #11
  %13762 = call ptr @__errno_location() #12
  %13763 = load i32, ptr %13762, align 4, !tbaa !5
  %13764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13751, ptr noundef @.str.5, i32 noundef %13752, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 404, ptr noundef %13755, ptr noundef %13758, ptr noundef %13761, i32 noundef %13763) #11
  br label %13765

13765:                                            ; preds = %13748, %13731
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #11
  br label %13766

13766:                                            ; preds = %13765
  br label %13767

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

13768:                                            ; No predecessors!
  br label %13769

13769:                                            ; preds = %13768
  br label %13770

13770:                                            ; preds = %13769, %13712
  br label %13771

13771:                                            ; preds = %13770
  br label %13772

13772:                                            ; preds = %13771
  br label %13773

13773:                                            ; preds = %13772
  %13774 = load i32, ptr @test_count, align 4, !tbaa !5
  %13775 = add nsw i32 %13774, 1
  store i32 %13775, ptr @test_count, align 4, !tbaa !5
  %13776 = load ptr, ptr %249, align 8, !tbaa !9
  %13777 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %13776, i32 noundef 16)
  br i1 %13777, label %13778, label %13831

13778:                                            ; preds = %13773
  br label %13779

13779:                                            ; preds = %13778
  br label %13780

13780:                                            ; preds = %13779
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #11
  %13781 = call ptr @__errno_location() #12
  %13782 = load i32, ptr %13781, align 4, !tbaa !5
  store i32 %13782, ptr %273, align 4, !tbaa !5
  %13783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13784 = call i32 @s2n_print_stacktrace(ptr noundef %13783)
  %13785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13786 = trunc i8 %13785 to i1
  br i1 %13786, label %13787, label %13809

13787:                                            ; preds = %13780
  %13788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13789 = call i32 @fileno(ptr noundef %13788) #11
  %13790 = call i32 @isatty(i32 noundef %13789) #11
  %13791 = icmp ne i32 %13790, 0
  br i1 %13791, label %13792, label %13809

13792:                                            ; preds = %13787
  %13793 = load i32, ptr %273, align 4, !tbaa !5
  %13794 = call ptr @__errno_location() #12
  store i32 %13793, ptr %13794, align 4, !tbaa !5
  %13795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13796 = load i32, ptr @test_count, align 4, !tbaa !5
  %13797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13798 = load i32, ptr %13797, align 4, !tbaa !5
  %13799 = call ptr @s2n_strerror(i32 noundef %13798, ptr noundef @.str.4)
  %13800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13801 = load i32, ptr %13800, align 4, !tbaa !5
  %13802 = call ptr @s2n_strerror_debug(i32 noundef %13801, ptr noundef @.str.4)
  %13803 = call ptr @__errno_location() #12
  %13804 = load i32, ptr %13803, align 4, !tbaa !5
  %13805 = call ptr @strerror(i32 noundef %13804) #11
  %13806 = call ptr @__errno_location() #12
  %13807 = load i32, ptr %13806, align 4, !tbaa !5
  %13808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13795, ptr noundef @.str.2, i32 noundef %13796, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 405, ptr noundef %13799, ptr noundef %13802, ptr noundef %13805, i32 noundef %13807) #11
  br label %13826

13809:                                            ; preds = %13787, %13780
  %13810 = load i32, ptr %273, align 4, !tbaa !5
  %13811 = call ptr @__errno_location() #12
  store i32 %13810, ptr %13811, align 4, !tbaa !5
  %13812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13813 = load i32, ptr @test_count, align 4, !tbaa !5
  %13814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13815 = load i32, ptr %13814, align 4, !tbaa !5
  %13816 = call ptr @s2n_strerror(i32 noundef %13815, ptr noundef @.str.4)
  %13817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13818 = load i32, ptr %13817, align 4, !tbaa !5
  %13819 = call ptr @s2n_strerror_debug(i32 noundef %13818, ptr noundef @.str.4)
  %13820 = call ptr @__errno_location() #12
  %13821 = load i32, ptr %13820, align 4, !tbaa !5
  %13822 = call ptr @strerror(i32 noundef %13821) #11
  %13823 = call ptr @__errno_location() #12
  %13824 = load i32, ptr %13823, align 4, !tbaa !5
  %13825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13812, ptr noundef @.str.5, i32 noundef %13813, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 405, ptr noundef %13816, ptr noundef %13819, ptr noundef %13822, i32 noundef %13824) #11
  br label %13826

13826:                                            ; preds = %13809, %13792
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #11
  br label %13827

13827:                                            ; preds = %13826
  br label %13828

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

13829:                                            ; No predecessors!
  br label %13830

13830:                                            ; preds = %13829
  br label %13831

13831:                                            ; preds = %13830, %13773
  br label %13832

13832:                                            ; preds = %13831
  br label %13833

13833:                                            ; preds = %13832
  br label %13834

13834:                                            ; preds = %13833
  %13835 = load i32, ptr @test_count, align 4, !tbaa !5
  %13836 = add nsw i32 %13835, 1
  store i32 %13836, ptr @test_count, align 4, !tbaa !5
  %13837 = load ptr, ptr %250, align 8, !tbaa !9
  %13838 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %13837, i32 noundef 16)
  br i1 %13838, label %13839, label %13892

13839:                                            ; preds = %13834
  br label %13840

13840:                                            ; preds = %13839
  br label %13841

13841:                                            ; preds = %13840
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #11
  %13842 = call ptr @__errno_location() #12
  %13843 = load i32, ptr %13842, align 4, !tbaa !5
  store i32 %13843, ptr %274, align 4, !tbaa !5
  %13844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13845 = call i32 @s2n_print_stacktrace(ptr noundef %13844)
  %13846 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13847 = trunc i8 %13846 to i1
  br i1 %13847, label %13848, label %13870

13848:                                            ; preds = %13841
  %13849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13850 = call i32 @fileno(ptr noundef %13849) #11
  %13851 = call i32 @isatty(i32 noundef %13850) #11
  %13852 = icmp ne i32 %13851, 0
  br i1 %13852, label %13853, label %13870

13853:                                            ; preds = %13848
  %13854 = load i32, ptr %274, align 4, !tbaa !5
  %13855 = call ptr @__errno_location() #12
  store i32 %13854, ptr %13855, align 4, !tbaa !5
  %13856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13857 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %13859, ptr noundef @.str.4)
  %13861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13862 = load i32, ptr %13861, align 4, !tbaa !5
  %13863 = call ptr @s2n_strerror_debug(i32 noundef %13862, ptr noundef @.str.4)
  %13864 = call ptr @__errno_location() #12
  %13865 = load i32, ptr %13864, align 4, !tbaa !5
  %13866 = call ptr @strerror(i32 noundef %13865) #11
  %13867 = call ptr @__errno_location() #12
  %13868 = load i32, ptr %13867, align 4, !tbaa !5
  %13869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13856, ptr noundef @.str.2, i32 noundef %13857, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 406, ptr noundef %13860, ptr noundef %13863, ptr noundef %13866, i32 noundef %13868) #11
  br label %13887

13870:                                            ; preds = %13848, %13841
  %13871 = load i32, ptr %274, align 4, !tbaa !5
  %13872 = call ptr @__errno_location() #12
  store i32 %13871, ptr %13872, align 4, !tbaa !5
  %13873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13874 = load i32, ptr @test_count, align 4, !tbaa !5
  %13875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13876 = load i32, ptr %13875, align 4, !tbaa !5
  %13877 = call ptr @s2n_strerror(i32 noundef %13876, ptr noundef @.str.4)
  %13878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13879 = load i32, ptr %13878, align 4, !tbaa !5
  %13880 = call ptr @s2n_strerror_debug(i32 noundef %13879, ptr noundef @.str.4)
  %13881 = call ptr @__errno_location() #12
  %13882 = load i32, ptr %13881, align 4, !tbaa !5
  %13883 = call ptr @strerror(i32 noundef %13882) #11
  %13884 = call ptr @__errno_location() #12
  %13885 = load i32, ptr %13884, align 4, !tbaa !5
  %13886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13873, ptr noundef @.str.5, i32 noundef %13874, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 406, ptr noundef %13877, ptr noundef %13880, ptr noundef %13883, i32 noundef %13885) #11
  br label %13887

13887:                                            ; preds = %13870, %13853
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #11
  br label %13888

13888:                                            ; preds = %13887
  br label %13889

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

13890:                                            ; No predecessors!
  br label %13891

13891:                                            ; preds = %13890
  br label %13892

13892:                                            ; preds = %13891, %13834
  br label %13893

13893:                                            ; preds = %13892
  br label %13894

13894:                                            ; preds = %13893
  br label %13895

13895:                                            ; preds = %13894
  %13896 = load i32, ptr @test_count, align 4, !tbaa !5
  %13897 = add nsw i32 %13896, 1
  store i32 %13897, ptr @test_count, align 4, !tbaa !5
  %13898 = load ptr, ptr %249, align 8, !tbaa !9
  %13899 = call i32 @s2n_connection_free(ptr noundef %13898)
  %13900 = icmp eq i32 %13899, -1
  br i1 %13900, label %13901, label %13954

13901:                                            ; preds = %13895
  br label %13902

13902:                                            ; preds = %13901
  br label %13903

13903:                                            ; preds = %13902
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #11
  %13904 = call ptr @__errno_location() #12
  %13905 = load i32, ptr %13904, align 4, !tbaa !5
  store i32 %13905, ptr %275, align 4, !tbaa !5
  %13906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13907 = call i32 @s2n_print_stacktrace(ptr noundef %13906)
  %13908 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13909 = trunc i8 %13908 to i1
  br i1 %13909, label %13910, label %13932

13910:                                            ; preds = %13903
  %13911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13912 = call i32 @fileno(ptr noundef %13911) #11
  %13913 = call i32 @isatty(i32 noundef %13912) #11
  %13914 = icmp ne i32 %13913, 0
  br i1 %13914, label %13915, label %13932

13915:                                            ; preds = %13910
  %13916 = load i32, ptr %275, align 4, !tbaa !5
  %13917 = call ptr @__errno_location() #12
  store i32 %13916, ptr %13917, align 4, !tbaa !5
  %13918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13919 = load i32, ptr @test_count, align 4, !tbaa !5
  %13920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13921 = load i32, ptr %13920, align 4, !tbaa !5
  %13922 = call ptr @s2n_strerror(i32 noundef %13921, ptr noundef @.str.4)
  %13923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13924 = load i32, ptr %13923, align 4, !tbaa !5
  %13925 = call ptr @s2n_strerror_debug(i32 noundef %13924, ptr noundef @.str.4)
  %13926 = call ptr @__errno_location() #12
  %13927 = load i32, ptr %13926, align 4, !tbaa !5
  %13928 = call ptr @strerror(i32 noundef %13927) #11
  %13929 = call ptr @__errno_location() #12
  %13930 = load i32, ptr %13929, align 4, !tbaa !5
  %13931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13918, ptr noundef @.str.2, i32 noundef %13919, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 408, ptr noundef %13922, ptr noundef %13925, ptr noundef %13928, i32 noundef %13930) #11
  br label %13949

13932:                                            ; preds = %13910, %13903
  %13933 = load i32, ptr %275, align 4, !tbaa !5
  %13934 = call ptr @__errno_location() #12
  store i32 %13933, ptr %13934, align 4, !tbaa !5
  %13935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13936 = load i32, ptr @test_count, align 4, !tbaa !5
  %13937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13938 = load i32, ptr %13937, align 4, !tbaa !5
  %13939 = call ptr @s2n_strerror(i32 noundef %13938, ptr noundef @.str.4)
  %13940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13941 = load i32, ptr %13940, align 4, !tbaa !5
  %13942 = call ptr @s2n_strerror_debug(i32 noundef %13941, ptr noundef @.str.4)
  %13943 = call ptr @__errno_location() #12
  %13944 = load i32, ptr %13943, align 4, !tbaa !5
  %13945 = call ptr @strerror(i32 noundef %13944) #11
  %13946 = call ptr @__errno_location() #12
  %13947 = load i32, ptr %13946, align 4, !tbaa !5
  %13948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13935, ptr noundef @.str.5, i32 noundef %13936, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 408, ptr noundef %13939, ptr noundef %13942, ptr noundef %13945, i32 noundef %13947) #11
  br label %13949

13949:                                            ; preds = %13932, %13915
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #11
  br label %13950

13950:                                            ; preds = %13949
  br label %13951

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

13952:                                            ; No predecessors!
  br label %13953

13953:                                            ; preds = %13952
  br label %13954

13954:                                            ; preds = %13953, %13895
  br label %13955

13955:                                            ; preds = %13954
  br label %13956

13956:                                            ; preds = %13955
  br label %13957

13957:                                            ; preds = %13956
  %13958 = load i32, ptr @test_count, align 4, !tbaa !5
  %13959 = add nsw i32 %13958, 1
  store i32 %13959, ptr @test_count, align 4, !tbaa !5
  %13960 = load ptr, ptr %250, align 8, !tbaa !9
  %13961 = call i32 @s2n_connection_free(ptr noundef %13960)
  %13962 = icmp eq i32 %13961, -1
  br i1 %13962, label %13963, label %14016

13963:                                            ; preds = %13957
  br label %13964

13964:                                            ; preds = %13963
  br label %13965

13965:                                            ; preds = %13964
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #11
  %13966 = call ptr @__errno_location() #12
  %13967 = load i32, ptr %13966, align 4, !tbaa !5
  store i32 %13967, ptr %276, align 4, !tbaa !5
  %13968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13969 = call i32 @s2n_print_stacktrace(ptr noundef %13968)
  %13970 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13971 = trunc i8 %13970 to i1
  br i1 %13971, label %13972, label %13994

13972:                                            ; preds = %13965
  %13973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13974 = call i32 @fileno(ptr noundef %13973) #11
  %13975 = call i32 @isatty(i32 noundef %13974) #11
  %13976 = icmp ne i32 %13975, 0
  br i1 %13976, label %13977, label %13994

13977:                                            ; preds = %13972
  %13978 = load i32, ptr %276, align 4, !tbaa !5
  %13979 = call ptr @__errno_location() #12
  store i32 %13978, ptr %13979, align 4, !tbaa !5
  %13980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13981 = load i32, ptr @test_count, align 4, !tbaa !5
  %13982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13983 = load i32, ptr %13982, align 4, !tbaa !5
  %13984 = call ptr @s2n_strerror(i32 noundef %13983, ptr noundef @.str.4)
  %13985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13986 = load i32, ptr %13985, align 4, !tbaa !5
  %13987 = call ptr @s2n_strerror_debug(i32 noundef %13986, ptr noundef @.str.4)
  %13988 = call ptr @__errno_location() #12
  %13989 = load i32, ptr %13988, align 4, !tbaa !5
  %13990 = call ptr @strerror(i32 noundef %13989) #11
  %13991 = call ptr @__errno_location() #12
  %13992 = load i32, ptr %13991, align 4, !tbaa !5
  %13993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13980, ptr noundef @.str.2, i32 noundef %13981, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 409, ptr noundef %13984, ptr noundef %13987, ptr noundef %13990, i32 noundef %13992) #11
  br label %14011

13994:                                            ; preds = %13972, %13965
  %13995 = load i32, ptr %276, align 4, !tbaa !5
  %13996 = call ptr @__errno_location() #12
  store i32 %13995, ptr %13996, align 4, !tbaa !5
  %13997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13998 = load i32, ptr @test_count, align 4, !tbaa !5
  %13999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14000 = load i32, ptr %13999, align 4, !tbaa !5
  %14001 = call ptr @s2n_strerror(i32 noundef %14000, ptr noundef @.str.4)
  %14002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14003 = load i32, ptr %14002, align 4, !tbaa !5
  %14004 = call ptr @s2n_strerror_debug(i32 noundef %14003, ptr noundef @.str.4)
  %14005 = call ptr @__errno_location() #12
  %14006 = load i32, ptr %14005, align 4, !tbaa !5
  %14007 = call ptr @strerror(i32 noundef %14006) #11
  %14008 = call ptr @__errno_location() #12
  %14009 = load i32, ptr %14008, align 4, !tbaa !5
  %14010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13997, ptr noundef @.str.5, i32 noundef %13998, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 409, ptr noundef %14001, ptr noundef %14004, ptr noundef %14007, i32 noundef %14009) #11
  br label %14011

14011:                                            ; preds = %13994, %13977
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #11
  br label %14012

14012:                                            ; preds = %14011
  br label %14013

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

14014:                                            ; No predecessors!
  br label %14015

14015:                                            ; preds = %14014
  br label %14016

14016:                                            ; preds = %14015, %13957
  br label %14017

14017:                                            ; preds = %14016
  br label %14018

14018:                                            ; preds = %14017
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #11
  %14019 = call i32 @s2n_io_pair_close(ptr noundef %251)
  call void @llvm.lifetime.end.p0(i64 8, ptr %251) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %250) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %249) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %277) #11
  store ptr null, ptr %277, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %278) #11
  store ptr null, ptr %278, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %279) #11
  call void @llvm.memset.p0.i64(ptr align 4 %279, i8 0, i64 8, i1 false)
  br label %14020

14020:                                            ; preds = %14018
  %14021 = load i32, ptr @test_count, align 4, !tbaa !5
  %14022 = add nsw i32 %14021, 1
  store i32 %14022, ptr @test_count, align 4, !tbaa !5
  %14023 = call i32 @s2n_test_client_and_server_new(ptr noundef %277, ptr noundef %278, ptr noundef %279)
  %14024 = getelementptr inbounds %struct.s2n_result, ptr %280, i32 0, i32 0
  store i32 %14023, ptr %14024, align 4
  %14025 = getelementptr inbounds %struct.s2n_result, ptr %280, i32 0, i32 0
  %14026 = load i32, ptr %14025, align 4
  %14027 = call zeroext i1 @s2n_result_is_ok(i32 %14026)
  br i1 %14027, label %14081, label %14028

14028:                                            ; preds = %14020
  br label %14029

14029:                                            ; preds = %14028
  br label %14030

14030:                                            ; preds = %14029
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #11
  %14031 = call ptr @__errno_location() #12
  %14032 = load i32, ptr %14031, align 4, !tbaa !5
  store i32 %14032, ptr %281, align 4, !tbaa !5
  %14033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14034 = call i32 @s2n_print_stacktrace(ptr noundef %14033)
  %14035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14036 = trunc i8 %14035 to i1
  br i1 %14036, label %14037, label %14059

14037:                                            ; preds = %14030
  %14038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14039 = call i32 @fileno(ptr noundef %14038) #11
  %14040 = call i32 @isatty(i32 noundef %14039) #11
  %14041 = icmp ne i32 %14040, 0
  br i1 %14041, label %14042, label %14059

14042:                                            ; preds = %14037
  %14043 = load i32, ptr %281, align 4, !tbaa !5
  %14044 = call ptr @__errno_location() #12
  store i32 %14043, ptr %14044, align 4, !tbaa !5
  %14045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14046 = load i32, ptr @test_count, align 4, !tbaa !5
  %14047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14048 = load i32, ptr %14047, align 4, !tbaa !5
  %14049 = call ptr @s2n_strerror(i32 noundef %14048, ptr noundef @.str.4)
  %14050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14051 = load i32, ptr %14050, align 4, !tbaa !5
  %14052 = call ptr @s2n_strerror_debug(i32 noundef %14051, ptr noundef @.str.4)
  %14053 = call ptr @__errno_location() #12
  %14054 = load i32, ptr %14053, align 4, !tbaa !5
  %14055 = call ptr @strerror(i32 noundef %14054) #11
  %14056 = call ptr @__errno_location() #12
  %14057 = load i32, ptr %14056, align 4, !tbaa !5
  %14058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14045, ptr noundef @.str.2, i32 noundef %14046, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 416, ptr noundef %14049, ptr noundef %14052, ptr noundef %14055, i32 noundef %14057) #11
  br label %14076

14059:                                            ; preds = %14037, %14030
  %14060 = load i32, ptr %281, align 4, !tbaa !5
  %14061 = call ptr @__errno_location() #12
  store i32 %14060, ptr %14061, align 4, !tbaa !5
  %14062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14063 = load i32, ptr @test_count, align 4, !tbaa !5
  %14064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14065 = load i32, ptr %14064, align 4, !tbaa !5
  %14066 = call ptr @s2n_strerror(i32 noundef %14065, ptr noundef @.str.4)
  %14067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14068 = load i32, ptr %14067, align 4, !tbaa !5
  %14069 = call ptr @s2n_strerror_debug(i32 noundef %14068, ptr noundef @.str.4)
  %14070 = call ptr @__errno_location() #12
  %14071 = load i32, ptr %14070, align 4, !tbaa !5
  %14072 = call ptr @strerror(i32 noundef %14071) #11
  %14073 = call ptr @__errno_location() #12
  %14074 = load i32, ptr %14073, align 4, !tbaa !5
  %14075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14062, ptr noundef @.str.5, i32 noundef %14063, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 416, ptr noundef %14066, ptr noundef %14069, ptr noundef %14072, i32 noundef %14074) #11
  br label %14076

14076:                                            ; preds = %14059, %14042
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #11
  br label %14077

14077:                                            ; preds = %14076
  br label %14078

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

14079:                                            ; No predecessors!
  br label %14080

14080:                                            ; preds = %14079
  br label %14081

14081:                                            ; preds = %14080, %14020
  br label %14082

14082:                                            ; preds = %14081
  br label %14083

14083:                                            ; preds = %14082
  br label %14084

14084:                                            ; preds = %14083
  %14085 = load i32, ptr @test_count, align 4, !tbaa !5
  %14086 = add nsw i32 %14085, 1
  store i32 %14086, ptr @test_count, align 4, !tbaa !5
  %14087 = load ptr, ptr %277, align 8, !tbaa !9
  %14088 = load ptr, ptr %12, align 8, !tbaa !9
  %14089 = call i32 @s2n_connection_append_psk(ptr noundef %14087, ptr noundef %14088)
  %14090 = icmp eq i32 %14089, -1
  br i1 %14090, label %14091, label %14144

14091:                                            ; preds = %14084
  br label %14092

14092:                                            ; preds = %14091
  br label %14093

14093:                                            ; preds = %14092
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #11
  %14094 = call ptr @__errno_location() #12
  %14095 = load i32, ptr %14094, align 4, !tbaa !5
  store i32 %14095, ptr %282, align 4, !tbaa !5
  %14096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14097 = call i32 @s2n_print_stacktrace(ptr noundef %14096)
  %14098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14099 = trunc i8 %14098 to i1
  br i1 %14099, label %14100, label %14122

14100:                                            ; preds = %14093
  %14101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14102 = call i32 @fileno(ptr noundef %14101) #11
  %14103 = call i32 @isatty(i32 noundef %14102) #11
  %14104 = icmp ne i32 %14103, 0
  br i1 %14104, label %14105, label %14122

14105:                                            ; preds = %14100
  %14106 = load i32, ptr %282, align 4, !tbaa !5
  %14107 = call ptr @__errno_location() #12
  store i32 %14106, ptr %14107, align 4, !tbaa !5
  %14108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14109 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14111, ptr noundef @.str.4)
  %14113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14114 = load i32, ptr %14113, align 4, !tbaa !5
  %14115 = call ptr @s2n_strerror_debug(i32 noundef %14114, ptr noundef @.str.4)
  %14116 = call ptr @__errno_location() #12
  %14117 = load i32, ptr %14116, align 4, !tbaa !5
  %14118 = call ptr @strerror(i32 noundef %14117) #11
  %14119 = call ptr @__errno_location() #12
  %14120 = load i32, ptr %14119, align 4, !tbaa !5
  %14121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14108, ptr noundef @.str.2, i32 noundef %14109, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 418, ptr noundef %14112, ptr noundef %14115, ptr noundef %14118, i32 noundef %14120) #11
  br label %14139

14122:                                            ; preds = %14100, %14093
  %14123 = load i32, ptr %282, align 4, !tbaa !5
  %14124 = call ptr @__errno_location() #12
  store i32 %14123, ptr %14124, align 4, !tbaa !5
  %14125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14126 = load i32, ptr @test_count, align 4, !tbaa !5
  %14127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14128 = load i32, ptr %14127, align 4, !tbaa !5
  %14129 = call ptr @s2n_strerror(i32 noundef %14128, ptr noundef @.str.4)
  %14130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14131 = load i32, ptr %14130, align 4, !tbaa !5
  %14132 = call ptr @s2n_strerror_debug(i32 noundef %14131, ptr noundef @.str.4)
  %14133 = call ptr @__errno_location() #12
  %14134 = load i32, ptr %14133, align 4, !tbaa !5
  %14135 = call ptr @strerror(i32 noundef %14134) #11
  %14136 = call ptr @__errno_location() #12
  %14137 = load i32, ptr %14136, align 4, !tbaa !5
  %14138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14125, ptr noundef @.str.5, i32 noundef %14126, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 418, ptr noundef %14129, ptr noundef %14132, ptr noundef %14135, i32 noundef %14137) #11
  br label %14139

14139:                                            ; preds = %14122, %14105
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #11
  br label %14140

14140:                                            ; preds = %14139
  br label %14141

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

14142:                                            ; No predecessors!
  br label %14143

14143:                                            ; preds = %14142
  br label %14144

14144:                                            ; preds = %14143, %14084
  br label %14145

14145:                                            ; preds = %14144
  br label %14146

14146:                                            ; preds = %14145
  br label %14147

14147:                                            ; preds = %14146
  %14148 = load i32, ptr @test_count, align 4, !tbaa !5
  %14149 = add nsw i32 %14148, 1
  store i32 %14149, ptr @test_count, align 4, !tbaa !5
  %14150 = load ptr, ptr %278, align 8, !tbaa !9
  %14151 = load ptr, ptr %12, align 8, !tbaa !9
  %14152 = call i32 @s2n_connection_append_psk(ptr noundef %14150, ptr noundef %14151)
  %14153 = icmp eq i32 %14152, -1
  br i1 %14153, label %14154, label %14207

14154:                                            ; preds = %14147
  br label %14155

14155:                                            ; preds = %14154
  br label %14156

14156:                                            ; preds = %14155
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #11
  %14157 = call ptr @__errno_location() #12
  %14158 = load i32, ptr %14157, align 4, !tbaa !5
  store i32 %14158, ptr %283, align 4, !tbaa !5
  %14159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14160 = call i32 @s2n_print_stacktrace(ptr noundef %14159)
  %14161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14162 = trunc i8 %14161 to i1
  br i1 %14162, label %14163, label %14185

14163:                                            ; preds = %14156
  %14164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14165 = call i32 @fileno(ptr noundef %14164) #11
  %14166 = call i32 @isatty(i32 noundef %14165) #11
  %14167 = icmp ne i32 %14166, 0
  br i1 %14167, label %14168, label %14185

14168:                                            ; preds = %14163
  %14169 = load i32, ptr %283, align 4, !tbaa !5
  %14170 = call ptr @__errno_location() #12
  store i32 %14169, ptr %14170, align 4, !tbaa !5
  %14171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14172 = load i32, ptr @test_count, align 4, !tbaa !5
  %14173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14174 = load i32, ptr %14173, align 4, !tbaa !5
  %14175 = call ptr @s2n_strerror(i32 noundef %14174, ptr noundef @.str.4)
  %14176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14177 = load i32, ptr %14176, align 4, !tbaa !5
  %14178 = call ptr @s2n_strerror_debug(i32 noundef %14177, ptr noundef @.str.4)
  %14179 = call ptr @__errno_location() #12
  %14180 = load i32, ptr %14179, align 4, !tbaa !5
  %14181 = call ptr @strerror(i32 noundef %14180) #11
  %14182 = call ptr @__errno_location() #12
  %14183 = load i32, ptr %14182, align 4, !tbaa !5
  %14184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14171, ptr noundef @.str.2, i32 noundef %14172, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 419, ptr noundef %14175, ptr noundef %14178, ptr noundef %14181, i32 noundef %14183) #11
  br label %14202

14185:                                            ; preds = %14163, %14156
  %14186 = load i32, ptr %283, align 4, !tbaa !5
  %14187 = call ptr @__errno_location() #12
  store i32 %14186, ptr %14187, align 4, !tbaa !5
  %14188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14189 = load i32, ptr @test_count, align 4, !tbaa !5
  %14190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14191 = load i32, ptr %14190, align 4, !tbaa !5
  %14192 = call ptr @s2n_strerror(i32 noundef %14191, ptr noundef @.str.4)
  %14193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14194 = load i32, ptr %14193, align 4, !tbaa !5
  %14195 = call ptr @s2n_strerror_debug(i32 noundef %14194, ptr noundef @.str.4)
  %14196 = call ptr @__errno_location() #12
  %14197 = load i32, ptr %14196, align 4, !tbaa !5
  %14198 = call ptr @strerror(i32 noundef %14197) #11
  %14199 = call ptr @__errno_location() #12
  %14200 = load i32, ptr %14199, align 4, !tbaa !5
  %14201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14188, ptr noundef @.str.5, i32 noundef %14189, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 419, ptr noundef %14192, ptr noundef %14195, ptr noundef %14198, i32 noundef %14200) #11
  br label %14202

14202:                                            ; preds = %14185, %14168
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #11
  br label %14203

14203:                                            ; preds = %14202
  br label %14204

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

14205:                                            ; No predecessors!
  br label %14206

14206:                                            ; preds = %14205
  br label %14207

14207:                                            ; preds = %14206, %14147
  br label %14208

14208:                                            ; preds = %14207
  br label %14209

14209:                                            ; preds = %14208
  br label %14210

14210:                                            ; preds = %14209
  %14211 = load i32, ptr @test_count, align 4, !tbaa !5
  %14212 = add nsw i32 %14211, 1
  store i32 %14212, ptr @test_count, align 4, !tbaa !5
  %14213 = load ptr, ptr %277, align 8, !tbaa !9
  %14214 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %14213)
  %14215 = icmp eq i32 %14214, -1
  br i1 %14215, label %14216, label %14269

14216:                                            ; preds = %14210
  br label %14217

14217:                                            ; preds = %14216
  br label %14218

14218:                                            ; preds = %14217
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #11
  %14219 = call ptr @__errno_location() #12
  %14220 = load i32, ptr %14219, align 4, !tbaa !5
  store i32 %14220, ptr %284, align 4, !tbaa !5
  %14221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14222 = call i32 @s2n_print_stacktrace(ptr noundef %14221)
  %14223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14224 = trunc i8 %14223 to i1
  br i1 %14224, label %14225, label %14247

14225:                                            ; preds = %14218
  %14226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14227 = call i32 @fileno(ptr noundef %14226) #11
  %14228 = call i32 @isatty(i32 noundef %14227) #11
  %14229 = icmp ne i32 %14228, 0
  br i1 %14229, label %14230, label %14247

14230:                                            ; preds = %14225
  %14231 = load i32, ptr %284, align 4, !tbaa !5
  %14232 = call ptr @__errno_location() #12
  store i32 %14231, ptr %14232, align 4, !tbaa !5
  %14233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14234 = load i32, ptr @test_count, align 4, !tbaa !5
  %14235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14236 = load i32, ptr %14235, align 4, !tbaa !5
  %14237 = call ptr @s2n_strerror(i32 noundef %14236, ptr noundef @.str.4)
  %14238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14239 = load i32, ptr %14238, align 4, !tbaa !5
  %14240 = call ptr @s2n_strerror_debug(i32 noundef %14239, ptr noundef @.str.4)
  %14241 = call ptr @__errno_location() #12
  %14242 = load i32, ptr %14241, align 4, !tbaa !5
  %14243 = call ptr @strerror(i32 noundef %14242) #11
  %14244 = call ptr @__errno_location() #12
  %14245 = load i32, ptr %14244, align 4, !tbaa !5
  %14246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14233, ptr noundef @.str.2, i32 noundef %14234, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 420, ptr noundef %14237, ptr noundef %14240, ptr noundef %14243, i32 noundef %14245) #11
  br label %14264

14247:                                            ; preds = %14225, %14218
  %14248 = load i32, ptr %284, align 4, !tbaa !5
  %14249 = call ptr @__errno_location() #12
  store i32 %14248, ptr %14249, align 4, !tbaa !5
  %14250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14251 = load i32, ptr @test_count, align 4, !tbaa !5
  %14252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14253 = load i32, ptr %14252, align 4, !tbaa !5
  %14254 = call ptr @s2n_strerror(i32 noundef %14253, ptr noundef @.str.4)
  %14255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14256 = load i32, ptr %14255, align 4, !tbaa !5
  %14257 = call ptr @s2n_strerror_debug(i32 noundef %14256, ptr noundef @.str.4)
  %14258 = call ptr @__errno_location() #12
  %14259 = load i32, ptr %14258, align 4, !tbaa !5
  %14260 = call ptr @strerror(i32 noundef %14259) #11
  %14261 = call ptr @__errno_location() #12
  %14262 = load i32, ptr %14261, align 4, !tbaa !5
  %14263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14250, ptr noundef @.str.5, i32 noundef %14251, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 420, ptr noundef %14254, ptr noundef %14257, ptr noundef %14260, i32 noundef %14262) #11
  br label %14264

14264:                                            ; preds = %14247, %14230
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #11
  br label %14265

14265:                                            ; preds = %14264
  br label %14266

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

14267:                                            ; No predecessors!
  br label %14268

14268:                                            ; preds = %14267
  br label %14269

14269:                                            ; preds = %14268, %14210
  br label %14270

14270:                                            ; preds = %14269
  br label %14271

14271:                                            ; preds = %14270
  br label %14272

14272:                                            ; preds = %14271
  %14273 = load i32, ptr @test_count, align 4, !tbaa !5
  %14274 = add nsw i32 %14273, 1
  store i32 %14274, ptr @test_count, align 4, !tbaa !5
  %14275 = load ptr, ptr %278, align 8, !tbaa !9
  %14276 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %14275)
  %14277 = icmp eq i32 %14276, -1
  br i1 %14277, label %14278, label %14331

14278:                                            ; preds = %14272
  br label %14279

14279:                                            ; preds = %14278
  br label %14280

14280:                                            ; preds = %14279
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #11
  %14281 = call ptr @__errno_location() #12
  %14282 = load i32, ptr %14281, align 4, !tbaa !5
  store i32 %14282, ptr %285, align 4, !tbaa !5
  %14283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14284 = call i32 @s2n_print_stacktrace(ptr noundef %14283)
  %14285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14286 = trunc i8 %14285 to i1
  br i1 %14286, label %14287, label %14309

14287:                                            ; preds = %14280
  %14288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14289 = call i32 @fileno(ptr noundef %14288) #11
  %14290 = call i32 @isatty(i32 noundef %14289) #11
  %14291 = icmp ne i32 %14290, 0
  br i1 %14291, label %14292, label %14309

14292:                                            ; preds = %14287
  %14293 = load i32, ptr %285, align 4, !tbaa !5
  %14294 = call ptr @__errno_location() #12
  store i32 %14293, ptr %14294, align 4, !tbaa !5
  %14295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14296 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14298, ptr noundef @.str.4)
  %14300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14301 = load i32, ptr %14300, align 4, !tbaa !5
  %14302 = call ptr @s2n_strerror_debug(i32 noundef %14301, ptr noundef @.str.4)
  %14303 = call ptr @__errno_location() #12
  %14304 = load i32, ptr %14303, align 4, !tbaa !5
  %14305 = call ptr @strerror(i32 noundef %14304) #11
  %14306 = call ptr @__errno_location() #12
  %14307 = load i32, ptr %14306, align 4, !tbaa !5
  %14308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14295, ptr noundef @.str.2, i32 noundef %14296, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 421, ptr noundef %14299, ptr noundef %14302, ptr noundef %14305, i32 noundef %14307) #11
  br label %14326

14309:                                            ; preds = %14287, %14280
  %14310 = load i32, ptr %285, align 4, !tbaa !5
  %14311 = call ptr @__errno_location() #12
  store i32 %14310, ptr %14311, align 4, !tbaa !5
  %14312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14313 = load i32, ptr @test_count, align 4, !tbaa !5
  %14314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14315 = load i32, ptr %14314, align 4, !tbaa !5
  %14316 = call ptr @s2n_strerror(i32 noundef %14315, ptr noundef @.str.4)
  %14317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14318 = load i32, ptr %14317, align 4, !tbaa !5
  %14319 = call ptr @s2n_strerror_debug(i32 noundef %14318, ptr noundef @.str.4)
  %14320 = call ptr @__errno_location() #12
  %14321 = load i32, ptr %14320, align 4, !tbaa !5
  %14322 = call ptr @strerror(i32 noundef %14321) #11
  %14323 = call ptr @__errno_location() #12
  %14324 = load i32, ptr %14323, align 4, !tbaa !5
  %14325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14312, ptr noundef @.str.5, i32 noundef %14313, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 421, ptr noundef %14316, ptr noundef %14319, ptr noundef %14322, i32 noundef %14324) #11
  br label %14326

14326:                                            ; preds = %14309, %14292
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #11
  br label %14327

14327:                                            ; preds = %14326
  br label %14328

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

14329:                                            ; No predecessors!
  br label %14330

14330:                                            ; preds = %14329
  br label %14331

14331:                                            ; preds = %14330, %14272
  br label %14332

14332:                                            ; preds = %14331
  br label %14333

14333:                                            ; preds = %14332
  %14334 = load ptr, ptr %277, align 8, !tbaa !9
  %14335 = getelementptr inbounds %struct.s2n_connection, ptr %14334, i32 0, i32 2
  store ptr @security_policy_test_tls13_retry, ptr %14335, align 8, !tbaa !47
  br label %14336

14336:                                            ; preds = %14333
  %14337 = load i32, ptr @test_count, align 4, !tbaa !5
  %14338 = add nsw i32 %14337, 1
  store i32 %14338, ptr @test_count, align 4, !tbaa !5
  %14339 = load ptr, ptr %278, align 8, !tbaa !9
  %14340 = load ptr, ptr %277, align 8, !tbaa !9
  %14341 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %14339, ptr noundef %14340)
  %14342 = icmp eq i32 %14341, -1
  br i1 %14342, label %14343, label %14396

14343:                                            ; preds = %14336
  br label %14344

14344:                                            ; preds = %14343
  br label %14345

14345:                                            ; preds = %14344
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #11
  %14346 = call ptr @__errno_location() #12
  %14347 = load i32, ptr %14346, align 4, !tbaa !5
  store i32 %14347, ptr %286, align 4, !tbaa !5
  %14348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14349 = call i32 @s2n_print_stacktrace(ptr noundef %14348)
  %14350 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14351 = trunc i8 %14350 to i1
  br i1 %14351, label %14352, label %14374

14352:                                            ; preds = %14345
  %14353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14354 = call i32 @fileno(ptr noundef %14353) #11
  %14355 = call i32 @isatty(i32 noundef %14354) #11
  %14356 = icmp ne i32 %14355, 0
  br i1 %14356, label %14357, label %14374

14357:                                            ; preds = %14352
  %14358 = load i32, ptr %286, align 4, !tbaa !5
  %14359 = call ptr @__errno_location() #12
  store i32 %14358, ptr %14359, align 4, !tbaa !5
  %14360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14361 = load i32, ptr @test_count, align 4, !tbaa !5
  %14362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14363 = load i32, ptr %14362, align 4, !tbaa !5
  %14364 = call ptr @s2n_strerror(i32 noundef %14363, ptr noundef @.str.4)
  %14365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14366 = load i32, ptr %14365, align 4, !tbaa !5
  %14367 = call ptr @s2n_strerror_debug(i32 noundef %14366, ptr noundef @.str.4)
  %14368 = call ptr @__errno_location() #12
  %14369 = load i32, ptr %14368, align 4, !tbaa !5
  %14370 = call ptr @strerror(i32 noundef %14369) #11
  %14371 = call ptr @__errno_location() #12
  %14372 = load i32, ptr %14371, align 4, !tbaa !5
  %14373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14360, ptr noundef @.str.2, i32 noundef %14361, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 424, ptr noundef %14364, ptr noundef %14367, ptr noundef %14370, i32 noundef %14372) #11
  br label %14391

14374:                                            ; preds = %14352, %14345
  %14375 = load i32, ptr %286, align 4, !tbaa !5
  %14376 = call ptr @__errno_location() #12
  store i32 %14375, ptr %14376, align 4, !tbaa !5
  %14377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14378 = load i32, ptr @test_count, align 4, !tbaa !5
  %14379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14380 = load i32, ptr %14379, align 4, !tbaa !5
  %14381 = call ptr @s2n_strerror(i32 noundef %14380, ptr noundef @.str.4)
  %14382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14383 = load i32, ptr %14382, align 4, !tbaa !5
  %14384 = call ptr @s2n_strerror_debug(i32 noundef %14383, ptr noundef @.str.4)
  %14385 = call ptr @__errno_location() #12
  %14386 = load i32, ptr %14385, align 4, !tbaa !5
  %14387 = call ptr @strerror(i32 noundef %14386) #11
  %14388 = call ptr @__errno_location() #12
  %14389 = load i32, ptr %14388, align 4, !tbaa !5
  %14390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14377, ptr noundef @.str.5, i32 noundef %14378, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 424, ptr noundef %14381, ptr noundef %14384, ptr noundef %14387, i32 noundef %14389) #11
  br label %14391

14391:                                            ; preds = %14374, %14357
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #11
  br label %14392

14392:                                            ; preds = %14391
  br label %14393

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

14394:                                            ; No predecessors!
  br label %14395

14395:                                            ; preds = %14394
  br label %14396

14396:                                            ; preds = %14395, %14336
  br label %14397

14397:                                            ; preds = %14396
  br label %14398

14398:                                            ; preds = %14397
  br label %14399

14399:                                            ; preds = %14398
  %14400 = load i32, ptr @test_count, align 4, !tbaa !5
  %14401 = add nsw i32 %14400, 1
  store i32 %14401, ptr @test_count, align 4, !tbaa !5
  %14402 = load ptr, ptr %277, align 8, !tbaa !9
  %14403 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %14402, i32 noundef 64)
  br i1 %14403, label %14404, label %14457

14404:                                            ; preds = %14399
  br label %14405

14405:                                            ; preds = %14404
  br label %14406

14406:                                            ; preds = %14405
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #11
  %14407 = call ptr @__errno_location() #12
  %14408 = load i32, ptr %14407, align 4, !tbaa !5
  store i32 %14408, ptr %287, align 4, !tbaa !5
  %14409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14410 = call i32 @s2n_print_stacktrace(ptr noundef %14409)
  %14411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14412 = trunc i8 %14411 to i1
  br i1 %14412, label %14413, label %14435

14413:                                            ; preds = %14406
  %14414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14415 = call i32 @fileno(ptr noundef %14414) #11
  %14416 = call i32 @isatty(i32 noundef %14415) #11
  %14417 = icmp ne i32 %14416, 0
  br i1 %14417, label %14418, label %14435

14418:                                            ; preds = %14413
  %14419 = load i32, ptr %287, align 4, !tbaa !5
  %14420 = call ptr @__errno_location() #12
  store i32 %14419, ptr %14420, align 4, !tbaa !5
  %14421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14422 = load i32, ptr @test_count, align 4, !tbaa !5
  %14423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14424 = load i32, ptr %14423, align 4, !tbaa !5
  %14425 = call ptr @s2n_strerror(i32 noundef %14424, ptr noundef @.str.4)
  %14426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14427 = load i32, ptr %14426, align 4, !tbaa !5
  %14428 = call ptr @s2n_strerror_debug(i32 noundef %14427, ptr noundef @.str.4)
  %14429 = call ptr @__errno_location() #12
  %14430 = load i32, ptr %14429, align 4, !tbaa !5
  %14431 = call ptr @strerror(i32 noundef %14430) #11
  %14432 = call ptr @__errno_location() #12
  %14433 = load i32, ptr %14432, align 4, !tbaa !5
  %14434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14421, ptr noundef @.str.2, i32 noundef %14422, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 426, ptr noundef %14425, ptr noundef %14428, ptr noundef %14431, i32 noundef %14433) #11
  br label %14452

14435:                                            ; preds = %14413, %14406
  %14436 = load i32, ptr %287, align 4, !tbaa !5
  %14437 = call ptr @__errno_location() #12
  store i32 %14436, ptr %14437, align 4, !tbaa !5
  %14438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14439 = load i32, ptr @test_count, align 4, !tbaa !5
  %14440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14441 = load i32, ptr %14440, align 4, !tbaa !5
  %14442 = call ptr @s2n_strerror(i32 noundef %14441, ptr noundef @.str.4)
  %14443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14444 = load i32, ptr %14443, align 4, !tbaa !5
  %14445 = call ptr @s2n_strerror_debug(i32 noundef %14444, ptr noundef @.str.4)
  %14446 = call ptr @__errno_location() #12
  %14447 = load i32, ptr %14446, align 4, !tbaa !5
  %14448 = call ptr @strerror(i32 noundef %14447) #11
  %14449 = call ptr @__errno_location() #12
  %14450 = load i32, ptr %14449, align 4, !tbaa !5
  %14451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14438, ptr noundef @.str.5, i32 noundef %14439, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 426, ptr noundef %14442, ptr noundef %14445, ptr noundef %14448, i32 noundef %14450) #11
  br label %14452

14452:                                            ; preds = %14435, %14418
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #11
  br label %14453

14453:                                            ; preds = %14452
  br label %14454

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

14455:                                            ; No predecessors!
  br label %14456

14456:                                            ; preds = %14455
  br label %14457

14457:                                            ; preds = %14456, %14399
  br label %14458

14458:                                            ; preds = %14457
  br label %14459

14459:                                            ; preds = %14458
  br label %14460

14460:                                            ; preds = %14459
  %14461 = load i32, ptr @test_count, align 4, !tbaa !5
  %14462 = add nsw i32 %14461, 1
  store i32 %14462, ptr @test_count, align 4, !tbaa !5
  %14463 = load ptr, ptr %278, align 8, !tbaa !9
  %14464 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %14463, i32 noundef 64)
  br i1 %14464, label %14465, label %14518

14465:                                            ; preds = %14460
  br label %14466

14466:                                            ; preds = %14465
  br label %14467

14467:                                            ; preds = %14466
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #11
  %14468 = call ptr @__errno_location() #12
  %14469 = load i32, ptr %14468, align 4, !tbaa !5
  store i32 %14469, ptr %288, align 4, !tbaa !5
  %14470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14471 = call i32 @s2n_print_stacktrace(ptr noundef %14470)
  %14472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14473 = trunc i8 %14472 to i1
  br i1 %14473, label %14474, label %14496

14474:                                            ; preds = %14467
  %14475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14476 = call i32 @fileno(ptr noundef %14475) #11
  %14477 = call i32 @isatty(i32 noundef %14476) #11
  %14478 = icmp ne i32 %14477, 0
  br i1 %14478, label %14479, label %14496

14479:                                            ; preds = %14474
  %14480 = load i32, ptr %288, align 4, !tbaa !5
  %14481 = call ptr @__errno_location() #12
  store i32 %14480, ptr %14481, align 4, !tbaa !5
  %14482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14483 = load i32, ptr @test_count, align 4, !tbaa !5
  %14484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14485 = load i32, ptr %14484, align 4, !tbaa !5
  %14486 = call ptr @s2n_strerror(i32 noundef %14485, ptr noundef @.str.4)
  %14487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14488 = load i32, ptr %14487, align 4, !tbaa !5
  %14489 = call ptr @s2n_strerror_debug(i32 noundef %14488, ptr noundef @.str.4)
  %14490 = call ptr @__errno_location() #12
  %14491 = load i32, ptr %14490, align 4, !tbaa !5
  %14492 = call ptr @strerror(i32 noundef %14491) #11
  %14493 = call ptr @__errno_location() #12
  %14494 = load i32, ptr %14493, align 4, !tbaa !5
  %14495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14482, ptr noundef @.str.2, i32 noundef %14483, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 427, ptr noundef %14486, ptr noundef %14489, ptr noundef %14492, i32 noundef %14494) #11
  br label %14513

14496:                                            ; preds = %14474, %14467
  %14497 = load i32, ptr %288, align 4, !tbaa !5
  %14498 = call ptr @__errno_location() #12
  store i32 %14497, ptr %14498, align 4, !tbaa !5
  %14499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14500 = load i32, ptr @test_count, align 4, !tbaa !5
  %14501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14502 = load i32, ptr %14501, align 4, !tbaa !5
  %14503 = call ptr @s2n_strerror(i32 noundef %14502, ptr noundef @.str.4)
  %14504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14505 = load i32, ptr %14504, align 4, !tbaa !5
  %14506 = call ptr @s2n_strerror_debug(i32 noundef %14505, ptr noundef @.str.4)
  %14507 = call ptr @__errno_location() #12
  %14508 = load i32, ptr %14507, align 4, !tbaa !5
  %14509 = call ptr @strerror(i32 noundef %14508) #11
  %14510 = call ptr @__errno_location() #12
  %14511 = load i32, ptr %14510, align 4, !tbaa !5
  %14512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14499, ptr noundef @.str.5, i32 noundef %14500, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 427, ptr noundef %14503, ptr noundef %14506, ptr noundef %14509, i32 noundef %14511) #11
  br label %14513

14513:                                            ; preds = %14496, %14479
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #11
  br label %14514

14514:                                            ; preds = %14513
  br label %14515

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

14516:                                            ; No predecessors!
  br label %14517

14517:                                            ; preds = %14516
  br label %14518

14518:                                            ; preds = %14517, %14460
  br label %14519

14519:                                            ; preds = %14518
  br label %14520

14520:                                            ; preds = %14519
  br label %14521

14521:                                            ; preds = %14520
  %14522 = load i32, ptr @test_count, align 4, !tbaa !5
  %14523 = add nsw i32 %14522, 1
  store i32 %14523, ptr @test_count, align 4, !tbaa !5
  %14524 = load ptr, ptr %277, align 8, !tbaa !9
  %14525 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %14524, i32 noundef 128)
  br i1 %14525, label %14579, label %14526

14526:                                            ; preds = %14521
  br label %14527

14527:                                            ; preds = %14526
  br label %14528

14528:                                            ; preds = %14527
  call void @llvm.lifetime.start.p0(i64 4, ptr %289) #11
  %14529 = call ptr @__errno_location() #12
  %14530 = load i32, ptr %14529, align 4, !tbaa !5
  store i32 %14530, ptr %289, align 4, !tbaa !5
  %14531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14532 = call i32 @s2n_print_stacktrace(ptr noundef %14531)
  %14533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14534 = trunc i8 %14533 to i1
  br i1 %14534, label %14535, label %14557

14535:                                            ; preds = %14528
  %14536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14537 = call i32 @fileno(ptr noundef %14536) #11
  %14538 = call i32 @isatty(i32 noundef %14537) #11
  %14539 = icmp ne i32 %14538, 0
  br i1 %14539, label %14540, label %14557

14540:                                            ; preds = %14535
  %14541 = load i32, ptr %289, align 4, !tbaa !5
  %14542 = call ptr @__errno_location() #12
  store i32 %14541, ptr %14542, align 4, !tbaa !5
  %14543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14544 = load i32, ptr @test_count, align 4, !tbaa !5
  %14545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14546 = load i32, ptr %14545, align 4, !tbaa !5
  %14547 = call ptr @s2n_strerror(i32 noundef %14546, ptr noundef @.str.4)
  %14548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14549 = load i32, ptr %14548, align 4, !tbaa !5
  %14550 = call ptr @s2n_strerror_debug(i32 noundef %14549, ptr noundef @.str.4)
  %14551 = call ptr @__errno_location() #12
  %14552 = load i32, ptr %14551, align 4, !tbaa !5
  %14553 = call ptr @strerror(i32 noundef %14552) #11
  %14554 = call ptr @__errno_location() #12
  %14555 = load i32, ptr %14554, align 4, !tbaa !5
  %14556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14543, ptr noundef @.str.2, i32 noundef %14544, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 428, ptr noundef %14547, ptr noundef %14550, ptr noundef %14553, i32 noundef %14555) #11
  br label %14574

14557:                                            ; preds = %14535, %14528
  %14558 = load i32, ptr %289, align 4, !tbaa !5
  %14559 = call ptr @__errno_location() #12
  store i32 %14558, ptr %14559, align 4, !tbaa !5
  %14560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14561 = load i32, ptr @test_count, align 4, !tbaa !5
  %14562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14563 = load i32, ptr %14562, align 4, !tbaa !5
  %14564 = call ptr @s2n_strerror(i32 noundef %14563, ptr noundef @.str.4)
  %14565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14566 = load i32, ptr %14565, align 4, !tbaa !5
  %14567 = call ptr @s2n_strerror_debug(i32 noundef %14566, ptr noundef @.str.4)
  %14568 = call ptr @__errno_location() #12
  %14569 = load i32, ptr %14568, align 4, !tbaa !5
  %14570 = call ptr @strerror(i32 noundef %14569) #11
  %14571 = call ptr @__errno_location() #12
  %14572 = load i32, ptr %14571, align 4, !tbaa !5
  %14573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14560, ptr noundef @.str.5, i32 noundef %14561, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 428, ptr noundef %14564, ptr noundef %14567, ptr noundef %14570, i32 noundef %14572) #11
  br label %14574

14574:                                            ; preds = %14557, %14540
  call void @llvm.lifetime.end.p0(i64 4, ptr %289) #11
  br label %14575

14575:                                            ; preds = %14574
  br label %14576

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

14577:                                            ; No predecessors!
  br label %14578

14578:                                            ; preds = %14577
  br label %14579

14579:                                            ; preds = %14578, %14521
  br label %14580

14580:                                            ; preds = %14579
  br label %14581

14581:                                            ; preds = %14580
  br label %14582

14582:                                            ; preds = %14581
  %14583 = load i32, ptr @test_count, align 4, !tbaa !5
  %14584 = add nsw i32 %14583, 1
  store i32 %14584, ptr @test_count, align 4, !tbaa !5
  %14585 = load ptr, ptr %278, align 8, !tbaa !9
  %14586 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %14585, i32 noundef 128)
  br i1 %14586, label %14640, label %14587

14587:                                            ; preds = %14582
  br label %14588

14588:                                            ; preds = %14587
  br label %14589

14589:                                            ; preds = %14588
  call void @llvm.lifetime.start.p0(i64 4, ptr %290) #11
  %14590 = call ptr @__errno_location() #12
  %14591 = load i32, ptr %14590, align 4, !tbaa !5
  store i32 %14591, ptr %290, align 4, !tbaa !5
  %14592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14593 = call i32 @s2n_print_stacktrace(ptr noundef %14592)
  %14594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14595 = trunc i8 %14594 to i1
  br i1 %14595, label %14596, label %14618

14596:                                            ; preds = %14589
  %14597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14598 = call i32 @fileno(ptr noundef %14597) #11
  %14599 = call i32 @isatty(i32 noundef %14598) #11
  %14600 = icmp ne i32 %14599, 0
  br i1 %14600, label %14601, label %14618

14601:                                            ; preds = %14596
  %14602 = load i32, ptr %290, align 4, !tbaa !5
  %14603 = call ptr @__errno_location() #12
  store i32 %14602, ptr %14603, align 4, !tbaa !5
  %14604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14605 = load i32, ptr @test_count, align 4, !tbaa !5
  %14606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14607 = load i32, ptr %14606, align 4, !tbaa !5
  %14608 = call ptr @s2n_strerror(i32 noundef %14607, ptr noundef @.str.4)
  %14609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14610 = load i32, ptr %14609, align 4, !tbaa !5
  %14611 = call ptr @s2n_strerror_debug(i32 noundef %14610, ptr noundef @.str.4)
  %14612 = call ptr @__errno_location() #12
  %14613 = load i32, ptr %14612, align 4, !tbaa !5
  %14614 = call ptr @strerror(i32 noundef %14613) #11
  %14615 = call ptr @__errno_location() #12
  %14616 = load i32, ptr %14615, align 4, !tbaa !5
  %14617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14604, ptr noundef @.str.2, i32 noundef %14605, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 429, ptr noundef %14608, ptr noundef %14611, ptr noundef %14614, i32 noundef %14616) #11
  br label %14635

14618:                                            ; preds = %14596, %14589
  %14619 = load i32, ptr %290, align 4, !tbaa !5
  %14620 = call ptr @__errno_location() #12
  store i32 %14619, ptr %14620, align 4, !tbaa !5
  %14621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14622 = load i32, ptr @test_count, align 4, !tbaa !5
  %14623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14624 = load i32, ptr %14623, align 4, !tbaa !5
  %14625 = call ptr @s2n_strerror(i32 noundef %14624, ptr noundef @.str.4)
  %14626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14627 = load i32, ptr %14626, align 4, !tbaa !5
  %14628 = call ptr @s2n_strerror_debug(i32 noundef %14627, ptr noundef @.str.4)
  %14629 = call ptr @__errno_location() #12
  %14630 = load i32, ptr %14629, align 4, !tbaa !5
  %14631 = call ptr @strerror(i32 noundef %14630) #11
  %14632 = call ptr @__errno_location() #12
  %14633 = load i32, ptr %14632, align 4, !tbaa !5
  %14634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14621, ptr noundef @.str.5, i32 noundef %14622, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 429, ptr noundef %14625, ptr noundef %14628, ptr noundef %14631, i32 noundef %14633) #11
  br label %14635

14635:                                            ; preds = %14618, %14601
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #11
  br label %14636

14636:                                            ; preds = %14635
  br label %14637

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

14638:                                            ; No predecessors!
  br label %14639

14639:                                            ; preds = %14638
  br label %14640

14640:                                            ; preds = %14639, %14582
  br label %14641

14641:                                            ; preds = %14640
  br label %14642

14642:                                            ; preds = %14641
  br label %14643

14643:                                            ; preds = %14642
  %14644 = load i32, ptr @test_count, align 4, !tbaa !5
  %14645 = add nsw i32 %14644, 1
  store i32 %14645, ptr @test_count, align 4, !tbaa !5
  %14646 = load ptr, ptr %277, align 8, !tbaa !9
  %14647 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %14646, i32 noundef 2)
  br i1 %14647, label %14648, label %14701

14648:                                            ; preds = %14643
  br label %14649

14649:                                            ; preds = %14648
  br label %14650

14650:                                            ; preds = %14649
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #11
  %14651 = call ptr @__errno_location() #12
  %14652 = load i32, ptr %14651, align 4, !tbaa !5
  store i32 %14652, ptr %291, align 4, !tbaa !5
  %14653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14654 = call i32 @s2n_print_stacktrace(ptr noundef %14653)
  %14655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14656 = trunc i8 %14655 to i1
  br i1 %14656, label %14657, label %14679

14657:                                            ; preds = %14650
  %14658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14659 = call i32 @fileno(ptr noundef %14658) #11
  %14660 = call i32 @isatty(i32 noundef %14659) #11
  %14661 = icmp ne i32 %14660, 0
  br i1 %14661, label %14662, label %14679

14662:                                            ; preds = %14657
  %14663 = load i32, ptr %291, align 4, !tbaa !5
  %14664 = call ptr @__errno_location() #12
  store i32 %14663, ptr %14664, align 4, !tbaa !5
  %14665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14666 = load i32, ptr @test_count, align 4, !tbaa !5
  %14667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14668 = load i32, ptr %14667, align 4, !tbaa !5
  %14669 = call ptr @s2n_strerror(i32 noundef %14668, ptr noundef @.str.4)
  %14670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14671 = load i32, ptr %14670, align 4, !tbaa !5
  %14672 = call ptr @s2n_strerror_debug(i32 noundef %14671, ptr noundef @.str.4)
  %14673 = call ptr @__errno_location() #12
  %14674 = load i32, ptr %14673, align 4, !tbaa !5
  %14675 = call ptr @strerror(i32 noundef %14674) #11
  %14676 = call ptr @__errno_location() #12
  %14677 = load i32, ptr %14676, align 4, !tbaa !5
  %14678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14665, ptr noundef @.str.2, i32 noundef %14666, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 430, ptr noundef %14669, ptr noundef %14672, ptr noundef %14675, i32 noundef %14677) #11
  br label %14696

14679:                                            ; preds = %14657, %14650
  %14680 = load i32, ptr %291, align 4, !tbaa !5
  %14681 = call ptr @__errno_location() #12
  store i32 %14680, ptr %14681, align 4, !tbaa !5
  %14682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14683 = load i32, ptr @test_count, align 4, !tbaa !5
  %14684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14685 = load i32, ptr %14684, align 4, !tbaa !5
  %14686 = call ptr @s2n_strerror(i32 noundef %14685, ptr noundef @.str.4)
  %14687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14688 = load i32, ptr %14687, align 4, !tbaa !5
  %14689 = call ptr @s2n_strerror_debug(i32 noundef %14688, ptr noundef @.str.4)
  %14690 = call ptr @__errno_location() #12
  %14691 = load i32, ptr %14690, align 4, !tbaa !5
  %14692 = call ptr @strerror(i32 noundef %14691) #11
  %14693 = call ptr @__errno_location() #12
  %14694 = load i32, ptr %14693, align 4, !tbaa !5
  %14695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14682, ptr noundef @.str.5, i32 noundef %14683, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 430, ptr noundef %14686, ptr noundef %14689, ptr noundef %14692, i32 noundef %14694) #11
  br label %14696

14696:                                            ; preds = %14679, %14662
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #11
  br label %14697

14697:                                            ; preds = %14696
  br label %14698

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

14699:                                            ; No predecessors!
  br label %14700

14700:                                            ; preds = %14699
  br label %14701

14701:                                            ; preds = %14700, %14643
  br label %14702

14702:                                            ; preds = %14701
  br label %14703

14703:                                            ; preds = %14702
  br label %14704

14704:                                            ; preds = %14703
  %14705 = load i32, ptr @test_count, align 4, !tbaa !5
  %14706 = add nsw i32 %14705, 1
  store i32 %14706, ptr @test_count, align 4, !tbaa !5
  %14707 = load ptr, ptr %278, align 8, !tbaa !9
  %14708 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %14707, i32 noundef 2)
  br i1 %14708, label %14709, label %14762

14709:                                            ; preds = %14704
  br label %14710

14710:                                            ; preds = %14709
  br label %14711

14711:                                            ; preds = %14710
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #11
  %14712 = call ptr @__errno_location() #12
  %14713 = load i32, ptr %14712, align 4, !tbaa !5
  store i32 %14713, ptr %292, align 4, !tbaa !5
  %14714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14715 = call i32 @s2n_print_stacktrace(ptr noundef %14714)
  %14716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14717 = trunc i8 %14716 to i1
  br i1 %14717, label %14718, label %14740

14718:                                            ; preds = %14711
  %14719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14720 = call i32 @fileno(ptr noundef %14719) #11
  %14721 = call i32 @isatty(i32 noundef %14720) #11
  %14722 = icmp ne i32 %14721, 0
  br i1 %14722, label %14723, label %14740

14723:                                            ; preds = %14718
  %14724 = load i32, ptr %292, align 4, !tbaa !5
  %14725 = call ptr @__errno_location() #12
  store i32 %14724, ptr %14725, align 4, !tbaa !5
  %14726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14727 = load i32, ptr @test_count, align 4, !tbaa !5
  %14728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14729 = load i32, ptr %14728, align 4, !tbaa !5
  %14730 = call ptr @s2n_strerror(i32 noundef %14729, ptr noundef @.str.4)
  %14731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14732 = load i32, ptr %14731, align 4, !tbaa !5
  %14733 = call ptr @s2n_strerror_debug(i32 noundef %14732, ptr noundef @.str.4)
  %14734 = call ptr @__errno_location() #12
  %14735 = load i32, ptr %14734, align 4, !tbaa !5
  %14736 = call ptr @strerror(i32 noundef %14735) #11
  %14737 = call ptr @__errno_location() #12
  %14738 = load i32, ptr %14737, align 4, !tbaa !5
  %14739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14726, ptr noundef @.str.2, i32 noundef %14727, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 431, ptr noundef %14730, ptr noundef %14733, ptr noundef %14736, i32 noundef %14738) #11
  br label %14757

14740:                                            ; preds = %14718, %14711
  %14741 = load i32, ptr %292, align 4, !tbaa !5
  %14742 = call ptr @__errno_location() #12
  store i32 %14741, ptr %14742, align 4, !tbaa !5
  %14743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14744 = load i32, ptr @test_count, align 4, !tbaa !5
  %14745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14746 = load i32, ptr %14745, align 4, !tbaa !5
  %14747 = call ptr @s2n_strerror(i32 noundef %14746, ptr noundef @.str.4)
  %14748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14749 = load i32, ptr %14748, align 4, !tbaa !5
  %14750 = call ptr @s2n_strerror_debug(i32 noundef %14749, ptr noundef @.str.4)
  %14751 = call ptr @__errno_location() #12
  %14752 = load i32, ptr %14751, align 4, !tbaa !5
  %14753 = call ptr @strerror(i32 noundef %14752) #11
  %14754 = call ptr @__errno_location() #12
  %14755 = load i32, ptr %14754, align 4, !tbaa !5
  %14756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14743, ptr noundef @.str.5, i32 noundef %14744, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 431, ptr noundef %14747, ptr noundef %14750, ptr noundef %14753, i32 noundef %14755) #11
  br label %14757

14757:                                            ; preds = %14740, %14723
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #11
  br label %14758

14758:                                            ; preds = %14757
  br label %14759

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

14760:                                            ; No predecessors!
  br label %14761

14761:                                            ; preds = %14760
  br label %14762

14762:                                            ; preds = %14761, %14704
  br label %14763

14763:                                            ; preds = %14762
  br label %14764

14764:                                            ; preds = %14763
  br label %14765

14765:                                            ; preds = %14764
  %14766 = load i32, ptr @test_count, align 4, !tbaa !5
  %14767 = add nsw i32 %14766, 1
  store i32 %14767, ptr @test_count, align 4, !tbaa !5
  %14768 = load ptr, ptr %277, align 8, !tbaa !9
  %14769 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %14768, i32 noundef 16)
  br i1 %14769, label %14823, label %14770

14770:                                            ; preds = %14765
  br label %14771

14771:                                            ; preds = %14770
  br label %14772

14772:                                            ; preds = %14771
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #11
  %14773 = call ptr @__errno_location() #12
  %14774 = load i32, ptr %14773, align 4, !tbaa !5
  store i32 %14774, ptr %293, align 4, !tbaa !5
  %14775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14776 = call i32 @s2n_print_stacktrace(ptr noundef %14775)
  %14777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14778 = trunc i8 %14777 to i1
  br i1 %14778, label %14779, label %14801

14779:                                            ; preds = %14772
  %14780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14781 = call i32 @fileno(ptr noundef %14780) #11
  %14782 = call i32 @isatty(i32 noundef %14781) #11
  %14783 = icmp ne i32 %14782, 0
  br i1 %14783, label %14784, label %14801

14784:                                            ; preds = %14779
  %14785 = load i32, ptr %293, align 4, !tbaa !5
  %14786 = call ptr @__errno_location() #12
  store i32 %14785, ptr %14786, align 4, !tbaa !5
  %14787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14788 = load i32, ptr @test_count, align 4, !tbaa !5
  %14789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14790 = load i32, ptr %14789, align 4, !tbaa !5
  %14791 = call ptr @s2n_strerror(i32 noundef %14790, ptr noundef @.str.4)
  %14792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14793 = load i32, ptr %14792, align 4, !tbaa !5
  %14794 = call ptr @s2n_strerror_debug(i32 noundef %14793, ptr noundef @.str.4)
  %14795 = call ptr @__errno_location() #12
  %14796 = load i32, ptr %14795, align 4, !tbaa !5
  %14797 = call ptr @strerror(i32 noundef %14796) #11
  %14798 = call ptr @__errno_location() #12
  %14799 = load i32, ptr %14798, align 4, !tbaa !5
  %14800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14787, ptr noundef @.str.2, i32 noundef %14788, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 432, ptr noundef %14791, ptr noundef %14794, ptr noundef %14797, i32 noundef %14799) #11
  br label %14818

14801:                                            ; preds = %14779, %14772
  %14802 = load i32, ptr %293, align 4, !tbaa !5
  %14803 = call ptr @__errno_location() #12
  store i32 %14802, ptr %14803, align 4, !tbaa !5
  %14804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14805 = load i32, ptr @test_count, align 4, !tbaa !5
  %14806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14807 = load i32, ptr %14806, align 4, !tbaa !5
  %14808 = call ptr @s2n_strerror(i32 noundef %14807, ptr noundef @.str.4)
  %14809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14810 = load i32, ptr %14809, align 4, !tbaa !5
  %14811 = call ptr @s2n_strerror_debug(i32 noundef %14810, ptr noundef @.str.4)
  %14812 = call ptr @__errno_location() #12
  %14813 = load i32, ptr %14812, align 4, !tbaa !5
  %14814 = call ptr @strerror(i32 noundef %14813) #11
  %14815 = call ptr @__errno_location() #12
  %14816 = load i32, ptr %14815, align 4, !tbaa !5
  %14817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14804, ptr noundef @.str.5, i32 noundef %14805, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 432, ptr noundef %14808, ptr noundef %14811, ptr noundef %14814, i32 noundef %14816) #11
  br label %14818

14818:                                            ; preds = %14801, %14784
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #11
  br label %14819

14819:                                            ; preds = %14818
  br label %14820

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

14821:                                            ; No predecessors!
  br label %14822

14822:                                            ; preds = %14821
  br label %14823

14823:                                            ; preds = %14822, %14765
  br label %14824

14824:                                            ; preds = %14823
  br label %14825

14825:                                            ; preds = %14824
  br label %14826

14826:                                            ; preds = %14825
  %14827 = load i32, ptr @test_count, align 4, !tbaa !5
  %14828 = add nsw i32 %14827, 1
  store i32 %14828, ptr @test_count, align 4, !tbaa !5
  %14829 = load ptr, ptr %278, align 8, !tbaa !9
  %14830 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %14829, i32 noundef 16)
  br i1 %14830, label %14884, label %14831

14831:                                            ; preds = %14826
  br label %14832

14832:                                            ; preds = %14831
  br label %14833

14833:                                            ; preds = %14832
  call void @llvm.lifetime.start.p0(i64 4, ptr %294) #11
  %14834 = call ptr @__errno_location() #12
  %14835 = load i32, ptr %14834, align 4, !tbaa !5
  store i32 %14835, ptr %294, align 4, !tbaa !5
  %14836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14837 = call i32 @s2n_print_stacktrace(ptr noundef %14836)
  %14838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14839 = trunc i8 %14838 to i1
  br i1 %14839, label %14840, label %14862

14840:                                            ; preds = %14833
  %14841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14842 = call i32 @fileno(ptr noundef %14841) #11
  %14843 = call i32 @isatty(i32 noundef %14842) #11
  %14844 = icmp ne i32 %14843, 0
  br i1 %14844, label %14845, label %14862

14845:                                            ; preds = %14840
  %14846 = load i32, ptr %294, align 4, !tbaa !5
  %14847 = call ptr @__errno_location() #12
  store i32 %14846, ptr %14847, align 4, !tbaa !5
  %14848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14849 = load i32, ptr @test_count, align 4, !tbaa !5
  %14850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14851 = load i32, ptr %14850, align 4, !tbaa !5
  %14852 = call ptr @s2n_strerror(i32 noundef %14851, ptr noundef @.str.4)
  %14853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14854 = load i32, ptr %14853, align 4, !tbaa !5
  %14855 = call ptr @s2n_strerror_debug(i32 noundef %14854, ptr noundef @.str.4)
  %14856 = call ptr @__errno_location() #12
  %14857 = load i32, ptr %14856, align 4, !tbaa !5
  %14858 = call ptr @strerror(i32 noundef %14857) #11
  %14859 = call ptr @__errno_location() #12
  %14860 = load i32, ptr %14859, align 4, !tbaa !5
  %14861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14848, ptr noundef @.str.2, i32 noundef %14849, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 433, ptr noundef %14852, ptr noundef %14855, ptr noundef %14858, i32 noundef %14860) #11
  br label %14879

14862:                                            ; preds = %14840, %14833
  %14863 = load i32, ptr %294, align 4, !tbaa !5
  %14864 = call ptr @__errno_location() #12
  store i32 %14863, ptr %14864, align 4, !tbaa !5
  %14865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14866 = load i32, ptr @test_count, align 4, !tbaa !5
  %14867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14868 = load i32, ptr %14867, align 4, !tbaa !5
  %14869 = call ptr @s2n_strerror(i32 noundef %14868, ptr noundef @.str.4)
  %14870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14871 = load i32, ptr %14870, align 4, !tbaa !5
  %14872 = call ptr @s2n_strerror_debug(i32 noundef %14871, ptr noundef @.str.4)
  %14873 = call ptr @__errno_location() #12
  %14874 = load i32, ptr %14873, align 4, !tbaa !5
  %14875 = call ptr @strerror(i32 noundef %14874) #11
  %14876 = call ptr @__errno_location() #12
  %14877 = load i32, ptr %14876, align 4, !tbaa !5
  %14878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14865, ptr noundef @.str.5, i32 noundef %14866, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 433, ptr noundef %14869, ptr noundef %14872, ptr noundef %14875, i32 noundef %14877) #11
  br label %14879

14879:                                            ; preds = %14862, %14845
  call void @llvm.lifetime.end.p0(i64 4, ptr %294) #11
  br label %14880

14880:                                            ; preds = %14879
  br label %14881

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

14882:                                            ; No predecessors!
  br label %14883

14883:                                            ; preds = %14882
  br label %14884

14884:                                            ; preds = %14883, %14826
  br label %14885

14885:                                            ; preds = %14884
  br label %14886

14886:                                            ; preds = %14885
  br label %14887

14887:                                            ; preds = %14886
  %14888 = load i32, ptr @test_count, align 4, !tbaa !5
  %14889 = add nsw i32 %14888, 1
  store i32 %14889, ptr @test_count, align 4, !tbaa !5
  %14890 = load ptr, ptr %277, align 8, !tbaa !9
  %14891 = call i32 @s2n_conn_get_current_message_type(ptr noundef %14890)
  %14892 = icmp eq i32 %14891, 20
  br i1 %14892, label %14946, label %14893

14893:                                            ; preds = %14887
  br label %14894

14894:                                            ; preds = %14893
  br label %14895

14895:                                            ; preds = %14894
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #11
  %14896 = call ptr @__errno_location() #12
  %14897 = load i32, ptr %14896, align 4, !tbaa !5
  store i32 %14897, ptr %295, align 4, !tbaa !5
  %14898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14899 = call i32 @s2n_print_stacktrace(ptr noundef %14898)
  %14900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14901 = trunc i8 %14900 to i1
  br i1 %14901, label %14902, label %14924

14902:                                            ; preds = %14895
  %14903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14904 = call i32 @fileno(ptr noundef %14903) #11
  %14905 = call i32 @isatty(i32 noundef %14904) #11
  %14906 = icmp ne i32 %14905, 0
  br i1 %14906, label %14907, label %14924

14907:                                            ; preds = %14902
  %14908 = load i32, ptr %295, align 4, !tbaa !5
  %14909 = call ptr @__errno_location() #12
  store i32 %14908, ptr %14909, align 4, !tbaa !5
  %14910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14911 = load i32, ptr @test_count, align 4, !tbaa !5
  %14912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14913 = load i32, ptr %14912, align 4, !tbaa !5
  %14914 = call ptr @s2n_strerror(i32 noundef %14913, ptr noundef @.str.4)
  %14915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14916 = load i32, ptr %14915, align 4, !tbaa !5
  %14917 = call ptr @s2n_strerror_debug(i32 noundef %14916, ptr noundef @.str.4)
  %14918 = call ptr @__errno_location() #12
  %14919 = load i32, ptr %14918, align 4, !tbaa !5
  %14920 = call ptr @strerror(i32 noundef %14919) #11
  %14921 = call ptr @__errno_location() #12
  %14922 = load i32, ptr %14921, align 4, !tbaa !5
  %14923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14910, ptr noundef @.str.2, i32 noundef %14911, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 434, ptr noundef %14914, ptr noundef %14917, ptr noundef %14920, i32 noundef %14922) #11
  br label %14941

14924:                                            ; preds = %14902, %14895
  %14925 = load i32, ptr %295, align 4, !tbaa !5
  %14926 = call ptr @__errno_location() #12
  store i32 %14925, ptr %14926, align 4, !tbaa !5
  %14927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14928 = load i32, ptr @test_count, align 4, !tbaa !5
  %14929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14930 = load i32, ptr %14929, align 4, !tbaa !5
  %14931 = call ptr @s2n_strerror(i32 noundef %14930, ptr noundef @.str.4)
  %14932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14933 = load i32, ptr %14932, align 4, !tbaa !5
  %14934 = call ptr @s2n_strerror_debug(i32 noundef %14933, ptr noundef @.str.4)
  %14935 = call ptr @__errno_location() #12
  %14936 = load i32, ptr %14935, align 4, !tbaa !5
  %14937 = call ptr @strerror(i32 noundef %14936) #11
  %14938 = call ptr @__errno_location() #12
  %14939 = load i32, ptr %14938, align 4, !tbaa !5
  %14940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14927, ptr noundef @.str.5, i32 noundef %14928, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 434, ptr noundef %14931, ptr noundef %14934, ptr noundef %14937, i32 noundef %14939) #11
  br label %14941

14941:                                            ; preds = %14924, %14907
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #11
  br label %14942

14942:                                            ; preds = %14941
  br label %14943

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

14944:                                            ; No predecessors!
  br label %14945

14945:                                            ; preds = %14944
  br label %14946

14946:                                            ; preds = %14945, %14887
  br label %14947

14947:                                            ; preds = %14946
  br label %14948

14948:                                            ; preds = %14947
  br label %14949

14949:                                            ; preds = %14948
  %14950 = load i32, ptr @test_count, align 4, !tbaa !5
  %14951 = add nsw i32 %14950, 1
  store i32 %14951, ptr @test_count, align 4, !tbaa !5
  %14952 = load ptr, ptr %278, align 8, !tbaa !9
  %14953 = call i32 @s2n_conn_get_current_message_type(ptr noundef %14952)
  %14954 = icmp eq i32 %14953, 20
  br i1 %14954, label %15008, label %14955

14955:                                            ; preds = %14949
  br label %14956

14956:                                            ; preds = %14955
  br label %14957

14957:                                            ; preds = %14956
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #11
  %14958 = call ptr @__errno_location() #12
  %14959 = load i32, ptr %14958, align 4, !tbaa !5
  store i32 %14959, ptr %296, align 4, !tbaa !5
  %14960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14961 = call i32 @s2n_print_stacktrace(ptr noundef %14960)
  %14962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14963 = trunc i8 %14962 to i1
  br i1 %14963, label %14964, label %14986

14964:                                            ; preds = %14957
  %14965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14966 = call i32 @fileno(ptr noundef %14965) #11
  %14967 = call i32 @isatty(i32 noundef %14966) #11
  %14968 = icmp ne i32 %14967, 0
  br i1 %14968, label %14969, label %14986

14969:                                            ; preds = %14964
  %14970 = load i32, ptr %296, align 4, !tbaa !5
  %14971 = call ptr @__errno_location() #12
  store i32 %14970, ptr %14971, align 4, !tbaa !5
  %14972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14973 = load i32, ptr @test_count, align 4, !tbaa !5
  %14974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14975 = load i32, ptr %14974, align 4, !tbaa !5
  %14976 = call ptr @s2n_strerror(i32 noundef %14975, ptr noundef @.str.4)
  %14977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14978 = load i32, ptr %14977, align 4, !tbaa !5
  %14979 = call ptr @s2n_strerror_debug(i32 noundef %14978, ptr noundef @.str.4)
  %14980 = call ptr @__errno_location() #12
  %14981 = load i32, ptr %14980, align 4, !tbaa !5
  %14982 = call ptr @strerror(i32 noundef %14981) #11
  %14983 = call ptr @__errno_location() #12
  %14984 = load i32, ptr %14983, align 4, !tbaa !5
  %14985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14972, ptr noundef @.str.2, i32 noundef %14973, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 435, ptr noundef %14976, ptr noundef %14979, ptr noundef %14982, i32 noundef %14984) #11
  br label %15003

14986:                                            ; preds = %14964, %14957
  %14987 = load i32, ptr %296, align 4, !tbaa !5
  %14988 = call ptr @__errno_location() #12
  store i32 %14987, ptr %14988, align 4, !tbaa !5
  %14989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14990 = load i32, ptr @test_count, align 4, !tbaa !5
  %14991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14992 = load i32, ptr %14991, align 4, !tbaa !5
  %14993 = call ptr @s2n_strerror(i32 noundef %14992, ptr noundef @.str.4)
  %14994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14995 = load i32, ptr %14994, align 4, !tbaa !5
  %14996 = call ptr @s2n_strerror_debug(i32 noundef %14995, ptr noundef @.str.4)
  %14997 = call ptr @__errno_location() #12
  %14998 = load i32, ptr %14997, align 4, !tbaa !5
  %14999 = call ptr @strerror(i32 noundef %14998) #11
  %15000 = call ptr @__errno_location() #12
  %15001 = load i32, ptr %15000, align 4, !tbaa !5
  %15002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14989, ptr noundef @.str.5, i32 noundef %14990, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 435, ptr noundef %14993, ptr noundef %14996, ptr noundef %14999, i32 noundef %15001) #11
  br label %15003

15003:                                            ; preds = %14986, %14969
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #11
  br label %15004

15004:                                            ; preds = %15003
  br label %15005

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

15006:                                            ; No predecessors!
  br label %15007

15007:                                            ; preds = %15006
  br label %15008

15008:                                            ; preds = %15007, %14949
  br label %15009

15009:                                            ; preds = %15008
  br label %15010

15010:                                            ; preds = %15009
  br label %15011

15011:                                            ; preds = %15010
  %15012 = load i32, ptr @test_count, align 4, !tbaa !5
  %15013 = add nsw i32 %15012, 1
  store i32 %15013, ptr @test_count, align 4, !tbaa !5
  %15014 = load ptr, ptr %278, align 8, !tbaa !9
  %15015 = load ptr, ptr %277, align 8, !tbaa !9
  %15016 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %15014, ptr noundef %15015)
  %15017 = icmp eq i32 %15016, -1
  br i1 %15017, label %15018, label %15071

15018:                                            ; preds = %15011
  br label %15019

15019:                                            ; preds = %15018
  br label %15020

15020:                                            ; preds = %15019
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #11
  %15021 = call ptr @__errno_location() #12
  %15022 = load i32, ptr %15021, align 4, !tbaa !5
  store i32 %15022, ptr %297, align 4, !tbaa !5
  %15023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15024 = call i32 @s2n_print_stacktrace(ptr noundef %15023)
  %15025 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15026 = trunc i8 %15025 to i1
  br i1 %15026, label %15027, label %15049

15027:                                            ; preds = %15020
  %15028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15029 = call i32 @fileno(ptr noundef %15028) #11
  %15030 = call i32 @isatty(i32 noundef %15029) #11
  %15031 = icmp ne i32 %15030, 0
  br i1 %15031, label %15032, label %15049

15032:                                            ; preds = %15027
  %15033 = load i32, ptr %297, align 4, !tbaa !5
  %15034 = call ptr @__errno_location() #12
  store i32 %15033, ptr %15034, align 4, !tbaa !5
  %15035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15036 = load i32, ptr @test_count, align 4, !tbaa !5
  %15037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15038 = load i32, ptr %15037, align 4, !tbaa !5
  %15039 = call ptr @s2n_strerror(i32 noundef %15038, ptr noundef @.str.4)
  %15040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15041 = load i32, ptr %15040, align 4, !tbaa !5
  %15042 = call ptr @s2n_strerror_debug(i32 noundef %15041, ptr noundef @.str.4)
  %15043 = call ptr @__errno_location() #12
  %15044 = load i32, ptr %15043, align 4, !tbaa !5
  %15045 = call ptr @strerror(i32 noundef %15044) #11
  %15046 = call ptr @__errno_location() #12
  %15047 = load i32, ptr %15046, align 4, !tbaa !5
  %15048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15035, ptr noundef @.str.2, i32 noundef %15036, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 437, ptr noundef %15039, ptr noundef %15042, ptr noundef %15045, i32 noundef %15047) #11
  br label %15066

15049:                                            ; preds = %15027, %15020
  %15050 = load i32, ptr %297, align 4, !tbaa !5
  %15051 = call ptr @__errno_location() #12
  store i32 %15050, ptr %15051, align 4, !tbaa !5
  %15052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15053 = load i32, ptr @test_count, align 4, !tbaa !5
  %15054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15055 = load i32, ptr %15054, align 4, !tbaa !5
  %15056 = call ptr @s2n_strerror(i32 noundef %15055, ptr noundef @.str.4)
  %15057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15058 = load i32, ptr %15057, align 4, !tbaa !5
  %15059 = call ptr @s2n_strerror_debug(i32 noundef %15058, ptr noundef @.str.4)
  %15060 = call ptr @__errno_location() #12
  %15061 = load i32, ptr %15060, align 4, !tbaa !5
  %15062 = call ptr @strerror(i32 noundef %15061) #11
  %15063 = call ptr @__errno_location() #12
  %15064 = load i32, ptr %15063, align 4, !tbaa !5
  %15065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15052, ptr noundef @.str.5, i32 noundef %15053, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 437, ptr noundef %15056, ptr noundef %15059, ptr noundef %15062, i32 noundef %15064) #11
  br label %15066

15066:                                            ; preds = %15049, %15032
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #11
  br label %15067

15067:                                            ; preds = %15066
  br label %15068

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

15069:                                            ; No predecessors!
  br label %15070

15070:                                            ; preds = %15069
  br label %15071

15071:                                            ; preds = %15070, %15011
  br label %15072

15072:                                            ; preds = %15071
  br label %15073

15073:                                            ; preds = %15072
  br label %15074

15074:                                            ; preds = %15073
  %15075 = load i32, ptr @test_count, align 4, !tbaa !5
  %15076 = add nsw i32 %15075, 1
  store i32 %15076, ptr @test_count, align 4, !tbaa !5
  %15077 = load ptr, ptr %277, align 8, !tbaa !9
  %15078 = call i32 @s2n_connection_free(ptr noundef %15077)
  %15079 = icmp eq i32 %15078, -1
  br i1 %15079, label %15080, label %15133

15080:                                            ; preds = %15074
  br label %15081

15081:                                            ; preds = %15080
  br label %15082

15082:                                            ; preds = %15081
  call void @llvm.lifetime.start.p0(i64 4, ptr %298) #11
  %15083 = call ptr @__errno_location() #12
  %15084 = load i32, ptr %15083, align 4, !tbaa !5
  store i32 %15084, ptr %298, align 4, !tbaa !5
  %15085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15086 = call i32 @s2n_print_stacktrace(ptr noundef %15085)
  %15087 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15088 = trunc i8 %15087 to i1
  br i1 %15088, label %15089, label %15111

15089:                                            ; preds = %15082
  %15090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15091 = call i32 @fileno(ptr noundef %15090) #11
  %15092 = call i32 @isatty(i32 noundef %15091) #11
  %15093 = icmp ne i32 %15092, 0
  br i1 %15093, label %15094, label %15111

15094:                                            ; preds = %15089
  %15095 = load i32, ptr %298, align 4, !tbaa !5
  %15096 = call ptr @__errno_location() #12
  store i32 %15095, ptr %15096, align 4, !tbaa !5
  %15097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15098 = load i32, ptr @test_count, align 4, !tbaa !5
  %15099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15100 = load i32, ptr %15099, align 4, !tbaa !5
  %15101 = call ptr @s2n_strerror(i32 noundef %15100, ptr noundef @.str.4)
  %15102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15103 = load i32, ptr %15102, align 4, !tbaa !5
  %15104 = call ptr @s2n_strerror_debug(i32 noundef %15103, ptr noundef @.str.4)
  %15105 = call ptr @__errno_location() #12
  %15106 = load i32, ptr %15105, align 4, !tbaa !5
  %15107 = call ptr @strerror(i32 noundef %15106) #11
  %15108 = call ptr @__errno_location() #12
  %15109 = load i32, ptr %15108, align 4, !tbaa !5
  %15110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15097, ptr noundef @.str.2, i32 noundef %15098, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 438, ptr noundef %15101, ptr noundef %15104, ptr noundef %15107, i32 noundef %15109) #11
  br label %15128

15111:                                            ; preds = %15089, %15082
  %15112 = load i32, ptr %298, align 4, !tbaa !5
  %15113 = call ptr @__errno_location() #12
  store i32 %15112, ptr %15113, align 4, !tbaa !5
  %15114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15115 = load i32, ptr @test_count, align 4, !tbaa !5
  %15116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15117 = load i32, ptr %15116, align 4, !tbaa !5
  %15118 = call ptr @s2n_strerror(i32 noundef %15117, ptr noundef @.str.4)
  %15119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15120 = load i32, ptr %15119, align 4, !tbaa !5
  %15121 = call ptr @s2n_strerror_debug(i32 noundef %15120, ptr noundef @.str.4)
  %15122 = call ptr @__errno_location() #12
  %15123 = load i32, ptr %15122, align 4, !tbaa !5
  %15124 = call ptr @strerror(i32 noundef %15123) #11
  %15125 = call ptr @__errno_location() #12
  %15126 = load i32, ptr %15125, align 4, !tbaa !5
  %15127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15114, ptr noundef @.str.5, i32 noundef %15115, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 438, ptr noundef %15118, ptr noundef %15121, ptr noundef %15124, i32 noundef %15126) #11
  br label %15128

15128:                                            ; preds = %15111, %15094
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #11
  br label %15129

15129:                                            ; preds = %15128
  br label %15130

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

15131:                                            ; No predecessors!
  br label %15132

15132:                                            ; preds = %15131
  br label %15133

15133:                                            ; preds = %15132, %15074
  br label %15134

15134:                                            ; preds = %15133
  br label %15135

15135:                                            ; preds = %15134
  br label %15136

15136:                                            ; preds = %15135
  %15137 = load i32, ptr @test_count, align 4, !tbaa !5
  %15138 = add nsw i32 %15137, 1
  store i32 %15138, ptr @test_count, align 4, !tbaa !5
  %15139 = load ptr, ptr %278, align 8, !tbaa !9
  %15140 = call i32 @s2n_connection_free(ptr noundef %15139)
  %15141 = icmp eq i32 %15140, -1
  br i1 %15141, label %15142, label %15195

15142:                                            ; preds = %15136
  br label %15143

15143:                                            ; preds = %15142
  br label %15144

15144:                                            ; preds = %15143
  call void @llvm.lifetime.start.p0(i64 4, ptr %299) #11
  %15145 = call ptr @__errno_location() #12
  %15146 = load i32, ptr %15145, align 4, !tbaa !5
  store i32 %15146, ptr %299, align 4, !tbaa !5
  %15147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15148 = call i32 @s2n_print_stacktrace(ptr noundef %15147)
  %15149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15150 = trunc i8 %15149 to i1
  br i1 %15150, label %15151, label %15173

15151:                                            ; preds = %15144
  %15152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15153 = call i32 @fileno(ptr noundef %15152) #11
  %15154 = call i32 @isatty(i32 noundef %15153) #11
  %15155 = icmp ne i32 %15154, 0
  br i1 %15155, label %15156, label %15173

15156:                                            ; preds = %15151
  %15157 = load i32, ptr %299, align 4, !tbaa !5
  %15158 = call ptr @__errno_location() #12
  store i32 %15157, ptr %15158, align 4, !tbaa !5
  %15159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15160 = load i32, ptr @test_count, align 4, !tbaa !5
  %15161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15162 = load i32, ptr %15161, align 4, !tbaa !5
  %15163 = call ptr @s2n_strerror(i32 noundef %15162, ptr noundef @.str.4)
  %15164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15165 = load i32, ptr %15164, align 4, !tbaa !5
  %15166 = call ptr @s2n_strerror_debug(i32 noundef %15165, ptr noundef @.str.4)
  %15167 = call ptr @__errno_location() #12
  %15168 = load i32, ptr %15167, align 4, !tbaa !5
  %15169 = call ptr @strerror(i32 noundef %15168) #11
  %15170 = call ptr @__errno_location() #12
  %15171 = load i32, ptr %15170, align 4, !tbaa !5
  %15172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15159, ptr noundef @.str.2, i32 noundef %15160, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 439, ptr noundef %15163, ptr noundef %15166, ptr noundef %15169, i32 noundef %15171) #11
  br label %15190

15173:                                            ; preds = %15151, %15144
  %15174 = load i32, ptr %299, align 4, !tbaa !5
  %15175 = call ptr @__errno_location() #12
  store i32 %15174, ptr %15175, align 4, !tbaa !5
  %15176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15177 = load i32, ptr @test_count, align 4, !tbaa !5
  %15178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15179 = load i32, ptr %15178, align 4, !tbaa !5
  %15180 = call ptr @s2n_strerror(i32 noundef %15179, ptr noundef @.str.4)
  %15181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15182 = load i32, ptr %15181, align 4, !tbaa !5
  %15183 = call ptr @s2n_strerror_debug(i32 noundef %15182, ptr noundef @.str.4)
  %15184 = call ptr @__errno_location() #12
  %15185 = load i32, ptr %15184, align 4, !tbaa !5
  %15186 = call ptr @strerror(i32 noundef %15185) #11
  %15187 = call ptr @__errno_location() #12
  %15188 = load i32, ptr %15187, align 4, !tbaa !5
  %15189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15176, ptr noundef @.str.5, i32 noundef %15177, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 439, ptr noundef %15180, ptr noundef %15183, ptr noundef %15186, i32 noundef %15188) #11
  br label %15190

15190:                                            ; preds = %15173, %15156
  call void @llvm.lifetime.end.p0(i64 4, ptr %299) #11
  br label %15191

15191:                                            ; preds = %15190
  br label %15192

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

15193:                                            ; No predecessors!
  br label %15194

15194:                                            ; preds = %15193
  br label %15195

15195:                                            ; preds = %15194, %15136
  br label %15196

15196:                                            ; preds = %15195
  br label %15197

15197:                                            ; preds = %15196
  %15198 = call i32 @s2n_io_pair_close(ptr noundef %279)
  call void @llvm.lifetime.end.p0(i64 8, ptr %279) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %278) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %277) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %300) #11
  %15199 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %15199, ptr %300, align 8, !tbaa !9
  br label %15200

15200:                                            ; preds = %15197
  %15201 = load i32, ptr @test_count, align 4, !tbaa !5
  %15202 = add nsw i32 %15201, 1
  store i32 %15202, ptr @test_count, align 4, !tbaa !5
  %15203 = load ptr, ptr %300, align 8, !tbaa !9
  %15204 = icmp eq ptr %15203, null
  br i1 %15204, label %15205, label %15258

15205:                                            ; preds = %15200
  br label %15206

15206:                                            ; preds = %15205
  br label %15207

15207:                                            ; preds = %15206
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #11
  %15208 = call ptr @__errno_location() #12
  %15209 = load i32, ptr %15208, align 4, !tbaa !5
  store i32 %15209, ptr %301, align 4, !tbaa !5
  %15210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15211 = call i32 @s2n_print_stacktrace(ptr noundef %15210)
  %15212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15213 = trunc i8 %15212 to i1
  br i1 %15213, label %15214, label %15236

15214:                                            ; preds = %15207
  %15215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15216 = call i32 @fileno(ptr noundef %15215) #11
  %15217 = call i32 @isatty(i32 noundef %15216) #11
  %15218 = icmp ne i32 %15217, 0
  br i1 %15218, label %15219, label %15236

15219:                                            ; preds = %15214
  %15220 = load i32, ptr %301, align 4, !tbaa !5
  %15221 = call ptr @__errno_location() #12
  store i32 %15220, ptr %15221, align 4, !tbaa !5
  %15222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15223 = load i32, ptr @test_count, align 4, !tbaa !5
  %15224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15225 = load i32, ptr %15224, align 4, !tbaa !5
  %15226 = call ptr @s2n_strerror(i32 noundef %15225, ptr noundef @.str.4)
  %15227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15228 = load i32, ptr %15227, align 4, !tbaa !5
  %15229 = call ptr @s2n_strerror_debug(i32 noundef %15228, ptr noundef @.str.4)
  %15230 = call ptr @__errno_location() #12
  %15231 = load i32, ptr %15230, align 4, !tbaa !5
  %15232 = call ptr @strerror(i32 noundef %15231) #11
  %15233 = call ptr @__errno_location() #12
  %15234 = load i32, ptr %15233, align 4, !tbaa !5
  %15235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15222, ptr noundef @.str.2, i32 noundef %15223, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 445, ptr noundef %15226, ptr noundef %15229, ptr noundef %15232, i32 noundef %15234) #11
  br label %15253

15236:                                            ; preds = %15214, %15207
  %15237 = load i32, ptr %301, align 4, !tbaa !5
  %15238 = call ptr @__errno_location() #12
  store i32 %15237, ptr %15238, align 4, !tbaa !5
  %15239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15240 = load i32, ptr @test_count, align 4, !tbaa !5
  %15241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15242 = load i32, ptr %15241, align 4, !tbaa !5
  %15243 = call ptr @s2n_strerror(i32 noundef %15242, ptr noundef @.str.4)
  %15244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15245 = load i32, ptr %15244, align 4, !tbaa !5
  %15246 = call ptr @s2n_strerror_debug(i32 noundef %15245, ptr noundef @.str.4)
  %15247 = call ptr @__errno_location() #12
  %15248 = load i32, ptr %15247, align 4, !tbaa !5
  %15249 = call ptr @strerror(i32 noundef %15248) #11
  %15250 = call ptr @__errno_location() #12
  %15251 = load i32, ptr %15250, align 4, !tbaa !5
  %15252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15239, ptr noundef @.str.5, i32 noundef %15240, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 445, ptr noundef %15243, ptr noundef %15246, ptr noundef %15249, i32 noundef %15251) #11
  br label %15253

15253:                                            ; preds = %15236, %15219
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #11
  br label %15254

15254:                                            ; preds = %15253
  br label %15255

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

15256:                                            ; No predecessors!
  br label %15257

15257:                                            ; preds = %15256
  br label %15258

15258:                                            ; preds = %15257, %15200
  br label %15259

15259:                                            ; preds = %15258
  br label %15260

15260:                                            ; preds = %15259
  call void @llvm.lifetime.start.p0(i64 8, ptr %302) #11
  %15261 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %15261, ptr %302, align 8, !tbaa !9
  br label %15262

15262:                                            ; preds = %15260
  %15263 = load i32, ptr @test_count, align 4, !tbaa !5
  %15264 = add nsw i32 %15263, 1
  store i32 %15264, ptr @test_count, align 4, !tbaa !5
  %15265 = load ptr, ptr %302, align 8, !tbaa !9
  %15266 = icmp eq ptr %15265, null
  br i1 %15266, label %15267, label %15320

15267:                                            ; preds = %15262
  br label %15268

15268:                                            ; preds = %15267
  br label %15269

15269:                                            ; preds = %15268
  call void @llvm.lifetime.start.p0(i64 4, ptr %303) #11
  %15270 = call ptr @__errno_location() #12
  %15271 = load i32, ptr %15270, align 4, !tbaa !5
  store i32 %15271, ptr %303, align 4, !tbaa !5
  %15272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15273 = call i32 @s2n_print_stacktrace(ptr noundef %15272)
  %15274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15275 = trunc i8 %15274 to i1
  br i1 %15275, label %15276, label %15298

15276:                                            ; preds = %15269
  %15277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15278 = call i32 @fileno(ptr noundef %15277) #11
  %15279 = call i32 @isatty(i32 noundef %15278) #11
  %15280 = icmp ne i32 %15279, 0
  br i1 %15280, label %15281, label %15298

15281:                                            ; preds = %15276
  %15282 = load i32, ptr %303, align 4, !tbaa !5
  %15283 = call ptr @__errno_location() #12
  store i32 %15282, ptr %15283, align 4, !tbaa !5
  %15284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15285 = load i32, ptr @test_count, align 4, !tbaa !5
  %15286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15287 = load i32, ptr %15286, align 4, !tbaa !5
  %15288 = call ptr @s2n_strerror(i32 noundef %15287, ptr noundef @.str.4)
  %15289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15290 = load i32, ptr %15289, align 4, !tbaa !5
  %15291 = call ptr @s2n_strerror_debug(i32 noundef %15290, ptr noundef @.str.4)
  %15292 = call ptr @__errno_location() #12
  %15293 = load i32, ptr %15292, align 4, !tbaa !5
  %15294 = call ptr @strerror(i32 noundef %15293) #11
  %15295 = call ptr @__errno_location() #12
  %15296 = load i32, ptr %15295, align 4, !tbaa !5
  %15297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15284, ptr noundef @.str.2, i32 noundef %15285, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 447, ptr noundef %15288, ptr noundef %15291, ptr noundef %15294, i32 noundef %15296) #11
  br label %15315

15298:                                            ; preds = %15276, %15269
  %15299 = load i32, ptr %303, align 4, !tbaa !5
  %15300 = call ptr @__errno_location() #12
  store i32 %15299, ptr %15300, align 4, !tbaa !5
  %15301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15302 = load i32, ptr @test_count, align 4, !tbaa !5
  %15303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15304 = load i32, ptr %15303, align 4, !tbaa !5
  %15305 = call ptr @s2n_strerror(i32 noundef %15304, ptr noundef @.str.4)
  %15306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15307 = load i32, ptr %15306, align 4, !tbaa !5
  %15308 = call ptr @s2n_strerror_debug(i32 noundef %15307, ptr noundef @.str.4)
  %15309 = call ptr @__errno_location() #12
  %15310 = load i32, ptr %15309, align 4, !tbaa !5
  %15311 = call ptr @strerror(i32 noundef %15310) #11
  %15312 = call ptr @__errno_location() #12
  %15313 = load i32, ptr %15312, align 4, !tbaa !5
  %15314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15301, ptr noundef @.str.5, i32 noundef %15302, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 447, ptr noundef %15305, ptr noundef %15308, ptr noundef %15311, i32 noundef %15313) #11
  br label %15315

15315:                                            ; preds = %15298, %15281
  call void @llvm.lifetime.end.p0(i64 4, ptr %303) #11
  br label %15316

15316:                                            ; preds = %15315
  br label %15317

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

15318:                                            ; No predecessors!
  br label %15319

15319:                                            ; preds = %15318
  br label %15320

15320:                                            ; preds = %15319, %15262
  br label %15321

15321:                                            ; preds = %15320
  br label %15322

15322:                                            ; preds = %15321
  call void @llvm.lifetime.start.p0(i64 8, ptr %304) #11
  call void @llvm.memset.p0.i64(ptr align 4 %304, i8 0, i64 8, i1 false)
  br label %15323

15323:                                            ; preds = %15322
  %15324 = load i32, ptr @test_count, align 4, !tbaa !5
  %15325 = add nsw i32 %15324, 1
  store i32 %15325, ptr @test_count, align 4, !tbaa !5
  %15326 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %304)
  %15327 = icmp eq i32 %15326, -1
  br i1 %15327, label %15328, label %15381

15328:                                            ; preds = %15323
  br label %15329

15329:                                            ; preds = %15328
  br label %15330

15330:                                            ; preds = %15329
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #11
  %15331 = call ptr @__errno_location() #12
  %15332 = load i32, ptr %15331, align 4, !tbaa !5
  store i32 %15332, ptr %305, align 4, !tbaa !5
  %15333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15334 = call i32 @s2n_print_stacktrace(ptr noundef %15333)
  %15335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15336 = trunc i8 %15335 to i1
  br i1 %15336, label %15337, label %15359

15337:                                            ; preds = %15330
  %15338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15339 = call i32 @fileno(ptr noundef %15338) #11
  %15340 = call i32 @isatty(i32 noundef %15339) #11
  %15341 = icmp ne i32 %15340, 0
  br i1 %15341, label %15342, label %15359

15342:                                            ; preds = %15337
  %15343 = load i32, ptr %305, align 4, !tbaa !5
  %15344 = call ptr @__errno_location() #12
  store i32 %15343, ptr %15344, align 4, !tbaa !5
  %15345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15346 = load i32, ptr @test_count, align 4, !tbaa !5
  %15347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15348 = load i32, ptr %15347, align 4, !tbaa !5
  %15349 = call ptr @s2n_strerror(i32 noundef %15348, ptr noundef @.str.4)
  %15350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15351 = load i32, ptr %15350, align 4, !tbaa !5
  %15352 = call ptr @s2n_strerror_debug(i32 noundef %15351, ptr noundef @.str.4)
  %15353 = call ptr @__errno_location() #12
  %15354 = load i32, ptr %15353, align 4, !tbaa !5
  %15355 = call ptr @strerror(i32 noundef %15354) #11
  %15356 = call ptr @__errno_location() #12
  %15357 = load i32, ptr %15356, align 4, !tbaa !5
  %15358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15345, ptr noundef @.str.2, i32 noundef %15346, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 450, ptr noundef %15349, ptr noundef %15352, ptr noundef %15355, i32 noundef %15357) #11
  br label %15376

15359:                                            ; preds = %15337, %15330
  %15360 = load i32, ptr %305, align 4, !tbaa !5
  %15361 = call ptr @__errno_location() #12
  store i32 %15360, ptr %15361, align 4, !tbaa !5
  %15362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15363 = load i32, ptr @test_count, align 4, !tbaa !5
  %15364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15365 = load i32, ptr %15364, align 4, !tbaa !5
  %15366 = call ptr @s2n_strerror(i32 noundef %15365, ptr noundef @.str.4)
  %15367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15368 = load i32, ptr %15367, align 4, !tbaa !5
  %15369 = call ptr @s2n_strerror_debug(i32 noundef %15368, ptr noundef @.str.4)
  %15370 = call ptr @__errno_location() #12
  %15371 = load i32, ptr %15370, align 4, !tbaa !5
  %15372 = call ptr @strerror(i32 noundef %15371) #11
  %15373 = call ptr @__errno_location() #12
  %15374 = load i32, ptr %15373, align 4, !tbaa !5
  %15375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15362, ptr noundef @.str.5, i32 noundef %15363, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 450, ptr noundef %15366, ptr noundef %15369, ptr noundef %15372, i32 noundef %15374) #11
  br label %15376

15376:                                            ; preds = %15359, %15342
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #11
  br label %15377

15377:                                            ; preds = %15376
  br label %15378

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

15379:                                            ; No predecessors!
  br label %15380

15380:                                            ; preds = %15379
  br label %15381

15381:                                            ; preds = %15380, %15323
  br label %15382

15382:                                            ; preds = %15381
  br label %15383

15383:                                            ; preds = %15382
  call void @llvm.lifetime.start.p0(i64 8, ptr %306) #11
  store i64 450, ptr %306, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %307) #11
  store i64 0, ptr %307, align 8, !tbaa !15
  br label %15384

15384:                                            ; preds = %16821, %15383
  %15385 = load i64, ptr %307, align 8, !tbaa !15
  %15386 = icmp ult i64 %15385, 450
  br i1 %15386, label %15388, label %15387

15387:                                            ; preds = %15384
  call void @llvm.lifetime.end.p0(i64 8, ptr %307) #11
  br label %16824

15388:                                            ; preds = %15384
  br label %15389

15389:                                            ; preds = %15388
  %15390 = load i32, ptr @test_count, align 4, !tbaa !5
  %15391 = add nsw i32 %15390, 1
  store i32 %15391, ptr @test_count, align 4, !tbaa !5
  %15392 = load ptr, ptr %300, align 8, !tbaa !9
  %15393 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %15392, ptr noundef @.str.84)
  %15394 = icmp eq i32 %15393, -1
  br i1 %15394, label %15395, label %15448

15395:                                            ; preds = %15389
  br label %15396

15396:                                            ; preds = %15395
  br label %15397

15397:                                            ; preds = %15396
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #11
  %15398 = call ptr @__errno_location() #12
  %15399 = load i32, ptr %15398, align 4, !tbaa !5
  store i32 %15399, ptr %308, align 4, !tbaa !5
  %15400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15401 = call i32 @s2n_print_stacktrace(ptr noundef %15400)
  %15402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15403 = trunc i8 %15402 to i1
  br i1 %15403, label %15404, label %15426

15404:                                            ; preds = %15397
  %15405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15406 = call i32 @fileno(ptr noundef %15405) #11
  %15407 = call i32 @isatty(i32 noundef %15406) #11
  %15408 = icmp ne i32 %15407, 0
  br i1 %15408, label %15409, label %15426

15409:                                            ; preds = %15404
  %15410 = load i32, ptr %308, align 4, !tbaa !5
  %15411 = call ptr @__errno_location() #12
  store i32 %15410, ptr %15411, align 4, !tbaa !5
  %15412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15413 = load i32, ptr @test_count, align 4, !tbaa !5
  %15414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15415 = load i32, ptr %15414, align 4, !tbaa !5
  %15416 = call ptr @s2n_strerror(i32 noundef %15415, ptr noundef @.str.4)
  %15417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15418 = load i32, ptr %15417, align 4, !tbaa !5
  %15419 = call ptr @s2n_strerror_debug(i32 noundef %15418, ptr noundef @.str.4)
  %15420 = call ptr @__errno_location() #12
  %15421 = load i32, ptr %15420, align 4, !tbaa !5
  %15422 = call ptr @strerror(i32 noundef %15421) #11
  %15423 = call ptr @__errno_location() #12
  %15424 = load i32, ptr %15423, align 4, !tbaa !5
  %15425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15412, ptr noundef @.str.2, i32 noundef %15413, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 466, ptr noundef %15416, ptr noundef %15419, ptr noundef %15422, i32 noundef %15424) #11
  br label %15443

15426:                                            ; preds = %15404, %15397
  %15427 = load i32, ptr %308, align 4, !tbaa !5
  %15428 = call ptr @__errno_location() #12
  store i32 %15427, ptr %15428, align 4, !tbaa !5
  %15429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15430 = load i32, ptr @test_count, align 4, !tbaa !5
  %15431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15432 = load i32, ptr %15431, align 4, !tbaa !5
  %15433 = call ptr @s2n_strerror(i32 noundef %15432, ptr noundef @.str.4)
  %15434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15435 = load i32, ptr %15434, align 4, !tbaa !5
  %15436 = call ptr @s2n_strerror_debug(i32 noundef %15435, ptr noundef @.str.4)
  %15437 = call ptr @__errno_location() #12
  %15438 = load i32, ptr %15437, align 4, !tbaa !5
  %15439 = call ptr @strerror(i32 noundef %15438) #11
  %15440 = call ptr @__errno_location() #12
  %15441 = load i32, ptr %15440, align 4, !tbaa !5
  %15442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15429, ptr noundef @.str.5, i32 noundef %15430, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 466, ptr noundef %15433, ptr noundef %15436, ptr noundef %15439, i32 noundef %15441) #11
  br label %15443

15443:                                            ; preds = %15426, %15409
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #11
  br label %15444

15444:                                            ; preds = %15443
  br label %15445

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

15446:                                            ; No predecessors!
  br label %15447

15447:                                            ; preds = %15446
  br label %15448

15448:                                            ; preds = %15447, %15389
  br label %15449

15449:                                            ; preds = %15448
  br label %15450

15450:                                            ; preds = %15449
  br label %15451

15451:                                            ; preds = %15450
  %15452 = load i32, ptr @test_count, align 4, !tbaa !5
  %15453 = add nsw i32 %15452, 1
  store i32 %15453, ptr @test_count, align 4, !tbaa !5
  %15454 = load ptr, ptr %302, align 8, !tbaa !9
  %15455 = call i32 @s2n_connection_set_blinding(ptr noundef %15454, i32 noundef 1)
  %15456 = icmp eq i32 %15455, -1
  br i1 %15456, label %15457, label %15510

15457:                                            ; preds = %15451
  br label %15458

15458:                                            ; preds = %15457
  br label %15459

15459:                                            ; preds = %15458
  call void @llvm.lifetime.start.p0(i64 4, ptr %309) #11
  %15460 = call ptr @__errno_location() #12
  %15461 = load i32, ptr %15460, align 4, !tbaa !5
  store i32 %15461, ptr %309, align 4, !tbaa !5
  %15462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15463 = call i32 @s2n_print_stacktrace(ptr noundef %15462)
  %15464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15465 = trunc i8 %15464 to i1
  br i1 %15465, label %15466, label %15488

15466:                                            ; preds = %15459
  %15467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15468 = call i32 @fileno(ptr noundef %15467) #11
  %15469 = call i32 @isatty(i32 noundef %15468) #11
  %15470 = icmp ne i32 %15469, 0
  br i1 %15470, label %15471, label %15488

15471:                                            ; preds = %15466
  %15472 = load i32, ptr %309, align 4, !tbaa !5
  %15473 = call ptr @__errno_location() #12
  store i32 %15472, ptr %15473, align 4, !tbaa !5
  %15474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15475 = load i32, ptr @test_count, align 4, !tbaa !5
  %15476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15477 = load i32, ptr %15476, align 4, !tbaa !5
  %15478 = call ptr @s2n_strerror(i32 noundef %15477, ptr noundef @.str.4)
  %15479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15480 = load i32, ptr %15479, align 4, !tbaa !5
  %15481 = call ptr @s2n_strerror_debug(i32 noundef %15480, ptr noundef @.str.4)
  %15482 = call ptr @__errno_location() #12
  %15483 = load i32, ptr %15482, align 4, !tbaa !5
  %15484 = call ptr @strerror(i32 noundef %15483) #11
  %15485 = call ptr @__errno_location() #12
  %15486 = load i32, ptr %15485, align 4, !tbaa !5
  %15487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15474, ptr noundef @.str.2, i32 noundef %15475, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 467, ptr noundef %15478, ptr noundef %15481, ptr noundef %15484, i32 noundef %15486) #11
  br label %15505

15488:                                            ; preds = %15466, %15459
  %15489 = load i32, ptr %309, align 4, !tbaa !5
  %15490 = call ptr @__errno_location() #12
  store i32 %15489, ptr %15490, align 4, !tbaa !5
  %15491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15492 = load i32, ptr @test_count, align 4, !tbaa !5
  %15493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15494 = load i32, ptr %15493, align 4, !tbaa !5
  %15495 = call ptr @s2n_strerror(i32 noundef %15494, ptr noundef @.str.4)
  %15496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15497 = load i32, ptr %15496, align 4, !tbaa !5
  %15498 = call ptr @s2n_strerror_debug(i32 noundef %15497, ptr noundef @.str.4)
  %15499 = call ptr @__errno_location() #12
  %15500 = load i32, ptr %15499, align 4, !tbaa !5
  %15501 = call ptr @strerror(i32 noundef %15500) #11
  %15502 = call ptr @__errno_location() #12
  %15503 = load i32, ptr %15502, align 4, !tbaa !5
  %15504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15491, ptr noundef @.str.5, i32 noundef %15492, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 467, ptr noundef %15495, ptr noundef %15498, ptr noundef %15501, i32 noundef %15503) #11
  br label %15505

15505:                                            ; preds = %15488, %15471
  call void @llvm.lifetime.end.p0(i64 4, ptr %309) #11
  br label %15506

15506:                                            ; preds = %15505
  br label %15507

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

15508:                                            ; No predecessors!
  br label %15509

15509:                                            ; preds = %15508
  br label %15510

15510:                                            ; preds = %15509, %15451
  br label %15511

15511:                                            ; preds = %15510
  br label %15512

15512:                                            ; preds = %15511
  br label %15513

15513:                                            ; preds = %15512
  %15514 = load i32, ptr @test_count, align 4, !tbaa !5
  %15515 = add nsw i32 %15514, 1
  store i32 %15515, ptr @test_count, align 4, !tbaa !5
  %15516 = load ptr, ptr %302, align 8, !tbaa !9
  %15517 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %15516, ptr noundef @.str.84)
  %15518 = icmp eq i32 %15517, -1
  br i1 %15518, label %15519, label %15572

15519:                                            ; preds = %15513
  br label %15520

15520:                                            ; preds = %15519
  br label %15521

15521:                                            ; preds = %15520
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #11
  %15522 = call ptr @__errno_location() #12
  %15523 = load i32, ptr %15522, align 4, !tbaa !5
  store i32 %15523, ptr %310, align 4, !tbaa !5
  %15524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15525 = call i32 @s2n_print_stacktrace(ptr noundef %15524)
  %15526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15527 = trunc i8 %15526 to i1
  br i1 %15527, label %15528, label %15550

15528:                                            ; preds = %15521
  %15529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15530 = call i32 @fileno(ptr noundef %15529) #11
  %15531 = call i32 @isatty(i32 noundef %15530) #11
  %15532 = icmp ne i32 %15531, 0
  br i1 %15532, label %15533, label %15550

15533:                                            ; preds = %15528
  %15534 = load i32, ptr %310, align 4, !tbaa !5
  %15535 = call ptr @__errno_location() #12
  store i32 %15534, ptr %15535, align 4, !tbaa !5
  %15536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15537 = load i32, ptr @test_count, align 4, !tbaa !5
  %15538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15539 = load i32, ptr %15538, align 4, !tbaa !5
  %15540 = call ptr @s2n_strerror(i32 noundef %15539, ptr noundef @.str.4)
  %15541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15542 = load i32, ptr %15541, align 4, !tbaa !5
  %15543 = call ptr @s2n_strerror_debug(i32 noundef %15542, ptr noundef @.str.4)
  %15544 = call ptr @__errno_location() #12
  %15545 = load i32, ptr %15544, align 4, !tbaa !5
  %15546 = call ptr @strerror(i32 noundef %15545) #11
  %15547 = call ptr @__errno_location() #12
  %15548 = load i32, ptr %15547, align 4, !tbaa !5
  %15549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15536, ptr noundef @.str.2, i32 noundef %15537, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 468, ptr noundef %15540, ptr noundef %15543, ptr noundef %15546, i32 noundef %15548) #11
  br label %15567

15550:                                            ; preds = %15528, %15521
  %15551 = load i32, ptr %310, align 4, !tbaa !5
  %15552 = call ptr @__errno_location() #12
  store i32 %15551, ptr %15552, align 4, !tbaa !5
  %15553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15554 = load i32, ptr @test_count, align 4, !tbaa !5
  %15555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15556 = load i32, ptr %15555, align 4, !tbaa !5
  %15557 = call ptr @s2n_strerror(i32 noundef %15556, ptr noundef @.str.4)
  %15558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15559 = load i32, ptr %15558, align 4, !tbaa !5
  %15560 = call ptr @s2n_strerror_debug(i32 noundef %15559, ptr noundef @.str.4)
  %15561 = call ptr @__errno_location() #12
  %15562 = load i32, ptr %15561, align 4, !tbaa !5
  %15563 = call ptr @strerror(i32 noundef %15562) #11
  %15564 = call ptr @__errno_location() #12
  %15565 = load i32, ptr %15564, align 4, !tbaa !5
  %15566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15553, ptr noundef @.str.5, i32 noundef %15554, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 468, ptr noundef %15557, ptr noundef %15560, ptr noundef %15563, i32 noundef %15565) #11
  br label %15567

15567:                                            ; preds = %15550, %15533
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #11
  br label %15568

15568:                                            ; preds = %15567
  br label %15569

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

15570:                                            ; No predecessors!
  br label %15571

15571:                                            ; preds = %15570
  br label %15572

15572:                                            ; preds = %15571, %15513
  br label %15573

15573:                                            ; preds = %15572
  br label %15574

15574:                                            ; preds = %15573
  br label %15575

15575:                                            ; preds = %15574
  %15576 = load i32, ptr @test_count, align 4, !tbaa !5
  %15577 = add nsw i32 %15576, 1
  store i32 %15577, ptr @test_count, align 4, !tbaa !5
  %15578 = load ptr, ptr %300, align 8, !tbaa !9
  %15579 = load ptr, ptr %302, align 8, !tbaa !9
  %15580 = call i32 @s2n_connections_set_io_pair(ptr noundef %15578, ptr noundef %15579, ptr noundef %304)
  %15581 = icmp eq i32 %15580, -1
  br i1 %15581, label %15582, label %15635

15582:                                            ; preds = %15575
  br label %15583

15583:                                            ; preds = %15582
  br label %15584

15584:                                            ; preds = %15583
  call void @llvm.lifetime.start.p0(i64 4, ptr %311) #11
  %15585 = call ptr @__errno_location() #12
  %15586 = load i32, ptr %15585, align 4, !tbaa !5
  store i32 %15586, ptr %311, align 4, !tbaa !5
  %15587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15588 = call i32 @s2n_print_stacktrace(ptr noundef %15587)
  %15589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15590 = trunc i8 %15589 to i1
  br i1 %15590, label %15591, label %15613

15591:                                            ; preds = %15584
  %15592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15593 = call i32 @fileno(ptr noundef %15592) #11
  %15594 = call i32 @isatty(i32 noundef %15593) #11
  %15595 = icmp ne i32 %15594, 0
  br i1 %15595, label %15596, label %15613

15596:                                            ; preds = %15591
  %15597 = load i32, ptr %311, align 4, !tbaa !5
  %15598 = call ptr @__errno_location() #12
  store i32 %15597, ptr %15598, align 4, !tbaa !5
  %15599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15600 = load i32, ptr @test_count, align 4, !tbaa !5
  %15601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15602 = load i32, ptr %15601, align 4, !tbaa !5
  %15603 = call ptr @s2n_strerror(i32 noundef %15602, ptr noundef @.str.4)
  %15604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15605 = load i32, ptr %15604, align 4, !tbaa !5
  %15606 = call ptr @s2n_strerror_debug(i32 noundef %15605, ptr noundef @.str.4)
  %15607 = call ptr @__errno_location() #12
  %15608 = load i32, ptr %15607, align 4, !tbaa !5
  %15609 = call ptr @strerror(i32 noundef %15608) #11
  %15610 = call ptr @__errno_location() #12
  %15611 = load i32, ptr %15610, align 4, !tbaa !5
  %15612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15599, ptr noundef @.str.2, i32 noundef %15600, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 469, ptr noundef %15603, ptr noundef %15606, ptr noundef %15609, i32 noundef %15611) #11
  br label %15630

15613:                                            ; preds = %15591, %15584
  %15614 = load i32, ptr %311, align 4, !tbaa !5
  %15615 = call ptr @__errno_location() #12
  store i32 %15614, ptr %15615, align 4, !tbaa !5
  %15616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15617 = load i32, ptr @test_count, align 4, !tbaa !5
  %15618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15619 = load i32, ptr %15618, align 4, !tbaa !5
  %15620 = call ptr @s2n_strerror(i32 noundef %15619, ptr noundef @.str.4)
  %15621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15622 = load i32, ptr %15621, align 4, !tbaa !5
  %15623 = call ptr @s2n_strerror_debug(i32 noundef %15622, ptr noundef @.str.4)
  %15624 = call ptr @__errno_location() #12
  %15625 = load i32, ptr %15624, align 4, !tbaa !5
  %15626 = call ptr @strerror(i32 noundef %15625) #11
  %15627 = call ptr @__errno_location() #12
  %15628 = load i32, ptr %15627, align 4, !tbaa !5
  %15629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15616, ptr noundef @.str.5, i32 noundef %15617, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 469, ptr noundef %15620, ptr noundef %15623, ptr noundef %15626, i32 noundef %15628) #11
  br label %15630

15630:                                            ; preds = %15613, %15596
  call void @llvm.lifetime.end.p0(i64 4, ptr %311) #11
  br label %15631

15631:                                            ; preds = %15630
  br label %15632

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

15633:                                            ; No predecessors!
  br label %15634

15634:                                            ; preds = %15633
  br label %15635

15635:                                            ; preds = %15634, %15575
  br label %15636

15636:                                            ; preds = %15635
  br label %15637

15637:                                            ; preds = %15636
  br label %15638

15638:                                            ; preds = %15637
  %15639 = load i32, ptr @test_count, align 4, !tbaa !5
  %15640 = add nsw i32 %15639, 1
  store i32 %15640, ptr @test_count, align 4, !tbaa !5
  %15641 = load ptr, ptr %300, align 8, !tbaa !9
  %15642 = load ptr, ptr %12, align 8, !tbaa !9
  %15643 = call i32 @s2n_connection_append_psk(ptr noundef %15641, ptr noundef %15642)
  %15644 = icmp eq i32 %15643, -1
  br i1 %15644, label %15645, label %15698

15645:                                            ; preds = %15638
  br label %15646

15646:                                            ; preds = %15645
  br label %15647

15647:                                            ; preds = %15646
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #11
  %15648 = call ptr @__errno_location() #12
  %15649 = load i32, ptr %15648, align 4, !tbaa !5
  store i32 %15649, ptr %312, align 4, !tbaa !5
  %15650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15651 = call i32 @s2n_print_stacktrace(ptr noundef %15650)
  %15652 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15653 = trunc i8 %15652 to i1
  br i1 %15653, label %15654, label %15676

15654:                                            ; preds = %15647
  %15655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15656 = call i32 @fileno(ptr noundef %15655) #11
  %15657 = call i32 @isatty(i32 noundef %15656) #11
  %15658 = icmp ne i32 %15657, 0
  br i1 %15658, label %15659, label %15676

15659:                                            ; preds = %15654
  %15660 = load i32, ptr %312, align 4, !tbaa !5
  %15661 = call ptr @__errno_location() #12
  store i32 %15660, ptr %15661, align 4, !tbaa !5
  %15662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15663 = load i32, ptr @test_count, align 4, !tbaa !5
  %15664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15665 = load i32, ptr %15664, align 4, !tbaa !5
  %15666 = call ptr @s2n_strerror(i32 noundef %15665, ptr noundef @.str.4)
  %15667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15668 = load i32, ptr %15667, align 4, !tbaa !5
  %15669 = call ptr @s2n_strerror_debug(i32 noundef %15668, ptr noundef @.str.4)
  %15670 = call ptr @__errno_location() #12
  %15671 = load i32, ptr %15670, align 4, !tbaa !5
  %15672 = call ptr @strerror(i32 noundef %15671) #11
  %15673 = call ptr @__errno_location() #12
  %15674 = load i32, ptr %15673, align 4, !tbaa !5
  %15675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15662, ptr noundef @.str.2, i32 noundef %15663, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 471, ptr noundef %15666, ptr noundef %15669, ptr noundef %15672, i32 noundef %15674) #11
  br label %15693

15676:                                            ; preds = %15654, %15647
  %15677 = load i32, ptr %312, align 4, !tbaa !5
  %15678 = call ptr @__errno_location() #12
  store i32 %15677, ptr %15678, align 4, !tbaa !5
  %15679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15680 = load i32, ptr @test_count, align 4, !tbaa !5
  %15681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15682 = load i32, ptr %15681, align 4, !tbaa !5
  %15683 = call ptr @s2n_strerror(i32 noundef %15682, ptr noundef @.str.4)
  %15684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15685 = load i32, ptr %15684, align 4, !tbaa !5
  %15686 = call ptr @s2n_strerror_debug(i32 noundef %15685, ptr noundef @.str.4)
  %15687 = call ptr @__errno_location() #12
  %15688 = load i32, ptr %15687, align 4, !tbaa !5
  %15689 = call ptr @strerror(i32 noundef %15688) #11
  %15690 = call ptr @__errno_location() #12
  %15691 = load i32, ptr %15690, align 4, !tbaa !5
  %15692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15679, ptr noundef @.str.5, i32 noundef %15680, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 471, ptr noundef %15683, ptr noundef %15686, ptr noundef %15689, i32 noundef %15691) #11
  br label %15693

15693:                                            ; preds = %15676, %15659
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #11
  br label %15694

15694:                                            ; preds = %15693
  br label %15695

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

15696:                                            ; No predecessors!
  br label %15697

15697:                                            ; preds = %15696
  br label %15698

15698:                                            ; preds = %15697, %15638
  br label %15699

15699:                                            ; preds = %15698
  br label %15700

15700:                                            ; preds = %15699
  br label %15701

15701:                                            ; preds = %15700
  %15702 = load i32, ptr @test_count, align 4, !tbaa !5
  %15703 = add nsw i32 %15702, 1
  store i32 %15703, ptr @test_count, align 4, !tbaa !5
  %15704 = load ptr, ptr %302, align 8, !tbaa !9
  %15705 = load ptr, ptr %12, align 8, !tbaa !9
  %15706 = call i32 @s2n_connection_append_psk(ptr noundef %15704, ptr noundef %15705)
  %15707 = icmp eq i32 %15706, -1
  br i1 %15707, label %15708, label %15761

15708:                                            ; preds = %15701
  br label %15709

15709:                                            ; preds = %15708
  br label %15710

15710:                                            ; preds = %15709
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #11
  %15711 = call ptr @__errno_location() #12
  %15712 = load i32, ptr %15711, align 4, !tbaa !5
  store i32 %15712, ptr %313, align 4, !tbaa !5
  %15713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15714 = call i32 @s2n_print_stacktrace(ptr noundef %15713)
  %15715 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15716 = trunc i8 %15715 to i1
  br i1 %15716, label %15717, label %15739

15717:                                            ; preds = %15710
  %15718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15719 = call i32 @fileno(ptr noundef %15718) #11
  %15720 = call i32 @isatty(i32 noundef %15719) #11
  %15721 = icmp ne i32 %15720, 0
  br i1 %15721, label %15722, label %15739

15722:                                            ; preds = %15717
  %15723 = load i32, ptr %313, align 4, !tbaa !5
  %15724 = call ptr @__errno_location() #12
  store i32 %15723, ptr %15724, align 4, !tbaa !5
  %15725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15726 = load i32, ptr @test_count, align 4, !tbaa !5
  %15727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15728 = load i32, ptr %15727, align 4, !tbaa !5
  %15729 = call ptr @s2n_strerror(i32 noundef %15728, ptr noundef @.str.4)
  %15730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15731 = load i32, ptr %15730, align 4, !tbaa !5
  %15732 = call ptr @s2n_strerror_debug(i32 noundef %15731, ptr noundef @.str.4)
  %15733 = call ptr @__errno_location() #12
  %15734 = load i32, ptr %15733, align 4, !tbaa !5
  %15735 = call ptr @strerror(i32 noundef %15734) #11
  %15736 = call ptr @__errno_location() #12
  %15737 = load i32, ptr %15736, align 4, !tbaa !5
  %15738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15725, ptr noundef @.str.2, i32 noundef %15726, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 472, ptr noundef %15729, ptr noundef %15732, ptr noundef %15735, i32 noundef %15737) #11
  br label %15756

15739:                                            ; preds = %15717, %15710
  %15740 = load i32, ptr %313, align 4, !tbaa !5
  %15741 = call ptr @__errno_location() #12
  store i32 %15740, ptr %15741, align 4, !tbaa !5
  %15742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15743 = load i32, ptr @test_count, align 4, !tbaa !5
  %15744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15745 = load i32, ptr %15744, align 4, !tbaa !5
  %15746 = call ptr @s2n_strerror(i32 noundef %15745, ptr noundef @.str.4)
  %15747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15748 = load i32, ptr %15747, align 4, !tbaa !5
  %15749 = call ptr @s2n_strerror_debug(i32 noundef %15748, ptr noundef @.str.4)
  %15750 = call ptr @__errno_location() #12
  %15751 = load i32, ptr %15750, align 4, !tbaa !5
  %15752 = call ptr @strerror(i32 noundef %15751) #11
  %15753 = call ptr @__errno_location() #12
  %15754 = load i32, ptr %15753, align 4, !tbaa !5
  %15755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15742, ptr noundef @.str.5, i32 noundef %15743, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 472, ptr noundef %15746, ptr noundef %15749, ptr noundef %15752, i32 noundef %15754) #11
  br label %15756

15756:                                            ; preds = %15739, %15722
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #11
  br label %15757

15757:                                            ; preds = %15756
  br label %15758

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

15759:                                            ; No predecessors!
  br label %15760

15760:                                            ; preds = %15759
  br label %15761

15761:                                            ; preds = %15760, %15701
  br label %15762

15762:                                            ; preds = %15761
  br label %15763

15763:                                            ; preds = %15762
  br label %15764

15764:                                            ; preds = %15763
  %15765 = load i32, ptr @test_count, align 4, !tbaa !5
  %15766 = add nsw i32 %15765, 1
  store i32 %15766, ptr @test_count, align 4, !tbaa !5
  %15767 = load ptr, ptr %300, align 8, !tbaa !9
  %15768 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %15767)
  %15769 = icmp eq i32 %15768, -1
  br i1 %15769, label %15770, label %15823

15770:                                            ; preds = %15764
  br label %15771

15771:                                            ; preds = %15770
  br label %15772

15772:                                            ; preds = %15771
  call void @llvm.lifetime.start.p0(i64 4, ptr %314) #11
  %15773 = call ptr @__errno_location() #12
  %15774 = load i32, ptr %15773, align 4, !tbaa !5
  store i32 %15774, ptr %314, align 4, !tbaa !5
  %15775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15776 = call i32 @s2n_print_stacktrace(ptr noundef %15775)
  %15777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15778 = trunc i8 %15777 to i1
  br i1 %15778, label %15779, label %15801

15779:                                            ; preds = %15772
  %15780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15781 = call i32 @fileno(ptr noundef %15780) #11
  %15782 = call i32 @isatty(i32 noundef %15781) #11
  %15783 = icmp ne i32 %15782, 0
  br i1 %15783, label %15784, label %15801

15784:                                            ; preds = %15779
  %15785 = load i32, ptr %314, align 4, !tbaa !5
  %15786 = call ptr @__errno_location() #12
  store i32 %15785, ptr %15786, align 4, !tbaa !5
  %15787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15788 = load i32, ptr @test_count, align 4, !tbaa !5
  %15789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15790 = load i32, ptr %15789, align 4, !tbaa !5
  %15791 = call ptr @s2n_strerror(i32 noundef %15790, ptr noundef @.str.4)
  %15792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15793 = load i32, ptr %15792, align 4, !tbaa !5
  %15794 = call ptr @s2n_strerror_debug(i32 noundef %15793, ptr noundef @.str.4)
  %15795 = call ptr @__errno_location() #12
  %15796 = load i32, ptr %15795, align 4, !tbaa !5
  %15797 = call ptr @strerror(i32 noundef %15796) #11
  %15798 = call ptr @__errno_location() #12
  %15799 = load i32, ptr %15798, align 4, !tbaa !5
  %15800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15787, ptr noundef @.str.2, i32 noundef %15788, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 473, ptr noundef %15791, ptr noundef %15794, ptr noundef %15797, i32 noundef %15799) #11
  br label %15818

15801:                                            ; preds = %15779, %15772
  %15802 = load i32, ptr %314, align 4, !tbaa !5
  %15803 = call ptr @__errno_location() #12
  store i32 %15802, ptr %15803, align 4, !tbaa !5
  %15804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15805 = load i32, ptr @test_count, align 4, !tbaa !5
  %15806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15807 = load i32, ptr %15806, align 4, !tbaa !5
  %15808 = call ptr @s2n_strerror(i32 noundef %15807, ptr noundef @.str.4)
  %15809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15810 = load i32, ptr %15809, align 4, !tbaa !5
  %15811 = call ptr @s2n_strerror_debug(i32 noundef %15810, ptr noundef @.str.4)
  %15812 = call ptr @__errno_location() #12
  %15813 = load i32, ptr %15812, align 4, !tbaa !5
  %15814 = call ptr @strerror(i32 noundef %15813) #11
  %15815 = call ptr @__errno_location() #12
  %15816 = load i32, ptr %15815, align 4, !tbaa !5
  %15817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15804, ptr noundef @.str.5, i32 noundef %15805, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 473, ptr noundef %15808, ptr noundef %15811, ptr noundef %15814, i32 noundef %15816) #11
  br label %15818

15818:                                            ; preds = %15801, %15784
  call void @llvm.lifetime.end.p0(i64 4, ptr %314) #11
  br label %15819

15819:                                            ; preds = %15818
  br label %15820

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

15821:                                            ; No predecessors!
  br label %15822

15822:                                            ; preds = %15821
  br label %15823

15823:                                            ; preds = %15822, %15764
  br label %15824

15824:                                            ; preds = %15823
  br label %15825

15825:                                            ; preds = %15824
  br label %15826

15826:                                            ; preds = %15825
  %15827 = load i32, ptr @test_count, align 4, !tbaa !5
  %15828 = add nsw i32 %15827, 1
  store i32 %15828, ptr @test_count, align 4, !tbaa !5
  %15829 = load ptr, ptr %302, align 8, !tbaa !9
  %15830 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %15829)
  %15831 = icmp eq i32 %15830, -1
  br i1 %15831, label %15832, label %15885

15832:                                            ; preds = %15826
  br label %15833

15833:                                            ; preds = %15832
  br label %15834

15834:                                            ; preds = %15833
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #11
  %15835 = call ptr @__errno_location() #12
  %15836 = load i32, ptr %15835, align 4, !tbaa !5
  store i32 %15836, ptr %315, align 4, !tbaa !5
  %15837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15838 = call i32 @s2n_print_stacktrace(ptr noundef %15837)
  %15839 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15840 = trunc i8 %15839 to i1
  br i1 %15840, label %15841, label %15863

15841:                                            ; preds = %15834
  %15842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15843 = call i32 @fileno(ptr noundef %15842) #11
  %15844 = call i32 @isatty(i32 noundef %15843) #11
  %15845 = icmp ne i32 %15844, 0
  br i1 %15845, label %15846, label %15863

15846:                                            ; preds = %15841
  %15847 = load i32, ptr %315, align 4, !tbaa !5
  %15848 = call ptr @__errno_location() #12
  store i32 %15847, ptr %15848, align 4, !tbaa !5
  %15849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15850 = load i32, ptr @test_count, align 4, !tbaa !5
  %15851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15852 = load i32, ptr %15851, align 4, !tbaa !5
  %15853 = call ptr @s2n_strerror(i32 noundef %15852, ptr noundef @.str.4)
  %15854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15855 = load i32, ptr %15854, align 4, !tbaa !5
  %15856 = call ptr @s2n_strerror_debug(i32 noundef %15855, ptr noundef @.str.4)
  %15857 = call ptr @__errno_location() #12
  %15858 = load i32, ptr %15857, align 4, !tbaa !5
  %15859 = call ptr @strerror(i32 noundef %15858) #11
  %15860 = call ptr @__errno_location() #12
  %15861 = load i32, ptr %15860, align 4, !tbaa !5
  %15862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15849, ptr noundef @.str.2, i32 noundef %15850, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 474, ptr noundef %15853, ptr noundef %15856, ptr noundef %15859, i32 noundef %15861) #11
  br label %15880

15863:                                            ; preds = %15841, %15834
  %15864 = load i32, ptr %315, align 4, !tbaa !5
  %15865 = call ptr @__errno_location() #12
  store i32 %15864, ptr %15865, align 4, !tbaa !5
  %15866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15867 = load i32, ptr @test_count, align 4, !tbaa !5
  %15868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15869 = load i32, ptr %15868, align 4, !tbaa !5
  %15870 = call ptr @s2n_strerror(i32 noundef %15869, ptr noundef @.str.4)
  %15871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15872 = load i32, ptr %15871, align 4, !tbaa !5
  %15873 = call ptr @s2n_strerror_debug(i32 noundef %15872, ptr noundef @.str.4)
  %15874 = call ptr @__errno_location() #12
  %15875 = load i32, ptr %15874, align 4, !tbaa !5
  %15876 = call ptr @strerror(i32 noundef %15875) #11
  %15877 = call ptr @__errno_location() #12
  %15878 = load i32, ptr %15877, align 4, !tbaa !5
  %15879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15866, ptr noundef @.str.5, i32 noundef %15867, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 474, ptr noundef %15870, ptr noundef %15873, ptr noundef %15876, i32 noundef %15878) #11
  br label %15880

15880:                                            ; preds = %15863, %15846
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #11
  br label %15881

15881:                                            ; preds = %15880
  br label %15882

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

15883:                                            ; No predecessors!
  br label %15884

15884:                                            ; preds = %15883
  br label %15885

15885:                                            ; preds = %15884, %15826
  br label %15886

15886:                                            ; preds = %15885
  br label %15887

15887:                                            ; preds = %15886
  %15888 = load ptr, ptr %300, align 8, !tbaa !9
  %15889 = getelementptr inbounds %struct.s2n_connection, ptr %15888, i32 0, i32 2
  store ptr @security_policy_test_tls13_retry, ptr %15889, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #11
  store i32 0, ptr %316, align 4, !tbaa !5
  br label %15890

15890:                                            ; preds = %15887
  %15891 = load i32, ptr @test_count, align 4, !tbaa !5
  %15892 = add nsw i32 %15891, 1
  store i32 %15892, ptr @test_count, align 4, !tbaa !5
  %15893 = load ptr, ptr %300, align 8, !tbaa !9
  %15894 = call i32 @s2n_negotiate_until_message(ptr noundef %15893, ptr noundef %316, i32 noundef 1)
  %15895 = getelementptr inbounds %struct.s2n_result, ptr %317, i32 0, i32 0
  store i32 %15894, ptr %15895, align 4
  %15896 = getelementptr inbounds %struct.s2n_result, ptr %317, i32 0, i32 0
  %15897 = load i32, ptr %15896, align 4
  %15898 = call zeroext i1 @s2n_result_is_ok(i32 %15897)
  br i1 %15898, label %15952, label %15899

15899:                                            ; preds = %15890
  br label %15900

15900:                                            ; preds = %15899
  br label %15901

15901:                                            ; preds = %15900
  call void @llvm.lifetime.start.p0(i64 4, ptr %318) #11
  %15902 = call ptr @__errno_location() #12
  %15903 = load i32, ptr %15902, align 4, !tbaa !5
  store i32 %15903, ptr %318, align 4, !tbaa !5
  %15904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15905 = call i32 @s2n_print_stacktrace(ptr noundef %15904)
  %15906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15907 = trunc i8 %15906 to i1
  br i1 %15907, label %15908, label %15930

15908:                                            ; preds = %15901
  %15909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15910 = call i32 @fileno(ptr noundef %15909) #11
  %15911 = call i32 @isatty(i32 noundef %15910) #11
  %15912 = icmp ne i32 %15911, 0
  br i1 %15912, label %15913, label %15930

15913:                                            ; preds = %15908
  %15914 = load i32, ptr %318, align 4, !tbaa !5
  %15915 = call ptr @__errno_location() #12
  store i32 %15914, ptr %15915, align 4, !tbaa !5
  %15916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15917 = load i32, ptr @test_count, align 4, !tbaa !5
  %15918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15919 = load i32, ptr %15918, align 4, !tbaa !5
  %15920 = call ptr @s2n_strerror(i32 noundef %15919, ptr noundef @.str.4)
  %15921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15922 = load i32, ptr %15921, align 4, !tbaa !5
  %15923 = call ptr @s2n_strerror_debug(i32 noundef %15922, ptr noundef @.str.4)
  %15924 = call ptr @__errno_location() #12
  %15925 = load i32, ptr %15924, align 4, !tbaa !5
  %15926 = call ptr @strerror(i32 noundef %15925) #11
  %15927 = call ptr @__errno_location() #12
  %15928 = load i32, ptr %15927, align 4, !tbaa !5
  %15929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15916, ptr noundef @.str.2, i32 noundef %15917, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 478, ptr noundef %15920, ptr noundef %15923, ptr noundef %15926, i32 noundef %15928) #11
  br label %15947

15930:                                            ; preds = %15908, %15901
  %15931 = load i32, ptr %318, align 4, !tbaa !5
  %15932 = call ptr @__errno_location() #12
  store i32 %15931, ptr %15932, align 4, !tbaa !5
  %15933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15934 = load i32, ptr @test_count, align 4, !tbaa !5
  %15935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15936 = load i32, ptr %15935, align 4, !tbaa !5
  %15937 = call ptr @s2n_strerror(i32 noundef %15936, ptr noundef @.str.4)
  %15938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15939 = load i32, ptr %15938, align 4, !tbaa !5
  %15940 = call ptr @s2n_strerror_debug(i32 noundef %15939, ptr noundef @.str.4)
  %15941 = call ptr @__errno_location() #12
  %15942 = load i32, ptr %15941, align 4, !tbaa !5
  %15943 = call ptr @strerror(i32 noundef %15942) #11
  %15944 = call ptr @__errno_location() #12
  %15945 = load i32, ptr %15944, align 4, !tbaa !5
  %15946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15933, ptr noundef @.str.5, i32 noundef %15934, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 478, ptr noundef %15937, ptr noundef %15940, ptr noundef %15943, i32 noundef %15945) #11
  br label %15947

15947:                                            ; preds = %15930, %15913
  call void @llvm.lifetime.end.p0(i64 4, ptr %318) #11
  br label %15948

15948:                                            ; preds = %15947
  br label %15949

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

15950:                                            ; No predecessors!
  br label %15951

15951:                                            ; preds = %15950
  br label %15952

15952:                                            ; preds = %15951, %15890
  br label %15953

15953:                                            ; preds = %15952
  br label %15954

15954:                                            ; preds = %15953
  br label %15955

15955:                                            ; preds = %15954
  %15956 = load i32, ptr @test_count, align 4, !tbaa !5
  %15957 = add nsw i32 %15956, 1
  store i32 %15957, ptr @test_count, align 4, !tbaa !5
  %15958 = load ptr, ptr %300, align 8, !tbaa !9
  %15959 = call i32 @s2n_conn_get_current_message_type(ptr noundef %15958)
  %15960 = icmp eq i32 %15959, 1
  br i1 %15960, label %16014, label %15961

15961:                                            ; preds = %15955
  br label %15962

15962:                                            ; preds = %15961
  br label %15963

15963:                                            ; preds = %15962
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #11
  %15964 = call ptr @__errno_location() #12
  %15965 = load i32, ptr %15964, align 4, !tbaa !5
  store i32 %15965, ptr %319, align 4, !tbaa !5
  %15966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15967 = call i32 @s2n_print_stacktrace(ptr noundef %15966)
  %15968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15969 = trunc i8 %15968 to i1
  br i1 %15969, label %15970, label %15992

15970:                                            ; preds = %15963
  %15971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15972 = call i32 @fileno(ptr noundef %15971) #11
  %15973 = call i32 @isatty(i32 noundef %15972) #11
  %15974 = icmp ne i32 %15973, 0
  br i1 %15974, label %15975, label %15992

15975:                                            ; preds = %15970
  %15976 = load i32, ptr %319, align 4, !tbaa !5
  %15977 = call ptr @__errno_location() #12
  store i32 %15976, ptr %15977, align 4, !tbaa !5
  %15978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15979 = load i32, ptr @test_count, align 4, !tbaa !5
  %15980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15981 = load i32, ptr %15980, align 4, !tbaa !5
  %15982 = call ptr @s2n_strerror(i32 noundef %15981, ptr noundef @.str.4)
  %15983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15984 = load i32, ptr %15983, align 4, !tbaa !5
  %15985 = call ptr @s2n_strerror_debug(i32 noundef %15984, ptr noundef @.str.4)
  %15986 = call ptr @__errno_location() #12
  %15987 = load i32, ptr %15986, align 4, !tbaa !5
  %15988 = call ptr @strerror(i32 noundef %15987) #11
  %15989 = call ptr @__errno_location() #12
  %15990 = load i32, ptr %15989, align 4, !tbaa !5
  %15991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15978, ptr noundef @.str.2, i32 noundef %15979, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 479, ptr noundef %15982, ptr noundef %15985, ptr noundef %15988, i32 noundef %15990) #11
  br label %16009

15992:                                            ; preds = %15970, %15963
  %15993 = load i32, ptr %319, align 4, !tbaa !5
  %15994 = call ptr @__errno_location() #12
  store i32 %15993, ptr %15994, align 4, !tbaa !5
  %15995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15996 = load i32, ptr @test_count, align 4, !tbaa !5
  %15997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15998 = load i32, ptr %15997, align 4, !tbaa !5
  %15999 = call ptr @s2n_strerror(i32 noundef %15998, ptr noundef @.str.4)
  %16000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16001 = load i32, ptr %16000, align 4, !tbaa !5
  %16002 = call ptr @s2n_strerror_debug(i32 noundef %16001, ptr noundef @.str.4)
  %16003 = call ptr @__errno_location() #12
  %16004 = load i32, ptr %16003, align 4, !tbaa !5
  %16005 = call ptr @strerror(i32 noundef %16004) #11
  %16006 = call ptr @__errno_location() #12
  %16007 = load i32, ptr %16006, align 4, !tbaa !5
  %16008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15995, ptr noundef @.str.5, i32 noundef %15996, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 479, ptr noundef %15999, ptr noundef %16002, ptr noundef %16005, i32 noundef %16007) #11
  br label %16009

16009:                                            ; preds = %15992, %15975
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #11
  br label %16010

16010:                                            ; preds = %16009
  br label %16011

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

16012:                                            ; No predecessors!
  br label %16013

16013:                                            ; preds = %16012
  br label %16014

16014:                                            ; preds = %16013, %15955
  br label %16015

16015:                                            ; preds = %16014
  br label %16016

16016:                                            ; preds = %16015
  br label %16017

16017:                                            ; preds = %16016
  %16018 = load i32, ptr @test_count, align 4, !tbaa !5
  %16019 = add nsw i32 %16018, 1
  store i32 %16019, ptr @test_count, align 4, !tbaa !5
  %16020 = load ptr, ptr %300, align 8, !tbaa !9
  %16021 = getelementptr inbounds %struct.s2n_connection, ptr %16020, i32 0, i32 89
  %16022 = load i32, ptr %16021, align 8, !tbaa !19
  %16023 = icmp eq i32 %16022, 1
  br i1 %16023, label %16077, label %16024

16024:                                            ; preds = %16017
  br label %16025

16025:                                            ; preds = %16024
  br label %16026

16026:                                            ; preds = %16025
  call void @llvm.lifetime.start.p0(i64 4, ptr %320) #11
  %16027 = call ptr @__errno_location() #12
  %16028 = load i32, ptr %16027, align 4, !tbaa !5
  store i32 %16028, ptr %320, align 4, !tbaa !5
  %16029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16030 = call i32 @s2n_print_stacktrace(ptr noundef %16029)
  %16031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16032 = trunc i8 %16031 to i1
  br i1 %16032, label %16033, label %16055

16033:                                            ; preds = %16026
  %16034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16035 = call i32 @fileno(ptr noundef %16034) #11
  %16036 = call i32 @isatty(i32 noundef %16035) #11
  %16037 = icmp ne i32 %16036, 0
  br i1 %16037, label %16038, label %16055

16038:                                            ; preds = %16033
  %16039 = load i32, ptr %320, align 4, !tbaa !5
  %16040 = call ptr @__errno_location() #12
  store i32 %16039, ptr %16040, align 4, !tbaa !5
  %16041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16042 = load i32, ptr @test_count, align 4, !tbaa !5
  %16043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16044 = load i32, ptr %16043, align 4, !tbaa !5
  %16045 = call ptr @s2n_strerror(i32 noundef %16044, ptr noundef @.str.4)
  %16046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16047 = load i32, ptr %16046, align 4, !tbaa !5
  %16048 = call ptr @s2n_strerror_debug(i32 noundef %16047, ptr noundef @.str.4)
  %16049 = call ptr @__errno_location() #12
  %16050 = load i32, ptr %16049, align 4, !tbaa !5
  %16051 = call ptr @strerror(i32 noundef %16050) #11
  %16052 = call ptr @__errno_location() #12
  %16053 = load i32, ptr %16052, align 4, !tbaa !5
  %16054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16041, ptr noundef @.str.2, i32 noundef %16042, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 480, ptr noundef %16045, ptr noundef %16048, ptr noundef %16051, i32 noundef %16053) #11
  br label %16072

16055:                                            ; preds = %16033, %16026
  %16056 = load i32, ptr %320, align 4, !tbaa !5
  %16057 = call ptr @__errno_location() #12
  store i32 %16056, ptr %16057, align 4, !tbaa !5
  %16058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16059 = load i32, ptr @test_count, align 4, !tbaa !5
  %16060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16061 = load i32, ptr %16060, align 4, !tbaa !5
  %16062 = call ptr @s2n_strerror(i32 noundef %16061, ptr noundef @.str.4)
  %16063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16064 = load i32, ptr %16063, align 4, !tbaa !5
  %16065 = call ptr @s2n_strerror_debug(i32 noundef %16064, ptr noundef @.str.4)
  %16066 = call ptr @__errno_location() #12
  %16067 = load i32, ptr %16066, align 4, !tbaa !5
  %16068 = call ptr @strerror(i32 noundef %16067) #11
  %16069 = call ptr @__errno_location() #12
  %16070 = load i32, ptr %16069, align 4, !tbaa !5
  %16071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16058, ptr noundef @.str.5, i32 noundef %16059, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 480, ptr noundef %16062, ptr noundef %16065, ptr noundef %16068, i32 noundef %16070) #11
  br label %16072

16072:                                            ; preds = %16055, %16038
  call void @llvm.lifetime.end.p0(i64 4, ptr %320) #11
  br label %16073

16073:                                            ; preds = %16072
  br label %16074

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

16075:                                            ; No predecessors!
  br label %16076

16076:                                            ; preds = %16075
  br label %16077

16077:                                            ; preds = %16076, %16017
  br label %16078

16078:                                            ; preds = %16077
  br label %16079

16079:                                            ; preds = %16078
  br label %16080

16080:                                            ; preds = %16079
  %16081 = load i32, ptr @test_count, align 4, !tbaa !5
  %16082 = add nsw i32 %16081, 1
  store i32 %16082, ptr @test_count, align 4, !tbaa !5
  %16083 = load ptr, ptr %300, align 8, !tbaa !9
  %16084 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %16085 = call i64 @s2n_send(ptr noundef %16083, ptr noundef %16084, i64 noundef 12, ptr noundef %316)
  %16086 = icmp eq i64 %16085, 12
  br i1 %16086, label %16140, label %16087

16087:                                            ; preds = %16080
  br label %16088

16088:                                            ; preds = %16087
  br label %16089

16089:                                            ; preds = %16088
  call void @llvm.lifetime.start.p0(i64 4, ptr %321) #11
  %16090 = call ptr @__errno_location() #12
  %16091 = load i32, ptr %16090, align 4, !tbaa !5
  store i32 %16091, ptr %321, align 4, !tbaa !5
  %16092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16093 = call i32 @s2n_print_stacktrace(ptr noundef %16092)
  %16094 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16095 = trunc i8 %16094 to i1
  br i1 %16095, label %16096, label %16118

16096:                                            ; preds = %16089
  %16097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16098 = call i32 @fileno(ptr noundef %16097) #11
  %16099 = call i32 @isatty(i32 noundef %16098) #11
  %16100 = icmp ne i32 %16099, 0
  br i1 %16100, label %16101, label %16118

16101:                                            ; preds = %16096
  %16102 = load i32, ptr %321, align 4, !tbaa !5
  %16103 = call ptr @__errno_location() #12
  store i32 %16102, ptr %16103, align 4, !tbaa !5
  %16104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16105 = load i32, ptr @test_count, align 4, !tbaa !5
  %16106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16107 = load i32, ptr %16106, align 4, !tbaa !5
  %16108 = call ptr @s2n_strerror(i32 noundef %16107, ptr noundef @.str.4)
  %16109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16110 = load i32, ptr %16109, align 4, !tbaa !5
  %16111 = call ptr @s2n_strerror_debug(i32 noundef %16110, ptr noundef @.str.4)
  %16112 = call ptr @__errno_location() #12
  %16113 = load i32, ptr %16112, align 4, !tbaa !5
  %16114 = call ptr @strerror(i32 noundef %16113) #11
  %16115 = call ptr @__errno_location() #12
  %16116 = load i32, ptr %16115, align 4, !tbaa !5
  %16117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16104, ptr noundef @.str.2, i32 noundef %16105, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 482, ptr noundef %16108, ptr noundef %16111, ptr noundef %16114, i32 noundef %16116) #11
  br label %16135

16118:                                            ; preds = %16096, %16089
  %16119 = load i32, ptr %321, align 4, !tbaa !5
  %16120 = call ptr @__errno_location() #12
  store i32 %16119, ptr %16120, align 4, !tbaa !5
  %16121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16122 = load i32, ptr @test_count, align 4, !tbaa !5
  %16123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16124 = load i32, ptr %16123, align 4, !tbaa !5
  %16125 = call ptr @s2n_strerror(i32 noundef %16124, ptr noundef @.str.4)
  %16126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16127 = load i32, ptr %16126, align 4, !tbaa !5
  %16128 = call ptr @s2n_strerror_debug(i32 noundef %16127, ptr noundef @.str.4)
  %16129 = call ptr @__errno_location() #12
  %16130 = load i32, ptr %16129, align 4, !tbaa !5
  %16131 = call ptr @strerror(i32 noundef %16130) #11
  %16132 = call ptr @__errno_location() #12
  %16133 = load i32, ptr %16132, align 4, !tbaa !5
  %16134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16121, ptr noundef @.str.5, i32 noundef %16122, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 482, ptr noundef %16125, ptr noundef %16128, ptr noundef %16131, i32 noundef %16133) #11
  br label %16135

16135:                                            ; preds = %16118, %16101
  call void @llvm.lifetime.end.p0(i64 4, ptr %321) #11
  br label %16136

16136:                                            ; preds = %16135
  br label %16137

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

16138:                                            ; No predecessors!
  br label %16139

16139:                                            ; preds = %16138
  br label %16140

16140:                                            ; preds = %16139, %16080
  br label %16141

16141:                                            ; preds = %16140
  br label %16142

16142:                                            ; preds = %16141
  br label %16143

16143:                                            ; preds = %16142
  %16144 = load i32, ptr @test_count, align 4, !tbaa !5
  %16145 = add nsw i32 %16144, 1
  store i32 %16145, ptr @test_count, align 4, !tbaa !5
  %16146 = load ptr, ptr %300, align 8, !tbaa !9
  %16147 = call i32 @s2n_connection_set_end_of_early_data(ptr noundef %16146)
  %16148 = icmp eq i32 %16147, -1
  br i1 %16148, label %16149, label %16202

16149:                                            ; preds = %16143
  br label %16150

16150:                                            ; preds = %16149
  br label %16151

16151:                                            ; preds = %16150
  call void @llvm.lifetime.start.p0(i64 4, ptr %322) #11
  %16152 = call ptr @__errno_location() #12
  %16153 = load i32, ptr %16152, align 4, !tbaa !5
  store i32 %16153, ptr %322, align 4, !tbaa !5
  %16154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16155 = call i32 @s2n_print_stacktrace(ptr noundef %16154)
  %16156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16157 = trunc i8 %16156 to i1
  br i1 %16157, label %16158, label %16180

16158:                                            ; preds = %16151
  %16159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16160 = call i32 @fileno(ptr noundef %16159) #11
  %16161 = call i32 @isatty(i32 noundef %16160) #11
  %16162 = icmp ne i32 %16161, 0
  br i1 %16162, label %16163, label %16180

16163:                                            ; preds = %16158
  %16164 = load i32, ptr %322, align 4, !tbaa !5
  %16165 = call ptr @__errno_location() #12
  store i32 %16164, ptr %16165, align 4, !tbaa !5
  %16166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16167 = load i32, ptr @test_count, align 4, !tbaa !5
  %16168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16169 = load i32, ptr %16168, align 4, !tbaa !5
  %16170 = call ptr @s2n_strerror(i32 noundef %16169, ptr noundef @.str.4)
  %16171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16172 = load i32, ptr %16171, align 4, !tbaa !5
  %16173 = call ptr @s2n_strerror_debug(i32 noundef %16172, ptr noundef @.str.4)
  %16174 = call ptr @__errno_location() #12
  %16175 = load i32, ptr %16174, align 4, !tbaa !5
  %16176 = call ptr @strerror(i32 noundef %16175) #11
  %16177 = call ptr @__errno_location() #12
  %16178 = load i32, ptr %16177, align 4, !tbaa !5
  %16179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16166, ptr noundef @.str.2, i32 noundef %16167, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 484, ptr noundef %16170, ptr noundef %16173, ptr noundef %16176, i32 noundef %16178) #11
  br label %16197

16180:                                            ; preds = %16158, %16151
  %16181 = load i32, ptr %322, align 4, !tbaa !5
  %16182 = call ptr @__errno_location() #12
  store i32 %16181, ptr %16182, align 4, !tbaa !5
  %16183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16184 = load i32, ptr @test_count, align 4, !tbaa !5
  %16185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16186 = load i32, ptr %16185, align 4, !tbaa !5
  %16187 = call ptr @s2n_strerror(i32 noundef %16186, ptr noundef @.str.4)
  %16188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16189 = load i32, ptr %16188, align 4, !tbaa !5
  %16190 = call ptr @s2n_strerror_debug(i32 noundef %16189, ptr noundef @.str.4)
  %16191 = call ptr @__errno_location() #12
  %16192 = load i32, ptr %16191, align 4, !tbaa !5
  %16193 = call ptr @strerror(i32 noundef %16192) #11
  %16194 = call ptr @__errno_location() #12
  %16195 = load i32, ptr %16194, align 4, !tbaa !5
  %16196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16183, ptr noundef @.str.5, i32 noundef %16184, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 484, ptr noundef %16187, ptr noundef %16190, ptr noundef %16193, i32 noundef %16195) #11
  br label %16197

16197:                                            ; preds = %16180, %16163
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #11
  br label %16198

16198:                                            ; preds = %16197
  br label %16199

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

16200:                                            ; No predecessors!
  br label %16201

16201:                                            ; preds = %16200
  br label %16202

16202:                                            ; preds = %16201, %16143
  br label %16203

16203:                                            ; preds = %16202
  br label %16204

16204:                                            ; preds = %16203
  br label %16205

16205:                                            ; preds = %16204
  %16206 = load i32, ptr @test_count, align 4, !tbaa !5
  %16207 = add nsw i32 %16206, 1
  store i32 %16207, ptr @test_count, align 4, !tbaa !5
  %16208 = load ptr, ptr %302, align 8, !tbaa !9
  %16209 = load ptr, ptr %300, align 8, !tbaa !9
  %16210 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %16208, ptr noundef %16209)
  %16211 = icmp eq i32 %16210, -1
  br i1 %16211, label %16212, label %16265

16212:                                            ; preds = %16205
  br label %16213

16213:                                            ; preds = %16212
  br label %16214

16214:                                            ; preds = %16213
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #11
  %16215 = call ptr @__errno_location() #12
  %16216 = load i32, ptr %16215, align 4, !tbaa !5
  store i32 %16216, ptr %323, align 4, !tbaa !5
  %16217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16218 = call i32 @s2n_print_stacktrace(ptr noundef %16217)
  %16219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16220 = trunc i8 %16219 to i1
  br i1 %16220, label %16221, label %16243

16221:                                            ; preds = %16214
  %16222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16223 = call i32 @fileno(ptr noundef %16222) #11
  %16224 = call i32 @isatty(i32 noundef %16223) #11
  %16225 = icmp ne i32 %16224, 0
  br i1 %16225, label %16226, label %16243

16226:                                            ; preds = %16221
  %16227 = load i32, ptr %323, align 4, !tbaa !5
  %16228 = call ptr @__errno_location() #12
  store i32 %16227, ptr %16228, align 4, !tbaa !5
  %16229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16230 = load i32, ptr @test_count, align 4, !tbaa !5
  %16231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16232 = load i32, ptr %16231, align 4, !tbaa !5
  %16233 = call ptr @s2n_strerror(i32 noundef %16232, ptr noundef @.str.4)
  %16234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16235 = load i32, ptr %16234, align 4, !tbaa !5
  %16236 = call ptr @s2n_strerror_debug(i32 noundef %16235, ptr noundef @.str.4)
  %16237 = call ptr @__errno_location() #12
  %16238 = load i32, ptr %16237, align 4, !tbaa !5
  %16239 = call ptr @strerror(i32 noundef %16238) #11
  %16240 = call ptr @__errno_location() #12
  %16241 = load i32, ptr %16240, align 4, !tbaa !5
  %16242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16229, ptr noundef @.str.2, i32 noundef %16230, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 485, ptr noundef %16233, ptr noundef %16236, ptr noundef %16239, i32 noundef %16241) #11
  br label %16260

16243:                                            ; preds = %16221, %16214
  %16244 = load i32, ptr %323, align 4, !tbaa !5
  %16245 = call ptr @__errno_location() #12
  store i32 %16244, ptr %16245, align 4, !tbaa !5
  %16246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16247 = load i32, ptr @test_count, align 4, !tbaa !5
  %16248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16249 = load i32, ptr %16248, align 4, !tbaa !5
  %16250 = call ptr @s2n_strerror(i32 noundef %16249, ptr noundef @.str.4)
  %16251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16252 = load i32, ptr %16251, align 4, !tbaa !5
  %16253 = call ptr @s2n_strerror_debug(i32 noundef %16252, ptr noundef @.str.4)
  %16254 = call ptr @__errno_location() #12
  %16255 = load i32, ptr %16254, align 4, !tbaa !5
  %16256 = call ptr @strerror(i32 noundef %16255) #11
  %16257 = call ptr @__errno_location() #12
  %16258 = load i32, ptr %16257, align 4, !tbaa !5
  %16259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16246, ptr noundef @.str.5, i32 noundef %16247, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 485, ptr noundef %16250, ptr noundef %16253, ptr noundef %16256, i32 noundef %16258) #11
  br label %16260

16260:                                            ; preds = %16243, %16226
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #11
  br label %16261

16261:                                            ; preds = %16260
  br label %16262

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

16263:                                            ; No predecessors!
  br label %16264

16264:                                            ; preds = %16263
  br label %16265

16265:                                            ; preds = %16264, %16205
  br label %16266

16266:                                            ; preds = %16265
  br label %16267

16267:                                            ; preds = %16266
  br label %16268

16268:                                            ; preds = %16267
  %16269 = load i32, ptr @test_count, align 4, !tbaa !5
  %16270 = add nsw i32 %16269, 1
  store i32 %16270, ptr @test_count, align 4, !tbaa !5
  %16271 = load ptr, ptr %300, align 8, !tbaa !9
  %16272 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %16271, i32 noundef 64)
  br i1 %16272, label %16273, label %16326

16273:                                            ; preds = %16268
  br label %16274

16274:                                            ; preds = %16273
  br label %16275

16275:                                            ; preds = %16274
  call void @llvm.lifetime.start.p0(i64 4, ptr %324) #11
  %16276 = call ptr @__errno_location() #12
  %16277 = load i32, ptr %16276, align 4, !tbaa !5
  store i32 %16277, ptr %324, align 4, !tbaa !5
  %16278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16279 = call i32 @s2n_print_stacktrace(ptr noundef %16278)
  %16280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16281 = trunc i8 %16280 to i1
  br i1 %16281, label %16282, label %16304

16282:                                            ; preds = %16275
  %16283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16284 = call i32 @fileno(ptr noundef %16283) #11
  %16285 = call i32 @isatty(i32 noundef %16284) #11
  %16286 = icmp ne i32 %16285, 0
  br i1 %16286, label %16287, label %16304

16287:                                            ; preds = %16282
  %16288 = load i32, ptr %324, align 4, !tbaa !5
  %16289 = call ptr @__errno_location() #12
  store i32 %16288, ptr %16289, align 4, !tbaa !5
  %16290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16291 = load i32, ptr @test_count, align 4, !tbaa !5
  %16292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16293 = load i32, ptr %16292, align 4, !tbaa !5
  %16294 = call ptr @s2n_strerror(i32 noundef %16293, ptr noundef @.str.4)
  %16295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16296 = load i32, ptr %16295, align 4, !tbaa !5
  %16297 = call ptr @s2n_strerror_debug(i32 noundef %16296, ptr noundef @.str.4)
  %16298 = call ptr @__errno_location() #12
  %16299 = load i32, ptr %16298, align 4, !tbaa !5
  %16300 = call ptr @strerror(i32 noundef %16299) #11
  %16301 = call ptr @__errno_location() #12
  %16302 = load i32, ptr %16301, align 4, !tbaa !5
  %16303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16290, ptr noundef @.str.2, i32 noundef %16291, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 487, ptr noundef %16294, ptr noundef %16297, ptr noundef %16300, i32 noundef %16302) #11
  br label %16321

16304:                                            ; preds = %16282, %16275
  %16305 = load i32, ptr %324, align 4, !tbaa !5
  %16306 = call ptr @__errno_location() #12
  store i32 %16305, ptr %16306, align 4, !tbaa !5
  %16307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16308 = load i32, ptr @test_count, align 4, !tbaa !5
  %16309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16310 = load i32, ptr %16309, align 4, !tbaa !5
  %16311 = call ptr @s2n_strerror(i32 noundef %16310, ptr noundef @.str.4)
  %16312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16313 = load i32, ptr %16312, align 4, !tbaa !5
  %16314 = call ptr @s2n_strerror_debug(i32 noundef %16313, ptr noundef @.str.4)
  %16315 = call ptr @__errno_location() #12
  %16316 = load i32, ptr %16315, align 4, !tbaa !5
  %16317 = call ptr @strerror(i32 noundef %16316) #11
  %16318 = call ptr @__errno_location() #12
  %16319 = load i32, ptr %16318, align 4, !tbaa !5
  %16320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16307, ptr noundef @.str.5, i32 noundef %16308, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 487, ptr noundef %16311, ptr noundef %16314, ptr noundef %16317, i32 noundef %16319) #11
  br label %16321

16321:                                            ; preds = %16304, %16287
  call void @llvm.lifetime.end.p0(i64 4, ptr %324) #11
  br label %16322

16322:                                            ; preds = %16321
  br label %16323

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

16324:                                            ; No predecessors!
  br label %16325

16325:                                            ; preds = %16324
  br label %16326

16326:                                            ; preds = %16325, %16268
  br label %16327

16327:                                            ; preds = %16326
  br label %16328

16328:                                            ; preds = %16327
  br label %16329

16329:                                            ; preds = %16328
  %16330 = load i32, ptr @test_count, align 4, !tbaa !5
  %16331 = add nsw i32 %16330, 1
  store i32 %16331, ptr @test_count, align 4, !tbaa !5
  %16332 = load ptr, ptr %302, align 8, !tbaa !9
  %16333 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %16332, i32 noundef 64)
  br i1 %16333, label %16334, label %16387

16334:                                            ; preds = %16329
  br label %16335

16335:                                            ; preds = %16334
  br label %16336

16336:                                            ; preds = %16335
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #11
  %16337 = call ptr @__errno_location() #12
  %16338 = load i32, ptr %16337, align 4, !tbaa !5
  store i32 %16338, ptr %325, align 4, !tbaa !5
  %16339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16340 = call i32 @s2n_print_stacktrace(ptr noundef %16339)
  %16341 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16342 = trunc i8 %16341 to i1
  br i1 %16342, label %16343, label %16365

16343:                                            ; preds = %16336
  %16344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16345 = call i32 @fileno(ptr noundef %16344) #11
  %16346 = call i32 @isatty(i32 noundef %16345) #11
  %16347 = icmp ne i32 %16346, 0
  br i1 %16347, label %16348, label %16365

16348:                                            ; preds = %16343
  %16349 = load i32, ptr %325, align 4, !tbaa !5
  %16350 = call ptr @__errno_location() #12
  store i32 %16349, ptr %16350, align 4, !tbaa !5
  %16351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16352 = load i32, ptr @test_count, align 4, !tbaa !5
  %16353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16354 = load i32, ptr %16353, align 4, !tbaa !5
  %16355 = call ptr @s2n_strerror(i32 noundef %16354, ptr noundef @.str.4)
  %16356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16357 = load i32, ptr %16356, align 4, !tbaa !5
  %16358 = call ptr @s2n_strerror_debug(i32 noundef %16357, ptr noundef @.str.4)
  %16359 = call ptr @__errno_location() #12
  %16360 = load i32, ptr %16359, align 4, !tbaa !5
  %16361 = call ptr @strerror(i32 noundef %16360) #11
  %16362 = call ptr @__errno_location() #12
  %16363 = load i32, ptr %16362, align 4, !tbaa !5
  %16364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16351, ptr noundef @.str.2, i32 noundef %16352, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 488, ptr noundef %16355, ptr noundef %16358, ptr noundef %16361, i32 noundef %16363) #11
  br label %16382

16365:                                            ; preds = %16343, %16336
  %16366 = load i32, ptr %325, align 4, !tbaa !5
  %16367 = call ptr @__errno_location() #12
  store i32 %16366, ptr %16367, align 4, !tbaa !5
  %16368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16369 = load i32, ptr @test_count, align 4, !tbaa !5
  %16370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16371 = load i32, ptr %16370, align 4, !tbaa !5
  %16372 = call ptr @s2n_strerror(i32 noundef %16371, ptr noundef @.str.4)
  %16373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16374 = load i32, ptr %16373, align 4, !tbaa !5
  %16375 = call ptr @s2n_strerror_debug(i32 noundef %16374, ptr noundef @.str.4)
  %16376 = call ptr @__errno_location() #12
  %16377 = load i32, ptr %16376, align 4, !tbaa !5
  %16378 = call ptr @strerror(i32 noundef %16377) #11
  %16379 = call ptr @__errno_location() #12
  %16380 = load i32, ptr %16379, align 4, !tbaa !5
  %16381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16368, ptr noundef @.str.5, i32 noundef %16369, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 488, ptr noundef %16372, ptr noundef %16375, ptr noundef %16378, i32 noundef %16380) #11
  br label %16382

16382:                                            ; preds = %16365, %16348
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #11
  br label %16383

16383:                                            ; preds = %16382
  br label %16384

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

16385:                                            ; No predecessors!
  br label %16386

16386:                                            ; preds = %16385
  br label %16387

16387:                                            ; preds = %16386, %16329
  br label %16388

16388:                                            ; preds = %16387
  br label %16389

16389:                                            ; preds = %16388
  br label %16390

16390:                                            ; preds = %16389
  %16391 = load i32, ptr @test_count, align 4, !tbaa !5
  %16392 = add nsw i32 %16391, 1
  store i32 %16392, ptr @test_count, align 4, !tbaa !5
  %16393 = load ptr, ptr %300, align 8, !tbaa !9
  %16394 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %16393, i32 noundef 128)
  br i1 %16394, label %16448, label %16395

16395:                                            ; preds = %16390
  br label %16396

16396:                                            ; preds = %16395
  br label %16397

16397:                                            ; preds = %16396
  call void @llvm.lifetime.start.p0(i64 4, ptr %326) #11
  %16398 = call ptr @__errno_location() #12
  %16399 = load i32, ptr %16398, align 4, !tbaa !5
  store i32 %16399, ptr %326, align 4, !tbaa !5
  %16400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16401 = call i32 @s2n_print_stacktrace(ptr noundef %16400)
  %16402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16403 = trunc i8 %16402 to i1
  br i1 %16403, label %16404, label %16426

16404:                                            ; preds = %16397
  %16405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16406 = call i32 @fileno(ptr noundef %16405) #11
  %16407 = call i32 @isatty(i32 noundef %16406) #11
  %16408 = icmp ne i32 %16407, 0
  br i1 %16408, label %16409, label %16426

16409:                                            ; preds = %16404
  %16410 = load i32, ptr %326, align 4, !tbaa !5
  %16411 = call ptr @__errno_location() #12
  store i32 %16410, ptr %16411, align 4, !tbaa !5
  %16412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16413 = load i32, ptr @test_count, align 4, !tbaa !5
  %16414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16415 = load i32, ptr %16414, align 4, !tbaa !5
  %16416 = call ptr @s2n_strerror(i32 noundef %16415, ptr noundef @.str.4)
  %16417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16418 = load i32, ptr %16417, align 4, !tbaa !5
  %16419 = call ptr @s2n_strerror_debug(i32 noundef %16418, ptr noundef @.str.4)
  %16420 = call ptr @__errno_location() #12
  %16421 = load i32, ptr %16420, align 4, !tbaa !5
  %16422 = call ptr @strerror(i32 noundef %16421) #11
  %16423 = call ptr @__errno_location() #12
  %16424 = load i32, ptr %16423, align 4, !tbaa !5
  %16425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16412, ptr noundef @.str.2, i32 noundef %16413, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 489, ptr noundef %16416, ptr noundef %16419, ptr noundef %16422, i32 noundef %16424) #11
  br label %16443

16426:                                            ; preds = %16404, %16397
  %16427 = load i32, ptr %326, align 4, !tbaa !5
  %16428 = call ptr @__errno_location() #12
  store i32 %16427, ptr %16428, align 4, !tbaa !5
  %16429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16430 = load i32, ptr @test_count, align 4, !tbaa !5
  %16431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16432 = load i32, ptr %16431, align 4, !tbaa !5
  %16433 = call ptr @s2n_strerror(i32 noundef %16432, ptr noundef @.str.4)
  %16434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16435 = load i32, ptr %16434, align 4, !tbaa !5
  %16436 = call ptr @s2n_strerror_debug(i32 noundef %16435, ptr noundef @.str.4)
  %16437 = call ptr @__errno_location() #12
  %16438 = load i32, ptr %16437, align 4, !tbaa !5
  %16439 = call ptr @strerror(i32 noundef %16438) #11
  %16440 = call ptr @__errno_location() #12
  %16441 = load i32, ptr %16440, align 4, !tbaa !5
  %16442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16429, ptr noundef @.str.5, i32 noundef %16430, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 489, ptr noundef %16433, ptr noundef %16436, ptr noundef %16439, i32 noundef %16441) #11
  br label %16443

16443:                                            ; preds = %16426, %16409
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #11
  br label %16444

16444:                                            ; preds = %16443
  br label %16445

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

16446:                                            ; No predecessors!
  br label %16447

16447:                                            ; preds = %16446
  br label %16448

16448:                                            ; preds = %16447, %16390
  br label %16449

16449:                                            ; preds = %16448
  br label %16450

16450:                                            ; preds = %16449
  br label %16451

16451:                                            ; preds = %16450
  %16452 = load i32, ptr @test_count, align 4, !tbaa !5
  %16453 = add nsw i32 %16452, 1
  store i32 %16453, ptr @test_count, align 4, !tbaa !5
  %16454 = load ptr, ptr %302, align 8, !tbaa !9
  %16455 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %16454, i32 noundef 128)
  br i1 %16455, label %16509, label %16456

16456:                                            ; preds = %16451
  br label %16457

16457:                                            ; preds = %16456
  br label %16458

16458:                                            ; preds = %16457
  call void @llvm.lifetime.start.p0(i64 4, ptr %327) #11
  %16459 = call ptr @__errno_location() #12
  %16460 = load i32, ptr %16459, align 4, !tbaa !5
  store i32 %16460, ptr %327, align 4, !tbaa !5
  %16461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16462 = call i32 @s2n_print_stacktrace(ptr noundef %16461)
  %16463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16464 = trunc i8 %16463 to i1
  br i1 %16464, label %16465, label %16487

16465:                                            ; preds = %16458
  %16466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16467 = call i32 @fileno(ptr noundef %16466) #11
  %16468 = call i32 @isatty(i32 noundef %16467) #11
  %16469 = icmp ne i32 %16468, 0
  br i1 %16469, label %16470, label %16487

16470:                                            ; preds = %16465
  %16471 = load i32, ptr %327, align 4, !tbaa !5
  %16472 = call ptr @__errno_location() #12
  store i32 %16471, ptr %16472, align 4, !tbaa !5
  %16473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16474 = load i32, ptr @test_count, align 4, !tbaa !5
  %16475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16476 = load i32, ptr %16475, align 4, !tbaa !5
  %16477 = call ptr @s2n_strerror(i32 noundef %16476, ptr noundef @.str.4)
  %16478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16479 = load i32, ptr %16478, align 4, !tbaa !5
  %16480 = call ptr @s2n_strerror_debug(i32 noundef %16479, ptr noundef @.str.4)
  %16481 = call ptr @__errno_location() #12
  %16482 = load i32, ptr %16481, align 4, !tbaa !5
  %16483 = call ptr @strerror(i32 noundef %16482) #11
  %16484 = call ptr @__errno_location() #12
  %16485 = load i32, ptr %16484, align 4, !tbaa !5
  %16486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16473, ptr noundef @.str.2, i32 noundef %16474, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 490, ptr noundef %16477, ptr noundef %16480, ptr noundef %16483, i32 noundef %16485) #11
  br label %16504

16487:                                            ; preds = %16465, %16458
  %16488 = load i32, ptr %327, align 4, !tbaa !5
  %16489 = call ptr @__errno_location() #12
  store i32 %16488, ptr %16489, align 4, !tbaa !5
  %16490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16491 = load i32, ptr @test_count, align 4, !tbaa !5
  %16492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16493 = load i32, ptr %16492, align 4, !tbaa !5
  %16494 = call ptr @s2n_strerror(i32 noundef %16493, ptr noundef @.str.4)
  %16495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16496 = load i32, ptr %16495, align 4, !tbaa !5
  %16497 = call ptr @s2n_strerror_debug(i32 noundef %16496, ptr noundef @.str.4)
  %16498 = call ptr @__errno_location() #12
  %16499 = load i32, ptr %16498, align 4, !tbaa !5
  %16500 = call ptr @strerror(i32 noundef %16499) #11
  %16501 = call ptr @__errno_location() #12
  %16502 = load i32, ptr %16501, align 4, !tbaa !5
  %16503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16490, ptr noundef @.str.5, i32 noundef %16491, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 490, ptr noundef %16494, ptr noundef %16497, ptr noundef %16500, i32 noundef %16502) #11
  br label %16504

16504:                                            ; preds = %16487, %16470
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #11
  br label %16505

16505:                                            ; preds = %16504
  br label %16506

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

16507:                                            ; No predecessors!
  br label %16508

16508:                                            ; preds = %16507
  br label %16509

16509:                                            ; preds = %16508, %16451
  br label %16510

16510:                                            ; preds = %16509
  br label %16511

16511:                                            ; preds = %16510
  br label %16512

16512:                                            ; preds = %16511
  %16513 = load i32, ptr @test_count, align 4, !tbaa !5
  %16514 = add nsw i32 %16513, 1
  store i32 %16514, ptr @test_count, align 4, !tbaa !5
  %16515 = load ptr, ptr %300, align 8, !tbaa !9
  %16516 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %16515, i32 noundef 16)
  br i1 %16516, label %16570, label %16517

16517:                                            ; preds = %16512
  br label %16518

16518:                                            ; preds = %16517
  br label %16519

16519:                                            ; preds = %16518
  call void @llvm.lifetime.start.p0(i64 4, ptr %328) #11
  %16520 = call ptr @__errno_location() #12
  %16521 = load i32, ptr %16520, align 4, !tbaa !5
  store i32 %16521, ptr %328, align 4, !tbaa !5
  %16522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16523 = call i32 @s2n_print_stacktrace(ptr noundef %16522)
  %16524 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16525 = trunc i8 %16524 to i1
  br i1 %16525, label %16526, label %16548

16526:                                            ; preds = %16519
  %16527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16528 = call i32 @fileno(ptr noundef %16527) #11
  %16529 = call i32 @isatty(i32 noundef %16528) #11
  %16530 = icmp ne i32 %16529, 0
  br i1 %16530, label %16531, label %16548

16531:                                            ; preds = %16526
  %16532 = load i32, ptr %328, align 4, !tbaa !5
  %16533 = call ptr @__errno_location() #12
  store i32 %16532, ptr %16533, align 4, !tbaa !5
  %16534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16535 = load i32, ptr @test_count, align 4, !tbaa !5
  %16536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16537 = load i32, ptr %16536, align 4, !tbaa !5
  %16538 = call ptr @s2n_strerror(i32 noundef %16537, ptr noundef @.str.4)
  %16539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16540 = load i32, ptr %16539, align 4, !tbaa !5
  %16541 = call ptr @s2n_strerror_debug(i32 noundef %16540, ptr noundef @.str.4)
  %16542 = call ptr @__errno_location() #12
  %16543 = load i32, ptr %16542, align 4, !tbaa !5
  %16544 = call ptr @strerror(i32 noundef %16543) #11
  %16545 = call ptr @__errno_location() #12
  %16546 = load i32, ptr %16545, align 4, !tbaa !5
  %16547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16534, ptr noundef @.str.2, i32 noundef %16535, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 491, ptr noundef %16538, ptr noundef %16541, ptr noundef %16544, i32 noundef %16546) #11
  br label %16565

16548:                                            ; preds = %16526, %16519
  %16549 = load i32, ptr %328, align 4, !tbaa !5
  %16550 = call ptr @__errno_location() #12
  store i32 %16549, ptr %16550, align 4, !tbaa !5
  %16551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16552 = load i32, ptr @test_count, align 4, !tbaa !5
  %16553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16554 = load i32, ptr %16553, align 4, !tbaa !5
  %16555 = call ptr @s2n_strerror(i32 noundef %16554, ptr noundef @.str.4)
  %16556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16557 = load i32, ptr %16556, align 4, !tbaa !5
  %16558 = call ptr @s2n_strerror_debug(i32 noundef %16557, ptr noundef @.str.4)
  %16559 = call ptr @__errno_location() #12
  %16560 = load i32, ptr %16559, align 4, !tbaa !5
  %16561 = call ptr @strerror(i32 noundef %16560) #11
  %16562 = call ptr @__errno_location() #12
  %16563 = load i32, ptr %16562, align 4, !tbaa !5
  %16564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16551, ptr noundef @.str.5, i32 noundef %16552, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 491, ptr noundef %16555, ptr noundef %16558, ptr noundef %16561, i32 noundef %16563) #11
  br label %16565

16565:                                            ; preds = %16548, %16531
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #11
  br label %16566

16566:                                            ; preds = %16565
  br label %16567

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

16568:                                            ; No predecessors!
  br label %16569

16569:                                            ; preds = %16568
  br label %16570

16570:                                            ; preds = %16569, %16512
  br label %16571

16571:                                            ; preds = %16570
  br label %16572

16572:                                            ; preds = %16571
  br label %16573

16573:                                            ; preds = %16572
  %16574 = load i32, ptr @test_count, align 4, !tbaa !5
  %16575 = add nsw i32 %16574, 1
  store i32 %16575, ptr @test_count, align 4, !tbaa !5
  %16576 = load ptr, ptr %302, align 8, !tbaa !9
  %16577 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %16576, i32 noundef 16)
  br i1 %16577, label %16631, label %16578

16578:                                            ; preds = %16573
  br label %16579

16579:                                            ; preds = %16578
  br label %16580

16580:                                            ; preds = %16579
  call void @llvm.lifetime.start.p0(i64 4, ptr %329) #11
  %16581 = call ptr @__errno_location() #12
  %16582 = load i32, ptr %16581, align 4, !tbaa !5
  store i32 %16582, ptr %329, align 4, !tbaa !5
  %16583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16584 = call i32 @s2n_print_stacktrace(ptr noundef %16583)
  %16585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16586 = trunc i8 %16585 to i1
  br i1 %16586, label %16587, label %16609

16587:                                            ; preds = %16580
  %16588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16589 = call i32 @fileno(ptr noundef %16588) #11
  %16590 = call i32 @isatty(i32 noundef %16589) #11
  %16591 = icmp ne i32 %16590, 0
  br i1 %16591, label %16592, label %16609

16592:                                            ; preds = %16587
  %16593 = load i32, ptr %329, align 4, !tbaa !5
  %16594 = call ptr @__errno_location() #12
  store i32 %16593, ptr %16594, align 4, !tbaa !5
  %16595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16596 = load i32, ptr @test_count, align 4, !tbaa !5
  %16597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16598 = load i32, ptr %16597, align 4, !tbaa !5
  %16599 = call ptr @s2n_strerror(i32 noundef %16598, ptr noundef @.str.4)
  %16600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16601 = load i32, ptr %16600, align 4, !tbaa !5
  %16602 = call ptr @s2n_strerror_debug(i32 noundef %16601, ptr noundef @.str.4)
  %16603 = call ptr @__errno_location() #12
  %16604 = load i32, ptr %16603, align 4, !tbaa !5
  %16605 = call ptr @strerror(i32 noundef %16604) #11
  %16606 = call ptr @__errno_location() #12
  %16607 = load i32, ptr %16606, align 4, !tbaa !5
  %16608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16595, ptr noundef @.str.2, i32 noundef %16596, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 492, ptr noundef %16599, ptr noundef %16602, ptr noundef %16605, i32 noundef %16607) #11
  br label %16626

16609:                                            ; preds = %16587, %16580
  %16610 = load i32, ptr %329, align 4, !tbaa !5
  %16611 = call ptr @__errno_location() #12
  store i32 %16610, ptr %16611, align 4, !tbaa !5
  %16612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16613 = load i32, ptr @test_count, align 4, !tbaa !5
  %16614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16615 = load i32, ptr %16614, align 4, !tbaa !5
  %16616 = call ptr @s2n_strerror(i32 noundef %16615, ptr noundef @.str.4)
  %16617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16618 = load i32, ptr %16617, align 4, !tbaa !5
  %16619 = call ptr @s2n_strerror_debug(i32 noundef %16618, ptr noundef @.str.4)
  %16620 = call ptr @__errno_location() #12
  %16621 = load i32, ptr %16620, align 4, !tbaa !5
  %16622 = call ptr @strerror(i32 noundef %16621) #11
  %16623 = call ptr @__errno_location() #12
  %16624 = load i32, ptr %16623, align 4, !tbaa !5
  %16625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16612, ptr noundef @.str.5, i32 noundef %16613, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 492, ptr noundef %16616, ptr noundef %16619, ptr noundef %16622, i32 noundef %16624) #11
  br label %16626

16626:                                            ; preds = %16609, %16592
  call void @llvm.lifetime.end.p0(i64 4, ptr %329) #11
  br label %16627

16627:                                            ; preds = %16626
  br label %16628

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

16629:                                            ; No predecessors!
  br label %16630

16630:                                            ; preds = %16629
  br label %16631

16631:                                            ; preds = %16630, %16573
  br label %16632

16632:                                            ; preds = %16631
  br label %16633

16633:                                            ; preds = %16632
  br label %16634

16634:                                            ; preds = %16633
  %16635 = load i32, ptr @test_count, align 4, !tbaa !5
  %16636 = add nsw i32 %16635, 1
  store i32 %16636, ptr @test_count, align 4, !tbaa !5
  %16637 = load ptr, ptr %302, align 8, !tbaa !9
  %16638 = load ptr, ptr %300, align 8, !tbaa !9
  %16639 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %16637, ptr noundef %16638)
  %16640 = icmp eq i32 %16639, -1
  br i1 %16640, label %16641, label %16694

16641:                                            ; preds = %16634
  br label %16642

16642:                                            ; preds = %16641
  br label %16643

16643:                                            ; preds = %16642
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #11
  %16644 = call ptr @__errno_location() #12
  %16645 = load i32, ptr %16644, align 4, !tbaa !5
  store i32 %16645, ptr %330, align 4, !tbaa !5
  %16646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16647 = call i32 @s2n_print_stacktrace(ptr noundef %16646)
  %16648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16649 = trunc i8 %16648 to i1
  br i1 %16649, label %16650, label %16672

16650:                                            ; preds = %16643
  %16651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16652 = call i32 @fileno(ptr noundef %16651) #11
  %16653 = call i32 @isatty(i32 noundef %16652) #11
  %16654 = icmp ne i32 %16653, 0
  br i1 %16654, label %16655, label %16672

16655:                                            ; preds = %16650
  %16656 = load i32, ptr %330, align 4, !tbaa !5
  %16657 = call ptr @__errno_location() #12
  store i32 %16656, ptr %16657, align 4, !tbaa !5
  %16658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16659 = load i32, ptr @test_count, align 4, !tbaa !5
  %16660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16661 = load i32, ptr %16660, align 4, !tbaa !5
  %16662 = call ptr @s2n_strerror(i32 noundef %16661, ptr noundef @.str.4)
  %16663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16664 = load i32, ptr %16663, align 4, !tbaa !5
  %16665 = call ptr @s2n_strerror_debug(i32 noundef %16664, ptr noundef @.str.4)
  %16666 = call ptr @__errno_location() #12
  %16667 = load i32, ptr %16666, align 4, !tbaa !5
  %16668 = call ptr @strerror(i32 noundef %16667) #11
  %16669 = call ptr @__errno_location() #12
  %16670 = load i32, ptr %16669, align 4, !tbaa !5
  %16671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16658, ptr noundef @.str.2, i32 noundef %16659, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 494, ptr noundef %16662, ptr noundef %16665, ptr noundef %16668, i32 noundef %16670) #11
  br label %16689

16672:                                            ; preds = %16650, %16643
  %16673 = load i32, ptr %330, align 4, !tbaa !5
  %16674 = call ptr @__errno_location() #12
  store i32 %16673, ptr %16674, align 4, !tbaa !5
  %16675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16676 = load i32, ptr @test_count, align 4, !tbaa !5
  %16677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16678 = load i32, ptr %16677, align 4, !tbaa !5
  %16679 = call ptr @s2n_strerror(i32 noundef %16678, ptr noundef @.str.4)
  %16680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16681 = load i32, ptr %16680, align 4, !tbaa !5
  %16682 = call ptr @s2n_strerror_debug(i32 noundef %16681, ptr noundef @.str.4)
  %16683 = call ptr @__errno_location() #12
  %16684 = load i32, ptr %16683, align 4, !tbaa !5
  %16685 = call ptr @strerror(i32 noundef %16684) #11
  %16686 = call ptr @__errno_location() #12
  %16687 = load i32, ptr %16686, align 4, !tbaa !5
  %16688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16675, ptr noundef @.str.5, i32 noundef %16676, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 494, ptr noundef %16679, ptr noundef %16682, ptr noundef %16685, i32 noundef %16687) #11
  br label %16689

16689:                                            ; preds = %16672, %16655
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #11
  br label %16690

16690:                                            ; preds = %16689
  br label %16691

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

16692:                                            ; No predecessors!
  br label %16693

16693:                                            ; preds = %16692
  br label %16694

16694:                                            ; preds = %16693, %16634
  br label %16695

16695:                                            ; preds = %16694
  br label %16696

16696:                                            ; preds = %16695
  br label %16697

16697:                                            ; preds = %16696
  %16698 = load i32, ptr @test_count, align 4, !tbaa !5
  %16699 = add nsw i32 %16698, 1
  store i32 %16699, ptr @test_count, align 4, !tbaa !5
  %16700 = load ptr, ptr %300, align 8, !tbaa !9
  %16701 = call i32 @s2n_connection_wipe(ptr noundef %16700)
  %16702 = icmp eq i32 %16701, -1
  br i1 %16702, label %16703, label %16756

16703:                                            ; preds = %16697
  br label %16704

16704:                                            ; preds = %16703
  br label %16705

16705:                                            ; preds = %16704
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #11
  %16706 = call ptr @__errno_location() #12
  %16707 = load i32, ptr %16706, align 4, !tbaa !5
  store i32 %16707, ptr %331, align 4, !tbaa !5
  %16708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16709 = call i32 @s2n_print_stacktrace(ptr noundef %16708)
  %16710 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16711 = trunc i8 %16710 to i1
  br i1 %16711, label %16712, label %16734

16712:                                            ; preds = %16705
  %16713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16714 = call i32 @fileno(ptr noundef %16713) #11
  %16715 = call i32 @isatty(i32 noundef %16714) #11
  %16716 = icmp ne i32 %16715, 0
  br i1 %16716, label %16717, label %16734

16717:                                            ; preds = %16712
  %16718 = load i32, ptr %331, align 4, !tbaa !5
  %16719 = call ptr @__errno_location() #12
  store i32 %16718, ptr %16719, align 4, !tbaa !5
  %16720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16721 = load i32, ptr @test_count, align 4, !tbaa !5
  %16722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16723 = load i32, ptr %16722, align 4, !tbaa !5
  %16724 = call ptr @s2n_strerror(i32 noundef %16723, ptr noundef @.str.4)
  %16725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16726 = load i32, ptr %16725, align 4, !tbaa !5
  %16727 = call ptr @s2n_strerror_debug(i32 noundef %16726, ptr noundef @.str.4)
  %16728 = call ptr @__errno_location() #12
  %16729 = load i32, ptr %16728, align 4, !tbaa !5
  %16730 = call ptr @strerror(i32 noundef %16729) #11
  %16731 = call ptr @__errno_location() #12
  %16732 = load i32, ptr %16731, align 4, !tbaa !5
  %16733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16720, ptr noundef @.str.2, i32 noundef %16721, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 495, ptr noundef %16724, ptr noundef %16727, ptr noundef %16730, i32 noundef %16732) #11
  br label %16751

16734:                                            ; preds = %16712, %16705
  %16735 = load i32, ptr %331, align 4, !tbaa !5
  %16736 = call ptr @__errno_location() #12
  store i32 %16735, ptr %16736, align 4, !tbaa !5
  %16737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16738 = load i32, ptr @test_count, align 4, !tbaa !5
  %16739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16740 = load i32, ptr %16739, align 4, !tbaa !5
  %16741 = call ptr @s2n_strerror(i32 noundef %16740, ptr noundef @.str.4)
  %16742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16743 = load i32, ptr %16742, align 4, !tbaa !5
  %16744 = call ptr @s2n_strerror_debug(i32 noundef %16743, ptr noundef @.str.4)
  %16745 = call ptr @__errno_location() #12
  %16746 = load i32, ptr %16745, align 4, !tbaa !5
  %16747 = call ptr @strerror(i32 noundef %16746) #11
  %16748 = call ptr @__errno_location() #12
  %16749 = load i32, ptr %16748, align 4, !tbaa !5
  %16750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16737, ptr noundef @.str.5, i32 noundef %16738, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 495, ptr noundef %16741, ptr noundef %16744, ptr noundef %16747, i32 noundef %16749) #11
  br label %16751

16751:                                            ; preds = %16734, %16717
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #11
  br label %16752

16752:                                            ; preds = %16751
  br label %16753

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

16754:                                            ; No predecessors!
  br label %16755

16755:                                            ; preds = %16754
  br label %16756

16756:                                            ; preds = %16755, %16697
  br label %16757

16757:                                            ; preds = %16756
  br label %16758

16758:                                            ; preds = %16757
  br label %16759

16759:                                            ; preds = %16758
  %16760 = load i32, ptr @test_count, align 4, !tbaa !5
  %16761 = add nsw i32 %16760, 1
  store i32 %16761, ptr @test_count, align 4, !tbaa !5
  %16762 = load ptr, ptr %302, align 8, !tbaa !9
  %16763 = call i32 @s2n_connection_wipe(ptr noundef %16762)
  %16764 = icmp eq i32 %16763, -1
  br i1 %16764, label %16765, label %16818

16765:                                            ; preds = %16759
  br label %16766

16766:                                            ; preds = %16765
  br label %16767

16767:                                            ; preds = %16766
  call void @llvm.lifetime.start.p0(i64 4, ptr %332) #11
  %16768 = call ptr @__errno_location() #12
  %16769 = load i32, ptr %16768, align 4, !tbaa !5
  store i32 %16769, ptr %332, align 4, !tbaa !5
  %16770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16771 = call i32 @s2n_print_stacktrace(ptr noundef %16770)
  %16772 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16773 = trunc i8 %16772 to i1
  br i1 %16773, label %16774, label %16796

16774:                                            ; preds = %16767
  %16775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16776 = call i32 @fileno(ptr noundef %16775) #11
  %16777 = call i32 @isatty(i32 noundef %16776) #11
  %16778 = icmp ne i32 %16777, 0
  br i1 %16778, label %16779, label %16796

16779:                                            ; preds = %16774
  %16780 = load i32, ptr %332, align 4, !tbaa !5
  %16781 = call ptr @__errno_location() #12
  store i32 %16780, ptr %16781, align 4, !tbaa !5
  %16782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16783 = load i32, ptr @test_count, align 4, !tbaa !5
  %16784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16785 = load i32, ptr %16784, align 4, !tbaa !5
  %16786 = call ptr @s2n_strerror(i32 noundef %16785, ptr noundef @.str.4)
  %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_debug(i32 noundef %16788, ptr noundef @.str.4)
  %16790 = call ptr @__errno_location() #12
  %16791 = load i32, ptr %16790, align 4, !tbaa !5
  %16792 = call ptr @strerror(i32 noundef %16791) #11
  %16793 = call ptr @__errno_location() #12
  %16794 = load i32, ptr %16793, align 4, !tbaa !5
  %16795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16782, ptr noundef @.str.2, i32 noundef %16783, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 496, ptr noundef %16786, ptr noundef %16789, ptr noundef %16792, i32 noundef %16794) #11
  br label %16813

16796:                                            ; preds = %16774, %16767
  %16797 = load i32, ptr %332, align 4, !tbaa !5
  %16798 = call ptr @__errno_location() #12
  store i32 %16797, ptr %16798, align 4, !tbaa !5
  %16799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16800 = load i32, ptr @test_count, align 4, !tbaa !5
  %16801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16802 = load i32, ptr %16801, align 4, !tbaa !5
  %16803 = call ptr @s2n_strerror(i32 noundef %16802, ptr noundef @.str.4)
  %16804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16805 = load i32, ptr %16804, align 4, !tbaa !5
  %16806 = call ptr @s2n_strerror_debug(i32 noundef %16805, ptr noundef @.str.4)
  %16807 = call ptr @__errno_location() #12
  %16808 = load i32, ptr %16807, align 4, !tbaa !5
  %16809 = call ptr @strerror(i32 noundef %16808) #11
  %16810 = call ptr @__errno_location() #12
  %16811 = load i32, ptr %16810, align 4, !tbaa !5
  %16812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16799, ptr noundef @.str.5, i32 noundef %16800, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 496, ptr noundef %16803, ptr noundef %16806, ptr noundef %16809, i32 noundef %16811) #11
  br label %16813

16813:                                            ; preds = %16796, %16779
  call void @llvm.lifetime.end.p0(i64 4, ptr %332) #11
  br label %16814

16814:                                            ; preds = %16813
  br label %16815

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

16816:                                            ; No predecessors!
  br label %16817

16817:                                            ; preds = %16816
  br label %16818

16818:                                            ; preds = %16817, %16759
  br label %16819

16819:                                            ; preds = %16818
  br label %16820

16820:                                            ; preds = %16819
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #11
  br label %16821

16821:                                            ; preds = %16820
  %16822 = load i64, ptr %307, align 8, !tbaa !15
  %16823 = add i64 %16822, 1
  store i64 %16823, ptr %307, align 8, !tbaa !15
  br label %15384, !llvm.loop !48

16824:                                            ; preds = %15387
  br label %16825

16825:                                            ; preds = %16824
  %16826 = load i32, ptr @test_count, align 4, !tbaa !5
  %16827 = add nsw i32 %16826, 1
  store i32 %16827, ptr @test_count, align 4, !tbaa !5
  %16828 = load ptr, ptr %300, align 8, !tbaa !9
  %16829 = call i32 @s2n_connection_free(ptr noundef %16828)
  %16830 = icmp eq i32 %16829, -1
  br i1 %16830, label %16831, label %16884

16831:                                            ; preds = %16825
  br label %16832

16832:                                            ; preds = %16831
  br label %16833

16833:                                            ; preds = %16832
  call void @llvm.lifetime.start.p0(i64 4, ptr %333) #11
  %16834 = call ptr @__errno_location() #12
  %16835 = load i32, ptr %16834, align 4, !tbaa !5
  store i32 %16835, ptr %333, align 4, !tbaa !5
  %16836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16837 = call i32 @s2n_print_stacktrace(ptr noundef %16836)
  %16838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16839 = trunc i8 %16838 to i1
  br i1 %16839, label %16840, label %16862

16840:                                            ; preds = %16833
  %16841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16842 = call i32 @fileno(ptr noundef %16841) #11
  %16843 = call i32 @isatty(i32 noundef %16842) #11
  %16844 = icmp ne i32 %16843, 0
  br i1 %16844, label %16845, label %16862

16845:                                            ; preds = %16840
  %16846 = load i32, ptr %333, align 4, !tbaa !5
  %16847 = call ptr @__errno_location() #12
  store i32 %16846, ptr %16847, align 4, !tbaa !5
  %16848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16849 = load i32, ptr @test_count, align 4, !tbaa !5
  %16850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16851 = load i32, ptr %16850, align 4, !tbaa !5
  %16852 = call ptr @s2n_strerror(i32 noundef %16851, ptr noundef @.str.4)
  %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_debug(i32 noundef %16854, ptr noundef @.str.4)
  %16856 = call ptr @__errno_location() #12
  %16857 = load i32, ptr %16856, align 4, !tbaa !5
  %16858 = call ptr @strerror(i32 noundef %16857) #11
  %16859 = call ptr @__errno_location() #12
  %16860 = load i32, ptr %16859, align 4, !tbaa !5
  %16861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16848, ptr noundef @.str.2, i32 noundef %16849, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 499, ptr noundef %16852, ptr noundef %16855, ptr noundef %16858, i32 noundef %16860) #11
  br label %16879

16862:                                            ; preds = %16840, %16833
  %16863 = load i32, ptr %333, align 4, !tbaa !5
  %16864 = call ptr @__errno_location() #12
  store i32 %16863, ptr %16864, align 4, !tbaa !5
  %16865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16866 = load i32, ptr @test_count, align 4, !tbaa !5
  %16867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16868 = load i32, ptr %16867, align 4, !tbaa !5
  %16869 = call ptr @s2n_strerror(i32 noundef %16868, ptr noundef @.str.4)
  %16870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16871 = load i32, ptr %16870, align 4, !tbaa !5
  %16872 = call ptr @s2n_strerror_debug(i32 noundef %16871, ptr noundef @.str.4)
  %16873 = call ptr @__errno_location() #12
  %16874 = load i32, ptr %16873, align 4, !tbaa !5
  %16875 = call ptr @strerror(i32 noundef %16874) #11
  %16876 = call ptr @__errno_location() #12
  %16877 = load i32, ptr %16876, align 4, !tbaa !5
  %16878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16865, ptr noundef @.str.5, i32 noundef %16866, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 499, ptr noundef %16869, ptr noundef %16872, ptr noundef %16875, i32 noundef %16877) #11
  br label %16879

16879:                                            ; preds = %16862, %16845
  call void @llvm.lifetime.end.p0(i64 4, ptr %333) #11
  br label %16880

16880:                                            ; preds = %16879
  br label %16881

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

16882:                                            ; No predecessors!
  br label %16883

16883:                                            ; preds = %16882
  br label %16884

16884:                                            ; preds = %16883, %16825
  br label %16885

16885:                                            ; preds = %16884
  br label %16886

16886:                                            ; preds = %16885
  br label %16887

16887:                                            ; preds = %16886
  %16888 = load i32, ptr @test_count, align 4, !tbaa !5
  %16889 = add nsw i32 %16888, 1
  store i32 %16889, ptr @test_count, align 4, !tbaa !5
  %16890 = load ptr, ptr %302, align 8, !tbaa !9
  %16891 = call i32 @s2n_connection_free(ptr noundef %16890)
  %16892 = icmp eq i32 %16891, -1
  br i1 %16892, label %16893, label %16946

16893:                                            ; preds = %16887
  br label %16894

16894:                                            ; preds = %16893
  br label %16895

16895:                                            ; preds = %16894
  call void @llvm.lifetime.start.p0(i64 4, ptr %334) #11
  %16896 = call ptr @__errno_location() #12
  %16897 = load i32, ptr %16896, align 4, !tbaa !5
  store i32 %16897, ptr %334, align 4, !tbaa !5
  %16898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16899 = call i32 @s2n_print_stacktrace(ptr noundef %16898)
  %16900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16901 = trunc i8 %16900 to i1
  br i1 %16901, label %16902, label %16924

16902:                                            ; preds = %16895
  %16903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16904 = call i32 @fileno(ptr noundef %16903) #11
  %16905 = call i32 @isatty(i32 noundef %16904) #11
  %16906 = icmp ne i32 %16905, 0
  br i1 %16906, label %16907, label %16924

16907:                                            ; preds = %16902
  %16908 = load i32, ptr %334, align 4, !tbaa !5
  %16909 = call ptr @__errno_location() #12
  store i32 %16908, ptr %16909, align 4, !tbaa !5
  %16910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16911 = load i32, ptr @test_count, align 4, !tbaa !5
  %16912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16913 = load i32, ptr %16912, align 4, !tbaa !5
  %16914 = call ptr @s2n_strerror(i32 noundef %16913, ptr noundef @.str.4)
  %16915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16916 = load i32, ptr %16915, align 4, !tbaa !5
  %16917 = call ptr @s2n_strerror_debug(i32 noundef %16916, ptr noundef @.str.4)
  %16918 = call ptr @__errno_location() #12
  %16919 = load i32, ptr %16918, align 4, !tbaa !5
  %16920 = call ptr @strerror(i32 noundef %16919) #11
  %16921 = call ptr @__errno_location() #12
  %16922 = load i32, ptr %16921, align 4, !tbaa !5
  %16923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16910, ptr noundef @.str.2, i32 noundef %16911, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 500, ptr noundef %16914, ptr noundef %16917, ptr noundef %16920, i32 noundef %16922) #11
  br label %16941

16924:                                            ; preds = %16902, %16895
  %16925 = load i32, ptr %334, align 4, !tbaa !5
  %16926 = call ptr @__errno_location() #12
  store i32 %16925, ptr %16926, align 4, !tbaa !5
  %16927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16928 = load i32, ptr @test_count, align 4, !tbaa !5
  %16929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16930 = load i32, ptr %16929, align 4, !tbaa !5
  %16931 = call ptr @s2n_strerror(i32 noundef %16930, ptr noundef @.str.4)
  %16932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16933 = load i32, ptr %16932, align 4, !tbaa !5
  %16934 = call ptr @s2n_strerror_debug(i32 noundef %16933, ptr noundef @.str.4)
  %16935 = call ptr @__errno_location() #12
  %16936 = load i32, ptr %16935, align 4, !tbaa !5
  %16937 = call ptr @strerror(i32 noundef %16936) #11
  %16938 = call ptr @__errno_location() #12
  %16939 = load i32, ptr %16938, align 4, !tbaa !5
  %16940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16927, ptr noundef @.str.5, i32 noundef %16928, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 500, ptr noundef %16931, ptr noundef %16934, ptr noundef %16937, i32 noundef %16939) #11
  br label %16941

16941:                                            ; preds = %16924, %16907
  call void @llvm.lifetime.end.p0(i64 4, ptr %334) #11
  br label %16942

16942:                                            ; preds = %16941
  br label %16943

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

16944:                                            ; No predecessors!
  br label %16945

16945:                                            ; preds = %16944
  br label %16946

16946:                                            ; preds = %16945, %16887
  br label %16947

16947:                                            ; preds = %16946
  br label %16948

16948:                                            ; preds = %16947
  br label %16949

16949:                                            ; preds = %16948
  %16950 = load i32, ptr @test_count, align 4, !tbaa !5
  %16951 = add nsw i32 %16950, 1
  store i32 %16951, ptr @test_count, align 4, !tbaa !5
  %16952 = call i32 @s2n_io_pair_close(ptr noundef %304)
  %16953 = icmp eq i32 %16952, -1
  br i1 %16953, label %16954, label %17007

16954:                                            ; preds = %16949
  br label %16955

16955:                                            ; preds = %16954
  br label %16956

16956:                                            ; preds = %16955
  call void @llvm.lifetime.start.p0(i64 4, ptr %335) #11
  %16957 = call ptr @__errno_location() #12
  %16958 = load i32, ptr %16957, align 4, !tbaa !5
  store i32 %16958, ptr %335, align 4, !tbaa !5
  %16959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16960 = call i32 @s2n_print_stacktrace(ptr noundef %16959)
  %16961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16962 = trunc i8 %16961 to i1
  br i1 %16962, label %16963, label %16985

16963:                                            ; preds = %16956
  %16964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16965 = call i32 @fileno(ptr noundef %16964) #11
  %16966 = call i32 @isatty(i32 noundef %16965) #11
  %16967 = icmp ne i32 %16966, 0
  br i1 %16967, label %16968, label %16985

16968:                                            ; preds = %16963
  %16969 = load i32, ptr %335, align 4, !tbaa !5
  %16970 = call ptr @__errno_location() #12
  store i32 %16969, ptr %16970, align 4, !tbaa !5
  %16971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16972 = load i32, ptr @test_count, align 4, !tbaa !5
  %16973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16974 = load i32, ptr %16973, align 4, !tbaa !5
  %16975 = call ptr @s2n_strerror(i32 noundef %16974, ptr noundef @.str.4)
  %16976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16977 = load i32, ptr %16976, align 4, !tbaa !5
  %16978 = call ptr @s2n_strerror_debug(i32 noundef %16977, ptr noundef @.str.4)
  %16979 = call ptr @__errno_location() #12
  %16980 = load i32, ptr %16979, align 4, !tbaa !5
  %16981 = call ptr @strerror(i32 noundef %16980) #11
  %16982 = call ptr @__errno_location() #12
  %16983 = load i32, ptr %16982, align 4, !tbaa !5
  %16984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16971, ptr noundef @.str.2, i32 noundef %16972, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 501, ptr noundef %16975, ptr noundef %16978, ptr noundef %16981, i32 noundef %16983) #11
  br label %17002

16985:                                            ; preds = %16963, %16956
  %16986 = load i32, ptr %335, align 4, !tbaa !5
  %16987 = call ptr @__errno_location() #12
  store i32 %16986, ptr %16987, align 4, !tbaa !5
  %16988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16989 = load i32, ptr @test_count, align 4, !tbaa !5
  %16990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16991 = load i32, ptr %16990, align 4, !tbaa !5
  %16992 = call ptr @s2n_strerror(i32 noundef %16991, ptr noundef @.str.4)
  %16993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16994 = load i32, ptr %16993, align 4, !tbaa !5
  %16995 = call ptr @s2n_strerror_debug(i32 noundef %16994, ptr noundef @.str.4)
  %16996 = call ptr @__errno_location() #12
  %16997 = load i32, ptr %16996, align 4, !tbaa !5
  %16998 = call ptr @strerror(i32 noundef %16997) #11
  %16999 = call ptr @__errno_location() #12
  %17000 = load i32, ptr %16999, align 4, !tbaa !5
  %17001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16988, ptr noundef @.str.5, i32 noundef %16989, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 501, ptr noundef %16992, ptr noundef %16995, ptr noundef %16998, i32 noundef %17000) #11
  br label %17002

17002:                                            ; preds = %16985, %16968
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #11
  br label %17003

17003:                                            ; preds = %17002
  br label %17004

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

17005:                                            ; No predecessors!
  br label %17006

17006:                                            ; preds = %17005
  br label %17007

17007:                                            ; preds = %17006, %16949
  br label %17008

17008:                                            ; preds = %17007
  br label %17009

17009:                                            ; preds = %17008
  call void @llvm.lifetime.end.p0(i64 8, ptr %306) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %304) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %302) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %300) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %336) #11
  store ptr null, ptr %336, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %337) #11
  store ptr null, ptr %337, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %338) #11
  call void @llvm.memset.p0.i64(ptr align 4 %338, i8 0, i64 8, i1 false)
  br label %17010

17010:                                            ; preds = %17009
  %17011 = load i32, ptr @test_count, align 4, !tbaa !5
  %17012 = add nsw i32 %17011, 1
  store i32 %17012, ptr @test_count, align 4, !tbaa !5
  %17013 = call i32 @s2n_test_client_and_server_new(ptr noundef %336, ptr noundef %337, ptr noundef %338)
  %17014 = getelementptr inbounds %struct.s2n_result, ptr %339, i32 0, i32 0
  store i32 %17013, ptr %17014, align 4
  %17015 = getelementptr inbounds %struct.s2n_result, ptr %339, i32 0, i32 0
  %17016 = load i32, ptr %17015, align 4
  %17017 = call zeroext i1 @s2n_result_is_ok(i32 %17016)
  br i1 %17017, label %17071, label %17018

17018:                                            ; preds = %17010
  br label %17019

17019:                                            ; preds = %17018
  br label %17020

17020:                                            ; preds = %17019
  call void @llvm.lifetime.start.p0(i64 4, ptr %340) #11
  %17021 = call ptr @__errno_location() #12
  %17022 = load i32, ptr %17021, align 4, !tbaa !5
  store i32 %17022, ptr %340, align 4, !tbaa !5
  %17023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17024 = call i32 @s2n_print_stacktrace(ptr noundef %17023)
  %17025 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17026 = trunc i8 %17025 to i1
  br i1 %17026, label %17027, label %17049

17027:                                            ; preds = %17020
  %17028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17029 = call i32 @fileno(ptr noundef %17028) #11
  %17030 = call i32 @isatty(i32 noundef %17029) #11
  %17031 = icmp ne i32 %17030, 0
  br i1 %17031, label %17032, label %17049

17032:                                            ; preds = %17027
  %17033 = load i32, ptr %340, align 4, !tbaa !5
  %17034 = call ptr @__errno_location() #12
  store i32 %17033, ptr %17034, align 4, !tbaa !5
  %17035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17036 = load i32, ptr @test_count, align 4, !tbaa !5
  %17037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17038 = load i32, ptr %17037, align 4, !tbaa !5
  %17039 = call ptr @s2n_strerror(i32 noundef %17038, ptr noundef @.str.4)
  %17040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17041 = load i32, ptr %17040, align 4, !tbaa !5
  %17042 = call ptr @s2n_strerror_debug(i32 noundef %17041, ptr noundef @.str.4)
  %17043 = call ptr @__errno_location() #12
  %17044 = load i32, ptr %17043, align 4, !tbaa !5
  %17045 = call ptr @strerror(i32 noundef %17044) #11
  %17046 = call ptr @__errno_location() #12
  %17047 = load i32, ptr %17046, align 4, !tbaa !5
  %17048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17035, ptr noundef @.str.2, i32 noundef %17036, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 508, ptr noundef %17039, ptr noundef %17042, ptr noundef %17045, i32 noundef %17047) #11
  br label %17066

17049:                                            ; preds = %17027, %17020
  %17050 = load i32, ptr %340, align 4, !tbaa !5
  %17051 = call ptr @__errno_location() #12
  store i32 %17050, ptr %17051, align 4, !tbaa !5
  %17052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17053 = load i32, ptr @test_count, align 4, !tbaa !5
  %17054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17055 = load i32, ptr %17054, align 4, !tbaa !5
  %17056 = call ptr @s2n_strerror(i32 noundef %17055, ptr noundef @.str.4)
  %17057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17058 = load i32, ptr %17057, align 4, !tbaa !5
  %17059 = call ptr @s2n_strerror_debug(i32 noundef %17058, ptr noundef @.str.4)
  %17060 = call ptr @__errno_location() #12
  %17061 = load i32, ptr %17060, align 4, !tbaa !5
  %17062 = call ptr @strerror(i32 noundef %17061) #11
  %17063 = call ptr @__errno_location() #12
  %17064 = load i32, ptr %17063, align 4, !tbaa !5
  %17065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17052, ptr noundef @.str.5, i32 noundef %17053, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 508, ptr noundef %17056, ptr noundef %17059, ptr noundef %17062, i32 noundef %17064) #11
  br label %17066

17066:                                            ; preds = %17049, %17032
  call void @llvm.lifetime.end.p0(i64 4, ptr %340) #11
  br label %17067

17067:                                            ; preds = %17066
  br label %17068

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

17069:                                            ; No predecessors!
  br label %17070

17070:                                            ; preds = %17069
  br label %17071

17071:                                            ; preds = %17070, %17010
  br label %17072

17072:                                            ; preds = %17071
  br label %17073

17073:                                            ; preds = %17072
  br label %17074

17074:                                            ; preds = %17073
  %17075 = load i32, ptr @test_count, align 4, !tbaa !5
  %17076 = add nsw i32 %17075, 1
  store i32 %17076, ptr @test_count, align 4, !tbaa !5
  %17077 = load ptr, ptr %336, align 8, !tbaa !9
  %17078 = load ptr, ptr %25, align 8, !tbaa !9
  %17079 = call i32 @s2n_connection_set_config(ptr noundef %17077, ptr noundef %17078)
  %17080 = icmp eq i32 %17079, -1
  br i1 %17080, label %17081, label %17134

17081:                                            ; preds = %17074
  br label %17082

17082:                                            ; preds = %17081
  br label %17083

17083:                                            ; preds = %17082
  call void @llvm.lifetime.start.p0(i64 4, ptr %341) #11
  %17084 = call ptr @__errno_location() #12
  %17085 = load i32, ptr %17084, align 4, !tbaa !5
  store i32 %17085, ptr %341, align 4, !tbaa !5
  %17086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17087 = call i32 @s2n_print_stacktrace(ptr noundef %17086)
  %17088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17089 = trunc i8 %17088 to i1
  br i1 %17089, label %17090, label %17112

17090:                                            ; preds = %17083
  %17091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17092 = call i32 @fileno(ptr noundef %17091) #11
  %17093 = call i32 @isatty(i32 noundef %17092) #11
  %17094 = icmp ne i32 %17093, 0
  br i1 %17094, label %17095, label %17112

17095:                                            ; preds = %17090
  %17096 = load i32, ptr %341, align 4, !tbaa !5
  %17097 = call ptr @__errno_location() #12
  store i32 %17096, ptr %17097, align 4, !tbaa !5
  %17098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17099 = load i32, ptr @test_count, align 4, !tbaa !5
  %17100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17101 = load i32, ptr %17100, align 4, !tbaa !5
  %17102 = call ptr @s2n_strerror(i32 noundef %17101, ptr noundef @.str.4)
  %17103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17104 = load i32, ptr %17103, align 4, !tbaa !5
  %17105 = call ptr @s2n_strerror_debug(i32 noundef %17104, ptr noundef @.str.4)
  %17106 = call ptr @__errno_location() #12
  %17107 = load i32, ptr %17106, align 4, !tbaa !5
  %17108 = call ptr @strerror(i32 noundef %17107) #11
  %17109 = call ptr @__errno_location() #12
  %17110 = load i32, ptr %17109, align 4, !tbaa !5
  %17111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17098, ptr noundef @.str.2, i32 noundef %17099, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 510, ptr noundef %17102, ptr noundef %17105, ptr noundef %17108, i32 noundef %17110) #11
  br label %17129

17112:                                            ; preds = %17090, %17083
  %17113 = load i32, ptr %341, align 4, !tbaa !5
  %17114 = call ptr @__errno_location() #12
  store i32 %17113, ptr %17114, align 4, !tbaa !5
  %17115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17116 = load i32, ptr @test_count, align 4, !tbaa !5
  %17117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17118 = load i32, ptr %17117, align 4, !tbaa !5
  %17119 = call ptr @s2n_strerror(i32 noundef %17118, ptr noundef @.str.4)
  %17120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17121 = load i32, ptr %17120, align 4, !tbaa !5
  %17122 = call ptr @s2n_strerror_debug(i32 noundef %17121, ptr noundef @.str.4)
  %17123 = call ptr @__errno_location() #12
  %17124 = load i32, ptr %17123, align 4, !tbaa !5
  %17125 = call ptr @strerror(i32 noundef %17124) #11
  %17126 = call ptr @__errno_location() #12
  %17127 = load i32, ptr %17126, align 4, !tbaa !5
  %17128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17115, ptr noundef @.str.5, i32 noundef %17116, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 510, ptr noundef %17119, ptr noundef %17122, ptr noundef %17125, i32 noundef %17127) #11
  br label %17129

17129:                                            ; preds = %17112, %17095
  call void @llvm.lifetime.end.p0(i64 4, ptr %341) #11
  br label %17130

17130:                                            ; preds = %17129
  br label %17131

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

17132:                                            ; No predecessors!
  br label %17133

17133:                                            ; preds = %17132
  br label %17134

17134:                                            ; preds = %17133, %17074
  br label %17135

17135:                                            ; preds = %17134
  br label %17136

17136:                                            ; preds = %17135
  br label %17137

17137:                                            ; preds = %17136
  %17138 = load i32, ptr @test_count, align 4, !tbaa !5
  %17139 = add nsw i32 %17138, 1
  store i32 %17139, ptr @test_count, align 4, !tbaa !5
  %17140 = load ptr, ptr %337, align 8, !tbaa !9
  %17141 = load ptr, ptr %25, align 8, !tbaa !9
  %17142 = call i32 @s2n_connection_set_config(ptr noundef %17140, ptr noundef %17141)
  %17143 = icmp eq i32 %17142, -1
  br i1 %17143, label %17144, label %17197

17144:                                            ; preds = %17137
  br label %17145

17145:                                            ; preds = %17144
  br label %17146

17146:                                            ; preds = %17145
  call void @llvm.lifetime.start.p0(i64 4, ptr %342) #11
  %17147 = call ptr @__errno_location() #12
  %17148 = load i32, ptr %17147, align 4, !tbaa !5
  store i32 %17148, ptr %342, align 4, !tbaa !5
  %17149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17150 = call i32 @s2n_print_stacktrace(ptr noundef %17149)
  %17151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17152 = trunc i8 %17151 to i1
  br i1 %17152, label %17153, label %17175

17153:                                            ; preds = %17146
  %17154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17155 = call i32 @fileno(ptr noundef %17154) #11
  %17156 = call i32 @isatty(i32 noundef %17155) #11
  %17157 = icmp ne i32 %17156, 0
  br i1 %17157, label %17158, label %17175

17158:                                            ; preds = %17153
  %17159 = load i32, ptr %342, align 4, !tbaa !5
  %17160 = call ptr @__errno_location() #12
  store i32 %17159, ptr %17160, align 4, !tbaa !5
  %17161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17162 = load i32, ptr @test_count, align 4, !tbaa !5
  %17163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17164 = load i32, ptr %17163, align 4, !tbaa !5
  %17165 = call ptr @s2n_strerror(i32 noundef %17164, ptr noundef @.str.4)
  %17166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17167 = load i32, ptr %17166, align 4, !tbaa !5
  %17168 = call ptr @s2n_strerror_debug(i32 noundef %17167, ptr noundef @.str.4)
  %17169 = call ptr @__errno_location() #12
  %17170 = load i32, ptr %17169, align 4, !tbaa !5
  %17171 = call ptr @strerror(i32 noundef %17170) #11
  %17172 = call ptr @__errno_location() #12
  %17173 = load i32, ptr %17172, align 4, !tbaa !5
  %17174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17161, ptr noundef @.str.2, i32 noundef %17162, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 511, ptr noundef %17165, ptr noundef %17168, ptr noundef %17171, i32 noundef %17173) #11
  br label %17192

17175:                                            ; preds = %17153, %17146
  %17176 = load i32, ptr %342, align 4, !tbaa !5
  %17177 = call ptr @__errno_location() #12
  store i32 %17176, ptr %17177, align 4, !tbaa !5
  %17178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17179 = load i32, ptr @test_count, align 4, !tbaa !5
  %17180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17181 = load i32, ptr %17180, align 4, !tbaa !5
  %17182 = call ptr @s2n_strerror(i32 noundef %17181, ptr noundef @.str.4)
  %17183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17184 = load i32, ptr %17183, align 4, !tbaa !5
  %17185 = call ptr @s2n_strerror_debug(i32 noundef %17184, ptr noundef @.str.4)
  %17186 = call ptr @__errno_location() #12
  %17187 = load i32, ptr %17186, align 4, !tbaa !5
  %17188 = call ptr @strerror(i32 noundef %17187) #11
  %17189 = call ptr @__errno_location() #12
  %17190 = load i32, ptr %17189, align 4, !tbaa !5
  %17191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17178, ptr noundef @.str.5, i32 noundef %17179, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 511, ptr noundef %17182, ptr noundef %17185, ptr noundef %17188, i32 noundef %17190) #11
  br label %17192

17192:                                            ; preds = %17175, %17158
  call void @llvm.lifetime.end.p0(i64 4, ptr %342) #11
  br label %17193

17193:                                            ; preds = %17192
  br label %17194

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

17195:                                            ; No predecessors!
  br label %17196

17196:                                            ; preds = %17195
  br label %17197

17197:                                            ; preds = %17196, %17137
  br label %17198

17198:                                            ; preds = %17197
  br label %17199

17199:                                            ; preds = %17198
  br label %17200

17200:                                            ; preds = %17199
  %17201 = load i32, ptr @test_count, align 4, !tbaa !5
  %17202 = add nsw i32 %17201, 1
  store i32 %17202, ptr @test_count, align 4, !tbaa !5
  %17203 = load ptr, ptr %336, align 8, !tbaa !9
  %17204 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %17203)
  %17205 = icmp eq i32 %17204, -1
  br i1 %17205, label %17206, label %17259

17206:                                            ; preds = %17200
  br label %17207

17207:                                            ; preds = %17206
  br label %17208

17208:                                            ; preds = %17207
  call void @llvm.lifetime.start.p0(i64 4, ptr %343) #11
  %17209 = call ptr @__errno_location() #12
  %17210 = load i32, ptr %17209, align 4, !tbaa !5
  store i32 %17210, ptr %343, align 4, !tbaa !5
  %17211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17212 = call i32 @s2n_print_stacktrace(ptr noundef %17211)
  %17213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17214 = trunc i8 %17213 to i1
  br i1 %17214, label %17215, label %17237

17215:                                            ; preds = %17208
  %17216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17217 = call i32 @fileno(ptr noundef %17216) #11
  %17218 = call i32 @isatty(i32 noundef %17217) #11
  %17219 = icmp ne i32 %17218, 0
  br i1 %17219, label %17220, label %17237

17220:                                            ; preds = %17215
  %17221 = load i32, ptr %343, align 4, !tbaa !5
  %17222 = call ptr @__errno_location() #12
  store i32 %17221, ptr %17222, align 4, !tbaa !5
  %17223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17224 = load i32, ptr @test_count, align 4, !tbaa !5
  %17225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17226 = load i32, ptr %17225, align 4, !tbaa !5
  %17227 = call ptr @s2n_strerror(i32 noundef %17226, ptr noundef @.str.4)
  %17228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17229 = load i32, ptr %17228, align 4, !tbaa !5
  %17230 = call ptr @s2n_strerror_debug(i32 noundef %17229, ptr noundef @.str.4)
  %17231 = call ptr @__errno_location() #12
  %17232 = load i32, ptr %17231, align 4, !tbaa !5
  %17233 = call ptr @strerror(i32 noundef %17232) #11
  %17234 = call ptr @__errno_location() #12
  %17235 = load i32, ptr %17234, align 4, !tbaa !5
  %17236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17223, ptr noundef @.str.2, i32 noundef %17224, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 512, ptr noundef %17227, ptr noundef %17230, ptr noundef %17233, i32 noundef %17235) #11
  br label %17254

17237:                                            ; preds = %17215, %17208
  %17238 = load i32, ptr %343, align 4, !tbaa !5
  %17239 = call ptr @__errno_location() #12
  store i32 %17238, ptr %17239, align 4, !tbaa !5
  %17240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17241 = load i32, ptr @test_count, align 4, !tbaa !5
  %17242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17243 = load i32, ptr %17242, align 4, !tbaa !5
  %17244 = call ptr @s2n_strerror(i32 noundef %17243, ptr noundef @.str.4)
  %17245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17246 = load i32, ptr %17245, align 4, !tbaa !5
  %17247 = call ptr @s2n_strerror_debug(i32 noundef %17246, ptr noundef @.str.4)
  %17248 = call ptr @__errno_location() #12
  %17249 = load i32, ptr %17248, align 4, !tbaa !5
  %17250 = call ptr @strerror(i32 noundef %17249) #11
  %17251 = call ptr @__errno_location() #12
  %17252 = load i32, ptr %17251, align 4, !tbaa !5
  %17253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17240, ptr noundef @.str.5, i32 noundef %17241, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 512, ptr noundef %17244, ptr noundef %17247, ptr noundef %17250, i32 noundef %17252) #11
  br label %17254

17254:                                            ; preds = %17237, %17220
  call void @llvm.lifetime.end.p0(i64 4, ptr %343) #11
  br label %17255

17255:                                            ; preds = %17254
  br label %17256

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

17257:                                            ; No predecessors!
  br label %17258

17258:                                            ; preds = %17257
  br label %17259

17259:                                            ; preds = %17258, %17200
  br label %17260

17260:                                            ; preds = %17259
  br label %17261

17261:                                            ; preds = %17260
  br label %17262

17262:                                            ; preds = %17261
  %17263 = load i32, ptr @test_count, align 4, !tbaa !5
  %17264 = add nsw i32 %17263, 1
  store i32 %17264, ptr @test_count, align 4, !tbaa !5
  %17265 = load ptr, ptr %337, align 8, !tbaa !9
  %17266 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %17265)
  %17267 = icmp eq i32 %17266, -1
  br i1 %17267, label %17268, label %17321

17268:                                            ; preds = %17262
  br label %17269

17269:                                            ; preds = %17268
  br label %17270

17270:                                            ; preds = %17269
  call void @llvm.lifetime.start.p0(i64 4, ptr %344) #11
  %17271 = call ptr @__errno_location() #12
  %17272 = load i32, ptr %17271, align 4, !tbaa !5
  store i32 %17272, ptr %344, align 4, !tbaa !5
  %17273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17274 = call i32 @s2n_print_stacktrace(ptr noundef %17273)
  %17275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17276 = trunc i8 %17275 to i1
  br i1 %17276, label %17277, label %17299

17277:                                            ; preds = %17270
  %17278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17279 = call i32 @fileno(ptr noundef %17278) #11
  %17280 = call i32 @isatty(i32 noundef %17279) #11
  %17281 = icmp ne i32 %17280, 0
  br i1 %17281, label %17282, label %17299

17282:                                            ; preds = %17277
  %17283 = load i32, ptr %344, align 4, !tbaa !5
  %17284 = call ptr @__errno_location() #12
  store i32 %17283, ptr %17284, align 4, !tbaa !5
  %17285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17286 = load i32, ptr @test_count, align 4, !tbaa !5
  %17287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17288 = load i32, ptr %17287, align 4, !tbaa !5
  %17289 = call ptr @s2n_strerror(i32 noundef %17288, ptr noundef @.str.4)
  %17290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17291 = load i32, ptr %17290, align 4, !tbaa !5
  %17292 = call ptr @s2n_strerror_debug(i32 noundef %17291, ptr noundef @.str.4)
  %17293 = call ptr @__errno_location() #12
  %17294 = load i32, ptr %17293, align 4, !tbaa !5
  %17295 = call ptr @strerror(i32 noundef %17294) #11
  %17296 = call ptr @__errno_location() #12
  %17297 = load i32, ptr %17296, align 4, !tbaa !5
  %17298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17285, ptr noundef @.str.2, i32 noundef %17286, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 513, ptr noundef %17289, ptr noundef %17292, ptr noundef %17295, i32 noundef %17297) #11
  br label %17316

17299:                                            ; preds = %17277, %17270
  %17300 = load i32, ptr %344, align 4, !tbaa !5
  %17301 = call ptr @__errno_location() #12
  store i32 %17300, ptr %17301, align 4, !tbaa !5
  %17302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17303 = load i32, ptr @test_count, align 4, !tbaa !5
  %17304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17305 = load i32, ptr %17304, align 4, !tbaa !5
  %17306 = call ptr @s2n_strerror(i32 noundef %17305, ptr noundef @.str.4)
  %17307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17308 = load i32, ptr %17307, align 4, !tbaa !5
  %17309 = call ptr @s2n_strerror_debug(i32 noundef %17308, ptr noundef @.str.4)
  %17310 = call ptr @__errno_location() #12
  %17311 = load i32, ptr %17310, align 4, !tbaa !5
  %17312 = call ptr @strerror(i32 noundef %17311) #11
  %17313 = call ptr @__errno_location() #12
  %17314 = load i32, ptr %17313, align 4, !tbaa !5
  %17315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17302, ptr noundef @.str.5, i32 noundef %17303, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 513, ptr noundef %17306, ptr noundef %17309, ptr noundef %17312, i32 noundef %17314) #11
  br label %17316

17316:                                            ; preds = %17299, %17282
  call void @llvm.lifetime.end.p0(i64 4, ptr %344) #11
  br label %17317

17317:                                            ; preds = %17316
  br label %17318

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

17319:                                            ; No predecessors!
  br label %17320

17320:                                            ; preds = %17319
  br label %17321

17321:                                            ; preds = %17320, %17262
  br label %17322

17322:                                            ; preds = %17321
  br label %17323

17323:                                            ; preds = %17322
  br label %17324

17324:                                            ; preds = %17323
  %17325 = load i32, ptr @test_count, align 4, !tbaa !5
  %17326 = add nsw i32 %17325, 1
  store i32 %17326, ptr @test_count, align 4, !tbaa !5
  %17327 = load ptr, ptr %336, align 8, !tbaa !9
  %17328 = load ptr, ptr %12, align 8, !tbaa !9
  %17329 = call i32 @s2n_connection_append_psk(ptr noundef %17327, ptr noundef %17328)
  %17330 = icmp eq i32 %17329, -1
  br i1 %17330, label %17331, label %17384

17331:                                            ; preds = %17324
  br label %17332

17332:                                            ; preds = %17331
  br label %17333

17333:                                            ; preds = %17332
  call void @llvm.lifetime.start.p0(i64 4, ptr %345) #11
  %17334 = call ptr @__errno_location() #12
  %17335 = load i32, ptr %17334, align 4, !tbaa !5
  store i32 %17335, ptr %345, align 4, !tbaa !5
  %17336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17337 = call i32 @s2n_print_stacktrace(ptr noundef %17336)
  %17338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17339 = trunc i8 %17338 to i1
  br i1 %17339, label %17340, label %17362

17340:                                            ; preds = %17333
  %17341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17342 = call i32 @fileno(ptr noundef %17341) #11
  %17343 = call i32 @isatty(i32 noundef %17342) #11
  %17344 = icmp ne i32 %17343, 0
  br i1 %17344, label %17345, label %17362

17345:                                            ; preds = %17340
  %17346 = load i32, ptr %345, align 4, !tbaa !5
  %17347 = call ptr @__errno_location() #12
  store i32 %17346, ptr %17347, align 4, !tbaa !5
  %17348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17349 = load i32, ptr @test_count, align 4, !tbaa !5
  %17350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17351 = load i32, ptr %17350, align 4, !tbaa !5
  %17352 = call ptr @s2n_strerror(i32 noundef %17351, ptr noundef @.str.4)
  %17353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17354 = load i32, ptr %17353, align 4, !tbaa !5
  %17355 = call ptr @s2n_strerror_debug(i32 noundef %17354, ptr noundef @.str.4)
  %17356 = call ptr @__errno_location() #12
  %17357 = load i32, ptr %17356, align 4, !tbaa !5
  %17358 = call ptr @strerror(i32 noundef %17357) #11
  %17359 = call ptr @__errno_location() #12
  %17360 = load i32, ptr %17359, align 4, !tbaa !5
  %17361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17348, ptr noundef @.str.2, i32 noundef %17349, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 514, ptr noundef %17352, ptr noundef %17355, ptr noundef %17358, i32 noundef %17360) #11
  br label %17379

17362:                                            ; preds = %17340, %17333
  %17363 = load i32, ptr %345, align 4, !tbaa !5
  %17364 = call ptr @__errno_location() #12
  store i32 %17363, ptr %17364, align 4, !tbaa !5
  %17365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17366 = load i32, ptr @test_count, align 4, !tbaa !5
  %17367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17368 = load i32, ptr %17367, align 4, !tbaa !5
  %17369 = call ptr @s2n_strerror(i32 noundef %17368, ptr noundef @.str.4)
  %17370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17371 = load i32, ptr %17370, align 4, !tbaa !5
  %17372 = call ptr @s2n_strerror_debug(i32 noundef %17371, ptr noundef @.str.4)
  %17373 = call ptr @__errno_location() #12
  %17374 = load i32, ptr %17373, align 4, !tbaa !5
  %17375 = call ptr @strerror(i32 noundef %17374) #11
  %17376 = call ptr @__errno_location() #12
  %17377 = load i32, ptr %17376, align 4, !tbaa !5
  %17378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17365, ptr noundef @.str.5, i32 noundef %17366, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 514, ptr noundef %17369, ptr noundef %17372, ptr noundef %17375, i32 noundef %17377) #11
  br label %17379

17379:                                            ; preds = %17362, %17345
  call void @llvm.lifetime.end.p0(i64 4, ptr %345) #11
  br label %17380

17380:                                            ; preds = %17379
  br label %17381

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

17382:                                            ; No predecessors!
  br label %17383

17383:                                            ; preds = %17382
  br label %17384

17384:                                            ; preds = %17383, %17324
  br label %17385

17385:                                            ; preds = %17384
  br label %17386

17386:                                            ; preds = %17385
  br label %17387

17387:                                            ; preds = %17386
  %17388 = load i32, ptr @test_count, align 4, !tbaa !5
  %17389 = add nsw i32 %17388, 1
  store i32 %17389, ptr @test_count, align 4, !tbaa !5
  %17390 = load ptr, ptr %337, align 8, !tbaa !9
  %17391 = load ptr, ptr %336, align 8, !tbaa !9
  %17392 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %17390, ptr noundef %17391)
  %17393 = icmp eq i32 %17392, -1
  br i1 %17393, label %17394, label %17447

17394:                                            ; preds = %17387
  br label %17395

17395:                                            ; preds = %17394
  br label %17396

17396:                                            ; preds = %17395
  call void @llvm.lifetime.start.p0(i64 4, ptr %346) #11
  %17397 = call ptr @__errno_location() #12
  %17398 = load i32, ptr %17397, align 4, !tbaa !5
  store i32 %17398, ptr %346, align 4, !tbaa !5
  %17399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17400 = call i32 @s2n_print_stacktrace(ptr noundef %17399)
  %17401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17402 = trunc i8 %17401 to i1
  br i1 %17402, label %17403, label %17425

17403:                                            ; preds = %17396
  %17404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17405 = call i32 @fileno(ptr noundef %17404) #11
  %17406 = call i32 @isatty(i32 noundef %17405) #11
  %17407 = icmp ne i32 %17406, 0
  br i1 %17407, label %17408, label %17425

17408:                                            ; preds = %17403
  %17409 = load i32, ptr %346, align 4, !tbaa !5
  %17410 = call ptr @__errno_location() #12
  store i32 %17409, ptr %17410, align 4, !tbaa !5
  %17411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17412 = load i32, ptr @test_count, align 4, !tbaa !5
  %17413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17414 = load i32, ptr %17413, align 4, !tbaa !5
  %17415 = call ptr @s2n_strerror(i32 noundef %17414, ptr noundef @.str.4)
  %17416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17417 = load i32, ptr %17416, align 4, !tbaa !5
  %17418 = call ptr @s2n_strerror_debug(i32 noundef %17417, ptr noundef @.str.4)
  %17419 = call ptr @__errno_location() #12
  %17420 = load i32, ptr %17419, align 4, !tbaa !5
  %17421 = call ptr @strerror(i32 noundef %17420) #11
  %17422 = call ptr @__errno_location() #12
  %17423 = load i32, ptr %17422, align 4, !tbaa !5
  %17424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17411, ptr noundef @.str.2, i32 noundef %17412, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 516, ptr noundef %17415, ptr noundef %17418, ptr noundef %17421, i32 noundef %17423) #11
  br label %17442

17425:                                            ; preds = %17403, %17396
  %17426 = load i32, ptr %346, align 4, !tbaa !5
  %17427 = call ptr @__errno_location() #12
  store i32 %17426, ptr %17427, align 4, !tbaa !5
  %17428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17429 = load i32, ptr @test_count, align 4, !tbaa !5
  %17430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17431 = load i32, ptr %17430, align 4, !tbaa !5
  %17432 = call ptr @s2n_strerror(i32 noundef %17431, ptr noundef @.str.4)
  %17433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17434 = load i32, ptr %17433, align 4, !tbaa !5
  %17435 = call ptr @s2n_strerror_debug(i32 noundef %17434, ptr noundef @.str.4)
  %17436 = call ptr @__errno_location() #12
  %17437 = load i32, ptr %17436, align 4, !tbaa !5
  %17438 = call ptr @strerror(i32 noundef %17437) #11
  %17439 = call ptr @__errno_location() #12
  %17440 = load i32, ptr %17439, align 4, !tbaa !5
  %17441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17428, ptr noundef @.str.5, i32 noundef %17429, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 516, ptr noundef %17432, ptr noundef %17435, ptr noundef %17438, i32 noundef %17440) #11
  br label %17442

17442:                                            ; preds = %17425, %17408
  call void @llvm.lifetime.end.p0(i64 4, ptr %346) #11
  br label %17443

17443:                                            ; preds = %17442
  br label %17444

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

17445:                                            ; No predecessors!
  br label %17446

17446:                                            ; preds = %17445
  br label %17447

17447:                                            ; preds = %17446, %17387
  br label %17448

17448:                                            ; preds = %17447
  br label %17449

17449:                                            ; preds = %17448
  br label %17450

17450:                                            ; preds = %17449
  %17451 = load i32, ptr @test_count, align 4, !tbaa !5
  %17452 = add nsw i32 %17451, 1
  store i32 %17452, ptr @test_count, align 4, !tbaa !5
  %17453 = load ptr, ptr %336, align 8, !tbaa !9
  %17454 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %17453, i32 noundef 64)
  br i1 %17454, label %17455, label %17508

17455:                                            ; preds = %17450
  br label %17456

17456:                                            ; preds = %17455
  br label %17457

17457:                                            ; preds = %17456
  call void @llvm.lifetime.start.p0(i64 4, ptr %347) #11
  %17458 = call ptr @__errno_location() #12
  %17459 = load i32, ptr %17458, align 4, !tbaa !5
  store i32 %17459, ptr %347, align 4, !tbaa !5
  %17460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17461 = call i32 @s2n_print_stacktrace(ptr noundef %17460)
  %17462 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17463 = trunc i8 %17462 to i1
  br i1 %17463, label %17464, label %17486

17464:                                            ; preds = %17457
  %17465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17466 = call i32 @fileno(ptr noundef %17465) #11
  %17467 = call i32 @isatty(i32 noundef %17466) #11
  %17468 = icmp ne i32 %17467, 0
  br i1 %17468, label %17469, label %17486

17469:                                            ; preds = %17464
  %17470 = load i32, ptr %347, align 4, !tbaa !5
  %17471 = call ptr @__errno_location() #12
  store i32 %17470, ptr %17471, align 4, !tbaa !5
  %17472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17473 = load i32, ptr @test_count, align 4, !tbaa !5
  %17474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17475 = load i32, ptr %17474, align 4, !tbaa !5
  %17476 = call ptr @s2n_strerror(i32 noundef %17475, ptr noundef @.str.4)
  %17477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17478 = load i32, ptr %17477, align 4, !tbaa !5
  %17479 = call ptr @s2n_strerror_debug(i32 noundef %17478, ptr noundef @.str.4)
  %17480 = call ptr @__errno_location() #12
  %17481 = load i32, ptr %17480, align 4, !tbaa !5
  %17482 = call ptr @strerror(i32 noundef %17481) #11
  %17483 = call ptr @__errno_location() #12
  %17484 = load i32, ptr %17483, align 4, !tbaa !5
  %17485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17472, ptr noundef @.str.2, i32 noundef %17473, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 518, ptr noundef %17476, ptr noundef %17479, ptr noundef %17482, i32 noundef %17484) #11
  br label %17503

17486:                                            ; preds = %17464, %17457
  %17487 = load i32, ptr %347, align 4, !tbaa !5
  %17488 = call ptr @__errno_location() #12
  store i32 %17487, ptr %17488, align 4, !tbaa !5
  %17489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17490 = load i32, ptr @test_count, align 4, !tbaa !5
  %17491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17492 = load i32, ptr %17491, align 4, !tbaa !5
  %17493 = call ptr @s2n_strerror(i32 noundef %17492, ptr noundef @.str.4)
  %17494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17495 = load i32, ptr %17494, align 4, !tbaa !5
  %17496 = call ptr @s2n_strerror_debug(i32 noundef %17495, ptr noundef @.str.4)
  %17497 = call ptr @__errno_location() #12
  %17498 = load i32, ptr %17497, align 4, !tbaa !5
  %17499 = call ptr @strerror(i32 noundef %17498) #11
  %17500 = call ptr @__errno_location() #12
  %17501 = load i32, ptr %17500, align 4, !tbaa !5
  %17502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17489, ptr noundef @.str.5, i32 noundef %17490, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 518, ptr noundef %17493, ptr noundef %17496, ptr noundef %17499, i32 noundef %17501) #11
  br label %17503

17503:                                            ; preds = %17486, %17469
  call void @llvm.lifetime.end.p0(i64 4, ptr %347) #11
  br label %17504

17504:                                            ; preds = %17503
  br label %17505

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

17506:                                            ; No predecessors!
  br label %17507

17507:                                            ; preds = %17506
  br label %17508

17508:                                            ; preds = %17507, %17450
  br label %17509

17509:                                            ; preds = %17508
  br label %17510

17510:                                            ; preds = %17509
  br label %17511

17511:                                            ; preds = %17510
  %17512 = load i32, ptr @test_count, align 4, !tbaa !5
  %17513 = add nsw i32 %17512, 1
  store i32 %17513, ptr @test_count, align 4, !tbaa !5
  %17514 = load ptr, ptr %337, align 8, !tbaa !9
  %17515 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %17514, i32 noundef 64)
  br i1 %17515, label %17516, label %17569

17516:                                            ; preds = %17511
  br label %17517

17517:                                            ; preds = %17516
  br label %17518

17518:                                            ; preds = %17517
  call void @llvm.lifetime.start.p0(i64 4, ptr %348) #11
  %17519 = call ptr @__errno_location() #12
  %17520 = load i32, ptr %17519, align 4, !tbaa !5
  store i32 %17520, ptr %348, align 4, !tbaa !5
  %17521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17522 = call i32 @s2n_print_stacktrace(ptr noundef %17521)
  %17523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17524 = trunc i8 %17523 to i1
  br i1 %17524, label %17525, label %17547

17525:                                            ; preds = %17518
  %17526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17527 = call i32 @fileno(ptr noundef %17526) #11
  %17528 = call i32 @isatty(i32 noundef %17527) #11
  %17529 = icmp ne i32 %17528, 0
  br i1 %17529, label %17530, label %17547

17530:                                            ; preds = %17525
  %17531 = load i32, ptr %348, align 4, !tbaa !5
  %17532 = call ptr @__errno_location() #12
  store i32 %17531, ptr %17532, align 4, !tbaa !5
  %17533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17534 = load i32, ptr @test_count, align 4, !tbaa !5
  %17535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17536 = load i32, ptr %17535, align 4, !tbaa !5
  %17537 = call ptr @s2n_strerror(i32 noundef %17536, ptr noundef @.str.4)
  %17538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17539 = load i32, ptr %17538, align 4, !tbaa !5
  %17540 = call ptr @s2n_strerror_debug(i32 noundef %17539, ptr noundef @.str.4)
  %17541 = call ptr @__errno_location() #12
  %17542 = load i32, ptr %17541, align 4, !tbaa !5
  %17543 = call ptr @strerror(i32 noundef %17542) #11
  %17544 = call ptr @__errno_location() #12
  %17545 = load i32, ptr %17544, align 4, !tbaa !5
  %17546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17533, ptr noundef @.str.2, i32 noundef %17534, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 519, ptr noundef %17537, ptr noundef %17540, ptr noundef %17543, i32 noundef %17545) #11
  br label %17564

17547:                                            ; preds = %17525, %17518
  %17548 = load i32, ptr %348, align 4, !tbaa !5
  %17549 = call ptr @__errno_location() #12
  store i32 %17548, ptr %17549, align 4, !tbaa !5
  %17550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17551 = load i32, ptr @test_count, align 4, !tbaa !5
  %17552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17553 = load i32, ptr %17552, align 4, !tbaa !5
  %17554 = call ptr @s2n_strerror(i32 noundef %17553, ptr noundef @.str.4)
  %17555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17556 = load i32, ptr %17555, align 4, !tbaa !5
  %17557 = call ptr @s2n_strerror_debug(i32 noundef %17556, ptr noundef @.str.4)
  %17558 = call ptr @__errno_location() #12
  %17559 = load i32, ptr %17558, align 4, !tbaa !5
  %17560 = call ptr @strerror(i32 noundef %17559) #11
  %17561 = call ptr @__errno_location() #12
  %17562 = load i32, ptr %17561, align 4, !tbaa !5
  %17563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17550, ptr noundef @.str.5, i32 noundef %17551, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 519, ptr noundef %17554, ptr noundef %17557, ptr noundef %17560, i32 noundef %17562) #11
  br label %17564

17564:                                            ; preds = %17547, %17530
  call void @llvm.lifetime.end.p0(i64 4, ptr %348) #11
  br label %17565

17565:                                            ; preds = %17564
  br label %17566

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

17567:                                            ; No predecessors!
  br label %17568

17568:                                            ; preds = %17567
  br label %17569

17569:                                            ; preds = %17568, %17511
  br label %17570

17570:                                            ; preds = %17569
  br label %17571

17571:                                            ; preds = %17570
  br label %17572

17572:                                            ; preds = %17571
  %17573 = load i32, ptr @test_count, align 4, !tbaa !5
  %17574 = add nsw i32 %17573, 1
  store i32 %17574, ptr @test_count, align 4, !tbaa !5
  %17575 = load ptr, ptr %336, align 8, !tbaa !9
  %17576 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %17575, i32 noundef 128)
  br i1 %17576, label %17630, label %17577

17577:                                            ; preds = %17572
  br label %17578

17578:                                            ; preds = %17577
  br label %17579

17579:                                            ; preds = %17578
  call void @llvm.lifetime.start.p0(i64 4, ptr %349) #11
  %17580 = call ptr @__errno_location() #12
  %17581 = load i32, ptr %17580, align 4, !tbaa !5
  store i32 %17581, ptr %349, align 4, !tbaa !5
  %17582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17583 = call i32 @s2n_print_stacktrace(ptr noundef %17582)
  %17584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17585 = trunc i8 %17584 to i1
  br i1 %17585, label %17586, label %17608

17586:                                            ; preds = %17579
  %17587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17588 = call i32 @fileno(ptr noundef %17587) #11
  %17589 = call i32 @isatty(i32 noundef %17588) #11
  %17590 = icmp ne i32 %17589, 0
  br i1 %17590, label %17591, label %17608

17591:                                            ; preds = %17586
  %17592 = load i32, ptr %349, align 4, !tbaa !5
  %17593 = call ptr @__errno_location() #12
  store i32 %17592, ptr %17593, align 4, !tbaa !5
  %17594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17595 = load i32, ptr @test_count, align 4, !tbaa !5
  %17596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17597 = load i32, ptr %17596, align 4, !tbaa !5
  %17598 = call ptr @s2n_strerror(i32 noundef %17597, ptr noundef @.str.4)
  %17599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17600 = load i32, ptr %17599, align 4, !tbaa !5
  %17601 = call ptr @s2n_strerror_debug(i32 noundef %17600, ptr noundef @.str.4)
  %17602 = call ptr @__errno_location() #12
  %17603 = load i32, ptr %17602, align 4, !tbaa !5
  %17604 = call ptr @strerror(i32 noundef %17603) #11
  %17605 = call ptr @__errno_location() #12
  %17606 = load i32, ptr %17605, align 4, !tbaa !5
  %17607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17594, ptr noundef @.str.2, i32 noundef %17595, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 520, ptr noundef %17598, ptr noundef %17601, ptr noundef %17604, i32 noundef %17606) #11
  br label %17625

17608:                                            ; preds = %17586, %17579
  %17609 = load i32, ptr %349, align 4, !tbaa !5
  %17610 = call ptr @__errno_location() #12
  store i32 %17609, ptr %17610, align 4, !tbaa !5
  %17611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17612 = load i32, ptr @test_count, align 4, !tbaa !5
  %17613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17614 = load i32, ptr %17613, align 4, !tbaa !5
  %17615 = call ptr @s2n_strerror(i32 noundef %17614, ptr noundef @.str.4)
  %17616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17617 = load i32, ptr %17616, align 4, !tbaa !5
  %17618 = call ptr @s2n_strerror_debug(i32 noundef %17617, ptr noundef @.str.4)
  %17619 = call ptr @__errno_location() #12
  %17620 = load i32, ptr %17619, align 4, !tbaa !5
  %17621 = call ptr @strerror(i32 noundef %17620) #11
  %17622 = call ptr @__errno_location() #12
  %17623 = load i32, ptr %17622, align 4, !tbaa !5
  %17624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17611, ptr noundef @.str.5, i32 noundef %17612, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 520, ptr noundef %17615, ptr noundef %17618, ptr noundef %17621, i32 noundef %17623) #11
  br label %17625

17625:                                            ; preds = %17608, %17591
  call void @llvm.lifetime.end.p0(i64 4, ptr %349) #11
  br label %17626

17626:                                            ; preds = %17625
  br label %17627

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

17628:                                            ; No predecessors!
  br label %17629

17629:                                            ; preds = %17628
  br label %17630

17630:                                            ; preds = %17629, %17572
  br label %17631

17631:                                            ; preds = %17630
  br label %17632

17632:                                            ; preds = %17631
  br label %17633

17633:                                            ; preds = %17632
  %17634 = load i32, ptr @test_count, align 4, !tbaa !5
  %17635 = add nsw i32 %17634, 1
  store i32 %17635, ptr @test_count, align 4, !tbaa !5
  %17636 = load ptr, ptr %337, align 8, !tbaa !9
  %17637 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %17636, i32 noundef 128)
  br i1 %17637, label %17691, label %17638

17638:                                            ; preds = %17633
  br label %17639

17639:                                            ; preds = %17638
  br label %17640

17640:                                            ; preds = %17639
  call void @llvm.lifetime.start.p0(i64 4, ptr %350) #11
  %17641 = call ptr @__errno_location() #12
  %17642 = load i32, ptr %17641, align 4, !tbaa !5
  store i32 %17642, ptr %350, align 4, !tbaa !5
  %17643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17644 = call i32 @s2n_print_stacktrace(ptr noundef %17643)
  %17645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17646 = trunc i8 %17645 to i1
  br i1 %17646, label %17647, label %17669

17647:                                            ; preds = %17640
  %17648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17649 = call i32 @fileno(ptr noundef %17648) #11
  %17650 = call i32 @isatty(i32 noundef %17649) #11
  %17651 = icmp ne i32 %17650, 0
  br i1 %17651, label %17652, label %17669

17652:                                            ; preds = %17647
  %17653 = load i32, ptr %350, align 4, !tbaa !5
  %17654 = call ptr @__errno_location() #12
  store i32 %17653, ptr %17654, align 4, !tbaa !5
  %17655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17656 = load i32, ptr @test_count, align 4, !tbaa !5
  %17657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17658 = load i32, ptr %17657, align 4, !tbaa !5
  %17659 = call ptr @s2n_strerror(i32 noundef %17658, ptr noundef @.str.4)
  %17660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17661 = load i32, ptr %17660, align 4, !tbaa !5
  %17662 = call ptr @s2n_strerror_debug(i32 noundef %17661, ptr noundef @.str.4)
  %17663 = call ptr @__errno_location() #12
  %17664 = load i32, ptr %17663, align 4, !tbaa !5
  %17665 = call ptr @strerror(i32 noundef %17664) #11
  %17666 = call ptr @__errno_location() #12
  %17667 = load i32, ptr %17666, align 4, !tbaa !5
  %17668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17655, ptr noundef @.str.2, i32 noundef %17656, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 521, ptr noundef %17659, ptr noundef %17662, ptr noundef %17665, i32 noundef %17667) #11
  br label %17686

17669:                                            ; preds = %17647, %17640
  %17670 = load i32, ptr %350, align 4, !tbaa !5
  %17671 = call ptr @__errno_location() #12
  store i32 %17670, ptr %17671, align 4, !tbaa !5
  %17672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17673 = load i32, ptr @test_count, align 4, !tbaa !5
  %17674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17675 = load i32, ptr %17674, align 4, !tbaa !5
  %17676 = call ptr @s2n_strerror(i32 noundef %17675, ptr noundef @.str.4)
  %17677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17678 = load i32, ptr %17677, align 4, !tbaa !5
  %17679 = call ptr @s2n_strerror_debug(i32 noundef %17678, ptr noundef @.str.4)
  %17680 = call ptr @__errno_location() #12
  %17681 = load i32, ptr %17680, align 4, !tbaa !5
  %17682 = call ptr @strerror(i32 noundef %17681) #11
  %17683 = call ptr @__errno_location() #12
  %17684 = load i32, ptr %17683, align 4, !tbaa !5
  %17685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17672, ptr noundef @.str.5, i32 noundef %17673, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 521, ptr noundef %17676, ptr noundef %17679, ptr noundef %17682, i32 noundef %17684) #11
  br label %17686

17686:                                            ; preds = %17669, %17652
  call void @llvm.lifetime.end.p0(i64 4, ptr %350) #11
  br label %17687

17687:                                            ; preds = %17686
  br label %17688

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

17689:                                            ; No predecessors!
  br label %17690

17690:                                            ; preds = %17689
  br label %17691

17691:                                            ; preds = %17690, %17633
  br label %17692

17692:                                            ; preds = %17691
  br label %17693

17693:                                            ; preds = %17692
  br label %17694

17694:                                            ; preds = %17693
  %17695 = load i32, ptr @test_count, align 4, !tbaa !5
  %17696 = add nsw i32 %17695, 1
  store i32 %17696, ptr @test_count, align 4, !tbaa !5
  %17697 = load ptr, ptr %336, align 8, !tbaa !9
  %17698 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %17697, i32 noundef 2)
  br i1 %17698, label %17752, label %17699

17699:                                            ; preds = %17694
  br label %17700

17700:                                            ; preds = %17699
  br label %17701

17701:                                            ; preds = %17700
  call void @llvm.lifetime.start.p0(i64 4, ptr %351) #11
  %17702 = call ptr @__errno_location() #12
  %17703 = load i32, ptr %17702, align 4, !tbaa !5
  store i32 %17703, ptr %351, align 4, !tbaa !5
  %17704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17705 = call i32 @s2n_print_stacktrace(ptr noundef %17704)
  %17706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17707 = trunc i8 %17706 to i1
  br i1 %17707, label %17708, label %17730

17708:                                            ; preds = %17701
  %17709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17710 = call i32 @fileno(ptr noundef %17709) #11
  %17711 = call i32 @isatty(i32 noundef %17710) #11
  %17712 = icmp ne i32 %17711, 0
  br i1 %17712, label %17713, label %17730

17713:                                            ; preds = %17708
  %17714 = load i32, ptr %351, align 4, !tbaa !5
  %17715 = call ptr @__errno_location() #12
  store i32 %17714, ptr %17715, align 4, !tbaa !5
  %17716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17717 = load i32, ptr @test_count, align 4, !tbaa !5
  %17718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17719 = load i32, ptr %17718, align 4, !tbaa !5
  %17720 = call ptr @s2n_strerror(i32 noundef %17719, ptr noundef @.str.4)
  %17721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17722 = load i32, ptr %17721, align 4, !tbaa !5
  %17723 = call ptr @s2n_strerror_debug(i32 noundef %17722, ptr noundef @.str.4)
  %17724 = call ptr @__errno_location() #12
  %17725 = load i32, ptr %17724, align 4, !tbaa !5
  %17726 = call ptr @strerror(i32 noundef %17725) #11
  %17727 = call ptr @__errno_location() #12
  %17728 = load i32, ptr %17727, align 4, !tbaa !5
  %17729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17716, ptr noundef @.str.2, i32 noundef %17717, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 522, ptr noundef %17720, ptr noundef %17723, ptr noundef %17726, i32 noundef %17728) #11
  br label %17747

17730:                                            ; preds = %17708, %17701
  %17731 = load i32, ptr %351, align 4, !tbaa !5
  %17732 = call ptr @__errno_location() #12
  store i32 %17731, ptr %17732, align 4, !tbaa !5
  %17733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17734 = load i32, ptr @test_count, align 4, !tbaa !5
  %17735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17736 = load i32, ptr %17735, align 4, !tbaa !5
  %17737 = call ptr @s2n_strerror(i32 noundef %17736, ptr noundef @.str.4)
  %17738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17739 = load i32, ptr %17738, align 4, !tbaa !5
  %17740 = call ptr @s2n_strerror_debug(i32 noundef %17739, ptr noundef @.str.4)
  %17741 = call ptr @__errno_location() #12
  %17742 = load i32, ptr %17741, align 4, !tbaa !5
  %17743 = call ptr @strerror(i32 noundef %17742) #11
  %17744 = call ptr @__errno_location() #12
  %17745 = load i32, ptr %17744, align 4, !tbaa !5
  %17746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17733, ptr noundef @.str.5, i32 noundef %17734, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 522, ptr noundef %17737, ptr noundef %17740, ptr noundef %17743, i32 noundef %17745) #11
  br label %17747

17747:                                            ; preds = %17730, %17713
  call void @llvm.lifetime.end.p0(i64 4, ptr %351) #11
  br label %17748

17748:                                            ; preds = %17747
  br label %17749

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

17750:                                            ; No predecessors!
  br label %17751

17751:                                            ; preds = %17750
  br label %17752

17752:                                            ; preds = %17751, %17694
  br label %17753

17753:                                            ; preds = %17752
  br label %17754

17754:                                            ; preds = %17753
  br label %17755

17755:                                            ; preds = %17754
  %17756 = load i32, ptr @test_count, align 4, !tbaa !5
  %17757 = add nsw i32 %17756, 1
  store i32 %17757, ptr @test_count, align 4, !tbaa !5
  %17758 = load ptr, ptr %337, align 8, !tbaa !9
  %17759 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %17758, i32 noundef 2)
  br i1 %17759, label %17813, label %17760

17760:                                            ; preds = %17755
  br label %17761

17761:                                            ; preds = %17760
  br label %17762

17762:                                            ; preds = %17761
  call void @llvm.lifetime.start.p0(i64 4, ptr %352) #11
  %17763 = call ptr @__errno_location() #12
  %17764 = load i32, ptr %17763, align 4, !tbaa !5
  store i32 %17764, ptr %352, align 4, !tbaa !5
  %17765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17766 = call i32 @s2n_print_stacktrace(ptr noundef %17765)
  %17767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17768 = trunc i8 %17767 to i1
  br i1 %17768, label %17769, label %17791

17769:                                            ; preds = %17762
  %17770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17771 = call i32 @fileno(ptr noundef %17770) #11
  %17772 = call i32 @isatty(i32 noundef %17771) #11
  %17773 = icmp ne i32 %17772, 0
  br i1 %17773, label %17774, label %17791

17774:                                            ; preds = %17769
  %17775 = load i32, ptr %352, align 4, !tbaa !5
  %17776 = call ptr @__errno_location() #12
  store i32 %17775, ptr %17776, align 4, !tbaa !5
  %17777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17778 = load i32, ptr @test_count, align 4, !tbaa !5
  %17779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17780 = load i32, ptr %17779, align 4, !tbaa !5
  %17781 = call ptr @s2n_strerror(i32 noundef %17780, ptr noundef @.str.4)
  %17782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17783 = load i32, ptr %17782, align 4, !tbaa !5
  %17784 = call ptr @s2n_strerror_debug(i32 noundef %17783, ptr noundef @.str.4)
  %17785 = call ptr @__errno_location() #12
  %17786 = load i32, ptr %17785, align 4, !tbaa !5
  %17787 = call ptr @strerror(i32 noundef %17786) #11
  %17788 = call ptr @__errno_location() #12
  %17789 = load i32, ptr %17788, align 4, !tbaa !5
  %17790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17777, ptr noundef @.str.2, i32 noundef %17778, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 523, ptr noundef %17781, ptr noundef %17784, ptr noundef %17787, i32 noundef %17789) #11
  br label %17808

17791:                                            ; preds = %17769, %17762
  %17792 = load i32, ptr %352, align 4, !tbaa !5
  %17793 = call ptr @__errno_location() #12
  store i32 %17792, ptr %17793, align 4, !tbaa !5
  %17794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17795 = load i32, ptr @test_count, align 4, !tbaa !5
  %17796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17797 = load i32, ptr %17796, align 4, !tbaa !5
  %17798 = call ptr @s2n_strerror(i32 noundef %17797, ptr noundef @.str.4)
  %17799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17800 = load i32, ptr %17799, align 4, !tbaa !5
  %17801 = call ptr @s2n_strerror_debug(i32 noundef %17800, ptr noundef @.str.4)
  %17802 = call ptr @__errno_location() #12
  %17803 = load i32, ptr %17802, align 4, !tbaa !5
  %17804 = call ptr @strerror(i32 noundef %17803) #11
  %17805 = call ptr @__errno_location() #12
  %17806 = load i32, ptr %17805, align 4, !tbaa !5
  %17807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17794, ptr noundef @.str.5, i32 noundef %17795, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 523, ptr noundef %17798, ptr noundef %17801, ptr noundef %17804, i32 noundef %17806) #11
  br label %17808

17808:                                            ; preds = %17791, %17774
  call void @llvm.lifetime.end.p0(i64 4, ptr %352) #11
  br label %17809

17809:                                            ; preds = %17808
  br label %17810

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

17811:                                            ; No predecessors!
  br label %17812

17812:                                            ; preds = %17811
  br label %17813

17813:                                            ; preds = %17812, %17755
  br label %17814

17814:                                            ; preds = %17813
  br label %17815

17815:                                            ; preds = %17814
  br label %17816

17816:                                            ; preds = %17815
  %17817 = load i32, ptr @test_count, align 4, !tbaa !5
  %17818 = add nsw i32 %17817, 1
  store i32 %17818, ptr @test_count, align 4, !tbaa !5
  %17819 = load ptr, ptr %336, align 8, !tbaa !9
  %17820 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %17819, i32 noundef 16)
  br i1 %17820, label %17821, label %17874

17821:                                            ; preds = %17816
  br label %17822

17822:                                            ; preds = %17821
  br label %17823

17823:                                            ; preds = %17822
  call void @llvm.lifetime.start.p0(i64 4, ptr %353) #11
  %17824 = call ptr @__errno_location() #12
  %17825 = load i32, ptr %17824, align 4, !tbaa !5
  store i32 %17825, ptr %353, align 4, !tbaa !5
  %17826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17827 = call i32 @s2n_print_stacktrace(ptr noundef %17826)
  %17828 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17829 = trunc i8 %17828 to i1
  br i1 %17829, label %17830, label %17852

17830:                                            ; preds = %17823
  %17831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17832 = call i32 @fileno(ptr noundef %17831) #11
  %17833 = call i32 @isatty(i32 noundef %17832) #11
  %17834 = icmp ne i32 %17833, 0
  br i1 %17834, label %17835, label %17852

17835:                                            ; preds = %17830
  %17836 = load i32, ptr %353, align 4, !tbaa !5
  %17837 = call ptr @__errno_location() #12
  store i32 %17836, ptr %17837, align 4, !tbaa !5
  %17838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17839 = load i32, ptr @test_count, align 4, !tbaa !5
  %17840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17841 = load i32, ptr %17840, align 4, !tbaa !5
  %17842 = call ptr @s2n_strerror(i32 noundef %17841, ptr noundef @.str.4)
  %17843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17844 = load i32, ptr %17843, align 4, !tbaa !5
  %17845 = call ptr @s2n_strerror_debug(i32 noundef %17844, ptr noundef @.str.4)
  %17846 = call ptr @__errno_location() #12
  %17847 = load i32, ptr %17846, align 4, !tbaa !5
  %17848 = call ptr @strerror(i32 noundef %17847) #11
  %17849 = call ptr @__errno_location() #12
  %17850 = load i32, ptr %17849, align 4, !tbaa !5
  %17851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17838, ptr noundef @.str.2, i32 noundef %17839, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 524, ptr noundef %17842, ptr noundef %17845, ptr noundef %17848, i32 noundef %17850) #11
  br label %17869

17852:                                            ; preds = %17830, %17823
  %17853 = load i32, ptr %353, align 4, !tbaa !5
  %17854 = call ptr @__errno_location() #12
  store i32 %17853, ptr %17854, align 4, !tbaa !5
  %17855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17856 = load i32, ptr @test_count, align 4, !tbaa !5
  %17857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17858 = load i32, ptr %17857, align 4, !tbaa !5
  %17859 = call ptr @s2n_strerror(i32 noundef %17858, ptr noundef @.str.4)
  %17860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17861 = load i32, ptr %17860, align 4, !tbaa !5
  %17862 = call ptr @s2n_strerror_debug(i32 noundef %17861, ptr noundef @.str.4)
  %17863 = call ptr @__errno_location() #12
  %17864 = load i32, ptr %17863, align 4, !tbaa !5
  %17865 = call ptr @strerror(i32 noundef %17864) #11
  %17866 = call ptr @__errno_location() #12
  %17867 = load i32, ptr %17866, align 4, !tbaa !5
  %17868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17855, ptr noundef @.str.5, i32 noundef %17856, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 524, ptr noundef %17859, ptr noundef %17862, ptr noundef %17865, i32 noundef %17867) #11
  br label %17869

17869:                                            ; preds = %17852, %17835
  call void @llvm.lifetime.end.p0(i64 4, ptr %353) #11
  br label %17870

17870:                                            ; preds = %17869
  br label %17871

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

17872:                                            ; No predecessors!
  br label %17873

17873:                                            ; preds = %17872
  br label %17874

17874:                                            ; preds = %17873, %17816
  br label %17875

17875:                                            ; preds = %17874
  br label %17876

17876:                                            ; preds = %17875
  br label %17877

17877:                                            ; preds = %17876
  %17878 = load i32, ptr @test_count, align 4, !tbaa !5
  %17879 = add nsw i32 %17878, 1
  store i32 %17879, ptr @test_count, align 4, !tbaa !5
  %17880 = load ptr, ptr %337, align 8, !tbaa !9
  %17881 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %17880, i32 noundef 16)
  br i1 %17881, label %17882, label %17935

17882:                                            ; preds = %17877
  br label %17883

17883:                                            ; preds = %17882
  br label %17884

17884:                                            ; preds = %17883
  call void @llvm.lifetime.start.p0(i64 4, ptr %354) #11
  %17885 = call ptr @__errno_location() #12
  %17886 = load i32, ptr %17885, align 4, !tbaa !5
  store i32 %17886, ptr %354, align 4, !tbaa !5
  %17887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17888 = call i32 @s2n_print_stacktrace(ptr noundef %17887)
  %17889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17890 = trunc i8 %17889 to i1
  br i1 %17890, label %17891, label %17913

17891:                                            ; preds = %17884
  %17892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17893 = call i32 @fileno(ptr noundef %17892) #11
  %17894 = call i32 @isatty(i32 noundef %17893) #11
  %17895 = icmp ne i32 %17894, 0
  br i1 %17895, label %17896, label %17913

17896:                                            ; preds = %17891
  %17897 = load i32, ptr %354, align 4, !tbaa !5
  %17898 = call ptr @__errno_location() #12
  store i32 %17897, ptr %17898, align 4, !tbaa !5
  %17899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17900 = load i32, ptr @test_count, align 4, !tbaa !5
  %17901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17902 = load i32, ptr %17901, align 4, !tbaa !5
  %17903 = call ptr @s2n_strerror(i32 noundef %17902, ptr noundef @.str.4)
  %17904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17905 = load i32, ptr %17904, align 4, !tbaa !5
  %17906 = call ptr @s2n_strerror_debug(i32 noundef %17905, ptr noundef @.str.4)
  %17907 = call ptr @__errno_location() #12
  %17908 = load i32, ptr %17907, align 4, !tbaa !5
  %17909 = call ptr @strerror(i32 noundef %17908) #11
  %17910 = call ptr @__errno_location() #12
  %17911 = load i32, ptr %17910, align 4, !tbaa !5
  %17912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17899, ptr noundef @.str.2, i32 noundef %17900, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 525, ptr noundef %17903, ptr noundef %17906, ptr noundef %17909, i32 noundef %17911) #11
  br label %17930

17913:                                            ; preds = %17891, %17884
  %17914 = load i32, ptr %354, align 4, !tbaa !5
  %17915 = call ptr @__errno_location() #12
  store i32 %17914, ptr %17915, align 4, !tbaa !5
  %17916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17917 = load i32, ptr @test_count, align 4, !tbaa !5
  %17918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17919 = load i32, ptr %17918, align 4, !tbaa !5
  %17920 = call ptr @s2n_strerror(i32 noundef %17919, ptr noundef @.str.4)
  %17921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17922 = load i32, ptr %17921, align 4, !tbaa !5
  %17923 = call ptr @s2n_strerror_debug(i32 noundef %17922, ptr noundef @.str.4)
  %17924 = call ptr @__errno_location() #12
  %17925 = load i32, ptr %17924, align 4, !tbaa !5
  %17926 = call ptr @strerror(i32 noundef %17925) #11
  %17927 = call ptr @__errno_location() #12
  %17928 = load i32, ptr %17927, align 4, !tbaa !5
  %17929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17916, ptr noundef @.str.5, i32 noundef %17917, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 525, ptr noundef %17920, ptr noundef %17923, ptr noundef %17926, i32 noundef %17928) #11
  br label %17930

17930:                                            ; preds = %17913, %17896
  call void @llvm.lifetime.end.p0(i64 4, ptr %354) #11
  br label %17931

17931:                                            ; preds = %17930
  br label %17932

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

17933:                                            ; No predecessors!
  br label %17934

17934:                                            ; preds = %17933
  br label %17935

17935:                                            ; preds = %17934, %17877
  br label %17936

17936:                                            ; preds = %17935
  br label %17937

17937:                                            ; preds = %17936
  br label %17938

17938:                                            ; preds = %17937
  %17939 = load i32, ptr @test_count, align 4, !tbaa !5
  %17940 = add nsw i32 %17939, 1
  store i32 %17940, ptr @test_count, align 4, !tbaa !5
  %17941 = load ptr, ptr %336, align 8, !tbaa !9
  %17942 = call i32 @s2n_conn_get_current_message_type(ptr noundef %17941)
  %17943 = icmp eq i32 %17942, 20
  br i1 %17943, label %17997, label %17944

17944:                                            ; preds = %17938
  br label %17945

17945:                                            ; preds = %17944
  br label %17946

17946:                                            ; preds = %17945
  call void @llvm.lifetime.start.p0(i64 4, ptr %355) #11
  %17947 = call ptr @__errno_location() #12
  %17948 = load i32, ptr %17947, align 4, !tbaa !5
  store i32 %17948, ptr %355, align 4, !tbaa !5
  %17949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17950 = call i32 @s2n_print_stacktrace(ptr noundef %17949)
  %17951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17952 = trunc i8 %17951 to i1
  br i1 %17952, label %17953, label %17975

17953:                                            ; preds = %17946
  %17954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17955 = call i32 @fileno(ptr noundef %17954) #11
  %17956 = call i32 @isatty(i32 noundef %17955) #11
  %17957 = icmp ne i32 %17956, 0
  br i1 %17957, label %17958, label %17975

17958:                                            ; preds = %17953
  %17959 = load i32, ptr %355, align 4, !tbaa !5
  %17960 = call ptr @__errno_location() #12
  store i32 %17959, ptr %17960, align 4, !tbaa !5
  %17961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17962 = load i32, ptr @test_count, align 4, !tbaa !5
  %17963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17964 = load i32, ptr %17963, align 4, !tbaa !5
  %17965 = call ptr @s2n_strerror(i32 noundef %17964, ptr noundef @.str.4)
  %17966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17967 = load i32, ptr %17966, align 4, !tbaa !5
  %17968 = call ptr @s2n_strerror_debug(i32 noundef %17967, ptr noundef @.str.4)
  %17969 = call ptr @__errno_location() #12
  %17970 = load i32, ptr %17969, align 4, !tbaa !5
  %17971 = call ptr @strerror(i32 noundef %17970) #11
  %17972 = call ptr @__errno_location() #12
  %17973 = load i32, ptr %17972, align 4, !tbaa !5
  %17974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17961, ptr noundef @.str.2, i32 noundef %17962, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 526, ptr noundef %17965, ptr noundef %17968, ptr noundef %17971, i32 noundef %17973) #11
  br label %17992

17975:                                            ; preds = %17953, %17946
  %17976 = load i32, ptr %355, align 4, !tbaa !5
  %17977 = call ptr @__errno_location() #12
  store i32 %17976, ptr %17977, align 4, !tbaa !5
  %17978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17979 = load i32, ptr @test_count, align 4, !tbaa !5
  %17980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17981 = load i32, ptr %17980, align 4, !tbaa !5
  %17982 = call ptr @s2n_strerror(i32 noundef %17981, ptr noundef @.str.4)
  %17983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17984 = load i32, ptr %17983, align 4, !tbaa !5
  %17985 = call ptr @s2n_strerror_debug(i32 noundef %17984, ptr noundef @.str.4)
  %17986 = call ptr @__errno_location() #12
  %17987 = load i32, ptr %17986, align 4, !tbaa !5
  %17988 = call ptr @strerror(i32 noundef %17987) #11
  %17989 = call ptr @__errno_location() #12
  %17990 = load i32, ptr %17989, align 4, !tbaa !5
  %17991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17978, ptr noundef @.str.5, i32 noundef %17979, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 526, ptr noundef %17982, ptr noundef %17985, ptr noundef %17988, i32 noundef %17990) #11
  br label %17992

17992:                                            ; preds = %17975, %17958
  call void @llvm.lifetime.end.p0(i64 4, ptr %355) #11
  br label %17993

17993:                                            ; preds = %17992
  br label %17994

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

17995:                                            ; No predecessors!
  br label %17996

17996:                                            ; preds = %17995
  br label %17997

17997:                                            ; preds = %17996, %17938
  br label %17998

17998:                                            ; preds = %17997
  br label %17999

17999:                                            ; preds = %17998
  br label %18000

18000:                                            ; preds = %17999
  %18001 = load i32, ptr @test_count, align 4, !tbaa !5
  %18002 = add nsw i32 %18001, 1
  store i32 %18002, ptr @test_count, align 4, !tbaa !5
  %18003 = load ptr, ptr %337, align 8, !tbaa !9
  %18004 = call i32 @s2n_conn_get_current_message_type(ptr noundef %18003)
  %18005 = icmp eq i32 %18004, 20
  br i1 %18005, label %18059, label %18006

18006:                                            ; preds = %18000
  br label %18007

18007:                                            ; preds = %18006
  br label %18008

18008:                                            ; preds = %18007
  call void @llvm.lifetime.start.p0(i64 4, ptr %356) #11
  %18009 = call ptr @__errno_location() #12
  %18010 = load i32, ptr %18009, align 4, !tbaa !5
  store i32 %18010, ptr %356, align 4, !tbaa !5
  %18011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18012 = call i32 @s2n_print_stacktrace(ptr noundef %18011)
  %18013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18014 = trunc i8 %18013 to i1
  br i1 %18014, label %18015, label %18037

18015:                                            ; preds = %18008
  %18016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18017 = call i32 @fileno(ptr noundef %18016) #11
  %18018 = call i32 @isatty(i32 noundef %18017) #11
  %18019 = icmp ne i32 %18018, 0
  br i1 %18019, label %18020, label %18037

18020:                                            ; preds = %18015
  %18021 = load i32, ptr %356, align 4, !tbaa !5
  %18022 = call ptr @__errno_location() #12
  store i32 %18021, ptr %18022, align 4, !tbaa !5
  %18023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18024 = load i32, ptr @test_count, align 4, !tbaa !5
  %18025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18026 = load i32, ptr %18025, align 4, !tbaa !5
  %18027 = call ptr @s2n_strerror(i32 noundef %18026, ptr noundef @.str.4)
  %18028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18029 = load i32, ptr %18028, align 4, !tbaa !5
  %18030 = call ptr @s2n_strerror_debug(i32 noundef %18029, ptr noundef @.str.4)
  %18031 = call ptr @__errno_location() #12
  %18032 = load i32, ptr %18031, align 4, !tbaa !5
  %18033 = call ptr @strerror(i32 noundef %18032) #11
  %18034 = call ptr @__errno_location() #12
  %18035 = load i32, ptr %18034, align 4, !tbaa !5
  %18036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18023, ptr noundef @.str.2, i32 noundef %18024, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 527, ptr noundef %18027, ptr noundef %18030, ptr noundef %18033, i32 noundef %18035) #11
  br label %18054

18037:                                            ; preds = %18015, %18008
  %18038 = load i32, ptr %356, align 4, !tbaa !5
  %18039 = call ptr @__errno_location() #12
  store i32 %18038, ptr %18039, align 4, !tbaa !5
  %18040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18041 = load i32, ptr @test_count, align 4, !tbaa !5
  %18042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18043 = load i32, ptr %18042, align 4, !tbaa !5
  %18044 = call ptr @s2n_strerror(i32 noundef %18043, ptr noundef @.str.4)
  %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_debug(i32 noundef %18046, ptr noundef @.str.4)
  %18048 = call ptr @__errno_location() #12
  %18049 = load i32, ptr %18048, align 4, !tbaa !5
  %18050 = call ptr @strerror(i32 noundef %18049) #11
  %18051 = call ptr @__errno_location() #12
  %18052 = load i32, ptr %18051, align 4, !tbaa !5
  %18053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18040, ptr noundef @.str.5, i32 noundef %18041, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 527, ptr noundef %18044, ptr noundef %18047, ptr noundef %18050, i32 noundef %18052) #11
  br label %18054

18054:                                            ; preds = %18037, %18020
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #11
  br label %18055

18055:                                            ; preds = %18054
  br label %18056

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

18057:                                            ; No predecessors!
  br label %18058

18058:                                            ; preds = %18057
  br label %18059

18059:                                            ; preds = %18058, %18000
  br label %18060

18060:                                            ; preds = %18059
  br label %18061

18061:                                            ; preds = %18060
  br label %18062

18062:                                            ; preds = %18061
  %18063 = load i32, ptr @test_count, align 4, !tbaa !5
  %18064 = add nsw i32 %18063, 1
  store i32 %18064, ptr @test_count, align 4, !tbaa !5
  %18065 = load ptr, ptr %337, align 8, !tbaa !9
  %18066 = load ptr, ptr %336, align 8, !tbaa !9
  %18067 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %18065, ptr noundef %18066)
  %18068 = icmp eq i32 %18067, -1
  br i1 %18068, label %18069, label %18122

18069:                                            ; preds = %18062
  br label %18070

18070:                                            ; preds = %18069
  br label %18071

18071:                                            ; preds = %18070
  call void @llvm.lifetime.start.p0(i64 4, ptr %357) #11
  %18072 = call ptr @__errno_location() #12
  %18073 = load i32, ptr %18072, align 4, !tbaa !5
  store i32 %18073, ptr %357, align 4, !tbaa !5
  %18074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18075 = call i32 @s2n_print_stacktrace(ptr noundef %18074)
  %18076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18077 = trunc i8 %18076 to i1
  br i1 %18077, label %18078, label %18100

18078:                                            ; preds = %18071
  %18079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18080 = call i32 @fileno(ptr noundef %18079) #11
  %18081 = call i32 @isatty(i32 noundef %18080) #11
  %18082 = icmp ne i32 %18081, 0
  br i1 %18082, label %18083, label %18100

18083:                                            ; preds = %18078
  %18084 = load i32, ptr %357, align 4, !tbaa !5
  %18085 = call ptr @__errno_location() #12
  store i32 %18084, ptr %18085, align 4, !tbaa !5
  %18086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18087 = load i32, ptr @test_count, align 4, !tbaa !5
  %18088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18089 = load i32, ptr %18088, align 4, !tbaa !5
  %18090 = call ptr @s2n_strerror(i32 noundef %18089, ptr noundef @.str.4)
  %18091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18092 = load i32, ptr %18091, align 4, !tbaa !5
  %18093 = call ptr @s2n_strerror_debug(i32 noundef %18092, ptr noundef @.str.4)
  %18094 = call ptr @__errno_location() #12
  %18095 = load i32, ptr %18094, align 4, !tbaa !5
  %18096 = call ptr @strerror(i32 noundef %18095) #11
  %18097 = call ptr @__errno_location() #12
  %18098 = load i32, ptr %18097, align 4, !tbaa !5
  %18099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18086, ptr noundef @.str.2, i32 noundef %18087, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 529, ptr noundef %18090, ptr noundef %18093, ptr noundef %18096, i32 noundef %18098) #11
  br label %18117

18100:                                            ; preds = %18078, %18071
  %18101 = load i32, ptr %357, align 4, !tbaa !5
  %18102 = call ptr @__errno_location() #12
  store i32 %18101, ptr %18102, align 4, !tbaa !5
  %18103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18104 = load i32, ptr @test_count, align 4, !tbaa !5
  %18105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18106 = load i32, ptr %18105, align 4, !tbaa !5
  %18107 = call ptr @s2n_strerror(i32 noundef %18106, ptr noundef @.str.4)
  %18108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18109 = load i32, ptr %18108, align 4, !tbaa !5
  %18110 = call ptr @s2n_strerror_debug(i32 noundef %18109, ptr noundef @.str.4)
  %18111 = call ptr @__errno_location() #12
  %18112 = load i32, ptr %18111, align 4, !tbaa !5
  %18113 = call ptr @strerror(i32 noundef %18112) #11
  %18114 = call ptr @__errno_location() #12
  %18115 = load i32, ptr %18114, align 4, !tbaa !5
  %18116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18103, ptr noundef @.str.5, i32 noundef %18104, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 529, ptr noundef %18107, ptr noundef %18110, ptr noundef %18113, i32 noundef %18115) #11
  br label %18117

18117:                                            ; preds = %18100, %18083
  call void @llvm.lifetime.end.p0(i64 4, ptr %357) #11
  br label %18118

18118:                                            ; preds = %18117
  br label %18119

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

18120:                                            ; No predecessors!
  br label %18121

18121:                                            ; preds = %18120
  br label %18122

18122:                                            ; preds = %18121, %18062
  br label %18123

18123:                                            ; preds = %18122
  br label %18124

18124:                                            ; preds = %18123
  br label %18125

18125:                                            ; preds = %18124
  %18126 = load i32, ptr @test_count, align 4, !tbaa !5
  %18127 = add nsw i32 %18126, 1
  store i32 %18127, ptr @test_count, align 4, !tbaa !5
  %18128 = load ptr, ptr %336, align 8, !tbaa !9
  %18129 = call i32 @s2n_connection_free(ptr noundef %18128)
  %18130 = icmp eq i32 %18129, -1
  br i1 %18130, label %18131, label %18184

18131:                                            ; preds = %18125
  br label %18132

18132:                                            ; preds = %18131
  br label %18133

18133:                                            ; preds = %18132
  call void @llvm.lifetime.start.p0(i64 4, ptr %358) #11
  %18134 = call ptr @__errno_location() #12
  %18135 = load i32, ptr %18134, align 4, !tbaa !5
  store i32 %18135, ptr %358, align 4, !tbaa !5
  %18136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18137 = call i32 @s2n_print_stacktrace(ptr noundef %18136)
  %18138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18139 = trunc i8 %18138 to i1
  br i1 %18139, label %18140, label %18162

18140:                                            ; preds = %18133
  %18141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18142 = call i32 @fileno(ptr noundef %18141) #11
  %18143 = call i32 @isatty(i32 noundef %18142) #11
  %18144 = icmp ne i32 %18143, 0
  br i1 %18144, label %18145, label %18162

18145:                                            ; preds = %18140
  %18146 = load i32, ptr %358, align 4, !tbaa !5
  %18147 = call ptr @__errno_location() #12
  store i32 %18146, ptr %18147, align 4, !tbaa !5
  %18148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18149 = load i32, ptr @test_count, align 4, !tbaa !5
  %18150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18151 = load i32, ptr %18150, align 4, !tbaa !5
  %18152 = call ptr @s2n_strerror(i32 noundef %18151, ptr noundef @.str.4)
  %18153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18154 = load i32, ptr %18153, align 4, !tbaa !5
  %18155 = call ptr @s2n_strerror_debug(i32 noundef %18154, ptr noundef @.str.4)
  %18156 = call ptr @__errno_location() #12
  %18157 = load i32, ptr %18156, align 4, !tbaa !5
  %18158 = call ptr @strerror(i32 noundef %18157) #11
  %18159 = call ptr @__errno_location() #12
  %18160 = load i32, ptr %18159, align 4, !tbaa !5
  %18161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18148, ptr noundef @.str.2, i32 noundef %18149, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 530, ptr noundef %18152, ptr noundef %18155, ptr noundef %18158, i32 noundef %18160) #11
  br label %18179

18162:                                            ; preds = %18140, %18133
  %18163 = load i32, ptr %358, align 4, !tbaa !5
  %18164 = call ptr @__errno_location() #12
  store i32 %18163, ptr %18164, align 4, !tbaa !5
  %18165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18166 = load i32, ptr @test_count, align 4, !tbaa !5
  %18167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18168 = load i32, ptr %18167, align 4, !tbaa !5
  %18169 = call ptr @s2n_strerror(i32 noundef %18168, ptr noundef @.str.4)
  %18170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18171 = load i32, ptr %18170, align 4, !tbaa !5
  %18172 = call ptr @s2n_strerror_debug(i32 noundef %18171, ptr noundef @.str.4)
  %18173 = call ptr @__errno_location() #12
  %18174 = load i32, ptr %18173, align 4, !tbaa !5
  %18175 = call ptr @strerror(i32 noundef %18174) #11
  %18176 = call ptr @__errno_location() #12
  %18177 = load i32, ptr %18176, align 4, !tbaa !5
  %18178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18165, ptr noundef @.str.5, i32 noundef %18166, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 530, ptr noundef %18169, ptr noundef %18172, ptr noundef %18175, i32 noundef %18177) #11
  br label %18179

18179:                                            ; preds = %18162, %18145
  call void @llvm.lifetime.end.p0(i64 4, ptr %358) #11
  br label %18180

18180:                                            ; preds = %18179
  br label %18181

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

18182:                                            ; No predecessors!
  br label %18183

18183:                                            ; preds = %18182
  br label %18184

18184:                                            ; preds = %18183, %18125
  br label %18185

18185:                                            ; preds = %18184
  br label %18186

18186:                                            ; preds = %18185
  br label %18187

18187:                                            ; preds = %18186
  %18188 = load i32, ptr @test_count, align 4, !tbaa !5
  %18189 = add nsw i32 %18188, 1
  store i32 %18189, ptr @test_count, align 4, !tbaa !5
  %18190 = load ptr, ptr %337, align 8, !tbaa !9
  %18191 = call i32 @s2n_connection_free(ptr noundef %18190)
  %18192 = icmp eq i32 %18191, -1
  br i1 %18192, label %18193, label %18246

18193:                                            ; preds = %18187
  br label %18194

18194:                                            ; preds = %18193
  br label %18195

18195:                                            ; preds = %18194
  call void @llvm.lifetime.start.p0(i64 4, ptr %359) #11
  %18196 = call ptr @__errno_location() #12
  %18197 = load i32, ptr %18196, align 4, !tbaa !5
  store i32 %18197, ptr %359, align 4, !tbaa !5
  %18198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18199 = call i32 @s2n_print_stacktrace(ptr noundef %18198)
  %18200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18201 = trunc i8 %18200 to i1
  br i1 %18201, label %18202, label %18224

18202:                                            ; preds = %18195
  %18203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18204 = call i32 @fileno(ptr noundef %18203) #11
  %18205 = call i32 @isatty(i32 noundef %18204) #11
  %18206 = icmp ne i32 %18205, 0
  br i1 %18206, label %18207, label %18224

18207:                                            ; preds = %18202
  %18208 = load i32, ptr %359, align 4, !tbaa !5
  %18209 = call ptr @__errno_location() #12
  store i32 %18208, ptr %18209, align 4, !tbaa !5
  %18210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18211 = load i32, ptr @test_count, align 4, !tbaa !5
  %18212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18213 = load i32, ptr %18212, align 4, !tbaa !5
  %18214 = call ptr @s2n_strerror(i32 noundef %18213, ptr noundef @.str.4)
  %18215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18216 = load i32, ptr %18215, align 4, !tbaa !5
  %18217 = call ptr @s2n_strerror_debug(i32 noundef %18216, ptr noundef @.str.4)
  %18218 = call ptr @__errno_location() #12
  %18219 = load i32, ptr %18218, align 4, !tbaa !5
  %18220 = call ptr @strerror(i32 noundef %18219) #11
  %18221 = call ptr @__errno_location() #12
  %18222 = load i32, ptr %18221, align 4, !tbaa !5
  %18223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18210, ptr noundef @.str.2, i32 noundef %18211, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 531, ptr noundef %18214, ptr noundef %18217, ptr noundef %18220, i32 noundef %18222) #11
  br label %18241

18224:                                            ; preds = %18202, %18195
  %18225 = load i32, ptr %359, align 4, !tbaa !5
  %18226 = call ptr @__errno_location() #12
  store i32 %18225, ptr %18226, align 4, !tbaa !5
  %18227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18228 = load i32, ptr @test_count, align 4, !tbaa !5
  %18229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18230 = load i32, ptr %18229, align 4, !tbaa !5
  %18231 = call ptr @s2n_strerror(i32 noundef %18230, ptr noundef @.str.4)
  %18232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18233 = load i32, ptr %18232, align 4, !tbaa !5
  %18234 = call ptr @s2n_strerror_debug(i32 noundef %18233, ptr noundef @.str.4)
  %18235 = call ptr @__errno_location() #12
  %18236 = load i32, ptr %18235, align 4, !tbaa !5
  %18237 = call ptr @strerror(i32 noundef %18236) #11
  %18238 = call ptr @__errno_location() #12
  %18239 = load i32, ptr %18238, align 4, !tbaa !5
  %18240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18227, ptr noundef @.str.5, i32 noundef %18228, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 531, ptr noundef %18231, ptr noundef %18234, ptr noundef %18237, i32 noundef %18239) #11
  br label %18241

18241:                                            ; preds = %18224, %18207
  call void @llvm.lifetime.end.p0(i64 4, ptr %359) #11
  br label %18242

18242:                                            ; preds = %18241
  br label %18243

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

18244:                                            ; No predecessors!
  br label %18245

18245:                                            ; preds = %18244
  br label %18246

18246:                                            ; preds = %18245, %18187
  br label %18247

18247:                                            ; preds = %18246
  br label %18248

18248:                                            ; preds = %18247
  %18249 = call i32 @s2n_io_pair_close(ptr noundef %338)
  call void @llvm.lifetime.end.p0(i64 8, ptr %338) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %337) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %336) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %360) #11
  store ptr null, ptr %360, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %361) #11
  store ptr null, ptr %361, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %362) #11
  call void @llvm.memset.p0.i64(ptr align 4 %362, i8 0, i64 8, i1 false)
  br label %18250

18250:                                            ; preds = %18248
  %18251 = load i32, ptr @test_count, align 4, !tbaa !5
  %18252 = add nsw i32 %18251, 1
  store i32 %18252, ptr @test_count, align 4, !tbaa !5
  %18253 = call i32 @s2n_test_client_and_server_new(ptr noundef %360, ptr noundef %361, ptr noundef %362)
  %18254 = getelementptr inbounds %struct.s2n_result, ptr %363, i32 0, i32 0
  store i32 %18253, ptr %18254, align 4
  %18255 = getelementptr inbounds %struct.s2n_result, ptr %363, i32 0, i32 0
  %18256 = load i32, ptr %18255, align 4
  %18257 = call zeroext i1 @s2n_result_is_ok(i32 %18256)
  br i1 %18257, label %18311, label %18258

18258:                                            ; preds = %18250
  br label %18259

18259:                                            ; preds = %18258
  br label %18260

18260:                                            ; preds = %18259
  call void @llvm.lifetime.start.p0(i64 4, ptr %364) #11
  %18261 = call ptr @__errno_location() #12
  %18262 = load i32, ptr %18261, align 4, !tbaa !5
  store i32 %18262, ptr %364, align 4, !tbaa !5
  %18263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18264 = call i32 @s2n_print_stacktrace(ptr noundef %18263)
  %18265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18266 = trunc i8 %18265 to i1
  br i1 %18266, label %18267, label %18289

18267:                                            ; preds = %18260
  %18268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18269 = call i32 @fileno(ptr noundef %18268) #11
  %18270 = call i32 @isatty(i32 noundef %18269) #11
  %18271 = icmp ne i32 %18270, 0
  br i1 %18271, label %18272, label %18289

18272:                                            ; preds = %18267
  %18273 = load i32, ptr %364, align 4, !tbaa !5
  %18274 = call ptr @__errno_location() #12
  store i32 %18273, ptr %18274, align 4, !tbaa !5
  %18275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18276 = load i32, ptr @test_count, align 4, !tbaa !5
  %18277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18278 = load i32, ptr %18277, align 4, !tbaa !5
  %18279 = call ptr @s2n_strerror(i32 noundef %18278, ptr noundef @.str.4)
  %18280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18281 = load i32, ptr %18280, align 4, !tbaa !5
  %18282 = call ptr @s2n_strerror_debug(i32 noundef %18281, ptr noundef @.str.4)
  %18283 = call ptr @__errno_location() #12
  %18284 = load i32, ptr %18283, align 4, !tbaa !5
  %18285 = call ptr @strerror(i32 noundef %18284) #11
  %18286 = call ptr @__errno_location() #12
  %18287 = load i32, ptr %18286, align 4, !tbaa !5
  %18288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18275, ptr noundef @.str.2, i32 noundef %18276, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 541, ptr noundef %18279, ptr noundef %18282, ptr noundef %18285, i32 noundef %18287) #11
  br label %18306

18289:                                            ; preds = %18267, %18260
  %18290 = load i32, ptr %364, align 4, !tbaa !5
  %18291 = call ptr @__errno_location() #12
  store i32 %18290, ptr %18291, align 4, !tbaa !5
  %18292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18293 = load i32, ptr @test_count, align 4, !tbaa !5
  %18294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18295 = load i32, ptr %18294, align 4, !tbaa !5
  %18296 = call ptr @s2n_strerror(i32 noundef %18295, ptr noundef @.str.4)
  %18297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18298 = load i32, ptr %18297, align 4, !tbaa !5
  %18299 = call ptr @s2n_strerror_debug(i32 noundef %18298, ptr noundef @.str.4)
  %18300 = call ptr @__errno_location() #12
  %18301 = load i32, ptr %18300, align 4, !tbaa !5
  %18302 = call ptr @strerror(i32 noundef %18301) #11
  %18303 = call ptr @__errno_location() #12
  %18304 = load i32, ptr %18303, align 4, !tbaa !5
  %18305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18292, ptr noundef @.str.5, i32 noundef %18293, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 541, ptr noundef %18296, ptr noundef %18299, ptr noundef %18302, i32 noundef %18304) #11
  br label %18306

18306:                                            ; preds = %18289, %18272
  call void @llvm.lifetime.end.p0(i64 4, ptr %364) #11
  br label %18307

18307:                                            ; preds = %18306
  br label %18308

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

18309:                                            ; No predecessors!
  br label %18310

18310:                                            ; preds = %18309
  br label %18311

18311:                                            ; preds = %18310, %18250
  br label %18312

18312:                                            ; preds = %18311
  br label %18313

18313:                                            ; preds = %18312
  br label %18314

18314:                                            ; preds = %18313
  %18315 = load i32, ptr @test_count, align 4, !tbaa !5
  %18316 = add nsw i32 %18315, 1
  store i32 %18316, ptr @test_count, align 4, !tbaa !5
  %18317 = load ptr, ptr %360, align 8, !tbaa !9
  %18318 = load ptr, ptr %12, align 8, !tbaa !9
  %18319 = call i32 @s2n_connection_append_psk(ptr noundef %18317, ptr noundef %18318)
  %18320 = icmp eq i32 %18319, -1
  br i1 %18320, label %18321, label %18374

18321:                                            ; preds = %18314
  br label %18322

18322:                                            ; preds = %18321
  br label %18323

18323:                                            ; preds = %18322
  call void @llvm.lifetime.start.p0(i64 4, ptr %365) #11
  %18324 = call ptr @__errno_location() #12
  %18325 = load i32, ptr %18324, align 4, !tbaa !5
  store i32 %18325, ptr %365, align 4, !tbaa !5
  %18326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18327 = call i32 @s2n_print_stacktrace(ptr noundef %18326)
  %18328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18329 = trunc i8 %18328 to i1
  br i1 %18329, label %18330, label %18352

18330:                                            ; preds = %18323
  %18331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18332 = call i32 @fileno(ptr noundef %18331) #11
  %18333 = call i32 @isatty(i32 noundef %18332) #11
  %18334 = icmp ne i32 %18333, 0
  br i1 %18334, label %18335, label %18352

18335:                                            ; preds = %18330
  %18336 = load i32, ptr %365, align 4, !tbaa !5
  %18337 = call ptr @__errno_location() #12
  store i32 %18336, ptr %18337, align 4, !tbaa !5
  %18338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18339 = load i32, ptr @test_count, align 4, !tbaa !5
  %18340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18341 = load i32, ptr %18340, align 4, !tbaa !5
  %18342 = call ptr @s2n_strerror(i32 noundef %18341, ptr noundef @.str.4)
  %18343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18344 = load i32, ptr %18343, align 4, !tbaa !5
  %18345 = call ptr @s2n_strerror_debug(i32 noundef %18344, ptr noundef @.str.4)
  %18346 = call ptr @__errno_location() #12
  %18347 = load i32, ptr %18346, align 4, !tbaa !5
  %18348 = call ptr @strerror(i32 noundef %18347) #11
  %18349 = call ptr @__errno_location() #12
  %18350 = load i32, ptr %18349, align 4, !tbaa !5
  %18351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18338, ptr noundef @.str.2, i32 noundef %18339, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 543, ptr noundef %18342, ptr noundef %18345, ptr noundef %18348, i32 noundef %18350) #11
  br label %18369

18352:                                            ; preds = %18330, %18323
  %18353 = load i32, ptr %365, align 4, !tbaa !5
  %18354 = call ptr @__errno_location() #12
  store i32 %18353, ptr %18354, align 4, !tbaa !5
  %18355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18356 = load i32, ptr @test_count, align 4, !tbaa !5
  %18357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18358 = load i32, ptr %18357, align 4, !tbaa !5
  %18359 = call ptr @s2n_strerror(i32 noundef %18358, ptr noundef @.str.4)
  %18360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18361 = load i32, ptr %18360, align 4, !tbaa !5
  %18362 = call ptr @s2n_strerror_debug(i32 noundef %18361, ptr noundef @.str.4)
  %18363 = call ptr @__errno_location() #12
  %18364 = load i32, ptr %18363, align 4, !tbaa !5
  %18365 = call ptr @strerror(i32 noundef %18364) #11
  %18366 = call ptr @__errno_location() #12
  %18367 = load i32, ptr %18366, align 4, !tbaa !5
  %18368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18355, ptr noundef @.str.5, i32 noundef %18356, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 543, ptr noundef %18359, ptr noundef %18362, ptr noundef %18365, i32 noundef %18367) #11
  br label %18369

18369:                                            ; preds = %18352, %18335
  call void @llvm.lifetime.end.p0(i64 4, ptr %365) #11
  br label %18370

18370:                                            ; preds = %18369
  br label %18371

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

18372:                                            ; No predecessors!
  br label %18373

18373:                                            ; preds = %18372
  br label %18374

18374:                                            ; preds = %18373, %18314
  br label %18375

18375:                                            ; preds = %18374
  br label %18376

18376:                                            ; preds = %18375
  br label %18377

18377:                                            ; preds = %18376
  %18378 = load i32, ptr @test_count, align 4, !tbaa !5
  %18379 = add nsw i32 %18378, 1
  store i32 %18379, ptr @test_count, align 4, !tbaa !5
  %18380 = load ptr, ptr %361, align 8, !tbaa !9
  %18381 = load ptr, ptr %12, align 8, !tbaa !9
  %18382 = call i32 @s2n_connection_append_psk(ptr noundef %18380, ptr noundef %18381)
  %18383 = icmp eq i32 %18382, -1
  br i1 %18383, label %18384, label %18437

18384:                                            ; preds = %18377
  br label %18385

18385:                                            ; preds = %18384
  br label %18386

18386:                                            ; preds = %18385
  call void @llvm.lifetime.start.p0(i64 4, ptr %366) #11
  %18387 = call ptr @__errno_location() #12
  %18388 = load i32, ptr %18387, align 4, !tbaa !5
  store i32 %18388, ptr %366, align 4, !tbaa !5
  %18389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18390 = call i32 @s2n_print_stacktrace(ptr noundef %18389)
  %18391 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18392 = trunc i8 %18391 to i1
  br i1 %18392, label %18393, label %18415

18393:                                            ; preds = %18386
  %18394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18395 = call i32 @fileno(ptr noundef %18394) #11
  %18396 = call i32 @isatty(i32 noundef %18395) #11
  %18397 = icmp ne i32 %18396, 0
  br i1 %18397, label %18398, label %18415

18398:                                            ; preds = %18393
  %18399 = load i32, ptr %366, align 4, !tbaa !5
  %18400 = call ptr @__errno_location() #12
  store i32 %18399, ptr %18400, align 4, !tbaa !5
  %18401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18402 = load i32, ptr @test_count, align 4, !tbaa !5
  %18403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18404 = load i32, ptr %18403, align 4, !tbaa !5
  %18405 = call ptr @s2n_strerror(i32 noundef %18404, ptr noundef @.str.4)
  %18406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18407 = load i32, ptr %18406, align 4, !tbaa !5
  %18408 = call ptr @s2n_strerror_debug(i32 noundef %18407, ptr noundef @.str.4)
  %18409 = call ptr @__errno_location() #12
  %18410 = load i32, ptr %18409, align 4, !tbaa !5
  %18411 = call ptr @strerror(i32 noundef %18410) #11
  %18412 = call ptr @__errno_location() #12
  %18413 = load i32, ptr %18412, align 4, !tbaa !5
  %18414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18401, ptr noundef @.str.2, i32 noundef %18402, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 544, ptr noundef %18405, ptr noundef %18408, ptr noundef %18411, i32 noundef %18413) #11
  br label %18432

18415:                                            ; preds = %18393, %18386
  %18416 = load i32, ptr %366, align 4, !tbaa !5
  %18417 = call ptr @__errno_location() #12
  store i32 %18416, ptr %18417, align 4, !tbaa !5
  %18418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18419 = load i32, ptr @test_count, align 4, !tbaa !5
  %18420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18421 = load i32, ptr %18420, align 4, !tbaa !5
  %18422 = call ptr @s2n_strerror(i32 noundef %18421, ptr noundef @.str.4)
  %18423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18424 = load i32, ptr %18423, align 4, !tbaa !5
  %18425 = call ptr @s2n_strerror_debug(i32 noundef %18424, ptr noundef @.str.4)
  %18426 = call ptr @__errno_location() #12
  %18427 = load i32, ptr %18426, align 4, !tbaa !5
  %18428 = call ptr @strerror(i32 noundef %18427) #11
  %18429 = call ptr @__errno_location() #12
  %18430 = load i32, ptr %18429, align 4, !tbaa !5
  %18431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18418, ptr noundef @.str.5, i32 noundef %18419, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 544, ptr noundef %18422, ptr noundef %18425, ptr noundef %18428, i32 noundef %18430) #11
  br label %18432

18432:                                            ; preds = %18415, %18398
  call void @llvm.lifetime.end.p0(i64 4, ptr %366) #11
  br label %18433

18433:                                            ; preds = %18432
  br label %18434

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

18435:                                            ; No predecessors!
  br label %18436

18436:                                            ; preds = %18435
  br label %18437

18437:                                            ; preds = %18436, %18377
  br label %18438

18438:                                            ; preds = %18437
  br label %18439

18439:                                            ; preds = %18438
  br label %18440

18440:                                            ; preds = %18439
  %18441 = load i32, ptr @test_count, align 4, !tbaa !5
  %18442 = add nsw i32 %18441, 1
  store i32 %18442, ptr @test_count, align 4, !tbaa !5
  %18443 = load ptr, ptr %360, align 8, !tbaa !9
  %18444 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %18443)
  %18445 = icmp eq i32 %18444, -1
  br i1 %18445, label %18446, label %18499

18446:                                            ; preds = %18440
  br label %18447

18447:                                            ; preds = %18446
  br label %18448

18448:                                            ; preds = %18447
  call void @llvm.lifetime.start.p0(i64 4, ptr %367) #11
  %18449 = call ptr @__errno_location() #12
  %18450 = load i32, ptr %18449, align 4, !tbaa !5
  store i32 %18450, ptr %367, align 4, !tbaa !5
  %18451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18452 = call i32 @s2n_print_stacktrace(ptr noundef %18451)
  %18453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18454 = trunc i8 %18453 to i1
  br i1 %18454, label %18455, label %18477

18455:                                            ; preds = %18448
  %18456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18457 = call i32 @fileno(ptr noundef %18456) #11
  %18458 = call i32 @isatty(i32 noundef %18457) #11
  %18459 = icmp ne i32 %18458, 0
  br i1 %18459, label %18460, label %18477

18460:                                            ; preds = %18455
  %18461 = load i32, ptr %367, align 4, !tbaa !5
  %18462 = call ptr @__errno_location() #12
  store i32 %18461, ptr %18462, align 4, !tbaa !5
  %18463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18464 = load i32, ptr @test_count, align 4, !tbaa !5
  %18465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18466 = load i32, ptr %18465, align 4, !tbaa !5
  %18467 = call ptr @s2n_strerror(i32 noundef %18466, ptr noundef @.str.4)
  %18468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18469 = load i32, ptr %18468, align 4, !tbaa !5
  %18470 = call ptr @s2n_strerror_debug(i32 noundef %18469, ptr noundef @.str.4)
  %18471 = call ptr @__errno_location() #12
  %18472 = load i32, ptr %18471, align 4, !tbaa !5
  %18473 = call ptr @strerror(i32 noundef %18472) #11
  %18474 = call ptr @__errno_location() #12
  %18475 = load i32, ptr %18474, align 4, !tbaa !5
  %18476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18463, ptr noundef @.str.2, i32 noundef %18464, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 545, ptr noundef %18467, ptr noundef %18470, ptr noundef %18473, i32 noundef %18475) #11
  br label %18494

18477:                                            ; preds = %18455, %18448
  %18478 = load i32, ptr %367, align 4, !tbaa !5
  %18479 = call ptr @__errno_location() #12
  store i32 %18478, ptr %18479, align 4, !tbaa !5
  %18480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18481 = load i32, ptr @test_count, align 4, !tbaa !5
  %18482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18483 = load i32, ptr %18482, align 4, !tbaa !5
  %18484 = call ptr @s2n_strerror(i32 noundef %18483, ptr noundef @.str.4)
  %18485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18486 = load i32, ptr %18485, align 4, !tbaa !5
  %18487 = call ptr @s2n_strerror_debug(i32 noundef %18486, ptr noundef @.str.4)
  %18488 = call ptr @__errno_location() #12
  %18489 = load i32, ptr %18488, align 4, !tbaa !5
  %18490 = call ptr @strerror(i32 noundef %18489) #11
  %18491 = call ptr @__errno_location() #12
  %18492 = load i32, ptr %18491, align 4, !tbaa !5
  %18493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18480, ptr noundef @.str.5, i32 noundef %18481, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 545, ptr noundef %18484, ptr noundef %18487, ptr noundef %18490, i32 noundef %18492) #11
  br label %18494

18494:                                            ; preds = %18477, %18460
  call void @llvm.lifetime.end.p0(i64 4, ptr %367) #11
  br label %18495

18495:                                            ; preds = %18494
  br label %18496

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

18497:                                            ; No predecessors!
  br label %18498

18498:                                            ; preds = %18497
  br label %18499

18499:                                            ; preds = %18498, %18440
  br label %18500

18500:                                            ; preds = %18499
  br label %18501

18501:                                            ; preds = %18500
  br label %18502

18502:                                            ; preds = %18501
  %18503 = load i32, ptr @test_count, align 4, !tbaa !5
  %18504 = add nsw i32 %18503, 1
  store i32 %18504, ptr @test_count, align 4, !tbaa !5
  %18505 = load ptr, ptr %361, align 8, !tbaa !9
  %18506 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %18505)
  %18507 = icmp eq i32 %18506, -1
  br i1 %18507, label %18508, label %18561

18508:                                            ; preds = %18502
  br label %18509

18509:                                            ; preds = %18508
  br label %18510

18510:                                            ; preds = %18509
  call void @llvm.lifetime.start.p0(i64 4, ptr %368) #11
  %18511 = call ptr @__errno_location() #12
  %18512 = load i32, ptr %18511, align 4, !tbaa !5
  store i32 %18512, ptr %368, align 4, !tbaa !5
  %18513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18514 = call i32 @s2n_print_stacktrace(ptr noundef %18513)
  %18515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18516 = trunc i8 %18515 to i1
  br i1 %18516, label %18517, label %18539

18517:                                            ; preds = %18510
  %18518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18519 = call i32 @fileno(ptr noundef %18518) #11
  %18520 = call i32 @isatty(i32 noundef %18519) #11
  %18521 = icmp ne i32 %18520, 0
  br i1 %18521, label %18522, label %18539

18522:                                            ; preds = %18517
  %18523 = load i32, ptr %368, align 4, !tbaa !5
  %18524 = call ptr @__errno_location() #12
  store i32 %18523, ptr %18524, align 4, !tbaa !5
  %18525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18526 = load i32, ptr @test_count, align 4, !tbaa !5
  %18527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18528 = load i32, ptr %18527, align 4, !tbaa !5
  %18529 = call ptr @s2n_strerror(i32 noundef %18528, ptr noundef @.str.4)
  %18530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18531 = load i32, ptr %18530, align 4, !tbaa !5
  %18532 = call ptr @s2n_strerror_debug(i32 noundef %18531, ptr noundef @.str.4)
  %18533 = call ptr @__errno_location() #12
  %18534 = load i32, ptr %18533, align 4, !tbaa !5
  %18535 = call ptr @strerror(i32 noundef %18534) #11
  %18536 = call ptr @__errno_location() #12
  %18537 = load i32, ptr %18536, align 4, !tbaa !5
  %18538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18525, ptr noundef @.str.2, i32 noundef %18526, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 546, ptr noundef %18529, ptr noundef %18532, ptr noundef %18535, i32 noundef %18537) #11
  br label %18556

18539:                                            ; preds = %18517, %18510
  %18540 = load i32, ptr %368, align 4, !tbaa !5
  %18541 = call ptr @__errno_location() #12
  store i32 %18540, ptr %18541, align 4, !tbaa !5
  %18542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18543 = load i32, ptr @test_count, align 4, !tbaa !5
  %18544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18545 = load i32, ptr %18544, align 4, !tbaa !5
  %18546 = call ptr @s2n_strerror(i32 noundef %18545, ptr noundef @.str.4)
  %18547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18548 = load i32, ptr %18547, align 4, !tbaa !5
  %18549 = call ptr @s2n_strerror_debug(i32 noundef %18548, ptr noundef @.str.4)
  %18550 = call ptr @__errno_location() #12
  %18551 = load i32, ptr %18550, align 4, !tbaa !5
  %18552 = call ptr @strerror(i32 noundef %18551) #11
  %18553 = call ptr @__errno_location() #12
  %18554 = load i32, ptr %18553, align 4, !tbaa !5
  %18555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18542, ptr noundef @.str.5, i32 noundef %18543, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 546, ptr noundef %18546, ptr noundef %18549, ptr noundef %18552, i32 noundef %18554) #11
  br label %18556

18556:                                            ; preds = %18539, %18522
  call void @llvm.lifetime.end.p0(i64 4, ptr %368) #11
  br label %18557

18557:                                            ; preds = %18556
  br label %18558

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

18559:                                            ; No predecessors!
  br label %18560

18560:                                            ; preds = %18559
  br label %18561

18561:                                            ; preds = %18560, %18502
  br label %18562

18562:                                            ; preds = %18561
  br label %18563

18563:                                            ; preds = %18562
  call void @llvm.lifetime.start.p0(i64 4, ptr %369) #11
  store i32 0, ptr %369, align 4, !tbaa !5
  br label %18564

18564:                                            ; preds = %18563
  %18565 = load i32, ptr @test_count, align 4, !tbaa !5
  %18566 = add nsw i32 %18565, 1
  store i32 %18566, ptr @test_count, align 4, !tbaa !5
  %18567 = load ptr, ptr %360, align 8, !tbaa !9
  %18568 = getelementptr inbounds %struct.s2n_connection, ptr %18567, i32 0, i32 89
  %18569 = load i32, ptr %18568, align 8, !tbaa !19
  %18570 = icmp eq i32 %18569, 0
  br i1 %18570, label %18624, label %18571

18571:                                            ; preds = %18564
  br label %18572

18572:                                            ; preds = %18571
  br label %18573

18573:                                            ; preds = %18572
  call void @llvm.lifetime.start.p0(i64 4, ptr %370) #11
  %18574 = call ptr @__errno_location() #12
  %18575 = load i32, ptr %18574, align 4, !tbaa !5
  store i32 %18575, ptr %370, align 4, !tbaa !5
  %18576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18577 = call i32 @s2n_print_stacktrace(ptr noundef %18576)
  %18578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18579 = trunc i8 %18578 to i1
  br i1 %18579, label %18580, label %18602

18580:                                            ; preds = %18573
  %18581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18582 = call i32 @fileno(ptr noundef %18581) #11
  %18583 = call i32 @isatty(i32 noundef %18582) #11
  %18584 = icmp ne i32 %18583, 0
  br i1 %18584, label %18585, label %18602

18585:                                            ; preds = %18580
  %18586 = load i32, ptr %370, align 4, !tbaa !5
  %18587 = call ptr @__errno_location() #12
  store i32 %18586, ptr %18587, align 4, !tbaa !5
  %18588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18589 = load i32, ptr @test_count, align 4, !tbaa !5
  %18590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18591 = load i32, ptr %18590, align 4, !tbaa !5
  %18592 = call ptr @s2n_strerror(i32 noundef %18591, ptr noundef @.str.4)
  %18593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18594 = load i32, ptr %18593, align 4, !tbaa !5
  %18595 = call ptr @s2n_strerror_debug(i32 noundef %18594, ptr noundef @.str.4)
  %18596 = call ptr @__errno_location() #12
  %18597 = load i32, ptr %18596, align 4, !tbaa !5
  %18598 = call ptr @strerror(i32 noundef %18597) #11
  %18599 = call ptr @__errno_location() #12
  %18600 = load i32, ptr %18599, align 4, !tbaa !5
  %18601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18588, ptr noundef @.str.2, i32 noundef %18589, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 551, ptr noundef %18592, ptr noundef %18595, ptr noundef %18598, i32 noundef %18600) #11
  br label %18619

18602:                                            ; preds = %18580, %18573
  %18603 = load i32, ptr %370, align 4, !tbaa !5
  %18604 = call ptr @__errno_location() #12
  store i32 %18603, ptr %18604, align 4, !tbaa !5
  %18605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18606 = load i32, ptr @test_count, align 4, !tbaa !5
  %18607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18608 = load i32, ptr %18607, align 4, !tbaa !5
  %18609 = call ptr @s2n_strerror(i32 noundef %18608, ptr noundef @.str.4)
  %18610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18611 = load i32, ptr %18610, align 4, !tbaa !5
  %18612 = call ptr @s2n_strerror_debug(i32 noundef %18611, ptr noundef @.str.4)
  %18613 = call ptr @__errno_location() #12
  %18614 = load i32, ptr %18613, align 4, !tbaa !5
  %18615 = call ptr @strerror(i32 noundef %18614) #11
  %18616 = call ptr @__errno_location() #12
  %18617 = load i32, ptr %18616, align 4, !tbaa !5
  %18618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18605, ptr noundef @.str.5, i32 noundef %18606, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 551, ptr noundef %18609, ptr noundef %18612, ptr noundef %18615, i32 noundef %18617) #11
  br label %18619

18619:                                            ; preds = %18602, %18585
  call void @llvm.lifetime.end.p0(i64 4, ptr %370) #11
  br label %18620

18620:                                            ; preds = %18619
  br label %18621

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

18622:                                            ; No predecessors!
  br label %18623

18623:                                            ; preds = %18622
  br label %18624

18624:                                            ; preds = %18623, %18564
  br label %18625

18625:                                            ; preds = %18624
  br label %18626

18626:                                            ; preds = %18625
  br label %18627

18627:                                            ; preds = %18626
  br label %18628

18628:                                            ; preds = %18627
  br label %18629

18629:                                            ; preds = %18628
  %18630 = load i32, ptr @test_count, align 4, !tbaa !5
  %18631 = add nsw i32 %18630, 1
  store i32 %18631, ptr @test_count, align 4, !tbaa !5
  %18632 = load ptr, ptr %360, align 8, !tbaa !9
  %18633 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %18634 = call i64 @s2n_send(ptr noundef %18632, ptr noundef %18633, i64 noundef 12, ptr noundef %369)
  %18635 = icmp eq i64 %18634, -1
  br i1 %18635, label %18689, label %18636

18636:                                            ; preds = %18629
  br label %18637

18637:                                            ; preds = %18636
  br label %18638

18638:                                            ; preds = %18637
  call void @llvm.lifetime.start.p0(i64 4, ptr %371) #11
  %18639 = call ptr @__errno_location() #12
  %18640 = load i32, ptr %18639, align 4, !tbaa !5
  store i32 %18640, ptr %371, align 4, !tbaa !5
  %18641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18642 = call i32 @s2n_print_stacktrace(ptr noundef %18641)
  %18643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18644 = trunc i8 %18643 to i1
  br i1 %18644, label %18645, label %18667

18645:                                            ; preds = %18638
  %18646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18647 = call i32 @fileno(ptr noundef %18646) #11
  %18648 = call i32 @isatty(i32 noundef %18647) #11
  %18649 = icmp ne i32 %18648, 0
  br i1 %18649, label %18650, label %18667

18650:                                            ; preds = %18645
  %18651 = load i32, ptr %371, align 4, !tbaa !5
  %18652 = call ptr @__errno_location() #12
  store i32 %18651, ptr %18652, align 4, !tbaa !5
  %18653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18654 = load i32, ptr @test_count, align 4, !tbaa !5
  %18655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18656 = load i32, ptr %18655, align 4, !tbaa !5
  %18657 = call ptr @s2n_strerror(i32 noundef %18656, ptr noundef @.str.4)
  %18658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18659 = load i32, ptr %18658, align 4, !tbaa !5
  %18660 = call ptr @s2n_strerror_debug(i32 noundef %18659, ptr noundef @.str.4)
  %18661 = call ptr @__errno_location() #12
  %18662 = load i32, ptr %18661, align 4, !tbaa !5
  %18663 = call ptr @strerror(i32 noundef %18662) #11
  %18664 = call ptr @__errno_location() #12
  %18665 = load i32, ptr %18664, align 4, !tbaa !5
  %18666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18653, ptr noundef @.str.2, i32 noundef %18654, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 553, ptr noundef %18657, ptr noundef %18660, ptr noundef %18663, i32 noundef %18665) #11
  br label %18684

18667:                                            ; preds = %18645, %18638
  %18668 = load i32, ptr %371, align 4, !tbaa !5
  %18669 = call ptr @__errno_location() #12
  store i32 %18668, ptr %18669, align 4, !tbaa !5
  %18670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18671 = load i32, ptr @test_count, align 4, !tbaa !5
  %18672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18673 = load i32, ptr %18672, align 4, !tbaa !5
  %18674 = call ptr @s2n_strerror(i32 noundef %18673, ptr noundef @.str.4)
  %18675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18676 = load i32, ptr %18675, align 4, !tbaa !5
  %18677 = call ptr @s2n_strerror_debug(i32 noundef %18676, ptr noundef @.str.4)
  %18678 = call ptr @__errno_location() #12
  %18679 = load i32, ptr %18678, align 4, !tbaa !5
  %18680 = call ptr @strerror(i32 noundef %18679) #11
  %18681 = call ptr @__errno_location() #12
  %18682 = load i32, ptr %18681, align 4, !tbaa !5
  %18683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18670, ptr noundef @.str.5, i32 noundef %18671, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 553, ptr noundef %18674, ptr noundef %18677, ptr noundef %18680, i32 noundef %18682) #11
  br label %18684

18684:                                            ; preds = %18667, %18650
  call void @llvm.lifetime.end.p0(i64 4, ptr %371) #11
  br label %18685

18685:                                            ; preds = %18684
  br label %18686

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

18687:                                            ; No predecessors!
  br label %18688

18688:                                            ; preds = %18687
  br label %18689

18689:                                            ; preds = %18688, %18629
  br label %18690

18690:                                            ; preds = %18689
  br label %18691

18691:                                            ; preds = %18690
  br label %18692

18692:                                            ; preds = %18691
  %18693 = load i32, ptr @test_count, align 4, !tbaa !5
  %18694 = add nsw i32 %18693, 1
  store i32 %18694, ptr @test_count, align 4, !tbaa !5
  %18695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18696 = load i32, ptr %18695, align 4, !tbaa !5
  %18697 = icmp eq i32 %18696, 469762113
  br i1 %18697, label %18751, label %18698

18698:                                            ; preds = %18692
  br label %18699

18699:                                            ; preds = %18698
  br label %18700

18700:                                            ; preds = %18699
  call void @llvm.lifetime.start.p0(i64 4, ptr %372) #11
  %18701 = call ptr @__errno_location() #12
  %18702 = load i32, ptr %18701, align 4, !tbaa !5
  store i32 %18702, ptr %372, align 4, !tbaa !5
  %18703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18704 = call i32 @s2n_print_stacktrace(ptr noundef %18703)
  %18705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18706 = trunc i8 %18705 to i1
  br i1 %18706, label %18707, label %18729

18707:                                            ; preds = %18700
  %18708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18709 = call i32 @fileno(ptr noundef %18708) #11
  %18710 = call i32 @isatty(i32 noundef %18709) #11
  %18711 = icmp ne i32 %18710, 0
  br i1 %18711, label %18712, label %18729

18712:                                            ; preds = %18707
  %18713 = load i32, ptr %372, align 4, !tbaa !5
  %18714 = call ptr @__errno_location() #12
  store i32 %18713, ptr %18714, align 4, !tbaa !5
  %18715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18716 = load i32, ptr @test_count, align 4, !tbaa !5
  %18717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18718 = load i32, ptr %18717, align 4, !tbaa !5
  %18719 = call ptr @s2n_strerror(i32 noundef %18718, ptr noundef @.str.4)
  %18720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18721 = load i32, ptr %18720, align 4, !tbaa !5
  %18722 = call ptr @s2n_strerror_debug(i32 noundef %18721, ptr noundef @.str.4)
  %18723 = call ptr @__errno_location() #12
  %18724 = load i32, ptr %18723, align 4, !tbaa !5
  %18725 = call ptr @strerror(i32 noundef %18724) #11
  %18726 = call ptr @__errno_location() #12
  %18727 = load i32, ptr %18726, align 4, !tbaa !5
  %18728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18715, ptr noundef @.str.2, i32 noundef %18716, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 553, ptr noundef %18719, ptr noundef %18722, ptr noundef %18725, i32 noundef %18727) #11
  br label %18746

18729:                                            ; preds = %18707, %18700
  %18730 = load i32, ptr %372, align 4, !tbaa !5
  %18731 = call ptr @__errno_location() #12
  store i32 %18730, ptr %18731, align 4, !tbaa !5
  %18732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18733 = load i32, ptr @test_count, align 4, !tbaa !5
  %18734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18735 = load i32, ptr %18734, align 4, !tbaa !5
  %18736 = call ptr @s2n_strerror(i32 noundef %18735, ptr noundef @.str.4)
  %18737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18738 = load i32, ptr %18737, align 4, !tbaa !5
  %18739 = call ptr @s2n_strerror_debug(i32 noundef %18738, ptr noundef @.str.4)
  %18740 = call ptr @__errno_location() #12
  %18741 = load i32, ptr %18740, align 4, !tbaa !5
  %18742 = call ptr @strerror(i32 noundef %18741) #11
  %18743 = call ptr @__errno_location() #12
  %18744 = load i32, ptr %18743, align 4, !tbaa !5
  %18745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18732, ptr noundef @.str.5, i32 noundef %18733, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 553, ptr noundef %18736, ptr noundef %18739, ptr noundef %18742, i32 noundef %18744) #11
  br label %18746

18746:                                            ; preds = %18729, %18712
  call void @llvm.lifetime.end.p0(i64 4, ptr %372) #11
  br label %18747

18747:                                            ; preds = %18746
  br label %18748

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

18749:                                            ; No predecessors!
  br label %18750

18750:                                            ; preds = %18749
  br label %18751

18751:                                            ; preds = %18750, %18692
  br label %18752

18752:                                            ; preds = %18751
  br label %18753

18753:                                            ; preds = %18752
  br label %18754

18754:                                            ; preds = %18753
  %18755 = load i32, ptr @test_count, align 4, !tbaa !5
  %18756 = add nsw i32 %18755, 1
  store i32 %18756, ptr @test_count, align 4, !tbaa !5
  %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 = icmp eq ptr %18759, null
  br i1 %18760, label %18761, label %18814

18761:                                            ; preds = %18754
  br label %18762

18762:                                            ; preds = %18761
  br label %18763

18763:                                            ; preds = %18762
  call void @llvm.lifetime.start.p0(i64 4, ptr %373) #11
  %18764 = call ptr @__errno_location() #12
  %18765 = load i32, ptr %18764, align 4, !tbaa !5
  store i32 %18765, ptr %373, align 4, !tbaa !5
  %18766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18767 = call i32 @s2n_print_stacktrace(ptr noundef %18766)
  %18768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18769 = trunc i8 %18768 to i1
  br i1 %18769, label %18770, label %18792

18770:                                            ; preds = %18763
  %18771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18772 = call i32 @fileno(ptr noundef %18771) #11
  %18773 = call i32 @isatty(i32 noundef %18772) #11
  %18774 = icmp ne i32 %18773, 0
  br i1 %18774, label %18775, label %18792

18775:                                            ; preds = %18770
  %18776 = load i32, ptr %373, align 4, !tbaa !5
  %18777 = call ptr @__errno_location() #12
  store i32 %18776, ptr %18777, align 4, !tbaa !5
  %18778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18779 = load i32, ptr @test_count, align 4, !tbaa !5
  %18780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18781 = load i32, ptr %18780, align 4, !tbaa !5
  %18782 = call ptr @s2n_strerror(i32 noundef %18781, ptr noundef @.str.4)
  %18783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18784 = load i32, ptr %18783, align 4, !tbaa !5
  %18785 = call ptr @s2n_strerror_debug(i32 noundef %18784, ptr noundef @.str.4)
  %18786 = call ptr @__errno_location() #12
  %18787 = load i32, ptr %18786, align 4, !tbaa !5
  %18788 = call ptr @strerror(i32 noundef %18787) #11
  %18789 = call ptr @__errno_location() #12
  %18790 = load i32, ptr %18789, align 4, !tbaa !5
  %18791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18778, ptr noundef @.str.2, i32 noundef %18779, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 553, ptr noundef %18782, ptr noundef %18785, ptr noundef %18788, i32 noundef %18790) #11
  br label %18809

18792:                                            ; preds = %18770, %18763
  %18793 = load i32, ptr %373, align 4, !tbaa !5
  %18794 = call ptr @__errno_location() #12
  store i32 %18793, ptr %18794, align 4, !tbaa !5
  %18795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18796 = load i32, ptr @test_count, align 4, !tbaa !5
  %18797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18798 = load i32, ptr %18797, align 4, !tbaa !5
  %18799 = call ptr @s2n_strerror(i32 noundef %18798, ptr noundef @.str.4)
  %18800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18801 = load i32, ptr %18800, align 4, !tbaa !5
  %18802 = call ptr @s2n_strerror_debug(i32 noundef %18801, ptr noundef @.str.4)
  %18803 = call ptr @__errno_location() #12
  %18804 = load i32, ptr %18803, align 4, !tbaa !5
  %18805 = call ptr @strerror(i32 noundef %18804) #11
  %18806 = call ptr @__errno_location() #12
  %18807 = load i32, ptr %18806, align 4, !tbaa !5
  %18808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18795, ptr noundef @.str.5, i32 noundef %18796, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 553, ptr noundef %18799, ptr noundef %18802, ptr noundef %18805, i32 noundef %18807) #11
  br label %18809

18809:                                            ; preds = %18792, %18775
  call void @llvm.lifetime.end.p0(i64 4, ptr %373) #11
  br label %18810

18810:                                            ; preds = %18809
  br label %18811

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

18812:                                            ; No predecessors!
  br label %18813

18813:                                            ; preds = %18812
  br label %18814

18814:                                            ; preds = %18813, %18754
  br label %18815

18815:                                            ; preds = %18814
  br label %18816

18816:                                            ; preds = %18815
  br label %18817

18817:                                            ; preds = %18816
  br label %18818

18818:                                            ; preds = %18817
  br label %18819

18819:                                            ; preds = %18818
  %18820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %18820, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %18821 = call ptr @__errno_location() #12
  store i32 0, ptr %18821, align 4, !tbaa !5
  br label %18822

18822:                                            ; preds = %18819
  br label %18823

18823:                                            ; preds = %18822
  br label %18824

18824:                                            ; preds = %18823
  br label %18825

18825:                                            ; preds = %18824
  br label %18826

18826:                                            ; preds = %18825
  br label %18827

18827:                                            ; preds = %18826
  br label %18828

18828:                                            ; preds = %18827
  %18829 = load i32, ptr @test_count, align 4, !tbaa !5
  %18830 = add nsw i32 %18829, 1
  store i32 %18830, ptr @test_count, align 4, !tbaa !5
  %18831 = load ptr, ptr %360, align 8, !tbaa !9
  %18832 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %18833 = call i64 @s2n_send(ptr noundef %18831, ptr noundef %18832, i64 noundef 0, ptr noundef %369)
  %18834 = icmp eq i64 %18833, -1
  br i1 %18834, label %18888, label %18835

18835:                                            ; preds = %18828
  br label %18836

18836:                                            ; preds = %18835
  br label %18837

18837:                                            ; preds = %18836
  call void @llvm.lifetime.start.p0(i64 4, ptr %374) #11
  %18838 = call ptr @__errno_location() #12
  %18839 = load i32, ptr %18838, align 4, !tbaa !5
  store i32 %18839, ptr %374, align 4, !tbaa !5
  %18840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18841 = call i32 @s2n_print_stacktrace(ptr noundef %18840)
  %18842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18843 = trunc i8 %18842 to i1
  br i1 %18843, label %18844, label %18866

18844:                                            ; preds = %18837
  %18845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18846 = call i32 @fileno(ptr noundef %18845) #11
  %18847 = call i32 @isatty(i32 noundef %18846) #11
  %18848 = icmp ne i32 %18847, 0
  br i1 %18848, label %18849, label %18866

18849:                                            ; preds = %18844
  %18850 = load i32, ptr %374, align 4, !tbaa !5
  %18851 = call ptr @__errno_location() #12
  store i32 %18850, ptr %18851, align 4, !tbaa !5
  %18852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18853 = load i32, ptr @test_count, align 4, !tbaa !5
  %18854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18855 = load i32, ptr %18854, align 4, !tbaa !5
  %18856 = call ptr @s2n_strerror(i32 noundef %18855, ptr noundef @.str.4)
  %18857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18858 = load i32, ptr %18857, align 4, !tbaa !5
  %18859 = call ptr @s2n_strerror_debug(i32 noundef %18858, ptr noundef @.str.4)
  %18860 = call ptr @__errno_location() #12
  %18861 = load i32, ptr %18860, align 4, !tbaa !5
  %18862 = call ptr @strerror(i32 noundef %18861) #11
  %18863 = call ptr @__errno_location() #12
  %18864 = load i32, ptr %18863, align 4, !tbaa !5
  %18865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18852, ptr noundef @.str.2, i32 noundef %18853, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 555, ptr noundef %18856, ptr noundef %18859, ptr noundef %18862, i32 noundef %18864) #11
  br label %18883

18866:                                            ; preds = %18844, %18837
  %18867 = load i32, ptr %374, align 4, !tbaa !5
  %18868 = call ptr @__errno_location() #12
  store i32 %18867, ptr %18868, align 4, !tbaa !5
  %18869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18870 = load i32, ptr @test_count, align 4, !tbaa !5
  %18871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18872 = load i32, ptr %18871, align 4, !tbaa !5
  %18873 = call ptr @s2n_strerror(i32 noundef %18872, ptr noundef @.str.4)
  %18874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18875 = load i32, ptr %18874, align 4, !tbaa !5
  %18876 = call ptr @s2n_strerror_debug(i32 noundef %18875, ptr noundef @.str.4)
  %18877 = call ptr @__errno_location() #12
  %18878 = load i32, ptr %18877, align 4, !tbaa !5
  %18879 = call ptr @strerror(i32 noundef %18878) #11
  %18880 = call ptr @__errno_location() #12
  %18881 = load i32, ptr %18880, align 4, !tbaa !5
  %18882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18869, ptr noundef @.str.5, i32 noundef %18870, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 555, ptr noundef %18873, ptr noundef %18876, ptr noundef %18879, i32 noundef %18881) #11
  br label %18883

18883:                                            ; preds = %18866, %18849
  call void @llvm.lifetime.end.p0(i64 4, ptr %374) #11
  br label %18884

18884:                                            ; preds = %18883
  br label %18885

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

18886:                                            ; No predecessors!
  br label %18887

18887:                                            ; preds = %18886
  br label %18888

18888:                                            ; preds = %18887, %18828
  br label %18889

18889:                                            ; preds = %18888
  br label %18890

18890:                                            ; preds = %18889
  br label %18891

18891:                                            ; preds = %18890
  %18892 = load i32, ptr @test_count, align 4, !tbaa !5
  %18893 = add nsw i32 %18892, 1
  store i32 %18893, ptr @test_count, align 4, !tbaa !5
  %18894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18895 = load i32, ptr %18894, align 4, !tbaa !5
  %18896 = icmp eq i32 %18895, 469762113
  br i1 %18896, label %18950, label %18897

18897:                                            ; preds = %18891
  br label %18898

18898:                                            ; preds = %18897
  br label %18899

18899:                                            ; preds = %18898
  call void @llvm.lifetime.start.p0(i64 4, ptr %375) #11
  %18900 = call ptr @__errno_location() #12
  %18901 = load i32, ptr %18900, align 4, !tbaa !5
  store i32 %18901, ptr %375, align 4, !tbaa !5
  %18902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18903 = call i32 @s2n_print_stacktrace(ptr noundef %18902)
  %18904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18905 = trunc i8 %18904 to i1
  br i1 %18905, label %18906, label %18928

18906:                                            ; preds = %18899
  %18907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18908 = call i32 @fileno(ptr noundef %18907) #11
  %18909 = call i32 @isatty(i32 noundef %18908) #11
  %18910 = icmp ne i32 %18909, 0
  br i1 %18910, label %18911, label %18928

18911:                                            ; preds = %18906
  %18912 = load i32, ptr %375, align 4, !tbaa !5
  %18913 = call ptr @__errno_location() #12
  store i32 %18912, ptr %18913, align 4, !tbaa !5
  %18914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18915 = load i32, ptr @test_count, align 4, !tbaa !5
  %18916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18917 = load i32, ptr %18916, align 4, !tbaa !5
  %18918 = call ptr @s2n_strerror(i32 noundef %18917, ptr noundef @.str.4)
  %18919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18920 = load i32, ptr %18919, align 4, !tbaa !5
  %18921 = call ptr @s2n_strerror_debug(i32 noundef %18920, ptr noundef @.str.4)
  %18922 = call ptr @__errno_location() #12
  %18923 = load i32, ptr %18922, align 4, !tbaa !5
  %18924 = call ptr @strerror(i32 noundef %18923) #11
  %18925 = call ptr @__errno_location() #12
  %18926 = load i32, ptr %18925, align 4, !tbaa !5
  %18927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18914, ptr noundef @.str.2, i32 noundef %18915, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 555, ptr noundef %18918, ptr noundef %18921, ptr noundef %18924, i32 noundef %18926) #11
  br label %18945

18928:                                            ; preds = %18906, %18899
  %18929 = load i32, ptr %375, align 4, !tbaa !5
  %18930 = call ptr @__errno_location() #12
  store i32 %18929, ptr %18930, align 4, !tbaa !5
  %18931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18932 = load i32, ptr @test_count, align 4, !tbaa !5
  %18933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18934 = load i32, ptr %18933, align 4, !tbaa !5
  %18935 = call ptr @s2n_strerror(i32 noundef %18934, ptr noundef @.str.4)
  %18936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18937 = load i32, ptr %18936, align 4, !tbaa !5
  %18938 = call ptr @s2n_strerror_debug(i32 noundef %18937, ptr noundef @.str.4)
  %18939 = call ptr @__errno_location() #12
  %18940 = load i32, ptr %18939, align 4, !tbaa !5
  %18941 = call ptr @strerror(i32 noundef %18940) #11
  %18942 = call ptr @__errno_location() #12
  %18943 = load i32, ptr %18942, align 4, !tbaa !5
  %18944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18931, ptr noundef @.str.5, i32 noundef %18932, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 555, ptr noundef %18935, ptr noundef %18938, ptr noundef %18941, i32 noundef %18943) #11
  br label %18945

18945:                                            ; preds = %18928, %18911
  call void @llvm.lifetime.end.p0(i64 4, ptr %375) #11
  br label %18946

18946:                                            ; preds = %18945
  br label %18947

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

18948:                                            ; No predecessors!
  br label %18949

18949:                                            ; preds = %18948
  br label %18950

18950:                                            ; preds = %18949, %18891
  br label %18951

18951:                                            ; preds = %18950
  br label %18952

18952:                                            ; preds = %18951
  br label %18953

18953:                                            ; preds = %18952
  %18954 = load i32, ptr @test_count, align 4, !tbaa !5
  %18955 = add nsw i32 %18954, 1
  store i32 %18955, ptr @test_count, align 4, !tbaa !5
  %18956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18957 = load i32, ptr %18956, align 4, !tbaa !5
  %18958 = call ptr @s2n_strerror_debug(i32 noundef %18957, ptr noundef @.str.4)
  %18959 = icmp eq ptr %18958, null
  br i1 %18959, label %18960, label %19013

18960:                                            ; preds = %18953
  br label %18961

18961:                                            ; preds = %18960
  br label %18962

18962:                                            ; preds = %18961
  call void @llvm.lifetime.start.p0(i64 4, ptr %376) #11
  %18963 = call ptr @__errno_location() #12
  %18964 = load i32, ptr %18963, align 4, !tbaa !5
  store i32 %18964, ptr %376, align 4, !tbaa !5
  %18965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18966 = call i32 @s2n_print_stacktrace(ptr noundef %18965)
  %18967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18968 = trunc i8 %18967 to i1
  br i1 %18968, label %18969, label %18991

18969:                                            ; preds = %18962
  %18970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18971 = call i32 @fileno(ptr noundef %18970) #11
  %18972 = call i32 @isatty(i32 noundef %18971) #11
  %18973 = icmp ne i32 %18972, 0
  br i1 %18973, label %18974, label %18991

18974:                                            ; preds = %18969
  %18975 = load i32, ptr %376, align 4, !tbaa !5
  %18976 = call ptr @__errno_location() #12
  store i32 %18975, ptr %18976, align 4, !tbaa !5
  %18977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18978 = load i32, ptr @test_count, align 4, !tbaa !5
  %18979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18980 = load i32, ptr %18979, align 4, !tbaa !5
  %18981 = call ptr @s2n_strerror(i32 noundef %18980, ptr noundef @.str.4)
  %18982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18983 = load i32, ptr %18982, align 4, !tbaa !5
  %18984 = call ptr @s2n_strerror_debug(i32 noundef %18983, ptr noundef @.str.4)
  %18985 = call ptr @__errno_location() #12
  %18986 = load i32, ptr %18985, align 4, !tbaa !5
  %18987 = call ptr @strerror(i32 noundef %18986) #11
  %18988 = call ptr @__errno_location() #12
  %18989 = load i32, ptr %18988, align 4, !tbaa !5
  %18990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18977, ptr noundef @.str.2, i32 noundef %18978, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 555, ptr noundef %18981, ptr noundef %18984, ptr noundef %18987, i32 noundef %18989) #11
  br label %19008

18991:                                            ; preds = %18969, %18962
  %18992 = load i32, ptr %376, align 4, !tbaa !5
  %18993 = call ptr @__errno_location() #12
  store i32 %18992, ptr %18993, align 4, !tbaa !5
  %18994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18995 = load i32, ptr @test_count, align 4, !tbaa !5
  %18996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18997 = load i32, ptr %18996, align 4, !tbaa !5
  %18998 = call ptr @s2n_strerror(i32 noundef %18997, ptr noundef @.str.4)
  %18999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19000 = load i32, ptr %18999, align 4, !tbaa !5
  %19001 = call ptr @s2n_strerror_debug(i32 noundef %19000, ptr noundef @.str.4)
  %19002 = call ptr @__errno_location() #12
  %19003 = load i32, ptr %19002, align 4, !tbaa !5
  %19004 = call ptr @strerror(i32 noundef %19003) #11
  %19005 = call ptr @__errno_location() #12
  %19006 = load i32, ptr %19005, align 4, !tbaa !5
  %19007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18994, ptr noundef @.str.5, i32 noundef %18995, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 555, ptr noundef %18998, ptr noundef %19001, ptr noundef %19004, i32 noundef %19006) #11
  br label %19008

19008:                                            ; preds = %18991, %18974
  call void @llvm.lifetime.end.p0(i64 4, ptr %376) #11
  br label %19009

19009:                                            ; preds = %19008
  br label %19010

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

19011:                                            ; No predecessors!
  br label %19012

19012:                                            ; preds = %19011
  br label %19013

19013:                                            ; preds = %19012, %18953
  br label %19014

19014:                                            ; preds = %19013
  br label %19015

19015:                                            ; preds = %19014
  br label %19016

19016:                                            ; preds = %19015
  br label %19017

19017:                                            ; preds = %19016
  br label %19018

19018:                                            ; preds = %19017
  %19019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %19019, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %19020 = call ptr @__errno_location() #12
  store i32 0, ptr %19020, align 4, !tbaa !5
  br label %19021

19021:                                            ; preds = %19018
  br label %19022

19022:                                            ; preds = %19021
  br label %19023

19023:                                            ; preds = %19022
  br label %19024

19024:                                            ; preds = %19023
  br label %19025

19025:                                            ; preds = %19024
  %19026 = load i32, ptr @test_count, align 4, !tbaa !5
  %19027 = add nsw i32 %19026, 1
  store i32 %19027, ptr @test_count, align 4, !tbaa !5
  %19028 = load ptr, ptr %361, align 8, !tbaa !9
  %19029 = load ptr, ptr %360, align 8, !tbaa !9
  %19030 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %19028, ptr noundef %19029, i32 noundef 1)
  %19031 = getelementptr inbounds %struct.s2n_result, ptr %377, i32 0, i32 0
  store i32 %19030, ptr %19031, align 4
  %19032 = getelementptr inbounds %struct.s2n_result, ptr %377, i32 0, i32 0
  %19033 = load i32, ptr %19032, align 4
  %19034 = call zeroext i1 @s2n_result_is_ok(i32 %19033)
  br i1 %19034, label %19088, label %19035

19035:                                            ; preds = %19025
  br label %19036

19036:                                            ; preds = %19035
  br label %19037

19037:                                            ; preds = %19036
  call void @llvm.lifetime.start.p0(i64 4, ptr %378) #11
  %19038 = call ptr @__errno_location() #12
  %19039 = load i32, ptr %19038, align 4, !tbaa !5
  store i32 %19039, ptr %378, align 4, !tbaa !5
  %19040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19041 = call i32 @s2n_print_stacktrace(ptr noundef %19040)
  %19042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19043 = trunc i8 %19042 to i1
  br i1 %19043, label %19044, label %19066

19044:                                            ; preds = %19037
  %19045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19046 = call i32 @fileno(ptr noundef %19045) #11
  %19047 = call i32 @isatty(i32 noundef %19046) #11
  %19048 = icmp ne i32 %19047, 0
  br i1 %19048, label %19049, label %19066

19049:                                            ; preds = %19044
  %19050 = load i32, ptr %378, align 4, !tbaa !5
  %19051 = call ptr @__errno_location() #12
  store i32 %19050, ptr %19051, align 4, !tbaa !5
  %19052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19053 = load i32, ptr @test_count, align 4, !tbaa !5
  %19054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19055 = load i32, ptr %19054, align 4, !tbaa !5
  %19056 = call ptr @s2n_strerror(i32 noundef %19055, ptr noundef @.str.4)
  %19057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19058 = load i32, ptr %19057, align 4, !tbaa !5
  %19059 = call ptr @s2n_strerror_debug(i32 noundef %19058, ptr noundef @.str.4)
  %19060 = call ptr @__errno_location() #12
  %19061 = load i32, ptr %19060, align 4, !tbaa !5
  %19062 = call ptr @strerror(i32 noundef %19061) #11
  %19063 = call ptr @__errno_location() #12
  %19064 = load i32, ptr %19063, align 4, !tbaa !5
  %19065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19052, ptr noundef @.str.2, i32 noundef %19053, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 558, ptr noundef %19056, ptr noundef %19059, ptr noundef %19062, i32 noundef %19064) #11
  br label %19083

19066:                                            ; preds = %19044, %19037
  %19067 = load i32, ptr %378, align 4, !tbaa !5
  %19068 = call ptr @__errno_location() #12
  store i32 %19067, ptr %19068, align 4, !tbaa !5
  %19069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19070 = load i32, ptr @test_count, align 4, !tbaa !5
  %19071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19072 = load i32, ptr %19071, align 4, !tbaa !5
  %19073 = call ptr @s2n_strerror(i32 noundef %19072, ptr noundef @.str.4)
  %19074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19075 = load i32, ptr %19074, align 4, !tbaa !5
  %19076 = call ptr @s2n_strerror_debug(i32 noundef %19075, ptr noundef @.str.4)
  %19077 = call ptr @__errno_location() #12
  %19078 = load i32, ptr %19077, align 4, !tbaa !5
  %19079 = call ptr @strerror(i32 noundef %19078) #11
  %19080 = call ptr @__errno_location() #12
  %19081 = load i32, ptr %19080, align 4, !tbaa !5
  %19082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19069, ptr noundef @.str.5, i32 noundef %19070, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 558, ptr noundef %19073, ptr noundef %19076, ptr noundef %19079, i32 noundef %19081) #11
  br label %19083

19083:                                            ; preds = %19066, %19049
  call void @llvm.lifetime.end.p0(i64 4, ptr %378) #11
  br label %19084

19084:                                            ; preds = %19083
  br label %19085

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

19086:                                            ; No predecessors!
  br label %19087

19087:                                            ; preds = %19086
  br label %19088

19088:                                            ; preds = %19087, %19025
  br label %19089

19089:                                            ; preds = %19088
  br label %19090

19090:                                            ; preds = %19089
  br label %19091

19091:                                            ; preds = %19090
  %19092 = load i32, ptr @test_count, align 4, !tbaa !5
  %19093 = add nsw i32 %19092, 1
  store i32 %19093, ptr @test_count, align 4, !tbaa !5
  %19094 = load ptr, ptr %360, align 8, !tbaa !9
  %19095 = getelementptr inbounds %struct.s2n_connection, ptr %19094, i32 0, i32 89
  %19096 = load i32, ptr %19095, align 8, !tbaa !19
  %19097 = icmp eq i32 %19096, 1
  br i1 %19097, label %19151, label %19098

19098:                                            ; preds = %19091
  br label %19099

19099:                                            ; preds = %19098
  br label %19100

19100:                                            ; preds = %19099
  call void @llvm.lifetime.start.p0(i64 4, ptr %379) #11
  %19101 = call ptr @__errno_location() #12
  %19102 = load i32, ptr %19101, align 4, !tbaa !5
  store i32 %19102, ptr %379, align 4, !tbaa !5
  %19103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19104 = call i32 @s2n_print_stacktrace(ptr noundef %19103)
  %19105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19106 = trunc i8 %19105 to i1
  br i1 %19106, label %19107, label %19129

19107:                                            ; preds = %19100
  %19108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19109 = call i32 @fileno(ptr noundef %19108) #11
  %19110 = call i32 @isatty(i32 noundef %19109) #11
  %19111 = icmp ne i32 %19110, 0
  br i1 %19111, label %19112, label %19129

19112:                                            ; preds = %19107
  %19113 = load i32, ptr %379, align 4, !tbaa !5
  %19114 = call ptr @__errno_location() #12
  store i32 %19113, ptr %19114, align 4, !tbaa !5
  %19115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19116 = load i32, ptr @test_count, align 4, !tbaa !5
  %19117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19118 = load i32, ptr %19117, align 4, !tbaa !5
  %19119 = call ptr @s2n_strerror(i32 noundef %19118, ptr noundef @.str.4)
  %19120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19121 = load i32, ptr %19120, align 4, !tbaa !5
  %19122 = call ptr @s2n_strerror_debug(i32 noundef %19121, ptr noundef @.str.4)
  %19123 = call ptr @__errno_location() #12
  %19124 = load i32, ptr %19123, align 4, !tbaa !5
  %19125 = call ptr @strerror(i32 noundef %19124) #11
  %19126 = call ptr @__errno_location() #12
  %19127 = load i32, ptr %19126, align 4, !tbaa !5
  %19128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19115, ptr noundef @.str.2, i32 noundef %19116, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 561, ptr noundef %19119, ptr noundef %19122, ptr noundef %19125, i32 noundef %19127) #11
  br label %19146

19129:                                            ; preds = %19107, %19100
  %19130 = load i32, ptr %379, align 4, !tbaa !5
  %19131 = call ptr @__errno_location() #12
  store i32 %19130, ptr %19131, align 4, !tbaa !5
  %19132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19133 = load i32, ptr @test_count, align 4, !tbaa !5
  %19134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19135 = load i32, ptr %19134, align 4, !tbaa !5
  %19136 = call ptr @s2n_strerror(i32 noundef %19135, ptr noundef @.str.4)
  %19137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19138 = load i32, ptr %19137, align 4, !tbaa !5
  %19139 = call ptr @s2n_strerror_debug(i32 noundef %19138, ptr noundef @.str.4)
  %19140 = call ptr @__errno_location() #12
  %19141 = load i32, ptr %19140, align 4, !tbaa !5
  %19142 = call ptr @strerror(i32 noundef %19141) #11
  %19143 = call ptr @__errno_location() #12
  %19144 = load i32, ptr %19143, align 4, !tbaa !5
  %19145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19132, ptr noundef @.str.5, i32 noundef %19133, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 561, ptr noundef %19136, ptr noundef %19139, ptr noundef %19142, i32 noundef %19144) #11
  br label %19146

19146:                                            ; preds = %19129, %19112
  call void @llvm.lifetime.end.p0(i64 4, ptr %379) #11
  br label %19147

19147:                                            ; preds = %19146
  br label %19148

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

19149:                                            ; No predecessors!
  br label %19150

19150:                                            ; preds = %19149
  br label %19151

19151:                                            ; preds = %19150, %19091
  br label %19152

19152:                                            ; preds = %19151
  br label %19153

19153:                                            ; preds = %19152
  br label %19154

19154:                                            ; preds = %19153
  %19155 = load i32, ptr @test_count, align 4, !tbaa !5
  %19156 = add nsw i32 %19155, 1
  store i32 %19156, ptr @test_count, align 4, !tbaa !5
  %19157 = load ptr, ptr %360, align 8, !tbaa !9
  %19158 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %19159 = call i64 @s2n_send(ptr noundef %19157, ptr noundef %19158, i64 noundef 12, ptr noundef %369)
  %19160 = icmp eq i64 %19159, 12
  br i1 %19160, label %19214, label %19161

19161:                                            ; preds = %19154
  br label %19162

19162:                                            ; preds = %19161
  br label %19163

19163:                                            ; preds = %19162
  call void @llvm.lifetime.start.p0(i64 4, ptr %380) #11
  %19164 = call ptr @__errno_location() #12
  %19165 = load i32, ptr %19164, align 4, !tbaa !5
  store i32 %19165, ptr %380, align 4, !tbaa !5
  %19166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19167 = call i32 @s2n_print_stacktrace(ptr noundef %19166)
  %19168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19169 = trunc i8 %19168 to i1
  br i1 %19169, label %19170, label %19192

19170:                                            ; preds = %19163
  %19171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19172 = call i32 @fileno(ptr noundef %19171) #11
  %19173 = call i32 @isatty(i32 noundef %19172) #11
  %19174 = icmp ne i32 %19173, 0
  br i1 %19174, label %19175, label %19192

19175:                                            ; preds = %19170
  %19176 = load i32, ptr %380, align 4, !tbaa !5
  %19177 = call ptr @__errno_location() #12
  store i32 %19176, ptr %19177, align 4, !tbaa !5
  %19178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19179 = load i32, ptr @test_count, align 4, !tbaa !5
  %19180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19181 = load i32, ptr %19180, align 4, !tbaa !5
  %19182 = call ptr @s2n_strerror(i32 noundef %19181, ptr noundef @.str.4)
  %19183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19184 = load i32, ptr %19183, align 4, !tbaa !5
  %19185 = call ptr @s2n_strerror_debug(i32 noundef %19184, ptr noundef @.str.4)
  %19186 = call ptr @__errno_location() #12
  %19187 = load i32, ptr %19186, align 4, !tbaa !5
  %19188 = call ptr @strerror(i32 noundef %19187) #11
  %19189 = call ptr @__errno_location() #12
  %19190 = load i32, ptr %19189, align 4, !tbaa !5
  %19191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19178, ptr noundef @.str.2, i32 noundef %19179, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 562, ptr noundef %19182, ptr noundef %19185, ptr noundef %19188, i32 noundef %19190) #11
  br label %19209

19192:                                            ; preds = %19170, %19163
  %19193 = load i32, ptr %380, align 4, !tbaa !5
  %19194 = call ptr @__errno_location() #12
  store i32 %19193, ptr %19194, align 4, !tbaa !5
  %19195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19196 = load i32, ptr @test_count, align 4, !tbaa !5
  %19197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19198 = load i32, ptr %19197, align 4, !tbaa !5
  %19199 = call ptr @s2n_strerror(i32 noundef %19198, ptr noundef @.str.4)
  %19200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19201 = load i32, ptr %19200, align 4, !tbaa !5
  %19202 = call ptr @s2n_strerror_debug(i32 noundef %19201, ptr noundef @.str.4)
  %19203 = call ptr @__errno_location() #12
  %19204 = load i32, ptr %19203, align 4, !tbaa !5
  %19205 = call ptr @strerror(i32 noundef %19204) #11
  %19206 = call ptr @__errno_location() #12
  %19207 = load i32, ptr %19206, align 4, !tbaa !5
  %19208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19195, ptr noundef @.str.5, i32 noundef %19196, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 562, ptr noundef %19199, ptr noundef %19202, ptr noundef %19205, i32 noundef %19207) #11
  br label %19209

19209:                                            ; preds = %19192, %19175
  call void @llvm.lifetime.end.p0(i64 4, ptr %380) #11
  br label %19210

19210:                                            ; preds = %19209
  br label %19211

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

19212:                                            ; No predecessors!
  br label %19213

19213:                                            ; preds = %19212
  br label %19214

19214:                                            ; preds = %19213, %19154
  br label %19215

19215:                                            ; preds = %19214
  br label %19216

19216:                                            ; preds = %19215
  br label %19217

19217:                                            ; preds = %19216
  %19218 = load i32, ptr @test_count, align 4, !tbaa !5
  %19219 = add nsw i32 %19218, 1
  store i32 %19219, ptr @test_count, align 4, !tbaa !5
  %19220 = load ptr, ptr %361, align 8, !tbaa !9
  %19221 = load ptr, ptr %360, align 8, !tbaa !9
  %19222 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %19220, ptr noundef %19221, i32 noundef 15)
  %19223 = getelementptr inbounds %struct.s2n_result, ptr %381, i32 0, i32 0
  store i32 %19222, ptr %19223, align 4
  %19224 = getelementptr inbounds %struct.s2n_result, ptr %381, i32 0, i32 0
  %19225 = load i32, ptr %19224, align 4
  %19226 = call zeroext i1 @s2n_result_is_ok(i32 %19225)
  br i1 %19226, label %19280, label %19227

19227:                                            ; preds = %19217
  br label %19228

19228:                                            ; preds = %19227
  br label %19229

19229:                                            ; preds = %19228
  call void @llvm.lifetime.start.p0(i64 4, ptr %382) #11
  %19230 = call ptr @__errno_location() #12
  %19231 = load i32, ptr %19230, align 4, !tbaa !5
  store i32 %19231, ptr %382, align 4, !tbaa !5
  %19232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19233 = call i32 @s2n_print_stacktrace(ptr noundef %19232)
  %19234 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19235 = trunc i8 %19234 to i1
  br i1 %19235, label %19236, label %19258

19236:                                            ; preds = %19229
  %19237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19238 = call i32 @fileno(ptr noundef %19237) #11
  %19239 = call i32 @isatty(i32 noundef %19238) #11
  %19240 = icmp ne i32 %19239, 0
  br i1 %19240, label %19241, label %19258

19241:                                            ; preds = %19236
  %19242 = load i32, ptr %382, align 4, !tbaa !5
  %19243 = call ptr @__errno_location() #12
  store i32 %19242, ptr %19243, align 4, !tbaa !5
  %19244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19245 = load i32, ptr @test_count, align 4, !tbaa !5
  %19246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19247 = load i32, ptr %19246, align 4, !tbaa !5
  %19248 = call ptr @s2n_strerror(i32 noundef %19247, ptr noundef @.str.4)
  %19249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19250 = load i32, ptr %19249, align 4, !tbaa !5
  %19251 = call ptr @s2n_strerror_debug(i32 noundef %19250, ptr noundef @.str.4)
  %19252 = call ptr @__errno_location() #12
  %19253 = load i32, ptr %19252, align 4, !tbaa !5
  %19254 = call ptr @strerror(i32 noundef %19253) #11
  %19255 = call ptr @__errno_location() #12
  %19256 = load i32, ptr %19255, align 4, !tbaa !5
  %19257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19244, ptr noundef @.str.2, i32 noundef %19245, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 565, ptr noundef %19248, ptr noundef %19251, ptr noundef %19254, i32 noundef %19256) #11
  br label %19275

19258:                                            ; preds = %19236, %19229
  %19259 = load i32, ptr %382, align 4, !tbaa !5
  %19260 = call ptr @__errno_location() #12
  store i32 %19259, ptr %19260, align 4, !tbaa !5
  %19261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19262 = load i32, ptr @test_count, align 4, !tbaa !5
  %19263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19264 = load i32, ptr %19263, align 4, !tbaa !5
  %19265 = call ptr @s2n_strerror(i32 noundef %19264, ptr noundef @.str.4)
  %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_debug(i32 noundef %19267, ptr noundef @.str.4)
  %19269 = call ptr @__errno_location() #12
  %19270 = load i32, ptr %19269, align 4, !tbaa !5
  %19271 = call ptr @strerror(i32 noundef %19270) #11
  %19272 = call ptr @__errno_location() #12
  %19273 = load i32, ptr %19272, align 4, !tbaa !5
  %19274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19261, ptr noundef @.str.5, i32 noundef %19262, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 565, ptr noundef %19265, ptr noundef %19268, ptr noundef %19271, i32 noundef %19273) #11
  br label %19275

19275:                                            ; preds = %19258, %19241
  call void @llvm.lifetime.end.p0(i64 4, ptr %382) #11
  br label %19276

19276:                                            ; preds = %19275
  br label %19277

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

19278:                                            ; No predecessors!
  br label %19279

19279:                                            ; preds = %19278
  br label %19280

19280:                                            ; preds = %19279, %19217
  br label %19281

19281:                                            ; preds = %19280
  br label %19282

19282:                                            ; preds = %19281
  br label %19283

19283:                                            ; preds = %19282
  %19284 = load i32, ptr @test_count, align 4, !tbaa !5
  %19285 = add nsw i32 %19284, 1
  store i32 %19285, ptr @test_count, align 4, !tbaa !5
  %19286 = load ptr, ptr %360, align 8, !tbaa !9
  %19287 = getelementptr inbounds %struct.s2n_connection, ptr %19286, i32 0, i32 89
  %19288 = load i32, ptr %19287, align 8, !tbaa !19
  %19289 = icmp eq i32 %19288, 3
  br i1 %19289, label %19343, label %19290

19290:                                            ; preds = %19283
  br label %19291

19291:                                            ; preds = %19290
  br label %19292

19292:                                            ; preds = %19291
  call void @llvm.lifetime.start.p0(i64 4, ptr %383) #11
  %19293 = call ptr @__errno_location() #12
  %19294 = load i32, ptr %19293, align 4, !tbaa !5
  store i32 %19294, ptr %383, align 4, !tbaa !5
  %19295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19296 = call i32 @s2n_print_stacktrace(ptr noundef %19295)
  %19297 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19298 = trunc i8 %19297 to i1
  br i1 %19298, label %19299, label %19321

19299:                                            ; preds = %19292
  %19300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19301 = call i32 @fileno(ptr noundef %19300) #11
  %19302 = call i32 @isatty(i32 noundef %19301) #11
  %19303 = icmp ne i32 %19302, 0
  br i1 %19303, label %19304, label %19321

19304:                                            ; preds = %19299
  %19305 = load i32, ptr %383, align 4, !tbaa !5
  %19306 = call ptr @__errno_location() #12
  store i32 %19305, ptr %19306, align 4, !tbaa !5
  %19307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19308 = load i32, ptr @test_count, align 4, !tbaa !5
  %19309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19310 = load i32, ptr %19309, align 4, !tbaa !5
  %19311 = call ptr @s2n_strerror(i32 noundef %19310, ptr noundef @.str.4)
  %19312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19313 = load i32, ptr %19312, align 4, !tbaa !5
  %19314 = call ptr @s2n_strerror_debug(i32 noundef %19313, ptr noundef @.str.4)
  %19315 = call ptr @__errno_location() #12
  %19316 = load i32, ptr %19315, align 4, !tbaa !5
  %19317 = call ptr @strerror(i32 noundef %19316) #11
  %19318 = call ptr @__errno_location() #12
  %19319 = load i32, ptr %19318, align 4, !tbaa !5
  %19320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19307, ptr noundef @.str.2, i32 noundef %19308, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 568, ptr noundef %19311, ptr noundef %19314, ptr noundef %19317, i32 noundef %19319) #11
  br label %19338

19321:                                            ; preds = %19299, %19292
  %19322 = load i32, ptr %383, align 4, !tbaa !5
  %19323 = call ptr @__errno_location() #12
  store i32 %19322, ptr %19323, align 4, !tbaa !5
  %19324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19325 = load i32, ptr @test_count, align 4, !tbaa !5
  %19326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19327 = load i32, ptr %19326, align 4, !tbaa !5
  %19328 = call ptr @s2n_strerror(i32 noundef %19327, ptr noundef @.str.4)
  %19329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19330 = load i32, ptr %19329, align 4, !tbaa !5
  %19331 = call ptr @s2n_strerror_debug(i32 noundef %19330, ptr noundef @.str.4)
  %19332 = call ptr @__errno_location() #12
  %19333 = load i32, ptr %19332, align 4, !tbaa !5
  %19334 = call ptr @strerror(i32 noundef %19333) #11
  %19335 = call ptr @__errno_location() #12
  %19336 = load i32, ptr %19335, align 4, !tbaa !5
  %19337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19324, ptr noundef @.str.5, i32 noundef %19325, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 568, ptr noundef %19328, ptr noundef %19331, ptr noundef %19334, i32 noundef %19336) #11
  br label %19338

19338:                                            ; preds = %19321, %19304
  call void @llvm.lifetime.end.p0(i64 4, ptr %383) #11
  br label %19339

19339:                                            ; preds = %19338
  br label %19340

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

19341:                                            ; No predecessors!
  br label %19342

19342:                                            ; preds = %19341
  br label %19343

19343:                                            ; preds = %19342, %19283
  br label %19344

19344:                                            ; preds = %19343
  br label %19345

19345:                                            ; preds = %19344
  br label %19346

19346:                                            ; preds = %19345
  %19347 = load i32, ptr @test_count, align 4, !tbaa !5
  %19348 = add nsw i32 %19347, 1
  store i32 %19348, ptr @test_count, align 4, !tbaa !5
  %19349 = load ptr, ptr %360, align 8, !tbaa !9
  %19350 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %19351 = call i64 @s2n_send(ptr noundef %19349, ptr noundef %19350, i64 noundef 12, ptr noundef %369)
  %19352 = icmp eq i64 %19351, 12
  br i1 %19352, label %19406, label %19353

19353:                                            ; preds = %19346
  br label %19354

19354:                                            ; preds = %19353
  br label %19355

19355:                                            ; preds = %19354
  call void @llvm.lifetime.start.p0(i64 4, ptr %384) #11
  %19356 = call ptr @__errno_location() #12
  %19357 = load i32, ptr %19356, align 4, !tbaa !5
  store i32 %19357, ptr %384, align 4, !tbaa !5
  %19358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19359 = call i32 @s2n_print_stacktrace(ptr noundef %19358)
  %19360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19361 = trunc i8 %19360 to i1
  br i1 %19361, label %19362, label %19384

19362:                                            ; preds = %19355
  %19363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19364 = call i32 @fileno(ptr noundef %19363) #11
  %19365 = call i32 @isatty(i32 noundef %19364) #11
  %19366 = icmp ne i32 %19365, 0
  br i1 %19366, label %19367, label %19384

19367:                                            ; preds = %19362
  %19368 = load i32, ptr %384, align 4, !tbaa !5
  %19369 = call ptr @__errno_location() #12
  store i32 %19368, ptr %19369, align 4, !tbaa !5
  %19370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19371 = load i32, ptr @test_count, align 4, !tbaa !5
  %19372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19373 = load i32, ptr %19372, align 4, !tbaa !5
  %19374 = call ptr @s2n_strerror(i32 noundef %19373, ptr noundef @.str.4)
  %19375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19376 = load i32, ptr %19375, align 4, !tbaa !5
  %19377 = call ptr @s2n_strerror_debug(i32 noundef %19376, ptr noundef @.str.4)
  %19378 = call ptr @__errno_location() #12
  %19379 = load i32, ptr %19378, align 4, !tbaa !5
  %19380 = call ptr @strerror(i32 noundef %19379) #11
  %19381 = call ptr @__errno_location() #12
  %19382 = load i32, ptr %19381, align 4, !tbaa !5
  %19383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19370, ptr noundef @.str.2, i32 noundef %19371, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 569, ptr noundef %19374, ptr noundef %19377, ptr noundef %19380, i32 noundef %19382) #11
  br label %19401

19384:                                            ; preds = %19362, %19355
  %19385 = load i32, ptr %384, align 4, !tbaa !5
  %19386 = call ptr @__errno_location() #12
  store i32 %19385, ptr %19386, align 4, !tbaa !5
  %19387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19388 = load i32, ptr @test_count, align 4, !tbaa !5
  %19389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19390 = load i32, ptr %19389, align 4, !tbaa !5
  %19391 = call ptr @s2n_strerror(i32 noundef %19390, ptr noundef @.str.4)
  %19392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19393 = load i32, ptr %19392, align 4, !tbaa !5
  %19394 = call ptr @s2n_strerror_debug(i32 noundef %19393, ptr noundef @.str.4)
  %19395 = call ptr @__errno_location() #12
  %19396 = load i32, ptr %19395, align 4, !tbaa !5
  %19397 = call ptr @strerror(i32 noundef %19396) #11
  %19398 = call ptr @__errno_location() #12
  %19399 = load i32, ptr %19398, align 4, !tbaa !5
  %19400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19387, ptr noundef @.str.5, i32 noundef %19388, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 569, ptr noundef %19391, ptr noundef %19394, ptr noundef %19397, i32 noundef %19399) #11
  br label %19401

19401:                                            ; preds = %19384, %19367
  call void @llvm.lifetime.end.p0(i64 4, ptr %384) #11
  br label %19402

19402:                                            ; preds = %19401
  br label %19403

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

19404:                                            ; No predecessors!
  br label %19405

19405:                                            ; preds = %19404
  br label %19406

19406:                                            ; preds = %19405, %19346
  br label %19407

19407:                                            ; preds = %19406
  br label %19408

19408:                                            ; preds = %19407
  br label %19409

19409:                                            ; preds = %19408
  %19410 = load i32, ptr @test_count, align 4, !tbaa !5
  %19411 = add nsw i32 %19410, 1
  store i32 %19411, ptr @test_count, align 4, !tbaa !5
  %19412 = load ptr, ptr %360, align 8, !tbaa !9
  %19413 = call i64 @s2n_send(ptr noundef %19412, ptr noundef null, i64 noundef 0, ptr noundef %369)
  %19414 = icmp eq i64 %19413, 0
  br i1 %19414, label %19468, label %19415

19415:                                            ; preds = %19409
  br label %19416

19416:                                            ; preds = %19415
  br label %19417

19417:                                            ; preds = %19416
  call void @llvm.lifetime.start.p0(i64 4, ptr %385) #11
  %19418 = call ptr @__errno_location() #12
  %19419 = load i32, ptr %19418, align 4, !tbaa !5
  store i32 %19419, ptr %385, align 4, !tbaa !5
  %19420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19421 = call i32 @s2n_print_stacktrace(ptr noundef %19420)
  %19422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19423 = trunc i8 %19422 to i1
  br i1 %19423, label %19424, label %19446

19424:                                            ; preds = %19417
  %19425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19426 = call i32 @fileno(ptr noundef %19425) #11
  %19427 = call i32 @isatty(i32 noundef %19426) #11
  %19428 = icmp ne i32 %19427, 0
  br i1 %19428, label %19429, label %19446

19429:                                            ; preds = %19424
  %19430 = load i32, ptr %385, align 4, !tbaa !5
  %19431 = call ptr @__errno_location() #12
  store i32 %19430, ptr %19431, align 4, !tbaa !5
  %19432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19433 = load i32, ptr @test_count, align 4, !tbaa !5
  %19434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19435 = load i32, ptr %19434, align 4, !tbaa !5
  %19436 = call ptr @s2n_strerror(i32 noundef %19435, ptr noundef @.str.4)
  %19437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19438 = load i32, ptr %19437, align 4, !tbaa !5
  %19439 = call ptr @s2n_strerror_debug(i32 noundef %19438, ptr noundef @.str.4)
  %19440 = call ptr @__errno_location() #12
  %19441 = load i32, ptr %19440, align 4, !tbaa !5
  %19442 = call ptr @strerror(i32 noundef %19441) #11
  %19443 = call ptr @__errno_location() #12
  %19444 = load i32, ptr %19443, align 4, !tbaa !5
  %19445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19432, ptr noundef @.str.2, i32 noundef %19433, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 572, ptr noundef %19436, ptr noundef %19439, ptr noundef %19442, i32 noundef %19444) #11
  br label %19463

19446:                                            ; preds = %19424, %19417
  %19447 = load i32, ptr %385, align 4, !tbaa !5
  %19448 = call ptr @__errno_location() #12
  store i32 %19447, ptr %19448, align 4, !tbaa !5
  %19449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19450 = load i32, ptr @test_count, align 4, !tbaa !5
  %19451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19452 = load i32, ptr %19451, align 4, !tbaa !5
  %19453 = call ptr @s2n_strerror(i32 noundef %19452, ptr noundef @.str.4)
  %19454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19455 = load i32, ptr %19454, align 4, !tbaa !5
  %19456 = call ptr @s2n_strerror_debug(i32 noundef %19455, ptr noundef @.str.4)
  %19457 = call ptr @__errno_location() #12
  %19458 = load i32, ptr %19457, align 4, !tbaa !5
  %19459 = call ptr @strerror(i32 noundef %19458) #11
  %19460 = call ptr @__errno_location() #12
  %19461 = load i32, ptr %19460, align 4, !tbaa !5
  %19462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19449, ptr noundef @.str.5, i32 noundef %19450, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 572, ptr noundef %19453, ptr noundef %19456, ptr noundef %19459, i32 noundef %19461) #11
  br label %19463

19463:                                            ; preds = %19446, %19429
  call void @llvm.lifetime.end.p0(i64 4, ptr %385) #11
  br label %19464

19464:                                            ; preds = %19463
  br label %19465

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

19466:                                            ; No predecessors!
  br label %19467

19467:                                            ; preds = %19466
  br label %19468

19468:                                            ; preds = %19467, %19409
  br label %19469

19469:                                            ; preds = %19468
  br label %19470

19470:                                            ; preds = %19469
  br label %19471

19471:                                            ; preds = %19470
  %19472 = load i32, ptr @test_count, align 4, !tbaa !5
  %19473 = add nsw i32 %19472, 1
  store i32 %19473, ptr @test_count, align 4, !tbaa !5
  %19474 = load ptr, ptr %360, align 8, !tbaa !9
  %19475 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %19476 = call i64 @s2n_send(ptr noundef %19474, ptr noundef %19475, i64 noundef 12, ptr noundef %369)
  %19477 = icmp eq i64 %19476, 12
  br i1 %19477, label %19531, label %19478

19478:                                            ; preds = %19471
  br label %19479

19479:                                            ; preds = %19478
  br label %19480

19480:                                            ; preds = %19479
  call void @llvm.lifetime.start.p0(i64 4, ptr %386) #11
  %19481 = call ptr @__errno_location() #12
  %19482 = load i32, ptr %19481, align 4, !tbaa !5
  store i32 %19482, ptr %386, align 4, !tbaa !5
  %19483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19484 = call i32 @s2n_print_stacktrace(ptr noundef %19483)
  %19485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19486 = trunc i8 %19485 to i1
  br i1 %19486, label %19487, label %19509

19487:                                            ; preds = %19480
  %19488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19489 = call i32 @fileno(ptr noundef %19488) #11
  %19490 = call i32 @isatty(i32 noundef %19489) #11
  %19491 = icmp ne i32 %19490, 0
  br i1 %19491, label %19492, label %19509

19492:                                            ; preds = %19487
  %19493 = load i32, ptr %386, align 4, !tbaa !5
  %19494 = call ptr @__errno_location() #12
  store i32 %19493, ptr %19494, align 4, !tbaa !5
  %19495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19496 = load i32, ptr @test_count, align 4, !tbaa !5
  %19497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19498 = load i32, ptr %19497, align 4, !tbaa !5
  %19499 = call ptr @s2n_strerror(i32 noundef %19498, ptr noundef @.str.4)
  %19500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19501 = load i32, ptr %19500, align 4, !tbaa !5
  %19502 = call ptr @s2n_strerror_debug(i32 noundef %19501, ptr noundef @.str.4)
  %19503 = call ptr @__errno_location() #12
  %19504 = load i32, ptr %19503, align 4, !tbaa !5
  %19505 = call ptr @strerror(i32 noundef %19504) #11
  %19506 = call ptr @__errno_location() #12
  %19507 = load i32, ptr %19506, align 4, !tbaa !5
  %19508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19495, ptr noundef @.str.2, i32 noundef %19496, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 575, ptr noundef %19499, ptr noundef %19502, ptr noundef %19505, i32 noundef %19507) #11
  br label %19526

19509:                                            ; preds = %19487, %19480
  %19510 = load i32, ptr %386, align 4, !tbaa !5
  %19511 = call ptr @__errno_location() #12
  store i32 %19510, ptr %19511, align 4, !tbaa !5
  %19512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19513 = load i32, ptr @test_count, align 4, !tbaa !5
  %19514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19515 = load i32, ptr %19514, align 4, !tbaa !5
  %19516 = call ptr @s2n_strerror(i32 noundef %19515, ptr noundef @.str.4)
  %19517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19518 = load i32, ptr %19517, align 4, !tbaa !5
  %19519 = call ptr @s2n_strerror_debug(i32 noundef %19518, ptr noundef @.str.4)
  %19520 = call ptr @__errno_location() #12
  %19521 = load i32, ptr %19520, align 4, !tbaa !5
  %19522 = call ptr @strerror(i32 noundef %19521) #11
  %19523 = call ptr @__errno_location() #12
  %19524 = load i32, ptr %19523, align 4, !tbaa !5
  %19525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19512, ptr noundef @.str.5, i32 noundef %19513, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 575, ptr noundef %19516, ptr noundef %19519, ptr noundef %19522, i32 noundef %19524) #11
  br label %19526

19526:                                            ; preds = %19509, %19492
  call void @llvm.lifetime.end.p0(i64 4, ptr %386) #11
  br label %19527

19527:                                            ; preds = %19526
  br label %19528

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

19529:                                            ; No predecessors!
  br label %19530

19530:                                            ; preds = %19529
  br label %19531

19531:                                            ; preds = %19530, %19471
  br label %19532

19532:                                            ; preds = %19531
  br label %19533

19533:                                            ; preds = %19532
  br label %19534

19534:                                            ; preds = %19533
  br label %19535

19535:                                            ; preds = %19534
  br label %19536

19536:                                            ; preds = %19535
  %19537 = load i32, ptr @test_count, align 4, !tbaa !5
  %19538 = add nsw i32 %19537, 1
  store i32 %19538, ptr @test_count, align 4, !tbaa !5
  %19539 = load ptr, ptr %360, align 8, !tbaa !9
  %19540 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %19541 = call i64 @s2n_send(ptr noundef %19539, ptr noundef %19540, i64 noundef 1000, ptr noundef %369)
  %19542 = icmp eq i64 %19541, -1
  br i1 %19542, label %19596, label %19543

19543:                                            ; preds = %19536
  br label %19544

19544:                                            ; preds = %19543
  br label %19545

19545:                                            ; preds = %19544
  call void @llvm.lifetime.start.p0(i64 4, ptr %387) #11
  %19546 = call ptr @__errno_location() #12
  %19547 = load i32, ptr %19546, align 4, !tbaa !5
  store i32 %19547, ptr %387, align 4, !tbaa !5
  %19548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19549 = call i32 @s2n_print_stacktrace(ptr noundef %19548)
  %19550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19551 = trunc i8 %19550 to i1
  br i1 %19551, label %19552, label %19574

19552:                                            ; preds = %19545
  %19553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19554 = call i32 @fileno(ptr noundef %19553) #11
  %19555 = call i32 @isatty(i32 noundef %19554) #11
  %19556 = icmp ne i32 %19555, 0
  br i1 %19556, label %19557, label %19574

19557:                                            ; preds = %19552
  %19558 = load i32, ptr %387, align 4, !tbaa !5
  %19559 = call ptr @__errno_location() #12
  store i32 %19558, ptr %19559, align 4, !tbaa !5
  %19560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19561 = load i32, ptr @test_count, align 4, !tbaa !5
  %19562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19563 = load i32, ptr %19562, align 4, !tbaa !5
  %19564 = call ptr @s2n_strerror(i32 noundef %19563, ptr noundef @.str.4)
  %19565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19566 = load i32, ptr %19565, align 4, !tbaa !5
  %19567 = call ptr @s2n_strerror_debug(i32 noundef %19566, ptr noundef @.str.4)
  %19568 = call ptr @__errno_location() #12
  %19569 = load i32, ptr %19568, align 4, !tbaa !5
  %19570 = call ptr @strerror(i32 noundef %19569) #11
  %19571 = call ptr @__errno_location() #12
  %19572 = load i32, ptr %19571, align 4, !tbaa !5
  %19573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19560, ptr noundef @.str.2, i32 noundef %19561, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 579, ptr noundef %19564, ptr noundef %19567, ptr noundef %19570, i32 noundef %19572) #11
  br label %19591

19574:                                            ; preds = %19552, %19545
  %19575 = load i32, ptr %387, align 4, !tbaa !5
  %19576 = call ptr @__errno_location() #12
  store i32 %19575, ptr %19576, align 4, !tbaa !5
  %19577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19578 = load i32, ptr @test_count, align 4, !tbaa !5
  %19579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19580 = load i32, ptr %19579, align 4, !tbaa !5
  %19581 = call ptr @s2n_strerror(i32 noundef %19580, ptr noundef @.str.4)
  %19582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19583 = load i32, ptr %19582, align 4, !tbaa !5
  %19584 = call ptr @s2n_strerror_debug(i32 noundef %19583, ptr noundef @.str.4)
  %19585 = call ptr @__errno_location() #12
  %19586 = load i32, ptr %19585, align 4, !tbaa !5
  %19587 = call ptr @strerror(i32 noundef %19586) #11
  %19588 = call ptr @__errno_location() #12
  %19589 = load i32, ptr %19588, align 4, !tbaa !5
  %19590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19577, ptr noundef @.str.5, i32 noundef %19578, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 579, ptr noundef %19581, ptr noundef %19584, ptr noundef %19587, i32 noundef %19589) #11
  br label %19591

19591:                                            ; preds = %19574, %19557
  call void @llvm.lifetime.end.p0(i64 4, ptr %387) #11
  br label %19592

19592:                                            ; preds = %19591
  br label %19593

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

19594:                                            ; No predecessors!
  br label %19595

19595:                                            ; preds = %19594
  br label %19596

19596:                                            ; preds = %19595, %19536
  br label %19597

19597:                                            ; preds = %19596
  br label %19598

19598:                                            ; preds = %19597
  br label %19599

19599:                                            ; preds = %19598
  %19600 = load i32, ptr @test_count, align 4, !tbaa !5
  %19601 = add nsw i32 %19600, 1
  store i32 %19601, 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 = icmp eq i32 %19603, 335544396
  br i1 %19604, label %19658, label %19605

19605:                                            ; preds = %19599
  br label %19606

19606:                                            ; preds = %19605
  br label %19607

19607:                                            ; preds = %19606
  call void @llvm.lifetime.start.p0(i64 4, ptr %388) #11
  %19608 = call ptr @__errno_location() #12
  %19609 = load i32, ptr %19608, align 4, !tbaa !5
  store i32 %19609, ptr %388, align 4, !tbaa !5
  %19610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19611 = call i32 @s2n_print_stacktrace(ptr noundef %19610)
  %19612 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19613 = trunc i8 %19612 to i1
  br i1 %19613, label %19614, label %19636

19614:                                            ; preds = %19607
  %19615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19616 = call i32 @fileno(ptr noundef %19615) #11
  %19617 = call i32 @isatty(i32 noundef %19616) #11
  %19618 = icmp ne i32 %19617, 0
  br i1 %19618, label %19619, label %19636

19619:                                            ; preds = %19614
  %19620 = load i32, ptr %388, align 4, !tbaa !5
  %19621 = call ptr @__errno_location() #12
  store i32 %19620, ptr %19621, align 4, !tbaa !5
  %19622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19623 = load i32, ptr @test_count, align 4, !tbaa !5
  %19624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19625 = load i32, ptr %19624, align 4, !tbaa !5
  %19626 = call ptr @s2n_strerror(i32 noundef %19625, ptr noundef @.str.4)
  %19627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19628 = load i32, ptr %19627, align 4, !tbaa !5
  %19629 = call ptr @s2n_strerror_debug(i32 noundef %19628, ptr noundef @.str.4)
  %19630 = call ptr @__errno_location() #12
  %19631 = load i32, ptr %19630, align 4, !tbaa !5
  %19632 = call ptr @strerror(i32 noundef %19631) #11
  %19633 = call ptr @__errno_location() #12
  %19634 = load i32, ptr %19633, align 4, !tbaa !5
  %19635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19622, ptr noundef @.str.2, i32 noundef %19623, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 579, ptr noundef %19626, ptr noundef %19629, ptr noundef %19632, i32 noundef %19634) #11
  br label %19653

19636:                                            ; preds = %19614, %19607
  %19637 = load i32, ptr %388, align 4, !tbaa !5
  %19638 = call ptr @__errno_location() #12
  store i32 %19637, ptr %19638, align 4, !tbaa !5
  %19639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19640 = load i32, ptr @test_count, align 4, !tbaa !5
  %19641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19642 = load i32, ptr %19641, align 4, !tbaa !5
  %19643 = call ptr @s2n_strerror(i32 noundef %19642, ptr noundef @.str.4)
  %19644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19645 = load i32, ptr %19644, align 4, !tbaa !5
  %19646 = call ptr @s2n_strerror_debug(i32 noundef %19645, ptr noundef @.str.4)
  %19647 = call ptr @__errno_location() #12
  %19648 = load i32, ptr %19647, align 4, !tbaa !5
  %19649 = call ptr @strerror(i32 noundef %19648) #11
  %19650 = call ptr @__errno_location() #12
  %19651 = load i32, ptr %19650, align 4, !tbaa !5
  %19652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19639, ptr noundef @.str.5, i32 noundef %19640, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 579, ptr noundef %19643, ptr noundef %19646, ptr noundef %19649, i32 noundef %19651) #11
  br label %19653

19653:                                            ; preds = %19636, %19619
  call void @llvm.lifetime.end.p0(i64 4, ptr %388) #11
  br label %19654

19654:                                            ; preds = %19653
  br label %19655

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

19656:                                            ; No predecessors!
  br label %19657

19657:                                            ; preds = %19656
  br label %19658

19658:                                            ; preds = %19657, %19599
  br label %19659

19659:                                            ; preds = %19658
  br label %19660

19660:                                            ; preds = %19659
  br label %19661

19661:                                            ; preds = %19660
  %19662 = load i32, ptr @test_count, align 4, !tbaa !5
  %19663 = add nsw i32 %19662, 1
  store i32 %19663, ptr @test_count, align 4, !tbaa !5
  %19664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19665 = load i32, ptr %19664, align 4, !tbaa !5
  %19666 = call ptr @s2n_strerror_debug(i32 noundef %19665, ptr noundef @.str.4)
  %19667 = icmp eq ptr %19666, null
  br i1 %19667, label %19668, label %19721

19668:                                            ; preds = %19661
  br label %19669

19669:                                            ; preds = %19668
  br label %19670

19670:                                            ; preds = %19669
  call void @llvm.lifetime.start.p0(i64 4, ptr %389) #11
  %19671 = call ptr @__errno_location() #12
  %19672 = load i32, ptr %19671, align 4, !tbaa !5
  store i32 %19672, ptr %389, align 4, !tbaa !5
  %19673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19674 = call i32 @s2n_print_stacktrace(ptr noundef %19673)
  %19675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19676 = trunc i8 %19675 to i1
  br i1 %19676, label %19677, label %19699

19677:                                            ; preds = %19670
  %19678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19679 = call i32 @fileno(ptr noundef %19678) #11
  %19680 = call i32 @isatty(i32 noundef %19679) #11
  %19681 = icmp ne i32 %19680, 0
  br i1 %19681, label %19682, label %19699

19682:                                            ; preds = %19677
  %19683 = load i32, ptr %389, align 4, !tbaa !5
  %19684 = call ptr @__errno_location() #12
  store i32 %19683, ptr %19684, align 4, !tbaa !5
  %19685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19686 = load i32, ptr @test_count, align 4, !tbaa !5
  %19687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19688 = load i32, ptr %19687, align 4, !tbaa !5
  %19689 = call ptr @s2n_strerror(i32 noundef %19688, ptr noundef @.str.4)
  %19690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19691 = load i32, ptr %19690, align 4, !tbaa !5
  %19692 = call ptr @s2n_strerror_debug(i32 noundef %19691, ptr noundef @.str.4)
  %19693 = call ptr @__errno_location() #12
  %19694 = load i32, ptr %19693, align 4, !tbaa !5
  %19695 = call ptr @strerror(i32 noundef %19694) #11
  %19696 = call ptr @__errno_location() #12
  %19697 = load i32, ptr %19696, align 4, !tbaa !5
  %19698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19685, ptr noundef @.str.2, i32 noundef %19686, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 579, ptr noundef %19689, ptr noundef %19692, ptr noundef %19695, i32 noundef %19697) #11
  br label %19716

19699:                                            ; preds = %19677, %19670
  %19700 = load i32, ptr %389, align 4, !tbaa !5
  %19701 = call ptr @__errno_location() #12
  store i32 %19700, ptr %19701, align 4, !tbaa !5
  %19702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19703 = load i32, ptr @test_count, align 4, !tbaa !5
  %19704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19705 = load i32, ptr %19704, align 4, !tbaa !5
  %19706 = call ptr @s2n_strerror(i32 noundef %19705, ptr noundef @.str.4)
  %19707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19708 = load i32, ptr %19707, align 4, !tbaa !5
  %19709 = call ptr @s2n_strerror_debug(i32 noundef %19708, ptr noundef @.str.4)
  %19710 = call ptr @__errno_location() #12
  %19711 = load i32, ptr %19710, align 4, !tbaa !5
  %19712 = call ptr @strerror(i32 noundef %19711) #11
  %19713 = call ptr @__errno_location() #12
  %19714 = load i32, ptr %19713, align 4, !tbaa !5
  %19715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19702, ptr noundef @.str.5, i32 noundef %19703, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 579, ptr noundef %19706, ptr noundef %19709, ptr noundef %19712, i32 noundef %19714) #11
  br label %19716

19716:                                            ; preds = %19699, %19682
  call void @llvm.lifetime.end.p0(i64 4, ptr %389) #11
  br label %19717

19717:                                            ; preds = %19716
  br label %19718

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

19719:                                            ; No predecessors!
  br label %19720

19720:                                            ; preds = %19719
  br label %19721

19721:                                            ; preds = %19720, %19661
  br label %19722

19722:                                            ; preds = %19721
  br label %19723

19723:                                            ; preds = %19722
  br label %19724

19724:                                            ; preds = %19723
  br label %19725

19725:                                            ; preds = %19724
  br label %19726

19726:                                            ; preds = %19725
  %19727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %19727, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %19728 = call ptr @__errno_location() #12
  store i32 0, ptr %19728, align 4, !tbaa !5
  br label %19729

19729:                                            ; preds = %19726
  br label %19730

19730:                                            ; preds = %19729
  br label %19731

19731:                                            ; preds = %19730
  br label %19732

19732:                                            ; preds = %19731
  br label %19733

19733:                                            ; preds = %19732
  %19734 = load i32, ptr @test_count, align 4, !tbaa !5
  %19735 = add nsw i32 %19734, 1
  store i32 %19735, ptr @test_count, align 4, !tbaa !5
  %19736 = load ptr, ptr %360, align 8, !tbaa !9
  %19737 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %19738 = call i64 @s2n_send(ptr noundef %19736, ptr noundef %19737, i64 noundef 12, ptr noundef %369)
  %19739 = icmp eq i64 %19738, 12
  br i1 %19739, label %19793, label %19740

19740:                                            ; preds = %19733
  br label %19741

19741:                                            ; preds = %19740
  br label %19742

19742:                                            ; preds = %19741
  call void @llvm.lifetime.start.p0(i64 4, ptr %390) #11
  %19743 = call ptr @__errno_location() #12
  %19744 = load i32, ptr %19743, align 4, !tbaa !5
  store i32 %19744, ptr %390, align 4, !tbaa !5
  %19745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19746 = call i32 @s2n_print_stacktrace(ptr noundef %19745)
  %19747 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19748 = trunc i8 %19747 to i1
  br i1 %19748, label %19749, label %19771

19749:                                            ; preds = %19742
  %19750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19751 = call i32 @fileno(ptr noundef %19750) #11
  %19752 = call i32 @isatty(i32 noundef %19751) #11
  %19753 = icmp ne i32 %19752, 0
  br i1 %19753, label %19754, label %19771

19754:                                            ; preds = %19749
  %19755 = load i32, ptr %390, align 4, !tbaa !5
  %19756 = call ptr @__errno_location() #12
  store i32 %19755, ptr %19756, align 4, !tbaa !5
  %19757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19758 = load i32, ptr @test_count, align 4, !tbaa !5
  %19759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19760 = load i32, ptr %19759, align 4, !tbaa !5
  %19761 = call ptr @s2n_strerror(i32 noundef %19760, ptr noundef @.str.4)
  %19762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19763 = load i32, ptr %19762, align 4, !tbaa !5
  %19764 = call ptr @s2n_strerror_debug(i32 noundef %19763, ptr noundef @.str.4)
  %19765 = call ptr @__errno_location() #12
  %19766 = load i32, ptr %19765, align 4, !tbaa !5
  %19767 = call ptr @strerror(i32 noundef %19766) #11
  %19768 = call ptr @__errno_location() #12
  %19769 = load i32, ptr %19768, align 4, !tbaa !5
  %19770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19757, ptr noundef @.str.2, i32 noundef %19758, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 582, ptr noundef %19761, ptr noundef %19764, ptr noundef %19767, i32 noundef %19769) #11
  br label %19788

19771:                                            ; preds = %19749, %19742
  %19772 = load i32, ptr %390, align 4, !tbaa !5
  %19773 = call ptr @__errno_location() #12
  store i32 %19772, ptr %19773, align 4, !tbaa !5
  %19774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19775 = load i32, ptr @test_count, align 4, !tbaa !5
  %19776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19777 = load i32, ptr %19776, align 4, !tbaa !5
  %19778 = call ptr @s2n_strerror(i32 noundef %19777, ptr noundef @.str.4)
  %19779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19780 = load i32, ptr %19779, align 4, !tbaa !5
  %19781 = call ptr @s2n_strerror_debug(i32 noundef %19780, ptr noundef @.str.4)
  %19782 = call ptr @__errno_location() #12
  %19783 = load i32, ptr %19782, align 4, !tbaa !5
  %19784 = call ptr @strerror(i32 noundef %19783) #11
  %19785 = call ptr @__errno_location() #12
  %19786 = load i32, ptr %19785, align 4, !tbaa !5
  %19787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19774, ptr noundef @.str.5, i32 noundef %19775, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 582, ptr noundef %19778, ptr noundef %19781, ptr noundef %19784, i32 noundef %19786) #11
  br label %19788

19788:                                            ; preds = %19771, %19754
  call void @llvm.lifetime.end.p0(i64 4, ptr %390) #11
  br label %19789

19789:                                            ; preds = %19788
  br label %19790

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

19791:                                            ; No predecessors!
  br label %19792

19792:                                            ; preds = %19791
  br label %19793

19793:                                            ; preds = %19792, %19733
  br label %19794

19794:                                            ; preds = %19793
  br label %19795

19795:                                            ; preds = %19794
  br label %19796

19796:                                            ; preds = %19795
  %19797 = load i32, ptr @test_count, align 4, !tbaa !5
  %19798 = add nsw i32 %19797, 1
  store i32 %19798, ptr @test_count, align 4, !tbaa !5
  %19799 = load ptr, ptr %360, align 8, !tbaa !9
  %19800 = call i32 @s2n_connection_set_end_of_early_data(ptr noundef %19799)
  %19801 = icmp eq i32 %19800, -1
  br i1 %19801, label %19802, label %19855

19802:                                            ; preds = %19796
  br label %19803

19803:                                            ; preds = %19802
  br label %19804

19804:                                            ; preds = %19803
  call void @llvm.lifetime.start.p0(i64 4, ptr %391) #11
  %19805 = call ptr @__errno_location() #12
  %19806 = load i32, ptr %19805, align 4, !tbaa !5
  store i32 %19806, ptr %391, align 4, !tbaa !5
  %19807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19808 = call i32 @s2n_print_stacktrace(ptr noundef %19807)
  %19809 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19810 = trunc i8 %19809 to i1
  br i1 %19810, label %19811, label %19833

19811:                                            ; preds = %19804
  %19812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19813 = call i32 @fileno(ptr noundef %19812) #11
  %19814 = call i32 @isatty(i32 noundef %19813) #11
  %19815 = icmp ne i32 %19814, 0
  br i1 %19815, label %19816, label %19833

19816:                                            ; preds = %19811
  %19817 = load i32, ptr %391, align 4, !tbaa !5
  %19818 = call ptr @__errno_location() #12
  store i32 %19817, ptr %19818, align 4, !tbaa !5
  %19819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19820 = load i32, ptr @test_count, align 4, !tbaa !5
  %19821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19822 = load i32, ptr %19821, align 4, !tbaa !5
  %19823 = call ptr @s2n_strerror(i32 noundef %19822, ptr noundef @.str.4)
  %19824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19825 = load i32, ptr %19824, align 4, !tbaa !5
  %19826 = call ptr @s2n_strerror_debug(i32 noundef %19825, ptr noundef @.str.4)
  %19827 = call ptr @__errno_location() #12
  %19828 = load i32, ptr %19827, align 4, !tbaa !5
  %19829 = call ptr @strerror(i32 noundef %19828) #11
  %19830 = call ptr @__errno_location() #12
  %19831 = load i32, ptr %19830, align 4, !tbaa !5
  %19832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19819, ptr noundef @.str.2, i32 noundef %19820, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 585, ptr noundef %19823, ptr noundef %19826, ptr noundef %19829, i32 noundef %19831) #11
  br label %19850

19833:                                            ; preds = %19811, %19804
  %19834 = load i32, ptr %391, align 4, !tbaa !5
  %19835 = call ptr @__errno_location() #12
  store i32 %19834, ptr %19835, align 4, !tbaa !5
  %19836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19837 = load i32, ptr @test_count, align 4, !tbaa !5
  %19838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19839 = load i32, ptr %19838, align 4, !tbaa !5
  %19840 = call ptr @s2n_strerror(i32 noundef %19839, ptr noundef @.str.4)
  %19841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19842 = load i32, ptr %19841, align 4, !tbaa !5
  %19843 = call ptr @s2n_strerror_debug(i32 noundef %19842, ptr noundef @.str.4)
  %19844 = call ptr @__errno_location() #12
  %19845 = load i32, ptr %19844, align 4, !tbaa !5
  %19846 = call ptr @strerror(i32 noundef %19845) #11
  %19847 = call ptr @__errno_location() #12
  %19848 = load i32, ptr %19847, align 4, !tbaa !5
  %19849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19836, ptr noundef @.str.5, i32 noundef %19837, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 585, ptr noundef %19840, ptr noundef %19843, ptr noundef %19846, i32 noundef %19848) #11
  br label %19850

19850:                                            ; preds = %19833, %19816
  call void @llvm.lifetime.end.p0(i64 4, ptr %391) #11
  br label %19851

19851:                                            ; preds = %19850
  br label %19852

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

19853:                                            ; No predecessors!
  br label %19854

19854:                                            ; preds = %19853
  br label %19855

19855:                                            ; preds = %19854, %19796
  br label %19856

19856:                                            ; preds = %19855
  br label %19857

19857:                                            ; preds = %19856
  br label %19858

19858:                                            ; preds = %19857
  br label %19859

19859:                                            ; preds = %19858
  br label %19860

19860:                                            ; preds = %19859
  %19861 = load i32, ptr @test_count, align 4, !tbaa !5
  %19862 = add nsw i32 %19861, 1
  store i32 %19862, ptr @test_count, align 4, !tbaa !5
  %19863 = load ptr, ptr %360, align 8, !tbaa !9
  %19864 = call i64 @s2n_send(ptr noundef %19863, ptr noundef null, i64 noundef 0, ptr noundef %369)
  %19865 = icmp eq i64 %19864, -1
  br i1 %19865, label %19919, label %19866

19866:                                            ; preds = %19860
  br label %19867

19867:                                            ; preds = %19866
  br label %19868

19868:                                            ; preds = %19867
  call void @llvm.lifetime.start.p0(i64 4, ptr %392) #11
  %19869 = call ptr @__errno_location() #12
  %19870 = load i32, ptr %19869, align 4, !tbaa !5
  store i32 %19870, ptr %392, align 4, !tbaa !5
  %19871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19872 = call i32 @s2n_print_stacktrace(ptr noundef %19871)
  %19873 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19874 = trunc i8 %19873 to i1
  br i1 %19874, label %19875, label %19897

19875:                                            ; preds = %19868
  %19876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19877 = call i32 @fileno(ptr noundef %19876) #11
  %19878 = call i32 @isatty(i32 noundef %19877) #11
  %19879 = icmp ne i32 %19878, 0
  br i1 %19879, label %19880, label %19897

19880:                                            ; preds = %19875
  %19881 = load i32, ptr %392, align 4, !tbaa !5
  %19882 = call ptr @__errno_location() #12
  store i32 %19881, ptr %19882, align 4, !tbaa !5
  %19883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19884 = load i32, ptr @test_count, align 4, !tbaa !5
  %19885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19886 = load i32, ptr %19885, align 4, !tbaa !5
  %19887 = call ptr @s2n_strerror(i32 noundef %19886, ptr noundef @.str.4)
  %19888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19889 = load i32, ptr %19888, align 4, !tbaa !5
  %19890 = call ptr @s2n_strerror_debug(i32 noundef %19889, ptr noundef @.str.4)
  %19891 = call ptr @__errno_location() #12
  %19892 = load i32, ptr %19891, align 4, !tbaa !5
  %19893 = call ptr @strerror(i32 noundef %19892) #11
  %19894 = call ptr @__errno_location() #12
  %19895 = load i32, ptr %19894, align 4, !tbaa !5
  %19896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19883, ptr noundef @.str.2, i32 noundef %19884, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 586, ptr noundef %19887, ptr noundef %19890, ptr noundef %19893, i32 noundef %19895) #11
  br label %19914

19897:                                            ; preds = %19875, %19868
  %19898 = load i32, ptr %392, align 4, !tbaa !5
  %19899 = call ptr @__errno_location() #12
  store i32 %19898, ptr %19899, align 4, !tbaa !5
  %19900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19901 = load i32, ptr @test_count, align 4, !tbaa !5
  %19902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19903 = load i32, ptr %19902, align 4, !tbaa !5
  %19904 = call ptr @s2n_strerror(i32 noundef %19903, ptr noundef @.str.4)
  %19905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19906 = load i32, ptr %19905, align 4, !tbaa !5
  %19907 = call ptr @s2n_strerror_debug(i32 noundef %19906, ptr noundef @.str.4)
  %19908 = call ptr @__errno_location() #12
  %19909 = load i32, ptr %19908, align 4, !tbaa !5
  %19910 = call ptr @strerror(i32 noundef %19909) #11
  %19911 = call ptr @__errno_location() #12
  %19912 = load i32, ptr %19911, align 4, !tbaa !5
  %19913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19900, ptr noundef @.str.5, i32 noundef %19901, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 586, ptr noundef %19904, ptr noundef %19907, ptr noundef %19910, i32 noundef %19912) #11
  br label %19914

19914:                                            ; preds = %19897, %19880
  call void @llvm.lifetime.end.p0(i64 4, ptr %392) #11
  br label %19915

19915:                                            ; preds = %19914
  br label %19916

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

19917:                                            ; No predecessors!
  br label %19918

19918:                                            ; preds = %19917
  br label %19919

19919:                                            ; preds = %19918, %19860
  br label %19920

19920:                                            ; preds = %19919
  br label %19921

19921:                                            ; preds = %19920
  br label %19922

19922:                                            ; preds = %19921
  %19923 = load i32, ptr @test_count, align 4, !tbaa !5
  %19924 = add nsw i32 %19923, 1
  store i32 %19924, ptr @test_count, align 4, !tbaa !5
  %19925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19926 = load i32, ptr %19925, align 4, !tbaa !5
  %19927 = icmp eq i32 %19926, 469762113
  br i1 %19927, label %19981, label %19928

19928:                                            ; preds = %19922
  br label %19929

19929:                                            ; preds = %19928
  br label %19930

19930:                                            ; preds = %19929
  call void @llvm.lifetime.start.p0(i64 4, ptr %393) #11
  %19931 = call ptr @__errno_location() #12
  %19932 = load i32, ptr %19931, align 4, !tbaa !5
  store i32 %19932, ptr %393, align 4, !tbaa !5
  %19933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19934 = call i32 @s2n_print_stacktrace(ptr noundef %19933)
  %19935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19936 = trunc i8 %19935 to i1
  br i1 %19936, label %19937, label %19959

19937:                                            ; preds = %19930
  %19938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19939 = call i32 @fileno(ptr noundef %19938) #11
  %19940 = call i32 @isatty(i32 noundef %19939) #11
  %19941 = icmp ne i32 %19940, 0
  br i1 %19941, label %19942, label %19959

19942:                                            ; preds = %19937
  %19943 = load i32, ptr %393, align 4, !tbaa !5
  %19944 = call ptr @__errno_location() #12
  store i32 %19943, ptr %19944, align 4, !tbaa !5
  %19945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19946 = load i32, ptr @test_count, align 4, !tbaa !5
  %19947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19948 = load i32, ptr %19947, align 4, !tbaa !5
  %19949 = call ptr @s2n_strerror(i32 noundef %19948, ptr noundef @.str.4)
  %19950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19951 = load i32, ptr %19950, align 4, !tbaa !5
  %19952 = call ptr @s2n_strerror_debug(i32 noundef %19951, ptr noundef @.str.4)
  %19953 = call ptr @__errno_location() #12
  %19954 = load i32, ptr %19953, align 4, !tbaa !5
  %19955 = call ptr @strerror(i32 noundef %19954) #11
  %19956 = call ptr @__errno_location() #12
  %19957 = load i32, ptr %19956, align 4, !tbaa !5
  %19958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19945, ptr noundef @.str.2, i32 noundef %19946, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 586, ptr noundef %19949, ptr noundef %19952, ptr noundef %19955, i32 noundef %19957) #11
  br label %19976

19959:                                            ; preds = %19937, %19930
  %19960 = load i32, ptr %393, align 4, !tbaa !5
  %19961 = call ptr @__errno_location() #12
  store i32 %19960, ptr %19961, align 4, !tbaa !5
  %19962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19963 = load i32, ptr @test_count, align 4, !tbaa !5
  %19964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19965 = load i32, ptr %19964, align 4, !tbaa !5
  %19966 = call ptr @s2n_strerror(i32 noundef %19965, ptr noundef @.str.4)
  %19967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19968 = load i32, ptr %19967, align 4, !tbaa !5
  %19969 = call ptr @s2n_strerror_debug(i32 noundef %19968, ptr noundef @.str.4)
  %19970 = call ptr @__errno_location() #12
  %19971 = load i32, ptr %19970, align 4, !tbaa !5
  %19972 = call ptr @strerror(i32 noundef %19971) #11
  %19973 = call ptr @__errno_location() #12
  %19974 = load i32, ptr %19973, align 4, !tbaa !5
  %19975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19962, ptr noundef @.str.5, i32 noundef %19963, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 586, ptr noundef %19966, ptr noundef %19969, ptr noundef %19972, i32 noundef %19974) #11
  br label %19976

19976:                                            ; preds = %19959, %19942
  call void @llvm.lifetime.end.p0(i64 4, ptr %393) #11
  br label %19977

19977:                                            ; preds = %19976
  br label %19978

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

19979:                                            ; No predecessors!
  br label %19980

19980:                                            ; preds = %19979
  br label %19981

19981:                                            ; preds = %19980, %19922
  br label %19982

19982:                                            ; preds = %19981
  br label %19983

19983:                                            ; preds = %19982
  br label %19984

19984:                                            ; preds = %19983
  %19985 = load i32, ptr @test_count, align 4, !tbaa !5
  %19986 = add nsw i32 %19985, 1
  store i32 %19986, ptr @test_count, align 4, !tbaa !5
  %19987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19988 = load i32, ptr %19987, align 4, !tbaa !5
  %19989 = call ptr @s2n_strerror_debug(i32 noundef %19988, ptr noundef @.str.4)
  %19990 = icmp eq ptr %19989, null
  br i1 %19990, label %19991, label %20044

19991:                                            ; preds = %19984
  br label %19992

19992:                                            ; preds = %19991
  br label %19993

19993:                                            ; preds = %19992
  call void @llvm.lifetime.start.p0(i64 4, ptr %394) #11
  %19994 = call ptr @__errno_location() #12
  %19995 = load i32, ptr %19994, align 4, !tbaa !5
  store i32 %19995, ptr %394, align 4, !tbaa !5
  %19996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19997 = call i32 @s2n_print_stacktrace(ptr noundef %19996)
  %19998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19999 = trunc i8 %19998 to i1
  br i1 %19999, label %20000, label %20022

20000:                                            ; preds = %19993
  %20001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20002 = call i32 @fileno(ptr noundef %20001) #11
  %20003 = call i32 @isatty(i32 noundef %20002) #11
  %20004 = icmp ne i32 %20003, 0
  br i1 %20004, label %20005, label %20022

20005:                                            ; preds = %20000
  %20006 = load i32, ptr %394, align 4, !tbaa !5
  %20007 = call ptr @__errno_location() #12
  store i32 %20006, ptr %20007, align 4, !tbaa !5
  %20008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20009 = load i32, ptr @test_count, align 4, !tbaa !5
  %20010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20011 = load i32, ptr %20010, align 4, !tbaa !5
  %20012 = call ptr @s2n_strerror(i32 noundef %20011, ptr noundef @.str.4)
  %20013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20014 = load i32, ptr %20013, align 4, !tbaa !5
  %20015 = call ptr @s2n_strerror_debug(i32 noundef %20014, ptr noundef @.str.4)
  %20016 = call ptr @__errno_location() #12
  %20017 = load i32, ptr %20016, align 4, !tbaa !5
  %20018 = call ptr @strerror(i32 noundef %20017) #11
  %20019 = call ptr @__errno_location() #12
  %20020 = load i32, ptr %20019, align 4, !tbaa !5
  %20021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20008, ptr noundef @.str.2, i32 noundef %20009, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 586, ptr noundef %20012, ptr noundef %20015, ptr noundef %20018, i32 noundef %20020) #11
  br label %20039

20022:                                            ; preds = %20000, %19993
  %20023 = load i32, ptr %394, align 4, !tbaa !5
  %20024 = call ptr @__errno_location() #12
  store i32 %20023, ptr %20024, align 4, !tbaa !5
  %20025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20026 = load i32, ptr @test_count, align 4, !tbaa !5
  %20027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20028 = load i32, ptr %20027, align 4, !tbaa !5
  %20029 = call ptr @s2n_strerror(i32 noundef %20028, ptr noundef @.str.4)
  %20030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20031 = load i32, ptr %20030, align 4, !tbaa !5
  %20032 = call ptr @s2n_strerror_debug(i32 noundef %20031, ptr noundef @.str.4)
  %20033 = call ptr @__errno_location() #12
  %20034 = load i32, ptr %20033, align 4, !tbaa !5
  %20035 = call ptr @strerror(i32 noundef %20034) #11
  %20036 = call ptr @__errno_location() #12
  %20037 = load i32, ptr %20036, align 4, !tbaa !5
  %20038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20025, ptr noundef @.str.5, i32 noundef %20026, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 586, ptr noundef %20029, ptr noundef %20032, ptr noundef %20035, i32 noundef %20037) #11
  br label %20039

20039:                                            ; preds = %20022, %20005
  call void @llvm.lifetime.end.p0(i64 4, ptr %394) #11
  br label %20040

20040:                                            ; preds = %20039
  br label %20041

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

20042:                                            ; No predecessors!
  br label %20043

20043:                                            ; preds = %20042
  br label %20044

20044:                                            ; preds = %20043, %19984
  br label %20045

20045:                                            ; preds = %20044
  br label %20046

20046:                                            ; preds = %20045
  br label %20047

20047:                                            ; preds = %20046
  br label %20048

20048:                                            ; preds = %20047
  br label %20049

20049:                                            ; preds = %20048
  %20050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20050, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20051 = call ptr @__errno_location() #12
  store i32 0, ptr %20051, align 4, !tbaa !5
  br label %20052

20052:                                            ; preds = %20049
  br label %20053

20053:                                            ; preds = %20052
  br label %20054

20054:                                            ; preds = %20053
  br label %20055

20055:                                            ; preds = %20054
  br label %20056

20056:                                            ; preds = %20055
  br label %20057

20057:                                            ; preds = %20056
  br label %20058

20058:                                            ; preds = %20057
  %20059 = load i32, ptr @test_count, align 4, !tbaa !5
  %20060 = add nsw i32 %20059, 1
  store i32 %20060, ptr @test_count, align 4, !tbaa !5
  %20061 = load ptr, ptr %361, align 8, !tbaa !9
  %20062 = load ptr, ptr %360, align 8, !tbaa !9
  %20063 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %20061, ptr noundef %20062, i32 noundef 13)
  %20064 = getelementptr inbounds %struct.s2n_result, ptr %395, i32 0, i32 0
  store i32 %20063, ptr %20064, align 4
  %20065 = getelementptr inbounds %struct.s2n_result, ptr %395, i32 0, i32 0
  %20066 = load i32, ptr %20065, align 4
  %20067 = call zeroext i1 @s2n_result_is_error(i32 %20066)
  br i1 %20067, label %20121, label %20068

20068:                                            ; preds = %20058
  br label %20069

20069:                                            ; preds = %20068
  br label %20070

20070:                                            ; preds = %20069
  call void @llvm.lifetime.start.p0(i64 4, ptr %396) #11
  %20071 = call ptr @__errno_location() #12
  %20072 = load i32, ptr %20071, align 4, !tbaa !5
  store i32 %20072, ptr %396, align 4, !tbaa !5
  %20073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20074 = call i32 @s2n_print_stacktrace(ptr noundef %20073)
  %20075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20076 = trunc i8 %20075 to i1
  br i1 %20076, label %20077, label %20099

20077:                                            ; preds = %20070
  %20078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20079 = call i32 @fileno(ptr noundef %20078) #11
  %20080 = call i32 @isatty(i32 noundef %20079) #11
  %20081 = icmp ne i32 %20080, 0
  br i1 %20081, label %20082, label %20099

20082:                                            ; preds = %20077
  %20083 = load i32, ptr %396, align 4, !tbaa !5
  %20084 = call ptr @__errno_location() #12
  store i32 %20083, ptr %20084, align 4, !tbaa !5
  %20085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20086 = load i32, ptr @test_count, align 4, !tbaa !5
  %20087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20088 = load i32, ptr %20087, align 4, !tbaa !5
  %20089 = call ptr @s2n_strerror(i32 noundef %20088, ptr noundef @.str.4)
  %20090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20091 = load i32, ptr %20090, align 4, !tbaa !5
  %20092 = call ptr @s2n_strerror_debug(i32 noundef %20091, ptr noundef @.str.4)
  %20093 = call ptr @__errno_location() #12
  %20094 = load i32, ptr %20093, align 4, !tbaa !5
  %20095 = call ptr @strerror(i32 noundef %20094) #11
  %20096 = call ptr @__errno_location() #12
  %20097 = load i32, ptr %20096, align 4, !tbaa !5
  %20098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20085, ptr noundef @.str.2, i32 noundef %20086, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 590, ptr noundef %20089, ptr noundef %20092, ptr noundef %20095, i32 noundef %20097) #11
  br label %20116

20099:                                            ; preds = %20077, %20070
  %20100 = load i32, ptr %396, align 4, !tbaa !5
  %20101 = call ptr @__errno_location() #12
  store i32 %20100, ptr %20101, align 4, !tbaa !5
  %20102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20103 = load i32, ptr @test_count, align 4, !tbaa !5
  %20104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20105 = load i32, ptr %20104, align 4, !tbaa !5
  %20106 = call ptr @s2n_strerror(i32 noundef %20105, ptr noundef @.str.4)
  %20107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20108 = load i32, ptr %20107, align 4, !tbaa !5
  %20109 = call ptr @s2n_strerror_debug(i32 noundef %20108, ptr noundef @.str.4)
  %20110 = call ptr @__errno_location() #12
  %20111 = load i32, ptr %20110, align 4, !tbaa !5
  %20112 = call ptr @strerror(i32 noundef %20111) #11
  %20113 = call ptr @__errno_location() #12
  %20114 = load i32, ptr %20113, align 4, !tbaa !5
  %20115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20102, ptr noundef @.str.5, i32 noundef %20103, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 590, ptr noundef %20106, ptr noundef %20109, ptr noundef %20112, i32 noundef %20114) #11
  br label %20116

20116:                                            ; preds = %20099, %20082
  call void @llvm.lifetime.end.p0(i64 4, ptr %396) #11
  br label %20117

20117:                                            ; preds = %20116
  br label %20118

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

20119:                                            ; No predecessors!
  br label %20120

20120:                                            ; preds = %20119
  br label %20121

20121:                                            ; preds = %20120, %20058
  br label %20122

20122:                                            ; preds = %20121
  br label %20123

20123:                                            ; preds = %20122
  br label %20124

20124:                                            ; preds = %20123
  %20125 = load i32, ptr @test_count, align 4, !tbaa !5
  %20126 = add nsw i32 %20125, 1
  store i32 %20126, ptr @test_count, align 4, !tbaa !5
  %20127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20128 = load i32, ptr %20127, align 4, !tbaa !5
  %20129 = icmp eq i32 %20128, 201326594
  br i1 %20129, label %20183, label %20130

20130:                                            ; preds = %20124
  br label %20131

20131:                                            ; preds = %20130
  br label %20132

20132:                                            ; preds = %20131
  call void @llvm.lifetime.start.p0(i64 4, ptr %397) #11
  %20133 = call ptr @__errno_location() #12
  %20134 = load i32, ptr %20133, align 4, !tbaa !5
  store i32 %20134, ptr %397, align 4, !tbaa !5
  %20135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20136 = call i32 @s2n_print_stacktrace(ptr noundef %20135)
  %20137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20138 = trunc i8 %20137 to i1
  br i1 %20138, label %20139, label %20161

20139:                                            ; preds = %20132
  %20140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20141 = call i32 @fileno(ptr noundef %20140) #11
  %20142 = call i32 @isatty(i32 noundef %20141) #11
  %20143 = icmp ne i32 %20142, 0
  br i1 %20143, label %20144, label %20161

20144:                                            ; preds = %20139
  %20145 = load i32, ptr %397, align 4, !tbaa !5
  %20146 = call ptr @__errno_location() #12
  store i32 %20145, ptr %20146, align 4, !tbaa !5
  %20147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20148 = load i32, ptr @test_count, align 4, !tbaa !5
  %20149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20150 = load i32, ptr %20149, align 4, !tbaa !5
  %20151 = call ptr @s2n_strerror(i32 noundef %20150, ptr noundef @.str.4)
  %20152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20153 = load i32, ptr %20152, align 4, !tbaa !5
  %20154 = call ptr @s2n_strerror_debug(i32 noundef %20153, ptr noundef @.str.4)
  %20155 = call ptr @__errno_location() #12
  %20156 = load i32, ptr %20155, align 4, !tbaa !5
  %20157 = call ptr @strerror(i32 noundef %20156) #11
  %20158 = call ptr @__errno_location() #12
  %20159 = load i32, ptr %20158, align 4, !tbaa !5
  %20160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20147, ptr noundef @.str.2, i32 noundef %20148, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 590, ptr noundef %20151, ptr noundef %20154, ptr noundef %20157, i32 noundef %20159) #11
  br label %20178

20161:                                            ; preds = %20139, %20132
  %20162 = load i32, ptr %397, align 4, !tbaa !5
  %20163 = call ptr @__errno_location() #12
  store i32 %20162, ptr %20163, align 4, !tbaa !5
  %20164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20165 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %20167, ptr noundef @.str.4)
  %20169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20170 = load i32, ptr %20169, align 4, !tbaa !5
  %20171 = call ptr @s2n_strerror_debug(i32 noundef %20170, ptr noundef @.str.4)
  %20172 = call ptr @__errno_location() #12
  %20173 = load i32, ptr %20172, align 4, !tbaa !5
  %20174 = call ptr @strerror(i32 noundef %20173) #11
  %20175 = call ptr @__errno_location() #12
  %20176 = load i32, ptr %20175, align 4, !tbaa !5
  %20177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20164, ptr noundef @.str.5, i32 noundef %20165, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 590, ptr noundef %20168, ptr noundef %20171, ptr noundef %20174, i32 noundef %20176) #11
  br label %20178

20178:                                            ; preds = %20161, %20144
  call void @llvm.lifetime.end.p0(i64 4, ptr %397) #11
  br label %20179

20179:                                            ; preds = %20178
  br label %20180

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

20181:                                            ; No predecessors!
  br label %20182

20182:                                            ; preds = %20181
  br label %20183

20183:                                            ; preds = %20182, %20124
  br label %20184

20184:                                            ; preds = %20183
  br label %20185

20185:                                            ; preds = %20184
  br label %20186

20186:                                            ; preds = %20185
  %20187 = load i32, ptr @test_count, align 4, !tbaa !5
  %20188 = add nsw i32 %20187, 1
  store i32 %20188, ptr @test_count, align 4, !tbaa !5
  %20189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20190 = load i32, ptr %20189, align 4, !tbaa !5
  %20191 = call ptr @s2n_strerror_debug(i32 noundef %20190, ptr noundef @.str.4)
  %20192 = icmp eq ptr %20191, null
  br i1 %20192, label %20193, label %20246

20193:                                            ; preds = %20186
  br label %20194

20194:                                            ; preds = %20193
  br label %20195

20195:                                            ; preds = %20194
  call void @llvm.lifetime.start.p0(i64 4, ptr %398) #11
  %20196 = call ptr @__errno_location() #12
  %20197 = load i32, ptr %20196, align 4, !tbaa !5
  store i32 %20197, ptr %398, align 4, !tbaa !5
  %20198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20199 = call i32 @s2n_print_stacktrace(ptr noundef %20198)
  %20200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20201 = trunc i8 %20200 to i1
  br i1 %20201, label %20202, label %20224

20202:                                            ; preds = %20195
  %20203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20204 = call i32 @fileno(ptr noundef %20203) #11
  %20205 = call i32 @isatty(i32 noundef %20204) #11
  %20206 = icmp ne i32 %20205, 0
  br i1 %20206, label %20207, label %20224

20207:                                            ; preds = %20202
  %20208 = load i32, ptr %398, align 4, !tbaa !5
  %20209 = call ptr @__errno_location() #12
  store i32 %20208, ptr %20209, align 4, !tbaa !5
  %20210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20211 = load i32, ptr @test_count, align 4, !tbaa !5
  %20212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20213 = load i32, ptr %20212, align 4, !tbaa !5
  %20214 = call ptr @s2n_strerror(i32 noundef %20213, ptr noundef @.str.4)
  %20215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20216 = load i32, ptr %20215, align 4, !tbaa !5
  %20217 = call ptr @s2n_strerror_debug(i32 noundef %20216, ptr noundef @.str.4)
  %20218 = call ptr @__errno_location() #12
  %20219 = load i32, ptr %20218, align 4, !tbaa !5
  %20220 = call ptr @strerror(i32 noundef %20219) #11
  %20221 = call ptr @__errno_location() #12
  %20222 = load i32, ptr %20221, align 4, !tbaa !5
  %20223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20210, ptr noundef @.str.2, i32 noundef %20211, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 590, ptr noundef %20214, ptr noundef %20217, ptr noundef %20220, i32 noundef %20222) #11
  br label %20241

20224:                                            ; preds = %20202, %20195
  %20225 = load i32, ptr %398, align 4, !tbaa !5
  %20226 = call ptr @__errno_location() #12
  store i32 %20225, ptr %20226, align 4, !tbaa !5
  %20227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20228 = load i32, ptr @test_count, align 4, !tbaa !5
  %20229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20230 = load i32, ptr %20229, align 4, !tbaa !5
  %20231 = call ptr @s2n_strerror(i32 noundef %20230, ptr noundef @.str.4)
  %20232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20233 = load i32, ptr %20232, align 4, !tbaa !5
  %20234 = call ptr @s2n_strerror_debug(i32 noundef %20233, ptr noundef @.str.4)
  %20235 = call ptr @__errno_location() #12
  %20236 = load i32, ptr %20235, align 4, !tbaa !5
  %20237 = call ptr @strerror(i32 noundef %20236) #11
  %20238 = call ptr @__errno_location() #12
  %20239 = load i32, ptr %20238, align 4, !tbaa !5
  %20240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20227, ptr noundef @.str.5, i32 noundef %20228, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 590, ptr noundef %20231, ptr noundef %20234, ptr noundef %20237, i32 noundef %20239) #11
  br label %20241

20241:                                            ; preds = %20224, %20207
  call void @llvm.lifetime.end.p0(i64 4, ptr %398) #11
  br label %20242

20242:                                            ; preds = %20241
  br label %20243

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

20244:                                            ; No predecessors!
  br label %20245

20245:                                            ; preds = %20244
  br label %20246

20246:                                            ; preds = %20245, %20186
  br label %20247

20247:                                            ; preds = %20246
  br label %20248

20248:                                            ; preds = %20247
  br label %20249

20249:                                            ; preds = %20248
  br label %20250

20250:                                            ; preds = %20249
  br label %20251

20251:                                            ; preds = %20250
  %20252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20252, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20253 = call ptr @__errno_location() #12
  store i32 0, ptr %20253, align 4, !tbaa !5
  br label %20254

20254:                                            ; preds = %20251
  br label %20255

20255:                                            ; preds = %20254
  br label %20256

20256:                                            ; preds = %20255
  br label %20257

20257:                                            ; preds = %20256
  br label %20258

20258:                                            ; preds = %20257
  %20259 = load i32, ptr @test_count, align 4, !tbaa !5
  %20260 = add nsw i32 %20259, 1
  store i32 %20260, ptr @test_count, align 4, !tbaa !5
  %20261 = load ptr, ptr %360, align 8, !tbaa !9
  %20262 = call i32 @s2n_conn_get_current_message_type(ptr noundef %20261)
  %20263 = icmp eq i32 %20262, 13
  br i1 %20263, label %20317, label %20264

20264:                                            ; preds = %20258
  br label %20265

20265:                                            ; preds = %20264
  br label %20266

20266:                                            ; preds = %20265
  call void @llvm.lifetime.start.p0(i64 4, ptr %399) #11
  %20267 = call ptr @__errno_location() #12
  %20268 = load i32, ptr %20267, align 4, !tbaa !5
  store i32 %20268, ptr %399, align 4, !tbaa !5
  %20269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20270 = call i32 @s2n_print_stacktrace(ptr noundef %20269)
  %20271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20272 = trunc i8 %20271 to i1
  br i1 %20272, label %20273, label %20295

20273:                                            ; preds = %20266
  %20274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20275 = call i32 @fileno(ptr noundef %20274) #11
  %20276 = call i32 @isatty(i32 noundef %20275) #11
  %20277 = icmp ne i32 %20276, 0
  br i1 %20277, label %20278, label %20295

20278:                                            ; preds = %20273
  %20279 = load i32, ptr %399, align 4, !tbaa !5
  %20280 = call ptr @__errno_location() #12
  store i32 %20279, ptr %20280, align 4, !tbaa !5
  %20281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20282 = load i32, ptr @test_count, align 4, !tbaa !5
  %20283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20284 = load i32, ptr %20283, align 4, !tbaa !5
  %20285 = call ptr @s2n_strerror(i32 noundef %20284, ptr noundef @.str.4)
  %20286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20287 = load i32, ptr %20286, align 4, !tbaa !5
  %20288 = call ptr @s2n_strerror_debug(i32 noundef %20287, ptr noundef @.str.4)
  %20289 = call ptr @__errno_location() #12
  %20290 = load i32, ptr %20289, align 4, !tbaa !5
  %20291 = call ptr @strerror(i32 noundef %20290) #11
  %20292 = call ptr @__errno_location() #12
  %20293 = load i32, ptr %20292, align 4, !tbaa !5
  %20294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20281, ptr noundef @.str.2, i32 noundef %20282, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 591, ptr noundef %20285, ptr noundef %20288, ptr noundef %20291, i32 noundef %20293) #11
  br label %20312

20295:                                            ; preds = %20273, %20266
  %20296 = load i32, ptr %399, align 4, !tbaa !5
  %20297 = call ptr @__errno_location() #12
  store i32 %20296, ptr %20297, align 4, !tbaa !5
  %20298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20299 = load i32, ptr @test_count, align 4, !tbaa !5
  %20300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20301 = load i32, ptr %20300, align 4, !tbaa !5
  %20302 = call ptr @s2n_strerror(i32 noundef %20301, ptr noundef @.str.4)
  %20303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20304 = load i32, ptr %20303, align 4, !tbaa !5
  %20305 = call ptr @s2n_strerror_debug(i32 noundef %20304, ptr noundef @.str.4)
  %20306 = call ptr @__errno_location() #12
  %20307 = load i32, ptr %20306, align 4, !tbaa !5
  %20308 = call ptr @strerror(i32 noundef %20307) #11
  %20309 = call ptr @__errno_location() #12
  %20310 = load i32, ptr %20309, align 4, !tbaa !5
  %20311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20298, ptr noundef @.str.5, i32 noundef %20299, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 591, ptr noundef %20302, ptr noundef %20305, ptr noundef %20308, i32 noundef %20310) #11
  br label %20312

20312:                                            ; preds = %20295, %20278
  call void @llvm.lifetime.end.p0(i64 4, ptr %399) #11
  br label %20313

20313:                                            ; preds = %20312
  br label %20314

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

20315:                                            ; No predecessors!
  br label %20316

20316:                                            ; preds = %20315
  br label %20317

20317:                                            ; preds = %20316, %20258
  br label %20318

20318:                                            ; preds = %20317
  br label %20319

20319:                                            ; preds = %20318
  br label %20320

20320:                                            ; preds = %20319
  %20321 = load i32, ptr @test_count, align 4, !tbaa !5
  %20322 = add nsw i32 %20321, 1
  store i32 %20322, ptr @test_count, align 4, !tbaa !5
  %20323 = load ptr, ptr %360, align 8, !tbaa !9
  %20324 = getelementptr inbounds %struct.s2n_connection, ptr %20323, i32 0, i32 89
  %20325 = load i32, ptr %20324, align 8, !tbaa !19
  %20326 = icmp eq i32 %20325, 5
  br i1 %20326, label %20380, label %20327

20327:                                            ; preds = %20320
  br label %20328

20328:                                            ; preds = %20327
  br label %20329

20329:                                            ; preds = %20328
  call void @llvm.lifetime.start.p0(i64 4, ptr %400) #11
  %20330 = call ptr @__errno_location() #12
  %20331 = load i32, ptr %20330, align 4, !tbaa !5
  store i32 %20331, ptr %400, align 4, !tbaa !5
  %20332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20333 = call i32 @s2n_print_stacktrace(ptr noundef %20332)
  %20334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20335 = trunc i8 %20334 to i1
  br i1 %20335, label %20336, label %20358

20336:                                            ; preds = %20329
  %20337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20338 = call i32 @fileno(ptr noundef %20337) #11
  %20339 = call i32 @isatty(i32 noundef %20338) #11
  %20340 = icmp ne i32 %20339, 0
  br i1 %20340, label %20341, label %20358

20341:                                            ; preds = %20336
  %20342 = load i32, ptr %400, align 4, !tbaa !5
  %20343 = call ptr @__errno_location() #12
  store i32 %20342, ptr %20343, align 4, !tbaa !5
  %20344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20345 = load i32, ptr @test_count, align 4, !tbaa !5
  %20346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20347 = load i32, ptr %20346, align 4, !tbaa !5
  %20348 = call ptr @s2n_strerror(i32 noundef %20347, ptr noundef @.str.4)
  %20349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20350 = load i32, ptr %20349, align 4, !tbaa !5
  %20351 = call ptr @s2n_strerror_debug(i32 noundef %20350, ptr noundef @.str.4)
  %20352 = call ptr @__errno_location() #12
  %20353 = load i32, ptr %20352, align 4, !tbaa !5
  %20354 = call ptr @strerror(i32 noundef %20353) #11
  %20355 = call ptr @__errno_location() #12
  %20356 = load i32, ptr %20355, align 4, !tbaa !5
  %20357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20344, ptr noundef @.str.2, i32 noundef %20345, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 594, ptr noundef %20348, ptr noundef %20351, ptr noundef %20354, i32 noundef %20356) #11
  br label %20375

20358:                                            ; preds = %20336, %20329
  %20359 = load i32, ptr %400, align 4, !tbaa !5
  %20360 = call ptr @__errno_location() #12
  store i32 %20359, ptr %20360, align 4, !tbaa !5
  %20361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20362 = load i32, ptr @test_count, align 4, !tbaa !5
  %20363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20364 = load i32, ptr %20363, align 4, !tbaa !5
  %20365 = call ptr @s2n_strerror(i32 noundef %20364, ptr noundef @.str.4)
  %20366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20367 = load i32, ptr %20366, align 4, !tbaa !5
  %20368 = call ptr @s2n_strerror_debug(i32 noundef %20367, ptr noundef @.str.4)
  %20369 = call ptr @__errno_location() #12
  %20370 = load i32, ptr %20369, align 4, !tbaa !5
  %20371 = call ptr @strerror(i32 noundef %20370) #11
  %20372 = call ptr @__errno_location() #12
  %20373 = load i32, ptr %20372, align 4, !tbaa !5
  %20374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20361, ptr noundef @.str.5, i32 noundef %20362, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 594, ptr noundef %20365, ptr noundef %20368, ptr noundef %20371, i32 noundef %20373) #11
  br label %20375

20375:                                            ; preds = %20358, %20341
  call void @llvm.lifetime.end.p0(i64 4, ptr %400) #11
  br label %20376

20376:                                            ; preds = %20375
  br label %20377

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

20378:                                            ; No predecessors!
  br label %20379

20379:                                            ; preds = %20378
  br label %20380

20380:                                            ; preds = %20379, %20320
  br label %20381

20381:                                            ; preds = %20380
  br label %20382

20382:                                            ; preds = %20381
  br label %20383

20383:                                            ; preds = %20382
  br label %20384

20384:                                            ; preds = %20383
  br label %20385

20385:                                            ; preds = %20384
  %20386 = load i32, ptr @test_count, align 4, !tbaa !5
  %20387 = add nsw i32 %20386, 1
  store i32 %20387, ptr @test_count, align 4, !tbaa !5
  %20388 = load ptr, ptr %360, align 8, !tbaa !9
  %20389 = call i64 @s2n_send(ptr noundef %20388, ptr noundef null, i64 noundef 0, ptr noundef %369)
  %20390 = icmp eq i64 %20389, -1
  br i1 %20390, label %20444, label %20391

20391:                                            ; preds = %20385
  br label %20392

20392:                                            ; preds = %20391
  br label %20393

20393:                                            ; preds = %20392
  call void @llvm.lifetime.start.p0(i64 4, ptr %401) #11
  %20394 = call ptr @__errno_location() #12
  %20395 = load i32, ptr %20394, align 4, !tbaa !5
  store i32 %20395, ptr %401, align 4, !tbaa !5
  %20396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20397 = call i32 @s2n_print_stacktrace(ptr noundef %20396)
  %20398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20399 = trunc i8 %20398 to i1
  br i1 %20399, label %20400, label %20422

20400:                                            ; preds = %20393
  %20401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20402 = call i32 @fileno(ptr noundef %20401) #11
  %20403 = call i32 @isatty(i32 noundef %20402) #11
  %20404 = icmp ne i32 %20403, 0
  br i1 %20404, label %20405, label %20422

20405:                                            ; preds = %20400
  %20406 = load i32, ptr %401, align 4, !tbaa !5
  %20407 = call ptr @__errno_location() #12
  store i32 %20406, ptr %20407, align 4, !tbaa !5
  %20408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20409 = load i32, ptr @test_count, align 4, !tbaa !5
  %20410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20411 = load i32, ptr %20410, align 4, !tbaa !5
  %20412 = call ptr @s2n_strerror(i32 noundef %20411, ptr noundef @.str.4)
  %20413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20414 = load i32, ptr %20413, align 4, !tbaa !5
  %20415 = call ptr @s2n_strerror_debug(i32 noundef %20414, ptr noundef @.str.4)
  %20416 = call ptr @__errno_location() #12
  %20417 = load i32, ptr %20416, align 4, !tbaa !5
  %20418 = call ptr @strerror(i32 noundef %20417) #11
  %20419 = call ptr @__errno_location() #12
  %20420 = load i32, ptr %20419, align 4, !tbaa !5
  %20421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20408, ptr noundef @.str.2, i32 noundef %20409, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 595, ptr noundef %20412, ptr noundef %20415, ptr noundef %20418, i32 noundef %20420) #11
  br label %20439

20422:                                            ; preds = %20400, %20393
  %20423 = load i32, ptr %401, align 4, !tbaa !5
  %20424 = call ptr @__errno_location() #12
  store i32 %20423, ptr %20424, align 4, !tbaa !5
  %20425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20426 = load i32, ptr @test_count, align 4, !tbaa !5
  %20427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20428 = load i32, ptr %20427, align 4, !tbaa !5
  %20429 = call ptr @s2n_strerror(i32 noundef %20428, ptr noundef @.str.4)
  %20430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20431 = load i32, ptr %20430, align 4, !tbaa !5
  %20432 = call ptr @s2n_strerror_debug(i32 noundef %20431, ptr noundef @.str.4)
  %20433 = call ptr @__errno_location() #12
  %20434 = load i32, ptr %20433, align 4, !tbaa !5
  %20435 = call ptr @strerror(i32 noundef %20434) #11
  %20436 = call ptr @__errno_location() #12
  %20437 = load i32, ptr %20436, align 4, !tbaa !5
  %20438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20425, ptr noundef @.str.5, i32 noundef %20426, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 595, ptr noundef %20429, ptr noundef %20432, ptr noundef %20435, i32 noundef %20437) #11
  br label %20439

20439:                                            ; preds = %20422, %20405
  call void @llvm.lifetime.end.p0(i64 4, ptr %401) #11
  br label %20440

20440:                                            ; preds = %20439
  br label %20441

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

20442:                                            ; No predecessors!
  br label %20443

20443:                                            ; preds = %20442
  br label %20444

20444:                                            ; preds = %20443, %20385
  br label %20445

20445:                                            ; preds = %20444
  br label %20446

20446:                                            ; preds = %20445
  br label %20447

20447:                                            ; preds = %20446
  %20448 = load i32, ptr @test_count, align 4, !tbaa !5
  %20449 = add nsw i32 %20448, 1
  store i32 %20449, ptr @test_count, align 4, !tbaa !5
  %20450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20451 = load i32, ptr %20450, align 4, !tbaa !5
  %20452 = icmp eq i32 %20451, 469762113
  br i1 %20452, label %20506, label %20453

20453:                                            ; preds = %20447
  br label %20454

20454:                                            ; preds = %20453
  br label %20455

20455:                                            ; preds = %20454
  call void @llvm.lifetime.start.p0(i64 4, ptr %402) #11
  %20456 = call ptr @__errno_location() #12
  %20457 = load i32, ptr %20456, align 4, !tbaa !5
  store i32 %20457, ptr %402, align 4, !tbaa !5
  %20458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20459 = call i32 @s2n_print_stacktrace(ptr noundef %20458)
  %20460 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20461 = trunc i8 %20460 to i1
  br i1 %20461, label %20462, label %20484

20462:                                            ; preds = %20455
  %20463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20464 = call i32 @fileno(ptr noundef %20463) #11
  %20465 = call i32 @isatty(i32 noundef %20464) #11
  %20466 = icmp ne i32 %20465, 0
  br i1 %20466, label %20467, label %20484

20467:                                            ; preds = %20462
  %20468 = load i32, ptr %402, align 4, !tbaa !5
  %20469 = call ptr @__errno_location() #12
  store i32 %20468, ptr %20469, align 4, !tbaa !5
  %20470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20471 = load i32, ptr @test_count, align 4, !tbaa !5
  %20472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20473 = load i32, ptr %20472, align 4, !tbaa !5
  %20474 = call ptr @s2n_strerror(i32 noundef %20473, ptr noundef @.str.4)
  %20475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20476 = load i32, ptr %20475, align 4, !tbaa !5
  %20477 = call ptr @s2n_strerror_debug(i32 noundef %20476, ptr noundef @.str.4)
  %20478 = call ptr @__errno_location() #12
  %20479 = load i32, ptr %20478, align 4, !tbaa !5
  %20480 = call ptr @strerror(i32 noundef %20479) #11
  %20481 = call ptr @__errno_location() #12
  %20482 = load i32, ptr %20481, align 4, !tbaa !5
  %20483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20470, ptr noundef @.str.2, i32 noundef %20471, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 595, ptr noundef %20474, ptr noundef %20477, ptr noundef %20480, i32 noundef %20482) #11
  br label %20501

20484:                                            ; preds = %20462, %20455
  %20485 = load i32, ptr %402, align 4, !tbaa !5
  %20486 = call ptr @__errno_location() #12
  store i32 %20485, ptr %20486, align 4, !tbaa !5
  %20487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20488 = load i32, ptr @test_count, align 4, !tbaa !5
  %20489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20490 = load i32, ptr %20489, align 4, !tbaa !5
  %20491 = call ptr @s2n_strerror(i32 noundef %20490, ptr noundef @.str.4)
  %20492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20493 = load i32, ptr %20492, align 4, !tbaa !5
  %20494 = call ptr @s2n_strerror_debug(i32 noundef %20493, ptr noundef @.str.4)
  %20495 = call ptr @__errno_location() #12
  %20496 = load i32, ptr %20495, align 4, !tbaa !5
  %20497 = call ptr @strerror(i32 noundef %20496) #11
  %20498 = call ptr @__errno_location() #12
  %20499 = load i32, ptr %20498, align 4, !tbaa !5
  %20500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20487, ptr noundef @.str.5, i32 noundef %20488, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 595, ptr noundef %20491, ptr noundef %20494, ptr noundef %20497, i32 noundef %20499) #11
  br label %20501

20501:                                            ; preds = %20484, %20467
  call void @llvm.lifetime.end.p0(i64 4, ptr %402) #11
  br label %20502

20502:                                            ; preds = %20501
  br label %20503

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

20504:                                            ; No predecessors!
  br label %20505

20505:                                            ; preds = %20504
  br label %20506

20506:                                            ; preds = %20505, %20447
  br label %20507

20507:                                            ; preds = %20506
  br label %20508

20508:                                            ; preds = %20507
  br label %20509

20509:                                            ; preds = %20508
  %20510 = load i32, ptr @test_count, align 4, !tbaa !5
  %20511 = add nsw i32 %20510, 1
  store i32 %20511, ptr @test_count, align 4, !tbaa !5
  %20512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20513 = load i32, ptr %20512, align 4, !tbaa !5
  %20514 = call ptr @s2n_strerror_debug(i32 noundef %20513, ptr noundef @.str.4)
  %20515 = icmp eq ptr %20514, null
  br i1 %20515, label %20516, label %20569

20516:                                            ; preds = %20509
  br label %20517

20517:                                            ; preds = %20516
  br label %20518

20518:                                            ; preds = %20517
  call void @llvm.lifetime.start.p0(i64 4, ptr %403) #11
  %20519 = call ptr @__errno_location() #12
  %20520 = load i32, ptr %20519, align 4, !tbaa !5
  store i32 %20520, ptr %403, align 4, !tbaa !5
  %20521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20522 = call i32 @s2n_print_stacktrace(ptr noundef %20521)
  %20523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20524 = trunc i8 %20523 to i1
  br i1 %20524, label %20525, label %20547

20525:                                            ; preds = %20518
  %20526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20527 = call i32 @fileno(ptr noundef %20526) #11
  %20528 = call i32 @isatty(i32 noundef %20527) #11
  %20529 = icmp ne i32 %20528, 0
  br i1 %20529, label %20530, label %20547

20530:                                            ; preds = %20525
  %20531 = load i32, ptr %403, align 4, !tbaa !5
  %20532 = call ptr @__errno_location() #12
  store i32 %20531, ptr %20532, align 4, !tbaa !5
  %20533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20534 = load i32, ptr @test_count, align 4, !tbaa !5
  %20535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20536 = load i32, ptr %20535, align 4, !tbaa !5
  %20537 = call ptr @s2n_strerror(i32 noundef %20536, ptr noundef @.str.4)
  %20538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20539 = load i32, ptr %20538, align 4, !tbaa !5
  %20540 = call ptr @s2n_strerror_debug(i32 noundef %20539, ptr noundef @.str.4)
  %20541 = call ptr @__errno_location() #12
  %20542 = load i32, ptr %20541, align 4, !tbaa !5
  %20543 = call ptr @strerror(i32 noundef %20542) #11
  %20544 = call ptr @__errno_location() #12
  %20545 = load i32, ptr %20544, align 4, !tbaa !5
  %20546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20533, ptr noundef @.str.2, i32 noundef %20534, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 595, ptr noundef %20537, ptr noundef %20540, ptr noundef %20543, i32 noundef %20545) #11
  br label %20564

20547:                                            ; preds = %20525, %20518
  %20548 = load i32, ptr %403, align 4, !tbaa !5
  %20549 = call ptr @__errno_location() #12
  store i32 %20548, ptr %20549, align 4, !tbaa !5
  %20550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20551 = load i32, ptr @test_count, align 4, !tbaa !5
  %20552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20553 = load i32, ptr %20552, align 4, !tbaa !5
  %20554 = call ptr @s2n_strerror(i32 noundef %20553, ptr noundef @.str.4)
  %20555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20556 = load i32, ptr %20555, align 4, !tbaa !5
  %20557 = call ptr @s2n_strerror_debug(i32 noundef %20556, ptr noundef @.str.4)
  %20558 = call ptr @__errno_location() #12
  %20559 = load i32, ptr %20558, align 4, !tbaa !5
  %20560 = call ptr @strerror(i32 noundef %20559) #11
  %20561 = call ptr @__errno_location() #12
  %20562 = load i32, ptr %20561, align 4, !tbaa !5
  %20563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20550, ptr noundef @.str.5, i32 noundef %20551, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 595, ptr noundef %20554, ptr noundef %20557, ptr noundef %20560, i32 noundef %20562) #11
  br label %20564

20564:                                            ; preds = %20547, %20530
  call void @llvm.lifetime.end.p0(i64 4, ptr %403) #11
  br label %20565

20565:                                            ; preds = %20564
  br label %20566

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

20567:                                            ; No predecessors!
  br label %20568

20568:                                            ; preds = %20567
  br label %20569

20569:                                            ; preds = %20568, %20509
  br label %20570

20570:                                            ; preds = %20569
  br label %20571

20571:                                            ; preds = %20570
  br label %20572

20572:                                            ; preds = %20571
  br label %20573

20573:                                            ; preds = %20572
  br label %20574

20574:                                            ; preds = %20573
  %20575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20575, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20576 = call ptr @__errno_location() #12
  store i32 0, ptr %20576, align 4, !tbaa !5
  br label %20577

20577:                                            ; preds = %20574
  br label %20578

20578:                                            ; preds = %20577
  br label %20579

20579:                                            ; preds = %20578
  br label %20580

20580:                                            ; preds = %20579
  br label %20581

20581:                                            ; preds = %20580
  %20582 = load i32, ptr @test_count, align 4, !tbaa !5
  %20583 = add nsw i32 %20582, 1
  store i32 %20583, ptr @test_count, align 4, !tbaa !5
  %20584 = load ptr, ptr %360, align 8, !tbaa !9
  %20585 = call i32 @s2n_connection_free(ptr noundef %20584)
  %20586 = icmp eq i32 %20585, -1
  br i1 %20586, label %20587, label %20640

20587:                                            ; preds = %20581
  br label %20588

20588:                                            ; preds = %20587
  br label %20589

20589:                                            ; preds = %20588
  call void @llvm.lifetime.start.p0(i64 4, ptr %404) #11
  %20590 = call ptr @__errno_location() #12
  %20591 = load i32, ptr %20590, align 4, !tbaa !5
  store i32 %20591, ptr %404, align 4, !tbaa !5
  %20592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20593 = call i32 @s2n_print_stacktrace(ptr noundef %20592)
  %20594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20595 = trunc i8 %20594 to i1
  br i1 %20595, label %20596, label %20618

20596:                                            ; preds = %20589
  %20597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20598 = call i32 @fileno(ptr noundef %20597) #11
  %20599 = call i32 @isatty(i32 noundef %20598) #11
  %20600 = icmp ne i32 %20599, 0
  br i1 %20600, label %20601, label %20618

20601:                                            ; preds = %20596
  %20602 = load i32, ptr %404, align 4, !tbaa !5
  %20603 = call ptr @__errno_location() #12
  store i32 %20602, ptr %20603, align 4, !tbaa !5
  %20604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20605 = load i32, ptr @test_count, align 4, !tbaa !5
  %20606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20607 = load i32, ptr %20606, align 4, !tbaa !5
  %20608 = call ptr @s2n_strerror(i32 noundef %20607, ptr noundef @.str.4)
  %20609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20610 = load i32, ptr %20609, align 4, !tbaa !5
  %20611 = call ptr @s2n_strerror_debug(i32 noundef %20610, ptr noundef @.str.4)
  %20612 = call ptr @__errno_location() #12
  %20613 = load i32, ptr %20612, align 4, !tbaa !5
  %20614 = call ptr @strerror(i32 noundef %20613) #11
  %20615 = call ptr @__errno_location() #12
  %20616 = load i32, ptr %20615, align 4, !tbaa !5
  %20617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20604, ptr noundef @.str.2, i32 noundef %20605, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 597, ptr noundef %20608, ptr noundef %20611, ptr noundef %20614, i32 noundef %20616) #11
  br label %20635

20618:                                            ; preds = %20596, %20589
  %20619 = load i32, ptr %404, align 4, !tbaa !5
  %20620 = call ptr @__errno_location() #12
  store i32 %20619, ptr %20620, align 4, !tbaa !5
  %20621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20622 = load i32, ptr @test_count, align 4, !tbaa !5
  %20623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20624 = load i32, ptr %20623, align 4, !tbaa !5
  %20625 = call ptr @s2n_strerror(i32 noundef %20624, ptr noundef @.str.4)
  %20626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20627 = load i32, ptr %20626, align 4, !tbaa !5
  %20628 = call ptr @s2n_strerror_debug(i32 noundef %20627, ptr noundef @.str.4)
  %20629 = call ptr @__errno_location() #12
  %20630 = load i32, ptr %20629, align 4, !tbaa !5
  %20631 = call ptr @strerror(i32 noundef %20630) #11
  %20632 = call ptr @__errno_location() #12
  %20633 = load i32, ptr %20632, align 4, !tbaa !5
  %20634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20621, ptr noundef @.str.5, i32 noundef %20622, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 597, ptr noundef %20625, ptr noundef %20628, ptr noundef %20631, i32 noundef %20633) #11
  br label %20635

20635:                                            ; preds = %20618, %20601
  call void @llvm.lifetime.end.p0(i64 4, ptr %404) #11
  br label %20636

20636:                                            ; preds = %20635
  br label %20637

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

20638:                                            ; No predecessors!
  br label %20639

20639:                                            ; preds = %20638
  br label %20640

20640:                                            ; preds = %20639, %20581
  br label %20641

20641:                                            ; preds = %20640
  br label %20642

20642:                                            ; preds = %20641
  br label %20643

20643:                                            ; preds = %20642
  %20644 = load i32, ptr @test_count, align 4, !tbaa !5
  %20645 = add nsw i32 %20644, 1
  store i32 %20645, ptr @test_count, align 4, !tbaa !5
  %20646 = load ptr, ptr %361, align 8, !tbaa !9
  %20647 = call i32 @s2n_connection_free(ptr noundef %20646)
  %20648 = icmp eq i32 %20647, -1
  br i1 %20648, label %20649, label %20702

20649:                                            ; preds = %20643
  br label %20650

20650:                                            ; preds = %20649
  br label %20651

20651:                                            ; preds = %20650
  call void @llvm.lifetime.start.p0(i64 4, ptr %405) #11
  %20652 = call ptr @__errno_location() #12
  %20653 = load i32, ptr %20652, align 4, !tbaa !5
  store i32 %20653, ptr %405, align 4, !tbaa !5
  %20654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20655 = call i32 @s2n_print_stacktrace(ptr noundef %20654)
  %20656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20657 = trunc i8 %20656 to i1
  br i1 %20657, label %20658, label %20680

20658:                                            ; preds = %20651
  %20659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20660 = call i32 @fileno(ptr noundef %20659) #11
  %20661 = call i32 @isatty(i32 noundef %20660) #11
  %20662 = icmp ne i32 %20661, 0
  br i1 %20662, label %20663, label %20680

20663:                                            ; preds = %20658
  %20664 = load i32, ptr %405, align 4, !tbaa !5
  %20665 = call ptr @__errno_location() #12
  store i32 %20664, ptr %20665, align 4, !tbaa !5
  %20666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20667 = load i32, ptr @test_count, align 4, !tbaa !5
  %20668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20669 = load i32, ptr %20668, align 4, !tbaa !5
  %20670 = call ptr @s2n_strerror(i32 noundef %20669, ptr noundef @.str.4)
  %20671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20672 = load i32, ptr %20671, align 4, !tbaa !5
  %20673 = call ptr @s2n_strerror_debug(i32 noundef %20672, ptr noundef @.str.4)
  %20674 = call ptr @__errno_location() #12
  %20675 = load i32, ptr %20674, align 4, !tbaa !5
  %20676 = call ptr @strerror(i32 noundef %20675) #11
  %20677 = call ptr @__errno_location() #12
  %20678 = load i32, ptr %20677, align 4, !tbaa !5
  %20679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20666, ptr noundef @.str.2, i32 noundef %20667, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 598, ptr noundef %20670, ptr noundef %20673, ptr noundef %20676, i32 noundef %20678) #11
  br label %20697

20680:                                            ; preds = %20658, %20651
  %20681 = load i32, ptr %405, align 4, !tbaa !5
  %20682 = call ptr @__errno_location() #12
  store i32 %20681, ptr %20682, align 4, !tbaa !5
  %20683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20684 = load i32, ptr @test_count, align 4, !tbaa !5
  %20685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20686 = load i32, ptr %20685, align 4, !tbaa !5
  %20687 = call ptr @s2n_strerror(i32 noundef %20686, ptr noundef @.str.4)
  %20688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20689 = load i32, ptr %20688, align 4, !tbaa !5
  %20690 = call ptr @s2n_strerror_debug(i32 noundef %20689, ptr noundef @.str.4)
  %20691 = call ptr @__errno_location() #12
  %20692 = load i32, ptr %20691, align 4, !tbaa !5
  %20693 = call ptr @strerror(i32 noundef %20692) #11
  %20694 = call ptr @__errno_location() #12
  %20695 = load i32, ptr %20694, align 4, !tbaa !5
  %20696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20683, ptr noundef @.str.5, i32 noundef %20684, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 598, ptr noundef %20687, ptr noundef %20690, ptr noundef %20693, i32 noundef %20695) #11
  br label %20697

20697:                                            ; preds = %20680, %20663
  call void @llvm.lifetime.end.p0(i64 4, ptr %405) #11
  br label %20698

20698:                                            ; preds = %20697
  br label %20699

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

20700:                                            ; No predecessors!
  br label %20701

20701:                                            ; preds = %20700
  br label %20702

20702:                                            ; preds = %20701, %20643
  br label %20703

20703:                                            ; preds = %20702
  br label %20704

20704:                                            ; preds = %20703
  call void @llvm.lifetime.end.p0(i64 4, ptr %369) #11
  %20705 = call i32 @s2n_io_pair_close(ptr noundef %362)
  call void @llvm.lifetime.end.p0(i64 8, ptr %362) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %361) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %360) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %406) #11
  store ptr null, ptr %406, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %407) #11
  store ptr null, ptr %407, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %408) #11
  call void @llvm.memset.p0.i64(ptr align 4 %408, i8 0, i64 8, i1 false)
  br label %20706

20706:                                            ; preds = %20704
  %20707 = load i32, ptr @test_count, align 4, !tbaa !5
  %20708 = add nsw i32 %20707, 1
  store i32 %20708, ptr @test_count, align 4, !tbaa !5
  %20709 = call i32 @s2n_test_client_and_server_new(ptr noundef %406, ptr noundef %407, ptr noundef %408)
  %20710 = getelementptr inbounds %struct.s2n_result, ptr %409, i32 0, i32 0
  store i32 %20709, ptr %20710, align 4
  %20711 = getelementptr inbounds %struct.s2n_result, ptr %409, i32 0, i32 0
  %20712 = load i32, ptr %20711, align 4
  %20713 = call zeroext i1 @s2n_result_is_ok(i32 %20712)
  br i1 %20713, label %20767, label %20714

20714:                                            ; preds = %20706
  br label %20715

20715:                                            ; preds = %20714
  br label %20716

20716:                                            ; preds = %20715
  call void @llvm.lifetime.start.p0(i64 4, ptr %410) #11
  %20717 = call ptr @__errno_location() #12
  %20718 = load i32, ptr %20717, align 4, !tbaa !5
  store i32 %20718, ptr %410, align 4, !tbaa !5
  %20719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20720 = call i32 @s2n_print_stacktrace(ptr noundef %20719)
  %20721 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20722 = trunc i8 %20721 to i1
  br i1 %20722, label %20723, label %20745

20723:                                            ; preds = %20716
  %20724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20725 = call i32 @fileno(ptr noundef %20724) #11
  %20726 = call i32 @isatty(i32 noundef %20725) #11
  %20727 = icmp ne i32 %20726, 0
  br i1 %20727, label %20728, label %20745

20728:                                            ; preds = %20723
  %20729 = load i32, ptr %410, align 4, !tbaa !5
  %20730 = call ptr @__errno_location() #12
  store i32 %20729, ptr %20730, align 4, !tbaa !5
  %20731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20732 = load i32, ptr @test_count, align 4, !tbaa !5
  %20733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20734 = load i32, ptr %20733, align 4, !tbaa !5
  %20735 = call ptr @s2n_strerror(i32 noundef %20734, ptr noundef @.str.4)
  %20736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20737 = load i32, ptr %20736, align 4, !tbaa !5
  %20738 = call ptr @s2n_strerror_debug(i32 noundef %20737, ptr noundef @.str.4)
  %20739 = call ptr @__errno_location() #12
  %20740 = load i32, ptr %20739, align 4, !tbaa !5
  %20741 = call ptr @strerror(i32 noundef %20740) #11
  %20742 = call ptr @__errno_location() #12
  %20743 = load i32, ptr %20742, align 4, !tbaa !5
  %20744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20731, ptr noundef @.str.2, i32 noundef %20732, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 605, ptr noundef %20735, ptr noundef %20738, ptr noundef %20741, i32 noundef %20743) #11
  br label %20762

20745:                                            ; preds = %20723, %20716
  %20746 = load i32, ptr %410, align 4, !tbaa !5
  %20747 = call ptr @__errno_location() #12
  store i32 %20746, ptr %20747, align 4, !tbaa !5
  %20748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20749 = load i32, ptr @test_count, align 4, !tbaa !5
  %20750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20751 = load i32, ptr %20750, align 4, !tbaa !5
  %20752 = call ptr @s2n_strerror(i32 noundef %20751, ptr noundef @.str.4)
  %20753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20754 = load i32, ptr %20753, align 4, !tbaa !5
  %20755 = call ptr @s2n_strerror_debug(i32 noundef %20754, ptr noundef @.str.4)
  %20756 = call ptr @__errno_location() #12
  %20757 = load i32, ptr %20756, align 4, !tbaa !5
  %20758 = call ptr @strerror(i32 noundef %20757) #11
  %20759 = call ptr @__errno_location() #12
  %20760 = load i32, ptr %20759, align 4, !tbaa !5
  %20761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20748, ptr noundef @.str.5, i32 noundef %20749, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 605, ptr noundef %20752, ptr noundef %20755, ptr noundef %20758, i32 noundef %20760) #11
  br label %20762

20762:                                            ; preds = %20745, %20728
  call void @llvm.lifetime.end.p0(i64 4, ptr %410) #11
  br label %20763

20763:                                            ; preds = %20762
  br label %20764

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

20765:                                            ; No predecessors!
  br label %20766

20766:                                            ; preds = %20765
  br label %20767

20767:                                            ; preds = %20766, %20706
  br label %20768

20768:                                            ; preds = %20767
  br label %20769

20769:                                            ; preds = %20768
  br label %20770

20770:                                            ; preds = %20769
  %20771 = load i32, ptr @test_count, align 4, !tbaa !5
  %20772 = add nsw i32 %20771, 1
  store i32 %20772, ptr @test_count, align 4, !tbaa !5
  %20773 = load ptr, ptr %406, align 8, !tbaa !9
  %20774 = load ptr, ptr %12, align 8, !tbaa !9
  %20775 = call i32 @s2n_connection_append_psk(ptr noundef %20773, ptr noundef %20774)
  %20776 = icmp eq i32 %20775, -1
  br i1 %20776, label %20777, label %20830

20777:                                            ; preds = %20770
  br label %20778

20778:                                            ; preds = %20777
  br label %20779

20779:                                            ; preds = %20778
  call void @llvm.lifetime.start.p0(i64 4, ptr %411) #11
  %20780 = call ptr @__errno_location() #12
  %20781 = load i32, ptr %20780, align 4, !tbaa !5
  store i32 %20781, ptr %411, align 4, !tbaa !5
  %20782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20783 = call i32 @s2n_print_stacktrace(ptr noundef %20782)
  %20784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20785 = trunc i8 %20784 to i1
  br i1 %20785, label %20786, label %20808

20786:                                            ; preds = %20779
  %20787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20788 = call i32 @fileno(ptr noundef %20787) #11
  %20789 = call i32 @isatty(i32 noundef %20788) #11
  %20790 = icmp ne i32 %20789, 0
  br i1 %20790, label %20791, label %20808

20791:                                            ; preds = %20786
  %20792 = load i32, ptr %411, align 4, !tbaa !5
  %20793 = call ptr @__errno_location() #12
  store i32 %20792, ptr %20793, align 4, !tbaa !5
  %20794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20795 = load i32, ptr @test_count, align 4, !tbaa !5
  %20796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20797 = load i32, ptr %20796, align 4, !tbaa !5
  %20798 = call ptr @s2n_strerror(i32 noundef %20797, ptr noundef @.str.4)
  %20799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20800 = load i32, ptr %20799, align 4, !tbaa !5
  %20801 = call ptr @s2n_strerror_debug(i32 noundef %20800, ptr noundef @.str.4)
  %20802 = call ptr @__errno_location() #12
  %20803 = load i32, ptr %20802, align 4, !tbaa !5
  %20804 = call ptr @strerror(i32 noundef %20803) #11
  %20805 = call ptr @__errno_location() #12
  %20806 = load i32, ptr %20805, align 4, !tbaa !5
  %20807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20794, ptr noundef @.str.2, i32 noundef %20795, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 607, ptr noundef %20798, ptr noundef %20801, ptr noundef %20804, i32 noundef %20806) #11
  br label %20825

20808:                                            ; preds = %20786, %20779
  %20809 = load i32, ptr %411, align 4, !tbaa !5
  %20810 = call ptr @__errno_location() #12
  store i32 %20809, ptr %20810, align 4, !tbaa !5
  %20811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20812 = load i32, ptr @test_count, align 4, !tbaa !5
  %20813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20814 = load i32, ptr %20813, align 4, !tbaa !5
  %20815 = call ptr @s2n_strerror(i32 noundef %20814, ptr noundef @.str.4)
  %20816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20817 = load i32, ptr %20816, align 4, !tbaa !5
  %20818 = call ptr @s2n_strerror_debug(i32 noundef %20817, ptr noundef @.str.4)
  %20819 = call ptr @__errno_location() #12
  %20820 = load i32, ptr %20819, align 4, !tbaa !5
  %20821 = call ptr @strerror(i32 noundef %20820) #11
  %20822 = call ptr @__errno_location() #12
  %20823 = load i32, ptr %20822, align 4, !tbaa !5
  %20824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20811, ptr noundef @.str.5, i32 noundef %20812, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 607, ptr noundef %20815, ptr noundef %20818, ptr noundef %20821, i32 noundef %20823) #11
  br label %20825

20825:                                            ; preds = %20808, %20791
  call void @llvm.lifetime.end.p0(i64 4, ptr %411) #11
  br label %20826

20826:                                            ; preds = %20825
  br label %20827

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

20828:                                            ; No predecessors!
  br label %20829

20829:                                            ; preds = %20828
  br label %20830

20830:                                            ; preds = %20829, %20770
  br label %20831

20831:                                            ; preds = %20830
  br label %20832

20832:                                            ; preds = %20831
  br label %20833

20833:                                            ; preds = %20832
  %20834 = load i32, ptr @test_count, align 4, !tbaa !5
  %20835 = add nsw i32 %20834, 1
  store i32 %20835, ptr @test_count, align 4, !tbaa !5
  %20836 = load ptr, ptr %407, align 8, !tbaa !9
  %20837 = load ptr, ptr %12, align 8, !tbaa !9
  %20838 = call i32 @s2n_connection_append_psk(ptr noundef %20836, ptr noundef %20837)
  %20839 = icmp eq i32 %20838, -1
  br i1 %20839, label %20840, label %20893

20840:                                            ; preds = %20833
  br label %20841

20841:                                            ; preds = %20840
  br label %20842

20842:                                            ; preds = %20841
  call void @llvm.lifetime.start.p0(i64 4, ptr %412) #11
  %20843 = call ptr @__errno_location() #12
  %20844 = load i32, ptr %20843, align 4, !tbaa !5
  store i32 %20844, ptr %412, align 4, !tbaa !5
  %20845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20846 = call i32 @s2n_print_stacktrace(ptr noundef %20845)
  %20847 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20848 = trunc i8 %20847 to i1
  br i1 %20848, label %20849, label %20871

20849:                                            ; preds = %20842
  %20850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20851 = call i32 @fileno(ptr noundef %20850) #11
  %20852 = call i32 @isatty(i32 noundef %20851) #11
  %20853 = icmp ne i32 %20852, 0
  br i1 %20853, label %20854, label %20871

20854:                                            ; preds = %20849
  %20855 = load i32, ptr %412, align 4, !tbaa !5
  %20856 = call ptr @__errno_location() #12
  store i32 %20855, ptr %20856, align 4, !tbaa !5
  %20857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20858 = load i32, ptr @test_count, align 4, !tbaa !5
  %20859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20860 = load i32, ptr %20859, align 4, !tbaa !5
  %20861 = call ptr @s2n_strerror(i32 noundef %20860, ptr noundef @.str.4)
  %20862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20863 = load i32, ptr %20862, align 4, !tbaa !5
  %20864 = call ptr @s2n_strerror_debug(i32 noundef %20863, ptr noundef @.str.4)
  %20865 = call ptr @__errno_location() #12
  %20866 = load i32, ptr %20865, align 4, !tbaa !5
  %20867 = call ptr @strerror(i32 noundef %20866) #11
  %20868 = call ptr @__errno_location() #12
  %20869 = load i32, ptr %20868, align 4, !tbaa !5
  %20870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20857, ptr noundef @.str.2, i32 noundef %20858, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 608, ptr noundef %20861, ptr noundef %20864, ptr noundef %20867, i32 noundef %20869) #11
  br label %20888

20871:                                            ; preds = %20849, %20842
  %20872 = load i32, ptr %412, align 4, !tbaa !5
  %20873 = call ptr @__errno_location() #12
  store i32 %20872, ptr %20873, align 4, !tbaa !5
  %20874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20875 = load i32, ptr @test_count, align 4, !tbaa !5
  %20876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20877 = load i32, ptr %20876, align 4, !tbaa !5
  %20878 = call ptr @s2n_strerror(i32 noundef %20877, ptr noundef @.str.4)
  %20879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20880 = load i32, ptr %20879, align 4, !tbaa !5
  %20881 = call ptr @s2n_strerror_debug(i32 noundef %20880, ptr noundef @.str.4)
  %20882 = call ptr @__errno_location() #12
  %20883 = load i32, ptr %20882, align 4, !tbaa !5
  %20884 = call ptr @strerror(i32 noundef %20883) #11
  %20885 = call ptr @__errno_location() #12
  %20886 = load i32, ptr %20885, align 4, !tbaa !5
  %20887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20874, ptr noundef @.str.5, i32 noundef %20875, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 608, ptr noundef %20878, ptr noundef %20881, ptr noundef %20884, i32 noundef %20886) #11
  br label %20888

20888:                                            ; preds = %20871, %20854
  call void @llvm.lifetime.end.p0(i64 4, ptr %412) #11
  br label %20889

20889:                                            ; preds = %20888
  br label %20890

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

20891:                                            ; No predecessors!
  br label %20892

20892:                                            ; preds = %20891
  br label %20893

20893:                                            ; preds = %20892, %20833
  br label %20894

20894:                                            ; preds = %20893
  br label %20895

20895:                                            ; preds = %20894
  br label %20896

20896:                                            ; preds = %20895
  %20897 = load i32, ptr @test_count, align 4, !tbaa !5
  %20898 = add nsw i32 %20897, 1
  store i32 %20898, ptr @test_count, align 4, !tbaa !5
  %20899 = load ptr, ptr %406, align 8, !tbaa !9
  %20900 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %20899)
  %20901 = icmp eq i32 %20900, -1
  br i1 %20901, label %20902, label %20955

20902:                                            ; preds = %20896
  br label %20903

20903:                                            ; preds = %20902
  br label %20904

20904:                                            ; preds = %20903
  call void @llvm.lifetime.start.p0(i64 4, ptr %413) #11
  %20905 = call ptr @__errno_location() #12
  %20906 = load i32, ptr %20905, align 4, !tbaa !5
  store i32 %20906, ptr %413, align 4, !tbaa !5
  %20907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20908 = call i32 @s2n_print_stacktrace(ptr noundef %20907)
  %20909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20910 = trunc i8 %20909 to i1
  br i1 %20910, label %20911, label %20933

20911:                                            ; preds = %20904
  %20912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20913 = call i32 @fileno(ptr noundef %20912) #11
  %20914 = call i32 @isatty(i32 noundef %20913) #11
  %20915 = icmp ne i32 %20914, 0
  br i1 %20915, label %20916, label %20933

20916:                                            ; preds = %20911
  %20917 = load i32, ptr %413, align 4, !tbaa !5
  %20918 = call ptr @__errno_location() #12
  store i32 %20917, ptr %20918, align 4, !tbaa !5
  %20919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20920 = load i32, ptr @test_count, align 4, !tbaa !5
  %20921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20922 = load i32, ptr %20921, align 4, !tbaa !5
  %20923 = call ptr @s2n_strerror(i32 noundef %20922, ptr noundef @.str.4)
  %20924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20925 = load i32, ptr %20924, align 4, !tbaa !5
  %20926 = call ptr @s2n_strerror_debug(i32 noundef %20925, ptr noundef @.str.4)
  %20927 = call ptr @__errno_location() #12
  %20928 = load i32, ptr %20927, align 4, !tbaa !5
  %20929 = call ptr @strerror(i32 noundef %20928) #11
  %20930 = call ptr @__errno_location() #12
  %20931 = load i32, ptr %20930, align 4, !tbaa !5
  %20932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20919, ptr noundef @.str.2, i32 noundef %20920, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 609, ptr noundef %20923, ptr noundef %20926, ptr noundef %20929, i32 noundef %20931) #11
  br label %20950

20933:                                            ; preds = %20911, %20904
  %20934 = load i32, ptr %413, 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.5, i32 noundef %20937, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 609, ptr noundef %20940, ptr noundef %20943, ptr noundef %20946, i32 noundef %20948) #11
  br label %20950

20950:                                            ; preds = %20933, %20916
  call void @llvm.lifetime.end.p0(i64 4, ptr %413) #11
  br label %20951

20951:                                            ; preds = %20950
  br label %20952

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

20953:                                            ; No predecessors!
  br label %20954

20954:                                            ; preds = %20953
  br label %20955

20955:                                            ; preds = %20954, %20896
  br label %20956

20956:                                            ; preds = %20955
  br label %20957

20957:                                            ; preds = %20956
  br label %20958

20958:                                            ; preds = %20957
  %20959 = load i32, ptr @test_count, align 4, !tbaa !5
  %20960 = add nsw i32 %20959, 1
  store i32 %20960, ptr @test_count, align 4, !tbaa !5
  %20961 = load ptr, ptr %407, align 8, !tbaa !9
  %20962 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %20961)
  %20963 = icmp eq i32 %20962, -1
  br i1 %20963, label %20964, label %21017

20964:                                            ; preds = %20958
  br label %20965

20965:                                            ; preds = %20964
  br label %20966

20966:                                            ; preds = %20965
  call void @llvm.lifetime.start.p0(i64 4, ptr %414) #11
  %20967 = call ptr @__errno_location() #12
  %20968 = load i32, ptr %20967, align 4, !tbaa !5
  store i32 %20968, ptr %414, align 4, !tbaa !5
  %20969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20970 = call i32 @s2n_print_stacktrace(ptr noundef %20969)
  %20971 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20972 = trunc i8 %20971 to i1
  br i1 %20972, label %20973, label %20995

20973:                                            ; preds = %20966
  %20974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20975 = call i32 @fileno(ptr noundef %20974) #11
  %20976 = call i32 @isatty(i32 noundef %20975) #11
  %20977 = icmp ne i32 %20976, 0
  br i1 %20977, label %20978, label %20995

20978:                                            ; preds = %20973
  %20979 = load i32, ptr %414, align 4, !tbaa !5
  %20980 = call ptr @__errno_location() #12
  store i32 %20979, ptr %20980, align 4, !tbaa !5
  %20981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20982 = load i32, ptr @test_count, align 4, !tbaa !5
  %20983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20984 = load i32, ptr %20983, align 4, !tbaa !5
  %20985 = call ptr @s2n_strerror(i32 noundef %20984, ptr noundef @.str.4)
  %20986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20987 = load i32, ptr %20986, align 4, !tbaa !5
  %20988 = call ptr @s2n_strerror_debug(i32 noundef %20987, ptr noundef @.str.4)
  %20989 = call ptr @__errno_location() #12
  %20990 = load i32, ptr %20989, align 4, !tbaa !5
  %20991 = call ptr @strerror(i32 noundef %20990) #11
  %20992 = call ptr @__errno_location() #12
  %20993 = load i32, ptr %20992, align 4, !tbaa !5
  %20994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20981, ptr noundef @.str.2, i32 noundef %20982, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 610, ptr noundef %20985, ptr noundef %20988, ptr noundef %20991, i32 noundef %20993) #11
  br label %21012

20995:                                            ; preds = %20973, %20966
  %20996 = load i32, ptr %414, align 4, !tbaa !5
  %20997 = call ptr @__errno_location() #12
  store i32 %20996, ptr %20997, align 4, !tbaa !5
  %20998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20999 = load i32, ptr @test_count, align 4, !tbaa !5
  %21000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21001 = load i32, ptr %21000, align 4, !tbaa !5
  %21002 = call ptr @s2n_strerror(i32 noundef %21001, ptr noundef @.str.4)
  %21003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21004 = load i32, ptr %21003, align 4, !tbaa !5
  %21005 = call ptr @s2n_strerror_debug(i32 noundef %21004, ptr noundef @.str.4)
  %21006 = call ptr @__errno_location() #12
  %21007 = load i32, ptr %21006, align 4, !tbaa !5
  %21008 = call ptr @strerror(i32 noundef %21007) #11
  %21009 = call ptr @__errno_location() #12
  %21010 = load i32, ptr %21009, align 4, !tbaa !5
  %21011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20998, ptr noundef @.str.5, i32 noundef %20999, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 610, ptr noundef %21002, ptr noundef %21005, ptr noundef %21008, i32 noundef %21010) #11
  br label %21012

21012:                                            ; preds = %20995, %20978
  call void @llvm.lifetime.end.p0(i64 4, ptr %414) #11
  br label %21013

21013:                                            ; preds = %21012
  br label %21014

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

21015:                                            ; No predecessors!
  br label %21016

21016:                                            ; preds = %21015
  br label %21017

21017:                                            ; preds = %21016, %20958
  br label %21018

21018:                                            ; preds = %21017
  br label %21019

21019:                                            ; preds = %21018
  call void @llvm.lifetime.start.p0(i64 4, ptr %415) #11
  store i32 0, ptr %415, align 4, !tbaa !5
  br label %21020

21020:                                            ; preds = %21019
  %21021 = load i32, ptr @test_count, align 4, !tbaa !5
  %21022 = add nsw i32 %21021, 1
  store i32 %21022, ptr @test_count, align 4, !tbaa !5
  %21023 = load ptr, ptr %407, align 8, !tbaa !9
  %21024 = load ptr, ptr %406, align 8, !tbaa !9
  %21025 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %21023, ptr noundef %21024, i32 noundef 1)
  %21026 = getelementptr inbounds %struct.s2n_result, ptr %416, i32 0, i32 0
  store i32 %21025, ptr %21026, align 4
  %21027 = getelementptr inbounds %struct.s2n_result, ptr %416, i32 0, i32 0
  %21028 = load i32, ptr %21027, align 4
  %21029 = call zeroext i1 @s2n_result_is_ok(i32 %21028)
  br i1 %21029, label %21083, label %21030

21030:                                            ; preds = %21020
  br label %21031

21031:                                            ; preds = %21030
  br label %21032

21032:                                            ; preds = %21031
  call void @llvm.lifetime.start.p0(i64 4, ptr %417) #11
  %21033 = call ptr @__errno_location() #12
  %21034 = load i32, ptr %21033, align 4, !tbaa !5
  store i32 %21034, ptr %417, align 4, !tbaa !5
  %21035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21036 = call i32 @s2n_print_stacktrace(ptr noundef %21035)
  %21037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21038 = trunc i8 %21037 to i1
  br i1 %21038, label %21039, label %21061

21039:                                            ; preds = %21032
  %21040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21041 = call i32 @fileno(ptr noundef %21040) #11
  %21042 = call i32 @isatty(i32 noundef %21041) #11
  %21043 = icmp ne i32 %21042, 0
  br i1 %21043, label %21044, label %21061

21044:                                            ; preds = %21039
  %21045 = load i32, ptr %417, align 4, !tbaa !5
  %21046 = call ptr @__errno_location() #12
  store i32 %21045, ptr %21046, align 4, !tbaa !5
  %21047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21048 = load i32, ptr @test_count, align 4, !tbaa !5
  %21049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21050 = load i32, ptr %21049, align 4, !tbaa !5
  %21051 = call ptr @s2n_strerror(i32 noundef %21050, ptr noundef @.str.4)
  %21052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21053 = load i32, ptr %21052, align 4, !tbaa !5
  %21054 = call ptr @s2n_strerror_debug(i32 noundef %21053, ptr noundef @.str.4)
  %21055 = call ptr @__errno_location() #12
  %21056 = load i32, ptr %21055, align 4, !tbaa !5
  %21057 = call ptr @strerror(i32 noundef %21056) #11
  %21058 = call ptr @__errno_location() #12
  %21059 = load i32, ptr %21058, align 4, !tbaa !5
  %21060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21047, ptr noundef @.str.2, i32 noundef %21048, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 615, ptr noundef %21051, ptr noundef %21054, ptr noundef %21057, i32 noundef %21059) #11
  br label %21078

21061:                                            ; preds = %21039, %21032
  %21062 = load i32, ptr %417, align 4, !tbaa !5
  %21063 = call ptr @__errno_location() #12
  store i32 %21062, ptr %21063, align 4, !tbaa !5
  %21064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21065 = load i32, ptr @test_count, align 4, !tbaa !5
  %21066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21067 = load i32, ptr %21066, align 4, !tbaa !5
  %21068 = call ptr @s2n_strerror(i32 noundef %21067, ptr noundef @.str.4)
  %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_debug(i32 noundef %21070, ptr noundef @.str.4)
  %21072 = call ptr @__errno_location() #12
  %21073 = load i32, ptr %21072, align 4, !tbaa !5
  %21074 = call ptr @strerror(i32 noundef %21073) #11
  %21075 = call ptr @__errno_location() #12
  %21076 = load i32, ptr %21075, align 4, !tbaa !5
  %21077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21064, ptr noundef @.str.5, i32 noundef %21065, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 615, ptr noundef %21068, ptr noundef %21071, ptr noundef %21074, i32 noundef %21076) #11
  br label %21078

21078:                                            ; preds = %21061, %21044
  call void @llvm.lifetime.end.p0(i64 4, ptr %417) #11
  br label %21079

21079:                                            ; preds = %21078
  br label %21080

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

21081:                                            ; No predecessors!
  br label %21082

21082:                                            ; preds = %21081
  br label %21083

21083:                                            ; preds = %21082, %21020
  br label %21084

21084:                                            ; preds = %21083
  br label %21085

21085:                                            ; preds = %21084
  br label %21086

21086:                                            ; preds = %21085
  %21087 = load i32, ptr @test_count, align 4, !tbaa !5
  %21088 = add nsw i32 %21087, 1
  store i32 %21088, ptr @test_count, align 4, !tbaa !5
  %21089 = load ptr, ptr %406, align 8, !tbaa !9
  %21090 = getelementptr inbounds %struct.s2n_connection, ptr %21089, i32 0, i32 89
  %21091 = load i32, ptr %21090, align 8, !tbaa !19
  %21092 = icmp eq i32 %21091, 1
  br i1 %21092, label %21146, label %21093

21093:                                            ; preds = %21086
  br label %21094

21094:                                            ; preds = %21093
  br label %21095

21095:                                            ; preds = %21094
  call void @llvm.lifetime.start.p0(i64 4, ptr %418) #11
  %21096 = call ptr @__errno_location() #12
  %21097 = load i32, ptr %21096, align 4, !tbaa !5
  store i32 %21097, ptr %418, align 4, !tbaa !5
  %21098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21099 = call i32 @s2n_print_stacktrace(ptr noundef %21098)
  %21100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21101 = trunc i8 %21100 to i1
  br i1 %21101, label %21102, label %21124

21102:                                            ; preds = %21095
  %21103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21104 = call i32 @fileno(ptr noundef %21103) #11
  %21105 = call i32 @isatty(i32 noundef %21104) #11
  %21106 = icmp ne i32 %21105, 0
  br i1 %21106, label %21107, label %21124

21107:                                            ; preds = %21102
  %21108 = load i32, ptr %418, align 4, !tbaa !5
  %21109 = call ptr @__errno_location() #12
  store i32 %21108, ptr %21109, align 4, !tbaa !5
  %21110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21111 = load i32, ptr @test_count, align 4, !tbaa !5
  %21112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21113 = load i32, ptr %21112, align 4, !tbaa !5
  %21114 = call ptr @s2n_strerror(i32 noundef %21113, ptr noundef @.str.4)
  %21115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21116 = load i32, ptr %21115, align 4, !tbaa !5
  %21117 = call ptr @s2n_strerror_debug(i32 noundef %21116, ptr noundef @.str.4)
  %21118 = call ptr @__errno_location() #12
  %21119 = load i32, ptr %21118, align 4, !tbaa !5
  %21120 = call ptr @strerror(i32 noundef %21119) #11
  %21121 = call ptr @__errno_location() #12
  %21122 = load i32, ptr %21121, align 4, !tbaa !5
  %21123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21110, ptr noundef @.str.2, i32 noundef %21111, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 618, ptr noundef %21114, ptr noundef %21117, ptr noundef %21120, i32 noundef %21122) #11
  br label %21141

21124:                                            ; preds = %21102, %21095
  %21125 = load i32, ptr %418, align 4, !tbaa !5
  %21126 = call ptr @__errno_location() #12
  store i32 %21125, ptr %21126, align 4, !tbaa !5
  %21127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21128 = load i32, ptr @test_count, align 4, !tbaa !5
  %21129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21130 = load i32, ptr %21129, align 4, !tbaa !5
  %21131 = call ptr @s2n_strerror(i32 noundef %21130, ptr noundef @.str.4)
  %21132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21133 = load i32, ptr %21132, align 4, !tbaa !5
  %21134 = call ptr @s2n_strerror_debug(i32 noundef %21133, ptr noundef @.str.4)
  %21135 = call ptr @__errno_location() #12
  %21136 = load i32, ptr %21135, align 4, !tbaa !5
  %21137 = call ptr @strerror(i32 noundef %21136) #11
  %21138 = call ptr @__errno_location() #12
  %21139 = load i32, ptr %21138, align 4, !tbaa !5
  %21140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21127, ptr noundef @.str.5, i32 noundef %21128, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 618, ptr noundef %21131, ptr noundef %21134, ptr noundef %21137, i32 noundef %21139) #11
  br label %21141

21141:                                            ; preds = %21124, %21107
  call void @llvm.lifetime.end.p0(i64 4, ptr %418) #11
  br label %21142

21142:                                            ; preds = %21141
  br label %21143

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

21144:                                            ; No predecessors!
  br label %21145

21145:                                            ; preds = %21144
  br label %21146

21146:                                            ; preds = %21145, %21086
  br label %21147

21147:                                            ; preds = %21146
  br label %21148

21148:                                            ; preds = %21147
  br label %21149

21149:                                            ; preds = %21148
  %21150 = load i32, ptr @test_count, align 4, !tbaa !5
  %21151 = add nsw i32 %21150, 1
  store i32 %21151, ptr @test_count, align 4, !tbaa !5
  %21152 = load ptr, ptr %406, align 8, !tbaa !9
  %21153 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %21154 = call i64 @s2n_send(ptr noundef %21152, ptr noundef %21153, i64 noundef 12, ptr noundef %415)
  %21155 = icmp eq i64 %21154, 12
  br i1 %21155, label %21209, label %21156

21156:                                            ; preds = %21149
  br label %21157

21157:                                            ; preds = %21156
  br label %21158

21158:                                            ; preds = %21157
  call void @llvm.lifetime.start.p0(i64 4, ptr %419) #11
  %21159 = call ptr @__errno_location() #12
  %21160 = load i32, ptr %21159, align 4, !tbaa !5
  store i32 %21160, ptr %419, align 4, !tbaa !5
  %21161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21162 = call i32 @s2n_print_stacktrace(ptr noundef %21161)
  %21163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21164 = trunc i8 %21163 to i1
  br i1 %21164, label %21165, label %21187

21165:                                            ; preds = %21158
  %21166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21167 = call i32 @fileno(ptr noundef %21166) #11
  %21168 = call i32 @isatty(i32 noundef %21167) #11
  %21169 = icmp ne i32 %21168, 0
  br i1 %21169, label %21170, label %21187

21170:                                            ; preds = %21165
  %21171 = load i32, ptr %419, align 4, !tbaa !5
  %21172 = call ptr @__errno_location() #12
  store i32 %21171, ptr %21172, align 4, !tbaa !5
  %21173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21174 = load i32, ptr @test_count, align 4, !tbaa !5
  %21175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21176 = load i32, ptr %21175, align 4, !tbaa !5
  %21177 = call ptr @s2n_strerror(i32 noundef %21176, ptr noundef @.str.4)
  %21178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21179 = load i32, ptr %21178, align 4, !tbaa !5
  %21180 = call ptr @s2n_strerror_debug(i32 noundef %21179, ptr noundef @.str.4)
  %21181 = call ptr @__errno_location() #12
  %21182 = load i32, ptr %21181, align 4, !tbaa !5
  %21183 = call ptr @strerror(i32 noundef %21182) #11
  %21184 = call ptr @__errno_location() #12
  %21185 = load i32, ptr %21184, align 4, !tbaa !5
  %21186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21173, ptr noundef @.str.2, i32 noundef %21174, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 619, ptr noundef %21177, ptr noundef %21180, ptr noundef %21183, i32 noundef %21185) #11
  br label %21204

21187:                                            ; preds = %21165, %21158
  %21188 = load i32, ptr %419, align 4, !tbaa !5
  %21189 = call ptr @__errno_location() #12
  store i32 %21188, ptr %21189, align 4, !tbaa !5
  %21190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21191 = load i32, ptr @test_count, align 4, !tbaa !5
  %21192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21193 = load i32, ptr %21192, align 4, !tbaa !5
  %21194 = call ptr @s2n_strerror(i32 noundef %21193, ptr noundef @.str.4)
  %21195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21196 = load i32, ptr %21195, align 4, !tbaa !5
  %21197 = call ptr @s2n_strerror_debug(i32 noundef %21196, ptr noundef @.str.4)
  %21198 = call ptr @__errno_location() #12
  %21199 = load i32, ptr %21198, align 4, !tbaa !5
  %21200 = call ptr @strerror(i32 noundef %21199) #11
  %21201 = call ptr @__errno_location() #12
  %21202 = load i32, ptr %21201, align 4, !tbaa !5
  %21203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21190, ptr noundef @.str.5, i32 noundef %21191, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 619, ptr noundef %21194, ptr noundef %21197, ptr noundef %21200, i32 noundef %21202) #11
  br label %21204

21204:                                            ; preds = %21187, %21170
  call void @llvm.lifetime.end.p0(i64 4, ptr %419) #11
  br label %21205

21205:                                            ; preds = %21204
  br label %21206

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

21207:                                            ; No predecessors!
  br label %21208

21208:                                            ; preds = %21207
  br label %21209

21209:                                            ; preds = %21208, %21149
  br label %21210

21210:                                            ; preds = %21209
  br label %21211

21211:                                            ; preds = %21210
  br label %21212

21212:                                            ; preds = %21211
  %21213 = load i32, ptr @test_count, align 4, !tbaa !5
  %21214 = add nsw i32 %21213, 1
  store i32 %21214, ptr @test_count, align 4, !tbaa !5
  %21215 = load ptr, ptr %406, align 8, !tbaa !9
  %21216 = call i32 @s2n_connection_set_end_of_early_data(ptr noundef %21215)
  %21217 = icmp eq i32 %21216, -1
  br i1 %21217, label %21218, label %21271

21218:                                            ; preds = %21212
  br label %21219

21219:                                            ; preds = %21218
  br label %21220

21220:                                            ; preds = %21219
  call void @llvm.lifetime.start.p0(i64 4, ptr %420) #11
  %21221 = call ptr @__errno_location() #12
  %21222 = load i32, ptr %21221, align 4, !tbaa !5
  store i32 %21222, ptr %420, align 4, !tbaa !5
  %21223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21224 = call i32 @s2n_print_stacktrace(ptr noundef %21223)
  %21225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21226 = trunc i8 %21225 to i1
  br i1 %21226, label %21227, label %21249

21227:                                            ; preds = %21220
  %21228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21229 = call i32 @fileno(ptr noundef %21228) #11
  %21230 = call i32 @isatty(i32 noundef %21229) #11
  %21231 = icmp ne i32 %21230, 0
  br i1 %21231, label %21232, label %21249

21232:                                            ; preds = %21227
  %21233 = load i32, ptr %420, align 4, !tbaa !5
  %21234 = call ptr @__errno_location() #12
  store i32 %21233, ptr %21234, align 4, !tbaa !5
  %21235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21236 = load i32, ptr @test_count, align 4, !tbaa !5
  %21237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21238 = load i32, ptr %21237, align 4, !tbaa !5
  %21239 = call ptr @s2n_strerror(i32 noundef %21238, ptr noundef @.str.4)
  %21240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21241 = load i32, ptr %21240, align 4, !tbaa !5
  %21242 = call ptr @s2n_strerror_debug(i32 noundef %21241, ptr noundef @.str.4)
  %21243 = call ptr @__errno_location() #12
  %21244 = load i32, ptr %21243, align 4, !tbaa !5
  %21245 = call ptr @strerror(i32 noundef %21244) #11
  %21246 = call ptr @__errno_location() #12
  %21247 = load i32, ptr %21246, align 4, !tbaa !5
  %21248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21235, ptr noundef @.str.2, i32 noundef %21236, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 622, ptr noundef %21239, ptr noundef %21242, ptr noundef %21245, i32 noundef %21247) #11
  br label %21266

21249:                                            ; preds = %21227, %21220
  %21250 = load i32, ptr %420, align 4, !tbaa !5
  %21251 = call ptr @__errno_location() #12
  store i32 %21250, ptr %21251, align 4, !tbaa !5
  %21252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21253 = load i32, ptr @test_count, align 4, !tbaa !5
  %21254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21255 = load i32, ptr %21254, align 4, !tbaa !5
  %21256 = call ptr @s2n_strerror(i32 noundef %21255, ptr noundef @.str.4)
  %21257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21258 = load i32, ptr %21257, align 4, !tbaa !5
  %21259 = call ptr @s2n_strerror_debug(i32 noundef %21258, ptr noundef @.str.4)
  %21260 = call ptr @__errno_location() #12
  %21261 = load i32, ptr %21260, align 4, !tbaa !5
  %21262 = call ptr @strerror(i32 noundef %21261) #11
  %21263 = call ptr @__errno_location() #12
  %21264 = load i32, ptr %21263, align 4, !tbaa !5
  %21265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21252, ptr noundef @.str.5, i32 noundef %21253, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 622, ptr noundef %21256, ptr noundef %21259, ptr noundef %21262, i32 noundef %21264) #11
  br label %21266

21266:                                            ; preds = %21249, %21232
  call void @llvm.lifetime.end.p0(i64 4, ptr %420) #11
  br label %21267

21267:                                            ; preds = %21266
  br label %21268

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

21269:                                            ; No predecessors!
  br label %21270

21270:                                            ; preds = %21269
  br label %21271

21271:                                            ; preds = %21270, %21212
  br label %21272

21272:                                            ; preds = %21271
  br label %21273

21273:                                            ; preds = %21272
  br label %21274

21274:                                            ; preds = %21273
  br label %21275

21275:                                            ; preds = %21274
  br label %21276

21276:                                            ; preds = %21275
  %21277 = load i32, ptr @test_count, align 4, !tbaa !5
  %21278 = add nsw i32 %21277, 1
  store i32 %21278, ptr @test_count, align 4, !tbaa !5
  %21279 = load ptr, ptr %406, align 8, !tbaa !9
  %21280 = call i64 @s2n_send(ptr noundef %21279, ptr noundef null, i64 noundef 0, ptr noundef %415)
  %21281 = icmp eq i64 %21280, -1
  br i1 %21281, label %21335, label %21282

21282:                                            ; preds = %21276
  br label %21283

21283:                                            ; preds = %21282
  br label %21284

21284:                                            ; preds = %21283
  call void @llvm.lifetime.start.p0(i64 4, ptr %421) #11
  %21285 = call ptr @__errno_location() #12
  %21286 = load i32, ptr %21285, align 4, !tbaa !5
  store i32 %21286, ptr %421, align 4, !tbaa !5
  %21287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21288 = call i32 @s2n_print_stacktrace(ptr noundef %21287)
  %21289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21290 = trunc i8 %21289 to i1
  br i1 %21290, label %21291, label %21313

21291:                                            ; preds = %21284
  %21292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21293 = call i32 @fileno(ptr noundef %21292) #11
  %21294 = call i32 @isatty(i32 noundef %21293) #11
  %21295 = icmp ne i32 %21294, 0
  br i1 %21295, label %21296, label %21313

21296:                                            ; preds = %21291
  %21297 = load i32, ptr %421, align 4, !tbaa !5
  %21298 = call ptr @__errno_location() #12
  store i32 %21297, ptr %21298, align 4, !tbaa !5
  %21299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21300 = load i32, ptr @test_count, align 4, !tbaa !5
  %21301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21302 = load i32, ptr %21301, align 4, !tbaa !5
  %21303 = call ptr @s2n_strerror(i32 noundef %21302, ptr noundef @.str.4)
  %21304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21305 = load i32, ptr %21304, align 4, !tbaa !5
  %21306 = call ptr @s2n_strerror_debug(i32 noundef %21305, ptr noundef @.str.4)
  %21307 = call ptr @__errno_location() #12
  %21308 = load i32, ptr %21307, align 4, !tbaa !5
  %21309 = call ptr @strerror(i32 noundef %21308) #11
  %21310 = call ptr @__errno_location() #12
  %21311 = load i32, ptr %21310, align 4, !tbaa !5
  %21312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21299, ptr noundef @.str.2, i32 noundef %21300, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 623, ptr noundef %21303, ptr noundef %21306, ptr noundef %21309, i32 noundef %21311) #11
  br label %21330

21313:                                            ; preds = %21291, %21284
  %21314 = load i32, ptr %421, align 4, !tbaa !5
  %21315 = call ptr @__errno_location() #12
  store i32 %21314, ptr %21315, align 4, !tbaa !5
  %21316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21317 = load i32, ptr @test_count, align 4, !tbaa !5
  %21318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21319 = load i32, ptr %21318, align 4, !tbaa !5
  %21320 = call ptr @s2n_strerror(i32 noundef %21319, ptr noundef @.str.4)
  %21321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21322 = load i32, ptr %21321, align 4, !tbaa !5
  %21323 = call ptr @s2n_strerror_debug(i32 noundef %21322, ptr noundef @.str.4)
  %21324 = call ptr @__errno_location() #12
  %21325 = load i32, ptr %21324, align 4, !tbaa !5
  %21326 = call ptr @strerror(i32 noundef %21325) #11
  %21327 = call ptr @__errno_location() #12
  %21328 = load i32, ptr %21327, align 4, !tbaa !5
  %21329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21316, ptr noundef @.str.5, i32 noundef %21317, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 623, ptr noundef %21320, ptr noundef %21323, ptr noundef %21326, i32 noundef %21328) #11
  br label %21330

21330:                                            ; preds = %21313, %21296
  call void @llvm.lifetime.end.p0(i64 4, ptr %421) #11
  br label %21331

21331:                                            ; preds = %21330
  br label %21332

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

21333:                                            ; No predecessors!
  br label %21334

21334:                                            ; preds = %21333
  br label %21335

21335:                                            ; preds = %21334, %21276
  br label %21336

21336:                                            ; preds = %21335
  br label %21337

21337:                                            ; preds = %21336
  br label %21338

21338:                                            ; preds = %21337
  %21339 = load i32, ptr @test_count, align 4, !tbaa !5
  %21340 = add nsw i32 %21339, 1
  store i32 %21340, 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 = icmp eq i32 %21342, 469762113
  br i1 %21343, label %21397, label %21344

21344:                                            ; preds = %21338
  br label %21345

21345:                                            ; preds = %21344
  br label %21346

21346:                                            ; preds = %21345
  call void @llvm.lifetime.start.p0(i64 4, ptr %422) #11
  %21347 = call ptr @__errno_location() #12
  %21348 = load i32, ptr %21347, align 4, !tbaa !5
  store i32 %21348, ptr %422, align 4, !tbaa !5
  %21349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21350 = call i32 @s2n_print_stacktrace(ptr noundef %21349)
  %21351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21352 = trunc i8 %21351 to i1
  br i1 %21352, label %21353, label %21375

21353:                                            ; preds = %21346
  %21354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21355 = call i32 @fileno(ptr noundef %21354) #11
  %21356 = call i32 @isatty(i32 noundef %21355) #11
  %21357 = icmp ne i32 %21356, 0
  br i1 %21357, label %21358, label %21375

21358:                                            ; preds = %21353
  %21359 = load i32, ptr %422, align 4, !tbaa !5
  %21360 = call ptr @__errno_location() #12
  store i32 %21359, ptr %21360, align 4, !tbaa !5
  %21361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21362 = load i32, ptr @test_count, align 4, !tbaa !5
  %21363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21364 = load i32, ptr %21363, align 4, !tbaa !5
  %21365 = call ptr @s2n_strerror(i32 noundef %21364, ptr noundef @.str.4)
  %21366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21367 = load i32, ptr %21366, align 4, !tbaa !5
  %21368 = call ptr @s2n_strerror_debug(i32 noundef %21367, ptr noundef @.str.4)
  %21369 = call ptr @__errno_location() #12
  %21370 = load i32, ptr %21369, align 4, !tbaa !5
  %21371 = call ptr @strerror(i32 noundef %21370) #11
  %21372 = call ptr @__errno_location() #12
  %21373 = load i32, ptr %21372, align 4, !tbaa !5
  %21374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21361, ptr noundef @.str.2, i32 noundef %21362, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 623, ptr noundef %21365, ptr noundef %21368, ptr noundef %21371, i32 noundef %21373) #11
  br label %21392

21375:                                            ; preds = %21353, %21346
  %21376 = load i32, ptr %422, align 4, !tbaa !5
  %21377 = call ptr @__errno_location() #12
  store i32 %21376, ptr %21377, align 4, !tbaa !5
  %21378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21379 = load i32, ptr @test_count, align 4, !tbaa !5
  %21380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21381 = load i32, ptr %21380, align 4, !tbaa !5
  %21382 = call ptr @s2n_strerror(i32 noundef %21381, ptr noundef @.str.4)
  %21383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21384 = load i32, ptr %21383, align 4, !tbaa !5
  %21385 = call ptr @s2n_strerror_debug(i32 noundef %21384, ptr noundef @.str.4)
  %21386 = call ptr @__errno_location() #12
  %21387 = load i32, ptr %21386, align 4, !tbaa !5
  %21388 = call ptr @strerror(i32 noundef %21387) #11
  %21389 = call ptr @__errno_location() #12
  %21390 = load i32, ptr %21389, align 4, !tbaa !5
  %21391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21378, ptr noundef @.str.5, i32 noundef %21379, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 623, ptr noundef %21382, ptr noundef %21385, ptr noundef %21388, i32 noundef %21390) #11
  br label %21392

21392:                                            ; preds = %21375, %21358
  call void @llvm.lifetime.end.p0(i64 4, ptr %422) #11
  br label %21393

21393:                                            ; preds = %21392
  br label %21394

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

21395:                                            ; No predecessors!
  br label %21396

21396:                                            ; preds = %21395
  br label %21397

21397:                                            ; preds = %21396, %21338
  br label %21398

21398:                                            ; preds = %21397
  br label %21399

21399:                                            ; preds = %21398
  br label %21400

21400:                                            ; preds = %21399
  %21401 = load i32, ptr @test_count, align 4, !tbaa !5
  %21402 = add nsw i32 %21401, 1
  store i32 %21402, ptr @test_count, align 4, !tbaa !5
  %21403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21404 = load i32, ptr %21403, align 4, !tbaa !5
  %21405 = call ptr @s2n_strerror_debug(i32 noundef %21404, ptr noundef @.str.4)
  %21406 = icmp eq ptr %21405, null
  br i1 %21406, label %21407, label %21460

21407:                                            ; preds = %21400
  br label %21408

21408:                                            ; preds = %21407
  br label %21409

21409:                                            ; preds = %21408
  call void @llvm.lifetime.start.p0(i64 4, ptr %423) #11
  %21410 = call ptr @__errno_location() #12
  %21411 = load i32, ptr %21410, align 4, !tbaa !5
  store i32 %21411, ptr %423, align 4, !tbaa !5
  %21412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21413 = call i32 @s2n_print_stacktrace(ptr noundef %21412)
  %21414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21415 = trunc i8 %21414 to i1
  br i1 %21415, label %21416, label %21438

21416:                                            ; preds = %21409
  %21417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21418 = call i32 @fileno(ptr noundef %21417) #11
  %21419 = call i32 @isatty(i32 noundef %21418) #11
  %21420 = icmp ne i32 %21419, 0
  br i1 %21420, label %21421, label %21438

21421:                                            ; preds = %21416
  %21422 = load i32, ptr %423, align 4, !tbaa !5
  %21423 = call ptr @__errno_location() #12
  store i32 %21422, ptr %21423, align 4, !tbaa !5
  %21424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21425 = load i32, ptr @test_count, align 4, !tbaa !5
  %21426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21427 = load i32, ptr %21426, align 4, !tbaa !5
  %21428 = call ptr @s2n_strerror(i32 noundef %21427, ptr noundef @.str.4)
  %21429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21430 = load i32, ptr %21429, align 4, !tbaa !5
  %21431 = call ptr @s2n_strerror_debug(i32 noundef %21430, ptr noundef @.str.4)
  %21432 = call ptr @__errno_location() #12
  %21433 = load i32, ptr %21432, align 4, !tbaa !5
  %21434 = call ptr @strerror(i32 noundef %21433) #11
  %21435 = call ptr @__errno_location() #12
  %21436 = load i32, ptr %21435, align 4, !tbaa !5
  %21437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21424, ptr noundef @.str.2, i32 noundef %21425, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 623, ptr noundef %21428, ptr noundef %21431, ptr noundef %21434, i32 noundef %21436) #11
  br label %21455

21438:                                            ; preds = %21416, %21409
  %21439 = load i32, ptr %423, align 4, !tbaa !5
  %21440 = call ptr @__errno_location() #12
  store i32 %21439, ptr %21440, align 4, !tbaa !5
  %21441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21442 = load i32, ptr @test_count, align 4, !tbaa !5
  %21443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21444 = load i32, ptr %21443, align 4, !tbaa !5
  %21445 = call ptr @s2n_strerror(i32 noundef %21444, ptr noundef @.str.4)
  %21446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21447 = load i32, ptr %21446, align 4, !tbaa !5
  %21448 = call ptr @s2n_strerror_debug(i32 noundef %21447, ptr noundef @.str.4)
  %21449 = call ptr @__errno_location() #12
  %21450 = load i32, ptr %21449, align 4, !tbaa !5
  %21451 = call ptr @strerror(i32 noundef %21450) #11
  %21452 = call ptr @__errno_location() #12
  %21453 = load i32, ptr %21452, align 4, !tbaa !5
  %21454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21441, ptr noundef @.str.5, i32 noundef %21442, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 623, ptr noundef %21445, ptr noundef %21448, ptr noundef %21451, i32 noundef %21453) #11
  br label %21455

21455:                                            ; preds = %21438, %21421
  call void @llvm.lifetime.end.p0(i64 4, ptr %423) #11
  br label %21456

21456:                                            ; preds = %21455
  br label %21457

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

21458:                                            ; No predecessors!
  br label %21459

21459:                                            ; preds = %21458
  br label %21460

21460:                                            ; preds = %21459, %21400
  br label %21461

21461:                                            ; preds = %21460
  br label %21462

21462:                                            ; preds = %21461
  br label %21463

21463:                                            ; preds = %21462
  br label %21464

21464:                                            ; preds = %21463
  br label %21465

21465:                                            ; preds = %21464
  %21466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21466, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21467 = call ptr @__errno_location() #12
  store i32 0, ptr %21467, align 4, !tbaa !5
  br label %21468

21468:                                            ; preds = %21465
  br label %21469

21469:                                            ; preds = %21468
  br label %21470

21470:                                            ; preds = %21469
  br label %21471

21471:                                            ; preds = %21470
  br label %21472

21472:                                            ; preds = %21471
  br label %21473

21473:                                            ; preds = %21472
  br label %21474

21474:                                            ; preds = %21473
  %21475 = load i32, ptr @test_count, align 4, !tbaa !5
  %21476 = add nsw i32 %21475, 1
  store i32 %21476, ptr @test_count, align 4, !tbaa !5
  %21477 = load ptr, ptr %407, align 8, !tbaa !9
  %21478 = load ptr, ptr %406, align 8, !tbaa !9
  %21479 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %21477, ptr noundef %21478, i32 noundef 13)
  %21480 = getelementptr inbounds %struct.s2n_result, ptr %424, i32 0, i32 0
  store i32 %21479, ptr %21480, align 4
  %21481 = getelementptr inbounds %struct.s2n_result, ptr %424, i32 0, i32 0
  %21482 = load i32, ptr %21481, align 4
  %21483 = call zeroext i1 @s2n_result_is_error(i32 %21482)
  br i1 %21483, label %21537, label %21484

21484:                                            ; preds = %21474
  br label %21485

21485:                                            ; preds = %21484
  br label %21486

21486:                                            ; preds = %21485
  call void @llvm.lifetime.start.p0(i64 4, ptr %425) #11
  %21487 = call ptr @__errno_location() #12
  %21488 = load i32, ptr %21487, align 4, !tbaa !5
  store i32 %21488, ptr %425, align 4, !tbaa !5
  %21489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21490 = call i32 @s2n_print_stacktrace(ptr noundef %21489)
  %21491 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21492 = trunc i8 %21491 to i1
  br i1 %21492, label %21493, label %21515

21493:                                            ; preds = %21486
  %21494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21495 = call i32 @fileno(ptr noundef %21494) #11
  %21496 = call i32 @isatty(i32 noundef %21495) #11
  %21497 = icmp ne i32 %21496, 0
  br i1 %21497, label %21498, label %21515

21498:                                            ; preds = %21493
  %21499 = load i32, ptr %425, align 4, !tbaa !5
  %21500 = call ptr @__errno_location() #12
  store i32 %21499, ptr %21500, align 4, !tbaa !5
  %21501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21502 = load i32, ptr @test_count, align 4, !tbaa !5
  %21503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21504 = load i32, ptr %21503, align 4, !tbaa !5
  %21505 = call ptr @s2n_strerror(i32 noundef %21504, ptr noundef @.str.4)
  %21506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21507 = load i32, ptr %21506, align 4, !tbaa !5
  %21508 = call ptr @s2n_strerror_debug(i32 noundef %21507, ptr noundef @.str.4)
  %21509 = call ptr @__errno_location() #12
  %21510 = load i32, ptr %21509, align 4, !tbaa !5
  %21511 = call ptr @strerror(i32 noundef %21510) #11
  %21512 = call ptr @__errno_location() #12
  %21513 = load i32, ptr %21512, align 4, !tbaa !5
  %21514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21501, ptr noundef @.str.2, i32 noundef %21502, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 627, ptr noundef %21505, ptr noundef %21508, ptr noundef %21511, i32 noundef %21513) #11
  br label %21532

21515:                                            ; preds = %21493, %21486
  %21516 = load i32, ptr %425, align 4, !tbaa !5
  %21517 = call ptr @__errno_location() #12
  store i32 %21516, ptr %21517, align 4, !tbaa !5
  %21518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21519 = load i32, ptr @test_count, align 4, !tbaa !5
  %21520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21521 = load i32, ptr %21520, align 4, !tbaa !5
  %21522 = call ptr @s2n_strerror(i32 noundef %21521, ptr noundef @.str.4)
  %21523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21524 = load i32, ptr %21523, align 4, !tbaa !5
  %21525 = call ptr @s2n_strerror_debug(i32 noundef %21524, ptr noundef @.str.4)
  %21526 = call ptr @__errno_location() #12
  %21527 = load i32, ptr %21526, align 4, !tbaa !5
  %21528 = call ptr @strerror(i32 noundef %21527) #11
  %21529 = call ptr @__errno_location() #12
  %21530 = load i32, ptr %21529, align 4, !tbaa !5
  %21531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21518, ptr noundef @.str.5, i32 noundef %21519, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 627, ptr noundef %21522, ptr noundef %21525, ptr noundef %21528, i32 noundef %21530) #11
  br label %21532

21532:                                            ; preds = %21515, %21498
  call void @llvm.lifetime.end.p0(i64 4, ptr %425) #11
  br label %21533

21533:                                            ; preds = %21532
  br label %21534

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

21535:                                            ; No predecessors!
  br label %21536

21536:                                            ; preds = %21535
  br label %21537

21537:                                            ; preds = %21536, %21474
  br label %21538

21538:                                            ; preds = %21537
  br label %21539

21539:                                            ; preds = %21538
  br label %21540

21540:                                            ; preds = %21539
  %21541 = load i32, ptr @test_count, align 4, !tbaa !5
  %21542 = add nsw i32 %21541, 1
  store i32 %21542, ptr @test_count, align 4, !tbaa !5
  %21543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21544 = load i32, ptr %21543, align 4, !tbaa !5
  %21545 = icmp eq i32 %21544, 201326594
  br i1 %21545, label %21599, label %21546

21546:                                            ; preds = %21540
  br label %21547

21547:                                            ; preds = %21546
  br label %21548

21548:                                            ; preds = %21547
  call void @llvm.lifetime.start.p0(i64 4, ptr %426) #11
  %21549 = call ptr @__errno_location() #12
  %21550 = load i32, ptr %21549, align 4, !tbaa !5
  store i32 %21550, ptr %426, align 4, !tbaa !5
  %21551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21552 = call i32 @s2n_print_stacktrace(ptr noundef %21551)
  %21553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21554 = trunc i8 %21553 to i1
  br i1 %21554, label %21555, label %21577

21555:                                            ; preds = %21548
  %21556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21557 = call i32 @fileno(ptr noundef %21556) #11
  %21558 = call i32 @isatty(i32 noundef %21557) #11
  %21559 = icmp ne i32 %21558, 0
  br i1 %21559, label %21560, label %21577

21560:                                            ; preds = %21555
  %21561 = load i32, ptr %426, align 4, !tbaa !5
  %21562 = call ptr @__errno_location() #12
  store i32 %21561, ptr %21562, align 4, !tbaa !5
  %21563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21564 = load i32, ptr @test_count, align 4, !tbaa !5
  %21565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21566 = load i32, ptr %21565, align 4, !tbaa !5
  %21567 = call ptr @s2n_strerror(i32 noundef %21566, ptr noundef @.str.4)
  %21568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21569 = load i32, ptr %21568, align 4, !tbaa !5
  %21570 = call ptr @s2n_strerror_debug(i32 noundef %21569, ptr noundef @.str.4)
  %21571 = call ptr @__errno_location() #12
  %21572 = load i32, ptr %21571, align 4, !tbaa !5
  %21573 = call ptr @strerror(i32 noundef %21572) #11
  %21574 = call ptr @__errno_location() #12
  %21575 = load i32, ptr %21574, align 4, !tbaa !5
  %21576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21563, ptr noundef @.str.2, i32 noundef %21564, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 627, ptr noundef %21567, ptr noundef %21570, ptr noundef %21573, i32 noundef %21575) #11
  br label %21594

21577:                                            ; preds = %21555, %21548
  %21578 = load i32, ptr %426, align 4, !tbaa !5
  %21579 = call ptr @__errno_location() #12
  store i32 %21578, ptr %21579, align 4, !tbaa !5
  %21580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21581 = load i32, ptr @test_count, align 4, !tbaa !5
  %21582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21583 = load i32, ptr %21582, align 4, !tbaa !5
  %21584 = call ptr @s2n_strerror(i32 noundef %21583, ptr noundef @.str.4)
  %21585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21586 = load i32, ptr %21585, align 4, !tbaa !5
  %21587 = call ptr @s2n_strerror_debug(i32 noundef %21586, ptr noundef @.str.4)
  %21588 = call ptr @__errno_location() #12
  %21589 = load i32, ptr %21588, align 4, !tbaa !5
  %21590 = call ptr @strerror(i32 noundef %21589) #11
  %21591 = call ptr @__errno_location() #12
  %21592 = load i32, ptr %21591, align 4, !tbaa !5
  %21593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21580, ptr noundef @.str.5, i32 noundef %21581, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 627, ptr noundef %21584, ptr noundef %21587, ptr noundef %21590, i32 noundef %21592) #11
  br label %21594

21594:                                            ; preds = %21577, %21560
  call void @llvm.lifetime.end.p0(i64 4, ptr %426) #11
  br label %21595

21595:                                            ; preds = %21594
  br label %21596

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

21597:                                            ; No predecessors!
  br label %21598

21598:                                            ; preds = %21597
  br label %21599

21599:                                            ; preds = %21598, %21540
  br label %21600

21600:                                            ; preds = %21599
  br label %21601

21601:                                            ; preds = %21600
  br label %21602

21602:                                            ; preds = %21601
  %21603 = load i32, ptr @test_count, align 4, !tbaa !5
  %21604 = add nsw i32 %21603, 1
  store i32 %21604, ptr @test_count, align 4, !tbaa !5
  %21605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21606 = load i32, ptr %21605, align 4, !tbaa !5
  %21607 = call ptr @s2n_strerror_debug(i32 noundef %21606, ptr noundef @.str.4)
  %21608 = icmp eq ptr %21607, null
  br i1 %21608, label %21609, label %21662

21609:                                            ; preds = %21602
  br label %21610

21610:                                            ; preds = %21609
  br label %21611

21611:                                            ; preds = %21610
  call void @llvm.lifetime.start.p0(i64 4, ptr %427) #11
  %21612 = call ptr @__errno_location() #12
  %21613 = load i32, ptr %21612, align 4, !tbaa !5
  store i32 %21613, ptr %427, align 4, !tbaa !5
  %21614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21615 = call i32 @s2n_print_stacktrace(ptr noundef %21614)
  %21616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21617 = trunc i8 %21616 to i1
  br i1 %21617, label %21618, label %21640

21618:                                            ; preds = %21611
  %21619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21620 = call i32 @fileno(ptr noundef %21619) #11
  %21621 = call i32 @isatty(i32 noundef %21620) #11
  %21622 = icmp ne i32 %21621, 0
  br i1 %21622, label %21623, label %21640

21623:                                            ; preds = %21618
  %21624 = load i32, ptr %427, align 4, !tbaa !5
  %21625 = call ptr @__errno_location() #12
  store i32 %21624, ptr %21625, align 4, !tbaa !5
  %21626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21627 = load i32, ptr @test_count, align 4, !tbaa !5
  %21628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21629 = load i32, ptr %21628, align 4, !tbaa !5
  %21630 = call ptr @s2n_strerror(i32 noundef %21629, ptr noundef @.str.4)
  %21631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21632 = load i32, ptr %21631, align 4, !tbaa !5
  %21633 = call ptr @s2n_strerror_debug(i32 noundef %21632, ptr noundef @.str.4)
  %21634 = call ptr @__errno_location() #12
  %21635 = load i32, ptr %21634, align 4, !tbaa !5
  %21636 = call ptr @strerror(i32 noundef %21635) #11
  %21637 = call ptr @__errno_location() #12
  %21638 = load i32, ptr %21637, align 4, !tbaa !5
  %21639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21626, ptr noundef @.str.2, i32 noundef %21627, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 627, ptr noundef %21630, ptr noundef %21633, ptr noundef %21636, i32 noundef %21638) #11
  br label %21657

21640:                                            ; preds = %21618, %21611
  %21641 = load i32, ptr %427, align 4, !tbaa !5
  %21642 = call ptr @__errno_location() #12
  store i32 %21641, ptr %21642, align 4, !tbaa !5
  %21643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21644 = load i32, ptr @test_count, align 4, !tbaa !5
  %21645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21646 = load i32, ptr %21645, align 4, !tbaa !5
  %21647 = call ptr @s2n_strerror(i32 noundef %21646, ptr noundef @.str.4)
  %21648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21649 = load i32, ptr %21648, align 4, !tbaa !5
  %21650 = call ptr @s2n_strerror_debug(i32 noundef %21649, ptr noundef @.str.4)
  %21651 = call ptr @__errno_location() #12
  %21652 = load i32, ptr %21651, align 4, !tbaa !5
  %21653 = call ptr @strerror(i32 noundef %21652) #11
  %21654 = call ptr @__errno_location() #12
  %21655 = load i32, ptr %21654, align 4, !tbaa !5
  %21656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21643, ptr noundef @.str.5, i32 noundef %21644, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 627, ptr noundef %21647, ptr noundef %21650, ptr noundef %21653, i32 noundef %21655) #11
  br label %21657

21657:                                            ; preds = %21640, %21623
  call void @llvm.lifetime.end.p0(i64 4, ptr %427) #11
  br label %21658

21658:                                            ; preds = %21657
  br label %21659

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

21660:                                            ; No predecessors!
  br label %21661

21661:                                            ; preds = %21660
  br label %21662

21662:                                            ; preds = %21661, %21602
  br label %21663

21663:                                            ; preds = %21662
  br label %21664

21664:                                            ; preds = %21663
  br label %21665

21665:                                            ; preds = %21664
  br label %21666

21666:                                            ; preds = %21665
  br label %21667

21667:                                            ; preds = %21666
  %21668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21668, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21669 = call ptr @__errno_location() #12
  store i32 0, ptr %21669, align 4, !tbaa !5
  br label %21670

21670:                                            ; preds = %21667
  br label %21671

21671:                                            ; preds = %21670
  br label %21672

21672:                                            ; preds = %21671
  br label %21673

21673:                                            ; preds = %21672
  br label %21674

21674:                                            ; preds = %21673
  %21675 = load i32, ptr @test_count, align 4, !tbaa !5
  %21676 = add nsw i32 %21675, 1
  store i32 %21676, ptr @test_count, align 4, !tbaa !5
  %21677 = load ptr, ptr %406, align 8, !tbaa !9
  %21678 = call i32 @s2n_conn_get_current_message_type(ptr noundef %21677)
  %21679 = icmp eq i32 %21678, 13
  br i1 %21679, label %21733, label %21680

21680:                                            ; preds = %21674
  br label %21681

21681:                                            ; preds = %21680
  br label %21682

21682:                                            ; preds = %21681
  call void @llvm.lifetime.start.p0(i64 4, ptr %428) #11
  %21683 = call ptr @__errno_location() #12
  %21684 = load i32, ptr %21683, align 4, !tbaa !5
  store i32 %21684, ptr %428, align 4, !tbaa !5
  %21685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21686 = call i32 @s2n_print_stacktrace(ptr noundef %21685)
  %21687 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21688 = trunc i8 %21687 to i1
  br i1 %21688, label %21689, label %21711

21689:                                            ; preds = %21682
  %21690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21691 = call i32 @fileno(ptr noundef %21690) #11
  %21692 = call i32 @isatty(i32 noundef %21691) #11
  %21693 = icmp ne i32 %21692, 0
  br i1 %21693, label %21694, label %21711

21694:                                            ; preds = %21689
  %21695 = load i32, ptr %428, align 4, !tbaa !5
  %21696 = call ptr @__errno_location() #12
  store i32 %21695, ptr %21696, align 4, !tbaa !5
  %21697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21698 = load i32, ptr @test_count, align 4, !tbaa !5
  %21699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21700 = load i32, ptr %21699, align 4, !tbaa !5
  %21701 = call ptr @s2n_strerror(i32 noundef %21700, ptr noundef @.str.4)
  %21702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21703 = load i32, ptr %21702, align 4, !tbaa !5
  %21704 = call ptr @s2n_strerror_debug(i32 noundef %21703, ptr noundef @.str.4)
  %21705 = call ptr @__errno_location() #12
  %21706 = load i32, ptr %21705, align 4, !tbaa !5
  %21707 = call ptr @strerror(i32 noundef %21706) #11
  %21708 = call ptr @__errno_location() #12
  %21709 = load i32, ptr %21708, align 4, !tbaa !5
  %21710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21697, ptr noundef @.str.2, i32 noundef %21698, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 628, ptr noundef %21701, ptr noundef %21704, ptr noundef %21707, i32 noundef %21709) #11
  br label %21728

21711:                                            ; preds = %21689, %21682
  %21712 = load i32, ptr %428, align 4, !tbaa !5
  %21713 = call ptr @__errno_location() #12
  store i32 %21712, ptr %21713, align 4, !tbaa !5
  %21714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21715 = load i32, ptr @test_count, align 4, !tbaa !5
  %21716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21717 = load i32, ptr %21716, align 4, !tbaa !5
  %21718 = call ptr @s2n_strerror(i32 noundef %21717, ptr noundef @.str.4)
  %21719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21720 = load i32, ptr %21719, align 4, !tbaa !5
  %21721 = call ptr @s2n_strerror_debug(i32 noundef %21720, ptr noundef @.str.4)
  %21722 = call ptr @__errno_location() #12
  %21723 = load i32, ptr %21722, align 4, !tbaa !5
  %21724 = call ptr @strerror(i32 noundef %21723) #11
  %21725 = call ptr @__errno_location() #12
  %21726 = load i32, ptr %21725, align 4, !tbaa !5
  %21727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21714, ptr noundef @.str.5, i32 noundef %21715, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 628, ptr noundef %21718, ptr noundef %21721, ptr noundef %21724, i32 noundef %21726) #11
  br label %21728

21728:                                            ; preds = %21711, %21694
  call void @llvm.lifetime.end.p0(i64 4, ptr %428) #11
  br label %21729

21729:                                            ; preds = %21728
  br label %21730

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

21731:                                            ; No predecessors!
  br label %21732

21732:                                            ; preds = %21731
  br label %21733

21733:                                            ; preds = %21732, %21674
  br label %21734

21734:                                            ; preds = %21733
  br label %21735

21735:                                            ; preds = %21734
  br label %21736

21736:                                            ; preds = %21735
  %21737 = load i32, ptr @test_count, align 4, !tbaa !5
  %21738 = add nsw i32 %21737, 1
  store i32 %21738, ptr @test_count, align 4, !tbaa !5
  %21739 = load ptr, ptr %406, align 8, !tbaa !9
  %21740 = getelementptr inbounds %struct.s2n_connection, ptr %21739, i32 0, i32 89
  %21741 = load i32, ptr %21740, align 8, !tbaa !19
  %21742 = icmp eq i32 %21741, 5
  br i1 %21742, label %21796, label %21743

21743:                                            ; preds = %21736
  br label %21744

21744:                                            ; preds = %21743
  br label %21745

21745:                                            ; preds = %21744
  call void @llvm.lifetime.start.p0(i64 4, ptr %429) #11
  %21746 = call ptr @__errno_location() #12
  %21747 = load i32, ptr %21746, align 4, !tbaa !5
  store i32 %21747, ptr %429, align 4, !tbaa !5
  %21748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21749 = call i32 @s2n_print_stacktrace(ptr noundef %21748)
  %21750 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21751 = trunc i8 %21750 to i1
  br i1 %21751, label %21752, label %21774

21752:                                            ; preds = %21745
  %21753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21754 = call i32 @fileno(ptr noundef %21753) #11
  %21755 = call i32 @isatty(i32 noundef %21754) #11
  %21756 = icmp ne i32 %21755, 0
  br i1 %21756, label %21757, label %21774

21757:                                            ; preds = %21752
  %21758 = load i32, ptr %429, align 4, !tbaa !5
  %21759 = call ptr @__errno_location() #12
  store i32 %21758, ptr %21759, align 4, !tbaa !5
  %21760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21761 = load i32, ptr @test_count, align 4, !tbaa !5
  %21762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21763 = load i32, ptr %21762, align 4, !tbaa !5
  %21764 = call ptr @s2n_strerror(i32 noundef %21763, ptr noundef @.str.4)
  %21765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21766 = load i32, ptr %21765, align 4, !tbaa !5
  %21767 = call ptr @s2n_strerror_debug(i32 noundef %21766, ptr noundef @.str.4)
  %21768 = call ptr @__errno_location() #12
  %21769 = load i32, ptr %21768, align 4, !tbaa !5
  %21770 = call ptr @strerror(i32 noundef %21769) #11
  %21771 = call ptr @__errno_location() #12
  %21772 = load i32, ptr %21771, align 4, !tbaa !5
  %21773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21760, ptr noundef @.str.2, i32 noundef %21761, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 631, ptr noundef %21764, ptr noundef %21767, ptr noundef %21770, i32 noundef %21772) #11
  br label %21791

21774:                                            ; preds = %21752, %21745
  %21775 = load i32, ptr %429, align 4, !tbaa !5
  %21776 = call ptr @__errno_location() #12
  store i32 %21775, ptr %21776, align 4, !tbaa !5
  %21777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21778 = load i32, ptr @test_count, align 4, !tbaa !5
  %21779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21780 = load i32, ptr %21779, align 4, !tbaa !5
  %21781 = call ptr @s2n_strerror(i32 noundef %21780, ptr noundef @.str.4)
  %21782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21783 = load i32, ptr %21782, align 4, !tbaa !5
  %21784 = call ptr @s2n_strerror_debug(i32 noundef %21783, ptr noundef @.str.4)
  %21785 = call ptr @__errno_location() #12
  %21786 = load i32, ptr %21785, align 4, !tbaa !5
  %21787 = call ptr @strerror(i32 noundef %21786) #11
  %21788 = call ptr @__errno_location() #12
  %21789 = load i32, ptr %21788, align 4, !tbaa !5
  %21790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21777, ptr noundef @.str.5, i32 noundef %21778, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 631, ptr noundef %21781, ptr noundef %21784, ptr noundef %21787, i32 noundef %21789) #11
  br label %21791

21791:                                            ; preds = %21774, %21757
  call void @llvm.lifetime.end.p0(i64 4, ptr %429) #11
  br label %21792

21792:                                            ; preds = %21791
  br label %21793

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

21794:                                            ; No predecessors!
  br label %21795

21795:                                            ; preds = %21794
  br label %21796

21796:                                            ; preds = %21795, %21736
  br label %21797

21797:                                            ; preds = %21796
  br label %21798

21798:                                            ; preds = %21797
  br label %21799

21799:                                            ; preds = %21798
  br label %21800

21800:                                            ; preds = %21799
  br label %21801

21801:                                            ; preds = %21800
  %21802 = load i32, ptr @test_count, align 4, !tbaa !5
  %21803 = add nsw i32 %21802, 1
  store i32 %21803, ptr @test_count, align 4, !tbaa !5
  %21804 = load ptr, ptr %406, align 8, !tbaa !9
  %21805 = call i64 @s2n_send(ptr noundef %21804, ptr noundef null, i64 noundef 0, ptr noundef %415)
  %21806 = icmp eq i64 %21805, -1
  br i1 %21806, label %21860, label %21807

21807:                                            ; preds = %21801
  br label %21808

21808:                                            ; preds = %21807
  br label %21809

21809:                                            ; preds = %21808
  call void @llvm.lifetime.start.p0(i64 4, ptr %430) #11
  %21810 = call ptr @__errno_location() #12
  %21811 = load i32, ptr %21810, align 4, !tbaa !5
  store i32 %21811, ptr %430, align 4, !tbaa !5
  %21812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21813 = call i32 @s2n_print_stacktrace(ptr noundef %21812)
  %21814 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21815 = trunc i8 %21814 to i1
  br i1 %21815, label %21816, label %21838

21816:                                            ; preds = %21809
  %21817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21818 = call i32 @fileno(ptr noundef %21817) #11
  %21819 = call i32 @isatty(i32 noundef %21818) #11
  %21820 = icmp ne i32 %21819, 0
  br i1 %21820, label %21821, label %21838

21821:                                            ; preds = %21816
  %21822 = load i32, ptr %430, align 4, !tbaa !5
  %21823 = call ptr @__errno_location() #12
  store i32 %21822, ptr %21823, align 4, !tbaa !5
  %21824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21825 = load i32, ptr @test_count, align 4, !tbaa !5
  %21826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21827 = load i32, ptr %21826, align 4, !tbaa !5
  %21828 = call ptr @s2n_strerror(i32 noundef %21827, ptr noundef @.str.4)
  %21829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21830 = load i32, ptr %21829, align 4, !tbaa !5
  %21831 = call ptr @s2n_strerror_debug(i32 noundef %21830, ptr noundef @.str.4)
  %21832 = call ptr @__errno_location() #12
  %21833 = load i32, ptr %21832, align 4, !tbaa !5
  %21834 = call ptr @strerror(i32 noundef %21833) #11
  %21835 = call ptr @__errno_location() #12
  %21836 = load i32, ptr %21835, align 4, !tbaa !5
  %21837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21824, ptr noundef @.str.2, i32 noundef %21825, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 632, ptr noundef %21828, ptr noundef %21831, ptr noundef %21834, i32 noundef %21836) #11
  br label %21855

21838:                                            ; preds = %21816, %21809
  %21839 = load i32, ptr %430, align 4, !tbaa !5
  %21840 = call ptr @__errno_location() #12
  store i32 %21839, ptr %21840, align 4, !tbaa !5
  %21841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21842 = load i32, ptr @test_count, align 4, !tbaa !5
  %21843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21844 = load i32, ptr %21843, align 4, !tbaa !5
  %21845 = call ptr @s2n_strerror(i32 noundef %21844, ptr noundef @.str.4)
  %21846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21847 = load i32, ptr %21846, align 4, !tbaa !5
  %21848 = call ptr @s2n_strerror_debug(i32 noundef %21847, ptr noundef @.str.4)
  %21849 = call ptr @__errno_location() #12
  %21850 = load i32, ptr %21849, align 4, !tbaa !5
  %21851 = call ptr @strerror(i32 noundef %21850) #11
  %21852 = call ptr @__errno_location() #12
  %21853 = load i32, ptr %21852, align 4, !tbaa !5
  %21854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21841, ptr noundef @.str.5, i32 noundef %21842, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 632, ptr noundef %21845, ptr noundef %21848, ptr noundef %21851, i32 noundef %21853) #11
  br label %21855

21855:                                            ; preds = %21838, %21821
  call void @llvm.lifetime.end.p0(i64 4, ptr %430) #11
  br label %21856

21856:                                            ; preds = %21855
  br label %21857

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

21858:                                            ; No predecessors!
  br label %21859

21859:                                            ; preds = %21858
  br label %21860

21860:                                            ; preds = %21859, %21801
  br label %21861

21861:                                            ; preds = %21860
  br label %21862

21862:                                            ; preds = %21861
  br label %21863

21863:                                            ; preds = %21862
  %21864 = load i32, ptr @test_count, align 4, !tbaa !5
  %21865 = add nsw i32 %21864, 1
  store i32 %21865, ptr @test_count, align 4, !tbaa !5
  %21866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21867 = load i32, ptr %21866, align 4, !tbaa !5
  %21868 = icmp eq i32 %21867, 469762113
  br i1 %21868, label %21922, label %21869

21869:                                            ; preds = %21863
  br label %21870

21870:                                            ; preds = %21869
  br label %21871

21871:                                            ; preds = %21870
  call void @llvm.lifetime.start.p0(i64 4, ptr %431) #11
  %21872 = call ptr @__errno_location() #12
  %21873 = load i32, ptr %21872, align 4, !tbaa !5
  store i32 %21873, ptr %431, align 4, !tbaa !5
  %21874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21875 = call i32 @s2n_print_stacktrace(ptr noundef %21874)
  %21876 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21877 = trunc i8 %21876 to i1
  br i1 %21877, label %21878, label %21900

21878:                                            ; preds = %21871
  %21879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21880 = call i32 @fileno(ptr noundef %21879) #11
  %21881 = call i32 @isatty(i32 noundef %21880) #11
  %21882 = icmp ne i32 %21881, 0
  br i1 %21882, label %21883, label %21900

21883:                                            ; preds = %21878
  %21884 = load i32, ptr %431, align 4, !tbaa !5
  %21885 = call ptr @__errno_location() #12
  store i32 %21884, ptr %21885, align 4, !tbaa !5
  %21886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21887 = load i32, ptr @test_count, align 4, !tbaa !5
  %21888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21889 = load i32, ptr %21888, align 4, !tbaa !5
  %21890 = call ptr @s2n_strerror(i32 noundef %21889, ptr noundef @.str.4)
  %21891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21892 = load i32, ptr %21891, align 4, !tbaa !5
  %21893 = call ptr @s2n_strerror_debug(i32 noundef %21892, ptr noundef @.str.4)
  %21894 = call ptr @__errno_location() #12
  %21895 = load i32, ptr %21894, align 4, !tbaa !5
  %21896 = call ptr @strerror(i32 noundef %21895) #11
  %21897 = call ptr @__errno_location() #12
  %21898 = load i32, ptr %21897, align 4, !tbaa !5
  %21899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21886, ptr noundef @.str.2, i32 noundef %21887, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 632, ptr noundef %21890, ptr noundef %21893, ptr noundef %21896, i32 noundef %21898) #11
  br label %21917

21900:                                            ; preds = %21878, %21871
  %21901 = load i32, ptr %431, align 4, !tbaa !5
  %21902 = call ptr @__errno_location() #12
  store i32 %21901, ptr %21902, align 4, !tbaa !5
  %21903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21904 = load i32, ptr @test_count, align 4, !tbaa !5
  %21905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21906 = load i32, ptr %21905, align 4, !tbaa !5
  %21907 = call ptr @s2n_strerror(i32 noundef %21906, ptr noundef @.str.4)
  %21908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21909 = load i32, ptr %21908, align 4, !tbaa !5
  %21910 = call ptr @s2n_strerror_debug(i32 noundef %21909, ptr noundef @.str.4)
  %21911 = call ptr @__errno_location() #12
  %21912 = load i32, ptr %21911, align 4, !tbaa !5
  %21913 = call ptr @strerror(i32 noundef %21912) #11
  %21914 = call ptr @__errno_location() #12
  %21915 = load i32, ptr %21914, align 4, !tbaa !5
  %21916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21903, ptr noundef @.str.5, i32 noundef %21904, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 632, ptr noundef %21907, ptr noundef %21910, ptr noundef %21913, i32 noundef %21915) #11
  br label %21917

21917:                                            ; preds = %21900, %21883
  call void @llvm.lifetime.end.p0(i64 4, ptr %431) #11
  br label %21918

21918:                                            ; preds = %21917
  br label %21919

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

21920:                                            ; No predecessors!
  br label %21921

21921:                                            ; preds = %21920
  br label %21922

21922:                                            ; preds = %21921, %21863
  br label %21923

21923:                                            ; preds = %21922
  br label %21924

21924:                                            ; preds = %21923
  br label %21925

21925:                                            ; preds = %21924
  %21926 = load i32, ptr @test_count, align 4, !tbaa !5
  %21927 = add nsw i32 %21926, 1
  store i32 %21927, ptr @test_count, align 4, !tbaa !5
  %21928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21929 = load i32, ptr %21928, align 4, !tbaa !5
  %21930 = call ptr @s2n_strerror_debug(i32 noundef %21929, ptr noundef @.str.4)
  %21931 = icmp eq ptr %21930, null
  br i1 %21931, label %21932, label %21985

21932:                                            ; preds = %21925
  br label %21933

21933:                                            ; preds = %21932
  br label %21934

21934:                                            ; preds = %21933
  call void @llvm.lifetime.start.p0(i64 4, ptr %432) #11
  %21935 = call ptr @__errno_location() #12
  %21936 = load i32, ptr %21935, align 4, !tbaa !5
  store i32 %21936, ptr %432, align 4, !tbaa !5
  %21937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21938 = call i32 @s2n_print_stacktrace(ptr noundef %21937)
  %21939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21940 = trunc i8 %21939 to i1
  br i1 %21940, label %21941, label %21963

21941:                                            ; preds = %21934
  %21942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21943 = call i32 @fileno(ptr noundef %21942) #11
  %21944 = call i32 @isatty(i32 noundef %21943) #11
  %21945 = icmp ne i32 %21944, 0
  br i1 %21945, label %21946, label %21963

21946:                                            ; preds = %21941
  %21947 = load i32, ptr %432, align 4, !tbaa !5
  %21948 = call ptr @__errno_location() #12
  store i32 %21947, ptr %21948, align 4, !tbaa !5
  %21949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21950 = load i32, ptr @test_count, align 4, !tbaa !5
  %21951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21952 = load i32, ptr %21951, align 4, !tbaa !5
  %21953 = call ptr @s2n_strerror(i32 noundef %21952, ptr noundef @.str.4)
  %21954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21955 = load i32, ptr %21954, align 4, !tbaa !5
  %21956 = call ptr @s2n_strerror_debug(i32 noundef %21955, ptr noundef @.str.4)
  %21957 = call ptr @__errno_location() #12
  %21958 = load i32, ptr %21957, align 4, !tbaa !5
  %21959 = call ptr @strerror(i32 noundef %21958) #11
  %21960 = call ptr @__errno_location() #12
  %21961 = load i32, ptr %21960, align 4, !tbaa !5
  %21962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21949, ptr noundef @.str.2, i32 noundef %21950, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 632, ptr noundef %21953, ptr noundef %21956, ptr noundef %21959, i32 noundef %21961) #11
  br label %21980

21963:                                            ; preds = %21941, %21934
  %21964 = load i32, ptr %432, align 4, !tbaa !5
  %21965 = call ptr @__errno_location() #12
  store i32 %21964, ptr %21965, align 4, !tbaa !5
  %21966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21967 = load i32, ptr @test_count, align 4, !tbaa !5
  %21968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21969 = load i32, ptr %21968, align 4, !tbaa !5
  %21970 = call ptr @s2n_strerror(i32 noundef %21969, ptr noundef @.str.4)
  %21971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21972 = load i32, ptr %21971, align 4, !tbaa !5
  %21973 = call ptr @s2n_strerror_debug(i32 noundef %21972, ptr noundef @.str.4)
  %21974 = call ptr @__errno_location() #12
  %21975 = load i32, ptr %21974, align 4, !tbaa !5
  %21976 = call ptr @strerror(i32 noundef %21975) #11
  %21977 = call ptr @__errno_location() #12
  %21978 = load i32, ptr %21977, align 4, !tbaa !5
  %21979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21966, ptr noundef @.str.5, i32 noundef %21967, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 632, ptr noundef %21970, ptr noundef %21973, ptr noundef %21976, i32 noundef %21978) #11
  br label %21980

21980:                                            ; preds = %21963, %21946
  call void @llvm.lifetime.end.p0(i64 4, ptr %432) #11
  br label %21981

21981:                                            ; preds = %21980
  br label %21982

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

21983:                                            ; No predecessors!
  br label %21984

21984:                                            ; preds = %21983
  br label %21985

21985:                                            ; preds = %21984, %21925
  br label %21986

21986:                                            ; preds = %21985
  br label %21987

21987:                                            ; preds = %21986
  br label %21988

21988:                                            ; preds = %21987
  br label %21989

21989:                                            ; preds = %21988
  br label %21990

21990:                                            ; preds = %21989
  %21991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21991, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21992 = call ptr @__errno_location() #12
  store i32 0, ptr %21992, align 4, !tbaa !5
  br label %21993

21993:                                            ; preds = %21990
  br label %21994

21994:                                            ; preds = %21993
  br label %21995

21995:                                            ; preds = %21994
  br label %21996

21996:                                            ; preds = %21995
  br label %21997

21997:                                            ; preds = %21996
  %21998 = load i32, ptr @test_count, align 4, !tbaa !5
  %21999 = add nsw i32 %21998, 1
  store i32 %21999, ptr @test_count, align 4, !tbaa !5
  %22000 = load ptr, ptr %406, align 8, !tbaa !9
  %22001 = call i32 @s2n_connection_free(ptr noundef %22000)
  %22002 = icmp eq i32 %22001, -1
  br i1 %22002, label %22003, label %22056

22003:                                            ; preds = %21997
  br label %22004

22004:                                            ; preds = %22003
  br label %22005

22005:                                            ; preds = %22004
  call void @llvm.lifetime.start.p0(i64 4, ptr %433) #11
  %22006 = call ptr @__errno_location() #12
  %22007 = load i32, ptr %22006, align 4, !tbaa !5
  store i32 %22007, ptr %433, align 4, !tbaa !5
  %22008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22009 = call i32 @s2n_print_stacktrace(ptr noundef %22008)
  %22010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22011 = trunc i8 %22010 to i1
  br i1 %22011, label %22012, label %22034

22012:                                            ; preds = %22005
  %22013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22014 = call i32 @fileno(ptr noundef %22013) #11
  %22015 = call i32 @isatty(i32 noundef %22014) #11
  %22016 = icmp ne i32 %22015, 0
  br i1 %22016, label %22017, label %22034

22017:                                            ; preds = %22012
  %22018 = load i32, ptr %433, align 4, !tbaa !5
  %22019 = call ptr @__errno_location() #12
  store i32 %22018, ptr %22019, align 4, !tbaa !5
  %22020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22021 = load i32, ptr @test_count, align 4, !tbaa !5
  %22022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22023 = load i32, ptr %22022, align 4, !tbaa !5
  %22024 = call ptr @s2n_strerror(i32 noundef %22023, ptr noundef @.str.4)
  %22025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22026 = load i32, ptr %22025, align 4, !tbaa !5
  %22027 = call ptr @s2n_strerror_debug(i32 noundef %22026, ptr noundef @.str.4)
  %22028 = call ptr @__errno_location() #12
  %22029 = load i32, ptr %22028, align 4, !tbaa !5
  %22030 = call ptr @strerror(i32 noundef %22029) #11
  %22031 = call ptr @__errno_location() #12
  %22032 = load i32, ptr %22031, align 4, !tbaa !5
  %22033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22020, ptr noundef @.str.2, i32 noundef %22021, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 634, ptr noundef %22024, ptr noundef %22027, ptr noundef %22030, i32 noundef %22032) #11
  br label %22051

22034:                                            ; preds = %22012, %22005
  %22035 = load i32, ptr %433, 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.5, i32 noundef %22038, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 634, ptr noundef %22041, ptr noundef %22044, ptr noundef %22047, i32 noundef %22049) #11
  br label %22051

22051:                                            ; preds = %22034, %22017
  call void @llvm.lifetime.end.p0(i64 4, ptr %433) #11
  br label %22052

22052:                                            ; preds = %22051
  br label %22053

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

22054:                                            ; No predecessors!
  br label %22055

22055:                                            ; preds = %22054
  br label %22056

22056:                                            ; preds = %22055, %21997
  br label %22057

22057:                                            ; preds = %22056
  br label %22058

22058:                                            ; preds = %22057
  br label %22059

22059:                                            ; preds = %22058
  %22060 = load i32, ptr @test_count, align 4, !tbaa !5
  %22061 = add nsw i32 %22060, 1
  store i32 %22061, ptr @test_count, align 4, !tbaa !5
  %22062 = load ptr, ptr %407, align 8, !tbaa !9
  %22063 = call i32 @s2n_connection_free(ptr noundef %22062)
  %22064 = icmp eq i32 %22063, -1
  br i1 %22064, label %22065, label %22118

22065:                                            ; preds = %22059
  br label %22066

22066:                                            ; preds = %22065
  br label %22067

22067:                                            ; preds = %22066
  call void @llvm.lifetime.start.p0(i64 4, ptr %434) #11
  %22068 = call ptr @__errno_location() #12
  %22069 = load i32, ptr %22068, align 4, !tbaa !5
  store i32 %22069, ptr %434, align 4, !tbaa !5
  %22070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22071 = call i32 @s2n_print_stacktrace(ptr noundef %22070)
  %22072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22073 = trunc i8 %22072 to i1
  br i1 %22073, label %22074, label %22096

22074:                                            ; preds = %22067
  %22075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22076 = call i32 @fileno(ptr noundef %22075) #11
  %22077 = call i32 @isatty(i32 noundef %22076) #11
  %22078 = icmp ne i32 %22077, 0
  br i1 %22078, label %22079, label %22096

22079:                                            ; preds = %22074
  %22080 = load i32, ptr %434, align 4, !tbaa !5
  %22081 = call ptr @__errno_location() #12
  store i32 %22080, ptr %22081, align 4, !tbaa !5
  %22082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22083 = load i32, ptr @test_count, align 4, !tbaa !5
  %22084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22085 = load i32, ptr %22084, align 4, !tbaa !5
  %22086 = call ptr @s2n_strerror(i32 noundef %22085, ptr noundef @.str.4)
  %22087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22088 = load i32, ptr %22087, align 4, !tbaa !5
  %22089 = call ptr @s2n_strerror_debug(i32 noundef %22088, ptr noundef @.str.4)
  %22090 = call ptr @__errno_location() #12
  %22091 = load i32, ptr %22090, align 4, !tbaa !5
  %22092 = call ptr @strerror(i32 noundef %22091) #11
  %22093 = call ptr @__errno_location() #12
  %22094 = load i32, ptr %22093, align 4, !tbaa !5
  %22095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22082, ptr noundef @.str.2, i32 noundef %22083, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 635, ptr noundef %22086, ptr noundef %22089, ptr noundef %22092, i32 noundef %22094) #11
  br label %22113

22096:                                            ; preds = %22074, %22067
  %22097 = load i32, ptr %434, 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.5, i32 noundef %22100, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 635, ptr noundef %22103, ptr noundef %22106, ptr noundef %22109, i32 noundef %22111) #11
  br label %22113

22113:                                            ; preds = %22096, %22079
  call void @llvm.lifetime.end.p0(i64 4, ptr %434) #11
  br label %22114

22114:                                            ; preds = %22113
  br label %22115

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

22116:                                            ; No predecessors!
  br label %22117

22117:                                            ; preds = %22116
  br label %22118

22118:                                            ; preds = %22117, %22059
  br label %22119

22119:                                            ; preds = %22118
  br label %22120

22120:                                            ; preds = %22119
  call void @llvm.lifetime.end.p0(i64 4, ptr %415) #11
  %22121 = call i32 @s2n_io_pair_close(ptr noundef %408)
  call void @llvm.lifetime.end.p0(i64 8, ptr %408) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %407) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %406) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %435) #11
  store ptr null, ptr %435, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %436) #11
  store ptr null, ptr %436, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %437) #11
  call void @llvm.memset.p0.i64(ptr align 4 %437, i8 0, i64 8, i1 false)
  br label %22122

22122:                                            ; preds = %22120
  %22123 = load i32, ptr @test_count, align 4, !tbaa !5
  %22124 = add nsw i32 %22123, 1
  store i32 %22124, ptr @test_count, align 4, !tbaa !5
  %22125 = call i32 @s2n_test_client_and_server_new(ptr noundef %435, ptr noundef %436, ptr noundef %437)
  %22126 = getelementptr inbounds %struct.s2n_result, ptr %438, i32 0, i32 0
  store i32 %22125, ptr %22126, align 4
  %22127 = getelementptr inbounds %struct.s2n_result, ptr %438, i32 0, i32 0
  %22128 = load i32, ptr %22127, align 4
  %22129 = call zeroext i1 @s2n_result_is_ok(i32 %22128)
  br i1 %22129, label %22183, label %22130

22130:                                            ; preds = %22122
  br label %22131

22131:                                            ; preds = %22130
  br label %22132

22132:                                            ; preds = %22131
  call void @llvm.lifetime.start.p0(i64 4, ptr %439) #11
  %22133 = call ptr @__errno_location() #12
  %22134 = load i32, ptr %22133, align 4, !tbaa !5
  store i32 %22134, ptr %439, align 4, !tbaa !5
  %22135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22136 = call i32 @s2n_print_stacktrace(ptr noundef %22135)
  %22137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22138 = trunc i8 %22137 to i1
  br i1 %22138, label %22139, label %22161

22139:                                            ; preds = %22132
  %22140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22141 = call i32 @fileno(ptr noundef %22140) #11
  %22142 = call i32 @isatty(i32 noundef %22141) #11
  %22143 = icmp ne i32 %22142, 0
  br i1 %22143, label %22144, label %22161

22144:                                            ; preds = %22139
  %22145 = load i32, ptr %439, align 4, !tbaa !5
  %22146 = call ptr @__errno_location() #12
  store i32 %22145, ptr %22146, align 4, !tbaa !5
  %22147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22148 = load i32, ptr @test_count, align 4, !tbaa !5
  %22149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22150 = load i32, ptr %22149, align 4, !tbaa !5
  %22151 = call ptr @s2n_strerror(i32 noundef %22150, ptr noundef @.str.4)
  %22152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22153 = load i32, ptr %22152, align 4, !tbaa !5
  %22154 = call ptr @s2n_strerror_debug(i32 noundef %22153, ptr noundef @.str.4)
  %22155 = call ptr @__errno_location() #12
  %22156 = load i32, ptr %22155, align 4, !tbaa !5
  %22157 = call ptr @strerror(i32 noundef %22156) #11
  %22158 = call ptr @__errno_location() #12
  %22159 = load i32, ptr %22158, align 4, !tbaa !5
  %22160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22147, ptr noundef @.str.2, i32 noundef %22148, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 643, ptr noundef %22151, ptr noundef %22154, ptr noundef %22157, i32 noundef %22159) #11
  br label %22178

22161:                                            ; preds = %22139, %22132
  %22162 = load i32, ptr %439, align 4, !tbaa !5
  %22163 = call ptr @__errno_location() #12
  store i32 %22162, ptr %22163, align 4, !tbaa !5
  %22164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22165 = load i32, ptr @test_count, align 4, !tbaa !5
  %22166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22167 = load i32, ptr %22166, align 4, !tbaa !5
  %22168 = call ptr @s2n_strerror(i32 noundef %22167, ptr noundef @.str.4)
  %22169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22170 = load i32, ptr %22169, align 4, !tbaa !5
  %22171 = call ptr @s2n_strerror_debug(i32 noundef %22170, ptr noundef @.str.4)
  %22172 = call ptr @__errno_location() #12
  %22173 = load i32, ptr %22172, align 4, !tbaa !5
  %22174 = call ptr @strerror(i32 noundef %22173) #11
  %22175 = call ptr @__errno_location() #12
  %22176 = load i32, ptr %22175, align 4, !tbaa !5
  %22177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22164, ptr noundef @.str.5, i32 noundef %22165, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 643, ptr noundef %22168, ptr noundef %22171, ptr noundef %22174, i32 noundef %22176) #11
  br label %22178

22178:                                            ; preds = %22161, %22144
  call void @llvm.lifetime.end.p0(i64 4, ptr %439) #11
  br label %22179

22179:                                            ; preds = %22178
  br label %22180

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

22181:                                            ; No predecessors!
  br label %22182

22182:                                            ; preds = %22181
  br label %22183

22183:                                            ; preds = %22182, %22122
  br label %22184

22184:                                            ; preds = %22183
  br label %22185

22185:                                            ; preds = %22184
  br label %22186

22186:                                            ; preds = %22185
  %22187 = load i32, ptr @test_count, align 4, !tbaa !5
  %22188 = add nsw i32 %22187, 1
  store i32 %22188, ptr @test_count, align 4, !tbaa !5
  %22189 = load ptr, ptr %435, align 8, !tbaa !9
  %22190 = load ptr, ptr %12, align 8, !tbaa !9
  %22191 = call i32 @s2n_connection_append_psk(ptr noundef %22189, ptr noundef %22190)
  %22192 = icmp eq i32 %22191, -1
  br i1 %22192, label %22193, label %22246

22193:                                            ; preds = %22186
  br label %22194

22194:                                            ; preds = %22193
  br label %22195

22195:                                            ; preds = %22194
  call void @llvm.lifetime.start.p0(i64 4, ptr %440) #11
  %22196 = call ptr @__errno_location() #12
  %22197 = load i32, ptr %22196, align 4, !tbaa !5
  store i32 %22197, ptr %440, align 4, !tbaa !5
  %22198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22199 = call i32 @s2n_print_stacktrace(ptr noundef %22198)
  %22200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22201 = trunc i8 %22200 to i1
  br i1 %22201, label %22202, label %22224

22202:                                            ; preds = %22195
  %22203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22204 = call i32 @fileno(ptr noundef %22203) #11
  %22205 = call i32 @isatty(i32 noundef %22204) #11
  %22206 = icmp ne i32 %22205, 0
  br i1 %22206, label %22207, label %22224

22207:                                            ; preds = %22202
  %22208 = load i32, ptr %440, align 4, !tbaa !5
  %22209 = call ptr @__errno_location() #12
  store i32 %22208, ptr %22209, align 4, !tbaa !5
  %22210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22211 = load i32, ptr @test_count, align 4, !tbaa !5
  %22212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22213 = load i32, ptr %22212, align 4, !tbaa !5
  %22214 = call ptr @s2n_strerror(i32 noundef %22213, ptr noundef @.str.4)
  %22215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22216 = load i32, ptr %22215, align 4, !tbaa !5
  %22217 = call ptr @s2n_strerror_debug(i32 noundef %22216, ptr noundef @.str.4)
  %22218 = call ptr @__errno_location() #12
  %22219 = load i32, ptr %22218, align 4, !tbaa !5
  %22220 = call ptr @strerror(i32 noundef %22219) #11
  %22221 = call ptr @__errno_location() #12
  %22222 = load i32, ptr %22221, align 4, !tbaa !5
  %22223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22210, ptr noundef @.str.2, i32 noundef %22211, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 645, ptr noundef %22214, ptr noundef %22217, ptr noundef %22220, i32 noundef %22222) #11
  br label %22241

22224:                                            ; preds = %22202, %22195
  %22225 = load i32, ptr %440, align 4, !tbaa !5
  %22226 = call ptr @__errno_location() #12
  store i32 %22225, ptr %22226, align 4, !tbaa !5
  %22227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22228 = load i32, ptr @test_count, align 4, !tbaa !5
  %22229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22230 = load i32, ptr %22229, align 4, !tbaa !5
  %22231 = call ptr @s2n_strerror(i32 noundef %22230, ptr noundef @.str.4)
  %22232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22233 = load i32, ptr %22232, align 4, !tbaa !5
  %22234 = call ptr @s2n_strerror_debug(i32 noundef %22233, ptr noundef @.str.4)
  %22235 = call ptr @__errno_location() #12
  %22236 = load i32, ptr %22235, align 4, !tbaa !5
  %22237 = call ptr @strerror(i32 noundef %22236) #11
  %22238 = call ptr @__errno_location() #12
  %22239 = load i32, ptr %22238, align 4, !tbaa !5
  %22240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22227, ptr noundef @.str.5, i32 noundef %22228, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 645, ptr noundef %22231, ptr noundef %22234, ptr noundef %22237, i32 noundef %22239) #11
  br label %22241

22241:                                            ; preds = %22224, %22207
  call void @llvm.lifetime.end.p0(i64 4, ptr %440) #11
  br label %22242

22242:                                            ; preds = %22241
  br label %22243

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

22244:                                            ; No predecessors!
  br label %22245

22245:                                            ; preds = %22244
  br label %22246

22246:                                            ; preds = %22245, %22186
  br label %22247

22247:                                            ; preds = %22246
  br label %22248

22248:                                            ; preds = %22247
  br label %22249

22249:                                            ; preds = %22248
  %22250 = load i32, ptr @test_count, align 4, !tbaa !5
  %22251 = add nsw i32 %22250, 1
  store i32 %22251, ptr @test_count, align 4, !tbaa !5
  %22252 = load ptr, ptr %436, align 8, !tbaa !9
  %22253 = load ptr, ptr %12, align 8, !tbaa !9
  %22254 = call i32 @s2n_connection_append_psk(ptr noundef %22252, ptr noundef %22253)
  %22255 = icmp eq i32 %22254, -1
  br i1 %22255, label %22256, label %22309

22256:                                            ; preds = %22249
  br label %22257

22257:                                            ; preds = %22256
  br label %22258

22258:                                            ; preds = %22257
  call void @llvm.lifetime.start.p0(i64 4, ptr %441) #11
  %22259 = call ptr @__errno_location() #12
  %22260 = load i32, ptr %22259, align 4, !tbaa !5
  store i32 %22260, ptr %441, align 4, !tbaa !5
  %22261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22262 = call i32 @s2n_print_stacktrace(ptr noundef %22261)
  %22263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22264 = trunc i8 %22263 to i1
  br i1 %22264, label %22265, label %22287

22265:                                            ; preds = %22258
  %22266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22267 = call i32 @fileno(ptr noundef %22266) #11
  %22268 = call i32 @isatty(i32 noundef %22267) #11
  %22269 = icmp ne i32 %22268, 0
  br i1 %22269, label %22270, label %22287

22270:                                            ; preds = %22265
  %22271 = load i32, ptr %441, align 4, !tbaa !5
  %22272 = call ptr @__errno_location() #12
  store i32 %22271, ptr %22272, align 4, !tbaa !5
  %22273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22274 = load i32, ptr @test_count, align 4, !tbaa !5
  %22275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22276 = load i32, ptr %22275, align 4, !tbaa !5
  %22277 = call ptr @s2n_strerror(i32 noundef %22276, ptr noundef @.str.4)
  %22278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22279 = load i32, ptr %22278, align 4, !tbaa !5
  %22280 = call ptr @s2n_strerror_debug(i32 noundef %22279, ptr noundef @.str.4)
  %22281 = call ptr @__errno_location() #12
  %22282 = load i32, ptr %22281, align 4, !tbaa !5
  %22283 = call ptr @strerror(i32 noundef %22282) #11
  %22284 = call ptr @__errno_location() #12
  %22285 = load i32, ptr %22284, align 4, !tbaa !5
  %22286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22273, ptr noundef @.str.2, i32 noundef %22274, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 646, ptr noundef %22277, ptr noundef %22280, ptr noundef %22283, i32 noundef %22285) #11
  br label %22304

22287:                                            ; preds = %22265, %22258
  %22288 = load i32, ptr %441, align 4, !tbaa !5
  %22289 = call ptr @__errno_location() #12
  store i32 %22288, ptr %22289, align 4, !tbaa !5
  %22290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22291 = load i32, ptr @test_count, align 4, !tbaa !5
  %22292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22293 = load i32, ptr %22292, align 4, !tbaa !5
  %22294 = call ptr @s2n_strerror(i32 noundef %22293, ptr noundef @.str.4)
  %22295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22296 = load i32, ptr %22295, align 4, !tbaa !5
  %22297 = call ptr @s2n_strerror_debug(i32 noundef %22296, ptr noundef @.str.4)
  %22298 = call ptr @__errno_location() #12
  %22299 = load i32, ptr %22298, align 4, !tbaa !5
  %22300 = call ptr @strerror(i32 noundef %22299) #11
  %22301 = call ptr @__errno_location() #12
  %22302 = load i32, ptr %22301, align 4, !tbaa !5
  %22303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22290, ptr noundef @.str.5, i32 noundef %22291, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 646, ptr noundef %22294, ptr noundef %22297, ptr noundef %22300, i32 noundef %22302) #11
  br label %22304

22304:                                            ; preds = %22287, %22270
  call void @llvm.lifetime.end.p0(i64 4, ptr %441) #11
  br label %22305

22305:                                            ; preds = %22304
  br label %22306

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

22307:                                            ; No predecessors!
  br label %22308

22308:                                            ; preds = %22307
  br label %22309

22309:                                            ; preds = %22308, %22249
  br label %22310

22310:                                            ; preds = %22309
  br label %22311

22311:                                            ; preds = %22310
  br label %22312

22312:                                            ; preds = %22311
  %22313 = load i32, ptr @test_count, align 4, !tbaa !5
  %22314 = add nsw i32 %22313, 1
  store i32 %22314, ptr @test_count, align 4, !tbaa !5
  %22315 = load ptr, ptr %435, align 8, !tbaa !9
  %22316 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %22315)
  %22317 = icmp eq i32 %22316, -1
  br i1 %22317, label %22318, label %22371

22318:                                            ; preds = %22312
  br label %22319

22319:                                            ; preds = %22318
  br label %22320

22320:                                            ; preds = %22319
  call void @llvm.lifetime.start.p0(i64 4, ptr %442) #11
  %22321 = call ptr @__errno_location() #12
  %22322 = load i32, ptr %22321, align 4, !tbaa !5
  store i32 %22322, ptr %442, align 4, !tbaa !5
  %22323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22324 = call i32 @s2n_print_stacktrace(ptr noundef %22323)
  %22325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22326 = trunc i8 %22325 to i1
  br i1 %22326, label %22327, label %22349

22327:                                            ; preds = %22320
  %22328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22329 = call i32 @fileno(ptr noundef %22328) #11
  %22330 = call i32 @isatty(i32 noundef %22329) #11
  %22331 = icmp ne i32 %22330, 0
  br i1 %22331, label %22332, label %22349

22332:                                            ; preds = %22327
  %22333 = load i32, ptr %442, align 4, !tbaa !5
  %22334 = call ptr @__errno_location() #12
  store i32 %22333, ptr %22334, align 4, !tbaa !5
  %22335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22336 = load i32, ptr @test_count, align 4, !tbaa !5
  %22337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22338 = load i32, ptr %22337, align 4, !tbaa !5
  %22339 = call ptr @s2n_strerror(i32 noundef %22338, ptr noundef @.str.4)
  %22340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22341 = load i32, ptr %22340, align 4, !tbaa !5
  %22342 = call ptr @s2n_strerror_debug(i32 noundef %22341, ptr noundef @.str.4)
  %22343 = call ptr @__errno_location() #12
  %22344 = load i32, ptr %22343, align 4, !tbaa !5
  %22345 = call ptr @strerror(i32 noundef %22344) #11
  %22346 = call ptr @__errno_location() #12
  %22347 = load i32, ptr %22346, align 4, !tbaa !5
  %22348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22335, ptr noundef @.str.2, i32 noundef %22336, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 647, ptr noundef %22339, ptr noundef %22342, ptr noundef %22345, i32 noundef %22347) #11
  br label %22366

22349:                                            ; preds = %22327, %22320
  %22350 = load i32, ptr %442, align 4, !tbaa !5
  %22351 = call ptr @__errno_location() #12
  store i32 %22350, ptr %22351, align 4, !tbaa !5
  %22352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22353 = load i32, ptr @test_count, align 4, !tbaa !5
  %22354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22355 = load i32, ptr %22354, align 4, !tbaa !5
  %22356 = call ptr @s2n_strerror(i32 noundef %22355, ptr noundef @.str.4)
  %22357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22358 = load i32, ptr %22357, align 4, !tbaa !5
  %22359 = call ptr @s2n_strerror_debug(i32 noundef %22358, ptr noundef @.str.4)
  %22360 = call ptr @__errno_location() #12
  %22361 = load i32, ptr %22360, align 4, !tbaa !5
  %22362 = call ptr @strerror(i32 noundef %22361) #11
  %22363 = call ptr @__errno_location() #12
  %22364 = load i32, ptr %22363, align 4, !tbaa !5
  %22365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22352, ptr noundef @.str.5, i32 noundef %22353, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 647, ptr noundef %22356, ptr noundef %22359, ptr noundef %22362, i32 noundef %22364) #11
  br label %22366

22366:                                            ; preds = %22349, %22332
  call void @llvm.lifetime.end.p0(i64 4, ptr %442) #11
  br label %22367

22367:                                            ; preds = %22366
  br label %22368

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

22369:                                            ; No predecessors!
  br label %22370

22370:                                            ; preds = %22369
  br label %22371

22371:                                            ; preds = %22370, %22312
  br label %22372

22372:                                            ; preds = %22371
  br label %22373

22373:                                            ; preds = %22372
  br label %22374

22374:                                            ; preds = %22373
  %22375 = load i32, ptr @test_count, align 4, !tbaa !5
  %22376 = add nsw i32 %22375, 1
  store i32 %22376, ptr @test_count, align 4, !tbaa !5
  %22377 = load ptr, ptr %436, align 8, !tbaa !9
  %22378 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %22377)
  %22379 = icmp eq i32 %22378, -1
  br i1 %22379, label %22380, label %22433

22380:                                            ; preds = %22374
  br label %22381

22381:                                            ; preds = %22380
  br label %22382

22382:                                            ; preds = %22381
  call void @llvm.lifetime.start.p0(i64 4, ptr %443) #11
  %22383 = call ptr @__errno_location() #12
  %22384 = load i32, ptr %22383, align 4, !tbaa !5
  store i32 %22384, ptr %443, align 4, !tbaa !5
  %22385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22386 = call i32 @s2n_print_stacktrace(ptr noundef %22385)
  %22387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22388 = trunc i8 %22387 to i1
  br i1 %22388, label %22389, label %22411

22389:                                            ; preds = %22382
  %22390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22391 = call i32 @fileno(ptr noundef %22390) #11
  %22392 = call i32 @isatty(i32 noundef %22391) #11
  %22393 = icmp ne i32 %22392, 0
  br i1 %22393, label %22394, label %22411

22394:                                            ; preds = %22389
  %22395 = load i32, ptr %443, align 4, !tbaa !5
  %22396 = call ptr @__errno_location() #12
  store i32 %22395, ptr %22396, align 4, !tbaa !5
  %22397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22398 = load i32, ptr @test_count, align 4, !tbaa !5
  %22399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22400 = load i32, ptr %22399, align 4, !tbaa !5
  %22401 = call ptr @s2n_strerror(i32 noundef %22400, ptr noundef @.str.4)
  %22402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22403 = load i32, ptr %22402, align 4, !tbaa !5
  %22404 = call ptr @s2n_strerror_debug(i32 noundef %22403, ptr noundef @.str.4)
  %22405 = call ptr @__errno_location() #12
  %22406 = load i32, ptr %22405, align 4, !tbaa !5
  %22407 = call ptr @strerror(i32 noundef %22406) #11
  %22408 = call ptr @__errno_location() #12
  %22409 = load i32, ptr %22408, align 4, !tbaa !5
  %22410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22397, ptr noundef @.str.2, i32 noundef %22398, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 648, ptr noundef %22401, ptr noundef %22404, ptr noundef %22407, i32 noundef %22409) #11
  br label %22428

22411:                                            ; preds = %22389, %22382
  %22412 = load i32, ptr %443, align 4, !tbaa !5
  %22413 = call ptr @__errno_location() #12
  store i32 %22412, ptr %22413, align 4, !tbaa !5
  %22414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22415 = load i32, ptr @test_count, align 4, !tbaa !5
  %22416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22417 = load i32, ptr %22416, align 4, !tbaa !5
  %22418 = call ptr @s2n_strerror(i32 noundef %22417, ptr noundef @.str.4)
  %22419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22420 = load i32, ptr %22419, align 4, !tbaa !5
  %22421 = call ptr @s2n_strerror_debug(i32 noundef %22420, ptr noundef @.str.4)
  %22422 = call ptr @__errno_location() #12
  %22423 = load i32, ptr %22422, align 4, !tbaa !5
  %22424 = call ptr @strerror(i32 noundef %22423) #11
  %22425 = call ptr @__errno_location() #12
  %22426 = load i32, ptr %22425, align 4, !tbaa !5
  %22427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22414, ptr noundef @.str.5, i32 noundef %22415, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 648, ptr noundef %22418, ptr noundef %22421, ptr noundef %22424, i32 noundef %22426) #11
  br label %22428

22428:                                            ; preds = %22411, %22394
  call void @llvm.lifetime.end.p0(i64 4, ptr %443) #11
  br label %22429

22429:                                            ; preds = %22428
  br label %22430

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

22431:                                            ; No predecessors!
  br label %22432

22432:                                            ; preds = %22431
  br label %22433

22433:                                            ; preds = %22432, %22374
  br label %22434

22434:                                            ; preds = %22433
  br label %22435

22435:                                            ; preds = %22434
  call void @llvm.lifetime.start.p0(i64 40, ptr %444) #11
  call void @llvm.memset.p0.i64(ptr align 8 %444, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %445) #11
  call void @llvm.memset.p0.i64(ptr align 8 %445, i8 0, i64 40, i1 false)
  br label %22436

22436:                                            ; preds = %22435
  %22437 = load i32, ptr @test_count, align 4, !tbaa !5
  %22438 = add nsw i32 %22437, 1
  store i32 %22438, ptr @test_count, align 4, !tbaa !5
  %22439 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %444, i32 noundef 0)
  %22440 = icmp eq i32 %22439, -1
  br i1 %22440, label %22441, label %22494

22441:                                            ; preds = %22436
  br label %22442

22442:                                            ; preds = %22441
  br label %22443

22443:                                            ; preds = %22442
  call void @llvm.lifetime.start.p0(i64 4, ptr %446) #11
  %22444 = call ptr @__errno_location() #12
  %22445 = load i32, ptr %22444, align 4, !tbaa !5
  store i32 %22445, ptr %446, align 4, !tbaa !5
  %22446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22447 = call i32 @s2n_print_stacktrace(ptr noundef %22446)
  %22448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22449 = trunc i8 %22448 to i1
  br i1 %22449, label %22450, label %22472

22450:                                            ; preds = %22443
  %22451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22452 = call i32 @fileno(ptr noundef %22451) #11
  %22453 = call i32 @isatty(i32 noundef %22452) #11
  %22454 = icmp ne i32 %22453, 0
  br i1 %22454, label %22455, label %22472

22455:                                            ; preds = %22450
  %22456 = load i32, ptr %446, align 4, !tbaa !5
  %22457 = call ptr @__errno_location() #12
  store i32 %22456, ptr %22457, align 4, !tbaa !5
  %22458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22459 = load i32, ptr @test_count, align 4, !tbaa !5
  %22460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22461 = load i32, ptr %22460, align 4, !tbaa !5
  %22462 = call ptr @s2n_strerror(i32 noundef %22461, ptr noundef @.str.4)
  %22463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22464 = load i32, ptr %22463, align 4, !tbaa !5
  %22465 = call ptr @s2n_strerror_debug(i32 noundef %22464, ptr noundef @.str.4)
  %22466 = call ptr @__errno_location() #12
  %22467 = load i32, ptr %22466, align 4, !tbaa !5
  %22468 = call ptr @strerror(i32 noundef %22467) #11
  %22469 = call ptr @__errno_location() #12
  %22470 = load i32, ptr %22469, align 4, !tbaa !5
  %22471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22458, ptr noundef @.str.2, i32 noundef %22459, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 655, ptr noundef %22462, ptr noundef %22465, ptr noundef %22468, i32 noundef %22470) #11
  br label %22489

22472:                                            ; preds = %22450, %22443
  %22473 = load i32, ptr %446, align 4, !tbaa !5
  %22474 = call ptr @__errno_location() #12
  store i32 %22473, ptr %22474, align 4, !tbaa !5
  %22475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22476 = load i32, ptr @test_count, align 4, !tbaa !5
  %22477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22478 = load i32, ptr %22477, align 4, !tbaa !5
  %22479 = call ptr @s2n_strerror(i32 noundef %22478, ptr noundef @.str.4)
  %22480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22481 = load i32, ptr %22480, align 4, !tbaa !5
  %22482 = call ptr @s2n_strerror_debug(i32 noundef %22481, ptr noundef @.str.4)
  %22483 = call ptr @__errno_location() #12
  %22484 = load i32, ptr %22483, align 4, !tbaa !5
  %22485 = call ptr @strerror(i32 noundef %22484) #11
  %22486 = call ptr @__errno_location() #12
  %22487 = load i32, ptr %22486, align 4, !tbaa !5
  %22488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22475, ptr noundef @.str.5, i32 noundef %22476, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 655, ptr noundef %22479, ptr noundef %22482, ptr noundef %22485, i32 noundef %22487) #11
  br label %22489

22489:                                            ; preds = %22472, %22455
  call void @llvm.lifetime.end.p0(i64 4, ptr %446) #11
  br label %22490

22490:                                            ; preds = %22489
  br label %22491

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

22492:                                            ; No predecessors!
  br label %22493

22493:                                            ; preds = %22492
  br label %22494

22494:                                            ; preds = %22493, %22436
  br label %22495

22495:                                            ; preds = %22494
  br label %22496

22496:                                            ; preds = %22495
  br label %22497

22497:                                            ; preds = %22496
  %22498 = load i32, ptr @test_count, align 4, !tbaa !5
  %22499 = add nsw i32 %22498, 1
  store i32 %22499, ptr @test_count, align 4, !tbaa !5
  %22500 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %445, i32 noundef 0)
  %22501 = icmp eq i32 %22500, -1
  br i1 %22501, label %22502, label %22555

22502:                                            ; preds = %22497
  br label %22503

22503:                                            ; preds = %22502
  br label %22504

22504:                                            ; preds = %22503
  call void @llvm.lifetime.start.p0(i64 4, ptr %447) #11
  %22505 = call ptr @__errno_location() #12
  %22506 = load i32, ptr %22505, align 4, !tbaa !5
  store i32 %22506, ptr %447, align 4, !tbaa !5
  %22507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22508 = call i32 @s2n_print_stacktrace(ptr noundef %22507)
  %22509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22510 = trunc i8 %22509 to i1
  br i1 %22510, label %22511, label %22533

22511:                                            ; preds = %22504
  %22512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22513 = call i32 @fileno(ptr noundef %22512) #11
  %22514 = call i32 @isatty(i32 noundef %22513) #11
  %22515 = icmp ne i32 %22514, 0
  br i1 %22515, label %22516, label %22533

22516:                                            ; preds = %22511
  %22517 = load i32, ptr %447, align 4, !tbaa !5
  %22518 = call ptr @__errno_location() #12
  store i32 %22517, ptr %22518, align 4, !tbaa !5
  %22519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22520 = load i32, ptr @test_count, align 4, !tbaa !5
  %22521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22522 = load i32, ptr %22521, align 4, !tbaa !5
  %22523 = call ptr @s2n_strerror(i32 noundef %22522, ptr noundef @.str.4)
  %22524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22525 = load i32, ptr %22524, align 4, !tbaa !5
  %22526 = call ptr @s2n_strerror_debug(i32 noundef %22525, ptr noundef @.str.4)
  %22527 = call ptr @__errno_location() #12
  %22528 = load i32, ptr %22527, align 4, !tbaa !5
  %22529 = call ptr @strerror(i32 noundef %22528) #11
  %22530 = call ptr @__errno_location() #12
  %22531 = load i32, ptr %22530, align 4, !tbaa !5
  %22532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22519, ptr noundef @.str.2, i32 noundef %22520, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 656, ptr noundef %22523, ptr noundef %22526, ptr noundef %22529, i32 noundef %22531) #11
  br label %22550

22533:                                            ; preds = %22511, %22504
  %22534 = load i32, ptr %447, align 4, !tbaa !5
  %22535 = call ptr @__errno_location() #12
  store i32 %22534, ptr %22535, align 4, !tbaa !5
  %22536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22537 = load i32, ptr @test_count, align 4, !tbaa !5
  %22538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22539 = load i32, ptr %22538, align 4, !tbaa !5
  %22540 = call ptr @s2n_strerror(i32 noundef %22539, ptr noundef @.str.4)
  %22541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22542 = load i32, ptr %22541, align 4, !tbaa !5
  %22543 = call ptr @s2n_strerror_debug(i32 noundef %22542, ptr noundef @.str.4)
  %22544 = call ptr @__errno_location() #12
  %22545 = load i32, ptr %22544, align 4, !tbaa !5
  %22546 = call ptr @strerror(i32 noundef %22545) #11
  %22547 = call ptr @__errno_location() #12
  %22548 = load i32, ptr %22547, align 4, !tbaa !5
  %22549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22536, ptr noundef @.str.5, i32 noundef %22537, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 656, ptr noundef %22540, ptr noundef %22543, ptr noundef %22546, i32 noundef %22548) #11
  br label %22550

22550:                                            ; preds = %22533, %22516
  call void @llvm.lifetime.end.p0(i64 4, ptr %447) #11
  br label %22551

22551:                                            ; preds = %22550
  br label %22552

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

22553:                                            ; No predecessors!
  br label %22554

22554:                                            ; preds = %22553
  br label %22555

22555:                                            ; preds = %22554, %22497
  br label %22556

22556:                                            ; preds = %22555
  br label %22557

22557:                                            ; preds = %22556
  br label %22558

22558:                                            ; preds = %22557
  %22559 = load i32, ptr @test_count, align 4, !tbaa !5
  %22560 = add nsw i32 %22559, 1
  store i32 %22560, ptr @test_count, align 4, !tbaa !5
  %22561 = load ptr, ptr %435, align 8, !tbaa !9
  %22562 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %444, ptr noundef %445, ptr noundef %22561)
  %22563 = icmp eq i32 %22562, -1
  br i1 %22563, label %22564, label %22617

22564:                                            ; preds = %22558
  br label %22565

22565:                                            ; preds = %22564
  br label %22566

22566:                                            ; preds = %22565
  call void @llvm.lifetime.start.p0(i64 4, ptr %448) #11
  %22567 = call ptr @__errno_location() #12
  %22568 = load i32, ptr %22567, align 4, !tbaa !5
  store i32 %22568, ptr %448, align 4, !tbaa !5
  %22569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22570 = call i32 @s2n_print_stacktrace(ptr noundef %22569)
  %22571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22572 = trunc i8 %22571 to i1
  br i1 %22572, label %22573, label %22595

22573:                                            ; preds = %22566
  %22574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22575 = call i32 @fileno(ptr noundef %22574) #11
  %22576 = call i32 @isatty(i32 noundef %22575) #11
  %22577 = icmp ne i32 %22576, 0
  br i1 %22577, label %22578, label %22595

22578:                                            ; preds = %22573
  %22579 = load i32, ptr %448, align 4, !tbaa !5
  %22580 = call ptr @__errno_location() #12
  store i32 %22579, ptr %22580, align 4, !tbaa !5
  %22581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22582 = load i32, ptr @test_count, align 4, !tbaa !5
  %22583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22584 = load i32, ptr %22583, align 4, !tbaa !5
  %22585 = call ptr @s2n_strerror(i32 noundef %22584, ptr noundef @.str.4)
  %22586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22587 = load i32, ptr %22586, align 4, !tbaa !5
  %22588 = call ptr @s2n_strerror_debug(i32 noundef %22587, ptr noundef @.str.4)
  %22589 = call ptr @__errno_location() #12
  %22590 = load i32, ptr %22589, align 4, !tbaa !5
  %22591 = call ptr @strerror(i32 noundef %22590) #11
  %22592 = call ptr @__errno_location() #12
  %22593 = load i32, ptr %22592, align 4, !tbaa !5
  %22594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22581, ptr noundef @.str.2, i32 noundef %22582, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 657, ptr noundef %22585, ptr noundef %22588, ptr noundef %22591, i32 noundef %22593) #11
  br label %22612

22595:                                            ; preds = %22573, %22566
  %22596 = load i32, ptr %448, align 4, !tbaa !5
  %22597 = call ptr @__errno_location() #12
  store i32 %22596, ptr %22597, align 4, !tbaa !5
  %22598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22599 = load i32, ptr @test_count, align 4, !tbaa !5
  %22600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22601 = load i32, ptr %22600, align 4, !tbaa !5
  %22602 = call ptr @s2n_strerror(i32 noundef %22601, ptr noundef @.str.4)
  %22603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22604 = load i32, ptr %22603, align 4, !tbaa !5
  %22605 = call ptr @s2n_strerror_debug(i32 noundef %22604, ptr noundef @.str.4)
  %22606 = call ptr @__errno_location() #12
  %22607 = load i32, ptr %22606, align 4, !tbaa !5
  %22608 = call ptr @strerror(i32 noundef %22607) #11
  %22609 = call ptr @__errno_location() #12
  %22610 = load i32, ptr %22609, align 4, !tbaa !5
  %22611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22598, ptr noundef @.str.5, i32 noundef %22599, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 657, ptr noundef %22602, ptr noundef %22605, ptr noundef %22608, i32 noundef %22610) #11
  br label %22612

22612:                                            ; preds = %22595, %22578
  call void @llvm.lifetime.end.p0(i64 4, ptr %448) #11
  br label %22613

22613:                                            ; preds = %22612
  br label %22614

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

22615:                                            ; No predecessors!
  br label %22616

22616:                                            ; preds = %22615
  br label %22617

22617:                                            ; preds = %22616, %22558
  br label %22618

22618:                                            ; preds = %22617
  br label %22619

22619:                                            ; preds = %22618
  br label %22620

22620:                                            ; preds = %22619
  %22621 = load i32, ptr @test_count, align 4, !tbaa !5
  %22622 = add nsw i32 %22621, 1
  store i32 %22622, ptr @test_count, align 4, !tbaa !5
  %22623 = load ptr, ptr %436, align 8, !tbaa !9
  %22624 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %445, ptr noundef %444, ptr noundef %22623)
  %22625 = icmp eq i32 %22624, -1
  br i1 %22625, label %22626, label %22679

22626:                                            ; preds = %22620
  br label %22627

22627:                                            ; preds = %22626
  br label %22628

22628:                                            ; preds = %22627
  call void @llvm.lifetime.start.p0(i64 4, ptr %449) #11
  %22629 = call ptr @__errno_location() #12
  %22630 = load i32, ptr %22629, align 4, !tbaa !5
  store i32 %22630, ptr %449, align 4, !tbaa !5
  %22631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22632 = call i32 @s2n_print_stacktrace(ptr noundef %22631)
  %22633 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22634 = trunc i8 %22633 to i1
  br i1 %22634, label %22635, label %22657

22635:                                            ; preds = %22628
  %22636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22637 = call i32 @fileno(ptr noundef %22636) #11
  %22638 = call i32 @isatty(i32 noundef %22637) #11
  %22639 = icmp ne i32 %22638, 0
  br i1 %22639, label %22640, label %22657

22640:                                            ; preds = %22635
  %22641 = load i32, ptr %449, align 4, !tbaa !5
  %22642 = call ptr @__errno_location() #12
  store i32 %22641, ptr %22642, align 4, !tbaa !5
  %22643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22644 = load i32, ptr @test_count, align 4, !tbaa !5
  %22645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22646 = load i32, ptr %22645, align 4, !tbaa !5
  %22647 = call ptr @s2n_strerror(i32 noundef %22646, ptr noundef @.str.4)
  %22648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22649 = load i32, ptr %22648, align 4, !tbaa !5
  %22650 = call ptr @s2n_strerror_debug(i32 noundef %22649, ptr noundef @.str.4)
  %22651 = call ptr @__errno_location() #12
  %22652 = load i32, ptr %22651, align 4, !tbaa !5
  %22653 = call ptr @strerror(i32 noundef %22652) #11
  %22654 = call ptr @__errno_location() #12
  %22655 = load i32, ptr %22654, align 4, !tbaa !5
  %22656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22643, ptr noundef @.str.2, i32 noundef %22644, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 658, ptr noundef %22647, ptr noundef %22650, ptr noundef %22653, i32 noundef %22655) #11
  br label %22674

22657:                                            ; preds = %22635, %22628
  %22658 = load i32, ptr %449, align 4, !tbaa !5
  %22659 = call ptr @__errno_location() #12
  store i32 %22658, ptr %22659, align 4, !tbaa !5
  %22660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22661 = load i32, ptr @test_count, align 4, !tbaa !5
  %22662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22663 = load i32, ptr %22662, align 4, !tbaa !5
  %22664 = call ptr @s2n_strerror(i32 noundef %22663, ptr noundef @.str.4)
  %22665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22666 = load i32, ptr %22665, align 4, !tbaa !5
  %22667 = call ptr @s2n_strerror_debug(i32 noundef %22666, ptr noundef @.str.4)
  %22668 = call ptr @__errno_location() #12
  %22669 = load i32, ptr %22668, align 4, !tbaa !5
  %22670 = call ptr @strerror(i32 noundef %22669) #11
  %22671 = call ptr @__errno_location() #12
  %22672 = load i32, ptr %22671, align 4, !tbaa !5
  %22673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22660, ptr noundef @.str.5, i32 noundef %22661, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 658, ptr noundef %22664, ptr noundef %22667, ptr noundef %22670, i32 noundef %22672) #11
  br label %22674

22674:                                            ; preds = %22657, %22640
  call void @llvm.lifetime.end.p0(i64 4, ptr %449) #11
  br label %22675

22675:                                            ; preds = %22674
  br label %22676

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

22677:                                            ; No predecessors!
  br label %22678

22678:                                            ; preds = %22677
  br label %22679

22679:                                            ; preds = %22678, %22620
  br label %22680

22680:                                            ; preds = %22679
  br label %22681

22681:                                            ; preds = %22680
  call void @llvm.lifetime.start.p0(i64 4, ptr %450) #11
  store i32 0, ptr %450, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1000, ptr %451) #11
  call void @llvm.memset.p0.i64(ptr align 16 %451, i8 0, i64 1000, i1 false)
  %22682 = getelementptr inbounds [1000 x i8], ptr %451, i32 0, i32 0
  store i8 104, ptr %22682, align 16
  %22683 = getelementptr inbounds [1000 x i8], ptr %451, i32 0, i32 1
  store i8 101, ptr %22683, align 1
  %22684 = getelementptr inbounds [1000 x i8], ptr %451, i32 0, i32 2
  store i8 108, ptr %22684, align 2
  %22685 = getelementptr inbounds [1000 x i8], ptr %451, i32 0, i32 3
  store i8 108, ptr %22685, align 1
  %22686 = getelementptr inbounds [1000 x i8], ptr %451, i32 0, i32 4
  store i8 111, ptr %22686, align 4
  br label %22687

22687:                                            ; preds = %22681
  %22688 = load i32, ptr @test_count, align 4, !tbaa !5
  %22689 = add nsw i32 %22688, 1
  store i32 %22689, ptr @test_count, align 4, !tbaa !5
  %22690 = load ptr, ptr %436, align 8, !tbaa !9
  %22691 = load ptr, ptr %435, align 8, !tbaa !9
  %22692 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %22690, ptr noundef %22691, i32 noundef 19)
  %22693 = getelementptr inbounds %struct.s2n_result, ptr %452, i32 0, i32 0
  store i32 %22692, ptr %22693, align 4
  %22694 = getelementptr inbounds %struct.s2n_result, ptr %452, i32 0, i32 0
  %22695 = load i32, ptr %22694, align 4
  %22696 = call zeroext i1 @s2n_result_is_ok(i32 %22695)
  br i1 %22696, label %22750, label %22697

22697:                                            ; preds = %22687
  br label %22698

22698:                                            ; preds = %22697
  br label %22699

22699:                                            ; preds = %22698
  call void @llvm.lifetime.start.p0(i64 4, ptr %453) #11
  %22700 = call ptr @__errno_location() #12
  %22701 = load i32, ptr %22700, align 4, !tbaa !5
  store i32 %22701, ptr %453, align 4, !tbaa !5
  %22702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22703 = call i32 @s2n_print_stacktrace(ptr noundef %22702)
  %22704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22705 = trunc i8 %22704 to i1
  br i1 %22705, label %22706, label %22728

22706:                                            ; preds = %22699
  %22707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22708 = call i32 @fileno(ptr noundef %22707) #11
  %22709 = call i32 @isatty(i32 noundef %22708) #11
  %22710 = icmp ne i32 %22709, 0
  br i1 %22710, label %22711, label %22728

22711:                                            ; preds = %22706
  %22712 = load i32, ptr %453, align 4, !tbaa !5
  %22713 = call ptr @__errno_location() #12
  store i32 %22712, ptr %22713, align 4, !tbaa !5
  %22714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22715 = load i32, ptr @test_count, align 4, !tbaa !5
  %22716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22717 = load i32, ptr %22716, align 4, !tbaa !5
  %22718 = call ptr @s2n_strerror(i32 noundef %22717, ptr noundef @.str.4)
  %22719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22720 = load i32, ptr %22719, align 4, !tbaa !5
  %22721 = call ptr @s2n_strerror_debug(i32 noundef %22720, ptr noundef @.str.4)
  %22722 = call ptr @__errno_location() #12
  %22723 = load i32, ptr %22722, align 4, !tbaa !5
  %22724 = call ptr @strerror(i32 noundef %22723) #11
  %22725 = call ptr @__errno_location() #12
  %22726 = load i32, ptr %22725, align 4, !tbaa !5
  %22727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22714, ptr noundef @.str.2, i32 noundef %22715, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 664, ptr noundef %22718, ptr noundef %22721, ptr noundef %22724, i32 noundef %22726) #11
  br label %22745

22728:                                            ; preds = %22706, %22699
  %22729 = load i32, ptr %453, align 4, !tbaa !5
  %22730 = call ptr @__errno_location() #12
  store i32 %22729, ptr %22730, align 4, !tbaa !5
  %22731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22732 = load i32, ptr @test_count, align 4, !tbaa !5
  %22733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22734 = load i32, ptr %22733, align 4, !tbaa !5
  %22735 = call ptr @s2n_strerror(i32 noundef %22734, ptr noundef @.str.4)
  %22736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22737 = load i32, ptr %22736, align 4, !tbaa !5
  %22738 = call ptr @s2n_strerror_debug(i32 noundef %22737, ptr noundef @.str.4)
  %22739 = call ptr @__errno_location() #12
  %22740 = load i32, ptr %22739, align 4, !tbaa !5
  %22741 = call ptr @strerror(i32 noundef %22740) #11
  %22742 = call ptr @__errno_location() #12
  %22743 = load i32, ptr %22742, align 4, !tbaa !5
  %22744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22731, ptr noundef @.str.5, i32 noundef %22732, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 664, ptr noundef %22735, ptr noundef %22738, ptr noundef %22741, i32 noundef %22743) #11
  br label %22745

22745:                                            ; preds = %22728, %22711
  call void @llvm.lifetime.end.p0(i64 4, ptr %453) #11
  br label %22746

22746:                                            ; preds = %22745
  br label %22747

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

22748:                                            ; No predecessors!
  br label %22749

22749:                                            ; preds = %22748
  br label %22750

22750:                                            ; preds = %22749, %22687
  br label %22751

22751:                                            ; preds = %22750
  br label %22752

22752:                                            ; preds = %22751
  call void @llvm.lifetime.start.p0(i64 8, ptr %454) #11
  store i64 100, ptr %454, align 8, !tbaa !15
  br label %22753

22753:                                            ; preds = %22752
  %22754 = load i32, ptr @test_count, align 4, !tbaa !5
  %22755 = add nsw i32 %22754, 1
  store i32 %22755, ptr @test_count, align 4, !tbaa !5
  %22756 = load i64, ptr %454, align 8, !tbaa !15
  %22757 = icmp ult i64 %22756, 1000
  br i1 %22757, label %22811, label %22758

22758:                                            ; preds = %22753
  br label %22759

22759:                                            ; preds = %22758
  br label %22760

22760:                                            ; preds = %22759
  call void @llvm.lifetime.start.p0(i64 4, ptr %455) #11
  %22761 = call ptr @__errno_location() #12
  %22762 = load i32, ptr %22761, align 4, !tbaa !5
  store i32 %22762, ptr %455, align 4, !tbaa !5
  %22763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22764 = call i32 @s2n_print_stacktrace(ptr noundef %22763)
  %22765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22766 = trunc i8 %22765 to i1
  br i1 %22766, label %22767, label %22789

22767:                                            ; preds = %22760
  %22768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22769 = call i32 @fileno(ptr noundef %22768) #11
  %22770 = call i32 @isatty(i32 noundef %22769) #11
  %22771 = icmp ne i32 %22770, 0
  br i1 %22771, label %22772, label %22789

22772:                                            ; preds = %22767
  %22773 = load i32, ptr %455, align 4, !tbaa !5
  %22774 = call ptr @__errno_location() #12
  store i32 %22773, ptr %22774, align 4, !tbaa !5
  %22775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22776 = load i32, ptr @test_count, align 4, !tbaa !5
  %22777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22778 = load i32, ptr %22777, align 4, !tbaa !5
  %22779 = call ptr @s2n_strerror(i32 noundef %22778, ptr noundef @.str.4)
  %22780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22781 = load i32, ptr %22780, align 4, !tbaa !5
  %22782 = call ptr @s2n_strerror_debug(i32 noundef %22781, ptr noundef @.str.4)
  %22783 = call ptr @__errno_location() #12
  %22784 = load i32, ptr %22783, align 4, !tbaa !5
  %22785 = call ptr @strerror(i32 noundef %22784) #11
  %22786 = call ptr @__errno_location() #12
  %22787 = load i32, ptr %22786, align 4, !tbaa !5
  %22788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22775, ptr noundef @.str.2, i32 noundef %22776, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 668, ptr noundef %22779, ptr noundef %22782, ptr noundef %22785, i32 noundef %22787) #11
  br label %22806

22789:                                            ; preds = %22767, %22760
  %22790 = load i32, ptr %455, align 4, !tbaa !5
  %22791 = call ptr @__errno_location() #12
  store i32 %22790, ptr %22791, align 4, !tbaa !5
  %22792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22793 = load i32, ptr @test_count, align 4, !tbaa !5
  %22794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22795 = load i32, ptr %22794, align 4, !tbaa !5
  %22796 = call ptr @s2n_strerror(i32 noundef %22795, ptr noundef @.str.4)
  %22797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22798 = load i32, ptr %22797, align 4, !tbaa !5
  %22799 = call ptr @s2n_strerror_debug(i32 noundef %22798, ptr noundef @.str.4)
  %22800 = call ptr @__errno_location() #12
  %22801 = load i32, ptr %22800, align 4, !tbaa !5
  %22802 = call ptr @strerror(i32 noundef %22801) #11
  %22803 = call ptr @__errno_location() #12
  %22804 = load i32, ptr %22803, align 4, !tbaa !5
  %22805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22792, ptr noundef @.str.5, i32 noundef %22793, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 668, ptr noundef %22796, ptr noundef %22799, ptr noundef %22802, i32 noundef %22804) #11
  br label %22806

22806:                                            ; preds = %22789, %22772
  call void @llvm.lifetime.end.p0(i64 4, ptr %455) #11
  br label %22807

22807:                                            ; preds = %22806
  br label %22808

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

22809:                                            ; No predecessors!
  br label %22810

22810:                                            ; preds = %22809
  br label %22811

22811:                                            ; preds = %22810, %22753
  br label %22812

22812:                                            ; preds = %22811
  br label %22813

22813:                                            ; preds = %22812
  %22814 = load i64, ptr %454, align 8, !tbaa !15
  %22815 = trunc i64 %22814 to i16
  %22816 = load ptr, ptr %435, align 8, !tbaa !9
  %22817 = getelementptr inbounds %struct.s2n_connection, ptr %22816, i32 0, i32 53
  store i16 %22815, ptr %22817, align 8, !tbaa !49
  br label %22818

22818:                                            ; preds = %22813
  %22819 = load i32, ptr @test_count, align 4, !tbaa !5
  %22820 = add nsw i32 %22819, 1
  store i32 %22820, ptr @test_count, align 4, !tbaa !5
  %22821 = call i32 @s2n_stuffer_free(ptr noundef %445)
  %22822 = icmp eq i32 %22821, -1
  br i1 %22822, label %22823, label %22876

22823:                                            ; preds = %22818
  br label %22824

22824:                                            ; preds = %22823
  br label %22825

22825:                                            ; preds = %22824
  call void @llvm.lifetime.start.p0(i64 4, ptr %456) #11
  %22826 = call ptr @__errno_location() #12
  %22827 = load i32, ptr %22826, align 4, !tbaa !5
  store i32 %22827, ptr %456, align 4, !tbaa !5
  %22828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22829 = call i32 @s2n_print_stacktrace(ptr noundef %22828)
  %22830 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22831 = trunc i8 %22830 to i1
  br i1 %22831, label %22832, label %22854

22832:                                            ; preds = %22825
  %22833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22834 = call i32 @fileno(ptr noundef %22833) #11
  %22835 = call i32 @isatty(i32 noundef %22834) #11
  %22836 = icmp ne i32 %22835, 0
  br i1 %22836, label %22837, label %22854

22837:                                            ; preds = %22832
  %22838 = load i32, ptr %456, align 4, !tbaa !5
  %22839 = call ptr @__errno_location() #12
  store i32 %22838, ptr %22839, align 4, !tbaa !5
  %22840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22841 = load i32, ptr @test_count, align 4, !tbaa !5
  %22842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22843 = load i32, ptr %22842, align 4, !tbaa !5
  %22844 = call ptr @s2n_strerror(i32 noundef %22843, ptr noundef @.str.4)
  %22845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22846 = load i32, ptr %22845, align 4, !tbaa !5
  %22847 = call ptr @s2n_strerror_debug(i32 noundef %22846, ptr noundef @.str.4)
  %22848 = call ptr @__errno_location() #12
  %22849 = load i32, ptr %22848, align 4, !tbaa !5
  %22850 = call ptr @strerror(i32 noundef %22849) #11
  %22851 = call ptr @__errno_location() #12
  %22852 = load i32, ptr %22851, align 4, !tbaa !5
  %22853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22840, ptr noundef @.str.2, i32 noundef %22841, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 670, ptr noundef %22844, ptr noundef %22847, ptr noundef %22850, i32 noundef %22852) #11
  br label %22871

22854:                                            ; preds = %22832, %22825
  %22855 = load i32, ptr %456, align 4, !tbaa !5
  %22856 = call ptr @__errno_location() #12
  store i32 %22855, ptr %22856, align 4, !tbaa !5
  %22857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22858 = load i32, ptr @test_count, align 4, !tbaa !5
  %22859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22860 = load i32, ptr %22859, align 4, !tbaa !5
  %22861 = call ptr @s2n_strerror(i32 noundef %22860, ptr noundef @.str.4)
  %22862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22863 = load i32, ptr %22862, align 4, !tbaa !5
  %22864 = call ptr @s2n_strerror_debug(i32 noundef %22863, ptr noundef @.str.4)
  %22865 = call ptr @__errno_location() #12
  %22866 = load i32, ptr %22865, align 4, !tbaa !5
  %22867 = call ptr @strerror(i32 noundef %22866) #11
  %22868 = call ptr @__errno_location() #12
  %22869 = load i32, ptr %22868, align 4, !tbaa !5
  %22870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22857, ptr noundef @.str.5, i32 noundef %22858, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 670, ptr noundef %22861, ptr noundef %22864, ptr noundef %22867, i32 noundef %22869) #11
  br label %22871

22871:                                            ; preds = %22854, %22837
  call void @llvm.lifetime.end.p0(i64 4, ptr %456) #11
  br label %22872

22872:                                            ; preds = %22871
  br label %22873

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

22874:                                            ; No predecessors!
  br label %22875

22875:                                            ; preds = %22874
  br label %22876

22876:                                            ; preds = %22875, %22818
  br label %22877

22877:                                            ; preds = %22876
  br label %22878

22878:                                            ; preds = %22877
  call void @llvm.lifetime.start.p0(i64 8, ptr %457) #11
  %22879 = load i64, ptr %454, align 8, !tbaa !15
  %22880 = uitofp i64 %22879 to double
  %22881 = fmul double %22880, 1.500000e+00
  %22882 = fptoui double %22881 to i64
  store i64 %22882, ptr %457, align 8, !tbaa !15
  br label %22883

22883:                                            ; preds = %22878
  %22884 = load i32, ptr @test_count, align 4, !tbaa !5
  %22885 = add nsw i32 %22884, 1
  store i32 %22885, ptr @test_count, align 4, !tbaa !5
  %22886 = load i64, ptr %457, align 8, !tbaa !15
  %22887 = trunc i64 %22886 to i32
  %22888 = call i32 @s2n_stuffer_alloc(ptr noundef %445, i32 noundef %22887)
  %22889 = icmp eq i32 %22888, -1
  br i1 %22889, label %22890, label %22943

22890:                                            ; preds = %22883
  br label %22891

22891:                                            ; preds = %22890
  br label %22892

22892:                                            ; preds = %22891
  call void @llvm.lifetime.start.p0(i64 4, ptr %458) #11
  %22893 = call ptr @__errno_location() #12
  %22894 = load i32, ptr %22893, align 4, !tbaa !5
  store i32 %22894, ptr %458, align 4, !tbaa !5
  %22895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22896 = call i32 @s2n_print_stacktrace(ptr noundef %22895)
  %22897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22898 = trunc i8 %22897 to i1
  br i1 %22898, label %22899, label %22921

22899:                                            ; preds = %22892
  %22900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22901 = call i32 @fileno(ptr noundef %22900) #11
  %22902 = call i32 @isatty(i32 noundef %22901) #11
  %22903 = icmp ne i32 %22902, 0
  br i1 %22903, label %22904, label %22921

22904:                                            ; preds = %22899
  %22905 = load i32, ptr %458, align 4, !tbaa !5
  %22906 = call ptr @__errno_location() #12
  store i32 %22905, ptr %22906, align 4, !tbaa !5
  %22907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22908 = load i32, ptr @test_count, align 4, !tbaa !5
  %22909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22910 = load i32, ptr %22909, align 4, !tbaa !5
  %22911 = call ptr @s2n_strerror(i32 noundef %22910, ptr noundef @.str.4)
  %22912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22913 = load i32, ptr %22912, align 4, !tbaa !5
  %22914 = call ptr @s2n_strerror_debug(i32 noundef %22913, ptr noundef @.str.4)
  %22915 = call ptr @__errno_location() #12
  %22916 = load i32, ptr %22915, align 4, !tbaa !5
  %22917 = call ptr @strerror(i32 noundef %22916) #11
  %22918 = call ptr @__errno_location() #12
  %22919 = load i32, ptr %22918, align 4, !tbaa !5
  %22920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22907, ptr noundef @.str.2, i32 noundef %22908, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 675, ptr noundef %22911, ptr noundef %22914, ptr noundef %22917, i32 noundef %22919) #11
  br label %22938

22921:                                            ; preds = %22899, %22892
  %22922 = load i32, ptr %458, align 4, !tbaa !5
  %22923 = call ptr @__errno_location() #12
  store i32 %22922, ptr %22923, align 4, !tbaa !5
  %22924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22925 = load i32, ptr @test_count, align 4, !tbaa !5
  %22926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22927 = load i32, ptr %22926, align 4, !tbaa !5
  %22928 = call ptr @s2n_strerror(i32 noundef %22927, ptr noundef @.str.4)
  %22929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22930 = load i32, ptr %22929, align 4, !tbaa !5
  %22931 = call ptr @s2n_strerror_debug(i32 noundef %22930, ptr noundef @.str.4)
  %22932 = call ptr @__errno_location() #12
  %22933 = load i32, ptr %22932, align 4, !tbaa !5
  %22934 = call ptr @strerror(i32 noundef %22933) #11
  %22935 = call ptr @__errno_location() #12
  %22936 = load i32, ptr %22935, align 4, !tbaa !5
  %22937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22924, ptr noundef @.str.5, i32 noundef %22925, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 675, ptr noundef %22928, ptr noundef %22931, ptr noundef %22934, i32 noundef %22936) #11
  br label %22938

22938:                                            ; preds = %22921, %22904
  call void @llvm.lifetime.end.p0(i64 4, ptr %458) #11
  br label %22939

22939:                                            ; preds = %22938
  br label %22940

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

22941:                                            ; No predecessors!
  br label %22942

22942:                                            ; preds = %22941
  br label %22943

22943:                                            ; preds = %22942, %22883
  br label %22944

22944:                                            ; preds = %22943
  br label %22945

22945:                                            ; preds = %22944
  call void @llvm.lifetime.start.p0(i64 8, ptr %459) #11
  %22946 = load ptr, ptr %435, align 8, !tbaa !9
  %22947 = getelementptr inbounds [1000 x i8], ptr %451, i64 0, i64 0
  %22948 = load i64, ptr %454, align 8, !tbaa !15
  %22949 = mul i64 %22948, 2
  %22950 = call i64 @s2n_send(ptr noundef %22946, ptr noundef %22947, i64 noundef %22949, ptr noundef %450)
  store i64 %22950, ptr %459, align 8, !tbaa !15
  br label %22951

22951:                                            ; preds = %22945
  %22952 = load i32, ptr @test_count, align 4, !tbaa !5
  %22953 = add nsw i32 %22952, 1
  store i32 %22953, ptr @test_count, align 4, !tbaa !5
  %22954 = load i32, ptr %450, align 4, !tbaa !5
  %22955 = icmp eq i32 %22954, 2
  br i1 %22955, label %23009, label %22956

22956:                                            ; preds = %22951
  br label %22957

22957:                                            ; preds = %22956
  br label %22958

22958:                                            ; preds = %22957
  call void @llvm.lifetime.start.p0(i64 4, ptr %460) #11
  %22959 = call ptr @__errno_location() #12
  %22960 = load i32, ptr %22959, align 4, !tbaa !5
  store i32 %22960, ptr %460, align 4, !tbaa !5
  %22961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22962 = call i32 @s2n_print_stacktrace(ptr noundef %22961)
  %22963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22964 = trunc i8 %22963 to i1
  br i1 %22964, label %22965, label %22987

22965:                                            ; preds = %22958
  %22966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22967 = call i32 @fileno(ptr noundef %22966) #11
  %22968 = call i32 @isatty(i32 noundef %22967) #11
  %22969 = icmp ne i32 %22968, 0
  br i1 %22969, label %22970, label %22987

22970:                                            ; preds = %22965
  %22971 = load i32, ptr %460, align 4, !tbaa !5
  %22972 = call ptr @__errno_location() #12
  store i32 %22971, ptr %22972, align 4, !tbaa !5
  %22973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22974 = load i32, ptr @test_count, align 4, !tbaa !5
  %22975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22976 = load i32, ptr %22975, align 4, !tbaa !5
  %22977 = call ptr @s2n_strerror(i32 noundef %22976, ptr noundef @.str.4)
  %22978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22979 = load i32, ptr %22978, align 4, !tbaa !5
  %22980 = call ptr @s2n_strerror_debug(i32 noundef %22979, ptr noundef @.str.4)
  %22981 = call ptr @__errno_location() #12
  %22982 = load i32, ptr %22981, align 4, !tbaa !5
  %22983 = call ptr @strerror(i32 noundef %22982) #11
  %22984 = call ptr @__errno_location() #12
  %22985 = load i32, ptr %22984, align 4, !tbaa !5
  %22986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22973, ptr noundef @.str.2, i32 noundef %22974, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 681, ptr noundef %22977, ptr noundef %22980, ptr noundef %22983, i32 noundef %22985) #11
  br label %23004

22987:                                            ; preds = %22965, %22958
  %22988 = load i32, ptr %460, align 4, !tbaa !5
  %22989 = call ptr @__errno_location() #12
  store i32 %22988, ptr %22989, align 4, !tbaa !5
  %22990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22991 = load i32, ptr @test_count, align 4, !tbaa !5
  %22992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22993 = load i32, ptr %22992, align 4, !tbaa !5
  %22994 = call ptr @s2n_strerror(i32 noundef %22993, ptr noundef @.str.4)
  %22995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22996 = load i32, ptr %22995, align 4, !tbaa !5
  %22997 = call ptr @s2n_strerror_debug(i32 noundef %22996, ptr noundef @.str.4)
  %22998 = call ptr @__errno_location() #12
  %22999 = load i32, ptr %22998, align 4, !tbaa !5
  %23000 = call ptr @strerror(i32 noundef %22999) #11
  %23001 = call ptr @__errno_location() #12
  %23002 = load i32, ptr %23001, align 4, !tbaa !5
  %23003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22990, ptr noundef @.str.5, i32 noundef %22991, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 681, ptr noundef %22994, ptr noundef %22997, ptr noundef %23000, i32 noundef %23002) #11
  br label %23004

23004:                                            ; preds = %22987, %22970
  call void @llvm.lifetime.end.p0(i64 4, ptr %460) #11
  br label %23005

23005:                                            ; preds = %23004
  br label %23006

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

23007:                                            ; No predecessors!
  br label %23008

23008:                                            ; preds = %23007
  br label %23009

23009:                                            ; preds = %23008, %22951
  br label %23010

23010:                                            ; preds = %23009
  br label %23011

23011:                                            ; preds = %23010
  br label %23012

23012:                                            ; preds = %23011
  %23013 = load i32, ptr @test_count, align 4, !tbaa !5
  %23014 = add nsw i32 %23013, 1
  store i32 %23014, ptr @test_count, align 4, !tbaa !5
  %23015 = load i64, ptr %459, align 8, !tbaa !15
  %23016 = load i64, ptr %454, align 8, !tbaa !15
  %23017 = icmp eq i64 %23015, %23016
  br i1 %23017, label %23071, label %23018

23018:                                            ; preds = %23012
  br label %23019

23019:                                            ; preds = %23018
  br label %23020

23020:                                            ; preds = %23019
  call void @llvm.lifetime.start.p0(i64 4, ptr %461) #11
  %23021 = call ptr @__errno_location() #12
  %23022 = load i32, ptr %23021, align 4, !tbaa !5
  store i32 %23022, ptr %461, align 4, !tbaa !5
  %23023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23024 = call i32 @s2n_print_stacktrace(ptr noundef %23023)
  %23025 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23026 = trunc i8 %23025 to i1
  br i1 %23026, label %23027, label %23049

23027:                                            ; preds = %23020
  %23028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23029 = call i32 @fileno(ptr noundef %23028) #11
  %23030 = call i32 @isatty(i32 noundef %23029) #11
  %23031 = icmp ne i32 %23030, 0
  br i1 %23031, label %23032, label %23049

23032:                                            ; preds = %23027
  %23033 = load i32, ptr %461, align 4, !tbaa !5
  %23034 = call ptr @__errno_location() #12
  store i32 %23033, ptr %23034, align 4, !tbaa !5
  %23035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23036 = load i32, ptr @test_count, align 4, !tbaa !5
  %23037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23038 = load i32, ptr %23037, align 4, !tbaa !5
  %23039 = call ptr @s2n_strerror(i32 noundef %23038, ptr noundef @.str.4)
  %23040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23041 = load i32, ptr %23040, align 4, !tbaa !5
  %23042 = call ptr @s2n_strerror_debug(i32 noundef %23041, ptr noundef @.str.4)
  %23043 = call ptr @__errno_location() #12
  %23044 = load i32, ptr %23043, align 4, !tbaa !5
  %23045 = call ptr @strerror(i32 noundef %23044) #11
  %23046 = call ptr @__errno_location() #12
  %23047 = load i32, ptr %23046, align 4, !tbaa !5
  %23048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23035, ptr noundef @.str.2, i32 noundef %23036, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 682, ptr noundef %23039, ptr noundef %23042, ptr noundef %23045, i32 noundef %23047) #11
  br label %23066

23049:                                            ; preds = %23027, %23020
  %23050 = load i32, ptr %461, align 4, !tbaa !5
  %23051 = call ptr @__errno_location() #12
  store i32 %23050, ptr %23051, align 4, !tbaa !5
  %23052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23053 = load i32, ptr @test_count, align 4, !tbaa !5
  %23054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23055 = load i32, ptr %23054, align 4, !tbaa !5
  %23056 = call ptr @s2n_strerror(i32 noundef %23055, ptr noundef @.str.4)
  %23057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23058 = load i32, ptr %23057, align 4, !tbaa !5
  %23059 = call ptr @s2n_strerror_debug(i32 noundef %23058, ptr noundef @.str.4)
  %23060 = call ptr @__errno_location() #12
  %23061 = load i32, ptr %23060, align 4, !tbaa !5
  %23062 = call ptr @strerror(i32 noundef %23061) #11
  %23063 = call ptr @__errno_location() #12
  %23064 = load i32, ptr %23063, align 4, !tbaa !5
  %23065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23052, ptr noundef @.str.5, i32 noundef %23053, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 682, ptr noundef %23056, ptr noundef %23059, ptr noundef %23062, i32 noundef %23064) #11
  br label %23066

23066:                                            ; preds = %23049, %23032
  call void @llvm.lifetime.end.p0(i64 4, ptr %461) #11
  br label %23067

23067:                                            ; preds = %23066
  br label %23068

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

23069:                                            ; No predecessors!
  br label %23070

23070:                                            ; preds = %23069
  br label %23071

23071:                                            ; preds = %23070, %23012
  br label %23072

23072:                                            ; preds = %23071
  br label %23073

23073:                                            ; preds = %23072
  br label %23074

23074:                                            ; preds = %23073
  %23075 = load i32, ptr @test_count, align 4, !tbaa !5
  %23076 = add nsw i32 %23075, 1
  store i32 %23076, ptr @test_count, align 4, !tbaa !5
  %23077 = load ptr, ptr %435, align 8, !tbaa !9
  %23078 = getelementptr inbounds %struct.s2n_connection, ptr %23077, i32 0, i32 60
  %23079 = load i64, ptr %23078, align 8, !tbaa !46
  %23080 = load i64, ptr %454, align 8, !tbaa !15
  %23081 = icmp eq i64 %23079, %23080
  br i1 %23081, label %23135, label %23082

23082:                                            ; preds = %23074
  br label %23083

23083:                                            ; preds = %23082
  br label %23084

23084:                                            ; preds = %23083
  call void @llvm.lifetime.start.p0(i64 4, ptr %462) #11
  %23085 = call ptr @__errno_location() #12
  %23086 = load i32, ptr %23085, align 4, !tbaa !5
  store i32 %23086, ptr %462, align 4, !tbaa !5
  %23087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23088 = call i32 @s2n_print_stacktrace(ptr noundef %23087)
  %23089 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23090 = trunc i8 %23089 to i1
  br i1 %23090, label %23091, label %23113

23091:                                            ; preds = %23084
  %23092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23093 = call i32 @fileno(ptr noundef %23092) #11
  %23094 = call i32 @isatty(i32 noundef %23093) #11
  %23095 = icmp ne i32 %23094, 0
  br i1 %23095, label %23096, label %23113

23096:                                            ; preds = %23091
  %23097 = load i32, ptr %462, align 4, !tbaa !5
  %23098 = call ptr @__errno_location() #12
  store i32 %23097, ptr %23098, align 4, !tbaa !5
  %23099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23100 = load i32, ptr @test_count, align 4, !tbaa !5
  %23101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23102 = load i32, ptr %23101, align 4, !tbaa !5
  %23103 = call ptr @s2n_strerror(i32 noundef %23102, ptr noundef @.str.4)
  %23104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23105 = load i32, ptr %23104, align 4, !tbaa !5
  %23106 = call ptr @s2n_strerror_debug(i32 noundef %23105, ptr noundef @.str.4)
  %23107 = call ptr @__errno_location() #12
  %23108 = load i32, ptr %23107, align 4, !tbaa !5
  %23109 = call ptr @strerror(i32 noundef %23108) #11
  %23110 = call ptr @__errno_location() #12
  %23111 = load i32, ptr %23110, align 4, !tbaa !5
  %23112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23099, ptr noundef @.str.2, i32 noundef %23100, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 683, ptr noundef %23103, ptr noundef %23106, ptr noundef %23109, i32 noundef %23111) #11
  br label %23130

23113:                                            ; preds = %23091, %23084
  %23114 = load i32, ptr %462, align 4, !tbaa !5
  %23115 = call ptr @__errno_location() #12
  store i32 %23114, ptr %23115, align 4, !tbaa !5
  %23116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23117 = load i32, ptr @test_count, align 4, !tbaa !5
  %23118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23119 = load i32, ptr %23118, align 4, !tbaa !5
  %23120 = call ptr @s2n_strerror(i32 noundef %23119, ptr noundef @.str.4)
  %23121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23122 = load i32, ptr %23121, align 4, !tbaa !5
  %23123 = call ptr @s2n_strerror_debug(i32 noundef %23122, ptr noundef @.str.4)
  %23124 = call ptr @__errno_location() #12
  %23125 = load i32, ptr %23124, align 4, !tbaa !5
  %23126 = call ptr @strerror(i32 noundef %23125) #11
  %23127 = call ptr @__errno_location() #12
  %23128 = load i32, ptr %23127, align 4, !tbaa !5
  %23129 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23116, ptr noundef @.str.5, i32 noundef %23117, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 683, ptr noundef %23120, ptr noundef %23123, ptr noundef %23126, i32 noundef %23128) #11
  br label %23130

23130:                                            ; preds = %23113, %23096
  call void @llvm.lifetime.end.p0(i64 4, ptr %462) #11
  br label %23131

23131:                                            ; preds = %23130
  br label %23132

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

23133:                                            ; No predecessors!
  br label %23134

23134:                                            ; preds = %23133
  br label %23135

23135:                                            ; preds = %23134, %23074
  br label %23136

23136:                                            ; preds = %23135
  br label %23137

23137:                                            ; preds = %23136
  call void @llvm.lifetime.end.p0(i64 8, ptr %459) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %457) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %454) #11
  call void @llvm.lifetime.end.p0(i64 1000, ptr %451) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %450) #11
  %23138 = call i32 @s2n_stuffer_free(ptr noundef %445)
  call void @llvm.lifetime.end.p0(i64 40, ptr %445) #11
  %23139 = call i32 @s2n_stuffer_free(ptr noundef %444)
  call void @llvm.lifetime.end.p0(i64 40, ptr %444) #11
  %23140 = call i32 @s2n_io_pair_close(ptr noundef %437)
  call void @llvm.lifetime.end.p0(i64 8, ptr %437) #11
  %23141 = call i32 @s2n_connection_ptr_free(ptr noundef %436)
  %23142 = getelementptr inbounds %struct.s2n_result, ptr %463, i32 0, i32 0
  store i32 %23141, ptr %23142, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %436) #11
  %23143 = call i32 @s2n_connection_ptr_free(ptr noundef %435)
  %23144 = getelementptr inbounds %struct.s2n_result, ptr %464, i32 0, i32 0
  store i32 %23143, ptr %23144, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %435) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %465) #11
  store ptr null, ptr %465, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %466) #11
  store ptr null, ptr %466, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %467) #11
  call void @llvm.memset.p0.i64(ptr align 4 %467, i8 0, i64 8, i1 false)
  br label %23145

23145:                                            ; preds = %23137
  %23146 = load i32, ptr @test_count, align 4, !tbaa !5
  %23147 = add nsw i32 %23146, 1
  store i32 %23147, ptr @test_count, align 4, !tbaa !5
  %23148 = call i32 @s2n_test_client_and_server_new(ptr noundef %465, ptr noundef %466, ptr noundef %467)
  %23149 = getelementptr inbounds %struct.s2n_result, ptr %468, i32 0, i32 0
  store i32 %23148, ptr %23149, align 4
  %23150 = getelementptr inbounds %struct.s2n_result, ptr %468, i32 0, i32 0
  %23151 = load i32, ptr %23150, align 4
  %23152 = call zeroext i1 @s2n_result_is_ok(i32 %23151)
  br i1 %23152, label %23206, label %23153

23153:                                            ; preds = %23145
  br label %23154

23154:                                            ; preds = %23153
  br label %23155

23155:                                            ; preds = %23154
  call void @llvm.lifetime.start.p0(i64 4, ptr %469) #11
  %23156 = call ptr @__errno_location() #12
  %23157 = load i32, ptr %23156, align 4, !tbaa !5
  store i32 %23157, ptr %469, align 4, !tbaa !5
  %23158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23159 = call i32 @s2n_print_stacktrace(ptr noundef %23158)
  %23160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23161 = trunc i8 %23160 to i1
  br i1 %23161, label %23162, label %23184

23162:                                            ; preds = %23155
  %23163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23164 = call i32 @fileno(ptr noundef %23163) #11
  %23165 = call i32 @isatty(i32 noundef %23164) #11
  %23166 = icmp ne i32 %23165, 0
  br i1 %23166, label %23167, label %23184

23167:                                            ; preds = %23162
  %23168 = load i32, ptr %469, align 4, !tbaa !5
  %23169 = call ptr @__errno_location() #12
  store i32 %23168, ptr %23169, align 4, !tbaa !5
  %23170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23171 = load i32, ptr @test_count, align 4, !tbaa !5
  %23172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23173 = load i32, ptr %23172, align 4, !tbaa !5
  %23174 = call ptr @s2n_strerror(i32 noundef %23173, ptr noundef @.str.4)
  %23175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23176 = load i32, ptr %23175, align 4, !tbaa !5
  %23177 = call ptr @s2n_strerror_debug(i32 noundef %23176, ptr noundef @.str.4)
  %23178 = call ptr @__errno_location() #12
  %23179 = load i32, ptr %23178, align 4, !tbaa !5
  %23180 = call ptr @strerror(i32 noundef %23179) #11
  %23181 = call ptr @__errno_location() #12
  %23182 = load i32, ptr %23181, align 4, !tbaa !5
  %23183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23170, ptr noundef @.str.2, i32 noundef %23171, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 693, ptr noundef %23174, ptr noundef %23177, ptr noundef %23180, i32 noundef %23182) #11
  br label %23201

23184:                                            ; preds = %23162, %23155
  %23185 = load i32, ptr %469, align 4, !tbaa !5
  %23186 = call ptr @__errno_location() #12
  store i32 %23185, ptr %23186, align 4, !tbaa !5
  %23187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23188 = load i32, ptr @test_count, align 4, !tbaa !5
  %23189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23190 = load i32, ptr %23189, align 4, !tbaa !5
  %23191 = call ptr @s2n_strerror(i32 noundef %23190, ptr noundef @.str.4)
  %23192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23193 = load i32, ptr %23192, align 4, !tbaa !5
  %23194 = call ptr @s2n_strerror_debug(i32 noundef %23193, ptr noundef @.str.4)
  %23195 = call ptr @__errno_location() #12
  %23196 = load i32, ptr %23195, align 4, !tbaa !5
  %23197 = call ptr @strerror(i32 noundef %23196) #11
  %23198 = call ptr @__errno_location() #12
  %23199 = load i32, ptr %23198, align 4, !tbaa !5
  %23200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23187, ptr noundef @.str.5, i32 noundef %23188, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 693, ptr noundef %23191, ptr noundef %23194, ptr noundef %23197, i32 noundef %23199) #11
  br label %23201

23201:                                            ; preds = %23184, %23167
  call void @llvm.lifetime.end.p0(i64 4, ptr %469) #11
  br label %23202

23202:                                            ; preds = %23201
  br label %23203

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

23204:                                            ; No predecessors!
  br label %23205

23205:                                            ; preds = %23204
  br label %23206

23206:                                            ; preds = %23205, %23145
  br label %23207

23207:                                            ; preds = %23206
  br label %23208

23208:                                            ; preds = %23207
  br label %23209

23209:                                            ; preds = %23208
  %23210 = load i32, ptr @test_count, align 4, !tbaa !5
  %23211 = add nsw i32 %23210, 1
  store i32 %23211, ptr @test_count, align 4, !tbaa !5
  %23212 = load ptr, ptr %465, align 8, !tbaa !9
  %23213 = load ptr, ptr %12, align 8, !tbaa !9
  %23214 = call i32 @s2n_connection_append_psk(ptr noundef %23212, ptr noundef %23213)
  %23215 = icmp eq i32 %23214, -1
  br i1 %23215, label %23216, label %23269

23216:                                            ; preds = %23209
  br label %23217

23217:                                            ; preds = %23216
  br label %23218

23218:                                            ; preds = %23217
  call void @llvm.lifetime.start.p0(i64 4, ptr %470) #11
  %23219 = call ptr @__errno_location() #12
  %23220 = load i32, ptr %23219, align 4, !tbaa !5
  store i32 %23220, ptr %470, align 4, !tbaa !5
  %23221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23222 = call i32 @s2n_print_stacktrace(ptr noundef %23221)
  %23223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23224 = trunc i8 %23223 to i1
  br i1 %23224, label %23225, label %23247

23225:                                            ; preds = %23218
  %23226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23227 = call i32 @fileno(ptr noundef %23226) #11
  %23228 = call i32 @isatty(i32 noundef %23227) #11
  %23229 = icmp ne i32 %23228, 0
  br i1 %23229, label %23230, label %23247

23230:                                            ; preds = %23225
  %23231 = load i32, ptr %470, align 4, !tbaa !5
  %23232 = call ptr @__errno_location() #12
  store i32 %23231, ptr %23232, align 4, !tbaa !5
  %23233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23234 = load i32, ptr @test_count, align 4, !tbaa !5
  %23235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23236 = load i32, ptr %23235, align 4, !tbaa !5
  %23237 = call ptr @s2n_strerror(i32 noundef %23236, ptr noundef @.str.4)
  %23238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23239 = load i32, ptr %23238, align 4, !tbaa !5
  %23240 = call ptr @s2n_strerror_debug(i32 noundef %23239, ptr noundef @.str.4)
  %23241 = call ptr @__errno_location() #12
  %23242 = load i32, ptr %23241, align 4, !tbaa !5
  %23243 = call ptr @strerror(i32 noundef %23242) #11
  %23244 = call ptr @__errno_location() #12
  %23245 = load i32, ptr %23244, align 4, !tbaa !5
  %23246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23233, ptr noundef @.str.2, i32 noundef %23234, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 695, ptr noundef %23237, ptr noundef %23240, ptr noundef %23243, i32 noundef %23245) #11
  br label %23264

23247:                                            ; preds = %23225, %23218
  %23248 = load i32, ptr %470, align 4, !tbaa !5
  %23249 = call ptr @__errno_location() #12
  store i32 %23248, ptr %23249, align 4, !tbaa !5
  %23250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23251 = load i32, ptr @test_count, align 4, !tbaa !5
  %23252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23253 = load i32, ptr %23252, align 4, !tbaa !5
  %23254 = call ptr @s2n_strerror(i32 noundef %23253, ptr noundef @.str.4)
  %23255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23256 = load i32, ptr %23255, align 4, !tbaa !5
  %23257 = call ptr @s2n_strerror_debug(i32 noundef %23256, ptr noundef @.str.4)
  %23258 = call ptr @__errno_location() #12
  %23259 = load i32, ptr %23258, align 4, !tbaa !5
  %23260 = call ptr @strerror(i32 noundef %23259) #11
  %23261 = call ptr @__errno_location() #12
  %23262 = load i32, ptr %23261, align 4, !tbaa !5
  %23263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23250, ptr noundef @.str.5, i32 noundef %23251, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 695, ptr noundef %23254, ptr noundef %23257, ptr noundef %23260, i32 noundef %23262) #11
  br label %23264

23264:                                            ; preds = %23247, %23230
  call void @llvm.lifetime.end.p0(i64 4, ptr %470) #11
  br label %23265

23265:                                            ; preds = %23264
  br label %23266

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

23267:                                            ; No predecessors!
  br label %23268

23268:                                            ; preds = %23267
  br label %23269

23269:                                            ; preds = %23268, %23209
  br label %23270

23270:                                            ; preds = %23269
  br label %23271

23271:                                            ; preds = %23270
  br label %23272

23272:                                            ; preds = %23271
  %23273 = load i32, ptr @test_count, align 4, !tbaa !5
  %23274 = add nsw i32 %23273, 1
  store i32 %23274, ptr @test_count, align 4, !tbaa !5
  %23275 = load ptr, ptr %466, align 8, !tbaa !9
  %23276 = load ptr, ptr %12, align 8, !tbaa !9
  %23277 = call i32 @s2n_connection_append_psk(ptr noundef %23275, ptr noundef %23276)
  %23278 = icmp eq i32 %23277, -1
  br i1 %23278, label %23279, label %23332

23279:                                            ; preds = %23272
  br label %23280

23280:                                            ; preds = %23279
  br label %23281

23281:                                            ; preds = %23280
  call void @llvm.lifetime.start.p0(i64 4, ptr %471) #11
  %23282 = call ptr @__errno_location() #12
  %23283 = load i32, ptr %23282, align 4, !tbaa !5
  store i32 %23283, ptr %471, align 4, !tbaa !5
  %23284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23285 = call i32 @s2n_print_stacktrace(ptr noundef %23284)
  %23286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23287 = trunc i8 %23286 to i1
  br i1 %23287, label %23288, label %23310

23288:                                            ; preds = %23281
  %23289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23290 = call i32 @fileno(ptr noundef %23289) #11
  %23291 = call i32 @isatty(i32 noundef %23290) #11
  %23292 = icmp ne i32 %23291, 0
  br i1 %23292, label %23293, label %23310

23293:                                            ; preds = %23288
  %23294 = load i32, ptr %471, align 4, !tbaa !5
  %23295 = call ptr @__errno_location() #12
  store i32 %23294, ptr %23295, align 4, !tbaa !5
  %23296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23297 = load i32, ptr @test_count, align 4, !tbaa !5
  %23298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23299 = load i32, ptr %23298, align 4, !tbaa !5
  %23300 = call ptr @s2n_strerror(i32 noundef %23299, ptr noundef @.str.4)
  %23301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23302 = load i32, ptr %23301, align 4, !tbaa !5
  %23303 = call ptr @s2n_strerror_debug(i32 noundef %23302, ptr noundef @.str.4)
  %23304 = call ptr @__errno_location() #12
  %23305 = load i32, ptr %23304, align 4, !tbaa !5
  %23306 = call ptr @strerror(i32 noundef %23305) #11
  %23307 = call ptr @__errno_location() #12
  %23308 = load i32, ptr %23307, align 4, !tbaa !5
  %23309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23296, ptr noundef @.str.2, i32 noundef %23297, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 696, ptr noundef %23300, ptr noundef %23303, ptr noundef %23306, i32 noundef %23308) #11
  br label %23327

23310:                                            ; preds = %23288, %23281
  %23311 = load i32, ptr %471, align 4, !tbaa !5
  %23312 = call ptr @__errno_location() #12
  store i32 %23311, ptr %23312, align 4, !tbaa !5
  %23313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23314 = load i32, ptr @test_count, align 4, !tbaa !5
  %23315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23316 = load i32, ptr %23315, align 4, !tbaa !5
  %23317 = call ptr @s2n_strerror(i32 noundef %23316, ptr noundef @.str.4)
  %23318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23319 = load i32, ptr %23318, align 4, !tbaa !5
  %23320 = call ptr @s2n_strerror_debug(i32 noundef %23319, ptr noundef @.str.4)
  %23321 = call ptr @__errno_location() #12
  %23322 = load i32, ptr %23321, align 4, !tbaa !5
  %23323 = call ptr @strerror(i32 noundef %23322) #11
  %23324 = call ptr @__errno_location() #12
  %23325 = load i32, ptr %23324, align 4, !tbaa !5
  %23326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23313, ptr noundef @.str.5, i32 noundef %23314, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 696, ptr noundef %23317, ptr noundef %23320, ptr noundef %23323, i32 noundef %23325) #11
  br label %23327

23327:                                            ; preds = %23310, %23293
  call void @llvm.lifetime.end.p0(i64 4, ptr %471) #11
  br label %23328

23328:                                            ; preds = %23327
  br label %23329

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

23330:                                            ; No predecessors!
  br label %23331

23331:                                            ; preds = %23330
  br label %23332

23332:                                            ; preds = %23331, %23272
  br label %23333

23333:                                            ; preds = %23332
  br label %23334

23334:                                            ; preds = %23333
  br label %23335

23335:                                            ; preds = %23334
  %23336 = load i32, ptr @test_count, align 4, !tbaa !5
  %23337 = add nsw i32 %23336, 1
  store i32 %23337, ptr @test_count, align 4, !tbaa !5
  %23338 = load ptr, ptr %465, align 8, !tbaa !9
  %23339 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %23338)
  %23340 = icmp eq i32 %23339, -1
  br i1 %23340, label %23341, label %23394

23341:                                            ; preds = %23335
  br label %23342

23342:                                            ; preds = %23341
  br label %23343

23343:                                            ; preds = %23342
  call void @llvm.lifetime.start.p0(i64 4, ptr %472) #11
  %23344 = call ptr @__errno_location() #12
  %23345 = load i32, ptr %23344, align 4, !tbaa !5
  store i32 %23345, ptr %472, align 4, !tbaa !5
  %23346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23347 = call i32 @s2n_print_stacktrace(ptr noundef %23346)
  %23348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23349 = trunc i8 %23348 to i1
  br i1 %23349, label %23350, label %23372

23350:                                            ; preds = %23343
  %23351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23352 = call i32 @fileno(ptr noundef %23351) #11
  %23353 = call i32 @isatty(i32 noundef %23352) #11
  %23354 = icmp ne i32 %23353, 0
  br i1 %23354, label %23355, label %23372

23355:                                            ; preds = %23350
  %23356 = load i32, ptr %472, align 4, !tbaa !5
  %23357 = call ptr @__errno_location() #12
  store i32 %23356, ptr %23357, align 4, !tbaa !5
  %23358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23359 = load i32, ptr @test_count, align 4, !tbaa !5
  %23360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23361 = load i32, ptr %23360, align 4, !tbaa !5
  %23362 = call ptr @s2n_strerror(i32 noundef %23361, ptr noundef @.str.4)
  %23363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23364 = load i32, ptr %23363, align 4, !tbaa !5
  %23365 = call ptr @s2n_strerror_debug(i32 noundef %23364, ptr noundef @.str.4)
  %23366 = call ptr @__errno_location() #12
  %23367 = load i32, ptr %23366, align 4, !tbaa !5
  %23368 = call ptr @strerror(i32 noundef %23367) #11
  %23369 = call ptr @__errno_location() #12
  %23370 = load i32, ptr %23369, align 4, !tbaa !5
  %23371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23358, ptr noundef @.str.2, i32 noundef %23359, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 697, ptr noundef %23362, ptr noundef %23365, ptr noundef %23368, i32 noundef %23370) #11
  br label %23389

23372:                                            ; preds = %23350, %23343
  %23373 = load i32, ptr %472, align 4, !tbaa !5
  %23374 = call ptr @__errno_location() #12
  store i32 %23373, ptr %23374, align 4, !tbaa !5
  %23375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23376 = load i32, ptr @test_count, align 4, !tbaa !5
  %23377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23378 = load i32, ptr %23377, align 4, !tbaa !5
  %23379 = call ptr @s2n_strerror(i32 noundef %23378, ptr noundef @.str.4)
  %23380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23381 = load i32, ptr %23380, align 4, !tbaa !5
  %23382 = call ptr @s2n_strerror_debug(i32 noundef %23381, ptr noundef @.str.4)
  %23383 = call ptr @__errno_location() #12
  %23384 = load i32, ptr %23383, align 4, !tbaa !5
  %23385 = call ptr @strerror(i32 noundef %23384) #11
  %23386 = call ptr @__errno_location() #12
  %23387 = load i32, ptr %23386, align 4, !tbaa !5
  %23388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23375, ptr noundef @.str.5, i32 noundef %23376, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 697, ptr noundef %23379, ptr noundef %23382, ptr noundef %23385, i32 noundef %23387) #11
  br label %23389

23389:                                            ; preds = %23372, %23355
  call void @llvm.lifetime.end.p0(i64 4, ptr %472) #11
  br label %23390

23390:                                            ; preds = %23389
  br label %23391

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

23392:                                            ; No predecessors!
  br label %23393

23393:                                            ; preds = %23392
  br label %23394

23394:                                            ; preds = %23393, %23335
  br label %23395

23395:                                            ; preds = %23394
  br label %23396

23396:                                            ; preds = %23395
  br label %23397

23397:                                            ; preds = %23396
  %23398 = load i32, ptr @test_count, align 4, !tbaa !5
  %23399 = add nsw i32 %23398, 1
  store i32 %23399, ptr @test_count, align 4, !tbaa !5
  %23400 = load ptr, ptr %466, align 8, !tbaa !9
  %23401 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %23400)
  %23402 = icmp eq i32 %23401, -1
  br i1 %23402, label %23403, label %23456

23403:                                            ; preds = %23397
  br label %23404

23404:                                            ; preds = %23403
  br label %23405

23405:                                            ; preds = %23404
  call void @llvm.lifetime.start.p0(i64 4, ptr %473) #11
  %23406 = call ptr @__errno_location() #12
  %23407 = load i32, ptr %23406, align 4, !tbaa !5
  store i32 %23407, ptr %473, align 4, !tbaa !5
  %23408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23409 = call i32 @s2n_print_stacktrace(ptr noundef %23408)
  %23410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23411 = trunc i8 %23410 to i1
  br i1 %23411, label %23412, label %23434

23412:                                            ; preds = %23405
  %23413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23414 = call i32 @fileno(ptr noundef %23413) #11
  %23415 = call i32 @isatty(i32 noundef %23414) #11
  %23416 = icmp ne i32 %23415, 0
  br i1 %23416, label %23417, label %23434

23417:                                            ; preds = %23412
  %23418 = load i32, ptr %473, align 4, !tbaa !5
  %23419 = call ptr @__errno_location() #12
  store i32 %23418, ptr %23419, align 4, !tbaa !5
  %23420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23421 = load i32, ptr @test_count, align 4, !tbaa !5
  %23422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23423 = load i32, ptr %23422, align 4, !tbaa !5
  %23424 = call ptr @s2n_strerror(i32 noundef %23423, ptr noundef @.str.4)
  %23425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23426 = load i32, ptr %23425, align 4, !tbaa !5
  %23427 = call ptr @s2n_strerror_debug(i32 noundef %23426, ptr noundef @.str.4)
  %23428 = call ptr @__errno_location() #12
  %23429 = load i32, ptr %23428, align 4, !tbaa !5
  %23430 = call ptr @strerror(i32 noundef %23429) #11
  %23431 = call ptr @__errno_location() #12
  %23432 = load i32, ptr %23431, align 4, !tbaa !5
  %23433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23420, ptr noundef @.str.2, i32 noundef %23421, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 698, ptr noundef %23424, ptr noundef %23427, ptr noundef %23430, i32 noundef %23432) #11
  br label %23451

23434:                                            ; preds = %23412, %23405
  %23435 = load i32, ptr %473, align 4, !tbaa !5
  %23436 = call ptr @__errno_location() #12
  store i32 %23435, ptr %23436, align 4, !tbaa !5
  %23437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23438 = load i32, ptr @test_count, align 4, !tbaa !5
  %23439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23440 = load i32, ptr %23439, align 4, !tbaa !5
  %23441 = call ptr @s2n_strerror(i32 noundef %23440, ptr noundef @.str.4)
  %23442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23443 = load i32, ptr %23442, align 4, !tbaa !5
  %23444 = call ptr @s2n_strerror_debug(i32 noundef %23443, ptr noundef @.str.4)
  %23445 = call ptr @__errno_location() #12
  %23446 = load i32, ptr %23445, align 4, !tbaa !5
  %23447 = call ptr @strerror(i32 noundef %23446) #11
  %23448 = call ptr @__errno_location() #12
  %23449 = load i32, ptr %23448, align 4, !tbaa !5
  %23450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23437, ptr noundef @.str.5, i32 noundef %23438, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 698, ptr noundef %23441, ptr noundef %23444, ptr noundef %23447, i32 noundef %23449) #11
  br label %23451

23451:                                            ; preds = %23434, %23417
  call void @llvm.lifetime.end.p0(i64 4, ptr %473) #11
  br label %23452

23452:                                            ; preds = %23451
  br label %23453

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

23454:                                            ; No predecessors!
  br label %23455

23455:                                            ; preds = %23454
  br label %23456

23456:                                            ; preds = %23455, %23397
  br label %23457

23457:                                            ; preds = %23456
  br label %23458

23458:                                            ; preds = %23457
  call void @llvm.lifetime.start.p0(i64 4, ptr %474) #11
  store i32 0, ptr %474, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1000, ptr %475) #11
  call void @llvm.memset.p0.i64(ptr align 16 %475, i8 0, i64 1000, i1 false)
  br label %23459

23459:                                            ; preds = %23458
  %23460 = load i32, ptr @test_count, align 4, !tbaa !5
  %23461 = add nsw i32 %23460, 1
  store i32 %23461, ptr @test_count, align 4, !tbaa !5
  %23462 = load ptr, ptr %466, align 8, !tbaa !9
  %23463 = getelementptr inbounds %struct.s2n_connection, ptr %23462, i32 0, i32 89
  %23464 = load i32, ptr %23463, align 8, !tbaa !19
  %23465 = icmp eq i32 %23464, 0
  br i1 %23465, label %23519, label %23466

23466:                                            ; preds = %23459
  br label %23467

23467:                                            ; preds = %23466
  br label %23468

23468:                                            ; preds = %23467
  call void @llvm.lifetime.start.p0(i64 4, ptr %476) #11
  %23469 = call ptr @__errno_location() #12
  %23470 = load i32, ptr %23469, align 4, !tbaa !5
  store i32 %23470, ptr %476, align 4, !tbaa !5
  %23471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23472 = call i32 @s2n_print_stacktrace(ptr noundef %23471)
  %23473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23474 = trunc i8 %23473 to i1
  br i1 %23474, label %23475, label %23497

23475:                                            ; preds = %23468
  %23476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23477 = call i32 @fileno(ptr noundef %23476) #11
  %23478 = call i32 @isatty(i32 noundef %23477) #11
  %23479 = icmp ne i32 %23478, 0
  br i1 %23479, label %23480, label %23497

23480:                                            ; preds = %23475
  %23481 = load i32, ptr %476, align 4, !tbaa !5
  %23482 = call ptr @__errno_location() #12
  store i32 %23481, ptr %23482, align 4, !tbaa !5
  %23483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23484 = load i32, ptr @test_count, align 4, !tbaa !5
  %23485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23486 = load i32, ptr %23485, align 4, !tbaa !5
  %23487 = call ptr @s2n_strerror(i32 noundef %23486, ptr noundef @.str.4)
  %23488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23489 = load i32, ptr %23488, align 4, !tbaa !5
  %23490 = call ptr @s2n_strerror_debug(i32 noundef %23489, ptr noundef @.str.4)
  %23491 = call ptr @__errno_location() #12
  %23492 = load i32, ptr %23491, align 4, !tbaa !5
  %23493 = call ptr @strerror(i32 noundef %23492) #11
  %23494 = call ptr @__errno_location() #12
  %23495 = load i32, ptr %23494, align 4, !tbaa !5
  %23496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23483, ptr noundef @.str.2, i32 noundef %23484, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 704, ptr noundef %23487, ptr noundef %23490, ptr noundef %23493, i32 noundef %23495) #11
  br label %23514

23497:                                            ; preds = %23475, %23468
  %23498 = load i32, ptr %476, align 4, !tbaa !5
  %23499 = call ptr @__errno_location() #12
  store i32 %23498, ptr %23499, align 4, !tbaa !5
  %23500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23501 = load i32, ptr @test_count, align 4, !tbaa !5
  %23502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23503 = load i32, ptr %23502, align 4, !tbaa !5
  %23504 = call ptr @s2n_strerror(i32 noundef %23503, ptr noundef @.str.4)
  %23505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23506 = load i32, ptr %23505, align 4, !tbaa !5
  %23507 = call ptr @s2n_strerror_debug(i32 noundef %23506, ptr noundef @.str.4)
  %23508 = call ptr @__errno_location() #12
  %23509 = load i32, ptr %23508, align 4, !tbaa !5
  %23510 = call ptr @strerror(i32 noundef %23509) #11
  %23511 = call ptr @__errno_location() #12
  %23512 = load i32, ptr %23511, align 4, !tbaa !5
  %23513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23500, ptr noundef @.str.5, i32 noundef %23501, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 704, ptr noundef %23504, ptr noundef %23507, ptr noundef %23510, i32 noundef %23512) #11
  br label %23514

23514:                                            ; preds = %23497, %23480
  call void @llvm.lifetime.end.p0(i64 4, ptr %476) #11
  br label %23515

23515:                                            ; preds = %23514
  br label %23516

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

23517:                                            ; No predecessors!
  br label %23518

23518:                                            ; preds = %23517
  br label %23519

23519:                                            ; preds = %23518, %23459
  br label %23520

23520:                                            ; preds = %23519
  br label %23521

23521:                                            ; preds = %23520
  br label %23522

23522:                                            ; preds = %23521
  br label %23523

23523:                                            ; preds = %23522
  br label %23524

23524:                                            ; preds = %23523
  %23525 = load i32, ptr @test_count, align 4, !tbaa !5
  %23526 = add nsw i32 %23525, 1
  store i32 %23526, ptr @test_count, align 4, !tbaa !5
  %23527 = load ptr, ptr %466, align 8, !tbaa !9
  %23528 = getelementptr inbounds [1000 x i8], ptr %475, i64 0, i64 0
  %23529 = call i64 @s2n_recv(ptr noundef %23527, ptr noundef %23528, i64 noundef 1000, ptr noundef %474)
  %23530 = icmp eq i64 %23529, -1
  br i1 %23530, label %23584, label %23531

23531:                                            ; preds = %23524
  br label %23532

23532:                                            ; preds = %23531
  br label %23533

23533:                                            ; preds = %23532
  call void @llvm.lifetime.start.p0(i64 4, ptr %477) #11
  %23534 = call ptr @__errno_location() #12
  %23535 = load i32, ptr %23534, align 4, !tbaa !5
  store i32 %23535, ptr %477, align 4, !tbaa !5
  %23536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23537 = call i32 @s2n_print_stacktrace(ptr noundef %23536)
  %23538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23539 = trunc i8 %23538 to i1
  br i1 %23539, label %23540, label %23562

23540:                                            ; preds = %23533
  %23541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23542 = call i32 @fileno(ptr noundef %23541) #11
  %23543 = call i32 @isatty(i32 noundef %23542) #11
  %23544 = icmp ne i32 %23543, 0
  br i1 %23544, label %23545, label %23562

23545:                                            ; preds = %23540
  %23546 = load i32, ptr %477, align 4, !tbaa !5
  %23547 = call ptr @__errno_location() #12
  store i32 %23546, ptr %23547, align 4, !tbaa !5
  %23548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23549 = load i32, ptr @test_count, align 4, !tbaa !5
  %23550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23551 = load i32, ptr %23550, align 4, !tbaa !5
  %23552 = call ptr @s2n_strerror(i32 noundef %23551, ptr noundef @.str.4)
  %23553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23554 = load i32, ptr %23553, align 4, !tbaa !5
  %23555 = call ptr @s2n_strerror_debug(i32 noundef %23554, ptr noundef @.str.4)
  %23556 = call ptr @__errno_location() #12
  %23557 = load i32, ptr %23556, align 4, !tbaa !5
  %23558 = call ptr @strerror(i32 noundef %23557) #11
  %23559 = call ptr @__errno_location() #12
  %23560 = load i32, ptr %23559, align 4, !tbaa !5
  %23561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23548, ptr noundef @.str.2, i32 noundef %23549, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 706, ptr noundef %23552, ptr noundef %23555, ptr noundef %23558, i32 noundef %23560) #11
  br label %23579

23562:                                            ; preds = %23540, %23533
  %23563 = load i32, ptr %477, align 4, !tbaa !5
  %23564 = call ptr @__errno_location() #12
  store i32 %23563, ptr %23564, align 4, !tbaa !5
  %23565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23566 = load i32, ptr @test_count, align 4, !tbaa !5
  %23567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23568 = load i32, ptr %23567, align 4, !tbaa !5
  %23569 = call ptr @s2n_strerror(i32 noundef %23568, ptr noundef @.str.4)
  %23570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23571 = load i32, ptr %23570, align 4, !tbaa !5
  %23572 = call ptr @s2n_strerror_debug(i32 noundef %23571, ptr noundef @.str.4)
  %23573 = call ptr @__errno_location() #12
  %23574 = load i32, ptr %23573, align 4, !tbaa !5
  %23575 = call ptr @strerror(i32 noundef %23574) #11
  %23576 = call ptr @__errno_location() #12
  %23577 = load i32, ptr %23576, align 4, !tbaa !5
  %23578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23565, ptr noundef @.str.5, i32 noundef %23566, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 706, ptr noundef %23569, ptr noundef %23572, ptr noundef %23575, i32 noundef %23577) #11
  br label %23579

23579:                                            ; preds = %23562, %23545
  call void @llvm.lifetime.end.p0(i64 4, ptr %477) #11
  br label %23580

23580:                                            ; preds = %23579
  br label %23581

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

23582:                                            ; No predecessors!
  br label %23583

23583:                                            ; preds = %23582
  br label %23584

23584:                                            ; preds = %23583, %23524
  br label %23585

23585:                                            ; preds = %23584
  br label %23586

23586:                                            ; preds = %23585
  br label %23587

23587:                                            ; preds = %23586
  %23588 = load i32, ptr @test_count, align 4, !tbaa !5
  %23589 = add nsw i32 %23588, 1
  store i32 %23589, ptr @test_count, align 4, !tbaa !5
  %23590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23591 = load i32, ptr %23590, align 4, !tbaa !5
  %23592 = icmp eq i32 %23591, 469762113
  br i1 %23592, label %23646, label %23593

23593:                                            ; preds = %23587
  br label %23594

23594:                                            ; preds = %23593
  br label %23595

23595:                                            ; preds = %23594
  call void @llvm.lifetime.start.p0(i64 4, ptr %478) #11
  %23596 = call ptr @__errno_location() #12
  %23597 = load i32, ptr %23596, align 4, !tbaa !5
  store i32 %23597, ptr %478, align 4, !tbaa !5
  %23598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23599 = call i32 @s2n_print_stacktrace(ptr noundef %23598)
  %23600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23601 = trunc i8 %23600 to i1
  br i1 %23601, label %23602, label %23624

23602:                                            ; preds = %23595
  %23603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23604 = call i32 @fileno(ptr noundef %23603) #11
  %23605 = call i32 @isatty(i32 noundef %23604) #11
  %23606 = icmp ne i32 %23605, 0
  br i1 %23606, label %23607, label %23624

23607:                                            ; preds = %23602
  %23608 = load i32, ptr %478, align 4, !tbaa !5
  %23609 = call ptr @__errno_location() #12
  store i32 %23608, ptr %23609, align 4, !tbaa !5
  %23610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23611 = load i32, ptr @test_count, align 4, !tbaa !5
  %23612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23613 = load i32, ptr %23612, align 4, !tbaa !5
  %23614 = call ptr @s2n_strerror(i32 noundef %23613, ptr noundef @.str.4)
  %23615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23616 = load i32, ptr %23615, align 4, !tbaa !5
  %23617 = call ptr @s2n_strerror_debug(i32 noundef %23616, ptr noundef @.str.4)
  %23618 = call ptr @__errno_location() #12
  %23619 = load i32, ptr %23618, align 4, !tbaa !5
  %23620 = call ptr @strerror(i32 noundef %23619) #11
  %23621 = call ptr @__errno_location() #12
  %23622 = load i32, ptr %23621, align 4, !tbaa !5
  %23623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23610, ptr noundef @.str.2, i32 noundef %23611, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 706, ptr noundef %23614, ptr noundef %23617, ptr noundef %23620, i32 noundef %23622) #11
  br label %23641

23624:                                            ; preds = %23602, %23595
  %23625 = load i32, ptr %478, align 4, !tbaa !5
  %23626 = call ptr @__errno_location() #12
  store i32 %23625, ptr %23626, align 4, !tbaa !5
  %23627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23628 = load i32, ptr @test_count, align 4, !tbaa !5
  %23629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23630 = load i32, ptr %23629, align 4, !tbaa !5
  %23631 = call ptr @s2n_strerror(i32 noundef %23630, ptr noundef @.str.4)
  %23632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23633 = load i32, ptr %23632, align 4, !tbaa !5
  %23634 = call ptr @s2n_strerror_debug(i32 noundef %23633, ptr noundef @.str.4)
  %23635 = call ptr @__errno_location() #12
  %23636 = load i32, ptr %23635, align 4, !tbaa !5
  %23637 = call ptr @strerror(i32 noundef %23636) #11
  %23638 = call ptr @__errno_location() #12
  %23639 = load i32, ptr %23638, align 4, !tbaa !5
  %23640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23627, ptr noundef @.str.5, i32 noundef %23628, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 706, ptr noundef %23631, ptr noundef %23634, ptr noundef %23637, i32 noundef %23639) #11
  br label %23641

23641:                                            ; preds = %23624, %23607
  call void @llvm.lifetime.end.p0(i64 4, ptr %478) #11
  br label %23642

23642:                                            ; preds = %23641
  br label %23643

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

23644:                                            ; No predecessors!
  br label %23645

23645:                                            ; preds = %23644
  br label %23646

23646:                                            ; preds = %23645, %23587
  br label %23647

23647:                                            ; preds = %23646
  br label %23648

23648:                                            ; preds = %23647
  br label %23649

23649:                                            ; preds = %23648
  %23650 = load i32, ptr @test_count, align 4, !tbaa !5
  %23651 = add nsw i32 %23650, 1
  store i32 %23651, ptr @test_count, align 4, !tbaa !5
  %23652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23653 = load i32, ptr %23652, align 4, !tbaa !5
  %23654 = call ptr @s2n_strerror_debug(i32 noundef %23653, ptr noundef @.str.4)
  %23655 = icmp eq ptr %23654, null
  br i1 %23655, label %23656, label %23709

23656:                                            ; preds = %23649
  br label %23657

23657:                                            ; preds = %23656
  br label %23658

23658:                                            ; preds = %23657
  call void @llvm.lifetime.start.p0(i64 4, ptr %479) #11
  %23659 = call ptr @__errno_location() #12
  %23660 = load i32, ptr %23659, align 4, !tbaa !5
  store i32 %23660, ptr %479, align 4, !tbaa !5
  %23661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23662 = call i32 @s2n_print_stacktrace(ptr noundef %23661)
  %23663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23664 = trunc i8 %23663 to i1
  br i1 %23664, label %23665, label %23687

23665:                                            ; preds = %23658
  %23666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23667 = call i32 @fileno(ptr noundef %23666) #11
  %23668 = call i32 @isatty(i32 noundef %23667) #11
  %23669 = icmp ne i32 %23668, 0
  br i1 %23669, label %23670, label %23687

23670:                                            ; preds = %23665
  %23671 = load i32, ptr %479, align 4, !tbaa !5
  %23672 = call ptr @__errno_location() #12
  store i32 %23671, ptr %23672, align 4, !tbaa !5
  %23673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23674 = load i32, ptr @test_count, align 4, !tbaa !5
  %23675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23676 = load i32, ptr %23675, align 4, !tbaa !5
  %23677 = call ptr @s2n_strerror(i32 noundef %23676, ptr noundef @.str.4)
  %23678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23679 = load i32, ptr %23678, align 4, !tbaa !5
  %23680 = call ptr @s2n_strerror_debug(i32 noundef %23679, ptr noundef @.str.4)
  %23681 = call ptr @__errno_location() #12
  %23682 = load i32, ptr %23681, align 4, !tbaa !5
  %23683 = call ptr @strerror(i32 noundef %23682) #11
  %23684 = call ptr @__errno_location() #12
  %23685 = load i32, ptr %23684, align 4, !tbaa !5
  %23686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23673, ptr noundef @.str.2, i32 noundef %23674, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 706, ptr noundef %23677, ptr noundef %23680, ptr noundef %23683, i32 noundef %23685) #11
  br label %23704

23687:                                            ; preds = %23665, %23658
  %23688 = load i32, ptr %479, align 4, !tbaa !5
  %23689 = call ptr @__errno_location() #12
  store i32 %23688, ptr %23689, align 4, !tbaa !5
  %23690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23691 = load i32, ptr @test_count, align 4, !tbaa !5
  %23692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23693 = load i32, ptr %23692, align 4, !tbaa !5
  %23694 = call ptr @s2n_strerror(i32 noundef %23693, ptr noundef @.str.4)
  %23695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23696 = load i32, ptr %23695, align 4, !tbaa !5
  %23697 = call ptr @s2n_strerror_debug(i32 noundef %23696, ptr noundef @.str.4)
  %23698 = call ptr @__errno_location() #12
  %23699 = load i32, ptr %23698, align 4, !tbaa !5
  %23700 = call ptr @strerror(i32 noundef %23699) #11
  %23701 = call ptr @__errno_location() #12
  %23702 = load i32, ptr %23701, align 4, !tbaa !5
  %23703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23690, ptr noundef @.str.5, i32 noundef %23691, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 706, ptr noundef %23694, ptr noundef %23697, ptr noundef %23700, i32 noundef %23702) #11
  br label %23704

23704:                                            ; preds = %23687, %23670
  call void @llvm.lifetime.end.p0(i64 4, ptr %479) #11
  br label %23705

23705:                                            ; preds = %23704
  br label %23706

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

23707:                                            ; No predecessors!
  br label %23708

23708:                                            ; preds = %23707
  br label %23709

23709:                                            ; preds = %23708, %23649
  br label %23710

23710:                                            ; preds = %23709
  br label %23711

23711:                                            ; preds = %23710
  br label %23712

23712:                                            ; preds = %23711
  br label %23713

23713:                                            ; preds = %23712
  br label %23714

23714:                                            ; preds = %23713
  %23715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %23715, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %23716 = call ptr @__errno_location() #12
  store i32 0, ptr %23716, align 4, !tbaa !5
  br label %23717

23717:                                            ; preds = %23714
  br label %23718

23718:                                            ; preds = %23717
  br label %23719

23719:                                            ; preds = %23718
  br label %23720

23720:                                            ; preds = %23719
  br label %23721

23721:                                            ; preds = %23720
  br label %23722

23722:                                            ; preds = %23721
  br label %23723

23723:                                            ; preds = %23722
  %23724 = load i32, ptr @test_count, align 4, !tbaa !5
  %23725 = add nsw i32 %23724, 1
  store i32 %23725, ptr @test_count, align 4, !tbaa !5
  %23726 = load ptr, ptr %466, align 8, !tbaa !9
  %23727 = getelementptr inbounds [1000 x i8], ptr %475, i64 0, i64 0
  %23728 = call i64 @s2n_recv(ptr noundef %23726, ptr noundef %23727, i64 noundef 0, ptr noundef %474)
  %23729 = icmp eq i64 %23728, -1
  br i1 %23729, label %23783, label %23730

23730:                                            ; preds = %23723
  br label %23731

23731:                                            ; preds = %23730
  br label %23732

23732:                                            ; preds = %23731
  call void @llvm.lifetime.start.p0(i64 4, ptr %480) #11
  %23733 = call ptr @__errno_location() #12
  %23734 = load i32, ptr %23733, align 4, !tbaa !5
  store i32 %23734, ptr %480, align 4, !tbaa !5
  %23735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23736 = call i32 @s2n_print_stacktrace(ptr noundef %23735)
  %23737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23738 = trunc i8 %23737 to i1
  br i1 %23738, label %23739, label %23761

23739:                                            ; preds = %23732
  %23740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23741 = call i32 @fileno(ptr noundef %23740) #11
  %23742 = call i32 @isatty(i32 noundef %23741) #11
  %23743 = icmp ne i32 %23742, 0
  br i1 %23743, label %23744, label %23761

23744:                                            ; preds = %23739
  %23745 = load i32, ptr %480, align 4, !tbaa !5
  %23746 = call ptr @__errno_location() #12
  store i32 %23745, ptr %23746, align 4, !tbaa !5
  %23747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23748 = load i32, ptr @test_count, align 4, !tbaa !5
  %23749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23750 = load i32, ptr %23749, align 4, !tbaa !5
  %23751 = call ptr @s2n_strerror(i32 noundef %23750, ptr noundef @.str.4)
  %23752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23753 = load i32, ptr %23752, align 4, !tbaa !5
  %23754 = call ptr @s2n_strerror_debug(i32 noundef %23753, ptr noundef @.str.4)
  %23755 = call ptr @__errno_location() #12
  %23756 = load i32, ptr %23755, align 4, !tbaa !5
  %23757 = call ptr @strerror(i32 noundef %23756) #11
  %23758 = call ptr @__errno_location() #12
  %23759 = load i32, ptr %23758, align 4, !tbaa !5
  %23760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23747, ptr noundef @.str.2, i32 noundef %23748, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 708, ptr noundef %23751, ptr noundef %23754, ptr noundef %23757, i32 noundef %23759) #11
  br label %23778

23761:                                            ; preds = %23739, %23732
  %23762 = load i32, ptr %480, align 4, !tbaa !5
  %23763 = call ptr @__errno_location() #12
  store i32 %23762, ptr %23763, align 4, !tbaa !5
  %23764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23765 = load i32, ptr @test_count, align 4, !tbaa !5
  %23766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23767 = load i32, ptr %23766, align 4, !tbaa !5
  %23768 = call ptr @s2n_strerror(i32 noundef %23767, ptr noundef @.str.4)
  %23769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23770 = load i32, ptr %23769, align 4, !tbaa !5
  %23771 = call ptr @s2n_strerror_debug(i32 noundef %23770, ptr noundef @.str.4)
  %23772 = call ptr @__errno_location() #12
  %23773 = load i32, ptr %23772, align 4, !tbaa !5
  %23774 = call ptr @strerror(i32 noundef %23773) #11
  %23775 = call ptr @__errno_location() #12
  %23776 = load i32, ptr %23775, align 4, !tbaa !5
  %23777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23764, ptr noundef @.str.5, i32 noundef %23765, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 708, ptr noundef %23768, ptr noundef %23771, ptr noundef %23774, i32 noundef %23776) #11
  br label %23778

23778:                                            ; preds = %23761, %23744
  call void @llvm.lifetime.end.p0(i64 4, ptr %480) #11
  br label %23779

23779:                                            ; preds = %23778
  br label %23780

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

23781:                                            ; No predecessors!
  br label %23782

23782:                                            ; preds = %23781
  br label %23783

23783:                                            ; preds = %23782, %23723
  br label %23784

23784:                                            ; preds = %23783
  br label %23785

23785:                                            ; preds = %23784
  br label %23786

23786:                                            ; preds = %23785
  %23787 = load i32, ptr @test_count, align 4, !tbaa !5
  %23788 = add nsw i32 %23787, 1
  store i32 %23788, ptr @test_count, align 4, !tbaa !5
  %23789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23790 = load i32, ptr %23789, align 4, !tbaa !5
  %23791 = icmp eq i32 %23790, 469762113
  br i1 %23791, label %23845, label %23792

23792:                                            ; preds = %23786
  br label %23793

23793:                                            ; preds = %23792
  br label %23794

23794:                                            ; preds = %23793
  call void @llvm.lifetime.start.p0(i64 4, ptr %481) #11
  %23795 = call ptr @__errno_location() #12
  %23796 = load i32, ptr %23795, align 4, !tbaa !5
  store i32 %23796, ptr %481, align 4, !tbaa !5
  %23797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23798 = call i32 @s2n_print_stacktrace(ptr noundef %23797)
  %23799 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23800 = trunc i8 %23799 to i1
  br i1 %23800, label %23801, label %23823

23801:                                            ; preds = %23794
  %23802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23803 = call i32 @fileno(ptr noundef %23802) #11
  %23804 = call i32 @isatty(i32 noundef %23803) #11
  %23805 = icmp ne i32 %23804, 0
  br i1 %23805, label %23806, label %23823

23806:                                            ; preds = %23801
  %23807 = load i32, ptr %481, align 4, !tbaa !5
  %23808 = call ptr @__errno_location() #12
  store i32 %23807, ptr %23808, align 4, !tbaa !5
  %23809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23810 = load i32, ptr @test_count, align 4, !tbaa !5
  %23811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23812 = load i32, ptr %23811, align 4, !tbaa !5
  %23813 = call ptr @s2n_strerror(i32 noundef %23812, ptr noundef @.str.4)
  %23814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23815 = load i32, ptr %23814, align 4, !tbaa !5
  %23816 = call ptr @s2n_strerror_debug(i32 noundef %23815, ptr noundef @.str.4)
  %23817 = call ptr @__errno_location() #12
  %23818 = load i32, ptr %23817, align 4, !tbaa !5
  %23819 = call ptr @strerror(i32 noundef %23818) #11
  %23820 = call ptr @__errno_location() #12
  %23821 = load i32, ptr %23820, align 4, !tbaa !5
  %23822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23809, ptr noundef @.str.2, i32 noundef %23810, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 708, ptr noundef %23813, ptr noundef %23816, ptr noundef %23819, i32 noundef %23821) #11
  br label %23840

23823:                                            ; preds = %23801, %23794
  %23824 = load i32, ptr %481, align 4, !tbaa !5
  %23825 = call ptr @__errno_location() #12
  store i32 %23824, ptr %23825, align 4, !tbaa !5
  %23826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23827 = load i32, ptr @test_count, align 4, !tbaa !5
  %23828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23829 = load i32, ptr %23828, align 4, !tbaa !5
  %23830 = call ptr @s2n_strerror(i32 noundef %23829, ptr noundef @.str.4)
  %23831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23832 = load i32, ptr %23831, align 4, !tbaa !5
  %23833 = call ptr @s2n_strerror_debug(i32 noundef %23832, ptr noundef @.str.4)
  %23834 = call ptr @__errno_location() #12
  %23835 = load i32, ptr %23834, align 4, !tbaa !5
  %23836 = call ptr @strerror(i32 noundef %23835) #11
  %23837 = call ptr @__errno_location() #12
  %23838 = load i32, ptr %23837, align 4, !tbaa !5
  %23839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23826, ptr noundef @.str.5, i32 noundef %23827, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 708, ptr noundef %23830, ptr noundef %23833, ptr noundef %23836, i32 noundef %23838) #11
  br label %23840

23840:                                            ; preds = %23823, %23806
  call void @llvm.lifetime.end.p0(i64 4, ptr %481) #11
  br label %23841

23841:                                            ; preds = %23840
  br label %23842

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

23843:                                            ; No predecessors!
  br label %23844

23844:                                            ; preds = %23843
  br label %23845

23845:                                            ; preds = %23844, %23786
  br label %23846

23846:                                            ; preds = %23845
  br label %23847

23847:                                            ; preds = %23846
  br label %23848

23848:                                            ; preds = %23847
  %23849 = load i32, ptr @test_count, align 4, !tbaa !5
  %23850 = add nsw i32 %23849, 1
  store i32 %23850, ptr @test_count, align 4, !tbaa !5
  %23851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23852 = load i32, ptr %23851, align 4, !tbaa !5
  %23853 = call ptr @s2n_strerror_debug(i32 noundef %23852, ptr noundef @.str.4)
  %23854 = icmp eq ptr %23853, null
  br i1 %23854, label %23855, label %23908

23855:                                            ; preds = %23848
  br label %23856

23856:                                            ; preds = %23855
  br label %23857

23857:                                            ; preds = %23856
  call void @llvm.lifetime.start.p0(i64 4, ptr %482) #11
  %23858 = call ptr @__errno_location() #12
  %23859 = load i32, ptr %23858, align 4, !tbaa !5
  store i32 %23859, ptr %482, align 4, !tbaa !5
  %23860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23861 = call i32 @s2n_print_stacktrace(ptr noundef %23860)
  %23862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23863 = trunc i8 %23862 to i1
  br i1 %23863, label %23864, label %23886

23864:                                            ; preds = %23857
  %23865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23866 = call i32 @fileno(ptr noundef %23865) #11
  %23867 = call i32 @isatty(i32 noundef %23866) #11
  %23868 = icmp ne i32 %23867, 0
  br i1 %23868, label %23869, label %23886

23869:                                            ; preds = %23864
  %23870 = load i32, ptr %482, align 4, !tbaa !5
  %23871 = call ptr @__errno_location() #12
  store i32 %23870, ptr %23871, align 4, !tbaa !5
  %23872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23873 = load i32, ptr @test_count, align 4, !tbaa !5
  %23874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23875 = load i32, ptr %23874, align 4, !tbaa !5
  %23876 = call ptr @s2n_strerror(i32 noundef %23875, ptr noundef @.str.4)
  %23877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23878 = load i32, ptr %23877, align 4, !tbaa !5
  %23879 = call ptr @s2n_strerror_debug(i32 noundef %23878, ptr noundef @.str.4)
  %23880 = call ptr @__errno_location() #12
  %23881 = load i32, ptr %23880, align 4, !tbaa !5
  %23882 = call ptr @strerror(i32 noundef %23881) #11
  %23883 = call ptr @__errno_location() #12
  %23884 = load i32, ptr %23883, align 4, !tbaa !5
  %23885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23872, ptr noundef @.str.2, i32 noundef %23873, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 708, ptr noundef %23876, ptr noundef %23879, ptr noundef %23882, i32 noundef %23884) #11
  br label %23903

23886:                                            ; preds = %23864, %23857
  %23887 = load i32, ptr %482, align 4, !tbaa !5
  %23888 = call ptr @__errno_location() #12
  store i32 %23887, ptr %23888, align 4, !tbaa !5
  %23889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23890 = load i32, ptr @test_count, align 4, !tbaa !5
  %23891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23892 = load i32, ptr %23891, align 4, !tbaa !5
  %23893 = call ptr @s2n_strerror(i32 noundef %23892, ptr noundef @.str.4)
  %23894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23895 = load i32, ptr %23894, align 4, !tbaa !5
  %23896 = call ptr @s2n_strerror_debug(i32 noundef %23895, ptr noundef @.str.4)
  %23897 = call ptr @__errno_location() #12
  %23898 = load i32, ptr %23897, align 4, !tbaa !5
  %23899 = call ptr @strerror(i32 noundef %23898) #11
  %23900 = call ptr @__errno_location() #12
  %23901 = load i32, ptr %23900, align 4, !tbaa !5
  %23902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23889, ptr noundef @.str.5, i32 noundef %23890, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 708, ptr noundef %23893, ptr noundef %23896, ptr noundef %23899, i32 noundef %23901) #11
  br label %23903

23903:                                            ; preds = %23886, %23869
  call void @llvm.lifetime.end.p0(i64 4, ptr %482) #11
  br label %23904

23904:                                            ; preds = %23903
  br label %23905

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

23906:                                            ; No predecessors!
  br label %23907

23907:                                            ; preds = %23906
  br label %23908

23908:                                            ; preds = %23907, %23848
  br label %23909

23909:                                            ; preds = %23908
  br label %23910

23910:                                            ; preds = %23909
  br label %23911

23911:                                            ; preds = %23910
  br label %23912

23912:                                            ; preds = %23911
  br label %23913

23913:                                            ; preds = %23912
  %23914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %23914, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %23915 = call ptr @__errno_location() #12
  store i32 0, ptr %23915, align 4, !tbaa !5
  br label %23916

23916:                                            ; preds = %23913
  br label %23917

23917:                                            ; preds = %23916
  br label %23918

23918:                                            ; preds = %23917
  br label %23919

23919:                                            ; preds = %23918
  br label %23920

23920:                                            ; preds = %23919
  %23921 = load i32, ptr @test_count, align 4, !tbaa !5
  %23922 = add nsw i32 %23921, 1
  store i32 %23922, ptr @test_count, align 4, !tbaa !5
  %23923 = load ptr, ptr %466, align 8, !tbaa !9
  %23924 = load ptr, ptr %465, align 8, !tbaa !9
  %23925 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %23923, ptr noundef %23924, i32 noundef 1)
  %23926 = getelementptr inbounds %struct.s2n_result, ptr %483, i32 0, i32 0
  store i32 %23925, ptr %23926, align 4
  %23927 = getelementptr inbounds %struct.s2n_result, ptr %483, i32 0, i32 0
  %23928 = load i32, ptr %23927, align 4
  %23929 = call zeroext i1 @s2n_result_is_ok(i32 %23928)
  br i1 %23929, label %23983, label %23930

23930:                                            ; preds = %23920
  br label %23931

23931:                                            ; preds = %23930
  br label %23932

23932:                                            ; preds = %23931
  call void @llvm.lifetime.start.p0(i64 4, ptr %484) #11
  %23933 = call ptr @__errno_location() #12
  %23934 = load i32, ptr %23933, align 4, !tbaa !5
  store i32 %23934, ptr %484, align 4, !tbaa !5
  %23935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23936 = call i32 @s2n_print_stacktrace(ptr noundef %23935)
  %23937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23938 = trunc i8 %23937 to i1
  br i1 %23938, label %23939, label %23961

23939:                                            ; preds = %23932
  %23940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23941 = call i32 @fileno(ptr noundef %23940) #11
  %23942 = call i32 @isatty(i32 noundef %23941) #11
  %23943 = icmp ne i32 %23942, 0
  br i1 %23943, label %23944, label %23961

23944:                                            ; preds = %23939
  %23945 = load i32, ptr %484, align 4, !tbaa !5
  %23946 = call ptr @__errno_location() #12
  store i32 %23945, ptr %23946, align 4, !tbaa !5
  %23947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23948 = load i32, ptr @test_count, align 4, !tbaa !5
  %23949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23950 = load i32, ptr %23949, align 4, !tbaa !5
  %23951 = call ptr @s2n_strerror(i32 noundef %23950, ptr noundef @.str.4)
  %23952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23953 = load i32, ptr %23952, align 4, !tbaa !5
  %23954 = call ptr @s2n_strerror_debug(i32 noundef %23953, ptr noundef @.str.4)
  %23955 = call ptr @__errno_location() #12
  %23956 = load i32, ptr %23955, align 4, !tbaa !5
  %23957 = call ptr @strerror(i32 noundef %23956) #11
  %23958 = call ptr @__errno_location() #12
  %23959 = load i32, ptr %23958, align 4, !tbaa !5
  %23960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23947, ptr noundef @.str.2, i32 noundef %23948, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 712, ptr noundef %23951, ptr noundef %23954, ptr noundef %23957, i32 noundef %23959) #11
  br label %23978

23961:                                            ; preds = %23939, %23932
  %23962 = load i32, ptr %484, align 4, !tbaa !5
  %23963 = call ptr @__errno_location() #12
  store i32 %23962, ptr %23963, align 4, !tbaa !5
  %23964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23965 = load i32, ptr @test_count, align 4, !tbaa !5
  %23966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23967 = load i32, ptr %23966, align 4, !tbaa !5
  %23968 = call ptr @s2n_strerror(i32 noundef %23967, ptr noundef @.str.4)
  %23969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23970 = load i32, ptr %23969, align 4, !tbaa !5
  %23971 = call ptr @s2n_strerror_debug(i32 noundef %23970, ptr noundef @.str.4)
  %23972 = call ptr @__errno_location() #12
  %23973 = load i32, ptr %23972, align 4, !tbaa !5
  %23974 = call ptr @strerror(i32 noundef %23973) #11
  %23975 = call ptr @__errno_location() #12
  %23976 = load i32, ptr %23975, align 4, !tbaa !5
  %23977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23964, ptr noundef @.str.5, i32 noundef %23965, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 712, ptr noundef %23968, ptr noundef %23971, ptr noundef %23974, i32 noundef %23976) #11
  br label %23978

23978:                                            ; preds = %23961, %23944
  call void @llvm.lifetime.end.p0(i64 4, ptr %484) #11
  br label %23979

23979:                                            ; preds = %23978
  br label %23980

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

23981:                                            ; No predecessors!
  br label %23982

23982:                                            ; preds = %23981
  br label %23983

23983:                                            ; preds = %23982, %23920
  br label %23984

23984:                                            ; preds = %23983
  br label %23985

23985:                                            ; preds = %23984
  br label %23986

23986:                                            ; preds = %23985
  br label %23987

23987:                                            ; preds = %23986
  br label %23988

23988:                                            ; preds = %23987
  %23989 = load i32, ptr @test_count, align 4, !tbaa !5
  %23990 = add nsw i32 %23989, 1
  store i32 %23990, ptr @test_count, align 4, !tbaa !5
  %23991 = load ptr, ptr %466, align 8, !tbaa !9
  %23992 = getelementptr inbounds [1000 x i8], ptr %475, i64 0, i64 0
  %23993 = call i64 @s2n_recv(ptr noundef %23991, ptr noundef %23992, i64 noundef 0, ptr noundef %474)
  %23994 = icmp eq i64 %23993, -1
  br i1 %23994, label %24048, label %23995

23995:                                            ; preds = %23988
  br label %23996

23996:                                            ; preds = %23995
  br label %23997

23997:                                            ; preds = %23996
  call void @llvm.lifetime.start.p0(i64 4, ptr %485) #11
  %23998 = call ptr @__errno_location() #12
  %23999 = load i32, ptr %23998, align 4, !tbaa !5
  store i32 %23999, ptr %485, align 4, !tbaa !5
  %24000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24001 = call i32 @s2n_print_stacktrace(ptr noundef %24000)
  %24002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24003 = trunc i8 %24002 to i1
  br i1 %24003, label %24004, label %24026

24004:                                            ; preds = %23997
  %24005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24006 = call i32 @fileno(ptr noundef %24005) #11
  %24007 = call i32 @isatty(i32 noundef %24006) #11
  %24008 = icmp ne i32 %24007, 0
  br i1 %24008, label %24009, label %24026

24009:                                            ; preds = %24004
  %24010 = load i32, ptr %485, align 4, !tbaa !5
  %24011 = call ptr @__errno_location() #12
  store i32 %24010, ptr %24011, align 4, !tbaa !5
  %24012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24013 = load i32, ptr @test_count, align 4, !tbaa !5
  %24014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24015 = load i32, ptr %24014, align 4, !tbaa !5
  %24016 = call ptr @s2n_strerror(i32 noundef %24015, ptr noundef @.str.4)
  %24017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24018 = load i32, ptr %24017, align 4, !tbaa !5
  %24019 = call ptr @s2n_strerror_debug(i32 noundef %24018, ptr noundef @.str.4)
  %24020 = call ptr @__errno_location() #12
  %24021 = load i32, ptr %24020, align 4, !tbaa !5
  %24022 = call ptr @strerror(i32 noundef %24021) #11
  %24023 = call ptr @__errno_location() #12
  %24024 = load i32, ptr %24023, align 4, !tbaa !5
  %24025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24012, ptr noundef @.str.2, i32 noundef %24013, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 713, ptr noundef %24016, ptr noundef %24019, ptr noundef %24022, i32 noundef %24024) #11
  br label %24043

24026:                                            ; preds = %24004, %23997
  %24027 = load i32, ptr %485, align 4, !tbaa !5
  %24028 = call ptr @__errno_location() #12
  store i32 %24027, ptr %24028, align 4, !tbaa !5
  %24029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24030 = load i32, ptr @test_count, align 4, !tbaa !5
  %24031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24032 = load i32, ptr %24031, align 4, !tbaa !5
  %24033 = call ptr @s2n_strerror(i32 noundef %24032, ptr noundef @.str.4)
  %24034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24035 = load i32, ptr %24034, align 4, !tbaa !5
  %24036 = call ptr @s2n_strerror_debug(i32 noundef %24035, ptr noundef @.str.4)
  %24037 = call ptr @__errno_location() #12
  %24038 = load i32, ptr %24037, align 4, !tbaa !5
  %24039 = call ptr @strerror(i32 noundef %24038) #11
  %24040 = call ptr @__errno_location() #12
  %24041 = load i32, ptr %24040, align 4, !tbaa !5
  %24042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24029, ptr noundef @.str.5, i32 noundef %24030, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 713, ptr noundef %24033, ptr noundef %24036, ptr noundef %24039, i32 noundef %24041) #11
  br label %24043

24043:                                            ; preds = %24026, %24009
  call void @llvm.lifetime.end.p0(i64 4, ptr %485) #11
  br label %24044

24044:                                            ; preds = %24043
  br label %24045

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

24046:                                            ; No predecessors!
  br label %24047

24047:                                            ; preds = %24046
  br label %24048

24048:                                            ; preds = %24047, %23988
  br label %24049

24049:                                            ; preds = %24048
  br label %24050

24050:                                            ; preds = %24049
  br label %24051

24051:                                            ; preds = %24050
  %24052 = load i32, ptr @test_count, align 4, !tbaa !5
  %24053 = add nsw i32 %24052, 1
  store i32 %24053, ptr @test_count, align 4, !tbaa !5
  %24054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24055 = load i32, ptr %24054, align 4, !tbaa !5
  %24056 = icmp eq i32 %24055, 469762113
  br i1 %24056, label %24110, label %24057

24057:                                            ; preds = %24051
  br label %24058

24058:                                            ; preds = %24057
  br label %24059

24059:                                            ; preds = %24058
  call void @llvm.lifetime.start.p0(i64 4, ptr %486) #11
  %24060 = call ptr @__errno_location() #12
  %24061 = load i32, ptr %24060, align 4, !tbaa !5
  store i32 %24061, ptr %486, align 4, !tbaa !5
  %24062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24063 = call i32 @s2n_print_stacktrace(ptr noundef %24062)
  %24064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24065 = trunc i8 %24064 to i1
  br i1 %24065, label %24066, label %24088

24066:                                            ; preds = %24059
  %24067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24068 = call i32 @fileno(ptr noundef %24067) #11
  %24069 = call i32 @isatty(i32 noundef %24068) #11
  %24070 = icmp ne i32 %24069, 0
  br i1 %24070, label %24071, label %24088

24071:                                            ; preds = %24066
  %24072 = load i32, ptr %486, align 4, !tbaa !5
  %24073 = call ptr @__errno_location() #12
  store i32 %24072, ptr %24073, align 4, !tbaa !5
  %24074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24075 = load i32, ptr @test_count, align 4, !tbaa !5
  %24076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24077 = load i32, ptr %24076, align 4, !tbaa !5
  %24078 = call ptr @s2n_strerror(i32 noundef %24077, ptr noundef @.str.4)
  %24079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24080 = load i32, ptr %24079, align 4, !tbaa !5
  %24081 = call ptr @s2n_strerror_debug(i32 noundef %24080, ptr noundef @.str.4)
  %24082 = call ptr @__errno_location() #12
  %24083 = load i32, ptr %24082, align 4, !tbaa !5
  %24084 = call ptr @strerror(i32 noundef %24083) #11
  %24085 = call ptr @__errno_location() #12
  %24086 = load i32, ptr %24085, align 4, !tbaa !5
  %24087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24074, ptr noundef @.str.2, i32 noundef %24075, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 713, ptr noundef %24078, ptr noundef %24081, ptr noundef %24084, i32 noundef %24086) #11
  br label %24105

24088:                                            ; preds = %24066, %24059
  %24089 = load i32, ptr %486, align 4, !tbaa !5
  %24090 = call ptr @__errno_location() #12
  store i32 %24089, ptr %24090, align 4, !tbaa !5
  %24091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24092 = load i32, ptr @test_count, align 4, !tbaa !5
  %24093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24094 = load i32, ptr %24093, align 4, !tbaa !5
  %24095 = call ptr @s2n_strerror(i32 noundef %24094, ptr noundef @.str.4)
  %24096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24097 = load i32, ptr %24096, align 4, !tbaa !5
  %24098 = call ptr @s2n_strerror_debug(i32 noundef %24097, ptr noundef @.str.4)
  %24099 = call ptr @__errno_location() #12
  %24100 = load i32, ptr %24099, align 4, !tbaa !5
  %24101 = call ptr @strerror(i32 noundef %24100) #11
  %24102 = call ptr @__errno_location() #12
  %24103 = load i32, ptr %24102, align 4, !tbaa !5
  %24104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24091, ptr noundef @.str.5, i32 noundef %24092, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 713, ptr noundef %24095, ptr noundef %24098, ptr noundef %24101, i32 noundef %24103) #11
  br label %24105

24105:                                            ; preds = %24088, %24071
  call void @llvm.lifetime.end.p0(i64 4, ptr %486) #11
  br label %24106

24106:                                            ; preds = %24105
  br label %24107

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

24108:                                            ; No predecessors!
  br label %24109

24109:                                            ; preds = %24108
  br label %24110

24110:                                            ; preds = %24109, %24051
  br label %24111

24111:                                            ; preds = %24110
  br label %24112

24112:                                            ; preds = %24111
  br label %24113

24113:                                            ; preds = %24112
  %24114 = load i32, ptr @test_count, align 4, !tbaa !5
  %24115 = add nsw i32 %24114, 1
  store i32 %24115, ptr @test_count, align 4, !tbaa !5
  %24116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24117 = load i32, ptr %24116, align 4, !tbaa !5
  %24118 = call ptr @s2n_strerror_debug(i32 noundef %24117, ptr noundef @.str.4)
  %24119 = icmp eq ptr %24118, null
  br i1 %24119, label %24120, label %24173

24120:                                            ; preds = %24113
  br label %24121

24121:                                            ; preds = %24120
  br label %24122

24122:                                            ; preds = %24121
  call void @llvm.lifetime.start.p0(i64 4, ptr %487) #11
  %24123 = call ptr @__errno_location() #12
  %24124 = load i32, ptr %24123, align 4, !tbaa !5
  store i32 %24124, ptr %487, align 4, !tbaa !5
  %24125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24126 = call i32 @s2n_print_stacktrace(ptr noundef %24125)
  %24127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24128 = trunc i8 %24127 to i1
  br i1 %24128, label %24129, label %24151

24129:                                            ; preds = %24122
  %24130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24131 = call i32 @fileno(ptr noundef %24130) #11
  %24132 = call i32 @isatty(i32 noundef %24131) #11
  %24133 = icmp ne i32 %24132, 0
  br i1 %24133, label %24134, label %24151

24134:                                            ; preds = %24129
  %24135 = load i32, ptr %487, align 4, !tbaa !5
  %24136 = call ptr @__errno_location() #12
  store i32 %24135, ptr %24136, align 4, !tbaa !5
  %24137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24138 = load i32, ptr @test_count, align 4, !tbaa !5
  %24139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24140 = load i32, ptr %24139, align 4, !tbaa !5
  %24141 = call ptr @s2n_strerror(i32 noundef %24140, ptr noundef @.str.4)
  %24142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24143 = load i32, ptr %24142, align 4, !tbaa !5
  %24144 = call ptr @s2n_strerror_debug(i32 noundef %24143, ptr noundef @.str.4)
  %24145 = call ptr @__errno_location() #12
  %24146 = load i32, ptr %24145, align 4, !tbaa !5
  %24147 = call ptr @strerror(i32 noundef %24146) #11
  %24148 = call ptr @__errno_location() #12
  %24149 = load i32, ptr %24148, align 4, !tbaa !5
  %24150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24137, ptr noundef @.str.2, i32 noundef %24138, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 713, ptr noundef %24141, ptr noundef %24144, ptr noundef %24147, i32 noundef %24149) #11
  br label %24168

24151:                                            ; preds = %24129, %24122
  %24152 = load i32, ptr %487, align 4, !tbaa !5
  %24153 = call ptr @__errno_location() #12
  store i32 %24152, ptr %24153, align 4, !tbaa !5
  %24154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24155 = load i32, ptr @test_count, align 4, !tbaa !5
  %24156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24157 = load i32, ptr %24156, align 4, !tbaa !5
  %24158 = call ptr @s2n_strerror(i32 noundef %24157, ptr noundef @.str.4)
  %24159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24160 = load i32, ptr %24159, align 4, !tbaa !5
  %24161 = call ptr @s2n_strerror_debug(i32 noundef %24160, ptr noundef @.str.4)
  %24162 = call ptr @__errno_location() #12
  %24163 = load i32, ptr %24162, align 4, !tbaa !5
  %24164 = call ptr @strerror(i32 noundef %24163) #11
  %24165 = call ptr @__errno_location() #12
  %24166 = load i32, ptr %24165, align 4, !tbaa !5
  %24167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24154, ptr noundef @.str.5, i32 noundef %24155, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 713, ptr noundef %24158, ptr noundef %24161, ptr noundef %24164, i32 noundef %24166) #11
  br label %24168

24168:                                            ; preds = %24151, %24134
  call void @llvm.lifetime.end.p0(i64 4, ptr %487) #11
  br label %24169

24169:                                            ; preds = %24168
  br label %24170

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

24171:                                            ; No predecessors!
  br label %24172

24172:                                            ; preds = %24171
  br label %24173

24173:                                            ; preds = %24172, %24113
  br label %24174

24174:                                            ; preds = %24173
  br label %24175

24175:                                            ; preds = %24174
  br label %24176

24176:                                            ; preds = %24175
  br label %24177

24177:                                            ; preds = %24176
  br label %24178

24178:                                            ; preds = %24177
  %24179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %24179, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %24180 = call ptr @__errno_location() #12
  store i32 0, ptr %24180, align 4, !tbaa !5
  br label %24181

24181:                                            ; preds = %24178
  br label %24182

24182:                                            ; preds = %24181
  br label %24183

24183:                                            ; preds = %24182
  br label %24184

24184:                                            ; preds = %24183
  br label %24185

24185:                                            ; preds = %24184
  %24186 = load i32, ptr @test_count, align 4, !tbaa !5
  %24187 = add nsw i32 %24186, 1
  store i32 %24187, ptr @test_count, align 4, !tbaa !5
  %24188 = load ptr, ptr %466, align 8, !tbaa !9
  %24189 = load ptr, ptr %465, align 8, !tbaa !9
  %24190 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %24188, ptr noundef %24189, i32 noundef 19)
  %24191 = getelementptr inbounds %struct.s2n_result, ptr %488, i32 0, i32 0
  store i32 %24190, ptr %24191, align 4
  %24192 = getelementptr inbounds %struct.s2n_result, ptr %488, i32 0, i32 0
  %24193 = load i32, ptr %24192, align 4
  %24194 = call zeroext i1 @s2n_result_is_ok(i32 %24193)
  br i1 %24194, label %24248, label %24195

24195:                                            ; preds = %24185
  br label %24196

24196:                                            ; preds = %24195
  br label %24197

24197:                                            ; preds = %24196
  call void @llvm.lifetime.start.p0(i64 4, ptr %489) #11
  %24198 = call ptr @__errno_location() #12
  %24199 = load i32, ptr %24198, align 4, !tbaa !5
  store i32 %24199, ptr %489, align 4, !tbaa !5
  %24200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24201 = call i32 @s2n_print_stacktrace(ptr noundef %24200)
  %24202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24203 = trunc i8 %24202 to i1
  br i1 %24203, label %24204, label %24226

24204:                                            ; preds = %24197
  %24205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24206 = call i32 @fileno(ptr noundef %24205) #11
  %24207 = call i32 @isatty(i32 noundef %24206) #11
  %24208 = icmp ne i32 %24207, 0
  br i1 %24208, label %24209, label %24226

24209:                                            ; preds = %24204
  %24210 = load i32, ptr %489, align 4, !tbaa !5
  %24211 = call ptr @__errno_location() #12
  store i32 %24210, ptr %24211, align 4, !tbaa !5
  %24212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24213 = load i32, ptr @test_count, align 4, !tbaa !5
  %24214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24215 = load i32, ptr %24214, align 4, !tbaa !5
  %24216 = call ptr @s2n_strerror(i32 noundef %24215, ptr noundef @.str.4)
  %24217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24218 = load i32, ptr %24217, align 4, !tbaa !5
  %24219 = call ptr @s2n_strerror_debug(i32 noundef %24218, ptr noundef @.str.4)
  %24220 = call ptr @__errno_location() #12
  %24221 = load i32, ptr %24220, align 4, !tbaa !5
  %24222 = call ptr @strerror(i32 noundef %24221) #11
  %24223 = call ptr @__errno_location() #12
  %24224 = load i32, ptr %24223, align 4, !tbaa !5
  %24225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24212, ptr noundef @.str.2, i32 noundef %24213, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 717, ptr noundef %24216, ptr noundef %24219, ptr noundef %24222, i32 noundef %24224) #11
  br label %24243

24226:                                            ; preds = %24204, %24197
  %24227 = load i32, ptr %489, align 4, !tbaa !5
  %24228 = call ptr @__errno_location() #12
  store i32 %24227, ptr %24228, align 4, !tbaa !5
  %24229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24230 = load i32, ptr @test_count, align 4, !tbaa !5
  %24231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24232 = load i32, ptr %24231, align 4, !tbaa !5
  %24233 = call ptr @s2n_strerror(i32 noundef %24232, ptr noundef @.str.4)
  %24234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24235 = load i32, ptr %24234, align 4, !tbaa !5
  %24236 = call ptr @s2n_strerror_debug(i32 noundef %24235, ptr noundef @.str.4)
  %24237 = call ptr @__errno_location() #12
  %24238 = load i32, ptr %24237, align 4, !tbaa !5
  %24239 = call ptr @strerror(i32 noundef %24238) #11
  %24240 = call ptr @__errno_location() #12
  %24241 = load i32, ptr %24240, align 4, !tbaa !5
  %24242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24229, ptr noundef @.str.5, i32 noundef %24230, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 717, ptr noundef %24233, ptr noundef %24236, ptr noundef %24239, i32 noundef %24241) #11
  br label %24243

24243:                                            ; preds = %24226, %24209
  call void @llvm.lifetime.end.p0(i64 4, ptr %489) #11
  br label %24244

24244:                                            ; preds = %24243
  br label %24245

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

24246:                                            ; No predecessors!
  br label %24247

24247:                                            ; preds = %24246
  br label %24248

24248:                                            ; preds = %24247, %24185
  br label %24249

24249:                                            ; preds = %24248
  br label %24250

24250:                                            ; preds = %24249
  br label %24251

24251:                                            ; preds = %24250
  %24252 = load i32, ptr @test_count, align 4, !tbaa !5
  %24253 = add nsw i32 %24252, 1
  store i32 %24253, ptr @test_count, align 4, !tbaa !5
  %24254 = load ptr, ptr %466, align 8, !tbaa !9
  %24255 = getelementptr inbounds [1000 x i8], ptr %475, i64 0, i64 0
  %24256 = call i64 @s2n_recv(ptr noundef %24254, ptr noundef %24255, i64 noundef 0, ptr noundef %474)
  %24257 = icmp eq i64 %24256, 0
  br i1 %24257, label %24311, label %24258

24258:                                            ; preds = %24251
  br label %24259

24259:                                            ; preds = %24258
  br label %24260

24260:                                            ; preds = %24259
  call void @llvm.lifetime.start.p0(i64 4, ptr %490) #11
  %24261 = call ptr @__errno_location() #12
  %24262 = load i32, ptr %24261, align 4, !tbaa !5
  store i32 %24262, ptr %490, align 4, !tbaa !5
  %24263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24264 = call i32 @s2n_print_stacktrace(ptr noundef %24263)
  %24265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24266 = trunc i8 %24265 to i1
  br i1 %24266, label %24267, label %24289

24267:                                            ; preds = %24260
  %24268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24269 = call i32 @fileno(ptr noundef %24268) #11
  %24270 = call i32 @isatty(i32 noundef %24269) #11
  %24271 = icmp ne i32 %24270, 0
  br i1 %24271, label %24272, label %24289

24272:                                            ; preds = %24267
  %24273 = load i32, ptr %490, align 4, !tbaa !5
  %24274 = call ptr @__errno_location() #12
  store i32 %24273, ptr %24274, align 4, !tbaa !5
  %24275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24276 = load i32, ptr @test_count, align 4, !tbaa !5
  %24277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24278 = load i32, ptr %24277, align 4, !tbaa !5
  %24279 = call ptr @s2n_strerror(i32 noundef %24278, ptr noundef @.str.4)
  %24280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24281 = load i32, ptr %24280, align 4, !tbaa !5
  %24282 = call ptr @s2n_strerror_debug(i32 noundef %24281, ptr noundef @.str.4)
  %24283 = call ptr @__errno_location() #12
  %24284 = load i32, ptr %24283, align 4, !tbaa !5
  %24285 = call ptr @strerror(i32 noundef %24284) #11
  %24286 = call ptr @__errno_location() #12
  %24287 = load i32, ptr %24286, align 4, !tbaa !5
  %24288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24275, ptr noundef @.str.2, i32 noundef %24276, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 718, ptr noundef %24279, ptr noundef %24282, ptr noundef %24285, i32 noundef %24287) #11
  br label %24306

24289:                                            ; preds = %24267, %24260
  %24290 = load i32, ptr %490, align 4, !tbaa !5
  %24291 = call ptr @__errno_location() #12
  store i32 %24290, ptr %24291, align 4, !tbaa !5
  %24292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24293 = load i32, ptr @test_count, align 4, !tbaa !5
  %24294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24295 = load i32, ptr %24294, align 4, !tbaa !5
  %24296 = call ptr @s2n_strerror(i32 noundef %24295, ptr noundef @.str.4)
  %24297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24298 = load i32, ptr %24297, align 4, !tbaa !5
  %24299 = call ptr @s2n_strerror_debug(i32 noundef %24298, ptr noundef @.str.4)
  %24300 = call ptr @__errno_location() #12
  %24301 = load i32, ptr %24300, align 4, !tbaa !5
  %24302 = call ptr @strerror(i32 noundef %24301) #11
  %24303 = call ptr @__errno_location() #12
  %24304 = load i32, ptr %24303, align 4, !tbaa !5
  %24305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24292, ptr noundef @.str.5, i32 noundef %24293, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 718, ptr noundef %24296, ptr noundef %24299, ptr noundef %24302, i32 noundef %24304) #11
  br label %24306

24306:                                            ; preds = %24289, %24272
  call void @llvm.lifetime.end.p0(i64 4, ptr %490) #11
  br label %24307

24307:                                            ; preds = %24306
  br label %24308

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

24309:                                            ; No predecessors!
  br label %24310

24310:                                            ; preds = %24309
  br label %24311

24311:                                            ; preds = %24310, %24251
  br label %24312

24312:                                            ; preds = %24311
  br label %24313

24313:                                            ; preds = %24312
  br label %24314

24314:                                            ; preds = %24313
  br label %24315

24315:                                            ; preds = %24314
  br label %24316

24316:                                            ; preds = %24315
  br label %24317

24317:                                            ; preds = %24316
  %24318 = load i32, ptr @test_count, align 4, !tbaa !5
  %24319 = add nsw i32 %24318, 1
  store i32 %24319, ptr @test_count, align 4, !tbaa !5
  %24320 = load ptr, ptr %465, align 8, !tbaa !9
  %24321 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %24322 = call i64 @s2n_send(ptr noundef %24320, ptr noundef %24321, i64 noundef 12, ptr noundef %474)
  %24323 = icmp eq i64 %24322, 12
  br i1 %24323, label %24377, label %24324

24324:                                            ; preds = %24317
  br label %24325

24325:                                            ; preds = %24324
  br label %24326

24326:                                            ; preds = %24325
  call void @llvm.lifetime.start.p0(i64 4, ptr %491) #11
  %24327 = call ptr @__errno_location() #12
  %24328 = load i32, ptr %24327, align 4, !tbaa !5
  store i32 %24328, ptr %491, align 4, !tbaa !5
  %24329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24330 = call i32 @s2n_print_stacktrace(ptr noundef %24329)
  %24331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24332 = trunc i8 %24331 to i1
  br i1 %24332, label %24333, label %24355

24333:                                            ; preds = %24326
  %24334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24335 = call i32 @fileno(ptr noundef %24334) #11
  %24336 = call i32 @isatty(i32 noundef %24335) #11
  %24337 = icmp ne i32 %24336, 0
  br i1 %24337, label %24338, label %24355

24338:                                            ; preds = %24333
  %24339 = load i32, ptr %491, align 4, !tbaa !5
  %24340 = call ptr @__errno_location() #12
  store i32 %24339, ptr %24340, align 4, !tbaa !5
  %24341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24342 = load i32, ptr @test_count, align 4, !tbaa !5
  %24343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24344 = load i32, ptr %24343, align 4, !tbaa !5
  %24345 = call ptr @s2n_strerror(i32 noundef %24344, ptr noundef @.str.4)
  %24346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24347 = load i32, ptr %24346, align 4, !tbaa !5
  %24348 = call ptr @s2n_strerror_debug(i32 noundef %24347, ptr noundef @.str.4)
  %24349 = call ptr @__errno_location() #12
  %24350 = load i32, ptr %24349, align 4, !tbaa !5
  %24351 = call ptr @strerror(i32 noundef %24350) #11
  %24352 = call ptr @__errno_location() #12
  %24353 = load i32, ptr %24352, align 4, !tbaa !5
  %24354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24341, ptr noundef @.str.2, i32 noundef %24342, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 721, ptr noundef %24345, ptr noundef %24348, ptr noundef %24351, i32 noundef %24353) #11
  br label %24372

24355:                                            ; preds = %24333, %24326
  %24356 = load i32, ptr %491, align 4, !tbaa !5
  %24357 = call ptr @__errno_location() #12
  store i32 %24356, ptr %24357, align 4, !tbaa !5
  %24358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24359 = load i32, ptr @test_count, align 4, !tbaa !5
  %24360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24361 = load i32, ptr %24360, align 4, !tbaa !5
  %24362 = call ptr @s2n_strerror(i32 noundef %24361, ptr noundef @.str.4)
  %24363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24364 = load i32, ptr %24363, align 4, !tbaa !5
  %24365 = call ptr @s2n_strerror_debug(i32 noundef %24364, ptr noundef @.str.4)
  %24366 = call ptr @__errno_location() #12
  %24367 = load i32, ptr %24366, align 4, !tbaa !5
  %24368 = call ptr @strerror(i32 noundef %24367) #11
  %24369 = call ptr @__errno_location() #12
  %24370 = load i32, ptr %24369, align 4, !tbaa !5
  %24371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24358, ptr noundef @.str.5, i32 noundef %24359, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 721, ptr noundef %24362, ptr noundef %24365, ptr noundef %24368, i32 noundef %24370) #11
  br label %24372

24372:                                            ; preds = %24355, %24338
  call void @llvm.lifetime.end.p0(i64 4, ptr %491) #11
  br label %24373

24373:                                            ; preds = %24372
  br label %24374

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

24375:                                            ; No predecessors!
  br label %24376

24376:                                            ; preds = %24375
  br label %24377

24377:                                            ; preds = %24376, %24317
  br label %24378

24378:                                            ; preds = %24377
  br label %24379

24379:                                            ; preds = %24378
  br label %24380

24380:                                            ; preds = %24379
  br label %24381

24381:                                            ; preds = %24380
  br label %24382

24382:                                            ; preds = %24381
  %24383 = load i32, ptr @test_count, align 4, !tbaa !5
  %24384 = add nsw i32 %24383, 1
  store i32 %24384, ptr @test_count, align 4, !tbaa !5
  %24385 = load ptr, ptr %466, align 8, !tbaa !9
  %24386 = call i32 @s2n_negotiate(ptr noundef %24385, ptr noundef %474)
  %24387 = icmp eq i32 %24386, -1
  br i1 %24387, label %24441, label %24388

24388:                                            ; preds = %24382
  br label %24389

24389:                                            ; preds = %24388
  br label %24390

24390:                                            ; preds = %24389
  call void @llvm.lifetime.start.p0(i64 4, ptr %492) #11
  %24391 = call ptr @__errno_location() #12
  %24392 = load i32, ptr %24391, align 4, !tbaa !5
  store i32 %24392, ptr %492, align 4, !tbaa !5
  %24393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24394 = call i32 @s2n_print_stacktrace(ptr noundef %24393)
  %24395 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24396 = trunc i8 %24395 to i1
  br i1 %24396, label %24397, label %24419

24397:                                            ; preds = %24390
  %24398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24399 = call i32 @fileno(ptr noundef %24398) #11
  %24400 = call i32 @isatty(i32 noundef %24399) #11
  %24401 = icmp ne i32 %24400, 0
  br i1 %24401, label %24402, label %24419

24402:                                            ; preds = %24397
  %24403 = load i32, ptr %492, align 4, !tbaa !5
  %24404 = call ptr @__errno_location() #12
  store i32 %24403, ptr %24404, align 4, !tbaa !5
  %24405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24406 = load i32, ptr @test_count, align 4, !tbaa !5
  %24407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24408 = load i32, ptr %24407, align 4, !tbaa !5
  %24409 = call ptr @s2n_strerror(i32 noundef %24408, ptr noundef @.str.4)
  %24410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24411 = load i32, ptr %24410, align 4, !tbaa !5
  %24412 = call ptr @s2n_strerror_debug(i32 noundef %24411, ptr noundef @.str.4)
  %24413 = call ptr @__errno_location() #12
  %24414 = load i32, ptr %24413, align 4, !tbaa !5
  %24415 = call ptr @strerror(i32 noundef %24414) #11
  %24416 = call ptr @__errno_location() #12
  %24417 = load i32, ptr %24416, align 4, !tbaa !5
  %24418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24405, ptr noundef @.str.2, i32 noundef %24406, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 722, ptr noundef %24409, ptr noundef %24412, ptr noundef %24415, i32 noundef %24417) #11
  br label %24436

24419:                                            ; preds = %24397, %24390
  %24420 = load i32, ptr %492, align 4, !tbaa !5
  %24421 = call ptr @__errno_location() #12
  store i32 %24420, ptr %24421, align 4, !tbaa !5
  %24422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24423 = load i32, ptr @test_count, align 4, !tbaa !5
  %24424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24425 = load i32, ptr %24424, align 4, !tbaa !5
  %24426 = call ptr @s2n_strerror(i32 noundef %24425, ptr noundef @.str.4)
  %24427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24428 = load i32, ptr %24427, align 4, !tbaa !5
  %24429 = call ptr @s2n_strerror_debug(i32 noundef %24428, ptr noundef @.str.4)
  %24430 = call ptr @__errno_location() #12
  %24431 = load i32, ptr %24430, align 4, !tbaa !5
  %24432 = call ptr @strerror(i32 noundef %24431) #11
  %24433 = call ptr @__errno_location() #12
  %24434 = load i32, ptr %24433, align 4, !tbaa !5
  %24435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24422, ptr noundef @.str.5, i32 noundef %24423, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 722, ptr noundef %24426, ptr noundef %24429, ptr noundef %24432, i32 noundef %24434) #11
  br label %24436

24436:                                            ; preds = %24419, %24402
  call void @llvm.lifetime.end.p0(i64 4, ptr %492) #11
  br label %24437

24437:                                            ; preds = %24436
  br label %24438

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

24439:                                            ; No predecessors!
  br label %24440

24440:                                            ; preds = %24439
  br label %24441

24441:                                            ; preds = %24440, %24382
  br label %24442

24442:                                            ; preds = %24441
  br label %24443

24443:                                            ; preds = %24442
  br label %24444

24444:                                            ; preds = %24443
  %24445 = load i32, ptr @test_count, align 4, !tbaa !5
  %24446 = add nsw i32 %24445, 1
  store i32 %24446, ptr @test_count, align 4, !tbaa !5
  %24447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24448 = load i32, ptr %24447, align 4, !tbaa !5
  %24449 = icmp eq i32 %24448, 201326594
  br i1 %24449, label %24503, label %24450

24450:                                            ; preds = %24444
  br label %24451

24451:                                            ; preds = %24450
  br label %24452

24452:                                            ; preds = %24451
  call void @llvm.lifetime.start.p0(i64 4, ptr %493) #11
  %24453 = call ptr @__errno_location() #12
  %24454 = load i32, ptr %24453, align 4, !tbaa !5
  store i32 %24454, ptr %493, align 4, !tbaa !5
  %24455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24456 = call i32 @s2n_print_stacktrace(ptr noundef %24455)
  %24457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24458 = trunc i8 %24457 to i1
  br i1 %24458, label %24459, label %24481

24459:                                            ; preds = %24452
  %24460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24461 = call i32 @fileno(ptr noundef %24460) #11
  %24462 = call i32 @isatty(i32 noundef %24461) #11
  %24463 = icmp ne i32 %24462, 0
  br i1 %24463, label %24464, label %24481

24464:                                            ; preds = %24459
  %24465 = load i32, ptr %493, align 4, !tbaa !5
  %24466 = call ptr @__errno_location() #12
  store i32 %24465, ptr %24466, align 4, !tbaa !5
  %24467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24468 = load i32, ptr @test_count, align 4, !tbaa !5
  %24469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24470 = load i32, ptr %24469, align 4, !tbaa !5
  %24471 = call ptr @s2n_strerror(i32 noundef %24470, ptr noundef @.str.4)
  %24472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24473 = load i32, ptr %24472, align 4, !tbaa !5
  %24474 = call ptr @s2n_strerror_debug(i32 noundef %24473, ptr noundef @.str.4)
  %24475 = call ptr @__errno_location() #12
  %24476 = load i32, ptr %24475, align 4, !tbaa !5
  %24477 = call ptr @strerror(i32 noundef %24476) #11
  %24478 = call ptr @__errno_location() #12
  %24479 = load i32, ptr %24478, align 4, !tbaa !5
  %24480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24467, ptr noundef @.str.2, i32 noundef %24468, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 722, ptr noundef %24471, ptr noundef %24474, ptr noundef %24477, i32 noundef %24479) #11
  br label %24498

24481:                                            ; preds = %24459, %24452
  %24482 = load i32, ptr %493, align 4, !tbaa !5
  %24483 = call ptr @__errno_location() #12
  store i32 %24482, ptr %24483, align 4, !tbaa !5
  %24484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24485 = load i32, ptr @test_count, align 4, !tbaa !5
  %24486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24487 = load i32, ptr %24486, align 4, !tbaa !5
  %24488 = call ptr @s2n_strerror(i32 noundef %24487, ptr noundef @.str.4)
  %24489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24490 = load i32, ptr %24489, align 4, !tbaa !5
  %24491 = call ptr @s2n_strerror_debug(i32 noundef %24490, ptr noundef @.str.4)
  %24492 = call ptr @__errno_location() #12
  %24493 = load i32, ptr %24492, align 4, !tbaa !5
  %24494 = call ptr @strerror(i32 noundef %24493) #11
  %24495 = call ptr @__errno_location() #12
  %24496 = load i32, ptr %24495, align 4, !tbaa !5
  %24497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24484, ptr noundef @.str.5, i32 noundef %24485, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 722, ptr noundef %24488, ptr noundef %24491, ptr noundef %24494, i32 noundef %24496) #11
  br label %24498

24498:                                            ; preds = %24481, %24464
  call void @llvm.lifetime.end.p0(i64 4, ptr %493) #11
  br label %24499

24499:                                            ; preds = %24498
  br label %24500

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

24501:                                            ; No predecessors!
  br label %24502

24502:                                            ; preds = %24501
  br label %24503

24503:                                            ; preds = %24502, %24444
  br label %24504

24504:                                            ; preds = %24503
  br label %24505

24505:                                            ; preds = %24504
  br label %24506

24506:                                            ; preds = %24505
  %24507 = load i32, ptr @test_count, align 4, !tbaa !5
  %24508 = add nsw i32 %24507, 1
  store i32 %24508, ptr @test_count, align 4, !tbaa !5
  %24509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24510 = load i32, ptr %24509, align 4, !tbaa !5
  %24511 = call ptr @s2n_strerror_debug(i32 noundef %24510, ptr noundef @.str.4)
  %24512 = icmp eq ptr %24511, null
  br i1 %24512, label %24513, label %24566

24513:                                            ; preds = %24506
  br label %24514

24514:                                            ; preds = %24513
  br label %24515

24515:                                            ; preds = %24514
  call void @llvm.lifetime.start.p0(i64 4, ptr %494) #11
  %24516 = call ptr @__errno_location() #12
  %24517 = load i32, ptr %24516, align 4, !tbaa !5
  store i32 %24517, ptr %494, align 4, !tbaa !5
  %24518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24519 = call i32 @s2n_print_stacktrace(ptr noundef %24518)
  %24520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24521 = trunc i8 %24520 to i1
  br i1 %24521, label %24522, label %24544

24522:                                            ; preds = %24515
  %24523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24524 = call i32 @fileno(ptr noundef %24523) #11
  %24525 = call i32 @isatty(i32 noundef %24524) #11
  %24526 = icmp ne i32 %24525, 0
  br i1 %24526, label %24527, label %24544

24527:                                            ; preds = %24522
  %24528 = load i32, ptr %494, align 4, !tbaa !5
  %24529 = call ptr @__errno_location() #12
  store i32 %24528, ptr %24529, align 4, !tbaa !5
  %24530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24531 = load i32, ptr @test_count, align 4, !tbaa !5
  %24532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24533 = load i32, ptr %24532, align 4, !tbaa !5
  %24534 = call ptr @s2n_strerror(i32 noundef %24533, ptr noundef @.str.4)
  %24535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24536 = load i32, ptr %24535, align 4, !tbaa !5
  %24537 = call ptr @s2n_strerror_debug(i32 noundef %24536, ptr noundef @.str.4)
  %24538 = call ptr @__errno_location() #12
  %24539 = load i32, ptr %24538, align 4, !tbaa !5
  %24540 = call ptr @strerror(i32 noundef %24539) #11
  %24541 = call ptr @__errno_location() #12
  %24542 = load i32, ptr %24541, align 4, !tbaa !5
  %24543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24530, ptr noundef @.str.2, i32 noundef %24531, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 722, ptr noundef %24534, ptr noundef %24537, ptr noundef %24540, i32 noundef %24542) #11
  br label %24561

24544:                                            ; preds = %24522, %24515
  %24545 = load i32, ptr %494, align 4, !tbaa !5
  %24546 = call ptr @__errno_location() #12
  store i32 %24545, ptr %24546, align 4, !tbaa !5
  %24547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24548 = load i32, ptr @test_count, align 4, !tbaa !5
  %24549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24550 = load i32, ptr %24549, align 4, !tbaa !5
  %24551 = call ptr @s2n_strerror(i32 noundef %24550, ptr noundef @.str.4)
  %24552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24553 = load i32, ptr %24552, align 4, !tbaa !5
  %24554 = call ptr @s2n_strerror_debug(i32 noundef %24553, ptr noundef @.str.4)
  %24555 = call ptr @__errno_location() #12
  %24556 = load i32, ptr %24555, align 4, !tbaa !5
  %24557 = call ptr @strerror(i32 noundef %24556) #11
  %24558 = call ptr @__errno_location() #12
  %24559 = load i32, ptr %24558, align 4, !tbaa !5
  %24560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24547, ptr noundef @.str.5, i32 noundef %24548, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 722, ptr noundef %24551, ptr noundef %24554, ptr noundef %24557, i32 noundef %24559) #11
  br label %24561

24561:                                            ; preds = %24544, %24527
  call void @llvm.lifetime.end.p0(i64 4, ptr %494) #11
  br label %24562

24562:                                            ; preds = %24561
  br label %24563

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

24564:                                            ; No predecessors!
  br label %24565

24565:                                            ; preds = %24564
  br label %24566

24566:                                            ; preds = %24565, %24506
  br label %24567

24567:                                            ; preds = %24566
  br label %24568

24568:                                            ; preds = %24567
  br label %24569

24569:                                            ; preds = %24568
  br label %24570

24570:                                            ; preds = %24569
  br label %24571

24571:                                            ; preds = %24570
  %24572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %24572, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %24573 = call ptr @__errno_location() #12
  store i32 0, ptr %24573, align 4, !tbaa !5
  br label %24574

24574:                                            ; preds = %24571
  br label %24575

24575:                                            ; preds = %24574
  br label %24576

24576:                                            ; preds = %24575
  br label %24577

24577:                                            ; preds = %24576
  br label %24578

24578:                                            ; preds = %24577
  %24579 = load i32, ptr @test_count, align 4, !tbaa !5
  %24580 = add nsw i32 %24579, 1
  store i32 %24580, ptr @test_count, align 4, !tbaa !5
  %24581 = load ptr, ptr %466, align 8, !tbaa !9
  %24582 = getelementptr inbounds [1000 x i8], ptr %475, i64 0, i64 0
  %24583 = call i64 @s2n_recv(ptr noundef %24581, ptr noundef %24582, i64 noundef 1000, ptr noundef %474)
  %24584 = icmp eq i64 %24583, 12
  br i1 %24584, label %24638, label %24585

24585:                                            ; preds = %24578
  br label %24586

24586:                                            ; preds = %24585
  br label %24587

24587:                                            ; preds = %24586
  call void @llvm.lifetime.start.p0(i64 4, ptr %495) #11
  %24588 = call ptr @__errno_location() #12
  %24589 = load i32, ptr %24588, align 4, !tbaa !5
  store i32 %24589, ptr %495, align 4, !tbaa !5
  %24590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24591 = call i32 @s2n_print_stacktrace(ptr noundef %24590)
  %24592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24593 = trunc i8 %24592 to i1
  br i1 %24593, label %24594, label %24616

24594:                                            ; preds = %24587
  %24595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24596 = call i32 @fileno(ptr noundef %24595) #11
  %24597 = call i32 @isatty(i32 noundef %24596) #11
  %24598 = icmp ne i32 %24597, 0
  br i1 %24598, label %24599, label %24616

24599:                                            ; preds = %24594
  %24600 = load i32, ptr %495, align 4, !tbaa !5
  %24601 = call ptr @__errno_location() #12
  store i32 %24600, ptr %24601, align 4, !tbaa !5
  %24602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24603 = load i32, ptr @test_count, align 4, !tbaa !5
  %24604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24605 = load i32, ptr %24604, align 4, !tbaa !5
  %24606 = call ptr @s2n_strerror(i32 noundef %24605, ptr noundef @.str.4)
  %24607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24608 = load i32, ptr %24607, align 4, !tbaa !5
  %24609 = call ptr @s2n_strerror_debug(i32 noundef %24608, ptr noundef @.str.4)
  %24610 = call ptr @__errno_location() #12
  %24611 = load i32, ptr %24610, align 4, !tbaa !5
  %24612 = call ptr @strerror(i32 noundef %24611) #11
  %24613 = call ptr @__errno_location() #12
  %24614 = load i32, ptr %24613, align 4, !tbaa !5
  %24615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24602, ptr noundef @.str.2, i32 noundef %24603, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 724, ptr noundef %24606, ptr noundef %24609, ptr noundef %24612, i32 noundef %24614) #11
  br label %24633

24616:                                            ; preds = %24594, %24587
  %24617 = load i32, ptr %495, align 4, !tbaa !5
  %24618 = call ptr @__errno_location() #12
  store i32 %24617, ptr %24618, align 4, !tbaa !5
  %24619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24620 = load i32, ptr @test_count, align 4, !tbaa !5
  %24621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24622 = load i32, ptr %24621, align 4, !tbaa !5
  %24623 = call ptr @s2n_strerror(i32 noundef %24622, ptr noundef @.str.4)
  %24624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24625 = load i32, ptr %24624, align 4, !tbaa !5
  %24626 = call ptr @s2n_strerror_debug(i32 noundef %24625, ptr noundef @.str.4)
  %24627 = call ptr @__errno_location() #12
  %24628 = load i32, ptr %24627, align 4, !tbaa !5
  %24629 = call ptr @strerror(i32 noundef %24628) #11
  %24630 = call ptr @__errno_location() #12
  %24631 = load i32, ptr %24630, align 4, !tbaa !5
  %24632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24619, ptr noundef @.str.5, i32 noundef %24620, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 724, ptr noundef %24623, ptr noundef %24626, ptr noundef %24629, i32 noundef %24631) #11
  br label %24633

24633:                                            ; preds = %24616, %24599
  call void @llvm.lifetime.end.p0(i64 4, ptr %495) #11
  br label %24634

24634:                                            ; preds = %24633
  br label %24635

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

24636:                                            ; No predecessors!
  br label %24637

24637:                                            ; preds = %24636
  br label %24638

24638:                                            ; preds = %24637, %24578
  br label %24639

24639:                                            ; preds = %24638
  br label %24640

24640:                                            ; preds = %24639
  br label %24641

24641:                                            ; preds = %24640
  br label %24642

24642:                                            ; preds = %24641
  %24643 = load i32, ptr @test_count, align 4, !tbaa !5
  %24644 = add nsw i32 %24643, 1
  store i32 %24644, ptr @test_count, align 4, !tbaa !5
  %24645 = getelementptr inbounds [1000 x i8], ptr %475, i64 0, i64 0
  %24646 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %24647 = call i32 @memcmp(ptr noundef %24645, ptr noundef %24646, i64 noundef 12) #14
  %24648 = icmp eq i32 %24647, 0
  br i1 %24648, label %24702, label %24649

24649:                                            ; preds = %24642
  br label %24650

24650:                                            ; preds = %24649
  br label %24651

24651:                                            ; preds = %24650
  call void @llvm.lifetime.start.p0(i64 4, ptr %496) #11
  %24652 = call ptr @__errno_location() #12
  %24653 = load i32, ptr %24652, align 4, !tbaa !5
  store i32 %24653, ptr %496, align 4, !tbaa !5
  %24654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24655 = call i32 @s2n_print_stacktrace(ptr noundef %24654)
  %24656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24657 = trunc i8 %24656 to i1
  br i1 %24657, label %24658, label %24680

24658:                                            ; preds = %24651
  %24659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24660 = call i32 @fileno(ptr noundef %24659) #11
  %24661 = call i32 @isatty(i32 noundef %24660) #11
  %24662 = icmp ne i32 %24661, 0
  br i1 %24662, label %24663, label %24680

24663:                                            ; preds = %24658
  %24664 = load i32, ptr %496, align 4, !tbaa !5
  %24665 = call ptr @__errno_location() #12
  store i32 %24664, ptr %24665, align 4, !tbaa !5
  %24666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24667 = load i32, ptr @test_count, align 4, !tbaa !5
  %24668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24669 = load i32, ptr %24668, align 4, !tbaa !5
  %24670 = call ptr @s2n_strerror(i32 noundef %24669, ptr noundef @.str.4)
  %24671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24672 = load i32, ptr %24671, align 4, !tbaa !5
  %24673 = call ptr @s2n_strerror_debug(i32 noundef %24672, ptr noundef @.str.4)
  %24674 = call ptr @__errno_location() #12
  %24675 = load i32, ptr %24674, align 4, !tbaa !5
  %24676 = call ptr @strerror(i32 noundef %24675) #11
  %24677 = call ptr @__errno_location() #12
  %24678 = load i32, ptr %24677, align 4, !tbaa !5
  %24679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24666, ptr noundef @.str.2, i32 noundef %24667, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 724, ptr noundef %24670, ptr noundef %24673, ptr noundef %24676, i32 noundef %24678) #11
  br label %24697

24680:                                            ; preds = %24658, %24651
  %24681 = load i32, ptr %496, align 4, !tbaa !5
  %24682 = call ptr @__errno_location() #12
  store i32 %24681, ptr %24682, align 4, !tbaa !5
  %24683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24684 = load i32, ptr @test_count, align 4, !tbaa !5
  %24685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24686 = load i32, ptr %24685, align 4, !tbaa !5
  %24687 = call ptr @s2n_strerror(i32 noundef %24686, ptr noundef @.str.4)
  %24688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24689 = load i32, ptr %24688, align 4, !tbaa !5
  %24690 = call ptr @s2n_strerror_debug(i32 noundef %24689, ptr noundef @.str.4)
  %24691 = call ptr @__errno_location() #12
  %24692 = load i32, ptr %24691, align 4, !tbaa !5
  %24693 = call ptr @strerror(i32 noundef %24692) #11
  %24694 = call ptr @__errno_location() #12
  %24695 = load i32, ptr %24694, align 4, !tbaa !5
  %24696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24683, ptr noundef @.str.5, i32 noundef %24684, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 724, ptr noundef %24687, ptr noundef %24690, ptr noundef %24693, i32 noundef %24695) #11
  br label %24697

24697:                                            ; preds = %24680, %24663
  call void @llvm.lifetime.end.p0(i64 4, ptr %496) #11
  br label %24698

24698:                                            ; preds = %24697
  br label %24699

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

24700:                                            ; No predecessors!
  br label %24701

24701:                                            ; preds = %24700
  br label %24702

24702:                                            ; preds = %24701, %24642
  br label %24703

24703:                                            ; preds = %24702
  br label %24704

24704:                                            ; preds = %24703
  br label %24705

24705:                                            ; preds = %24704
  br label %24706

24706:                                            ; preds = %24705
  br label %24707

24707:                                            ; preds = %24706
  br label %24708

24708:                                            ; preds = %24707
  %24709 = load i32, ptr @test_count, align 4, !tbaa !5
  %24710 = add nsw i32 %24709, 1
  store i32 %24710, ptr @test_count, align 4, !tbaa !5
  %24711 = getelementptr inbounds [1000 x i8], ptr %475, i64 0, i64 0
  %24712 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %24713 = call i32 @memcmp(ptr noundef %24711, ptr noundef %24712, i64 noundef 12) #14
  %24714 = icmp eq i32 %24713, 0
  br i1 %24714, label %24768, label %24715

24715:                                            ; preds = %24708
  br label %24716

24716:                                            ; preds = %24715
  br label %24717

24717:                                            ; preds = %24716
  call void @llvm.lifetime.start.p0(i64 4, ptr %497) #11
  %24718 = call ptr @__errno_location() #12
  %24719 = load i32, ptr %24718, align 4, !tbaa !5
  store i32 %24719, ptr %497, align 4, !tbaa !5
  %24720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24721 = call i32 @s2n_print_stacktrace(ptr noundef %24720)
  %24722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24723 = trunc i8 %24722 to i1
  br i1 %24723, label %24724, label %24746

24724:                                            ; preds = %24717
  %24725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24726 = call i32 @fileno(ptr noundef %24725) #11
  %24727 = call i32 @isatty(i32 noundef %24726) #11
  %24728 = icmp ne i32 %24727, 0
  br i1 %24728, label %24729, label %24746

24729:                                            ; preds = %24724
  %24730 = load i32, ptr %497, align 4, !tbaa !5
  %24731 = call ptr @__errno_location() #12
  store i32 %24730, ptr %24731, align 4, !tbaa !5
  %24732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24733 = load i32, ptr @test_count, align 4, !tbaa !5
  %24734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24735 = load i32, ptr %24734, align 4, !tbaa !5
  %24736 = call ptr @s2n_strerror(i32 noundef %24735, ptr noundef @.str.4)
  %24737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24738 = load i32, ptr %24737, align 4, !tbaa !5
  %24739 = call ptr @s2n_strerror_debug(i32 noundef %24738, ptr noundef @.str.4)
  %24740 = call ptr @__errno_location() #12
  %24741 = load i32, ptr %24740, align 4, !tbaa !5
  %24742 = call ptr @strerror(i32 noundef %24741) #11
  %24743 = call ptr @__errno_location() #12
  %24744 = load i32, ptr %24743, align 4, !tbaa !5
  %24745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24732, ptr noundef @.str.2, i32 noundef %24733, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 725, ptr noundef %24736, ptr noundef %24739, ptr noundef %24742, i32 noundef %24744) #11
  br label %24763

24746:                                            ; preds = %24724, %24717
  %24747 = load i32, ptr %497, align 4, !tbaa !5
  %24748 = call ptr @__errno_location() #12
  store i32 %24747, ptr %24748, align 4, !tbaa !5
  %24749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24750 = load i32, ptr @test_count, align 4, !tbaa !5
  %24751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24752 = load i32, ptr %24751, align 4, !tbaa !5
  %24753 = call ptr @s2n_strerror(i32 noundef %24752, ptr noundef @.str.4)
  %24754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24755 = load i32, ptr %24754, align 4, !tbaa !5
  %24756 = call ptr @s2n_strerror_debug(i32 noundef %24755, ptr noundef @.str.4)
  %24757 = call ptr @__errno_location() #12
  %24758 = load i32, ptr %24757, align 4, !tbaa !5
  %24759 = call ptr @strerror(i32 noundef %24758) #11
  %24760 = call ptr @__errno_location() #12
  %24761 = load i32, ptr %24760, align 4, !tbaa !5
  %24762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24749, ptr noundef @.str.5, i32 noundef %24750, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 725, ptr noundef %24753, ptr noundef %24756, ptr noundef %24759, i32 noundef %24761) #11
  br label %24763

24763:                                            ; preds = %24746, %24729
  call void @llvm.lifetime.end.p0(i64 4, ptr %497) #11
  br label %24764

24764:                                            ; preds = %24763
  br label %24765

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

24766:                                            ; No predecessors!
  br label %24767

24767:                                            ; preds = %24766
  br label %24768

24768:                                            ; preds = %24767, %24708
  br label %24769

24769:                                            ; preds = %24768
  br label %24770

24770:                                            ; preds = %24769
  br label %24771

24771:                                            ; preds = %24770
  br label %24772

24772:                                            ; preds = %24771
  br label %24773

24773:                                            ; preds = %24772
  %24774 = load i32, ptr @test_count, align 4, !tbaa !5
  %24775 = add nsw i32 %24774, 1
  store i32 %24775, ptr @test_count, align 4, !tbaa !5
  %24776 = load ptr, ptr %465, align 8, !tbaa !9
  %24777 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %24778 = call i64 @s2n_send(ptr noundef %24776, ptr noundef %24777, i64 noundef 12, ptr noundef %474)
  %24779 = icmp eq i64 %24778, 12
  br i1 %24779, label %24833, label %24780

24780:                                            ; preds = %24773
  br label %24781

24781:                                            ; preds = %24780
  br label %24782

24782:                                            ; preds = %24781
  call void @llvm.lifetime.start.p0(i64 4, ptr %498) #11
  %24783 = call ptr @__errno_location() #12
  %24784 = load i32, ptr %24783, align 4, !tbaa !5
  store i32 %24784, ptr %498, align 4, !tbaa !5
  %24785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24786 = call i32 @s2n_print_stacktrace(ptr noundef %24785)
  %24787 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24788 = trunc i8 %24787 to i1
  br i1 %24788, label %24789, label %24811

24789:                                            ; preds = %24782
  %24790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24791 = call i32 @fileno(ptr noundef %24790) #11
  %24792 = call i32 @isatty(i32 noundef %24791) #11
  %24793 = icmp ne i32 %24792, 0
  br i1 %24793, label %24794, label %24811

24794:                                            ; preds = %24789
  %24795 = load i32, ptr %498, align 4, !tbaa !5
  %24796 = call ptr @__errno_location() #12
  store i32 %24795, ptr %24796, align 4, !tbaa !5
  %24797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24798 = load i32, ptr @test_count, align 4, !tbaa !5
  %24799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24800 = load i32, ptr %24799, align 4, !tbaa !5
  %24801 = call ptr @s2n_strerror(i32 noundef %24800, ptr noundef @.str.4)
  %24802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24803 = load i32, ptr %24802, align 4, !tbaa !5
  %24804 = call ptr @s2n_strerror_debug(i32 noundef %24803, ptr noundef @.str.4)
  %24805 = call ptr @__errno_location() #12
  %24806 = load i32, ptr %24805, align 4, !tbaa !5
  %24807 = call ptr @strerror(i32 noundef %24806) #11
  %24808 = call ptr @__errno_location() #12
  %24809 = load i32, ptr %24808, align 4, !tbaa !5
  %24810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24797, ptr noundef @.str.2, i32 noundef %24798, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 728, ptr noundef %24801, ptr noundef %24804, ptr noundef %24807, i32 noundef %24809) #11
  br label %24828

24811:                                            ; preds = %24789, %24782
  %24812 = load i32, ptr %498, align 4, !tbaa !5
  %24813 = call ptr @__errno_location() #12
  store i32 %24812, ptr %24813, align 4, !tbaa !5
  %24814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24815 = load i32, ptr @test_count, align 4, !tbaa !5
  %24816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24817 = load i32, ptr %24816, align 4, !tbaa !5
  %24818 = call ptr @s2n_strerror(i32 noundef %24817, ptr noundef @.str.4)
  %24819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24820 = load i32, ptr %24819, align 4, !tbaa !5
  %24821 = call ptr @s2n_strerror_debug(i32 noundef %24820, ptr noundef @.str.4)
  %24822 = call ptr @__errno_location() #12
  %24823 = load i32, ptr %24822, align 4, !tbaa !5
  %24824 = call ptr @strerror(i32 noundef %24823) #11
  %24825 = call ptr @__errno_location() #12
  %24826 = load i32, ptr %24825, align 4, !tbaa !5
  %24827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24814, ptr noundef @.str.5, i32 noundef %24815, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 728, ptr noundef %24818, ptr noundef %24821, ptr noundef %24824, i32 noundef %24826) #11
  br label %24828

24828:                                            ; preds = %24811, %24794
  call void @llvm.lifetime.end.p0(i64 4, ptr %498) #11
  br label %24829

24829:                                            ; preds = %24828
  br label %24830

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

24831:                                            ; No predecessors!
  br label %24832

24832:                                            ; preds = %24831
  br label %24833

24833:                                            ; preds = %24832, %24773
  br label %24834

24834:                                            ; preds = %24833
  br label %24835

24835:                                            ; preds = %24834
  br label %24836

24836:                                            ; preds = %24835
  br label %24837

24837:                                            ; preds = %24836
  br label %24838

24838:                                            ; preds = %24837
  %24839 = load i32, ptr @test_count, align 4, !tbaa !5
  %24840 = add nsw i32 %24839, 1
  store i32 %24840, ptr @test_count, align 4, !tbaa !5
  %24841 = load ptr, ptr %466, align 8, !tbaa !9
  %24842 = call i32 @s2n_negotiate(ptr noundef %24841, ptr noundef %474)
  %24843 = icmp eq i32 %24842, -1
  br i1 %24843, label %24897, label %24844

24844:                                            ; preds = %24838
  br label %24845

24845:                                            ; preds = %24844
  br label %24846

24846:                                            ; preds = %24845
  call void @llvm.lifetime.start.p0(i64 4, ptr %499) #11
  %24847 = call ptr @__errno_location() #12
  %24848 = load i32, ptr %24847, align 4, !tbaa !5
  store i32 %24848, ptr %499, align 4, !tbaa !5
  %24849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24850 = call i32 @s2n_print_stacktrace(ptr noundef %24849)
  %24851 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24852 = trunc i8 %24851 to i1
  br i1 %24852, label %24853, label %24875

24853:                                            ; preds = %24846
  %24854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24855 = call i32 @fileno(ptr noundef %24854) #11
  %24856 = call i32 @isatty(i32 noundef %24855) #11
  %24857 = icmp ne i32 %24856, 0
  br i1 %24857, label %24858, label %24875

24858:                                            ; preds = %24853
  %24859 = load i32, ptr %499, align 4, !tbaa !5
  %24860 = call ptr @__errno_location() #12
  store i32 %24859, ptr %24860, align 4, !tbaa !5
  %24861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24862 = load i32, ptr @test_count, align 4, !tbaa !5
  %24863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24864 = load i32, ptr %24863, align 4, !tbaa !5
  %24865 = call ptr @s2n_strerror(i32 noundef %24864, ptr noundef @.str.4)
  %24866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24867 = load i32, ptr %24866, align 4, !tbaa !5
  %24868 = call ptr @s2n_strerror_debug(i32 noundef %24867, ptr noundef @.str.4)
  %24869 = call ptr @__errno_location() #12
  %24870 = load i32, ptr %24869, align 4, !tbaa !5
  %24871 = call ptr @strerror(i32 noundef %24870) #11
  %24872 = call ptr @__errno_location() #12
  %24873 = load i32, ptr %24872, align 4, !tbaa !5
  %24874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24861, ptr noundef @.str.2, i32 noundef %24862, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 729, ptr noundef %24865, ptr noundef %24868, ptr noundef %24871, i32 noundef %24873) #11
  br label %24892

24875:                                            ; preds = %24853, %24846
  %24876 = load i32, ptr %499, align 4, !tbaa !5
  %24877 = call ptr @__errno_location() #12
  store i32 %24876, ptr %24877, align 4, !tbaa !5
  %24878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24879 = load i32, ptr @test_count, align 4, !tbaa !5
  %24880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24881 = load i32, ptr %24880, align 4, !tbaa !5
  %24882 = call ptr @s2n_strerror(i32 noundef %24881, ptr noundef @.str.4)
  %24883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24884 = load i32, ptr %24883, align 4, !tbaa !5
  %24885 = call ptr @s2n_strerror_debug(i32 noundef %24884, ptr noundef @.str.4)
  %24886 = call ptr @__errno_location() #12
  %24887 = load i32, ptr %24886, align 4, !tbaa !5
  %24888 = call ptr @strerror(i32 noundef %24887) #11
  %24889 = call ptr @__errno_location() #12
  %24890 = load i32, ptr %24889, align 4, !tbaa !5
  %24891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24878, ptr noundef @.str.5, i32 noundef %24879, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 729, ptr noundef %24882, ptr noundef %24885, ptr noundef %24888, i32 noundef %24890) #11
  br label %24892

24892:                                            ; preds = %24875, %24858
  call void @llvm.lifetime.end.p0(i64 4, ptr %499) #11
  br label %24893

24893:                                            ; preds = %24892
  br label %24894

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

24895:                                            ; No predecessors!
  br label %24896

24896:                                            ; preds = %24895
  br label %24897

24897:                                            ; preds = %24896, %24838
  br label %24898

24898:                                            ; preds = %24897
  br label %24899

24899:                                            ; preds = %24898
  br label %24900

24900:                                            ; preds = %24899
  %24901 = load i32, ptr @test_count, align 4, !tbaa !5
  %24902 = add nsw i32 %24901, 1
  store i32 %24902, ptr @test_count, align 4, !tbaa !5
  %24903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24904 = load i32, ptr %24903, align 4, !tbaa !5
  %24905 = icmp eq i32 %24904, 201326594
  br i1 %24905, label %24959, label %24906

24906:                                            ; preds = %24900
  br label %24907

24907:                                            ; preds = %24906
  br label %24908

24908:                                            ; preds = %24907
  call void @llvm.lifetime.start.p0(i64 4, ptr %500) #11
  %24909 = call ptr @__errno_location() #12
  %24910 = load i32, ptr %24909, align 4, !tbaa !5
  store i32 %24910, ptr %500, align 4, !tbaa !5
  %24911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24912 = call i32 @s2n_print_stacktrace(ptr noundef %24911)
  %24913 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24914 = trunc i8 %24913 to i1
  br i1 %24914, label %24915, label %24937

24915:                                            ; preds = %24908
  %24916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24917 = call i32 @fileno(ptr noundef %24916) #11
  %24918 = call i32 @isatty(i32 noundef %24917) #11
  %24919 = icmp ne i32 %24918, 0
  br i1 %24919, label %24920, label %24937

24920:                                            ; preds = %24915
  %24921 = load i32, ptr %500, align 4, !tbaa !5
  %24922 = call ptr @__errno_location() #12
  store i32 %24921, ptr %24922, align 4, !tbaa !5
  %24923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24924 = load i32, ptr @test_count, align 4, !tbaa !5
  %24925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24926 = load i32, ptr %24925, align 4, !tbaa !5
  %24927 = call ptr @s2n_strerror(i32 noundef %24926, ptr noundef @.str.4)
  %24928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24929 = load i32, ptr %24928, align 4, !tbaa !5
  %24930 = call ptr @s2n_strerror_debug(i32 noundef %24929, ptr noundef @.str.4)
  %24931 = call ptr @__errno_location() #12
  %24932 = load i32, ptr %24931, align 4, !tbaa !5
  %24933 = call ptr @strerror(i32 noundef %24932) #11
  %24934 = call ptr @__errno_location() #12
  %24935 = load i32, ptr %24934, align 4, !tbaa !5
  %24936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24923, ptr noundef @.str.2, i32 noundef %24924, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 729, ptr noundef %24927, ptr noundef %24930, ptr noundef %24933, i32 noundef %24935) #11
  br label %24954

24937:                                            ; preds = %24915, %24908
  %24938 = load i32, ptr %500, align 4, !tbaa !5
  %24939 = call ptr @__errno_location() #12
  store i32 %24938, ptr %24939, align 4, !tbaa !5
  %24940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24941 = load i32, ptr @test_count, align 4, !tbaa !5
  %24942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24943 = load i32, ptr %24942, align 4, !tbaa !5
  %24944 = call ptr @s2n_strerror(i32 noundef %24943, ptr noundef @.str.4)
  %24945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24946 = load i32, ptr %24945, align 4, !tbaa !5
  %24947 = call ptr @s2n_strerror_debug(i32 noundef %24946, ptr noundef @.str.4)
  %24948 = call ptr @__errno_location() #12
  %24949 = load i32, ptr %24948, align 4, !tbaa !5
  %24950 = call ptr @strerror(i32 noundef %24949) #11
  %24951 = call ptr @__errno_location() #12
  %24952 = load i32, ptr %24951, align 4, !tbaa !5
  %24953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24940, ptr noundef @.str.5, i32 noundef %24941, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 729, ptr noundef %24944, ptr noundef %24947, ptr noundef %24950, i32 noundef %24952) #11
  br label %24954

24954:                                            ; preds = %24937, %24920
  call void @llvm.lifetime.end.p0(i64 4, ptr %500) #11
  br label %24955

24955:                                            ; preds = %24954
  br label %24956

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

24957:                                            ; No predecessors!
  br label %24958

24958:                                            ; preds = %24957
  br label %24959

24959:                                            ; preds = %24958, %24900
  br label %24960

24960:                                            ; preds = %24959
  br label %24961

24961:                                            ; preds = %24960
  br label %24962

24962:                                            ; preds = %24961
  %24963 = load i32, ptr @test_count, align 4, !tbaa !5
  %24964 = add nsw i32 %24963, 1
  store i32 %24964, ptr @test_count, align 4, !tbaa !5
  %24965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24966 = load i32, ptr %24965, align 4, !tbaa !5
  %24967 = call ptr @s2n_strerror_debug(i32 noundef %24966, ptr noundef @.str.4)
  %24968 = icmp eq ptr %24967, null
  br i1 %24968, label %24969, label %25022

24969:                                            ; preds = %24962
  br label %24970

24970:                                            ; preds = %24969
  br label %24971

24971:                                            ; preds = %24970
  call void @llvm.lifetime.start.p0(i64 4, ptr %501) #11
  %24972 = call ptr @__errno_location() #12
  %24973 = load i32, ptr %24972, align 4, !tbaa !5
  store i32 %24973, ptr %501, align 4, !tbaa !5
  %24974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24975 = call i32 @s2n_print_stacktrace(ptr noundef %24974)
  %24976 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24977 = trunc i8 %24976 to i1
  br i1 %24977, label %24978, label %25000

24978:                                            ; preds = %24971
  %24979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24980 = call i32 @fileno(ptr noundef %24979) #11
  %24981 = call i32 @isatty(i32 noundef %24980) #11
  %24982 = icmp ne i32 %24981, 0
  br i1 %24982, label %24983, label %25000

24983:                                            ; preds = %24978
  %24984 = load i32, ptr %501, align 4, !tbaa !5
  %24985 = call ptr @__errno_location() #12
  store i32 %24984, ptr %24985, align 4, !tbaa !5
  %24986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24987 = load i32, ptr @test_count, align 4, !tbaa !5
  %24988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24989 = load i32, ptr %24988, align 4, !tbaa !5
  %24990 = call ptr @s2n_strerror(i32 noundef %24989, ptr noundef @.str.4)
  %24991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24992 = load i32, ptr %24991, align 4, !tbaa !5
  %24993 = call ptr @s2n_strerror_debug(i32 noundef %24992, ptr noundef @.str.4)
  %24994 = call ptr @__errno_location() #12
  %24995 = load i32, ptr %24994, align 4, !tbaa !5
  %24996 = call ptr @strerror(i32 noundef %24995) #11
  %24997 = call ptr @__errno_location() #12
  %24998 = load i32, ptr %24997, align 4, !tbaa !5
  %24999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24986, ptr noundef @.str.2, i32 noundef %24987, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 729, ptr noundef %24990, ptr noundef %24993, ptr noundef %24996, i32 noundef %24998) #11
  br label %25017

25000:                                            ; preds = %24978, %24971
  %25001 = load i32, ptr %501, align 4, !tbaa !5
  %25002 = call ptr @__errno_location() #12
  store i32 %25001, ptr %25002, align 4, !tbaa !5
  %25003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25004 = load i32, ptr @test_count, align 4, !tbaa !5
  %25005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25006 = load i32, ptr %25005, align 4, !tbaa !5
  %25007 = call ptr @s2n_strerror(i32 noundef %25006, ptr noundef @.str.4)
  %25008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25009 = load i32, ptr %25008, align 4, !tbaa !5
  %25010 = call ptr @s2n_strerror_debug(i32 noundef %25009, ptr noundef @.str.4)
  %25011 = call ptr @__errno_location() #12
  %25012 = load i32, ptr %25011, align 4, !tbaa !5
  %25013 = call ptr @strerror(i32 noundef %25012) #11
  %25014 = call ptr @__errno_location() #12
  %25015 = load i32, ptr %25014, align 4, !tbaa !5
  %25016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25003, ptr noundef @.str.5, i32 noundef %25004, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 729, ptr noundef %25007, ptr noundef %25010, ptr noundef %25013, i32 noundef %25015) #11
  br label %25017

25017:                                            ; preds = %25000, %24983
  call void @llvm.lifetime.end.p0(i64 4, ptr %501) #11
  br label %25018

25018:                                            ; preds = %25017
  br label %25019

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

25020:                                            ; No predecessors!
  br label %25021

25021:                                            ; preds = %25020
  br label %25022

25022:                                            ; preds = %25021, %24962
  br label %25023

25023:                                            ; preds = %25022
  br label %25024

25024:                                            ; preds = %25023
  br label %25025

25025:                                            ; preds = %25024
  br label %25026

25026:                                            ; preds = %25025
  br label %25027

25027:                                            ; preds = %25026
  %25028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %25028, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %25029 = call ptr @__errno_location() #12
  store i32 0, ptr %25029, align 4, !tbaa !5
  br label %25030

25030:                                            ; preds = %25027
  br label %25031

25031:                                            ; preds = %25030
  br label %25032

25032:                                            ; preds = %25031
  br label %25033

25033:                                            ; preds = %25032
  br label %25034

25034:                                            ; preds = %25033
  %25035 = load i32, ptr @test_count, align 4, !tbaa !5
  %25036 = add nsw i32 %25035, 1
  store i32 %25036, ptr @test_count, align 4, !tbaa !5
  %25037 = load ptr, ptr %466, align 8, !tbaa !9
  %25038 = getelementptr inbounds [1000 x i8], ptr %475, i64 0, i64 0
  %25039 = call i64 @s2n_recv(ptr noundef %25037, ptr noundef %25038, i64 noundef 0, ptr noundef %474)
  %25040 = icmp eq i64 %25039, 0
  br i1 %25040, label %25094, label %25041

25041:                                            ; preds = %25034
  br label %25042

25042:                                            ; preds = %25041
  br label %25043

25043:                                            ; preds = %25042
  call void @llvm.lifetime.start.p0(i64 4, ptr %502) #11
  %25044 = call ptr @__errno_location() #12
  %25045 = load i32, ptr %25044, align 4, !tbaa !5
  store i32 %25045, ptr %502, align 4, !tbaa !5
  %25046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25047 = call i32 @s2n_print_stacktrace(ptr noundef %25046)
  %25048 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25049 = trunc i8 %25048 to i1
  br i1 %25049, label %25050, label %25072

25050:                                            ; preds = %25043
  %25051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25052 = call i32 @fileno(ptr noundef %25051) #11
  %25053 = call i32 @isatty(i32 noundef %25052) #11
  %25054 = icmp ne i32 %25053, 0
  br i1 %25054, label %25055, label %25072

25055:                                            ; preds = %25050
  %25056 = load i32, ptr %502, align 4, !tbaa !5
  %25057 = call ptr @__errno_location() #12
  store i32 %25056, ptr %25057, align 4, !tbaa !5
  %25058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25059 = load i32, ptr @test_count, align 4, !tbaa !5
  %25060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25061 = load i32, ptr %25060, align 4, !tbaa !5
  %25062 = call ptr @s2n_strerror(i32 noundef %25061, ptr noundef @.str.4)
  %25063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25064 = load i32, ptr %25063, align 4, !tbaa !5
  %25065 = call ptr @s2n_strerror_debug(i32 noundef %25064, ptr noundef @.str.4)
  %25066 = call ptr @__errno_location() #12
  %25067 = load i32, ptr %25066, align 4, !tbaa !5
  %25068 = call ptr @strerror(i32 noundef %25067) #11
  %25069 = call ptr @__errno_location() #12
  %25070 = load i32, ptr %25069, align 4, !tbaa !5
  %25071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25058, ptr noundef @.str.2, i32 noundef %25059, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 730, ptr noundef %25062, ptr noundef %25065, ptr noundef %25068, i32 noundef %25070) #11
  br label %25089

25072:                                            ; preds = %25050, %25043
  %25073 = load i32, ptr %502, align 4, !tbaa !5
  %25074 = call ptr @__errno_location() #12
  store i32 %25073, ptr %25074, align 4, !tbaa !5
  %25075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25076 = load i32, ptr @test_count, align 4, !tbaa !5
  %25077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25078 = load i32, ptr %25077, align 4, !tbaa !5
  %25079 = call ptr @s2n_strerror(i32 noundef %25078, ptr noundef @.str.4)
  %25080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25081 = load i32, ptr %25080, align 4, !tbaa !5
  %25082 = call ptr @s2n_strerror_debug(i32 noundef %25081, ptr noundef @.str.4)
  %25083 = call ptr @__errno_location() #12
  %25084 = load i32, ptr %25083, align 4, !tbaa !5
  %25085 = call ptr @strerror(i32 noundef %25084) #11
  %25086 = call ptr @__errno_location() #12
  %25087 = load i32, ptr %25086, align 4, !tbaa !5
  %25088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25075, ptr noundef @.str.5, i32 noundef %25076, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 730, ptr noundef %25079, ptr noundef %25082, ptr noundef %25085, i32 noundef %25087) #11
  br label %25089

25089:                                            ; preds = %25072, %25055
  call void @llvm.lifetime.end.p0(i64 4, ptr %502) #11
  br label %25090

25090:                                            ; preds = %25089
  br label %25091

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

25092:                                            ; No predecessors!
  br label %25093

25093:                                            ; preds = %25092
  br label %25094

25094:                                            ; preds = %25093, %25034
  br label %25095

25095:                                            ; preds = %25094
  br label %25096

25096:                                            ; preds = %25095
  br label %25097

25097:                                            ; preds = %25096
  br label %25098

25098:                                            ; preds = %25097
  br label %25099

25099:                                            ; preds = %25098
  br label %25100

25100:                                            ; preds = %25099
  %25101 = load i32, ptr @test_count, align 4, !tbaa !5
  %25102 = add nsw i32 %25101, 1
  store i32 %25102, ptr @test_count, align 4, !tbaa !5
  %25103 = load ptr, ptr %466, align 8, !tbaa !9
  %25104 = getelementptr inbounds [1000 x i8], ptr %475, i64 0, i64 0
  %25105 = call i64 @s2n_recv(ptr noundef %25103, ptr noundef %25104, i64 noundef 2, ptr noundef %474)
  %25106 = icmp eq i64 %25105, 2
  br i1 %25106, label %25160, label %25107

25107:                                            ; preds = %25100
  br label %25108

25108:                                            ; preds = %25107
  br label %25109

25109:                                            ; preds = %25108
  call void @llvm.lifetime.start.p0(i64 4, ptr %503) #11
  %25110 = call ptr @__errno_location() #12
  %25111 = load i32, ptr %25110, align 4, !tbaa !5
  store i32 %25111, ptr %503, align 4, !tbaa !5
  %25112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25113 = call i32 @s2n_print_stacktrace(ptr noundef %25112)
  %25114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25115 = trunc i8 %25114 to i1
  br i1 %25115, label %25116, label %25138

25116:                                            ; preds = %25109
  %25117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25118 = call i32 @fileno(ptr noundef %25117) #11
  %25119 = call i32 @isatty(i32 noundef %25118) #11
  %25120 = icmp ne i32 %25119, 0
  br i1 %25120, label %25121, label %25138

25121:                                            ; preds = %25116
  %25122 = load i32, ptr %503, align 4, !tbaa !5
  %25123 = call ptr @__errno_location() #12
  store i32 %25122, ptr %25123, align 4, !tbaa !5
  %25124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25125 = load i32, ptr @test_count, align 4, !tbaa !5
  %25126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25127 = load i32, ptr %25126, align 4, !tbaa !5
  %25128 = call ptr @s2n_strerror(i32 noundef %25127, ptr noundef @.str.4)
  %25129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25130 = load i32, ptr %25129, align 4, !tbaa !5
  %25131 = call ptr @s2n_strerror_debug(i32 noundef %25130, ptr noundef @.str.4)
  %25132 = call ptr @__errno_location() #12
  %25133 = load i32, ptr %25132, align 4, !tbaa !5
  %25134 = call ptr @strerror(i32 noundef %25133) #11
  %25135 = call ptr @__errno_location() #12
  %25136 = load i32, ptr %25135, align 4, !tbaa !5
  %25137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25124, ptr noundef @.str.2, i32 noundef %25125, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 731, ptr noundef %25128, ptr noundef %25131, ptr noundef %25134, i32 noundef %25136) #11
  br label %25155

25138:                                            ; preds = %25116, %25109
  %25139 = load i32, ptr %503, align 4, !tbaa !5
  %25140 = call ptr @__errno_location() #12
  store i32 %25139, ptr %25140, align 4, !tbaa !5
  %25141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25142 = load i32, ptr @test_count, align 4, !tbaa !5
  %25143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25144 = load i32, ptr %25143, align 4, !tbaa !5
  %25145 = call ptr @s2n_strerror(i32 noundef %25144, ptr noundef @.str.4)
  %25146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25147 = load i32, ptr %25146, align 4, !tbaa !5
  %25148 = call ptr @s2n_strerror_debug(i32 noundef %25147, ptr noundef @.str.4)
  %25149 = call ptr @__errno_location() #12
  %25150 = load i32, ptr %25149, align 4, !tbaa !5
  %25151 = call ptr @strerror(i32 noundef %25150) #11
  %25152 = call ptr @__errno_location() #12
  %25153 = load i32, ptr %25152, align 4, !tbaa !5
  %25154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25141, ptr noundef @.str.5, i32 noundef %25142, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 731, ptr noundef %25145, ptr noundef %25148, ptr noundef %25151, i32 noundef %25153) #11
  br label %25155

25155:                                            ; preds = %25138, %25121
  call void @llvm.lifetime.end.p0(i64 4, ptr %503) #11
  br label %25156

25156:                                            ; preds = %25155
  br label %25157

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

25158:                                            ; No predecessors!
  br label %25159

25159:                                            ; preds = %25158
  br label %25160

25160:                                            ; preds = %25159, %25100
  br label %25161

25161:                                            ; preds = %25160
  br label %25162

25162:                                            ; preds = %25161
  br label %25163

25163:                                            ; preds = %25162
  br label %25164

25164:                                            ; preds = %25163
  %25165 = load i32, ptr @test_count, align 4, !tbaa !5
  %25166 = add nsw i32 %25165, 1
  store i32 %25166, ptr @test_count, align 4, !tbaa !5
  %25167 = getelementptr inbounds [1000 x i8], ptr %475, i64 0, i64 0
  %25168 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %25169 = call i32 @memcmp(ptr noundef %25167, ptr noundef %25168, i64 noundef 2) #14
  %25170 = icmp eq i32 %25169, 0
  br i1 %25170, label %25224, label %25171

25171:                                            ; preds = %25164
  br label %25172

25172:                                            ; preds = %25171
  br label %25173

25173:                                            ; preds = %25172
  call void @llvm.lifetime.start.p0(i64 4, ptr %504) #11
  %25174 = call ptr @__errno_location() #12
  %25175 = load i32, ptr %25174, align 4, !tbaa !5
  store i32 %25175, ptr %504, align 4, !tbaa !5
  %25176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25177 = call i32 @s2n_print_stacktrace(ptr noundef %25176)
  %25178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25179 = trunc i8 %25178 to i1
  br i1 %25179, label %25180, label %25202

25180:                                            ; preds = %25173
  %25181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25182 = call i32 @fileno(ptr noundef %25181) #11
  %25183 = call i32 @isatty(i32 noundef %25182) #11
  %25184 = icmp ne i32 %25183, 0
  br i1 %25184, label %25185, label %25202

25185:                                            ; preds = %25180
  %25186 = load i32, ptr %504, align 4, !tbaa !5
  %25187 = call ptr @__errno_location() #12
  store i32 %25186, ptr %25187, align 4, !tbaa !5
  %25188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25189 = load i32, ptr @test_count, align 4, !tbaa !5
  %25190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25191 = load i32, ptr %25190, align 4, !tbaa !5
  %25192 = call ptr @s2n_strerror(i32 noundef %25191, ptr noundef @.str.4)
  %25193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25194 = load i32, ptr %25193, align 4, !tbaa !5
  %25195 = call ptr @s2n_strerror_debug(i32 noundef %25194, ptr noundef @.str.4)
  %25196 = call ptr @__errno_location() #12
  %25197 = load i32, ptr %25196, align 4, !tbaa !5
  %25198 = call ptr @strerror(i32 noundef %25197) #11
  %25199 = call ptr @__errno_location() #12
  %25200 = load i32, ptr %25199, align 4, !tbaa !5
  %25201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25188, ptr noundef @.str.2, i32 noundef %25189, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 731, ptr noundef %25192, ptr noundef %25195, ptr noundef %25198, i32 noundef %25200) #11
  br label %25219

25202:                                            ; preds = %25180, %25173
  %25203 = load i32, ptr %504, align 4, !tbaa !5
  %25204 = call ptr @__errno_location() #12
  store i32 %25203, ptr %25204, align 4, !tbaa !5
  %25205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25206 = load i32, ptr @test_count, align 4, !tbaa !5
  %25207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25208 = load i32, ptr %25207, align 4, !tbaa !5
  %25209 = call ptr @s2n_strerror(i32 noundef %25208, ptr noundef @.str.4)
  %25210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25211 = load i32, ptr %25210, align 4, !tbaa !5
  %25212 = call ptr @s2n_strerror_debug(i32 noundef %25211, ptr noundef @.str.4)
  %25213 = call ptr @__errno_location() #12
  %25214 = load i32, ptr %25213, align 4, !tbaa !5
  %25215 = call ptr @strerror(i32 noundef %25214) #11
  %25216 = call ptr @__errno_location() #12
  %25217 = load i32, ptr %25216, align 4, !tbaa !5
  %25218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25205, ptr noundef @.str.5, i32 noundef %25206, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 731, ptr noundef %25209, ptr noundef %25212, ptr noundef %25215, i32 noundef %25217) #11
  br label %25219

25219:                                            ; preds = %25202, %25185
  call void @llvm.lifetime.end.p0(i64 4, ptr %504) #11
  br label %25220

25220:                                            ; preds = %25219
  br label %25221

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

25222:                                            ; No predecessors!
  br label %25223

25223:                                            ; preds = %25222
  br label %25224

25224:                                            ; preds = %25223, %25164
  br label %25225

25225:                                            ; preds = %25224
  br label %25226

25226:                                            ; preds = %25225
  br label %25227

25227:                                            ; preds = %25226
  br label %25228

25228:                                            ; preds = %25227
  br label %25229

25229:                                            ; preds = %25228
  %25230 = load i32, ptr @test_count, align 4, !tbaa !5
  %25231 = add nsw i32 %25230, 1
  store i32 %25231, ptr @test_count, align 4, !tbaa !5
  %25232 = load ptr, ptr %466, align 8, !tbaa !9
  %25233 = getelementptr inbounds [1000 x i8], ptr %475, i64 0, i64 0
  %25234 = call i64 @s2n_recv(ptr noundef %25232, ptr noundef %25233, i64 noundef 10, ptr noundef %474)
  %25235 = icmp eq i64 %25234, 10
  br i1 %25235, label %25289, label %25236

25236:                                            ; preds = %25229
  br label %25237

25237:                                            ; preds = %25236
  br label %25238

25238:                                            ; preds = %25237
  call void @llvm.lifetime.start.p0(i64 4, ptr %505) #11
  %25239 = call ptr @__errno_location() #12
  %25240 = load i32, ptr %25239, align 4, !tbaa !5
  store i32 %25240, ptr %505, align 4, !tbaa !5
  %25241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25242 = call i32 @s2n_print_stacktrace(ptr noundef %25241)
  %25243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25244 = trunc i8 %25243 to i1
  br i1 %25244, label %25245, label %25267

25245:                                            ; preds = %25238
  %25246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25247 = call i32 @fileno(ptr noundef %25246) #11
  %25248 = call i32 @isatty(i32 noundef %25247) #11
  %25249 = icmp ne i32 %25248, 0
  br i1 %25249, label %25250, label %25267

25250:                                            ; preds = %25245
  %25251 = load i32, ptr %505, align 4, !tbaa !5
  %25252 = call ptr @__errno_location() #12
  store i32 %25251, ptr %25252, align 4, !tbaa !5
  %25253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25254 = load i32, ptr @test_count, align 4, !tbaa !5
  %25255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25256 = load i32, ptr %25255, align 4, !tbaa !5
  %25257 = call ptr @s2n_strerror(i32 noundef %25256, ptr noundef @.str.4)
  %25258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25259 = load i32, ptr %25258, align 4, !tbaa !5
  %25260 = call ptr @s2n_strerror_debug(i32 noundef %25259, ptr noundef @.str.4)
  %25261 = call ptr @__errno_location() #12
  %25262 = load i32, ptr %25261, align 4, !tbaa !5
  %25263 = call ptr @strerror(i32 noundef %25262) #11
  %25264 = call ptr @__errno_location() #12
  %25265 = load i32, ptr %25264, align 4, !tbaa !5
  %25266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25253, ptr noundef @.str.2, i32 noundef %25254, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 733, ptr noundef %25257, ptr noundef %25260, ptr noundef %25263, i32 noundef %25265) #11
  br label %25284

25267:                                            ; preds = %25245, %25238
  %25268 = load i32, ptr %505, align 4, !tbaa !5
  %25269 = call ptr @__errno_location() #12
  store i32 %25268, ptr %25269, align 4, !tbaa !5
  %25270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25271 = load i32, ptr @test_count, align 4, !tbaa !5
  %25272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25273 = load i32, ptr %25272, align 4, !tbaa !5
  %25274 = call ptr @s2n_strerror(i32 noundef %25273, ptr noundef @.str.4)
  %25275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25276 = load i32, ptr %25275, align 4, !tbaa !5
  %25277 = call ptr @s2n_strerror_debug(i32 noundef %25276, ptr noundef @.str.4)
  %25278 = call ptr @__errno_location() #12
  %25279 = load i32, ptr %25278, align 4, !tbaa !5
  %25280 = call ptr @strerror(i32 noundef %25279) #11
  %25281 = call ptr @__errno_location() #12
  %25282 = load i32, ptr %25281, align 4, !tbaa !5
  %25283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25270, ptr noundef @.str.5, i32 noundef %25271, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 733, ptr noundef %25274, ptr noundef %25277, ptr noundef %25280, i32 noundef %25282) #11
  br label %25284

25284:                                            ; preds = %25267, %25250
  call void @llvm.lifetime.end.p0(i64 4, ptr %505) #11
  br label %25285

25285:                                            ; preds = %25284
  br label %25286

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

25287:                                            ; No predecessors!
  br label %25288

25288:                                            ; preds = %25287
  br label %25289

25289:                                            ; preds = %25288, %25229
  br label %25290

25290:                                            ; preds = %25289
  br label %25291

25291:                                            ; preds = %25290
  br label %25292

25292:                                            ; preds = %25291
  br label %25293

25293:                                            ; preds = %25292
  %25294 = load i32, ptr @test_count, align 4, !tbaa !5
  %25295 = add nsw i32 %25294, 1
  store i32 %25295, ptr @test_count, align 4, !tbaa !5
  %25296 = getelementptr inbounds [1000 x i8], ptr %475, i64 0, i64 0
  %25297 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %25298 = getelementptr inbounds i8, ptr %25297, i64 2
  %25299 = call i32 @memcmp(ptr noundef %25296, ptr noundef %25298, i64 noundef 10) #14
  %25300 = icmp eq i32 %25299, 0
  br i1 %25300, label %25354, label %25301

25301:                                            ; preds = %25293
  br label %25302

25302:                                            ; preds = %25301
  br label %25303

25303:                                            ; preds = %25302
  call void @llvm.lifetime.start.p0(i64 4, ptr %506) #11
  %25304 = call ptr @__errno_location() #12
  %25305 = load i32, ptr %25304, align 4, !tbaa !5
  store i32 %25305, ptr %506, align 4, !tbaa !5
  %25306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25307 = call i32 @s2n_print_stacktrace(ptr noundef %25306)
  %25308 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25309 = trunc i8 %25308 to i1
  br i1 %25309, label %25310, label %25332

25310:                                            ; preds = %25303
  %25311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25312 = call i32 @fileno(ptr noundef %25311) #11
  %25313 = call i32 @isatty(i32 noundef %25312) #11
  %25314 = icmp ne i32 %25313, 0
  br i1 %25314, label %25315, label %25332

25315:                                            ; preds = %25310
  %25316 = load i32, ptr %506, align 4, !tbaa !5
  %25317 = call ptr @__errno_location() #12
  store i32 %25316, ptr %25317, align 4, !tbaa !5
  %25318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25319 = load i32, ptr @test_count, align 4, !tbaa !5
  %25320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25321 = load i32, ptr %25320, align 4, !tbaa !5
  %25322 = call ptr @s2n_strerror(i32 noundef %25321, ptr noundef @.str.4)
  %25323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25324 = load i32, ptr %25323, align 4, !tbaa !5
  %25325 = call ptr @s2n_strerror_debug(i32 noundef %25324, ptr noundef @.str.4)
  %25326 = call ptr @__errno_location() #12
  %25327 = load i32, ptr %25326, align 4, !tbaa !5
  %25328 = call ptr @strerror(i32 noundef %25327) #11
  %25329 = call ptr @__errno_location() #12
  %25330 = load i32, ptr %25329, align 4, !tbaa !5
  %25331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25318, ptr noundef @.str.2, i32 noundef %25319, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 733, ptr noundef %25322, ptr noundef %25325, ptr noundef %25328, i32 noundef %25330) #11
  br label %25349

25332:                                            ; preds = %25310, %25303
  %25333 = load i32, ptr %506, align 4, !tbaa !5
  %25334 = call ptr @__errno_location() #12
  store i32 %25333, ptr %25334, align 4, !tbaa !5
  %25335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25336 = load i32, ptr @test_count, align 4, !tbaa !5
  %25337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25338 = load i32, ptr %25337, align 4, !tbaa !5
  %25339 = call ptr @s2n_strerror(i32 noundef %25338, ptr noundef @.str.4)
  %25340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25341 = load i32, ptr %25340, align 4, !tbaa !5
  %25342 = call ptr @s2n_strerror_debug(i32 noundef %25341, ptr noundef @.str.4)
  %25343 = call ptr @__errno_location() #12
  %25344 = load i32, ptr %25343, align 4, !tbaa !5
  %25345 = call ptr @strerror(i32 noundef %25344) #11
  %25346 = call ptr @__errno_location() #12
  %25347 = load i32, ptr %25346, align 4, !tbaa !5
  %25348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25335, ptr noundef @.str.5, i32 noundef %25336, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 733, ptr noundef %25339, ptr noundef %25342, ptr noundef %25345, i32 noundef %25347) #11
  br label %25349

25349:                                            ; preds = %25332, %25315
  call void @llvm.lifetime.end.p0(i64 4, ptr %506) #11
  br label %25350

25350:                                            ; preds = %25349
  br label %25351

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

25352:                                            ; No predecessors!
  br label %25353

25353:                                            ; preds = %25352
  br label %25354

25354:                                            ; preds = %25353, %25293
  br label %25355

25355:                                            ; preds = %25354
  br label %25356

25356:                                            ; preds = %25355
  br label %25357

25357:                                            ; preds = %25356
  br label %25358

25358:                                            ; preds = %25357
  br label %25359

25359:                                            ; preds = %25358
  %25360 = load i32, ptr @test_count, align 4, !tbaa !5
  %25361 = add nsw i32 %25360, 1
  store i32 %25361, ptr @test_count, align 4, !tbaa !5
  %25362 = load ptr, ptr %465, align 8, !tbaa !9
  %25363 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %25364 = call i64 @s2n_send(ptr noundef %25362, ptr noundef %25363, i64 noundef 12, ptr noundef %474)
  %25365 = icmp eq i64 %25364, 12
  br i1 %25365, label %25419, label %25366

25366:                                            ; preds = %25359
  br label %25367

25367:                                            ; preds = %25366
  br label %25368

25368:                                            ; preds = %25367
  call void @llvm.lifetime.start.p0(i64 4, ptr %507) #11
  %25369 = call ptr @__errno_location() #12
  %25370 = load i32, ptr %25369, align 4, !tbaa !5
  store i32 %25370, ptr %507, align 4, !tbaa !5
  %25371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25372 = call i32 @s2n_print_stacktrace(ptr noundef %25371)
  %25373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25374 = trunc i8 %25373 to i1
  br i1 %25374, label %25375, label %25397

25375:                                            ; preds = %25368
  %25376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25377 = call i32 @fileno(ptr noundef %25376) #11
  %25378 = call i32 @isatty(i32 noundef %25377) #11
  %25379 = icmp ne i32 %25378, 0
  br i1 %25379, label %25380, label %25397

25380:                                            ; preds = %25375
  %25381 = load i32, ptr %507, align 4, !tbaa !5
  %25382 = call ptr @__errno_location() #12
  store i32 %25381, ptr %25382, align 4, !tbaa !5
  %25383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25384 = load i32, ptr @test_count, align 4, !tbaa !5
  %25385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25386 = load i32, ptr %25385, align 4, !tbaa !5
  %25387 = call ptr @s2n_strerror(i32 noundef %25386, ptr noundef @.str.4)
  %25388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25389 = load i32, ptr %25388, align 4, !tbaa !5
  %25390 = call ptr @s2n_strerror_debug(i32 noundef %25389, ptr noundef @.str.4)
  %25391 = call ptr @__errno_location() #12
  %25392 = load i32, ptr %25391, align 4, !tbaa !5
  %25393 = call ptr @strerror(i32 noundef %25392) #11
  %25394 = call ptr @__errno_location() #12
  %25395 = load i32, ptr %25394, align 4, !tbaa !5
  %25396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25383, ptr noundef @.str.2, i32 noundef %25384, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 736, ptr noundef %25387, ptr noundef %25390, ptr noundef %25393, i32 noundef %25395) #11
  br label %25414

25397:                                            ; preds = %25375, %25368
  %25398 = load i32, ptr %507, align 4, !tbaa !5
  %25399 = call ptr @__errno_location() #12
  store i32 %25398, ptr %25399, align 4, !tbaa !5
  %25400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25401 = load i32, ptr @test_count, align 4, !tbaa !5
  %25402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25403 = load i32, ptr %25402, align 4, !tbaa !5
  %25404 = call ptr @s2n_strerror(i32 noundef %25403, ptr noundef @.str.4)
  %25405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25406 = load i32, ptr %25405, align 4, !tbaa !5
  %25407 = call ptr @s2n_strerror_debug(i32 noundef %25406, ptr noundef @.str.4)
  %25408 = call ptr @__errno_location() #12
  %25409 = load i32, ptr %25408, align 4, !tbaa !5
  %25410 = call ptr @strerror(i32 noundef %25409) #11
  %25411 = call ptr @__errno_location() #12
  %25412 = load i32, ptr %25411, align 4, !tbaa !5
  %25413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25400, ptr noundef @.str.5, i32 noundef %25401, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 736, ptr noundef %25404, ptr noundef %25407, ptr noundef %25410, i32 noundef %25412) #11
  br label %25414

25414:                                            ; preds = %25397, %25380
  call void @llvm.lifetime.end.p0(i64 4, ptr %507) #11
  br label %25415

25415:                                            ; preds = %25414
  br label %25416

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

25417:                                            ; No predecessors!
  br label %25418

25418:                                            ; preds = %25417
  br label %25419

25419:                                            ; preds = %25418, %25359
  br label %25420

25420:                                            ; preds = %25419
  br label %25421

25421:                                            ; preds = %25420
  br label %25422

25422:                                            ; preds = %25421
  br label %25423

25423:                                            ; preds = %25422
  br label %25424

25424:                                            ; preds = %25423
  %25425 = load i32, ptr @test_count, align 4, !tbaa !5
  %25426 = add nsw i32 %25425, 1
  store i32 %25426, ptr @test_count, align 4, !tbaa !5
  %25427 = load ptr, ptr %466, align 8, !tbaa !9
  %25428 = call i32 @s2n_negotiate(ptr noundef %25427, ptr noundef %474)
  %25429 = icmp eq i32 %25428, -1
  br i1 %25429, label %25483, label %25430

25430:                                            ; preds = %25424
  br label %25431

25431:                                            ; preds = %25430
  br label %25432

25432:                                            ; preds = %25431
  call void @llvm.lifetime.start.p0(i64 4, ptr %508) #11
  %25433 = call ptr @__errno_location() #12
  %25434 = load i32, ptr %25433, align 4, !tbaa !5
  store i32 %25434, ptr %508, align 4, !tbaa !5
  %25435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25436 = call i32 @s2n_print_stacktrace(ptr noundef %25435)
  %25437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25438 = trunc i8 %25437 to i1
  br i1 %25438, label %25439, label %25461

25439:                                            ; preds = %25432
  %25440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25441 = call i32 @fileno(ptr noundef %25440) #11
  %25442 = call i32 @isatty(i32 noundef %25441) #11
  %25443 = icmp ne i32 %25442, 0
  br i1 %25443, label %25444, label %25461

25444:                                            ; preds = %25439
  %25445 = load i32, ptr %508, align 4, !tbaa !5
  %25446 = call ptr @__errno_location() #12
  store i32 %25445, ptr %25446, align 4, !tbaa !5
  %25447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25448 = load i32, ptr @test_count, align 4, !tbaa !5
  %25449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25450 = load i32, ptr %25449, align 4, !tbaa !5
  %25451 = call ptr @s2n_strerror(i32 noundef %25450, ptr noundef @.str.4)
  %25452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25453 = load i32, ptr %25452, align 4, !tbaa !5
  %25454 = call ptr @s2n_strerror_debug(i32 noundef %25453, ptr noundef @.str.4)
  %25455 = call ptr @__errno_location() #12
  %25456 = load i32, ptr %25455, align 4, !tbaa !5
  %25457 = call ptr @strerror(i32 noundef %25456) #11
  %25458 = call ptr @__errno_location() #12
  %25459 = load i32, ptr %25458, align 4, !tbaa !5
  %25460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25447, ptr noundef @.str.2, i32 noundef %25448, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 737, ptr noundef %25451, ptr noundef %25454, ptr noundef %25457, i32 noundef %25459) #11
  br label %25478

25461:                                            ; preds = %25439, %25432
  %25462 = load i32, ptr %508, align 4, !tbaa !5
  %25463 = call ptr @__errno_location() #12
  store i32 %25462, ptr %25463, align 4, !tbaa !5
  %25464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25465 = load i32, ptr @test_count, align 4, !tbaa !5
  %25466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25467 = load i32, ptr %25466, align 4, !tbaa !5
  %25468 = call ptr @s2n_strerror(i32 noundef %25467, ptr noundef @.str.4)
  %25469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25470 = load i32, ptr %25469, align 4, !tbaa !5
  %25471 = call ptr @s2n_strerror_debug(i32 noundef %25470, ptr noundef @.str.4)
  %25472 = call ptr @__errno_location() #12
  %25473 = load i32, ptr %25472, align 4, !tbaa !5
  %25474 = call ptr @strerror(i32 noundef %25473) #11
  %25475 = call ptr @__errno_location() #12
  %25476 = load i32, ptr %25475, align 4, !tbaa !5
  %25477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25464, ptr noundef @.str.5, i32 noundef %25465, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 737, ptr noundef %25468, ptr noundef %25471, ptr noundef %25474, i32 noundef %25476) #11
  br label %25478

25478:                                            ; preds = %25461, %25444
  call void @llvm.lifetime.end.p0(i64 4, ptr %508) #11
  br label %25479

25479:                                            ; preds = %25478
  br label %25480

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

25481:                                            ; No predecessors!
  br label %25482

25482:                                            ; preds = %25481
  br label %25483

25483:                                            ; preds = %25482, %25424
  br label %25484

25484:                                            ; preds = %25483
  br label %25485

25485:                                            ; preds = %25484
  br label %25486

25486:                                            ; preds = %25485
  %25487 = load i32, ptr @test_count, align 4, !tbaa !5
  %25488 = add nsw i32 %25487, 1
  store i32 %25488, ptr @test_count, align 4, !tbaa !5
  %25489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25490 = load i32, ptr %25489, align 4, !tbaa !5
  %25491 = icmp eq i32 %25490, 201326594
  br i1 %25491, label %25545, label %25492

25492:                                            ; preds = %25486
  br label %25493

25493:                                            ; preds = %25492
  br label %25494

25494:                                            ; preds = %25493
  call void @llvm.lifetime.start.p0(i64 4, ptr %509) #11
  %25495 = call ptr @__errno_location() #12
  %25496 = load i32, ptr %25495, align 4, !tbaa !5
  store i32 %25496, ptr %509, align 4, !tbaa !5
  %25497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25498 = call i32 @s2n_print_stacktrace(ptr noundef %25497)
  %25499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25500 = trunc i8 %25499 to i1
  br i1 %25500, label %25501, label %25523

25501:                                            ; preds = %25494
  %25502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25503 = call i32 @fileno(ptr noundef %25502) #11
  %25504 = call i32 @isatty(i32 noundef %25503) #11
  %25505 = icmp ne i32 %25504, 0
  br i1 %25505, label %25506, label %25523

25506:                                            ; preds = %25501
  %25507 = load i32, ptr %509, align 4, !tbaa !5
  %25508 = call ptr @__errno_location() #12
  store i32 %25507, ptr %25508, align 4, !tbaa !5
  %25509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25510 = load i32, ptr @test_count, align 4, !tbaa !5
  %25511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25512 = load i32, ptr %25511, align 4, !tbaa !5
  %25513 = call ptr @s2n_strerror(i32 noundef %25512, ptr noundef @.str.4)
  %25514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25515 = load i32, ptr %25514, align 4, !tbaa !5
  %25516 = call ptr @s2n_strerror_debug(i32 noundef %25515, ptr noundef @.str.4)
  %25517 = call ptr @__errno_location() #12
  %25518 = load i32, ptr %25517, align 4, !tbaa !5
  %25519 = call ptr @strerror(i32 noundef %25518) #11
  %25520 = call ptr @__errno_location() #12
  %25521 = load i32, ptr %25520, align 4, !tbaa !5
  %25522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25509, ptr noundef @.str.2, i32 noundef %25510, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 737, ptr noundef %25513, ptr noundef %25516, ptr noundef %25519, i32 noundef %25521) #11
  br label %25540

25523:                                            ; preds = %25501, %25494
  %25524 = load i32, ptr %509, align 4, !tbaa !5
  %25525 = call ptr @__errno_location() #12
  store i32 %25524, ptr %25525, align 4, !tbaa !5
  %25526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25527 = load i32, ptr @test_count, align 4, !tbaa !5
  %25528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25529 = load i32, ptr %25528, align 4, !tbaa !5
  %25530 = call ptr @s2n_strerror(i32 noundef %25529, ptr noundef @.str.4)
  %25531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25532 = load i32, ptr %25531, align 4, !tbaa !5
  %25533 = call ptr @s2n_strerror_debug(i32 noundef %25532, ptr noundef @.str.4)
  %25534 = call ptr @__errno_location() #12
  %25535 = load i32, ptr %25534, align 4, !tbaa !5
  %25536 = call ptr @strerror(i32 noundef %25535) #11
  %25537 = call ptr @__errno_location() #12
  %25538 = load i32, ptr %25537, align 4, !tbaa !5
  %25539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25526, ptr noundef @.str.5, i32 noundef %25527, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 737, ptr noundef %25530, ptr noundef %25533, ptr noundef %25536, i32 noundef %25538) #11
  br label %25540

25540:                                            ; preds = %25523, %25506
  call void @llvm.lifetime.end.p0(i64 4, ptr %509) #11
  br label %25541

25541:                                            ; preds = %25540
  br label %25542

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

25543:                                            ; No predecessors!
  br label %25544

25544:                                            ; preds = %25543
  br label %25545

25545:                                            ; preds = %25544, %25486
  br label %25546

25546:                                            ; preds = %25545
  br label %25547

25547:                                            ; preds = %25546
  br label %25548

25548:                                            ; preds = %25547
  %25549 = load i32, ptr @test_count, align 4, !tbaa !5
  %25550 = add nsw i32 %25549, 1
  store i32 %25550, ptr @test_count, align 4, !tbaa !5
  %25551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25552 = load i32, ptr %25551, align 4, !tbaa !5
  %25553 = call ptr @s2n_strerror_debug(i32 noundef %25552, ptr noundef @.str.4)
  %25554 = icmp eq ptr %25553, null
  br i1 %25554, label %25555, label %25608

25555:                                            ; preds = %25548
  br label %25556

25556:                                            ; preds = %25555
  br label %25557

25557:                                            ; preds = %25556
  call void @llvm.lifetime.start.p0(i64 4, ptr %510) #11
  %25558 = call ptr @__errno_location() #12
  %25559 = load i32, ptr %25558, align 4, !tbaa !5
  store i32 %25559, ptr %510, align 4, !tbaa !5
  %25560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25561 = call i32 @s2n_print_stacktrace(ptr noundef %25560)
  %25562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25563 = trunc i8 %25562 to i1
  br i1 %25563, label %25564, label %25586

25564:                                            ; preds = %25557
  %25565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25566 = call i32 @fileno(ptr noundef %25565) #11
  %25567 = call i32 @isatty(i32 noundef %25566) #11
  %25568 = icmp ne i32 %25567, 0
  br i1 %25568, label %25569, label %25586

25569:                                            ; preds = %25564
  %25570 = load i32, ptr %510, align 4, !tbaa !5
  %25571 = call ptr @__errno_location() #12
  store i32 %25570, ptr %25571, align 4, !tbaa !5
  %25572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25573 = load i32, ptr @test_count, align 4, !tbaa !5
  %25574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25575 = load i32, ptr %25574, align 4, !tbaa !5
  %25576 = call ptr @s2n_strerror(i32 noundef %25575, ptr noundef @.str.4)
  %25577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25578 = load i32, ptr %25577, align 4, !tbaa !5
  %25579 = call ptr @s2n_strerror_debug(i32 noundef %25578, ptr noundef @.str.4)
  %25580 = call ptr @__errno_location() #12
  %25581 = load i32, ptr %25580, align 4, !tbaa !5
  %25582 = call ptr @strerror(i32 noundef %25581) #11
  %25583 = call ptr @__errno_location() #12
  %25584 = load i32, ptr %25583, align 4, !tbaa !5
  %25585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25572, ptr noundef @.str.2, i32 noundef %25573, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 737, ptr noundef %25576, ptr noundef %25579, ptr noundef %25582, i32 noundef %25584) #11
  br label %25603

25586:                                            ; preds = %25564, %25557
  %25587 = load i32, ptr %510, align 4, !tbaa !5
  %25588 = call ptr @__errno_location() #12
  store i32 %25587, ptr %25588, align 4, !tbaa !5
  %25589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25590 = load i32, ptr @test_count, align 4, !tbaa !5
  %25591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25592 = load i32, ptr %25591, align 4, !tbaa !5
  %25593 = call ptr @s2n_strerror(i32 noundef %25592, ptr noundef @.str.4)
  %25594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25595 = load i32, ptr %25594, align 4, !tbaa !5
  %25596 = call ptr @s2n_strerror_debug(i32 noundef %25595, ptr noundef @.str.4)
  %25597 = call ptr @__errno_location() #12
  %25598 = load i32, ptr %25597, align 4, !tbaa !5
  %25599 = call ptr @strerror(i32 noundef %25598) #11
  %25600 = call ptr @__errno_location() #12
  %25601 = load i32, ptr %25600, align 4, !tbaa !5
  %25602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25589, ptr noundef @.str.5, i32 noundef %25590, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 737, ptr noundef %25593, ptr noundef %25596, ptr noundef %25599, i32 noundef %25601) #11
  br label %25603

25603:                                            ; preds = %25586, %25569
  call void @llvm.lifetime.end.p0(i64 4, ptr %510) #11
  br label %25604

25604:                                            ; preds = %25603
  br label %25605

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

25606:                                            ; No predecessors!
  br label %25607

25607:                                            ; preds = %25606
  br label %25608

25608:                                            ; preds = %25607, %25548
  br label %25609

25609:                                            ; preds = %25608
  br label %25610

25610:                                            ; preds = %25609
  br label %25611

25611:                                            ; preds = %25610
  br label %25612

25612:                                            ; preds = %25611
  br label %25613

25613:                                            ; preds = %25612
  %25614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %25614, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %25615 = call ptr @__errno_location() #12
  store i32 0, ptr %25615, align 4, !tbaa !5
  br label %25616

25616:                                            ; preds = %25613
  br label %25617

25617:                                            ; preds = %25616
  br label %25618

25618:                                            ; preds = %25617
  br label %25619

25619:                                            ; preds = %25618
  br label %25620

25620:                                            ; preds = %25619
  %25621 = load i32, ptr @test_count, align 4, !tbaa !5
  %25622 = add nsw i32 %25621, 1
  store i32 %25622, ptr @test_count, align 4, !tbaa !5
  %25623 = load ptr, ptr %466, align 8, !tbaa !9
  %25624 = getelementptr inbounds [1000 x i8], ptr %475, i64 0, i64 0
  %25625 = call i64 @s2n_recv(ptr noundef %25623, ptr noundef %25624, i64 noundef 2, ptr noundef %474)
  %25626 = icmp eq i64 %25625, 2
  br i1 %25626, label %25680, label %25627

25627:                                            ; preds = %25620
  br label %25628

25628:                                            ; preds = %25627
  br label %25629

25629:                                            ; preds = %25628
  call void @llvm.lifetime.start.p0(i64 4, ptr %511) #11
  %25630 = call ptr @__errno_location() #12
  %25631 = load i32, ptr %25630, align 4, !tbaa !5
  store i32 %25631, ptr %511, align 4, !tbaa !5
  %25632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25633 = call i32 @s2n_print_stacktrace(ptr noundef %25632)
  %25634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25635 = trunc i8 %25634 to i1
  br i1 %25635, label %25636, label %25658

25636:                                            ; preds = %25629
  %25637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25638 = call i32 @fileno(ptr noundef %25637) #11
  %25639 = call i32 @isatty(i32 noundef %25638) #11
  %25640 = icmp ne i32 %25639, 0
  br i1 %25640, label %25641, label %25658

25641:                                            ; preds = %25636
  %25642 = load i32, ptr %511, align 4, !tbaa !5
  %25643 = call ptr @__errno_location() #12
  store i32 %25642, ptr %25643, align 4, !tbaa !5
  %25644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25645 = load i32, ptr @test_count, align 4, !tbaa !5
  %25646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25647 = load i32, ptr %25646, align 4, !tbaa !5
  %25648 = call ptr @s2n_strerror(i32 noundef %25647, ptr noundef @.str.4)
  %25649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25650 = load i32, ptr %25649, align 4, !tbaa !5
  %25651 = call ptr @s2n_strerror_debug(i32 noundef %25650, ptr noundef @.str.4)
  %25652 = call ptr @__errno_location() #12
  %25653 = load i32, ptr %25652, align 4, !tbaa !5
  %25654 = call ptr @strerror(i32 noundef %25653) #11
  %25655 = call ptr @__errno_location() #12
  %25656 = load i32, ptr %25655, align 4, !tbaa !5
  %25657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25644, ptr noundef @.str.2, i32 noundef %25645, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 738, ptr noundef %25648, ptr noundef %25651, ptr noundef %25654, i32 noundef %25656) #11
  br label %25675

25658:                                            ; preds = %25636, %25629
  %25659 = load i32, ptr %511, align 4, !tbaa !5
  %25660 = call ptr @__errno_location() #12
  store i32 %25659, ptr %25660, align 4, !tbaa !5
  %25661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25662 = load i32, ptr @test_count, align 4, !tbaa !5
  %25663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25664 = load i32, ptr %25663, align 4, !tbaa !5
  %25665 = call ptr @s2n_strerror(i32 noundef %25664, ptr noundef @.str.4)
  %25666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25667 = load i32, ptr %25666, align 4, !tbaa !5
  %25668 = call ptr @s2n_strerror_debug(i32 noundef %25667, ptr noundef @.str.4)
  %25669 = call ptr @__errno_location() #12
  %25670 = load i32, ptr %25669, align 4, !tbaa !5
  %25671 = call ptr @strerror(i32 noundef %25670) #11
  %25672 = call ptr @__errno_location() #12
  %25673 = load i32, ptr %25672, align 4, !tbaa !5
  %25674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25661, ptr noundef @.str.5, i32 noundef %25662, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 738, ptr noundef %25665, ptr noundef %25668, ptr noundef %25671, i32 noundef %25673) #11
  br label %25675

25675:                                            ; preds = %25658, %25641
  call void @llvm.lifetime.end.p0(i64 4, ptr %511) #11
  br label %25676

25676:                                            ; preds = %25675
  br label %25677

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

25678:                                            ; No predecessors!
  br label %25679

25679:                                            ; preds = %25678
  br label %25680

25680:                                            ; preds = %25679, %25620
  br label %25681

25681:                                            ; preds = %25680
  br label %25682

25682:                                            ; preds = %25681
  br label %25683

25683:                                            ; preds = %25682
  br label %25684

25684:                                            ; preds = %25683
  %25685 = load i32, ptr @test_count, align 4, !tbaa !5
  %25686 = add nsw i32 %25685, 1
  store i32 %25686, ptr @test_count, align 4, !tbaa !5
  %25687 = getelementptr inbounds [1000 x i8], ptr %475, i64 0, i64 0
  %25688 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %25689 = call i32 @memcmp(ptr noundef %25687, ptr noundef %25688, i64 noundef 2) #14
  %25690 = icmp eq i32 %25689, 0
  br i1 %25690, label %25744, label %25691

25691:                                            ; preds = %25684
  br label %25692

25692:                                            ; preds = %25691
  br label %25693

25693:                                            ; preds = %25692
  call void @llvm.lifetime.start.p0(i64 4, ptr %512) #11
  %25694 = call ptr @__errno_location() #12
  %25695 = load i32, ptr %25694, align 4, !tbaa !5
  store i32 %25695, ptr %512, align 4, !tbaa !5
  %25696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25697 = call i32 @s2n_print_stacktrace(ptr noundef %25696)
  %25698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25699 = trunc i8 %25698 to i1
  br i1 %25699, label %25700, label %25722

25700:                                            ; preds = %25693
  %25701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25702 = call i32 @fileno(ptr noundef %25701) #11
  %25703 = call i32 @isatty(i32 noundef %25702) #11
  %25704 = icmp ne i32 %25703, 0
  br i1 %25704, label %25705, label %25722

25705:                                            ; preds = %25700
  %25706 = load i32, ptr %512, align 4, !tbaa !5
  %25707 = call ptr @__errno_location() #12
  store i32 %25706, ptr %25707, align 4, !tbaa !5
  %25708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25709 = load i32, ptr @test_count, align 4, !tbaa !5
  %25710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25711 = load i32, ptr %25710, align 4, !tbaa !5
  %25712 = call ptr @s2n_strerror(i32 noundef %25711, ptr noundef @.str.4)
  %25713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25714 = load i32, ptr %25713, align 4, !tbaa !5
  %25715 = call ptr @s2n_strerror_debug(i32 noundef %25714, ptr noundef @.str.4)
  %25716 = call ptr @__errno_location() #12
  %25717 = load i32, ptr %25716, align 4, !tbaa !5
  %25718 = call ptr @strerror(i32 noundef %25717) #11
  %25719 = call ptr @__errno_location() #12
  %25720 = load i32, ptr %25719, align 4, !tbaa !5
  %25721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25708, ptr noundef @.str.2, i32 noundef %25709, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 738, ptr noundef %25712, ptr noundef %25715, ptr noundef %25718, i32 noundef %25720) #11
  br label %25739

25722:                                            ; preds = %25700, %25693
  %25723 = load i32, ptr %512, align 4, !tbaa !5
  %25724 = call ptr @__errno_location() #12
  store i32 %25723, ptr %25724, align 4, !tbaa !5
  %25725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25726 = load i32, ptr @test_count, align 4, !tbaa !5
  %25727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25728 = load i32, ptr %25727, align 4, !tbaa !5
  %25729 = call ptr @s2n_strerror(i32 noundef %25728, ptr noundef @.str.4)
  %25730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25731 = load i32, ptr %25730, align 4, !tbaa !5
  %25732 = call ptr @s2n_strerror_debug(i32 noundef %25731, ptr noundef @.str.4)
  %25733 = call ptr @__errno_location() #12
  %25734 = load i32, ptr %25733, align 4, !tbaa !5
  %25735 = call ptr @strerror(i32 noundef %25734) #11
  %25736 = call ptr @__errno_location() #12
  %25737 = load i32, ptr %25736, align 4, !tbaa !5
  %25738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25725, ptr noundef @.str.5, i32 noundef %25726, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 738, ptr noundef %25729, ptr noundef %25732, ptr noundef %25735, i32 noundef %25737) #11
  br label %25739

25739:                                            ; preds = %25722, %25705
  call void @llvm.lifetime.end.p0(i64 4, ptr %512) #11
  br label %25740

25740:                                            ; preds = %25739
  br label %25741

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

25742:                                            ; No predecessors!
  br label %25743

25743:                                            ; preds = %25742
  br label %25744

25744:                                            ; preds = %25743, %25684
  br label %25745

25745:                                            ; preds = %25744
  br label %25746

25746:                                            ; preds = %25745
  br label %25747

25747:                                            ; preds = %25746
  br label %25748

25748:                                            ; preds = %25747
  br label %25749

25749:                                            ; preds = %25748
  br label %25750

25750:                                            ; preds = %25749
  br label %25751

25751:                                            ; preds = %25750
  %25752 = load i32, ptr @test_count, align 4, !tbaa !5
  %25753 = add nsw i32 %25752, 1
  store i32 %25753, ptr @test_count, align 4, !tbaa !5
  %25754 = load ptr, ptr %466, align 8, !tbaa !9
  %25755 = call i32 @s2n_negotiate(ptr noundef %25754, ptr noundef %474)
  %25756 = icmp eq i32 %25755, -1
  br i1 %25756, label %25810, label %25757

25757:                                            ; preds = %25751
  br label %25758

25758:                                            ; preds = %25757
  br label %25759

25759:                                            ; preds = %25758
  call void @llvm.lifetime.start.p0(i64 4, ptr %513) #11
  %25760 = call ptr @__errno_location() #12
  %25761 = load i32, ptr %25760, align 4, !tbaa !5
  store i32 %25761, ptr %513, align 4, !tbaa !5
  %25762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25763 = call i32 @s2n_print_stacktrace(ptr noundef %25762)
  %25764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25765 = trunc i8 %25764 to i1
  br i1 %25765, label %25766, label %25788

25766:                                            ; preds = %25759
  %25767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25768 = call i32 @fileno(ptr noundef %25767) #11
  %25769 = call i32 @isatty(i32 noundef %25768) #11
  %25770 = icmp ne i32 %25769, 0
  br i1 %25770, label %25771, label %25788

25771:                                            ; preds = %25766
  %25772 = load i32, ptr %513, align 4, !tbaa !5
  %25773 = call ptr @__errno_location() #12
  store i32 %25772, ptr %25773, align 4, !tbaa !5
  %25774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25775 = load i32, ptr @test_count, align 4, !tbaa !5
  %25776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25777 = load i32, ptr %25776, align 4, !tbaa !5
  %25778 = call ptr @s2n_strerror(i32 noundef %25777, ptr noundef @.str.4)
  %25779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25780 = load i32, ptr %25779, align 4, !tbaa !5
  %25781 = call ptr @s2n_strerror_debug(i32 noundef %25780, ptr noundef @.str.4)
  %25782 = call ptr @__errno_location() #12
  %25783 = load i32, ptr %25782, align 4, !tbaa !5
  %25784 = call ptr @strerror(i32 noundef %25783) #11
  %25785 = call ptr @__errno_location() #12
  %25786 = load i32, ptr %25785, align 4, !tbaa !5
  %25787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25774, ptr noundef @.str.2, i32 noundef %25775, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 739, ptr noundef %25778, ptr noundef %25781, ptr noundef %25784, i32 noundef %25786) #11
  br label %25805

25788:                                            ; preds = %25766, %25759
  %25789 = load i32, ptr %513, align 4, !tbaa !5
  %25790 = call ptr @__errno_location() #12
  store i32 %25789, ptr %25790, align 4, !tbaa !5
  %25791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25792 = load i32, ptr @test_count, align 4, !tbaa !5
  %25793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25794 = load i32, ptr %25793, align 4, !tbaa !5
  %25795 = call ptr @s2n_strerror(i32 noundef %25794, ptr noundef @.str.4)
  %25796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25797 = load i32, ptr %25796, align 4, !tbaa !5
  %25798 = call ptr @s2n_strerror_debug(i32 noundef %25797, ptr noundef @.str.4)
  %25799 = call ptr @__errno_location() #12
  %25800 = load i32, ptr %25799, align 4, !tbaa !5
  %25801 = call ptr @strerror(i32 noundef %25800) #11
  %25802 = call ptr @__errno_location() #12
  %25803 = load i32, ptr %25802, align 4, !tbaa !5
  %25804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25791, ptr noundef @.str.5, i32 noundef %25792, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 739, ptr noundef %25795, ptr noundef %25798, ptr noundef %25801, i32 noundef %25803) #11
  br label %25805

25805:                                            ; preds = %25788, %25771
  call void @llvm.lifetime.end.p0(i64 4, ptr %513) #11
  br label %25806

25806:                                            ; preds = %25805
  br label %25807

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

25808:                                            ; No predecessors!
  br label %25809

25809:                                            ; preds = %25808
  br label %25810

25810:                                            ; preds = %25809, %25751
  br label %25811

25811:                                            ; preds = %25810
  br label %25812

25812:                                            ; preds = %25811
  br label %25813

25813:                                            ; preds = %25812
  %25814 = load i32, ptr @test_count, align 4, !tbaa !5
  %25815 = add nsw i32 %25814, 1
  store i32 %25815, ptr @test_count, align 4, !tbaa !5
  %25816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25817 = load i32, ptr %25816, align 4, !tbaa !5
  %25818 = icmp eq i32 %25817, 201326594
  br i1 %25818, label %25872, label %25819

25819:                                            ; preds = %25813
  br label %25820

25820:                                            ; preds = %25819
  br label %25821

25821:                                            ; preds = %25820
  call void @llvm.lifetime.start.p0(i64 4, ptr %514) #11
  %25822 = call ptr @__errno_location() #12
  %25823 = load i32, ptr %25822, align 4, !tbaa !5
  store i32 %25823, ptr %514, align 4, !tbaa !5
  %25824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25825 = call i32 @s2n_print_stacktrace(ptr noundef %25824)
  %25826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25827 = trunc i8 %25826 to i1
  br i1 %25827, label %25828, label %25850

25828:                                            ; preds = %25821
  %25829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25830 = call i32 @fileno(ptr noundef %25829) #11
  %25831 = call i32 @isatty(i32 noundef %25830) #11
  %25832 = icmp ne i32 %25831, 0
  br i1 %25832, label %25833, label %25850

25833:                                            ; preds = %25828
  %25834 = load i32, ptr %514, align 4, !tbaa !5
  %25835 = call ptr @__errno_location() #12
  store i32 %25834, ptr %25835, align 4, !tbaa !5
  %25836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25837 = load i32, ptr @test_count, align 4, !tbaa !5
  %25838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25839 = load i32, ptr %25838, align 4, !tbaa !5
  %25840 = call ptr @s2n_strerror(i32 noundef %25839, ptr noundef @.str.4)
  %25841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25842 = load i32, ptr %25841, align 4, !tbaa !5
  %25843 = call ptr @s2n_strerror_debug(i32 noundef %25842, ptr noundef @.str.4)
  %25844 = call ptr @__errno_location() #12
  %25845 = load i32, ptr %25844, align 4, !tbaa !5
  %25846 = call ptr @strerror(i32 noundef %25845) #11
  %25847 = call ptr @__errno_location() #12
  %25848 = load i32, ptr %25847, align 4, !tbaa !5
  %25849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25836, ptr noundef @.str.2, i32 noundef %25837, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 739, ptr noundef %25840, ptr noundef %25843, ptr noundef %25846, i32 noundef %25848) #11
  br label %25867

25850:                                            ; preds = %25828, %25821
  %25851 = load i32, ptr %514, align 4, !tbaa !5
  %25852 = call ptr @__errno_location() #12
  store i32 %25851, ptr %25852, align 4, !tbaa !5
  %25853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25854 = load i32, ptr @test_count, align 4, !tbaa !5
  %25855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25856 = load i32, ptr %25855, align 4, !tbaa !5
  %25857 = call ptr @s2n_strerror(i32 noundef %25856, ptr noundef @.str.4)
  %25858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25859 = load i32, ptr %25858, align 4, !tbaa !5
  %25860 = call ptr @s2n_strerror_debug(i32 noundef %25859, ptr noundef @.str.4)
  %25861 = call ptr @__errno_location() #12
  %25862 = load i32, ptr %25861, align 4, !tbaa !5
  %25863 = call ptr @strerror(i32 noundef %25862) #11
  %25864 = call ptr @__errno_location() #12
  %25865 = load i32, ptr %25864, align 4, !tbaa !5
  %25866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25853, ptr noundef @.str.5, i32 noundef %25854, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 739, ptr noundef %25857, ptr noundef %25860, ptr noundef %25863, i32 noundef %25865) #11
  br label %25867

25867:                                            ; preds = %25850, %25833
  call void @llvm.lifetime.end.p0(i64 4, ptr %514) #11
  br label %25868

25868:                                            ; preds = %25867
  br label %25869

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

25870:                                            ; No predecessors!
  br label %25871

25871:                                            ; preds = %25870
  br label %25872

25872:                                            ; preds = %25871, %25813
  br label %25873

25873:                                            ; preds = %25872
  br label %25874

25874:                                            ; preds = %25873
  br label %25875

25875:                                            ; preds = %25874
  %25876 = load i32, ptr @test_count, align 4, !tbaa !5
  %25877 = add nsw i32 %25876, 1
  store i32 %25877, ptr @test_count, align 4, !tbaa !5
  %25878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25879 = load i32, ptr %25878, align 4, !tbaa !5
  %25880 = call ptr @s2n_strerror_debug(i32 noundef %25879, ptr noundef @.str.4)
  %25881 = icmp eq ptr %25880, null
  br i1 %25881, label %25882, label %25935

25882:                                            ; preds = %25875
  br label %25883

25883:                                            ; preds = %25882
  br label %25884

25884:                                            ; preds = %25883
  call void @llvm.lifetime.start.p0(i64 4, ptr %515) #11
  %25885 = call ptr @__errno_location() #12
  %25886 = load i32, ptr %25885, align 4, !tbaa !5
  store i32 %25886, ptr %515, align 4, !tbaa !5
  %25887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25888 = call i32 @s2n_print_stacktrace(ptr noundef %25887)
  %25889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25890 = trunc i8 %25889 to i1
  br i1 %25890, label %25891, label %25913

25891:                                            ; preds = %25884
  %25892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25893 = call i32 @fileno(ptr noundef %25892) #11
  %25894 = call i32 @isatty(i32 noundef %25893) #11
  %25895 = icmp ne i32 %25894, 0
  br i1 %25895, label %25896, label %25913

25896:                                            ; preds = %25891
  %25897 = load i32, ptr %515, align 4, !tbaa !5
  %25898 = call ptr @__errno_location() #12
  store i32 %25897, ptr %25898, align 4, !tbaa !5
  %25899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25900 = load i32, ptr @test_count, align 4, !tbaa !5
  %25901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25902 = load i32, ptr %25901, align 4, !tbaa !5
  %25903 = call ptr @s2n_strerror(i32 noundef %25902, ptr noundef @.str.4)
  %25904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25905 = load i32, ptr %25904, align 4, !tbaa !5
  %25906 = call ptr @s2n_strerror_debug(i32 noundef %25905, ptr noundef @.str.4)
  %25907 = call ptr @__errno_location() #12
  %25908 = load i32, ptr %25907, align 4, !tbaa !5
  %25909 = call ptr @strerror(i32 noundef %25908) #11
  %25910 = call ptr @__errno_location() #12
  %25911 = load i32, ptr %25910, align 4, !tbaa !5
  %25912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25899, ptr noundef @.str.2, i32 noundef %25900, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 739, ptr noundef %25903, ptr noundef %25906, ptr noundef %25909, i32 noundef %25911) #11
  br label %25930

25913:                                            ; preds = %25891, %25884
  %25914 = load i32, ptr %515, align 4, !tbaa !5
  %25915 = call ptr @__errno_location() #12
  store i32 %25914, ptr %25915, align 4, !tbaa !5
  %25916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25917 = load i32, ptr @test_count, align 4, !tbaa !5
  %25918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25919 = load i32, ptr %25918, align 4, !tbaa !5
  %25920 = call ptr @s2n_strerror(i32 noundef %25919, ptr noundef @.str.4)
  %25921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25922 = load i32, ptr %25921, align 4, !tbaa !5
  %25923 = call ptr @s2n_strerror_debug(i32 noundef %25922, ptr noundef @.str.4)
  %25924 = call ptr @__errno_location() #12
  %25925 = load i32, ptr %25924, align 4, !tbaa !5
  %25926 = call ptr @strerror(i32 noundef %25925) #11
  %25927 = call ptr @__errno_location() #12
  %25928 = load i32, ptr %25927, align 4, !tbaa !5
  %25929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25916, ptr noundef @.str.5, i32 noundef %25917, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 739, ptr noundef %25920, ptr noundef %25923, ptr noundef %25926, i32 noundef %25928) #11
  br label %25930

25930:                                            ; preds = %25913, %25896
  call void @llvm.lifetime.end.p0(i64 4, ptr %515) #11
  br label %25931

25931:                                            ; preds = %25930
  br label %25932

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

25933:                                            ; No predecessors!
  br label %25934

25934:                                            ; preds = %25933
  br label %25935

25935:                                            ; preds = %25934, %25875
  br label %25936

25936:                                            ; preds = %25935
  br label %25937

25937:                                            ; preds = %25936
  br label %25938

25938:                                            ; preds = %25937
  br label %25939

25939:                                            ; preds = %25938
  br label %25940

25940:                                            ; preds = %25939
  %25941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %25941, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %25942 = call ptr @__errno_location() #12
  store i32 0, ptr %25942, align 4, !tbaa !5
  br label %25943

25943:                                            ; preds = %25940
  br label %25944

25944:                                            ; preds = %25943
  br label %25945

25945:                                            ; preds = %25944
  br label %25946

25946:                                            ; preds = %25945
  br label %25947

25947:                                            ; preds = %25946
  %25948 = load i32, ptr @test_count, align 4, !tbaa !5
  %25949 = add nsw i32 %25948, 1
  store i32 %25949, ptr @test_count, align 4, !tbaa !5
  %25950 = load ptr, ptr %466, align 8, !tbaa !9
  %25951 = getelementptr inbounds [1000 x i8], ptr %475, i64 0, i64 0
  %25952 = call i64 @s2n_recv(ptr noundef %25950, ptr noundef %25951, i64 noundef 0, ptr noundef %474)
  %25953 = icmp eq i64 %25952, 0
  br i1 %25953, label %26007, label %25954

25954:                                            ; preds = %25947
  br label %25955

25955:                                            ; preds = %25954
  br label %25956

25956:                                            ; preds = %25955
  call void @llvm.lifetime.start.p0(i64 4, ptr %516) #11
  %25957 = call ptr @__errno_location() #12
  %25958 = load i32, ptr %25957, align 4, !tbaa !5
  store i32 %25958, ptr %516, align 4, !tbaa !5
  %25959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25960 = call i32 @s2n_print_stacktrace(ptr noundef %25959)
  %25961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25962 = trunc i8 %25961 to i1
  br i1 %25962, label %25963, label %25985

25963:                                            ; preds = %25956
  %25964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25965 = call i32 @fileno(ptr noundef %25964) #11
  %25966 = call i32 @isatty(i32 noundef %25965) #11
  %25967 = icmp ne i32 %25966, 0
  br i1 %25967, label %25968, label %25985

25968:                                            ; preds = %25963
  %25969 = load i32, ptr %516, align 4, !tbaa !5
  %25970 = call ptr @__errno_location() #12
  store i32 %25969, ptr %25970, align 4, !tbaa !5
  %25971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25972 = load i32, ptr @test_count, align 4, !tbaa !5
  %25973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25974 = load i32, ptr %25973, align 4, !tbaa !5
  %25975 = call ptr @s2n_strerror(i32 noundef %25974, ptr noundef @.str.4)
  %25976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25977 = load i32, ptr %25976, align 4, !tbaa !5
  %25978 = call ptr @s2n_strerror_debug(i32 noundef %25977, ptr noundef @.str.4)
  %25979 = call ptr @__errno_location() #12
  %25980 = load i32, ptr %25979, align 4, !tbaa !5
  %25981 = call ptr @strerror(i32 noundef %25980) #11
  %25982 = call ptr @__errno_location() #12
  %25983 = load i32, ptr %25982, align 4, !tbaa !5
  %25984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25971, ptr noundef @.str.2, i32 noundef %25972, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 740, ptr noundef %25975, ptr noundef %25978, ptr noundef %25981, i32 noundef %25983) #11
  br label %26002

25985:                                            ; preds = %25963, %25956
  %25986 = load i32, ptr %516, align 4, !tbaa !5
  %25987 = call ptr @__errno_location() #12
  store i32 %25986, ptr %25987, align 4, !tbaa !5
  %25988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25989 = load i32, ptr @test_count, align 4, !tbaa !5
  %25990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25991 = load i32, ptr %25990, align 4, !tbaa !5
  %25992 = call ptr @s2n_strerror(i32 noundef %25991, ptr noundef @.str.4)
  %25993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25994 = load i32, ptr %25993, align 4, !tbaa !5
  %25995 = call ptr @s2n_strerror_debug(i32 noundef %25994, ptr noundef @.str.4)
  %25996 = call ptr @__errno_location() #12
  %25997 = load i32, ptr %25996, align 4, !tbaa !5
  %25998 = call ptr @strerror(i32 noundef %25997) #11
  %25999 = call ptr @__errno_location() #12
  %26000 = load i32, ptr %25999, align 4, !tbaa !5
  %26001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25988, ptr noundef @.str.5, i32 noundef %25989, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 740, ptr noundef %25992, ptr noundef %25995, ptr noundef %25998, i32 noundef %26000) #11
  br label %26002

26002:                                            ; preds = %25985, %25968
  call void @llvm.lifetime.end.p0(i64 4, ptr %516) #11
  br label %26003

26003:                                            ; preds = %26002
  br label %26004

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

26005:                                            ; No predecessors!
  br label %26006

26006:                                            ; preds = %26005
  br label %26007

26007:                                            ; preds = %26006, %25947
  br label %26008

26008:                                            ; preds = %26007
  br label %26009

26009:                                            ; preds = %26008
  br label %26010

26010:                                            ; preds = %26009
  br label %26011

26011:                                            ; preds = %26010
  br label %26012

26012:                                            ; preds = %26011
  br label %26013

26013:                                            ; preds = %26012
  br label %26014

26014:                                            ; preds = %26013
  br label %26015

26015:                                            ; preds = %26014
  %26016 = load i32, ptr @test_count, align 4, !tbaa !5
  %26017 = add nsw i32 %26016, 1
  store i32 %26017, ptr @test_count, align 4, !tbaa !5
  %26018 = load ptr, ptr %466, align 8, !tbaa !9
  %26019 = call i32 @s2n_negotiate(ptr noundef %26018, ptr noundef %474)
  %26020 = icmp eq i32 %26019, -1
  br i1 %26020, label %26074, label %26021

26021:                                            ; preds = %26015
  br label %26022

26022:                                            ; preds = %26021
  br label %26023

26023:                                            ; preds = %26022
  call void @llvm.lifetime.start.p0(i64 4, ptr %517) #11
  %26024 = call ptr @__errno_location() #12
  %26025 = load i32, ptr %26024, align 4, !tbaa !5
  store i32 %26025, ptr %517, align 4, !tbaa !5
  %26026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26027 = call i32 @s2n_print_stacktrace(ptr noundef %26026)
  %26028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26029 = trunc i8 %26028 to i1
  br i1 %26029, label %26030, label %26052

26030:                                            ; preds = %26023
  %26031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26032 = call i32 @fileno(ptr noundef %26031) #11
  %26033 = call i32 @isatty(i32 noundef %26032) #11
  %26034 = icmp ne i32 %26033, 0
  br i1 %26034, label %26035, label %26052

26035:                                            ; preds = %26030
  %26036 = load i32, ptr %517, align 4, !tbaa !5
  %26037 = call ptr @__errno_location() #12
  store i32 %26036, ptr %26037, align 4, !tbaa !5
  %26038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26039 = load i32, ptr @test_count, align 4, !tbaa !5
  %26040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26041 = load i32, ptr %26040, align 4, !tbaa !5
  %26042 = call ptr @s2n_strerror(i32 noundef %26041, ptr noundef @.str.4)
  %26043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26044 = load i32, ptr %26043, align 4, !tbaa !5
  %26045 = call ptr @s2n_strerror_debug(i32 noundef %26044, ptr noundef @.str.4)
  %26046 = call ptr @__errno_location() #12
  %26047 = load i32, ptr %26046, align 4, !tbaa !5
  %26048 = call ptr @strerror(i32 noundef %26047) #11
  %26049 = call ptr @__errno_location() #12
  %26050 = load i32, ptr %26049, align 4, !tbaa !5
  %26051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26038, ptr noundef @.str.2, i32 noundef %26039, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 741, ptr noundef %26042, ptr noundef %26045, ptr noundef %26048, i32 noundef %26050) #11
  br label %26069

26052:                                            ; preds = %26030, %26023
  %26053 = load i32, ptr %517, align 4, !tbaa !5
  %26054 = call ptr @__errno_location() #12
  store i32 %26053, ptr %26054, align 4, !tbaa !5
  %26055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26056 = load i32, ptr @test_count, align 4, !tbaa !5
  %26057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26058 = load i32, ptr %26057, align 4, !tbaa !5
  %26059 = call ptr @s2n_strerror(i32 noundef %26058, ptr noundef @.str.4)
  %26060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26061 = load i32, ptr %26060, align 4, !tbaa !5
  %26062 = call ptr @s2n_strerror_debug(i32 noundef %26061, ptr noundef @.str.4)
  %26063 = call ptr @__errno_location() #12
  %26064 = load i32, ptr %26063, align 4, !tbaa !5
  %26065 = call ptr @strerror(i32 noundef %26064) #11
  %26066 = call ptr @__errno_location() #12
  %26067 = load i32, ptr %26066, align 4, !tbaa !5
  %26068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26055, ptr noundef @.str.5, i32 noundef %26056, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 741, ptr noundef %26059, ptr noundef %26062, ptr noundef %26065, i32 noundef %26067) #11
  br label %26069

26069:                                            ; preds = %26052, %26035
  call void @llvm.lifetime.end.p0(i64 4, ptr %517) #11
  br label %26070

26070:                                            ; preds = %26069
  br label %26071

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

26072:                                            ; No predecessors!
  br label %26073

26073:                                            ; preds = %26072
  br label %26074

26074:                                            ; preds = %26073, %26015
  br label %26075

26075:                                            ; preds = %26074
  br label %26076

26076:                                            ; preds = %26075
  br label %26077

26077:                                            ; preds = %26076
  %26078 = load i32, ptr @test_count, align 4, !tbaa !5
  %26079 = add nsw i32 %26078, 1
  store i32 %26079, ptr @test_count, align 4, !tbaa !5
  %26080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26081 = load i32, ptr %26080, align 4, !tbaa !5
  %26082 = icmp eq i32 %26081, 201326594
  br i1 %26082, label %26136, label %26083

26083:                                            ; preds = %26077
  br label %26084

26084:                                            ; preds = %26083
  br label %26085

26085:                                            ; preds = %26084
  call void @llvm.lifetime.start.p0(i64 4, ptr %518) #11
  %26086 = call ptr @__errno_location() #12
  %26087 = load i32, ptr %26086, align 4, !tbaa !5
  store i32 %26087, ptr %518, align 4, !tbaa !5
  %26088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26089 = call i32 @s2n_print_stacktrace(ptr noundef %26088)
  %26090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26091 = trunc i8 %26090 to i1
  br i1 %26091, label %26092, label %26114

26092:                                            ; preds = %26085
  %26093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26094 = call i32 @fileno(ptr noundef %26093) #11
  %26095 = call i32 @isatty(i32 noundef %26094) #11
  %26096 = icmp ne i32 %26095, 0
  br i1 %26096, label %26097, label %26114

26097:                                            ; preds = %26092
  %26098 = load i32, ptr %518, align 4, !tbaa !5
  %26099 = call ptr @__errno_location() #12
  store i32 %26098, ptr %26099, align 4, !tbaa !5
  %26100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26101 = load i32, ptr @test_count, align 4, !tbaa !5
  %26102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26103 = load i32, ptr %26102, align 4, !tbaa !5
  %26104 = call ptr @s2n_strerror(i32 noundef %26103, ptr noundef @.str.4)
  %26105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26106 = load i32, ptr %26105, align 4, !tbaa !5
  %26107 = call ptr @s2n_strerror_debug(i32 noundef %26106, ptr noundef @.str.4)
  %26108 = call ptr @__errno_location() #12
  %26109 = load i32, ptr %26108, align 4, !tbaa !5
  %26110 = call ptr @strerror(i32 noundef %26109) #11
  %26111 = call ptr @__errno_location() #12
  %26112 = load i32, ptr %26111, align 4, !tbaa !5
  %26113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26100, ptr noundef @.str.2, i32 noundef %26101, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 741, ptr noundef %26104, ptr noundef %26107, ptr noundef %26110, i32 noundef %26112) #11
  br label %26131

26114:                                            ; preds = %26092, %26085
  %26115 = load i32, ptr %518, align 4, !tbaa !5
  %26116 = call ptr @__errno_location() #12
  store i32 %26115, ptr %26116, align 4, !tbaa !5
  %26117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26118 = load i32, ptr @test_count, align 4, !tbaa !5
  %26119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26120 = load i32, ptr %26119, align 4, !tbaa !5
  %26121 = call ptr @s2n_strerror(i32 noundef %26120, ptr noundef @.str.4)
  %26122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26123 = load i32, ptr %26122, align 4, !tbaa !5
  %26124 = call ptr @s2n_strerror_debug(i32 noundef %26123, ptr noundef @.str.4)
  %26125 = call ptr @__errno_location() #12
  %26126 = load i32, ptr %26125, align 4, !tbaa !5
  %26127 = call ptr @strerror(i32 noundef %26126) #11
  %26128 = call ptr @__errno_location() #12
  %26129 = load i32, ptr %26128, align 4, !tbaa !5
  %26130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26117, ptr noundef @.str.5, i32 noundef %26118, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 741, ptr noundef %26121, ptr noundef %26124, ptr noundef %26127, i32 noundef %26129) #11
  br label %26131

26131:                                            ; preds = %26114, %26097
  call void @llvm.lifetime.end.p0(i64 4, ptr %518) #11
  br label %26132

26132:                                            ; preds = %26131
  br label %26133

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

26134:                                            ; No predecessors!
  br label %26135

26135:                                            ; preds = %26134
  br label %26136

26136:                                            ; preds = %26135, %26077
  br label %26137

26137:                                            ; preds = %26136
  br label %26138

26138:                                            ; preds = %26137
  br label %26139

26139:                                            ; preds = %26138
  %26140 = load i32, ptr @test_count, align 4, !tbaa !5
  %26141 = add nsw i32 %26140, 1
  store i32 %26141, ptr @test_count, align 4, !tbaa !5
  %26142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26143 = load i32, ptr %26142, align 4, !tbaa !5
  %26144 = call ptr @s2n_strerror_debug(i32 noundef %26143, ptr noundef @.str.4)
  %26145 = icmp eq ptr %26144, null
  br i1 %26145, label %26146, label %26199

26146:                                            ; preds = %26139
  br label %26147

26147:                                            ; preds = %26146
  br label %26148

26148:                                            ; preds = %26147
  call void @llvm.lifetime.start.p0(i64 4, ptr %519) #11
  %26149 = call ptr @__errno_location() #12
  %26150 = load i32, ptr %26149, align 4, !tbaa !5
  store i32 %26150, ptr %519, align 4, !tbaa !5
  %26151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26152 = call i32 @s2n_print_stacktrace(ptr noundef %26151)
  %26153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26154 = trunc i8 %26153 to i1
  br i1 %26154, label %26155, label %26177

26155:                                            ; preds = %26148
  %26156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26157 = call i32 @fileno(ptr noundef %26156) #11
  %26158 = call i32 @isatty(i32 noundef %26157) #11
  %26159 = icmp ne i32 %26158, 0
  br i1 %26159, label %26160, label %26177

26160:                                            ; preds = %26155
  %26161 = load i32, ptr %519, align 4, !tbaa !5
  %26162 = call ptr @__errno_location() #12
  store i32 %26161, ptr %26162, align 4, !tbaa !5
  %26163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26164 = load i32, ptr @test_count, align 4, !tbaa !5
  %26165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26166 = load i32, ptr %26165, align 4, !tbaa !5
  %26167 = call ptr @s2n_strerror(i32 noundef %26166, ptr noundef @.str.4)
  %26168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26169 = load i32, ptr %26168, align 4, !tbaa !5
  %26170 = call ptr @s2n_strerror_debug(i32 noundef %26169, ptr noundef @.str.4)
  %26171 = call ptr @__errno_location() #12
  %26172 = load i32, ptr %26171, align 4, !tbaa !5
  %26173 = call ptr @strerror(i32 noundef %26172) #11
  %26174 = call ptr @__errno_location() #12
  %26175 = load i32, ptr %26174, align 4, !tbaa !5
  %26176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26163, ptr noundef @.str.2, i32 noundef %26164, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 741, ptr noundef %26167, ptr noundef %26170, ptr noundef %26173, i32 noundef %26175) #11
  br label %26194

26177:                                            ; preds = %26155, %26148
  %26178 = load i32, ptr %519, align 4, !tbaa !5
  %26179 = call ptr @__errno_location() #12
  store i32 %26178, ptr %26179, align 4, !tbaa !5
  %26180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26181 = load i32, ptr @test_count, align 4, !tbaa !5
  %26182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26183 = load i32, ptr %26182, align 4, !tbaa !5
  %26184 = call ptr @s2n_strerror(i32 noundef %26183, ptr noundef @.str.4)
  %26185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26186 = load i32, ptr %26185, align 4, !tbaa !5
  %26187 = call ptr @s2n_strerror_debug(i32 noundef %26186, ptr noundef @.str.4)
  %26188 = call ptr @__errno_location() #12
  %26189 = load i32, ptr %26188, align 4, !tbaa !5
  %26190 = call ptr @strerror(i32 noundef %26189) #11
  %26191 = call ptr @__errno_location() #12
  %26192 = load i32, ptr %26191, align 4, !tbaa !5
  %26193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26180, ptr noundef @.str.5, i32 noundef %26181, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 741, ptr noundef %26184, ptr noundef %26187, ptr noundef %26190, i32 noundef %26192) #11
  br label %26194

26194:                                            ; preds = %26177, %26160
  call void @llvm.lifetime.end.p0(i64 4, ptr %519) #11
  br label %26195

26195:                                            ; preds = %26194
  br label %26196

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

26197:                                            ; No predecessors!
  br label %26198

26198:                                            ; preds = %26197
  br label %26199

26199:                                            ; preds = %26198, %26139
  br label %26200

26200:                                            ; preds = %26199
  br label %26201

26201:                                            ; preds = %26200
  br label %26202

26202:                                            ; preds = %26201
  br label %26203

26203:                                            ; preds = %26202
  br label %26204

26204:                                            ; preds = %26203
  %26205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %26205, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %26206 = call ptr @__errno_location() #12
  store i32 0, ptr %26206, align 4, !tbaa !5
  br label %26207

26207:                                            ; preds = %26204
  br label %26208

26208:                                            ; preds = %26207
  br label %26209

26209:                                            ; preds = %26208
  br label %26210

26210:                                            ; preds = %26209
  br label %26211

26211:                                            ; preds = %26210
  %26212 = load i32, ptr @test_count, align 4, !tbaa !5
  %26213 = add nsw i32 %26212, 1
  store i32 %26213, ptr @test_count, align 4, !tbaa !5
  %26214 = load ptr, ptr %466, align 8, !tbaa !9
  %26215 = getelementptr inbounds [1000 x i8], ptr %475, i64 0, i64 0
  %26216 = call i64 @s2n_recv(ptr noundef %26214, ptr noundef %26215, i64 noundef 10, ptr noundef %474)
  %26217 = icmp eq i64 %26216, 10
  br i1 %26217, label %26271, label %26218

26218:                                            ; preds = %26211
  br label %26219

26219:                                            ; preds = %26218
  br label %26220

26220:                                            ; preds = %26219
  call void @llvm.lifetime.start.p0(i64 4, ptr %520) #11
  %26221 = call ptr @__errno_location() #12
  %26222 = load i32, ptr %26221, align 4, !tbaa !5
  store i32 %26222, ptr %520, align 4, !tbaa !5
  %26223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26224 = call i32 @s2n_print_stacktrace(ptr noundef %26223)
  %26225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26226 = trunc i8 %26225 to i1
  br i1 %26226, label %26227, label %26249

26227:                                            ; preds = %26220
  %26228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26229 = call i32 @fileno(ptr noundef %26228) #11
  %26230 = call i32 @isatty(i32 noundef %26229) #11
  %26231 = icmp ne i32 %26230, 0
  br i1 %26231, label %26232, label %26249

26232:                                            ; preds = %26227
  %26233 = load i32, ptr %520, align 4, !tbaa !5
  %26234 = call ptr @__errno_location() #12
  store i32 %26233, ptr %26234, align 4, !tbaa !5
  %26235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26236 = load i32, ptr @test_count, align 4, !tbaa !5
  %26237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26238 = load i32, ptr %26237, align 4, !tbaa !5
  %26239 = call ptr @s2n_strerror(i32 noundef %26238, ptr noundef @.str.4)
  %26240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26241 = load i32, ptr %26240, align 4, !tbaa !5
  %26242 = call ptr @s2n_strerror_debug(i32 noundef %26241, ptr noundef @.str.4)
  %26243 = call ptr @__errno_location() #12
  %26244 = load i32, ptr %26243, align 4, !tbaa !5
  %26245 = call ptr @strerror(i32 noundef %26244) #11
  %26246 = call ptr @__errno_location() #12
  %26247 = load i32, ptr %26246, align 4, !tbaa !5
  %26248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26235, ptr noundef @.str.2, i32 noundef %26236, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 743, ptr noundef %26239, ptr noundef %26242, ptr noundef %26245, i32 noundef %26247) #11
  br label %26266

26249:                                            ; preds = %26227, %26220
  %26250 = load i32, ptr %520, align 4, !tbaa !5
  %26251 = call ptr @__errno_location() #12
  store i32 %26250, ptr %26251, align 4, !tbaa !5
  %26252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26253 = load i32, ptr @test_count, align 4, !tbaa !5
  %26254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26255 = load i32, ptr %26254, align 4, !tbaa !5
  %26256 = call ptr @s2n_strerror(i32 noundef %26255, ptr noundef @.str.4)
  %26257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26258 = load i32, ptr %26257, align 4, !tbaa !5
  %26259 = call ptr @s2n_strerror_debug(i32 noundef %26258, ptr noundef @.str.4)
  %26260 = call ptr @__errno_location() #12
  %26261 = load i32, ptr %26260, align 4, !tbaa !5
  %26262 = call ptr @strerror(i32 noundef %26261) #11
  %26263 = call ptr @__errno_location() #12
  %26264 = load i32, ptr %26263, align 4, !tbaa !5
  %26265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26252, ptr noundef @.str.5, i32 noundef %26253, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 743, ptr noundef %26256, ptr noundef %26259, ptr noundef %26262, i32 noundef %26264) #11
  br label %26266

26266:                                            ; preds = %26249, %26232
  call void @llvm.lifetime.end.p0(i64 4, ptr %520) #11
  br label %26267

26267:                                            ; preds = %26266
  br label %26268

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

26269:                                            ; No predecessors!
  br label %26270

26270:                                            ; preds = %26269
  br label %26271

26271:                                            ; preds = %26270, %26211
  br label %26272

26272:                                            ; preds = %26271
  br label %26273

26273:                                            ; preds = %26272
  br label %26274

26274:                                            ; preds = %26273
  br label %26275

26275:                                            ; preds = %26274
  %26276 = load i32, ptr @test_count, align 4, !tbaa !5
  %26277 = add nsw i32 %26276, 1
  store i32 %26277, ptr @test_count, align 4, !tbaa !5
  %26278 = getelementptr inbounds [1000 x i8], ptr %475, i64 0, i64 0
  %26279 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %26280 = getelementptr inbounds i8, ptr %26279, i64 2
  %26281 = call i32 @memcmp(ptr noundef %26278, ptr noundef %26280, i64 noundef 10) #14
  %26282 = icmp eq i32 %26281, 0
  br i1 %26282, label %26336, label %26283

26283:                                            ; preds = %26275
  br label %26284

26284:                                            ; preds = %26283
  br label %26285

26285:                                            ; preds = %26284
  call void @llvm.lifetime.start.p0(i64 4, ptr %521) #11
  %26286 = call ptr @__errno_location() #12
  %26287 = load i32, ptr %26286, align 4, !tbaa !5
  store i32 %26287, ptr %521, align 4, !tbaa !5
  %26288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26289 = call i32 @s2n_print_stacktrace(ptr noundef %26288)
  %26290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26291 = trunc i8 %26290 to i1
  br i1 %26291, label %26292, label %26314

26292:                                            ; preds = %26285
  %26293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26294 = call i32 @fileno(ptr noundef %26293) #11
  %26295 = call i32 @isatty(i32 noundef %26294) #11
  %26296 = icmp ne i32 %26295, 0
  br i1 %26296, label %26297, label %26314

26297:                                            ; preds = %26292
  %26298 = load i32, ptr %521, align 4, !tbaa !5
  %26299 = call ptr @__errno_location() #12
  store i32 %26298, ptr %26299, align 4, !tbaa !5
  %26300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26301 = load i32, ptr @test_count, align 4, !tbaa !5
  %26302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26303 = load i32, ptr %26302, align 4, !tbaa !5
  %26304 = call ptr @s2n_strerror(i32 noundef %26303, ptr noundef @.str.4)
  %26305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26306 = load i32, ptr %26305, align 4, !tbaa !5
  %26307 = call ptr @s2n_strerror_debug(i32 noundef %26306, ptr noundef @.str.4)
  %26308 = call ptr @__errno_location() #12
  %26309 = load i32, ptr %26308, align 4, !tbaa !5
  %26310 = call ptr @strerror(i32 noundef %26309) #11
  %26311 = call ptr @__errno_location() #12
  %26312 = load i32, ptr %26311, align 4, !tbaa !5
  %26313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26300, ptr noundef @.str.2, i32 noundef %26301, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 743, ptr noundef %26304, ptr noundef %26307, ptr noundef %26310, i32 noundef %26312) #11
  br label %26331

26314:                                            ; preds = %26292, %26285
  %26315 = load i32, ptr %521, align 4, !tbaa !5
  %26316 = call ptr @__errno_location() #12
  store i32 %26315, ptr %26316, align 4, !tbaa !5
  %26317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26318 = load i32, ptr @test_count, align 4, !tbaa !5
  %26319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26320 = load i32, ptr %26319, align 4, !tbaa !5
  %26321 = call ptr @s2n_strerror(i32 noundef %26320, ptr noundef @.str.4)
  %26322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26323 = load i32, ptr %26322, align 4, !tbaa !5
  %26324 = call ptr @s2n_strerror_debug(i32 noundef %26323, ptr noundef @.str.4)
  %26325 = call ptr @__errno_location() #12
  %26326 = load i32, ptr %26325, align 4, !tbaa !5
  %26327 = call ptr @strerror(i32 noundef %26326) #11
  %26328 = call ptr @__errno_location() #12
  %26329 = load i32, ptr %26328, align 4, !tbaa !5
  %26330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26317, ptr noundef @.str.5, i32 noundef %26318, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 743, ptr noundef %26321, ptr noundef %26324, ptr noundef %26327, i32 noundef %26329) #11
  br label %26331

26331:                                            ; preds = %26314, %26297
  call void @llvm.lifetime.end.p0(i64 4, ptr %521) #11
  br label %26332

26332:                                            ; preds = %26331
  br label %26333

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

26334:                                            ; No predecessors!
  br label %26335

26335:                                            ; preds = %26334
  br label %26336

26336:                                            ; preds = %26335, %26275
  br label %26337

26337:                                            ; preds = %26336
  br label %26338

26338:                                            ; preds = %26337
  br label %26339

26339:                                            ; preds = %26338
  br label %26340

26340:                                            ; preds = %26339
  br label %26341

26341:                                            ; preds = %26340
  %26342 = load i32, ptr @test_count, align 4, !tbaa !5
  %26343 = add nsw i32 %26342, 1
  store i32 %26343, ptr @test_count, align 4, !tbaa !5
  %26344 = load ptr, ptr %465, align 8, !tbaa !9
  %26345 = call i32 @s2n_connection_set_end_of_early_data(ptr noundef %26344)
  %26346 = icmp eq i32 %26345, -1
  br i1 %26346, label %26347, label %26400

26347:                                            ; preds = %26341
  br label %26348

26348:                                            ; preds = %26347
  br label %26349

26349:                                            ; preds = %26348
  call void @llvm.lifetime.start.p0(i64 4, ptr %522) #11
  %26350 = call ptr @__errno_location() #12
  %26351 = load i32, ptr %26350, align 4, !tbaa !5
  store i32 %26351, ptr %522, align 4, !tbaa !5
  %26352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26353 = call i32 @s2n_print_stacktrace(ptr noundef %26352)
  %26354 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26355 = trunc i8 %26354 to i1
  br i1 %26355, label %26356, label %26378

26356:                                            ; preds = %26349
  %26357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26358 = call i32 @fileno(ptr noundef %26357) #11
  %26359 = call i32 @isatty(i32 noundef %26358) #11
  %26360 = icmp ne i32 %26359, 0
  br i1 %26360, label %26361, label %26378

26361:                                            ; preds = %26356
  %26362 = load i32, ptr %522, align 4, !tbaa !5
  %26363 = call ptr @__errno_location() #12
  store i32 %26362, ptr %26363, align 4, !tbaa !5
  %26364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26365 = load i32, ptr @test_count, align 4, !tbaa !5
  %26366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26367 = load i32, ptr %26366, align 4, !tbaa !5
  %26368 = call ptr @s2n_strerror(i32 noundef %26367, ptr noundef @.str.4)
  %26369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26370 = load i32, ptr %26369, align 4, !tbaa !5
  %26371 = call ptr @s2n_strerror_debug(i32 noundef %26370, ptr noundef @.str.4)
  %26372 = call ptr @__errno_location() #12
  %26373 = load i32, ptr %26372, align 4, !tbaa !5
  %26374 = call ptr @strerror(i32 noundef %26373) #11
  %26375 = call ptr @__errno_location() #12
  %26376 = load i32, ptr %26375, align 4, !tbaa !5
  %26377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26364, ptr noundef @.str.2, i32 noundef %26365, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 746, ptr noundef %26368, ptr noundef %26371, ptr noundef %26374, i32 noundef %26376) #11
  br label %26395

26378:                                            ; preds = %26356, %26349
  %26379 = load i32, ptr %522, align 4, !tbaa !5
  %26380 = call ptr @__errno_location() #12
  store i32 %26379, ptr %26380, align 4, !tbaa !5
  %26381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26382 = load i32, ptr @test_count, align 4, !tbaa !5
  %26383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26384 = load i32, ptr %26383, align 4, !tbaa !5
  %26385 = call ptr @s2n_strerror(i32 noundef %26384, ptr noundef @.str.4)
  %26386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26387 = load i32, ptr %26386, align 4, !tbaa !5
  %26388 = call ptr @s2n_strerror_debug(i32 noundef %26387, ptr noundef @.str.4)
  %26389 = call ptr @__errno_location() #12
  %26390 = load i32, ptr %26389, align 4, !tbaa !5
  %26391 = call ptr @strerror(i32 noundef %26390) #11
  %26392 = call ptr @__errno_location() #12
  %26393 = load i32, ptr %26392, align 4, !tbaa !5
  %26394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26381, ptr noundef @.str.5, i32 noundef %26382, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 746, ptr noundef %26385, ptr noundef %26388, ptr noundef %26391, i32 noundef %26393) #11
  br label %26395

26395:                                            ; preds = %26378, %26361
  call void @llvm.lifetime.end.p0(i64 4, ptr %522) #11
  br label %26396

26396:                                            ; preds = %26395
  br label %26397

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

26398:                                            ; No predecessors!
  br label %26399

26399:                                            ; preds = %26398
  br label %26400

26400:                                            ; preds = %26399, %26341
  br label %26401

26401:                                            ; preds = %26400
  br label %26402

26402:                                            ; preds = %26401
  br label %26403

26403:                                            ; preds = %26402
  %26404 = load i32, ptr @test_count, align 4, !tbaa !5
  %26405 = add nsw i32 %26404, 1
  store i32 %26405, ptr @test_count, align 4, !tbaa !5
  %26406 = load ptr, ptr %466, align 8, !tbaa !9
  %26407 = load ptr, ptr %465, align 8, !tbaa !9
  %26408 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %26406, ptr noundef %26407, i32 noundef 13)
  %26409 = getelementptr inbounds %struct.s2n_result, ptr %523, i32 0, i32 0
  store i32 %26408, ptr %26409, align 4
  %26410 = getelementptr inbounds %struct.s2n_result, ptr %523, i32 0, i32 0
  %26411 = load i32, ptr %26410, align 4
  %26412 = call zeroext i1 @s2n_result_is_ok(i32 %26411)
  br i1 %26412, label %26466, label %26413

26413:                                            ; preds = %26403
  br label %26414

26414:                                            ; preds = %26413
  br label %26415

26415:                                            ; preds = %26414
  call void @llvm.lifetime.start.p0(i64 4, ptr %524) #11
  %26416 = call ptr @__errno_location() #12
  %26417 = load i32, ptr %26416, align 4, !tbaa !5
  store i32 %26417, ptr %524, align 4, !tbaa !5
  %26418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26419 = call i32 @s2n_print_stacktrace(ptr noundef %26418)
  %26420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26421 = trunc i8 %26420 to i1
  br i1 %26421, label %26422, label %26444

26422:                                            ; preds = %26415
  %26423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26424 = call i32 @fileno(ptr noundef %26423) #11
  %26425 = call i32 @isatty(i32 noundef %26424) #11
  %26426 = icmp ne i32 %26425, 0
  br i1 %26426, label %26427, label %26444

26427:                                            ; preds = %26422
  %26428 = load i32, ptr %524, align 4, !tbaa !5
  %26429 = call ptr @__errno_location() #12
  store i32 %26428, ptr %26429, align 4, !tbaa !5
  %26430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26431 = load i32, ptr @test_count, align 4, !tbaa !5
  %26432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26433 = load i32, ptr %26432, align 4, !tbaa !5
  %26434 = call ptr @s2n_strerror(i32 noundef %26433, ptr noundef @.str.4)
  %26435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26436 = load i32, ptr %26435, align 4, !tbaa !5
  %26437 = call ptr @s2n_strerror_debug(i32 noundef %26436, ptr noundef @.str.4)
  %26438 = call ptr @__errno_location() #12
  %26439 = load i32, ptr %26438, align 4, !tbaa !5
  %26440 = call ptr @strerror(i32 noundef %26439) #11
  %26441 = call ptr @__errno_location() #12
  %26442 = load i32, ptr %26441, align 4, !tbaa !5
  %26443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26430, ptr noundef @.str.2, i32 noundef %26431, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 747, ptr noundef %26434, ptr noundef %26437, ptr noundef %26440, i32 noundef %26442) #11
  br label %26461

26444:                                            ; preds = %26422, %26415
  %26445 = load i32, ptr %524, align 4, !tbaa !5
  %26446 = call ptr @__errno_location() #12
  store i32 %26445, ptr %26446, align 4, !tbaa !5
  %26447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26448 = load i32, ptr @test_count, align 4, !tbaa !5
  %26449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26450 = load i32, ptr %26449, align 4, !tbaa !5
  %26451 = call ptr @s2n_strerror(i32 noundef %26450, ptr noundef @.str.4)
  %26452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26453 = load i32, ptr %26452, align 4, !tbaa !5
  %26454 = call ptr @s2n_strerror_debug(i32 noundef %26453, ptr noundef @.str.4)
  %26455 = call ptr @__errno_location() #12
  %26456 = load i32, ptr %26455, align 4, !tbaa !5
  %26457 = call ptr @strerror(i32 noundef %26456) #11
  %26458 = call ptr @__errno_location() #12
  %26459 = load i32, ptr %26458, align 4, !tbaa !5
  %26460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26447, ptr noundef @.str.5, i32 noundef %26448, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 747, ptr noundef %26451, ptr noundef %26454, ptr noundef %26457, i32 noundef %26459) #11
  br label %26461

26461:                                            ; preds = %26444, %26427
  call void @llvm.lifetime.end.p0(i64 4, ptr %524) #11
  br label %26462

26462:                                            ; preds = %26461
  br label %26463

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

26464:                                            ; No predecessors!
  br label %26465

26465:                                            ; preds = %26464
  br label %26466

26466:                                            ; preds = %26465, %26403
  br label %26467

26467:                                            ; preds = %26466
  br label %26468

26468:                                            ; preds = %26467
  br label %26469

26469:                                            ; preds = %26468
  br label %26470

26470:                                            ; preds = %26469
  br label %26471

26471:                                            ; preds = %26470
  %26472 = load i32, ptr @test_count, align 4, !tbaa !5
  %26473 = add nsw i32 %26472, 1
  store i32 %26473, ptr @test_count, align 4, !tbaa !5
  %26474 = load ptr, ptr %466, align 8, !tbaa !9
  %26475 = getelementptr inbounds [1000 x i8], ptr %475, i64 0, i64 0
  %26476 = call i64 @s2n_recv(ptr noundef %26474, ptr noundef %26475, i64 noundef 0, ptr noundef %474)
  %26477 = icmp eq i64 %26476, -1
  br i1 %26477, label %26531, label %26478

26478:                                            ; preds = %26471
  br label %26479

26479:                                            ; preds = %26478
  br label %26480

26480:                                            ; preds = %26479
  call void @llvm.lifetime.start.p0(i64 4, ptr %525) #11
  %26481 = call ptr @__errno_location() #12
  %26482 = load i32, ptr %26481, align 4, !tbaa !5
  store i32 %26482, ptr %525, align 4, !tbaa !5
  %26483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26484 = call i32 @s2n_print_stacktrace(ptr noundef %26483)
  %26485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26486 = trunc i8 %26485 to i1
  br i1 %26486, label %26487, label %26509

26487:                                            ; preds = %26480
  %26488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26489 = call i32 @fileno(ptr noundef %26488) #11
  %26490 = call i32 @isatty(i32 noundef %26489) #11
  %26491 = icmp ne i32 %26490, 0
  br i1 %26491, label %26492, label %26509

26492:                                            ; preds = %26487
  %26493 = load i32, ptr %525, align 4, !tbaa !5
  %26494 = call ptr @__errno_location() #12
  store i32 %26493, ptr %26494, align 4, !tbaa !5
  %26495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26496 = load i32, ptr @test_count, align 4, !tbaa !5
  %26497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26498 = load i32, ptr %26497, align 4, !tbaa !5
  %26499 = call ptr @s2n_strerror(i32 noundef %26498, ptr noundef @.str.4)
  %26500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26501 = load i32, ptr %26500, align 4, !tbaa !5
  %26502 = call ptr @s2n_strerror_debug(i32 noundef %26501, ptr noundef @.str.4)
  %26503 = call ptr @__errno_location() #12
  %26504 = load i32, ptr %26503, align 4, !tbaa !5
  %26505 = call ptr @strerror(i32 noundef %26504) #11
  %26506 = call ptr @__errno_location() #12
  %26507 = load i32, ptr %26506, align 4, !tbaa !5
  %26508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26495, ptr noundef @.str.2, i32 noundef %26496, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 748, ptr noundef %26499, ptr noundef %26502, ptr noundef %26505, i32 noundef %26507) #11
  br label %26526

26509:                                            ; preds = %26487, %26480
  %26510 = load i32, ptr %525, align 4, !tbaa !5
  %26511 = call ptr @__errno_location() #12
  store i32 %26510, ptr %26511, align 4, !tbaa !5
  %26512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26513 = load i32, ptr @test_count, align 4, !tbaa !5
  %26514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26515 = load i32, ptr %26514, align 4, !tbaa !5
  %26516 = call ptr @s2n_strerror(i32 noundef %26515, ptr noundef @.str.4)
  %26517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26518 = load i32, ptr %26517, align 4, !tbaa !5
  %26519 = call ptr @s2n_strerror_debug(i32 noundef %26518, ptr noundef @.str.4)
  %26520 = call ptr @__errno_location() #12
  %26521 = load i32, ptr %26520, align 4, !tbaa !5
  %26522 = call ptr @strerror(i32 noundef %26521) #11
  %26523 = call ptr @__errno_location() #12
  %26524 = load i32, ptr %26523, align 4, !tbaa !5
  %26525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26512, ptr noundef @.str.5, i32 noundef %26513, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 748, ptr noundef %26516, ptr noundef %26519, ptr noundef %26522, i32 noundef %26524) #11
  br label %26526

26526:                                            ; preds = %26509, %26492
  call void @llvm.lifetime.end.p0(i64 4, ptr %525) #11
  br label %26527

26527:                                            ; preds = %26526
  br label %26528

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

26529:                                            ; No predecessors!
  br label %26530

26530:                                            ; preds = %26529
  br label %26531

26531:                                            ; preds = %26530, %26471
  br label %26532

26532:                                            ; preds = %26531
  br label %26533

26533:                                            ; preds = %26532
  br label %26534

26534:                                            ; preds = %26533
  %26535 = load i32, ptr @test_count, align 4, !tbaa !5
  %26536 = add nsw i32 %26535, 1
  store i32 %26536, ptr @test_count, align 4, !tbaa !5
  %26537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26538 = load i32, ptr %26537, align 4, !tbaa !5
  %26539 = icmp eq i32 %26538, 469762113
  br i1 %26539, label %26593, label %26540

26540:                                            ; preds = %26534
  br label %26541

26541:                                            ; preds = %26540
  br label %26542

26542:                                            ; preds = %26541
  call void @llvm.lifetime.start.p0(i64 4, ptr %526) #11
  %26543 = call ptr @__errno_location() #12
  %26544 = load i32, ptr %26543, align 4, !tbaa !5
  store i32 %26544, ptr %526, align 4, !tbaa !5
  %26545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26546 = call i32 @s2n_print_stacktrace(ptr noundef %26545)
  %26547 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26548 = trunc i8 %26547 to i1
  br i1 %26548, label %26549, label %26571

26549:                                            ; preds = %26542
  %26550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26551 = call i32 @fileno(ptr noundef %26550) #11
  %26552 = call i32 @isatty(i32 noundef %26551) #11
  %26553 = icmp ne i32 %26552, 0
  br i1 %26553, label %26554, label %26571

26554:                                            ; preds = %26549
  %26555 = load i32, ptr %526, align 4, !tbaa !5
  %26556 = call ptr @__errno_location() #12
  store i32 %26555, ptr %26556, align 4, !tbaa !5
  %26557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26558 = load i32, ptr @test_count, align 4, !tbaa !5
  %26559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26560 = load i32, ptr %26559, align 4, !tbaa !5
  %26561 = call ptr @s2n_strerror(i32 noundef %26560, ptr noundef @.str.4)
  %26562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26563 = load i32, ptr %26562, align 4, !tbaa !5
  %26564 = call ptr @s2n_strerror_debug(i32 noundef %26563, ptr noundef @.str.4)
  %26565 = call ptr @__errno_location() #12
  %26566 = load i32, ptr %26565, align 4, !tbaa !5
  %26567 = call ptr @strerror(i32 noundef %26566) #11
  %26568 = call ptr @__errno_location() #12
  %26569 = load i32, ptr %26568, align 4, !tbaa !5
  %26570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26557, ptr noundef @.str.2, i32 noundef %26558, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 748, ptr noundef %26561, ptr noundef %26564, ptr noundef %26567, i32 noundef %26569) #11
  br label %26588

26571:                                            ; preds = %26549, %26542
  %26572 = load i32, ptr %526, align 4, !tbaa !5
  %26573 = call ptr @__errno_location() #12
  store i32 %26572, ptr %26573, align 4, !tbaa !5
  %26574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26575 = load i32, ptr @test_count, align 4, !tbaa !5
  %26576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26577 = load i32, ptr %26576, align 4, !tbaa !5
  %26578 = call ptr @s2n_strerror(i32 noundef %26577, ptr noundef @.str.4)
  %26579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26580 = load i32, ptr %26579, align 4, !tbaa !5
  %26581 = call ptr @s2n_strerror_debug(i32 noundef %26580, ptr noundef @.str.4)
  %26582 = call ptr @__errno_location() #12
  %26583 = load i32, ptr %26582, align 4, !tbaa !5
  %26584 = call ptr @strerror(i32 noundef %26583) #11
  %26585 = call ptr @__errno_location() #12
  %26586 = load i32, ptr %26585, align 4, !tbaa !5
  %26587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26574, ptr noundef @.str.5, i32 noundef %26575, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 748, ptr noundef %26578, ptr noundef %26581, ptr noundef %26584, i32 noundef %26586) #11
  br label %26588

26588:                                            ; preds = %26571, %26554
  call void @llvm.lifetime.end.p0(i64 4, ptr %526) #11
  br label %26589

26589:                                            ; preds = %26588
  br label %26590

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

26591:                                            ; No predecessors!
  br label %26592

26592:                                            ; preds = %26591
  br label %26593

26593:                                            ; preds = %26592, %26534
  br label %26594

26594:                                            ; preds = %26593
  br label %26595

26595:                                            ; preds = %26594
  br label %26596

26596:                                            ; preds = %26595
  %26597 = load i32, ptr @test_count, align 4, !tbaa !5
  %26598 = add nsw i32 %26597, 1
  store i32 %26598, ptr @test_count, align 4, !tbaa !5
  %26599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26600 = load i32, ptr %26599, align 4, !tbaa !5
  %26601 = call ptr @s2n_strerror_debug(i32 noundef %26600, ptr noundef @.str.4)
  %26602 = icmp eq ptr %26601, null
  br i1 %26602, label %26603, label %26656

26603:                                            ; preds = %26596
  br label %26604

26604:                                            ; preds = %26603
  br label %26605

26605:                                            ; preds = %26604
  call void @llvm.lifetime.start.p0(i64 4, ptr %527) #11
  %26606 = call ptr @__errno_location() #12
  %26607 = load i32, ptr %26606, align 4, !tbaa !5
  store i32 %26607, ptr %527, align 4, !tbaa !5
  %26608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26609 = call i32 @s2n_print_stacktrace(ptr noundef %26608)
  %26610 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26611 = trunc i8 %26610 to i1
  br i1 %26611, label %26612, label %26634

26612:                                            ; preds = %26605
  %26613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26614 = call i32 @fileno(ptr noundef %26613) #11
  %26615 = call i32 @isatty(i32 noundef %26614) #11
  %26616 = icmp ne i32 %26615, 0
  br i1 %26616, label %26617, label %26634

26617:                                            ; preds = %26612
  %26618 = load i32, ptr %527, align 4, !tbaa !5
  %26619 = call ptr @__errno_location() #12
  store i32 %26618, ptr %26619, align 4, !tbaa !5
  %26620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26621 = load i32, ptr @test_count, align 4, !tbaa !5
  %26622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26623 = load i32, ptr %26622, align 4, !tbaa !5
  %26624 = call ptr @s2n_strerror(i32 noundef %26623, ptr noundef @.str.4)
  %26625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26626 = load i32, ptr %26625, align 4, !tbaa !5
  %26627 = call ptr @s2n_strerror_debug(i32 noundef %26626, ptr noundef @.str.4)
  %26628 = call ptr @__errno_location() #12
  %26629 = load i32, ptr %26628, align 4, !tbaa !5
  %26630 = call ptr @strerror(i32 noundef %26629) #11
  %26631 = call ptr @__errno_location() #12
  %26632 = load i32, ptr %26631, align 4, !tbaa !5
  %26633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26620, ptr noundef @.str.2, i32 noundef %26621, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 748, ptr noundef %26624, ptr noundef %26627, ptr noundef %26630, i32 noundef %26632) #11
  br label %26651

26634:                                            ; preds = %26612, %26605
  %26635 = load i32, ptr %527, align 4, !tbaa !5
  %26636 = call ptr @__errno_location() #12
  store i32 %26635, ptr %26636, align 4, !tbaa !5
  %26637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26638 = load i32, ptr @test_count, align 4, !tbaa !5
  %26639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26640 = load i32, ptr %26639, align 4, !tbaa !5
  %26641 = call ptr @s2n_strerror(i32 noundef %26640, ptr noundef @.str.4)
  %26642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26643 = load i32, ptr %26642, align 4, !tbaa !5
  %26644 = call ptr @s2n_strerror_debug(i32 noundef %26643, ptr noundef @.str.4)
  %26645 = call ptr @__errno_location() #12
  %26646 = load i32, ptr %26645, align 4, !tbaa !5
  %26647 = call ptr @strerror(i32 noundef %26646) #11
  %26648 = call ptr @__errno_location() #12
  %26649 = load i32, ptr %26648, align 4, !tbaa !5
  %26650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26637, ptr noundef @.str.5, i32 noundef %26638, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 748, ptr noundef %26641, ptr noundef %26644, ptr noundef %26647, i32 noundef %26649) #11
  br label %26651

26651:                                            ; preds = %26634, %26617
  call void @llvm.lifetime.end.p0(i64 4, ptr %527) #11
  br label %26652

26652:                                            ; preds = %26651
  br label %26653

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

26654:                                            ; No predecessors!
  br label %26655

26655:                                            ; preds = %26654
  br label %26656

26656:                                            ; preds = %26655, %26596
  br label %26657

26657:                                            ; preds = %26656
  br label %26658

26658:                                            ; preds = %26657
  br label %26659

26659:                                            ; preds = %26658
  br label %26660

26660:                                            ; preds = %26659
  br label %26661

26661:                                            ; preds = %26660
  %26662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %26662, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %26663 = call ptr @__errno_location() #12
  store i32 0, ptr %26663, align 4, !tbaa !5
  br label %26664

26664:                                            ; preds = %26661
  br label %26665

26665:                                            ; preds = %26664
  br label %26666

26666:                                            ; preds = %26665
  br label %26667

26667:                                            ; preds = %26666
  br label %26668

26668:                                            ; preds = %26667
  %26669 = load i32, ptr @test_count, align 4, !tbaa !5
  %26670 = add nsw i32 %26669, 1
  store i32 %26670, ptr @test_count, align 4, !tbaa !5
  %26671 = load ptr, ptr %466, align 8, !tbaa !9
  %26672 = load ptr, ptr %465, align 8, !tbaa !9
  %26673 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %26671, ptr noundef %26672)
  %26674 = icmp eq i32 %26673, -1
  br i1 %26674, label %26675, label %26728

26675:                                            ; preds = %26668
  br label %26676

26676:                                            ; preds = %26675
  br label %26677

26677:                                            ; preds = %26676
  call void @llvm.lifetime.start.p0(i64 4, ptr %528) #11
  %26678 = call ptr @__errno_location() #12
  %26679 = load i32, ptr %26678, align 4, !tbaa !5
  store i32 %26679, ptr %528, align 4, !tbaa !5
  %26680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26681 = call i32 @s2n_print_stacktrace(ptr noundef %26680)
  %26682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26683 = trunc i8 %26682 to i1
  br i1 %26683, label %26684, label %26706

26684:                                            ; preds = %26677
  %26685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26686 = call i32 @fileno(ptr noundef %26685) #11
  %26687 = call i32 @isatty(i32 noundef %26686) #11
  %26688 = icmp ne i32 %26687, 0
  br i1 %26688, label %26689, label %26706

26689:                                            ; preds = %26684
  %26690 = load i32, ptr %528, align 4, !tbaa !5
  %26691 = call ptr @__errno_location() #12
  store i32 %26690, ptr %26691, align 4, !tbaa !5
  %26692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26693 = load i32, ptr @test_count, align 4, !tbaa !5
  %26694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26695 = load i32, ptr %26694, align 4, !tbaa !5
  %26696 = call ptr @s2n_strerror(i32 noundef %26695, ptr noundef @.str.4)
  %26697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26698 = load i32, ptr %26697, align 4, !tbaa !5
  %26699 = call ptr @s2n_strerror_debug(i32 noundef %26698, ptr noundef @.str.4)
  %26700 = call ptr @__errno_location() #12
  %26701 = load i32, ptr %26700, align 4, !tbaa !5
  %26702 = call ptr @strerror(i32 noundef %26701) #11
  %26703 = call ptr @__errno_location() #12
  %26704 = load i32, ptr %26703, align 4, !tbaa !5
  %26705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26692, ptr noundef @.str.2, i32 noundef %26693, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 751, ptr noundef %26696, ptr noundef %26699, ptr noundef %26702, i32 noundef %26704) #11
  br label %26723

26706:                                            ; preds = %26684, %26677
  %26707 = load i32, ptr %528, align 4, !tbaa !5
  %26708 = call ptr @__errno_location() #12
  store i32 %26707, ptr %26708, align 4, !tbaa !5
  %26709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26710 = load i32, ptr @test_count, align 4, !tbaa !5
  %26711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26712 = load i32, ptr %26711, align 4, !tbaa !5
  %26713 = call ptr @s2n_strerror(i32 noundef %26712, ptr noundef @.str.4)
  %26714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26715 = load i32, ptr %26714, align 4, !tbaa !5
  %26716 = call ptr @s2n_strerror_debug(i32 noundef %26715, ptr noundef @.str.4)
  %26717 = call ptr @__errno_location() #12
  %26718 = load i32, ptr %26717, align 4, !tbaa !5
  %26719 = call ptr @strerror(i32 noundef %26718) #11
  %26720 = call ptr @__errno_location() #12
  %26721 = load i32, ptr %26720, align 4, !tbaa !5
  %26722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26709, ptr noundef @.str.5, i32 noundef %26710, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 751, ptr noundef %26713, ptr noundef %26716, ptr noundef %26719, i32 noundef %26721) #11
  br label %26723

26723:                                            ; preds = %26706, %26689
  call void @llvm.lifetime.end.p0(i64 4, ptr %528) #11
  br label %26724

26724:                                            ; preds = %26723
  br label %26725

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

26726:                                            ; No predecessors!
  br label %26727

26727:                                            ; preds = %26726
  br label %26728

26728:                                            ; preds = %26727, %26668
  br label %26729

26729:                                            ; preds = %26728
  br label %26730

26730:                                            ; preds = %26729
  br label %26731

26731:                                            ; preds = %26730
  %26732 = load i32, ptr @test_count, align 4, !tbaa !5
  %26733 = add nsw i32 %26732, 1
  store i32 %26733, ptr @test_count, align 4, !tbaa !5
  %26734 = load ptr, ptr %465, align 8, !tbaa !9
  %26735 = call i32 @s2n_connection_free(ptr noundef %26734)
  %26736 = icmp eq i32 %26735, -1
  br i1 %26736, label %26737, label %26790

26737:                                            ; preds = %26731
  br label %26738

26738:                                            ; preds = %26737
  br label %26739

26739:                                            ; preds = %26738
  call void @llvm.lifetime.start.p0(i64 4, ptr %529) #11
  %26740 = call ptr @__errno_location() #12
  %26741 = load i32, ptr %26740, align 4, !tbaa !5
  store i32 %26741, ptr %529, align 4, !tbaa !5
  %26742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26743 = call i32 @s2n_print_stacktrace(ptr noundef %26742)
  %26744 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26745 = trunc i8 %26744 to i1
  br i1 %26745, label %26746, label %26768

26746:                                            ; preds = %26739
  %26747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26748 = call i32 @fileno(ptr noundef %26747) #11
  %26749 = call i32 @isatty(i32 noundef %26748) #11
  %26750 = icmp ne i32 %26749, 0
  br i1 %26750, label %26751, label %26768

26751:                                            ; preds = %26746
  %26752 = load i32, ptr %529, align 4, !tbaa !5
  %26753 = call ptr @__errno_location() #12
  store i32 %26752, ptr %26753, align 4, !tbaa !5
  %26754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26755 = load i32, ptr @test_count, align 4, !tbaa !5
  %26756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26757 = load i32, ptr %26756, align 4, !tbaa !5
  %26758 = call ptr @s2n_strerror(i32 noundef %26757, ptr noundef @.str.4)
  %26759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26760 = load i32, ptr %26759, align 4, !tbaa !5
  %26761 = call ptr @s2n_strerror_debug(i32 noundef %26760, ptr noundef @.str.4)
  %26762 = call ptr @__errno_location() #12
  %26763 = load i32, ptr %26762, align 4, !tbaa !5
  %26764 = call ptr @strerror(i32 noundef %26763) #11
  %26765 = call ptr @__errno_location() #12
  %26766 = load i32, ptr %26765, align 4, !tbaa !5
  %26767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26754, ptr noundef @.str.2, i32 noundef %26755, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 753, ptr noundef %26758, ptr noundef %26761, ptr noundef %26764, i32 noundef %26766) #11
  br label %26785

26768:                                            ; preds = %26746, %26739
  %26769 = load i32, ptr %529, align 4, !tbaa !5
  %26770 = call ptr @__errno_location() #12
  store i32 %26769, ptr %26770, align 4, !tbaa !5
  %26771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26772 = load i32, ptr @test_count, align 4, !tbaa !5
  %26773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26774 = load i32, ptr %26773, align 4, !tbaa !5
  %26775 = call ptr @s2n_strerror(i32 noundef %26774, ptr noundef @.str.4)
  %26776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26777 = load i32, ptr %26776, align 4, !tbaa !5
  %26778 = call ptr @s2n_strerror_debug(i32 noundef %26777, ptr noundef @.str.4)
  %26779 = call ptr @__errno_location() #12
  %26780 = load i32, ptr %26779, align 4, !tbaa !5
  %26781 = call ptr @strerror(i32 noundef %26780) #11
  %26782 = call ptr @__errno_location() #12
  %26783 = load i32, ptr %26782, align 4, !tbaa !5
  %26784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26771, ptr noundef @.str.5, i32 noundef %26772, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 753, ptr noundef %26775, ptr noundef %26778, ptr noundef %26781, i32 noundef %26783) #11
  br label %26785

26785:                                            ; preds = %26768, %26751
  call void @llvm.lifetime.end.p0(i64 4, ptr %529) #11
  br label %26786

26786:                                            ; preds = %26785
  br label %26787

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

26788:                                            ; No predecessors!
  br label %26789

26789:                                            ; preds = %26788
  br label %26790

26790:                                            ; preds = %26789, %26731
  br label %26791

26791:                                            ; preds = %26790
  br label %26792

26792:                                            ; preds = %26791
  br label %26793

26793:                                            ; preds = %26792
  %26794 = load i32, ptr @test_count, align 4, !tbaa !5
  %26795 = add nsw i32 %26794, 1
  store i32 %26795, ptr @test_count, align 4, !tbaa !5
  %26796 = load ptr, ptr %466, align 8, !tbaa !9
  %26797 = call i32 @s2n_connection_free(ptr noundef %26796)
  %26798 = icmp eq i32 %26797, -1
  br i1 %26798, label %26799, label %26852

26799:                                            ; preds = %26793
  br label %26800

26800:                                            ; preds = %26799
  br label %26801

26801:                                            ; preds = %26800
  call void @llvm.lifetime.start.p0(i64 4, ptr %530) #11
  %26802 = call ptr @__errno_location() #12
  %26803 = load i32, ptr %26802, align 4, !tbaa !5
  store i32 %26803, ptr %530, align 4, !tbaa !5
  %26804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26805 = call i32 @s2n_print_stacktrace(ptr noundef %26804)
  %26806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26807 = trunc i8 %26806 to i1
  br i1 %26807, label %26808, label %26830

26808:                                            ; preds = %26801
  %26809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26810 = call i32 @fileno(ptr noundef %26809) #11
  %26811 = call i32 @isatty(i32 noundef %26810) #11
  %26812 = icmp ne i32 %26811, 0
  br i1 %26812, label %26813, label %26830

26813:                                            ; preds = %26808
  %26814 = load i32, ptr %530, align 4, !tbaa !5
  %26815 = call ptr @__errno_location() #12
  store i32 %26814, ptr %26815, align 4, !tbaa !5
  %26816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26817 = load i32, ptr @test_count, align 4, !tbaa !5
  %26818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26819 = load i32, ptr %26818, align 4, !tbaa !5
  %26820 = call ptr @s2n_strerror(i32 noundef %26819, ptr noundef @.str.4)
  %26821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26822 = load i32, ptr %26821, align 4, !tbaa !5
  %26823 = call ptr @s2n_strerror_debug(i32 noundef %26822, ptr noundef @.str.4)
  %26824 = call ptr @__errno_location() #12
  %26825 = load i32, ptr %26824, align 4, !tbaa !5
  %26826 = call ptr @strerror(i32 noundef %26825) #11
  %26827 = call ptr @__errno_location() #12
  %26828 = load i32, ptr %26827, align 4, !tbaa !5
  %26829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26816, ptr noundef @.str.2, i32 noundef %26817, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 754, ptr noundef %26820, ptr noundef %26823, ptr noundef %26826, i32 noundef %26828) #11
  br label %26847

26830:                                            ; preds = %26808, %26801
  %26831 = load i32, ptr %530, align 4, !tbaa !5
  %26832 = call ptr @__errno_location() #12
  store i32 %26831, ptr %26832, align 4, !tbaa !5
  %26833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26834 = load i32, ptr @test_count, align 4, !tbaa !5
  %26835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26836 = load i32, ptr %26835, align 4, !tbaa !5
  %26837 = call ptr @s2n_strerror(i32 noundef %26836, ptr noundef @.str.4)
  %26838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26839 = load i32, ptr %26838, align 4, !tbaa !5
  %26840 = call ptr @s2n_strerror_debug(i32 noundef %26839, ptr noundef @.str.4)
  %26841 = call ptr @__errno_location() #12
  %26842 = load i32, ptr %26841, align 4, !tbaa !5
  %26843 = call ptr @strerror(i32 noundef %26842) #11
  %26844 = call ptr @__errno_location() #12
  %26845 = load i32, ptr %26844, align 4, !tbaa !5
  %26846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26833, ptr noundef @.str.5, i32 noundef %26834, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 754, ptr noundef %26837, ptr noundef %26840, ptr noundef %26843, i32 noundef %26845) #11
  br label %26847

26847:                                            ; preds = %26830, %26813
  call void @llvm.lifetime.end.p0(i64 4, ptr %530) #11
  br label %26848

26848:                                            ; preds = %26847
  br label %26849

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

26850:                                            ; No predecessors!
  br label %26851

26851:                                            ; preds = %26850
  br label %26852

26852:                                            ; preds = %26851, %26793
  br label %26853

26853:                                            ; preds = %26852
  br label %26854

26854:                                            ; preds = %26853
  call void @llvm.lifetime.end.p0(i64 1000, ptr %475) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %474) #11
  %26855 = call i32 @s2n_io_pair_close(ptr noundef %467)
  call void @llvm.lifetime.end.p0(i64 8, ptr %467) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %466) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %465) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %531) #11
  store ptr null, ptr %531, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %532) #11
  store ptr null, ptr %532, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %533) #11
  call void @llvm.memset.p0.i64(ptr align 4 %533, i8 0, i64 8, i1 false)
  br label %26856

26856:                                            ; preds = %26854
  %26857 = load i32, ptr @test_count, align 4, !tbaa !5
  %26858 = add nsw i32 %26857, 1
  store i32 %26858, ptr @test_count, align 4, !tbaa !5
  %26859 = call i32 @s2n_test_client_and_server_new(ptr noundef %531, ptr noundef %532, ptr noundef %533)
  %26860 = getelementptr inbounds %struct.s2n_result, ptr %534, i32 0, i32 0
  store i32 %26859, ptr %26860, align 4
  %26861 = getelementptr inbounds %struct.s2n_result, ptr %534, i32 0, i32 0
  %26862 = load i32, ptr %26861, align 4
  %26863 = call zeroext i1 @s2n_result_is_ok(i32 %26862)
  br i1 %26863, label %26917, label %26864

26864:                                            ; preds = %26856
  br label %26865

26865:                                            ; preds = %26864
  br label %26866

26866:                                            ; preds = %26865
  call void @llvm.lifetime.start.p0(i64 4, ptr %535) #11
  %26867 = call ptr @__errno_location() #12
  %26868 = load i32, ptr %26867, align 4, !tbaa !5
  store i32 %26868, ptr %535, align 4, !tbaa !5
  %26869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26870 = call i32 @s2n_print_stacktrace(ptr noundef %26869)
  %26871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26872 = trunc i8 %26871 to i1
  br i1 %26872, label %26873, label %26895

26873:                                            ; preds = %26866
  %26874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26875 = call i32 @fileno(ptr noundef %26874) #11
  %26876 = call i32 @isatty(i32 noundef %26875) #11
  %26877 = icmp ne i32 %26876, 0
  br i1 %26877, label %26878, label %26895

26878:                                            ; preds = %26873
  %26879 = load i32, ptr %535, align 4, !tbaa !5
  %26880 = call ptr @__errno_location() #12
  store i32 %26879, ptr %26880, align 4, !tbaa !5
  %26881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26882 = load i32, ptr @test_count, align 4, !tbaa !5
  %26883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26884 = load i32, ptr %26883, align 4, !tbaa !5
  %26885 = call ptr @s2n_strerror(i32 noundef %26884, ptr noundef @.str.4)
  %26886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26887 = load i32, ptr %26886, align 4, !tbaa !5
  %26888 = call ptr @s2n_strerror_debug(i32 noundef %26887, ptr noundef @.str.4)
  %26889 = call ptr @__errno_location() #12
  %26890 = load i32, ptr %26889, align 4, !tbaa !5
  %26891 = call ptr @strerror(i32 noundef %26890) #11
  %26892 = call ptr @__errno_location() #12
  %26893 = load i32, ptr %26892, align 4, !tbaa !5
  %26894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26881, ptr noundef @.str.2, i32 noundef %26882, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 761, ptr noundef %26885, ptr noundef %26888, ptr noundef %26891, i32 noundef %26893) #11
  br label %26912

26895:                                            ; preds = %26873, %26866
  %26896 = load i32, ptr %535, align 4, !tbaa !5
  %26897 = call ptr @__errno_location() #12
  store i32 %26896, ptr %26897, align 4, !tbaa !5
  %26898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26899 = load i32, ptr @test_count, align 4, !tbaa !5
  %26900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26901 = load i32, ptr %26900, align 4, !tbaa !5
  %26902 = call ptr @s2n_strerror(i32 noundef %26901, ptr noundef @.str.4)
  %26903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26904 = load i32, ptr %26903, align 4, !tbaa !5
  %26905 = call ptr @s2n_strerror_debug(i32 noundef %26904, ptr noundef @.str.4)
  %26906 = call ptr @__errno_location() #12
  %26907 = load i32, ptr %26906, align 4, !tbaa !5
  %26908 = call ptr @strerror(i32 noundef %26907) #11
  %26909 = call ptr @__errno_location() #12
  %26910 = load i32, ptr %26909, align 4, !tbaa !5
  %26911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26898, ptr noundef @.str.5, i32 noundef %26899, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 761, ptr noundef %26902, ptr noundef %26905, ptr noundef %26908, i32 noundef %26910) #11
  br label %26912

26912:                                            ; preds = %26895, %26878
  call void @llvm.lifetime.end.p0(i64 4, ptr %535) #11
  br label %26913

26913:                                            ; preds = %26912
  br label %26914

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

26915:                                            ; No predecessors!
  br label %26916

26916:                                            ; preds = %26915
  br label %26917

26917:                                            ; preds = %26916, %26856
  br label %26918

26918:                                            ; preds = %26917
  br label %26919

26919:                                            ; preds = %26918
  br label %26920

26920:                                            ; preds = %26919
  %26921 = load i32, ptr @test_count, align 4, !tbaa !5
  %26922 = add nsw i32 %26921, 1
  store i32 %26922, ptr @test_count, align 4, !tbaa !5
  %26923 = load ptr, ptr %531, align 8, !tbaa !9
  %26924 = load ptr, ptr %12, align 8, !tbaa !9
  %26925 = call i32 @s2n_connection_append_psk(ptr noundef %26923, ptr noundef %26924)
  %26926 = icmp eq i32 %26925, -1
  br i1 %26926, label %26927, label %26980

26927:                                            ; preds = %26920
  br label %26928

26928:                                            ; preds = %26927
  br label %26929

26929:                                            ; preds = %26928
  call void @llvm.lifetime.start.p0(i64 4, ptr %536) #11
  %26930 = call ptr @__errno_location() #12
  %26931 = load i32, ptr %26930, align 4, !tbaa !5
  store i32 %26931, ptr %536, align 4, !tbaa !5
  %26932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26933 = call i32 @s2n_print_stacktrace(ptr noundef %26932)
  %26934 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26935 = trunc i8 %26934 to i1
  br i1 %26935, label %26936, label %26958

26936:                                            ; preds = %26929
  %26937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26938 = call i32 @fileno(ptr noundef %26937) #11
  %26939 = call i32 @isatty(i32 noundef %26938) #11
  %26940 = icmp ne i32 %26939, 0
  br i1 %26940, label %26941, label %26958

26941:                                            ; preds = %26936
  %26942 = load i32, ptr %536, align 4, !tbaa !5
  %26943 = call ptr @__errno_location() #12
  store i32 %26942, ptr %26943, align 4, !tbaa !5
  %26944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26945 = load i32, ptr @test_count, align 4, !tbaa !5
  %26946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26947 = load i32, ptr %26946, align 4, !tbaa !5
  %26948 = call ptr @s2n_strerror(i32 noundef %26947, ptr noundef @.str.4)
  %26949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26950 = load i32, ptr %26949, align 4, !tbaa !5
  %26951 = call ptr @s2n_strerror_debug(i32 noundef %26950, ptr noundef @.str.4)
  %26952 = call ptr @__errno_location() #12
  %26953 = load i32, ptr %26952, align 4, !tbaa !5
  %26954 = call ptr @strerror(i32 noundef %26953) #11
  %26955 = call ptr @__errno_location() #12
  %26956 = load i32, ptr %26955, align 4, !tbaa !5
  %26957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26944, ptr noundef @.str.2, i32 noundef %26945, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 763, ptr noundef %26948, ptr noundef %26951, ptr noundef %26954, i32 noundef %26956) #11
  br label %26975

26958:                                            ; preds = %26936, %26929
  %26959 = load i32, ptr %536, align 4, !tbaa !5
  %26960 = call ptr @__errno_location() #12
  store i32 %26959, ptr %26960, align 4, !tbaa !5
  %26961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26962 = load i32, ptr @test_count, align 4, !tbaa !5
  %26963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26964 = load i32, ptr %26963, align 4, !tbaa !5
  %26965 = call ptr @s2n_strerror(i32 noundef %26964, ptr noundef @.str.4)
  %26966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26967 = load i32, ptr %26966, align 4, !tbaa !5
  %26968 = call ptr @s2n_strerror_debug(i32 noundef %26967, ptr noundef @.str.4)
  %26969 = call ptr @__errno_location() #12
  %26970 = load i32, ptr %26969, align 4, !tbaa !5
  %26971 = call ptr @strerror(i32 noundef %26970) #11
  %26972 = call ptr @__errno_location() #12
  %26973 = load i32, ptr %26972, align 4, !tbaa !5
  %26974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26961, ptr noundef @.str.5, i32 noundef %26962, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 763, ptr noundef %26965, ptr noundef %26968, ptr noundef %26971, i32 noundef %26973) #11
  br label %26975

26975:                                            ; preds = %26958, %26941
  call void @llvm.lifetime.end.p0(i64 4, ptr %536) #11
  br label %26976

26976:                                            ; preds = %26975
  br label %26977

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

26978:                                            ; No predecessors!
  br label %26979

26979:                                            ; preds = %26978
  br label %26980

26980:                                            ; preds = %26979, %26920
  br label %26981

26981:                                            ; preds = %26980
  br label %26982

26982:                                            ; preds = %26981
  br label %26983

26983:                                            ; preds = %26982
  %26984 = load i32, ptr @test_count, align 4, !tbaa !5
  %26985 = add nsw i32 %26984, 1
  store i32 %26985, ptr @test_count, align 4, !tbaa !5
  %26986 = load ptr, ptr %532, align 8, !tbaa !9
  %26987 = load ptr, ptr %12, align 8, !tbaa !9
  %26988 = call i32 @s2n_connection_append_psk(ptr noundef %26986, ptr noundef %26987)
  %26989 = icmp eq i32 %26988, -1
  br i1 %26989, label %26990, label %27043

26990:                                            ; preds = %26983
  br label %26991

26991:                                            ; preds = %26990
  br label %26992

26992:                                            ; preds = %26991
  call void @llvm.lifetime.start.p0(i64 4, ptr %537) #11
  %26993 = call ptr @__errno_location() #12
  %26994 = load i32, ptr %26993, align 4, !tbaa !5
  store i32 %26994, ptr %537, align 4, !tbaa !5
  %26995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26996 = call i32 @s2n_print_stacktrace(ptr noundef %26995)
  %26997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26998 = trunc i8 %26997 to i1
  br i1 %26998, label %26999, label %27021

26999:                                            ; preds = %26992
  %27000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27001 = call i32 @fileno(ptr noundef %27000) #11
  %27002 = call i32 @isatty(i32 noundef %27001) #11
  %27003 = icmp ne i32 %27002, 0
  br i1 %27003, label %27004, label %27021

27004:                                            ; preds = %26999
  %27005 = load i32, ptr %537, align 4, !tbaa !5
  %27006 = call ptr @__errno_location() #12
  store i32 %27005, ptr %27006, align 4, !tbaa !5
  %27007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27008 = load i32, ptr @test_count, align 4, !tbaa !5
  %27009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27010 = load i32, ptr %27009, align 4, !tbaa !5
  %27011 = call ptr @s2n_strerror(i32 noundef %27010, ptr noundef @.str.4)
  %27012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27013 = load i32, ptr %27012, align 4, !tbaa !5
  %27014 = call ptr @s2n_strerror_debug(i32 noundef %27013, ptr noundef @.str.4)
  %27015 = call ptr @__errno_location() #12
  %27016 = load i32, ptr %27015, align 4, !tbaa !5
  %27017 = call ptr @strerror(i32 noundef %27016) #11
  %27018 = call ptr @__errno_location() #12
  %27019 = load i32, ptr %27018, align 4, !tbaa !5
  %27020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27007, ptr noundef @.str.2, i32 noundef %27008, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 764, ptr noundef %27011, ptr noundef %27014, ptr noundef %27017, i32 noundef %27019) #11
  br label %27038

27021:                                            ; preds = %26999, %26992
  %27022 = load i32, ptr %537, align 4, !tbaa !5
  %27023 = call ptr @__errno_location() #12
  store i32 %27022, ptr %27023, align 4, !tbaa !5
  %27024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27025 = load i32, ptr @test_count, align 4, !tbaa !5
  %27026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27027 = load i32, ptr %27026, align 4, !tbaa !5
  %27028 = call ptr @s2n_strerror(i32 noundef %27027, ptr noundef @.str.4)
  %27029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27030 = load i32, ptr %27029, align 4, !tbaa !5
  %27031 = call ptr @s2n_strerror_debug(i32 noundef %27030, ptr noundef @.str.4)
  %27032 = call ptr @__errno_location() #12
  %27033 = load i32, ptr %27032, align 4, !tbaa !5
  %27034 = call ptr @strerror(i32 noundef %27033) #11
  %27035 = call ptr @__errno_location() #12
  %27036 = load i32, ptr %27035, align 4, !tbaa !5
  %27037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27024, ptr noundef @.str.5, i32 noundef %27025, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 764, ptr noundef %27028, ptr noundef %27031, ptr noundef %27034, i32 noundef %27036) #11
  br label %27038

27038:                                            ; preds = %27021, %27004
  call void @llvm.lifetime.end.p0(i64 4, ptr %537) #11
  br label %27039

27039:                                            ; preds = %27038
  br label %27040

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

27041:                                            ; No predecessors!
  br label %27042

27042:                                            ; preds = %27041
  br label %27043

27043:                                            ; preds = %27042, %26983
  br label %27044

27044:                                            ; preds = %27043
  br label %27045

27045:                                            ; preds = %27044
  br label %27046

27046:                                            ; preds = %27045
  %27047 = load i32, ptr @test_count, align 4, !tbaa !5
  %27048 = add nsw i32 %27047, 1
  store i32 %27048, ptr @test_count, align 4, !tbaa !5
  %27049 = load ptr, ptr %531, align 8, !tbaa !9
  %27050 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %27049)
  %27051 = icmp eq i32 %27050, -1
  br i1 %27051, label %27052, label %27105

27052:                                            ; preds = %27046
  br label %27053

27053:                                            ; preds = %27052
  br label %27054

27054:                                            ; preds = %27053
  call void @llvm.lifetime.start.p0(i64 4, ptr %538) #11
  %27055 = call ptr @__errno_location() #12
  %27056 = load i32, ptr %27055, align 4, !tbaa !5
  store i32 %27056, ptr %538, align 4, !tbaa !5
  %27057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27058 = call i32 @s2n_print_stacktrace(ptr noundef %27057)
  %27059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27060 = trunc i8 %27059 to i1
  br i1 %27060, label %27061, label %27083

27061:                                            ; preds = %27054
  %27062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27063 = call i32 @fileno(ptr noundef %27062) #11
  %27064 = call i32 @isatty(i32 noundef %27063) #11
  %27065 = icmp ne i32 %27064, 0
  br i1 %27065, label %27066, label %27083

27066:                                            ; preds = %27061
  %27067 = load i32, ptr %538, align 4, !tbaa !5
  %27068 = call ptr @__errno_location() #12
  store i32 %27067, ptr %27068, align 4, !tbaa !5
  %27069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27070 = load i32, ptr @test_count, align 4, !tbaa !5
  %27071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27072 = load i32, ptr %27071, align 4, !tbaa !5
  %27073 = call ptr @s2n_strerror(i32 noundef %27072, ptr noundef @.str.4)
  %27074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27075 = load i32, ptr %27074, align 4, !tbaa !5
  %27076 = call ptr @s2n_strerror_debug(i32 noundef %27075, ptr noundef @.str.4)
  %27077 = call ptr @__errno_location() #12
  %27078 = load i32, ptr %27077, align 4, !tbaa !5
  %27079 = call ptr @strerror(i32 noundef %27078) #11
  %27080 = call ptr @__errno_location() #12
  %27081 = load i32, ptr %27080, align 4, !tbaa !5
  %27082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27069, ptr noundef @.str.2, i32 noundef %27070, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 765, ptr noundef %27073, ptr noundef %27076, ptr noundef %27079, i32 noundef %27081) #11
  br label %27100

27083:                                            ; preds = %27061, %27054
  %27084 = load i32, ptr %538, align 4, !tbaa !5
  %27085 = call ptr @__errno_location() #12
  store i32 %27084, ptr %27085, align 4, !tbaa !5
  %27086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27087 = load i32, ptr @test_count, align 4, !tbaa !5
  %27088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27089 = load i32, ptr %27088, align 4, !tbaa !5
  %27090 = call ptr @s2n_strerror(i32 noundef %27089, ptr noundef @.str.4)
  %27091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27092 = load i32, ptr %27091, align 4, !tbaa !5
  %27093 = call ptr @s2n_strerror_debug(i32 noundef %27092, ptr noundef @.str.4)
  %27094 = call ptr @__errno_location() #12
  %27095 = load i32, ptr %27094, align 4, !tbaa !5
  %27096 = call ptr @strerror(i32 noundef %27095) #11
  %27097 = call ptr @__errno_location() #12
  %27098 = load i32, ptr %27097, align 4, !tbaa !5
  %27099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27086, ptr noundef @.str.5, i32 noundef %27087, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 765, ptr noundef %27090, ptr noundef %27093, ptr noundef %27096, i32 noundef %27098) #11
  br label %27100

27100:                                            ; preds = %27083, %27066
  call void @llvm.lifetime.end.p0(i64 4, ptr %538) #11
  br label %27101

27101:                                            ; preds = %27100
  br label %27102

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

27103:                                            ; No predecessors!
  br label %27104

27104:                                            ; preds = %27103
  br label %27105

27105:                                            ; preds = %27104, %27046
  br label %27106

27106:                                            ; preds = %27105
  br label %27107

27107:                                            ; preds = %27106
  br label %27108

27108:                                            ; preds = %27107
  %27109 = load i32, ptr @test_count, align 4, !tbaa !5
  %27110 = add nsw i32 %27109, 1
  store i32 %27110, ptr @test_count, align 4, !tbaa !5
  %27111 = load ptr, ptr %532, align 8, !tbaa !9
  %27112 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %27111)
  %27113 = icmp eq i32 %27112, -1
  br i1 %27113, label %27114, label %27167

27114:                                            ; preds = %27108
  br label %27115

27115:                                            ; preds = %27114
  br label %27116

27116:                                            ; preds = %27115
  call void @llvm.lifetime.start.p0(i64 4, ptr %539) #11
  %27117 = call ptr @__errno_location() #12
  %27118 = load i32, ptr %27117, align 4, !tbaa !5
  store i32 %27118, ptr %539, align 4, !tbaa !5
  %27119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27120 = call i32 @s2n_print_stacktrace(ptr noundef %27119)
  %27121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27122 = trunc i8 %27121 to i1
  br i1 %27122, label %27123, label %27145

27123:                                            ; preds = %27116
  %27124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27125 = call i32 @fileno(ptr noundef %27124) #11
  %27126 = call i32 @isatty(i32 noundef %27125) #11
  %27127 = icmp ne i32 %27126, 0
  br i1 %27127, label %27128, label %27145

27128:                                            ; preds = %27123
  %27129 = load i32, ptr %539, align 4, !tbaa !5
  %27130 = call ptr @__errno_location() #12
  store i32 %27129, ptr %27130, align 4, !tbaa !5
  %27131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27132 = load i32, ptr @test_count, align 4, !tbaa !5
  %27133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27134 = load i32, ptr %27133, align 4, !tbaa !5
  %27135 = call ptr @s2n_strerror(i32 noundef %27134, ptr noundef @.str.4)
  %27136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27137 = load i32, ptr %27136, align 4, !tbaa !5
  %27138 = call ptr @s2n_strerror_debug(i32 noundef %27137, ptr noundef @.str.4)
  %27139 = call ptr @__errno_location() #12
  %27140 = load i32, ptr %27139, align 4, !tbaa !5
  %27141 = call ptr @strerror(i32 noundef %27140) #11
  %27142 = call ptr @__errno_location() #12
  %27143 = load i32, ptr %27142, align 4, !tbaa !5
  %27144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27131, ptr noundef @.str.2, i32 noundef %27132, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 766, ptr noundef %27135, ptr noundef %27138, ptr noundef %27141, i32 noundef %27143) #11
  br label %27162

27145:                                            ; preds = %27123, %27116
  %27146 = load i32, ptr %539, align 4, !tbaa !5
  %27147 = call ptr @__errno_location() #12
  store i32 %27146, ptr %27147, align 4, !tbaa !5
  %27148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27149 = load i32, ptr @test_count, align 4, !tbaa !5
  %27150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27151 = load i32, ptr %27150, align 4, !tbaa !5
  %27152 = call ptr @s2n_strerror(i32 noundef %27151, ptr noundef @.str.4)
  %27153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27154 = load i32, ptr %27153, align 4, !tbaa !5
  %27155 = call ptr @s2n_strerror_debug(i32 noundef %27154, ptr noundef @.str.4)
  %27156 = call ptr @__errno_location() #12
  %27157 = load i32, ptr %27156, align 4, !tbaa !5
  %27158 = call ptr @strerror(i32 noundef %27157) #11
  %27159 = call ptr @__errno_location() #12
  %27160 = load i32, ptr %27159, align 4, !tbaa !5
  %27161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27148, ptr noundef @.str.5, i32 noundef %27149, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 766, ptr noundef %27152, ptr noundef %27155, ptr noundef %27158, i32 noundef %27160) #11
  br label %27162

27162:                                            ; preds = %27145, %27128
  call void @llvm.lifetime.end.p0(i64 4, ptr %539) #11
  br label %27163

27163:                                            ; preds = %27162
  br label %27164

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

27165:                                            ; No predecessors!
  br label %27166

27166:                                            ; preds = %27165
  br label %27167

27167:                                            ; preds = %27166, %27108
  br label %27168

27168:                                            ; preds = %27167
  br label %27169

27169:                                            ; preds = %27168
  call void @llvm.lifetime.start.p0(i64 4, ptr %540) #11
  store i32 0, ptr %540, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1000, ptr %541) #11
  call void @llvm.memset.p0.i64(ptr align 16 %541, i8 0, i64 1000, i1 false)
  br label %27170

27170:                                            ; preds = %27169
  %27171 = load i32, ptr @test_count, align 4, !tbaa !5
  %27172 = add nsw i32 %27171, 1
  store i32 %27172, ptr @test_count, align 4, !tbaa !5
  %27173 = load ptr, ptr %532, align 8, !tbaa !9
  %27174 = load ptr, ptr %531, align 8, !tbaa !9
  %27175 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %27173, ptr noundef %27174, i32 noundef 19)
  %27176 = getelementptr inbounds %struct.s2n_result, ptr %542, i32 0, i32 0
  store i32 %27175, ptr %27176, align 4
  %27177 = getelementptr inbounds %struct.s2n_result, ptr %542, i32 0, i32 0
  %27178 = load i32, ptr %27177, align 4
  %27179 = call zeroext i1 @s2n_result_is_ok(i32 %27178)
  br i1 %27179, label %27233, label %27180

27180:                                            ; preds = %27170
  br label %27181

27181:                                            ; preds = %27180
  br label %27182

27182:                                            ; preds = %27181
  call void @llvm.lifetime.start.p0(i64 4, ptr %543) #11
  %27183 = call ptr @__errno_location() #12
  %27184 = load i32, ptr %27183, align 4, !tbaa !5
  store i32 %27184, ptr %543, align 4, !tbaa !5
  %27185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27186 = call i32 @s2n_print_stacktrace(ptr noundef %27185)
  %27187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27188 = trunc i8 %27187 to i1
  br i1 %27188, label %27189, label %27211

27189:                                            ; preds = %27182
  %27190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27191 = call i32 @fileno(ptr noundef %27190) #11
  %27192 = call i32 @isatty(i32 noundef %27191) #11
  %27193 = icmp ne i32 %27192, 0
  br i1 %27193, label %27194, label %27211

27194:                                            ; preds = %27189
  %27195 = load i32, ptr %543, align 4, !tbaa !5
  %27196 = call ptr @__errno_location() #12
  store i32 %27195, ptr %27196, align 4, !tbaa !5
  %27197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27198 = load i32, ptr @test_count, align 4, !tbaa !5
  %27199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27200 = load i32, ptr %27199, align 4, !tbaa !5
  %27201 = call ptr @s2n_strerror(i32 noundef %27200, ptr noundef @.str.4)
  %27202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27203 = load i32, ptr %27202, align 4, !tbaa !5
  %27204 = call ptr @s2n_strerror_debug(i32 noundef %27203, ptr noundef @.str.4)
  %27205 = call ptr @__errno_location() #12
  %27206 = load i32, ptr %27205, align 4, !tbaa !5
  %27207 = call ptr @strerror(i32 noundef %27206) #11
  %27208 = call ptr @__errno_location() #12
  %27209 = load i32, ptr %27208, align 4, !tbaa !5
  %27210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27197, ptr noundef @.str.2, i32 noundef %27198, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 771, ptr noundef %27201, ptr noundef %27204, ptr noundef %27207, i32 noundef %27209) #11
  br label %27228

27211:                                            ; preds = %27189, %27182
  %27212 = load i32, ptr %543, align 4, !tbaa !5
  %27213 = call ptr @__errno_location() #12
  store i32 %27212, ptr %27213, align 4, !tbaa !5
  %27214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27215 = load i32, ptr @test_count, align 4, !tbaa !5
  %27216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27217 = load i32, ptr %27216, align 4, !tbaa !5
  %27218 = call ptr @s2n_strerror(i32 noundef %27217, ptr noundef @.str.4)
  %27219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27220 = load i32, ptr %27219, align 4, !tbaa !5
  %27221 = call ptr @s2n_strerror_debug(i32 noundef %27220, ptr noundef @.str.4)
  %27222 = call ptr @__errno_location() #12
  %27223 = load i32, ptr %27222, align 4, !tbaa !5
  %27224 = call ptr @strerror(i32 noundef %27223) #11
  %27225 = call ptr @__errno_location() #12
  %27226 = load i32, ptr %27225, align 4, !tbaa !5
  %27227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27214, ptr noundef @.str.5, i32 noundef %27215, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 771, ptr noundef %27218, ptr noundef %27221, ptr noundef %27224, i32 noundef %27226) #11
  br label %27228

27228:                                            ; preds = %27211, %27194
  call void @llvm.lifetime.end.p0(i64 4, ptr %543) #11
  br label %27229

27229:                                            ; preds = %27228
  br label %27230

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

27231:                                            ; No predecessors!
  br label %27232

27232:                                            ; preds = %27231
  br label %27233

27233:                                            ; preds = %27232, %27170
  br label %27234

27234:                                            ; preds = %27233
  br label %27235

27235:                                            ; preds = %27234
  br label %27236

27236:                                            ; preds = %27235
  %27237 = load i32, ptr @test_count, align 4, !tbaa !5
  %27238 = add nsw i32 %27237, 1
  store i32 %27238, ptr @test_count, align 4, !tbaa !5
  %27239 = load ptr, ptr %531, align 8, !tbaa !9
  %27240 = call i32 @s2n_connection_set_end_of_early_data(ptr noundef %27239)
  %27241 = icmp eq i32 %27240, -1
  br i1 %27241, label %27242, label %27295

27242:                                            ; preds = %27236
  br label %27243

27243:                                            ; preds = %27242
  br label %27244

27244:                                            ; preds = %27243
  call void @llvm.lifetime.start.p0(i64 4, ptr %544) #11
  %27245 = call ptr @__errno_location() #12
  %27246 = load i32, ptr %27245, align 4, !tbaa !5
  store i32 %27246, ptr %544, align 4, !tbaa !5
  %27247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27248 = call i32 @s2n_print_stacktrace(ptr noundef %27247)
  %27249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27250 = trunc i8 %27249 to i1
  br i1 %27250, label %27251, label %27273

27251:                                            ; preds = %27244
  %27252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27253 = call i32 @fileno(ptr noundef %27252) #11
  %27254 = call i32 @isatty(i32 noundef %27253) #11
  %27255 = icmp ne i32 %27254, 0
  br i1 %27255, label %27256, label %27273

27256:                                            ; preds = %27251
  %27257 = load i32, ptr %544, align 4, !tbaa !5
  %27258 = call ptr @__errno_location() #12
  store i32 %27257, ptr %27258, align 4, !tbaa !5
  %27259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27260 = load i32, ptr @test_count, align 4, !tbaa !5
  %27261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27262 = load i32, ptr %27261, align 4, !tbaa !5
  %27263 = call ptr @s2n_strerror(i32 noundef %27262, ptr noundef @.str.4)
  %27264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27265 = load i32, ptr %27264, align 4, !tbaa !5
  %27266 = call ptr @s2n_strerror_debug(i32 noundef %27265, ptr noundef @.str.4)
  %27267 = call ptr @__errno_location() #12
  %27268 = load i32, ptr %27267, align 4, !tbaa !5
  %27269 = call ptr @strerror(i32 noundef %27268) #11
  %27270 = call ptr @__errno_location() #12
  %27271 = load i32, ptr %27270, align 4, !tbaa !5
  %27272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27259, ptr noundef @.str.2, i32 noundef %27260, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 774, ptr noundef %27263, ptr noundef %27266, ptr noundef %27269, i32 noundef %27271) #11
  br label %27290

27273:                                            ; preds = %27251, %27244
  %27274 = load i32, ptr %544, align 4, !tbaa !5
  %27275 = call ptr @__errno_location() #12
  store i32 %27274, ptr %27275, align 4, !tbaa !5
  %27276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27277 = load i32, ptr @test_count, align 4, !tbaa !5
  %27278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27279 = load i32, ptr %27278, align 4, !tbaa !5
  %27280 = call ptr @s2n_strerror(i32 noundef %27279, ptr noundef @.str.4)
  %27281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27282 = load i32, ptr %27281, align 4, !tbaa !5
  %27283 = call ptr @s2n_strerror_debug(i32 noundef %27282, ptr noundef @.str.4)
  %27284 = call ptr @__errno_location() #12
  %27285 = load i32, ptr %27284, align 4, !tbaa !5
  %27286 = call ptr @strerror(i32 noundef %27285) #11
  %27287 = call ptr @__errno_location() #12
  %27288 = load i32, ptr %27287, align 4, !tbaa !5
  %27289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27276, ptr noundef @.str.5, i32 noundef %27277, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 774, ptr noundef %27280, ptr noundef %27283, ptr noundef %27286, i32 noundef %27288) #11
  br label %27290

27290:                                            ; preds = %27273, %27256
  call void @llvm.lifetime.end.p0(i64 4, ptr %544) #11
  br label %27291

27291:                                            ; preds = %27290
  br label %27292

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

27293:                                            ; No predecessors!
  br label %27294

27294:                                            ; preds = %27293
  br label %27295

27295:                                            ; preds = %27294, %27236
  br label %27296

27296:                                            ; preds = %27295
  br label %27297

27297:                                            ; preds = %27296
  br label %27298

27298:                                            ; preds = %27297
  %27299 = load i32, ptr @test_count, align 4, !tbaa !5
  %27300 = add nsw i32 %27299, 1
  store i32 %27300, ptr @test_count, align 4, !tbaa !5
  %27301 = load ptr, ptr %531, align 8, !tbaa !9
  %27302 = call i32 @s2n_negotiate(ptr noundef %27301, ptr noundef %540)
  %27303 = icmp eq i32 %27302, -1
  br i1 %27303, label %27304, label %27357

27304:                                            ; preds = %27298
  br label %27305

27305:                                            ; preds = %27304
  br label %27306

27306:                                            ; preds = %27305
  call void @llvm.lifetime.start.p0(i64 4, ptr %545) #11
  %27307 = call ptr @__errno_location() #12
  %27308 = load i32, ptr %27307, align 4, !tbaa !5
  store i32 %27308, ptr %545, align 4, !tbaa !5
  %27309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27310 = call i32 @s2n_print_stacktrace(ptr noundef %27309)
  %27311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27312 = trunc i8 %27311 to i1
  br i1 %27312, label %27313, label %27335

27313:                                            ; preds = %27306
  %27314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27315 = call i32 @fileno(ptr noundef %27314) #11
  %27316 = call i32 @isatty(i32 noundef %27315) #11
  %27317 = icmp ne i32 %27316, 0
  br i1 %27317, label %27318, label %27335

27318:                                            ; preds = %27313
  %27319 = load i32, ptr %545, align 4, !tbaa !5
  %27320 = call ptr @__errno_location() #12
  store i32 %27319, ptr %27320, align 4, !tbaa !5
  %27321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27322 = load i32, ptr @test_count, align 4, !tbaa !5
  %27323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27324 = load i32, ptr %27323, align 4, !tbaa !5
  %27325 = call ptr @s2n_strerror(i32 noundef %27324, ptr noundef @.str.4)
  %27326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27327 = load i32, ptr %27326, align 4, !tbaa !5
  %27328 = call ptr @s2n_strerror_debug(i32 noundef %27327, ptr noundef @.str.4)
  %27329 = call ptr @__errno_location() #12
  %27330 = load i32, ptr %27329, align 4, !tbaa !5
  %27331 = call ptr @strerror(i32 noundef %27330) #11
  %27332 = call ptr @__errno_location() #12
  %27333 = load i32, ptr %27332, align 4, !tbaa !5
  %27334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27321, ptr noundef @.str.2, i32 noundef %27322, ptr noundef @.str.129, ptr noundef @.str.1, i32 noundef 775, ptr noundef %27325, ptr noundef %27328, ptr noundef %27331, i32 noundef %27333) #11
  br label %27352

27335:                                            ; preds = %27313, %27306
  %27336 = load i32, ptr %545, align 4, !tbaa !5
  %27337 = call ptr @__errno_location() #12
  store i32 %27336, ptr %27337, align 4, !tbaa !5
  %27338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27339 = load i32, ptr @test_count, align 4, !tbaa !5
  %27340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27341 = load i32, ptr %27340, align 4, !tbaa !5
  %27342 = call ptr @s2n_strerror(i32 noundef %27341, ptr noundef @.str.4)
  %27343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27344 = load i32, ptr %27343, align 4, !tbaa !5
  %27345 = call ptr @s2n_strerror_debug(i32 noundef %27344, ptr noundef @.str.4)
  %27346 = call ptr @__errno_location() #12
  %27347 = load i32, ptr %27346, align 4, !tbaa !5
  %27348 = call ptr @strerror(i32 noundef %27347) #11
  %27349 = call ptr @__errno_location() #12
  %27350 = load i32, ptr %27349, align 4, !tbaa !5
  %27351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27338, ptr noundef @.str.5, i32 noundef %27339, ptr noundef @.str.129, ptr noundef @.str.1, i32 noundef 775, ptr noundef %27342, ptr noundef %27345, ptr noundef %27348, i32 noundef %27350) #11
  br label %27352

27352:                                            ; preds = %27335, %27318
  call void @llvm.lifetime.end.p0(i64 4, ptr %545) #11
  br label %27353

27353:                                            ; preds = %27352
  br label %27354

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

27355:                                            ; No predecessors!
  br label %27356

27356:                                            ; preds = %27355
  br label %27357

27357:                                            ; preds = %27356, %27298
  br label %27358

27358:                                            ; preds = %27357
  br label %27359

27359:                                            ; preds = %27358
  br label %27360

27360:                                            ; preds = %27359
  %27361 = load i32, ptr @test_count, align 4, !tbaa !5
  %27362 = add nsw i32 %27361, 1
  store i32 %27362, ptr @test_count, align 4, !tbaa !5
  %27363 = load ptr, ptr %532, align 8, !tbaa !9
  %27364 = call i32 @s2n_conn_get_current_message_type(ptr noundef %27363)
  %27365 = icmp eq i32 %27364, 19
  br i1 %27365, label %27419, label %27366

27366:                                            ; preds = %27360
  br label %27367

27367:                                            ; preds = %27366
  br label %27368

27368:                                            ; preds = %27367
  call void @llvm.lifetime.start.p0(i64 4, ptr %546) #11
  %27369 = call ptr @__errno_location() #12
  %27370 = load i32, ptr %27369, align 4, !tbaa !5
  store i32 %27370, ptr %546, align 4, !tbaa !5
  %27371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27372 = call i32 @s2n_print_stacktrace(ptr noundef %27371)
  %27373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27374 = trunc i8 %27373 to i1
  br i1 %27374, label %27375, label %27397

27375:                                            ; preds = %27368
  %27376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27377 = call i32 @fileno(ptr noundef %27376) #11
  %27378 = call i32 @isatty(i32 noundef %27377) #11
  %27379 = icmp ne i32 %27378, 0
  br i1 %27379, label %27380, label %27397

27380:                                            ; preds = %27375
  %27381 = load i32, ptr %546, align 4, !tbaa !5
  %27382 = call ptr @__errno_location() #12
  store i32 %27381, ptr %27382, align 4, !tbaa !5
  %27383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27384 = load i32, ptr @test_count, align 4, !tbaa !5
  %27385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27386 = load i32, ptr %27385, align 4, !tbaa !5
  %27387 = call ptr @s2n_strerror(i32 noundef %27386, ptr noundef @.str.4)
  %27388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27389 = load i32, ptr %27388, align 4, !tbaa !5
  %27390 = call ptr @s2n_strerror_debug(i32 noundef %27389, ptr noundef @.str.4)
  %27391 = call ptr @__errno_location() #12
  %27392 = load i32, ptr %27391, align 4, !tbaa !5
  %27393 = call ptr @strerror(i32 noundef %27392) #11
  %27394 = call ptr @__errno_location() #12
  %27395 = load i32, ptr %27394, align 4, !tbaa !5
  %27396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27383, ptr noundef @.str.2, i32 noundef %27384, ptr noundef @.str.130, ptr noundef @.str.1, i32 noundef 782, ptr noundef %27387, ptr noundef %27390, ptr noundef %27393, i32 noundef %27395) #11
  br label %27414

27397:                                            ; preds = %27375, %27368
  %27398 = load i32, ptr %546, align 4, !tbaa !5
  %27399 = call ptr @__errno_location() #12
  store i32 %27398, ptr %27399, align 4, !tbaa !5
  %27400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27401 = load i32, ptr @test_count, align 4, !tbaa !5
  %27402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27403 = load i32, ptr %27402, align 4, !tbaa !5
  %27404 = call ptr @s2n_strerror(i32 noundef %27403, ptr noundef @.str.4)
  %27405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27406 = load i32, ptr %27405, align 4, !tbaa !5
  %27407 = call ptr @s2n_strerror_debug(i32 noundef %27406, ptr noundef @.str.4)
  %27408 = call ptr @__errno_location() #12
  %27409 = load i32, ptr %27408, align 4, !tbaa !5
  %27410 = call ptr @strerror(i32 noundef %27409) #11
  %27411 = call ptr @__errno_location() #12
  %27412 = load i32, ptr %27411, align 4, !tbaa !5
  %27413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27400, ptr noundef @.str.5, i32 noundef %27401, ptr noundef @.str.130, ptr noundef @.str.1, i32 noundef 782, ptr noundef %27404, ptr noundef %27407, ptr noundef %27410, i32 noundef %27412) #11
  br label %27414

27414:                                            ; preds = %27397, %27380
  call void @llvm.lifetime.end.p0(i64 4, ptr %546) #11
  br label %27415

27415:                                            ; preds = %27414
  br label %27416

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

27417:                                            ; No predecessors!
  br label %27418

27418:                                            ; preds = %27417
  br label %27419

27419:                                            ; preds = %27418, %27360
  br label %27420

27420:                                            ; preds = %27419
  br label %27421

27421:                                            ; preds = %27420
  br label %27422

27422:                                            ; preds = %27421
  br label %27423

27423:                                            ; preds = %27422
  br label %27424

27424:                                            ; preds = %27423
  %27425 = load i32, ptr @test_count, align 4, !tbaa !5
  %27426 = add nsw i32 %27425, 1
  store i32 %27426, ptr @test_count, align 4, !tbaa !5
  %27427 = load ptr, ptr %532, align 8, !tbaa !9
  %27428 = getelementptr inbounds [1000 x i8], ptr %541, i64 0, i64 0
  %27429 = call i64 @s2n_recv(ptr noundef %27427, ptr noundef %27428, i64 noundef 1000, ptr noundef %540)
  %27430 = icmp eq i64 %27429, -1
  br i1 %27430, label %27484, label %27431

27431:                                            ; preds = %27424
  br label %27432

27432:                                            ; preds = %27431
  br label %27433

27433:                                            ; preds = %27432
  call void @llvm.lifetime.start.p0(i64 4, ptr %547) #11
  %27434 = call ptr @__errno_location() #12
  %27435 = load i32, ptr %27434, align 4, !tbaa !5
  store i32 %27435, ptr %547, align 4, !tbaa !5
  %27436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27437 = call i32 @s2n_print_stacktrace(ptr noundef %27436)
  %27438 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27439 = trunc i8 %27438 to i1
  br i1 %27439, label %27440, label %27462

27440:                                            ; preds = %27433
  %27441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27442 = call i32 @fileno(ptr noundef %27441) #11
  %27443 = call i32 @isatty(i32 noundef %27442) #11
  %27444 = icmp ne i32 %27443, 0
  br i1 %27444, label %27445, label %27462

27445:                                            ; preds = %27440
  %27446 = load i32, ptr %547, align 4, !tbaa !5
  %27447 = call ptr @__errno_location() #12
  store i32 %27446, ptr %27447, align 4, !tbaa !5
  %27448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27449 = load i32, ptr @test_count, align 4, !tbaa !5
  %27450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27451 = load i32, ptr %27450, align 4, !tbaa !5
  %27452 = call ptr @s2n_strerror(i32 noundef %27451, ptr noundef @.str.4)
  %27453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27454 = load i32, ptr %27453, align 4, !tbaa !5
  %27455 = call ptr @s2n_strerror_debug(i32 noundef %27454, ptr noundef @.str.4)
  %27456 = call ptr @__errno_location() #12
  %27457 = load i32, ptr %27456, align 4, !tbaa !5
  %27458 = call ptr @strerror(i32 noundef %27457) #11
  %27459 = call ptr @__errno_location() #12
  %27460 = load i32, ptr %27459, align 4, !tbaa !5
  %27461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27448, ptr noundef @.str.2, i32 noundef %27449, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 784, ptr noundef %27452, ptr noundef %27455, ptr noundef %27458, i32 noundef %27460) #11
  br label %27479

27462:                                            ; preds = %27440, %27433
  %27463 = load i32, ptr %547, align 4, !tbaa !5
  %27464 = call ptr @__errno_location() #12
  store i32 %27463, ptr %27464, align 4, !tbaa !5
  %27465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27466 = load i32, ptr @test_count, align 4, !tbaa !5
  %27467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27468 = load i32, ptr %27467, align 4, !tbaa !5
  %27469 = call ptr @s2n_strerror(i32 noundef %27468, ptr noundef @.str.4)
  %27470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27471 = load i32, ptr %27470, align 4, !tbaa !5
  %27472 = call ptr @s2n_strerror_debug(i32 noundef %27471, ptr noundef @.str.4)
  %27473 = call ptr @__errno_location() #12
  %27474 = load i32, ptr %27473, align 4, !tbaa !5
  %27475 = call ptr @strerror(i32 noundef %27474) #11
  %27476 = call ptr @__errno_location() #12
  %27477 = load i32, ptr %27476, align 4, !tbaa !5
  %27478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27465, ptr noundef @.str.5, i32 noundef %27466, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 784, ptr noundef %27469, ptr noundef %27472, ptr noundef %27475, i32 noundef %27477) #11
  br label %27479

27479:                                            ; preds = %27462, %27445
  call void @llvm.lifetime.end.p0(i64 4, ptr %547) #11
  br label %27480

27480:                                            ; preds = %27479
  br label %27481

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

27482:                                            ; No predecessors!
  br label %27483

27483:                                            ; preds = %27482
  br label %27484

27484:                                            ; preds = %27483, %27424
  br label %27485

27485:                                            ; preds = %27484
  br label %27486

27486:                                            ; preds = %27485
  br label %27487

27487:                                            ; preds = %27486
  %27488 = load i32, ptr @test_count, align 4, !tbaa !5
  %27489 = add nsw i32 %27488, 1
  store i32 %27489, ptr @test_count, align 4, !tbaa !5
  %27490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27491 = load i32, ptr %27490, align 4, !tbaa !5
  %27492 = icmp eq i32 %27491, 335544322
  br i1 %27492, label %27546, label %27493

27493:                                            ; preds = %27487
  br label %27494

27494:                                            ; preds = %27493
  br label %27495

27495:                                            ; preds = %27494
  call void @llvm.lifetime.start.p0(i64 4, ptr %548) #11
  %27496 = call ptr @__errno_location() #12
  %27497 = load i32, ptr %27496, align 4, !tbaa !5
  store i32 %27497, ptr %548, align 4, !tbaa !5
  %27498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27499 = call i32 @s2n_print_stacktrace(ptr noundef %27498)
  %27500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27501 = trunc i8 %27500 to i1
  br i1 %27501, label %27502, label %27524

27502:                                            ; preds = %27495
  %27503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27504 = call i32 @fileno(ptr noundef %27503) #11
  %27505 = call i32 @isatty(i32 noundef %27504) #11
  %27506 = icmp ne i32 %27505, 0
  br i1 %27506, label %27507, label %27524

27507:                                            ; preds = %27502
  %27508 = load i32, ptr %548, align 4, !tbaa !5
  %27509 = call ptr @__errno_location() #12
  store i32 %27508, ptr %27509, align 4, !tbaa !5
  %27510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27511 = load i32, ptr @test_count, align 4, !tbaa !5
  %27512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27513 = load i32, ptr %27512, align 4, !tbaa !5
  %27514 = call ptr @s2n_strerror(i32 noundef %27513, ptr noundef @.str.4)
  %27515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27516 = load i32, ptr %27515, align 4, !tbaa !5
  %27517 = call ptr @s2n_strerror_debug(i32 noundef %27516, ptr noundef @.str.4)
  %27518 = call ptr @__errno_location() #12
  %27519 = load i32, ptr %27518, align 4, !tbaa !5
  %27520 = call ptr @strerror(i32 noundef %27519) #11
  %27521 = call ptr @__errno_location() #12
  %27522 = load i32, ptr %27521, align 4, !tbaa !5
  %27523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27510, ptr noundef @.str.2, i32 noundef %27511, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 784, ptr noundef %27514, ptr noundef %27517, ptr noundef %27520, i32 noundef %27522) #11
  br label %27541

27524:                                            ; preds = %27502, %27495
  %27525 = load i32, ptr %548, align 4, !tbaa !5
  %27526 = call ptr @__errno_location() #12
  store i32 %27525, ptr %27526, align 4, !tbaa !5
  %27527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27528 = load i32, ptr @test_count, align 4, !tbaa !5
  %27529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27530 = load i32, ptr %27529, align 4, !tbaa !5
  %27531 = call ptr @s2n_strerror(i32 noundef %27530, ptr noundef @.str.4)
  %27532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27533 = load i32, ptr %27532, align 4, !tbaa !5
  %27534 = call ptr @s2n_strerror_debug(i32 noundef %27533, ptr noundef @.str.4)
  %27535 = call ptr @__errno_location() #12
  %27536 = load i32, ptr %27535, align 4, !tbaa !5
  %27537 = call ptr @strerror(i32 noundef %27536) #11
  %27538 = call ptr @__errno_location() #12
  %27539 = load i32, ptr %27538, align 4, !tbaa !5
  %27540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27527, ptr noundef @.str.5, i32 noundef %27528, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 784, ptr noundef %27531, ptr noundef %27534, ptr noundef %27537, i32 noundef %27539) #11
  br label %27541

27541:                                            ; preds = %27524, %27507
  call void @llvm.lifetime.end.p0(i64 4, ptr %548) #11
  br label %27542

27542:                                            ; preds = %27541
  br label %27543

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

27544:                                            ; No predecessors!
  br label %27545

27545:                                            ; preds = %27544
  br label %27546

27546:                                            ; preds = %27545, %27487
  br label %27547

27547:                                            ; preds = %27546
  br label %27548

27548:                                            ; preds = %27547
  br label %27549

27549:                                            ; preds = %27548
  %27550 = load i32, ptr @test_count, align 4, !tbaa !5
  %27551 = add nsw i32 %27550, 1
  store i32 %27551, ptr @test_count, align 4, !tbaa !5
  %27552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27553 = load i32, ptr %27552, align 4, !tbaa !5
  %27554 = call ptr @s2n_strerror_debug(i32 noundef %27553, ptr noundef @.str.4)
  %27555 = icmp eq ptr %27554, null
  br i1 %27555, label %27556, label %27609

27556:                                            ; preds = %27549
  br label %27557

27557:                                            ; preds = %27556
  br label %27558

27558:                                            ; preds = %27557
  call void @llvm.lifetime.start.p0(i64 4, ptr %549) #11
  %27559 = call ptr @__errno_location() #12
  %27560 = load i32, ptr %27559, align 4, !tbaa !5
  store i32 %27560, ptr %549, align 4, !tbaa !5
  %27561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27562 = call i32 @s2n_print_stacktrace(ptr noundef %27561)
  %27563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27564 = trunc i8 %27563 to i1
  br i1 %27564, label %27565, label %27587

27565:                                            ; preds = %27558
  %27566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27567 = call i32 @fileno(ptr noundef %27566) #11
  %27568 = call i32 @isatty(i32 noundef %27567) #11
  %27569 = icmp ne i32 %27568, 0
  br i1 %27569, label %27570, label %27587

27570:                                            ; preds = %27565
  %27571 = load i32, ptr %549, align 4, !tbaa !5
  %27572 = call ptr @__errno_location() #12
  store i32 %27571, ptr %27572, align 4, !tbaa !5
  %27573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27574 = load i32, ptr @test_count, align 4, !tbaa !5
  %27575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27576 = load i32, ptr %27575, align 4, !tbaa !5
  %27577 = call ptr @s2n_strerror(i32 noundef %27576, ptr noundef @.str.4)
  %27578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27579 = load i32, ptr %27578, align 4, !tbaa !5
  %27580 = call ptr @s2n_strerror_debug(i32 noundef %27579, ptr noundef @.str.4)
  %27581 = call ptr @__errno_location() #12
  %27582 = load i32, ptr %27581, align 4, !tbaa !5
  %27583 = call ptr @strerror(i32 noundef %27582) #11
  %27584 = call ptr @__errno_location() #12
  %27585 = load i32, ptr %27584, align 4, !tbaa !5
  %27586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27573, ptr noundef @.str.2, i32 noundef %27574, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 784, ptr noundef %27577, ptr noundef %27580, ptr noundef %27583, i32 noundef %27585) #11
  br label %27604

27587:                                            ; preds = %27565, %27558
  %27588 = load i32, ptr %549, align 4, !tbaa !5
  %27589 = call ptr @__errno_location() #12
  store i32 %27588, ptr %27589, align 4, !tbaa !5
  %27590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27591 = load i32, ptr @test_count, align 4, !tbaa !5
  %27592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27593 = load i32, ptr %27592, align 4, !tbaa !5
  %27594 = call ptr @s2n_strerror(i32 noundef %27593, ptr noundef @.str.4)
  %27595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27596 = load i32, ptr %27595, align 4, !tbaa !5
  %27597 = call ptr @s2n_strerror_debug(i32 noundef %27596, ptr noundef @.str.4)
  %27598 = call ptr @__errno_location() #12
  %27599 = load i32, ptr %27598, align 4, !tbaa !5
  %27600 = call ptr @strerror(i32 noundef %27599) #11
  %27601 = call ptr @__errno_location() #12
  %27602 = load i32, ptr %27601, align 4, !tbaa !5
  %27603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27590, ptr noundef @.str.5, i32 noundef %27591, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 784, ptr noundef %27594, ptr noundef %27597, ptr noundef %27600, i32 noundef %27602) #11
  br label %27604

27604:                                            ; preds = %27587, %27570
  call void @llvm.lifetime.end.p0(i64 4, ptr %549) #11
  br label %27605

27605:                                            ; preds = %27604
  br label %27606

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

27607:                                            ; No predecessors!
  br label %27608

27608:                                            ; preds = %27607
  br label %27609

27609:                                            ; preds = %27608, %27549
  br label %27610

27610:                                            ; preds = %27609
  br label %27611

27611:                                            ; preds = %27610
  br label %27612

27612:                                            ; preds = %27611
  br label %27613

27613:                                            ; preds = %27612
  br label %27614

27614:                                            ; preds = %27613
  %27615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %27615, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %27616 = call ptr @__errno_location() #12
  store i32 0, ptr %27616, align 4, !tbaa !5
  br label %27617

27617:                                            ; preds = %27614
  br label %27618

27618:                                            ; preds = %27617
  br label %27619

27619:                                            ; preds = %27618
  br label %27620

27620:                                            ; preds = %27619
  br label %27621

27621:                                            ; preds = %27620
  %27622 = load i32, ptr @test_count, align 4, !tbaa !5
  %27623 = add nsw i32 %27622, 1
  store i32 %27623, ptr @test_count, align 4, !tbaa !5
  %27624 = load ptr, ptr %531, align 8, !tbaa !9
  %27625 = call i32 @s2n_connection_free(ptr noundef %27624)
  %27626 = icmp eq i32 %27625, -1
  br i1 %27626, label %27627, label %27680

27627:                                            ; preds = %27621
  br label %27628

27628:                                            ; preds = %27627
  br label %27629

27629:                                            ; preds = %27628
  call void @llvm.lifetime.start.p0(i64 4, ptr %550) #11
  %27630 = call ptr @__errno_location() #12
  %27631 = load i32, ptr %27630, align 4, !tbaa !5
  store i32 %27631, ptr %550, align 4, !tbaa !5
  %27632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27633 = call i32 @s2n_print_stacktrace(ptr noundef %27632)
  %27634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27635 = trunc i8 %27634 to i1
  br i1 %27635, label %27636, label %27658

27636:                                            ; preds = %27629
  %27637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27638 = call i32 @fileno(ptr noundef %27637) #11
  %27639 = call i32 @isatty(i32 noundef %27638) #11
  %27640 = icmp ne i32 %27639, 0
  br i1 %27640, label %27641, label %27658

27641:                                            ; preds = %27636
  %27642 = load i32, ptr %550, align 4, !tbaa !5
  %27643 = call ptr @__errno_location() #12
  store i32 %27642, ptr %27643, align 4, !tbaa !5
  %27644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27645 = load i32, ptr @test_count, align 4, !tbaa !5
  %27646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27647 = load i32, ptr %27646, align 4, !tbaa !5
  %27648 = call ptr @s2n_strerror(i32 noundef %27647, ptr noundef @.str.4)
  %27649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27650 = load i32, ptr %27649, align 4, !tbaa !5
  %27651 = call ptr @s2n_strerror_debug(i32 noundef %27650, ptr noundef @.str.4)
  %27652 = call ptr @__errno_location() #12
  %27653 = load i32, ptr %27652, align 4, !tbaa !5
  %27654 = call ptr @strerror(i32 noundef %27653) #11
  %27655 = call ptr @__errno_location() #12
  %27656 = load i32, ptr %27655, align 4, !tbaa !5
  %27657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27644, ptr noundef @.str.2, i32 noundef %27645, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 786, ptr noundef %27648, ptr noundef %27651, ptr noundef %27654, i32 noundef %27656) #11
  br label %27675

27658:                                            ; preds = %27636, %27629
  %27659 = load i32, ptr %550, align 4, !tbaa !5
  %27660 = call ptr @__errno_location() #12
  store i32 %27659, ptr %27660, align 4, !tbaa !5
  %27661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27662 = load i32, ptr @test_count, align 4, !tbaa !5
  %27663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27664 = load i32, ptr %27663, align 4, !tbaa !5
  %27665 = call ptr @s2n_strerror(i32 noundef %27664, ptr noundef @.str.4)
  %27666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27667 = load i32, ptr %27666, align 4, !tbaa !5
  %27668 = call ptr @s2n_strerror_debug(i32 noundef %27667, ptr noundef @.str.4)
  %27669 = call ptr @__errno_location() #12
  %27670 = load i32, ptr %27669, align 4, !tbaa !5
  %27671 = call ptr @strerror(i32 noundef %27670) #11
  %27672 = call ptr @__errno_location() #12
  %27673 = load i32, ptr %27672, align 4, !tbaa !5
  %27674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27661, ptr noundef @.str.5, i32 noundef %27662, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 786, ptr noundef %27665, ptr noundef %27668, ptr noundef %27671, i32 noundef %27673) #11
  br label %27675

27675:                                            ; preds = %27658, %27641
  call void @llvm.lifetime.end.p0(i64 4, ptr %550) #11
  br label %27676

27676:                                            ; preds = %27675
  br label %27677

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

27678:                                            ; No predecessors!
  br label %27679

27679:                                            ; preds = %27678
  br label %27680

27680:                                            ; preds = %27679, %27621
  br label %27681

27681:                                            ; preds = %27680
  br label %27682

27682:                                            ; preds = %27681
  br label %27683

27683:                                            ; preds = %27682
  %27684 = load i32, ptr @test_count, align 4, !tbaa !5
  %27685 = add nsw i32 %27684, 1
  store i32 %27685, ptr @test_count, align 4, !tbaa !5
  %27686 = load ptr, ptr %532, align 8, !tbaa !9
  %27687 = call i32 @s2n_connection_free(ptr noundef %27686)
  %27688 = icmp eq i32 %27687, -1
  br i1 %27688, label %27689, label %27742

27689:                                            ; preds = %27683
  br label %27690

27690:                                            ; preds = %27689
  br label %27691

27691:                                            ; preds = %27690
  call void @llvm.lifetime.start.p0(i64 4, ptr %551) #11
  %27692 = call ptr @__errno_location() #12
  %27693 = load i32, ptr %27692, align 4, !tbaa !5
  store i32 %27693, ptr %551, align 4, !tbaa !5
  %27694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27695 = call i32 @s2n_print_stacktrace(ptr noundef %27694)
  %27696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27697 = trunc i8 %27696 to i1
  br i1 %27697, label %27698, label %27720

27698:                                            ; preds = %27691
  %27699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27700 = call i32 @fileno(ptr noundef %27699) #11
  %27701 = call i32 @isatty(i32 noundef %27700) #11
  %27702 = icmp ne i32 %27701, 0
  br i1 %27702, label %27703, label %27720

27703:                                            ; preds = %27698
  %27704 = load i32, ptr %551, align 4, !tbaa !5
  %27705 = call ptr @__errno_location() #12
  store i32 %27704, ptr %27705, align 4, !tbaa !5
  %27706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27707 = load i32, ptr @test_count, align 4, !tbaa !5
  %27708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27709 = load i32, ptr %27708, align 4, !tbaa !5
  %27710 = call ptr @s2n_strerror(i32 noundef %27709, ptr noundef @.str.4)
  %27711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27712 = load i32, ptr %27711, align 4, !tbaa !5
  %27713 = call ptr @s2n_strerror_debug(i32 noundef %27712, ptr noundef @.str.4)
  %27714 = call ptr @__errno_location() #12
  %27715 = load i32, ptr %27714, align 4, !tbaa !5
  %27716 = call ptr @strerror(i32 noundef %27715) #11
  %27717 = call ptr @__errno_location() #12
  %27718 = load i32, ptr %27717, align 4, !tbaa !5
  %27719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27706, ptr noundef @.str.2, i32 noundef %27707, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 787, ptr noundef %27710, ptr noundef %27713, ptr noundef %27716, i32 noundef %27718) #11
  br label %27737

27720:                                            ; preds = %27698, %27691
  %27721 = load i32, ptr %551, align 4, !tbaa !5
  %27722 = call ptr @__errno_location() #12
  store i32 %27721, ptr %27722, align 4, !tbaa !5
  %27723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27724 = load i32, ptr @test_count, align 4, !tbaa !5
  %27725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27726 = load i32, ptr %27725, align 4, !tbaa !5
  %27727 = call ptr @s2n_strerror(i32 noundef %27726, ptr noundef @.str.4)
  %27728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27729 = load i32, ptr %27728, align 4, !tbaa !5
  %27730 = call ptr @s2n_strerror_debug(i32 noundef %27729, ptr noundef @.str.4)
  %27731 = call ptr @__errno_location() #12
  %27732 = load i32, ptr %27731, align 4, !tbaa !5
  %27733 = call ptr @strerror(i32 noundef %27732) #11
  %27734 = call ptr @__errno_location() #12
  %27735 = load i32, ptr %27734, align 4, !tbaa !5
  %27736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27723, ptr noundef @.str.5, i32 noundef %27724, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 787, ptr noundef %27727, ptr noundef %27730, ptr noundef %27733, i32 noundef %27735) #11
  br label %27737

27737:                                            ; preds = %27720, %27703
  call void @llvm.lifetime.end.p0(i64 4, ptr %551) #11
  br label %27738

27738:                                            ; preds = %27737
  br label %27739

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

27740:                                            ; No predecessors!
  br label %27741

27741:                                            ; preds = %27740
  br label %27742

27742:                                            ; preds = %27741, %27683
  br label %27743

27743:                                            ; preds = %27742
  br label %27744

27744:                                            ; preds = %27743
  call void @llvm.lifetime.end.p0(i64 1000, ptr %541) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %540) #11
  %27745 = call i32 @s2n_io_pair_close(ptr noundef %533)
  call void @llvm.lifetime.end.p0(i64 8, ptr %533) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %532) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %531) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %552) #11
  store ptr null, ptr %552, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %553) #11
  store ptr null, ptr %553, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %554) #11
  call void @llvm.memset.p0.i64(ptr align 4 %554, i8 0, i64 8, i1 false)
  br label %27746

27746:                                            ; preds = %27744
  %27747 = load i32, ptr @test_count, align 4, !tbaa !5
  %27748 = add nsw i32 %27747, 1
  store i32 %27748, ptr @test_count, align 4, !tbaa !5
  %27749 = call i32 @s2n_test_client_and_server_new(ptr noundef %552, ptr noundef %553, ptr noundef %554)
  %27750 = getelementptr inbounds %struct.s2n_result, ptr %555, i32 0, i32 0
  store i32 %27749, ptr %27750, align 4
  %27751 = getelementptr inbounds %struct.s2n_result, ptr %555, i32 0, i32 0
  %27752 = load i32, ptr %27751, align 4
  %27753 = call zeroext i1 @s2n_result_is_ok(i32 %27752)
  br i1 %27753, label %27807, label %27754

27754:                                            ; preds = %27746
  br label %27755

27755:                                            ; preds = %27754
  br label %27756

27756:                                            ; preds = %27755
  call void @llvm.lifetime.start.p0(i64 4, ptr %556) #11
  %27757 = call ptr @__errno_location() #12
  %27758 = load i32, ptr %27757, align 4, !tbaa !5
  store i32 %27758, ptr %556, align 4, !tbaa !5
  %27759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27760 = call i32 @s2n_print_stacktrace(ptr noundef %27759)
  %27761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27762 = trunc i8 %27761 to i1
  br i1 %27762, label %27763, label %27785

27763:                                            ; preds = %27756
  %27764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27765 = call i32 @fileno(ptr noundef %27764) #11
  %27766 = call i32 @isatty(i32 noundef %27765) #11
  %27767 = icmp ne i32 %27766, 0
  br i1 %27767, label %27768, label %27785

27768:                                            ; preds = %27763
  %27769 = load i32, ptr %556, align 4, !tbaa !5
  %27770 = call ptr @__errno_location() #12
  store i32 %27769, ptr %27770, align 4, !tbaa !5
  %27771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27772 = load i32, ptr @test_count, align 4, !tbaa !5
  %27773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27774 = load i32, ptr %27773, align 4, !tbaa !5
  %27775 = call ptr @s2n_strerror(i32 noundef %27774, ptr noundef @.str.4)
  %27776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27777 = load i32, ptr %27776, align 4, !tbaa !5
  %27778 = call ptr @s2n_strerror_debug(i32 noundef %27777, ptr noundef @.str.4)
  %27779 = call ptr @__errno_location() #12
  %27780 = load i32, ptr %27779, align 4, !tbaa !5
  %27781 = call ptr @strerror(i32 noundef %27780) #11
  %27782 = call ptr @__errno_location() #12
  %27783 = load i32, ptr %27782, align 4, !tbaa !5
  %27784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27771, ptr noundef @.str.2, i32 noundef %27772, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 794, ptr noundef %27775, ptr noundef %27778, ptr noundef %27781, i32 noundef %27783) #11
  br label %27802

27785:                                            ; preds = %27763, %27756
  %27786 = load i32, ptr %556, align 4, !tbaa !5
  %27787 = call ptr @__errno_location() #12
  store i32 %27786, ptr %27787, align 4, !tbaa !5
  %27788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27789 = load i32, ptr @test_count, align 4, !tbaa !5
  %27790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27791 = load i32, ptr %27790, align 4, !tbaa !5
  %27792 = call ptr @s2n_strerror(i32 noundef %27791, ptr noundef @.str.4)
  %27793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27794 = load i32, ptr %27793, align 4, !tbaa !5
  %27795 = call ptr @s2n_strerror_debug(i32 noundef %27794, ptr noundef @.str.4)
  %27796 = call ptr @__errno_location() #12
  %27797 = load i32, ptr %27796, align 4, !tbaa !5
  %27798 = call ptr @strerror(i32 noundef %27797) #11
  %27799 = call ptr @__errno_location() #12
  %27800 = load i32, ptr %27799, align 4, !tbaa !5
  %27801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27788, ptr noundef @.str.5, i32 noundef %27789, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 794, ptr noundef %27792, ptr noundef %27795, ptr noundef %27798, i32 noundef %27800) #11
  br label %27802

27802:                                            ; preds = %27785, %27768
  call void @llvm.lifetime.end.p0(i64 4, ptr %556) #11
  br label %27803

27803:                                            ; preds = %27802
  br label %27804

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

27805:                                            ; No predecessors!
  br label %27806

27806:                                            ; preds = %27805
  br label %27807

27807:                                            ; preds = %27806, %27746
  br label %27808

27808:                                            ; preds = %27807
  br label %27809

27809:                                            ; preds = %27808
  br label %27810

27810:                                            ; preds = %27809
  %27811 = load i32, ptr @test_count, align 4, !tbaa !5
  %27812 = add nsw i32 %27811, 1
  store i32 %27812, ptr @test_count, align 4, !tbaa !5
  %27813 = load ptr, ptr %552, align 8, !tbaa !9
  %27814 = load ptr, ptr %12, align 8, !tbaa !9
  %27815 = call i32 @s2n_connection_append_psk(ptr noundef %27813, ptr noundef %27814)
  %27816 = icmp eq i32 %27815, -1
  br i1 %27816, label %27817, label %27870

27817:                                            ; preds = %27810
  br label %27818

27818:                                            ; preds = %27817
  br label %27819

27819:                                            ; preds = %27818
  call void @llvm.lifetime.start.p0(i64 4, ptr %557) #11
  %27820 = call ptr @__errno_location() #12
  %27821 = load i32, ptr %27820, align 4, !tbaa !5
  store i32 %27821, ptr %557, align 4, !tbaa !5
  %27822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27823 = call i32 @s2n_print_stacktrace(ptr noundef %27822)
  %27824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27825 = trunc i8 %27824 to i1
  br i1 %27825, label %27826, label %27848

27826:                                            ; preds = %27819
  %27827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27828 = call i32 @fileno(ptr noundef %27827) #11
  %27829 = call i32 @isatty(i32 noundef %27828) #11
  %27830 = icmp ne i32 %27829, 0
  br i1 %27830, label %27831, label %27848

27831:                                            ; preds = %27826
  %27832 = load i32, ptr %557, align 4, !tbaa !5
  %27833 = call ptr @__errno_location() #12
  store i32 %27832, ptr %27833, align 4, !tbaa !5
  %27834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27835 = load i32, ptr @test_count, align 4, !tbaa !5
  %27836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27837 = load i32, ptr %27836, align 4, !tbaa !5
  %27838 = call ptr @s2n_strerror(i32 noundef %27837, ptr noundef @.str.4)
  %27839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27840 = load i32, ptr %27839, align 4, !tbaa !5
  %27841 = call ptr @s2n_strerror_debug(i32 noundef %27840, ptr noundef @.str.4)
  %27842 = call ptr @__errno_location() #12
  %27843 = load i32, ptr %27842, align 4, !tbaa !5
  %27844 = call ptr @strerror(i32 noundef %27843) #11
  %27845 = call ptr @__errno_location() #12
  %27846 = load i32, ptr %27845, align 4, !tbaa !5
  %27847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27834, ptr noundef @.str.2, i32 noundef %27835, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 796, ptr noundef %27838, ptr noundef %27841, ptr noundef %27844, i32 noundef %27846) #11
  br label %27865

27848:                                            ; preds = %27826, %27819
  %27849 = load i32, ptr %557, align 4, !tbaa !5
  %27850 = call ptr @__errno_location() #12
  store i32 %27849, ptr %27850, align 4, !tbaa !5
  %27851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27852 = load i32, ptr @test_count, align 4, !tbaa !5
  %27853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27854 = load i32, ptr %27853, align 4, !tbaa !5
  %27855 = call ptr @s2n_strerror(i32 noundef %27854, ptr noundef @.str.4)
  %27856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27857 = load i32, ptr %27856, align 4, !tbaa !5
  %27858 = call ptr @s2n_strerror_debug(i32 noundef %27857, ptr noundef @.str.4)
  %27859 = call ptr @__errno_location() #12
  %27860 = load i32, ptr %27859, align 4, !tbaa !5
  %27861 = call ptr @strerror(i32 noundef %27860) #11
  %27862 = call ptr @__errno_location() #12
  %27863 = load i32, ptr %27862, align 4, !tbaa !5
  %27864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27851, ptr noundef @.str.5, i32 noundef %27852, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 796, ptr noundef %27855, ptr noundef %27858, ptr noundef %27861, i32 noundef %27863) #11
  br label %27865

27865:                                            ; preds = %27848, %27831
  call void @llvm.lifetime.end.p0(i64 4, ptr %557) #11
  br label %27866

27866:                                            ; preds = %27865
  br label %27867

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

27868:                                            ; No predecessors!
  br label %27869

27869:                                            ; preds = %27868
  br label %27870

27870:                                            ; preds = %27869, %27810
  br label %27871

27871:                                            ; preds = %27870
  br label %27872

27872:                                            ; preds = %27871
  br label %27873

27873:                                            ; preds = %27872
  %27874 = load i32, ptr @test_count, align 4, !tbaa !5
  %27875 = add nsw i32 %27874, 1
  store i32 %27875, ptr @test_count, align 4, !tbaa !5
  %27876 = load ptr, ptr %553, align 8, !tbaa !9
  %27877 = load ptr, ptr %12, align 8, !tbaa !9
  %27878 = call i32 @s2n_connection_append_psk(ptr noundef %27876, ptr noundef %27877)
  %27879 = icmp eq i32 %27878, -1
  br i1 %27879, label %27880, label %27933

27880:                                            ; preds = %27873
  br label %27881

27881:                                            ; preds = %27880
  br label %27882

27882:                                            ; preds = %27881
  call void @llvm.lifetime.start.p0(i64 4, ptr %558) #11
  %27883 = call ptr @__errno_location() #12
  %27884 = load i32, ptr %27883, align 4, !tbaa !5
  store i32 %27884, ptr %558, align 4, !tbaa !5
  %27885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27886 = call i32 @s2n_print_stacktrace(ptr noundef %27885)
  %27887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27888 = trunc i8 %27887 to i1
  br i1 %27888, label %27889, label %27911

27889:                                            ; preds = %27882
  %27890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27891 = call i32 @fileno(ptr noundef %27890) #11
  %27892 = call i32 @isatty(i32 noundef %27891) #11
  %27893 = icmp ne i32 %27892, 0
  br i1 %27893, label %27894, label %27911

27894:                                            ; preds = %27889
  %27895 = load i32, ptr %558, align 4, !tbaa !5
  %27896 = call ptr @__errno_location() #12
  store i32 %27895, ptr %27896, align 4, !tbaa !5
  %27897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27898 = load i32, ptr @test_count, align 4, !tbaa !5
  %27899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27900 = load i32, ptr %27899, align 4, !tbaa !5
  %27901 = call ptr @s2n_strerror(i32 noundef %27900, ptr noundef @.str.4)
  %27902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27903 = load i32, ptr %27902, align 4, !tbaa !5
  %27904 = call ptr @s2n_strerror_debug(i32 noundef %27903, ptr noundef @.str.4)
  %27905 = call ptr @__errno_location() #12
  %27906 = load i32, ptr %27905, align 4, !tbaa !5
  %27907 = call ptr @strerror(i32 noundef %27906) #11
  %27908 = call ptr @__errno_location() #12
  %27909 = load i32, ptr %27908, align 4, !tbaa !5
  %27910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27897, ptr noundef @.str.2, i32 noundef %27898, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 797, ptr noundef %27901, ptr noundef %27904, ptr noundef %27907, i32 noundef %27909) #11
  br label %27928

27911:                                            ; preds = %27889, %27882
  %27912 = load i32, ptr %558, align 4, !tbaa !5
  %27913 = call ptr @__errno_location() #12
  store i32 %27912, ptr %27913, align 4, !tbaa !5
  %27914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27915 = load i32, ptr @test_count, align 4, !tbaa !5
  %27916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27917 = load i32, ptr %27916, align 4, !tbaa !5
  %27918 = call ptr @s2n_strerror(i32 noundef %27917, ptr noundef @.str.4)
  %27919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27920 = load i32, ptr %27919, align 4, !tbaa !5
  %27921 = call ptr @s2n_strerror_debug(i32 noundef %27920, ptr noundef @.str.4)
  %27922 = call ptr @__errno_location() #12
  %27923 = load i32, ptr %27922, align 4, !tbaa !5
  %27924 = call ptr @strerror(i32 noundef %27923) #11
  %27925 = call ptr @__errno_location() #12
  %27926 = load i32, ptr %27925, align 4, !tbaa !5
  %27927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27914, ptr noundef @.str.5, i32 noundef %27915, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 797, ptr noundef %27918, ptr noundef %27921, ptr noundef %27924, i32 noundef %27926) #11
  br label %27928

27928:                                            ; preds = %27911, %27894
  call void @llvm.lifetime.end.p0(i64 4, ptr %558) #11
  br label %27929

27929:                                            ; preds = %27928
  br label %27930

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

27931:                                            ; No predecessors!
  br label %27932

27932:                                            ; preds = %27931
  br label %27933

27933:                                            ; preds = %27932, %27873
  br label %27934

27934:                                            ; preds = %27933
  br label %27935

27935:                                            ; preds = %27934
  br label %27936

27936:                                            ; preds = %27935
  %27937 = load i32, ptr @test_count, align 4, !tbaa !5
  %27938 = add nsw i32 %27937, 1
  store i32 %27938, ptr @test_count, align 4, !tbaa !5
  %27939 = load ptr, ptr %552, align 8, !tbaa !9
  %27940 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %27939)
  %27941 = icmp eq i32 %27940, -1
  br i1 %27941, label %27942, label %27995

27942:                                            ; preds = %27936
  br label %27943

27943:                                            ; preds = %27942
  br label %27944

27944:                                            ; preds = %27943
  call void @llvm.lifetime.start.p0(i64 4, ptr %559) #11
  %27945 = call ptr @__errno_location() #12
  %27946 = load i32, ptr %27945, align 4, !tbaa !5
  store i32 %27946, ptr %559, align 4, !tbaa !5
  %27947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27948 = call i32 @s2n_print_stacktrace(ptr noundef %27947)
  %27949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27950 = trunc i8 %27949 to i1
  br i1 %27950, label %27951, label %27973

27951:                                            ; preds = %27944
  %27952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27953 = call i32 @fileno(ptr noundef %27952) #11
  %27954 = call i32 @isatty(i32 noundef %27953) #11
  %27955 = icmp ne i32 %27954, 0
  br i1 %27955, label %27956, label %27973

27956:                                            ; preds = %27951
  %27957 = load i32, ptr %559, align 4, !tbaa !5
  %27958 = call ptr @__errno_location() #12
  store i32 %27957, ptr %27958, align 4, !tbaa !5
  %27959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27960 = load i32, ptr @test_count, align 4, !tbaa !5
  %27961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27962 = load i32, ptr %27961, align 4, !tbaa !5
  %27963 = call ptr @s2n_strerror(i32 noundef %27962, ptr noundef @.str.4)
  %27964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27965 = load i32, ptr %27964, align 4, !tbaa !5
  %27966 = call ptr @s2n_strerror_debug(i32 noundef %27965, ptr noundef @.str.4)
  %27967 = call ptr @__errno_location() #12
  %27968 = load i32, ptr %27967, align 4, !tbaa !5
  %27969 = call ptr @strerror(i32 noundef %27968) #11
  %27970 = call ptr @__errno_location() #12
  %27971 = load i32, ptr %27970, align 4, !tbaa !5
  %27972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27959, ptr noundef @.str.2, i32 noundef %27960, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 798, ptr noundef %27963, ptr noundef %27966, ptr noundef %27969, i32 noundef %27971) #11
  br label %27990

27973:                                            ; preds = %27951, %27944
  %27974 = load i32, ptr %559, align 4, !tbaa !5
  %27975 = call ptr @__errno_location() #12
  store i32 %27974, ptr %27975, align 4, !tbaa !5
  %27976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27977 = load i32, ptr @test_count, align 4, !tbaa !5
  %27978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27979 = load i32, ptr %27978, align 4, !tbaa !5
  %27980 = call ptr @s2n_strerror(i32 noundef %27979, ptr noundef @.str.4)
  %27981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27982 = load i32, ptr %27981, align 4, !tbaa !5
  %27983 = call ptr @s2n_strerror_debug(i32 noundef %27982, ptr noundef @.str.4)
  %27984 = call ptr @__errno_location() #12
  %27985 = load i32, ptr %27984, align 4, !tbaa !5
  %27986 = call ptr @strerror(i32 noundef %27985) #11
  %27987 = call ptr @__errno_location() #12
  %27988 = load i32, ptr %27987, align 4, !tbaa !5
  %27989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27976, ptr noundef @.str.5, i32 noundef %27977, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 798, ptr noundef %27980, ptr noundef %27983, ptr noundef %27986, i32 noundef %27988) #11
  br label %27990

27990:                                            ; preds = %27973, %27956
  call void @llvm.lifetime.end.p0(i64 4, ptr %559) #11
  br label %27991

27991:                                            ; preds = %27990
  br label %27992

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

27993:                                            ; No predecessors!
  br label %27994

27994:                                            ; preds = %27993
  br label %27995

27995:                                            ; preds = %27994, %27936
  br label %27996

27996:                                            ; preds = %27995
  br label %27997

27997:                                            ; preds = %27996
  br label %27998

27998:                                            ; preds = %27997
  %27999 = load i32, ptr @test_count, align 4, !tbaa !5
  %28000 = add nsw i32 %27999, 1
  store i32 %28000, ptr @test_count, align 4, !tbaa !5
  %28001 = load ptr, ptr %553, align 8, !tbaa !9
  %28002 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %28001)
  %28003 = icmp eq i32 %28002, -1
  br i1 %28003, label %28004, label %28057

28004:                                            ; preds = %27998
  br label %28005

28005:                                            ; preds = %28004
  br label %28006

28006:                                            ; preds = %28005
  call void @llvm.lifetime.start.p0(i64 4, ptr %560) #11
  %28007 = call ptr @__errno_location() #12
  %28008 = load i32, ptr %28007, align 4, !tbaa !5
  store i32 %28008, ptr %560, align 4, !tbaa !5
  %28009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28010 = call i32 @s2n_print_stacktrace(ptr noundef %28009)
  %28011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28012 = trunc i8 %28011 to i1
  br i1 %28012, label %28013, label %28035

28013:                                            ; preds = %28006
  %28014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28015 = call i32 @fileno(ptr noundef %28014) #11
  %28016 = call i32 @isatty(i32 noundef %28015) #11
  %28017 = icmp ne i32 %28016, 0
  br i1 %28017, label %28018, label %28035

28018:                                            ; preds = %28013
  %28019 = load i32, ptr %560, align 4, !tbaa !5
  %28020 = call ptr @__errno_location() #12
  store i32 %28019, ptr %28020, align 4, !tbaa !5
  %28021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28022 = load i32, ptr @test_count, align 4, !tbaa !5
  %28023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28024 = load i32, ptr %28023, align 4, !tbaa !5
  %28025 = call ptr @s2n_strerror(i32 noundef %28024, ptr noundef @.str.4)
  %28026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28027 = load i32, ptr %28026, align 4, !tbaa !5
  %28028 = call ptr @s2n_strerror_debug(i32 noundef %28027, ptr noundef @.str.4)
  %28029 = call ptr @__errno_location() #12
  %28030 = load i32, ptr %28029, align 4, !tbaa !5
  %28031 = call ptr @strerror(i32 noundef %28030) #11
  %28032 = call ptr @__errno_location() #12
  %28033 = load i32, ptr %28032, align 4, !tbaa !5
  %28034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28021, ptr noundef @.str.2, i32 noundef %28022, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 799, ptr noundef %28025, ptr noundef %28028, ptr noundef %28031, i32 noundef %28033) #11
  br label %28052

28035:                                            ; preds = %28013, %28006
  %28036 = load i32, ptr %560, align 4, !tbaa !5
  %28037 = call ptr @__errno_location() #12
  store i32 %28036, ptr %28037, align 4, !tbaa !5
  %28038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28039 = load i32, ptr @test_count, align 4, !tbaa !5
  %28040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28041 = load i32, ptr %28040, align 4, !tbaa !5
  %28042 = call ptr @s2n_strerror(i32 noundef %28041, ptr noundef @.str.4)
  %28043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28044 = load i32, ptr %28043, align 4, !tbaa !5
  %28045 = call ptr @s2n_strerror_debug(i32 noundef %28044, ptr noundef @.str.4)
  %28046 = call ptr @__errno_location() #12
  %28047 = load i32, ptr %28046, align 4, !tbaa !5
  %28048 = call ptr @strerror(i32 noundef %28047) #11
  %28049 = call ptr @__errno_location() #12
  %28050 = load i32, ptr %28049, align 4, !tbaa !5
  %28051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28038, ptr noundef @.str.5, i32 noundef %28039, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 799, ptr noundef %28042, ptr noundef %28045, ptr noundef %28048, i32 noundef %28050) #11
  br label %28052

28052:                                            ; preds = %28035, %28018
  call void @llvm.lifetime.end.p0(i64 4, ptr %560) #11
  br label %28053

28053:                                            ; preds = %28052
  br label %28054

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

28055:                                            ; No predecessors!
  br label %28056

28056:                                            ; preds = %28055
  br label %28057

28057:                                            ; preds = %28056, %27998
  br label %28058

28058:                                            ; preds = %28057
  br label %28059

28059:                                            ; preds = %28058
  call void @llvm.lifetime.start.p0(i64 4, ptr %561) #11
  store i32 0, ptr %561, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1000, ptr %562) #11
  call void @llvm.memset.p0.i64(ptr align 16 %562, i8 0, i64 1000, i1 false)
  %28060 = getelementptr inbounds [1000 x i8], ptr %562, i32 0, i32 0
  store i8 104, ptr %28060, align 16
  %28061 = getelementptr inbounds [1000 x i8], ptr %562, i32 0, i32 1
  store i8 101, ptr %28061, align 1
  %28062 = getelementptr inbounds [1000 x i8], ptr %562, i32 0, i32 2
  store i8 108, ptr %28062, align 2
  %28063 = getelementptr inbounds [1000 x i8], ptr %562, i32 0, i32 3
  store i8 108, ptr %28063, align 1
  %28064 = getelementptr inbounds [1000 x i8], ptr %562, i32 0, i32 4
  store i8 111, ptr %28064, align 4
  call void @llvm.lifetime.start.p0(i64 1000, ptr %563) #11
  call void @llvm.memset.p0.i64(ptr align 16 %563, i8 0, i64 1000, i1 false)
  br label %28065

28065:                                            ; preds = %28059
  %28066 = load i32, ptr @test_count, align 4, !tbaa !5
  %28067 = add nsw i32 %28066, 1
  store i32 %28067, ptr @test_count, align 4, !tbaa !5
  %28068 = load ptr, ptr %553, align 8, !tbaa !9
  %28069 = load ptr, ptr %552, align 8, !tbaa !9
  %28070 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %28068, ptr noundef %28069, i32 noundef 19)
  %28071 = getelementptr inbounds %struct.s2n_result, ptr %564, i32 0, i32 0
  store i32 %28070, ptr %28071, align 4
  %28072 = getelementptr inbounds %struct.s2n_result, ptr %564, i32 0, i32 0
  %28073 = load i32, ptr %28072, align 4
  %28074 = call zeroext i1 @s2n_result_is_ok(i32 %28073)
  br i1 %28074, label %28128, label %28075

28075:                                            ; preds = %28065
  br label %28076

28076:                                            ; preds = %28075
  br label %28077

28077:                                            ; preds = %28076
  call void @llvm.lifetime.start.p0(i64 4, ptr %565) #11
  %28078 = call ptr @__errno_location() #12
  %28079 = load i32, ptr %28078, align 4, !tbaa !5
  store i32 %28079, ptr %565, align 4, !tbaa !5
  %28080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28081 = call i32 @s2n_print_stacktrace(ptr noundef %28080)
  %28082 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28083 = trunc i8 %28082 to i1
  br i1 %28083, label %28084, label %28106

28084:                                            ; preds = %28077
  %28085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28086 = call i32 @fileno(ptr noundef %28085) #11
  %28087 = call i32 @isatty(i32 noundef %28086) #11
  %28088 = icmp ne i32 %28087, 0
  br i1 %28088, label %28089, label %28106

28089:                                            ; preds = %28084
  %28090 = load i32, ptr %565, align 4, !tbaa !5
  %28091 = call ptr @__errno_location() #12
  store i32 %28090, ptr %28091, align 4, !tbaa !5
  %28092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28093 = load i32, ptr @test_count, align 4, !tbaa !5
  %28094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28095 = load i32, ptr %28094, align 4, !tbaa !5
  %28096 = call ptr @s2n_strerror(i32 noundef %28095, ptr noundef @.str.4)
  %28097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28098 = load i32, ptr %28097, align 4, !tbaa !5
  %28099 = call ptr @s2n_strerror_debug(i32 noundef %28098, ptr noundef @.str.4)
  %28100 = call ptr @__errno_location() #12
  %28101 = load i32, ptr %28100, align 4, !tbaa !5
  %28102 = call ptr @strerror(i32 noundef %28101) #11
  %28103 = call ptr @__errno_location() #12
  %28104 = load i32, ptr %28103, align 4, !tbaa !5
  %28105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28092, ptr noundef @.str.2, i32 noundef %28093, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 806, ptr noundef %28096, ptr noundef %28099, ptr noundef %28102, i32 noundef %28104) #11
  br label %28123

28106:                                            ; preds = %28084, %28077
  %28107 = load i32, ptr %565, align 4, !tbaa !5
  %28108 = call ptr @__errno_location() #12
  store i32 %28107, ptr %28108, align 4, !tbaa !5
  %28109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28110 = load i32, ptr @test_count, align 4, !tbaa !5
  %28111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28112 = load i32, ptr %28111, align 4, !tbaa !5
  %28113 = call ptr @s2n_strerror(i32 noundef %28112, ptr noundef @.str.4)
  %28114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28115 = load i32, ptr %28114, align 4, !tbaa !5
  %28116 = call ptr @s2n_strerror_debug(i32 noundef %28115, ptr noundef @.str.4)
  %28117 = call ptr @__errno_location() #12
  %28118 = load i32, ptr %28117, align 4, !tbaa !5
  %28119 = call ptr @strerror(i32 noundef %28118) #11
  %28120 = call ptr @__errno_location() #12
  %28121 = load i32, ptr %28120, align 4, !tbaa !5
  %28122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28109, ptr noundef @.str.5, i32 noundef %28110, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 806, ptr noundef %28113, ptr noundef %28116, ptr noundef %28119, i32 noundef %28121) #11
  br label %28123

28123:                                            ; preds = %28106, %28089
  call void @llvm.lifetime.end.p0(i64 4, ptr %565) #11
  br label %28124

28124:                                            ; preds = %28123
  br label %28125

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

28126:                                            ; No predecessors!
  br label %28127

28127:                                            ; preds = %28126
  br label %28128

28128:                                            ; preds = %28127, %28065
  br label %28129

28129:                                            ; preds = %28128
  br label %28130

28130:                                            ; preds = %28129
  br label %28131

28131:                                            ; preds = %28130
  %28132 = load i32, ptr @test_count, align 4, !tbaa !5
  %28133 = add nsw i32 %28132, 1
  store i32 %28133, ptr @test_count, align 4, !tbaa !5
  %28134 = load ptr, ptr %552, align 8, !tbaa !9
  %28135 = getelementptr inbounds [1000 x i8], ptr %562, i64 0, i64 0
  %28136 = call i64 @s2n_send(ptr noundef %28134, ptr noundef %28135, i64 noundef 1000, ptr noundef %561)
  %28137 = icmp eq i64 %28136, 1000
  br i1 %28137, label %28191, label %28138

28138:                                            ; preds = %28131
  br label %28139

28139:                                            ; preds = %28138
  br label %28140

28140:                                            ; preds = %28139
  call void @llvm.lifetime.start.p0(i64 4, ptr %566) #11
  %28141 = call ptr @__errno_location() #12
  %28142 = load i32, ptr %28141, align 4, !tbaa !5
  store i32 %28142, ptr %566, align 4, !tbaa !5
  %28143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28144 = call i32 @s2n_print_stacktrace(ptr noundef %28143)
  %28145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28146 = trunc i8 %28145 to i1
  br i1 %28146, label %28147, label %28169

28147:                                            ; preds = %28140
  %28148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28149 = call i32 @fileno(ptr noundef %28148) #11
  %28150 = call i32 @isatty(i32 noundef %28149) #11
  %28151 = icmp ne i32 %28150, 0
  br i1 %28151, label %28152, label %28169

28152:                                            ; preds = %28147
  %28153 = load i32, ptr %566, align 4, !tbaa !5
  %28154 = call ptr @__errno_location() #12
  store i32 %28153, ptr %28154, align 4, !tbaa !5
  %28155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28156 = load i32, ptr @test_count, align 4, !tbaa !5
  %28157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28158 = load i32, ptr %28157, align 4, !tbaa !5
  %28159 = call ptr @s2n_strerror(i32 noundef %28158, ptr noundef @.str.4)
  %28160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28161 = load i32, ptr %28160, align 4, !tbaa !5
  %28162 = call ptr @s2n_strerror_debug(i32 noundef %28161, ptr noundef @.str.4)
  %28163 = call ptr @__errno_location() #12
  %28164 = load i32, ptr %28163, align 4, !tbaa !5
  %28165 = call ptr @strerror(i32 noundef %28164) #11
  %28166 = call ptr @__errno_location() #12
  %28167 = load i32, ptr %28166, align 4, !tbaa !5
  %28168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28155, ptr noundef @.str.2, i32 noundef %28156, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 809, ptr noundef %28159, ptr noundef %28162, ptr noundef %28165, i32 noundef %28167) #11
  br label %28186

28169:                                            ; preds = %28147, %28140
  %28170 = load i32, ptr %566, align 4, !tbaa !5
  %28171 = call ptr @__errno_location() #12
  store i32 %28170, ptr %28171, align 4, !tbaa !5
  %28172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28173 = load i32, ptr @test_count, align 4, !tbaa !5
  %28174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28175 = load i32, ptr %28174, align 4, !tbaa !5
  %28176 = call ptr @s2n_strerror(i32 noundef %28175, ptr noundef @.str.4)
  %28177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28178 = load i32, ptr %28177, align 4, !tbaa !5
  %28179 = call ptr @s2n_strerror_debug(i32 noundef %28178, ptr noundef @.str.4)
  %28180 = call ptr @__errno_location() #12
  %28181 = load i32, ptr %28180, align 4, !tbaa !5
  %28182 = call ptr @strerror(i32 noundef %28181) #11
  %28183 = call ptr @__errno_location() #12
  %28184 = load i32, ptr %28183, align 4, !tbaa !5
  %28185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28172, ptr noundef @.str.5, i32 noundef %28173, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 809, ptr noundef %28176, ptr noundef %28179, ptr noundef %28182, i32 noundef %28184) #11
  br label %28186

28186:                                            ; preds = %28169, %28152
  call void @llvm.lifetime.end.p0(i64 4, ptr %566) #11
  br label %28187

28187:                                            ; preds = %28186
  br label %28188

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

28189:                                            ; No predecessors!
  br label %28190

28190:                                            ; preds = %28189
  br label %28191

28191:                                            ; preds = %28190, %28131
  br label %28192

28192:                                            ; preds = %28191
  br label %28193

28193:                                            ; preds = %28192
  br label %28194

28194:                                            ; preds = %28193
  br label %28195

28195:                                            ; preds = %28194
  br label %28196

28196:                                            ; preds = %28195
  %28197 = load i32, ptr @test_count, align 4, !tbaa !5
  %28198 = add nsw i32 %28197, 1
  store i32 %28198, ptr @test_count, align 4, !tbaa !5
  %28199 = load ptr, ptr %553, align 8, !tbaa !9
  %28200 = call i32 @s2n_negotiate(ptr noundef %28199, ptr noundef %561)
  %28201 = icmp eq i32 %28200, -1
  br i1 %28201, label %28255, label %28202

28202:                                            ; preds = %28196
  br label %28203

28203:                                            ; preds = %28202
  br label %28204

28204:                                            ; preds = %28203
  call void @llvm.lifetime.start.p0(i64 4, ptr %567) #11
  %28205 = call ptr @__errno_location() #12
  %28206 = load i32, ptr %28205, align 4, !tbaa !5
  store i32 %28206, ptr %567, align 4, !tbaa !5
  %28207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28208 = call i32 @s2n_print_stacktrace(ptr noundef %28207)
  %28209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28210 = trunc i8 %28209 to i1
  br i1 %28210, label %28211, label %28233

28211:                                            ; preds = %28204
  %28212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28213 = call i32 @fileno(ptr noundef %28212) #11
  %28214 = call i32 @isatty(i32 noundef %28213) #11
  %28215 = icmp ne i32 %28214, 0
  br i1 %28215, label %28216, label %28233

28216:                                            ; preds = %28211
  %28217 = load i32, ptr %567, align 4, !tbaa !5
  %28218 = call ptr @__errno_location() #12
  store i32 %28217, ptr %28218, align 4, !tbaa !5
  %28219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28220 = load i32, ptr @test_count, align 4, !tbaa !5
  %28221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28222 = load i32, ptr %28221, align 4, !tbaa !5
  %28223 = call ptr @s2n_strerror(i32 noundef %28222, ptr noundef @.str.4)
  %28224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28225 = load i32, ptr %28224, align 4, !tbaa !5
  %28226 = call ptr @s2n_strerror_debug(i32 noundef %28225, ptr noundef @.str.4)
  %28227 = call ptr @__errno_location() #12
  %28228 = load i32, ptr %28227, align 4, !tbaa !5
  %28229 = call ptr @strerror(i32 noundef %28228) #11
  %28230 = call ptr @__errno_location() #12
  %28231 = load i32, ptr %28230, align 4, !tbaa !5
  %28232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28219, ptr noundef @.str.2, i32 noundef %28220, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 810, ptr noundef %28223, ptr noundef %28226, ptr noundef %28229, i32 noundef %28231) #11
  br label %28250

28233:                                            ; preds = %28211, %28204
  %28234 = load i32, ptr %567, align 4, !tbaa !5
  %28235 = call ptr @__errno_location() #12
  store i32 %28234, ptr %28235, align 4, !tbaa !5
  %28236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28237 = load i32, ptr @test_count, align 4, !tbaa !5
  %28238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28239 = load i32, ptr %28238, align 4, !tbaa !5
  %28240 = call ptr @s2n_strerror(i32 noundef %28239, ptr noundef @.str.4)
  %28241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28242 = load i32, ptr %28241, align 4, !tbaa !5
  %28243 = call ptr @s2n_strerror_debug(i32 noundef %28242, ptr noundef @.str.4)
  %28244 = call ptr @__errno_location() #12
  %28245 = load i32, ptr %28244, align 4, !tbaa !5
  %28246 = call ptr @strerror(i32 noundef %28245) #11
  %28247 = call ptr @__errno_location() #12
  %28248 = load i32, ptr %28247, align 4, !tbaa !5
  %28249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28236, ptr noundef @.str.5, i32 noundef %28237, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 810, ptr noundef %28240, ptr noundef %28243, ptr noundef %28246, i32 noundef %28248) #11
  br label %28250

28250:                                            ; preds = %28233, %28216
  call void @llvm.lifetime.end.p0(i64 4, ptr %567) #11
  br label %28251

28251:                                            ; preds = %28250
  br label %28252

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

28253:                                            ; No predecessors!
  br label %28254

28254:                                            ; preds = %28253
  br label %28255

28255:                                            ; preds = %28254, %28196
  br label %28256

28256:                                            ; preds = %28255
  br label %28257

28257:                                            ; preds = %28256
  br label %28258

28258:                                            ; preds = %28257
  %28259 = load i32, ptr @test_count, align 4, !tbaa !5
  %28260 = add nsw i32 %28259, 1
  store i32 %28260, ptr @test_count, align 4, !tbaa !5
  %28261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28262 = load i32, ptr %28261, align 4, !tbaa !5
  %28263 = icmp eq i32 %28262, 201326594
  br i1 %28263, label %28317, label %28264

28264:                                            ; preds = %28258
  br label %28265

28265:                                            ; preds = %28264
  br label %28266

28266:                                            ; preds = %28265
  call void @llvm.lifetime.start.p0(i64 4, ptr %568) #11
  %28267 = call ptr @__errno_location() #12
  %28268 = load i32, ptr %28267, align 4, !tbaa !5
  store i32 %28268, ptr %568, align 4, !tbaa !5
  %28269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28270 = call i32 @s2n_print_stacktrace(ptr noundef %28269)
  %28271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28272 = trunc i8 %28271 to i1
  br i1 %28272, label %28273, label %28295

28273:                                            ; preds = %28266
  %28274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28275 = call i32 @fileno(ptr noundef %28274) #11
  %28276 = call i32 @isatty(i32 noundef %28275) #11
  %28277 = icmp ne i32 %28276, 0
  br i1 %28277, label %28278, label %28295

28278:                                            ; preds = %28273
  %28279 = load i32, ptr %568, align 4, !tbaa !5
  %28280 = call ptr @__errno_location() #12
  store i32 %28279, ptr %28280, align 4, !tbaa !5
  %28281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28282 = load i32, ptr @test_count, align 4, !tbaa !5
  %28283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28284 = load i32, ptr %28283, align 4, !tbaa !5
  %28285 = call ptr @s2n_strerror(i32 noundef %28284, ptr noundef @.str.4)
  %28286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28287 = load i32, ptr %28286, align 4, !tbaa !5
  %28288 = call ptr @s2n_strerror_debug(i32 noundef %28287, ptr noundef @.str.4)
  %28289 = call ptr @__errno_location() #12
  %28290 = load i32, ptr %28289, align 4, !tbaa !5
  %28291 = call ptr @strerror(i32 noundef %28290) #11
  %28292 = call ptr @__errno_location() #12
  %28293 = load i32, ptr %28292, align 4, !tbaa !5
  %28294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28281, ptr noundef @.str.2, i32 noundef %28282, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 810, ptr noundef %28285, ptr noundef %28288, ptr noundef %28291, i32 noundef %28293) #11
  br label %28312

28295:                                            ; preds = %28273, %28266
  %28296 = load i32, ptr %568, align 4, !tbaa !5
  %28297 = call ptr @__errno_location() #12
  store i32 %28296, ptr %28297, align 4, !tbaa !5
  %28298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28299 = load i32, ptr @test_count, align 4, !tbaa !5
  %28300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28301 = load i32, ptr %28300, align 4, !tbaa !5
  %28302 = call ptr @s2n_strerror(i32 noundef %28301, ptr noundef @.str.4)
  %28303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28304 = load i32, ptr %28303, align 4, !tbaa !5
  %28305 = call ptr @s2n_strerror_debug(i32 noundef %28304, ptr noundef @.str.4)
  %28306 = call ptr @__errno_location() #12
  %28307 = load i32, ptr %28306, align 4, !tbaa !5
  %28308 = call ptr @strerror(i32 noundef %28307) #11
  %28309 = call ptr @__errno_location() #12
  %28310 = load i32, ptr %28309, align 4, !tbaa !5
  %28311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28298, ptr noundef @.str.5, i32 noundef %28299, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 810, ptr noundef %28302, ptr noundef %28305, ptr noundef %28308, i32 noundef %28310) #11
  br label %28312

28312:                                            ; preds = %28295, %28278
  call void @llvm.lifetime.end.p0(i64 4, ptr %568) #11
  br label %28313

28313:                                            ; preds = %28312
  br label %28314

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

28315:                                            ; No predecessors!
  br label %28316

28316:                                            ; preds = %28315
  br label %28317

28317:                                            ; preds = %28316, %28258
  br label %28318

28318:                                            ; preds = %28317
  br label %28319

28319:                                            ; preds = %28318
  br label %28320

28320:                                            ; preds = %28319
  %28321 = load i32, ptr @test_count, align 4, !tbaa !5
  %28322 = add nsw i32 %28321, 1
  store i32 %28322, ptr @test_count, align 4, !tbaa !5
  %28323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28324 = load i32, ptr %28323, align 4, !tbaa !5
  %28325 = call ptr @s2n_strerror_debug(i32 noundef %28324, ptr noundef @.str.4)
  %28326 = icmp eq ptr %28325, null
  br i1 %28326, label %28327, label %28380

28327:                                            ; preds = %28320
  br label %28328

28328:                                            ; preds = %28327
  br label %28329

28329:                                            ; preds = %28328
  call void @llvm.lifetime.start.p0(i64 4, ptr %569) #11
  %28330 = call ptr @__errno_location() #12
  %28331 = load i32, ptr %28330, align 4, !tbaa !5
  store i32 %28331, ptr %569, align 4, !tbaa !5
  %28332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28333 = call i32 @s2n_print_stacktrace(ptr noundef %28332)
  %28334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28335 = trunc i8 %28334 to i1
  br i1 %28335, label %28336, label %28358

28336:                                            ; preds = %28329
  %28337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28338 = call i32 @fileno(ptr noundef %28337) #11
  %28339 = call i32 @isatty(i32 noundef %28338) #11
  %28340 = icmp ne i32 %28339, 0
  br i1 %28340, label %28341, label %28358

28341:                                            ; preds = %28336
  %28342 = load i32, ptr %569, align 4, !tbaa !5
  %28343 = call ptr @__errno_location() #12
  store i32 %28342, ptr %28343, align 4, !tbaa !5
  %28344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28345 = load i32, ptr @test_count, align 4, !tbaa !5
  %28346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28347 = load i32, ptr %28346, align 4, !tbaa !5
  %28348 = call ptr @s2n_strerror(i32 noundef %28347, ptr noundef @.str.4)
  %28349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28350 = load i32, ptr %28349, align 4, !tbaa !5
  %28351 = call ptr @s2n_strerror_debug(i32 noundef %28350, ptr noundef @.str.4)
  %28352 = call ptr @__errno_location() #12
  %28353 = load i32, ptr %28352, align 4, !tbaa !5
  %28354 = call ptr @strerror(i32 noundef %28353) #11
  %28355 = call ptr @__errno_location() #12
  %28356 = load i32, ptr %28355, align 4, !tbaa !5
  %28357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28344, ptr noundef @.str.2, i32 noundef %28345, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 810, ptr noundef %28348, ptr noundef %28351, ptr noundef %28354, i32 noundef %28356) #11
  br label %28375

28358:                                            ; preds = %28336, %28329
  %28359 = load i32, ptr %569, align 4, !tbaa !5
  %28360 = call ptr @__errno_location() #12
  store i32 %28359, ptr %28360, align 4, !tbaa !5
  %28361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28362 = load i32, ptr @test_count, align 4, !tbaa !5
  %28363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28364 = load i32, ptr %28363, align 4, !tbaa !5
  %28365 = call ptr @s2n_strerror(i32 noundef %28364, ptr noundef @.str.4)
  %28366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28367 = load i32, ptr %28366, align 4, !tbaa !5
  %28368 = call ptr @s2n_strerror_debug(i32 noundef %28367, ptr noundef @.str.4)
  %28369 = call ptr @__errno_location() #12
  %28370 = load i32, ptr %28369, align 4, !tbaa !5
  %28371 = call ptr @strerror(i32 noundef %28370) #11
  %28372 = call ptr @__errno_location() #12
  %28373 = load i32, ptr %28372, align 4, !tbaa !5
  %28374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28361, ptr noundef @.str.5, i32 noundef %28362, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 810, ptr noundef %28365, ptr noundef %28368, ptr noundef %28371, i32 noundef %28373) #11
  br label %28375

28375:                                            ; preds = %28358, %28341
  call void @llvm.lifetime.end.p0(i64 4, ptr %569) #11
  br label %28376

28376:                                            ; preds = %28375
  br label %28377

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

28378:                                            ; No predecessors!
  br label %28379

28379:                                            ; preds = %28378
  br label %28380

28380:                                            ; preds = %28379, %28320
  br label %28381

28381:                                            ; preds = %28380
  br label %28382

28382:                                            ; preds = %28381
  br label %28383

28383:                                            ; preds = %28382
  br label %28384

28384:                                            ; preds = %28383
  br label %28385

28385:                                            ; preds = %28384
  %28386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %28386, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %28387 = call ptr @__errno_location() #12
  store i32 0, ptr %28387, align 4, !tbaa !5
  br label %28388

28388:                                            ; preds = %28385
  br label %28389

28389:                                            ; preds = %28388
  br label %28390

28390:                                            ; preds = %28389
  br label %28391

28391:                                            ; preds = %28390
  br label %28392

28392:                                            ; preds = %28391
  %28393 = load i32, ptr @test_count, align 4, !tbaa !5
  %28394 = add nsw i32 %28393, 1
  store i32 %28394, ptr @test_count, align 4, !tbaa !5
  %28395 = load ptr, ptr %553, align 8, !tbaa !9
  %28396 = getelementptr inbounds [1000 x i8], ptr %563, i64 0, i64 0
  %28397 = call i64 @s2n_recv(ptr noundef %28395, ptr noundef %28396, i64 noundef 1000, ptr noundef %561)
  %28398 = icmp eq i64 %28397, 1000
  br i1 %28398, label %28452, label %28399

28399:                                            ; preds = %28392
  br label %28400

28400:                                            ; preds = %28399
  br label %28401

28401:                                            ; preds = %28400
  call void @llvm.lifetime.start.p0(i64 4, ptr %570) #11
  %28402 = call ptr @__errno_location() #12
  %28403 = load i32, ptr %28402, align 4, !tbaa !5
  store i32 %28403, ptr %570, align 4, !tbaa !5
  %28404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28405 = call i32 @s2n_print_stacktrace(ptr noundef %28404)
  %28406 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28407 = trunc i8 %28406 to i1
  br i1 %28407, label %28408, label %28430

28408:                                            ; preds = %28401
  %28409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28410 = call i32 @fileno(ptr noundef %28409) #11
  %28411 = call i32 @isatty(i32 noundef %28410) #11
  %28412 = icmp ne i32 %28411, 0
  br i1 %28412, label %28413, label %28430

28413:                                            ; preds = %28408
  %28414 = load i32, ptr %570, align 4, !tbaa !5
  %28415 = call ptr @__errno_location() #12
  store i32 %28414, ptr %28415, align 4, !tbaa !5
  %28416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28417 = load i32, ptr @test_count, align 4, !tbaa !5
  %28418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28419 = load i32, ptr %28418, align 4, !tbaa !5
  %28420 = call ptr @s2n_strerror(i32 noundef %28419, ptr noundef @.str.4)
  %28421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28422 = load i32, ptr %28421, align 4, !tbaa !5
  %28423 = call ptr @s2n_strerror_debug(i32 noundef %28422, ptr noundef @.str.4)
  %28424 = call ptr @__errno_location() #12
  %28425 = load i32, ptr %28424, align 4, !tbaa !5
  %28426 = call ptr @strerror(i32 noundef %28425) #11
  %28427 = call ptr @__errno_location() #12
  %28428 = load i32, ptr %28427, align 4, !tbaa !5
  %28429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28416, ptr noundef @.str.2, i32 noundef %28417, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 812, ptr noundef %28420, ptr noundef %28423, ptr noundef %28426, i32 noundef %28428) #11
  br label %28447

28430:                                            ; preds = %28408, %28401
  %28431 = load i32, ptr %570, align 4, !tbaa !5
  %28432 = call ptr @__errno_location() #12
  store i32 %28431, ptr %28432, align 4, !tbaa !5
  %28433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28434 = load i32, ptr @test_count, align 4, !tbaa !5
  %28435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28436 = load i32, ptr %28435, align 4, !tbaa !5
  %28437 = call ptr @s2n_strerror(i32 noundef %28436, ptr noundef @.str.4)
  %28438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28439 = load i32, ptr %28438, align 4, !tbaa !5
  %28440 = call ptr @s2n_strerror_debug(i32 noundef %28439, ptr noundef @.str.4)
  %28441 = call ptr @__errno_location() #12
  %28442 = load i32, ptr %28441, align 4, !tbaa !5
  %28443 = call ptr @strerror(i32 noundef %28442) #11
  %28444 = call ptr @__errno_location() #12
  %28445 = load i32, ptr %28444, align 4, !tbaa !5
  %28446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28433, ptr noundef @.str.5, i32 noundef %28434, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 812, ptr noundef %28437, ptr noundef %28440, ptr noundef %28443, i32 noundef %28445) #11
  br label %28447

28447:                                            ; preds = %28430, %28413
  call void @llvm.lifetime.end.p0(i64 4, ptr %570) #11
  br label %28448

28448:                                            ; preds = %28447
  br label %28449

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

28450:                                            ; No predecessors!
  br label %28451

28451:                                            ; preds = %28450
  br label %28452

28452:                                            ; preds = %28451, %28392
  br label %28453

28453:                                            ; preds = %28452
  br label %28454

28454:                                            ; preds = %28453
  br label %28455

28455:                                            ; preds = %28454
  br label %28456

28456:                                            ; preds = %28455
  %28457 = load i32, ptr @test_count, align 4, !tbaa !5
  %28458 = add nsw i32 %28457, 1
  store i32 %28458, ptr @test_count, align 4, !tbaa !5
  %28459 = getelementptr inbounds [1000 x i8], ptr %563, i64 0, i64 0
  %28460 = getelementptr inbounds [1000 x i8], ptr %562, i64 0, i64 0
  %28461 = call i32 @memcmp(ptr noundef %28459, ptr noundef %28460, i64 noundef 1000) #14
  %28462 = icmp eq i32 %28461, 0
  br i1 %28462, label %28516, label %28463

28463:                                            ; preds = %28456
  br label %28464

28464:                                            ; preds = %28463
  br label %28465

28465:                                            ; preds = %28464
  call void @llvm.lifetime.start.p0(i64 4, ptr %571) #11
  %28466 = call ptr @__errno_location() #12
  %28467 = load i32, ptr %28466, align 4, !tbaa !5
  store i32 %28467, ptr %571, align 4, !tbaa !5
  %28468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28469 = call i32 @s2n_print_stacktrace(ptr noundef %28468)
  %28470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28471 = trunc i8 %28470 to i1
  br i1 %28471, label %28472, label %28494

28472:                                            ; preds = %28465
  %28473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28474 = call i32 @fileno(ptr noundef %28473) #11
  %28475 = call i32 @isatty(i32 noundef %28474) #11
  %28476 = icmp ne i32 %28475, 0
  br i1 %28476, label %28477, label %28494

28477:                                            ; preds = %28472
  %28478 = load i32, ptr %571, align 4, !tbaa !5
  %28479 = call ptr @__errno_location() #12
  store i32 %28478, ptr %28479, align 4, !tbaa !5
  %28480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28481 = load i32, ptr @test_count, align 4, !tbaa !5
  %28482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28483 = load i32, ptr %28482, align 4, !tbaa !5
  %28484 = call ptr @s2n_strerror(i32 noundef %28483, ptr noundef @.str.4)
  %28485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28486 = load i32, ptr %28485, align 4, !tbaa !5
  %28487 = call ptr @s2n_strerror_debug(i32 noundef %28486, ptr noundef @.str.4)
  %28488 = call ptr @__errno_location() #12
  %28489 = load i32, ptr %28488, align 4, !tbaa !5
  %28490 = call ptr @strerror(i32 noundef %28489) #11
  %28491 = call ptr @__errno_location() #12
  %28492 = load i32, ptr %28491, align 4, !tbaa !5
  %28493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28480, ptr noundef @.str.2, i32 noundef %28481, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 812, ptr noundef %28484, ptr noundef %28487, ptr noundef %28490, i32 noundef %28492) #11
  br label %28511

28494:                                            ; preds = %28472, %28465
  %28495 = load i32, ptr %571, align 4, !tbaa !5
  %28496 = call ptr @__errno_location() #12
  store i32 %28495, ptr %28496, align 4, !tbaa !5
  %28497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28498 = load i32, ptr @test_count, align 4, !tbaa !5
  %28499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28500 = load i32, ptr %28499, align 4, !tbaa !5
  %28501 = call ptr @s2n_strerror(i32 noundef %28500, ptr noundef @.str.4)
  %28502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28503 = load i32, ptr %28502, align 4, !tbaa !5
  %28504 = call ptr @s2n_strerror_debug(i32 noundef %28503, ptr noundef @.str.4)
  %28505 = call ptr @__errno_location() #12
  %28506 = load i32, ptr %28505, align 4, !tbaa !5
  %28507 = call ptr @strerror(i32 noundef %28506) #11
  %28508 = call ptr @__errno_location() #12
  %28509 = load i32, ptr %28508, align 4, !tbaa !5
  %28510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28497, ptr noundef @.str.5, i32 noundef %28498, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 812, ptr noundef %28501, ptr noundef %28504, ptr noundef %28507, i32 noundef %28509) #11
  br label %28511

28511:                                            ; preds = %28494, %28477
  call void @llvm.lifetime.end.p0(i64 4, ptr %571) #11
  br label %28512

28512:                                            ; preds = %28511
  br label %28513

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

28514:                                            ; No predecessors!
  br label %28515

28515:                                            ; preds = %28514
  br label %28516

28516:                                            ; preds = %28515, %28456
  br label %28517

28517:                                            ; preds = %28516
  br label %28518

28518:                                            ; preds = %28517
  br label %28519

28519:                                            ; preds = %28518
  br label %28520

28520:                                            ; preds = %28519
  %28521 = load ptr, ptr %552, align 8, !tbaa !9
  %28522 = getelementptr inbounds %struct.s2n_connection, ptr %28521, i32 0, i32 60
  store i64 0, ptr %28522, align 8, !tbaa !46
  br label %28523

28523:                                            ; preds = %28520
  %28524 = load i32, ptr @test_count, align 4, !tbaa !5
  %28525 = add nsw i32 %28524, 1
  store i32 %28525, ptr @test_count, align 4, !tbaa !5
  %28526 = load ptr, ptr %552, align 8, !tbaa !9
  %28527 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %28528 = call i64 @s2n_send(ptr noundef %28526, ptr noundef %28527, i64 noundef 12, ptr noundef %561)
  %28529 = icmp eq i64 %28528, 12
  br i1 %28529, label %28583, label %28530

28530:                                            ; preds = %28523
  br label %28531

28531:                                            ; preds = %28530
  br label %28532

28532:                                            ; preds = %28531
  call void @llvm.lifetime.start.p0(i64 4, ptr %572) #11
  %28533 = call ptr @__errno_location() #12
  %28534 = load i32, ptr %28533, align 4, !tbaa !5
  store i32 %28534, ptr %572, align 4, !tbaa !5
  %28535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28536 = call i32 @s2n_print_stacktrace(ptr noundef %28535)
  %28537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28538 = trunc i8 %28537 to i1
  br i1 %28538, label %28539, label %28561

28539:                                            ; preds = %28532
  %28540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28541 = call i32 @fileno(ptr noundef %28540) #11
  %28542 = call i32 @isatty(i32 noundef %28541) #11
  %28543 = icmp ne i32 %28542, 0
  br i1 %28543, label %28544, label %28561

28544:                                            ; preds = %28539
  %28545 = load i32, ptr %572, align 4, !tbaa !5
  %28546 = call ptr @__errno_location() #12
  store i32 %28545, ptr %28546, align 4, !tbaa !5
  %28547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28548 = load i32, ptr @test_count, align 4, !tbaa !5
  %28549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28550 = load i32, ptr %28549, align 4, !tbaa !5
  %28551 = call ptr @s2n_strerror(i32 noundef %28550, ptr noundef @.str.4)
  %28552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28553 = load i32, ptr %28552, align 4, !tbaa !5
  %28554 = call ptr @s2n_strerror_debug(i32 noundef %28553, ptr noundef @.str.4)
  %28555 = call ptr @__errno_location() #12
  %28556 = load i32, ptr %28555, align 4, !tbaa !5
  %28557 = call ptr @strerror(i32 noundef %28556) #11
  %28558 = call ptr @__errno_location() #12
  %28559 = load i32, ptr %28558, align 4, !tbaa !5
  %28560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28547, ptr noundef @.str.2, i32 noundef %28548, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 816, ptr noundef %28551, ptr noundef %28554, ptr noundef %28557, i32 noundef %28559) #11
  br label %28578

28561:                                            ; preds = %28539, %28532
  %28562 = load i32, ptr %572, align 4, !tbaa !5
  %28563 = call ptr @__errno_location() #12
  store i32 %28562, ptr %28563, align 4, !tbaa !5
  %28564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28565 = load i32, ptr @test_count, align 4, !tbaa !5
  %28566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28567 = load i32, ptr %28566, align 4, !tbaa !5
  %28568 = call ptr @s2n_strerror(i32 noundef %28567, ptr noundef @.str.4)
  %28569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28570 = load i32, ptr %28569, align 4, !tbaa !5
  %28571 = call ptr @s2n_strerror_debug(i32 noundef %28570, ptr noundef @.str.4)
  %28572 = call ptr @__errno_location() #12
  %28573 = load i32, ptr %28572, align 4, !tbaa !5
  %28574 = call ptr @strerror(i32 noundef %28573) #11
  %28575 = call ptr @__errno_location() #12
  %28576 = load i32, ptr %28575, align 4, !tbaa !5
  %28577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28564, ptr noundef @.str.5, i32 noundef %28565, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 816, ptr noundef %28568, ptr noundef %28571, ptr noundef %28574, i32 noundef %28576) #11
  br label %28578

28578:                                            ; preds = %28561, %28544
  call void @llvm.lifetime.end.p0(i64 4, ptr %572) #11
  br label %28579

28579:                                            ; preds = %28578
  br label %28580

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

28581:                                            ; No predecessors!
  br label %28582

28582:                                            ; preds = %28581
  br label %28583

28583:                                            ; preds = %28582, %28523
  br label %28584

28584:                                            ; preds = %28583
  br label %28585

28585:                                            ; preds = %28584
  br label %28586

28586:                                            ; preds = %28585
  br label %28587

28587:                                            ; preds = %28586
  br label %28588

28588:                                            ; preds = %28587
  %28589 = load i32, ptr @test_count, align 4, !tbaa !5
  %28590 = add nsw i32 %28589, 1
  store i32 %28590, ptr @test_count, align 4, !tbaa !5
  %28591 = load ptr, ptr %553, align 8, !tbaa !9
  %28592 = call i32 @s2n_negotiate(ptr noundef %28591, ptr noundef %561)
  %28593 = icmp eq i32 %28592, -1
  br i1 %28593, label %28647, label %28594

28594:                                            ; preds = %28588
  br label %28595

28595:                                            ; preds = %28594
  br label %28596

28596:                                            ; preds = %28595
  call void @llvm.lifetime.start.p0(i64 4, ptr %573) #11
  %28597 = call ptr @__errno_location() #12
  %28598 = load i32, ptr %28597, align 4, !tbaa !5
  store i32 %28598, ptr %573, align 4, !tbaa !5
  %28599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28600 = call i32 @s2n_print_stacktrace(ptr noundef %28599)
  %28601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28602 = trunc i8 %28601 to i1
  br i1 %28602, label %28603, label %28625

28603:                                            ; preds = %28596
  %28604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28605 = call i32 @fileno(ptr noundef %28604) #11
  %28606 = call i32 @isatty(i32 noundef %28605) #11
  %28607 = icmp ne i32 %28606, 0
  br i1 %28607, label %28608, label %28625

28608:                                            ; preds = %28603
  %28609 = load i32, ptr %573, align 4, !tbaa !5
  %28610 = call ptr @__errno_location() #12
  store i32 %28609, ptr %28610, align 4, !tbaa !5
  %28611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28612 = load i32, ptr @test_count, align 4, !tbaa !5
  %28613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28614 = load i32, ptr %28613, align 4, !tbaa !5
  %28615 = call ptr @s2n_strerror(i32 noundef %28614, ptr noundef @.str.4)
  %28616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28617 = load i32, ptr %28616, align 4, !tbaa !5
  %28618 = call ptr @s2n_strerror_debug(i32 noundef %28617, ptr noundef @.str.4)
  %28619 = call ptr @__errno_location() #12
  %28620 = load i32, ptr %28619, align 4, !tbaa !5
  %28621 = call ptr @strerror(i32 noundef %28620) #11
  %28622 = call ptr @__errno_location() #12
  %28623 = load i32, ptr %28622, align 4, !tbaa !5
  %28624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28611, ptr noundef @.str.2, i32 noundef %28612, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 819, ptr noundef %28615, ptr noundef %28618, ptr noundef %28621, i32 noundef %28623) #11
  br label %28642

28625:                                            ; preds = %28603, %28596
  %28626 = load i32, ptr %573, align 4, !tbaa !5
  %28627 = call ptr @__errno_location() #12
  store i32 %28626, ptr %28627, align 4, !tbaa !5
  %28628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28629 = load i32, ptr @test_count, align 4, !tbaa !5
  %28630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28631 = load i32, ptr %28630, align 4, !tbaa !5
  %28632 = call ptr @s2n_strerror(i32 noundef %28631, ptr noundef @.str.4)
  %28633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28634 = load i32, ptr %28633, align 4, !tbaa !5
  %28635 = call ptr @s2n_strerror_debug(i32 noundef %28634, ptr noundef @.str.4)
  %28636 = call ptr @__errno_location() #12
  %28637 = load i32, ptr %28636, align 4, !tbaa !5
  %28638 = call ptr @strerror(i32 noundef %28637) #11
  %28639 = call ptr @__errno_location() #12
  %28640 = load i32, ptr %28639, align 4, !tbaa !5
  %28641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28628, ptr noundef @.str.5, i32 noundef %28629, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 819, ptr noundef %28632, ptr noundef %28635, ptr noundef %28638, i32 noundef %28640) #11
  br label %28642

28642:                                            ; preds = %28625, %28608
  call void @llvm.lifetime.end.p0(i64 4, ptr %573) #11
  br label %28643

28643:                                            ; preds = %28642
  br label %28644

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

28645:                                            ; No predecessors!
  br label %28646

28646:                                            ; preds = %28645
  br label %28647

28647:                                            ; preds = %28646, %28588
  br label %28648

28648:                                            ; preds = %28647
  br label %28649

28649:                                            ; preds = %28648
  br label %28650

28650:                                            ; preds = %28649
  %28651 = load i32, ptr @test_count, align 4, !tbaa !5
  %28652 = add nsw i32 %28651, 1
  store i32 %28652, ptr @test_count, align 4, !tbaa !5
  %28653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28654 = load i32, ptr %28653, align 4, !tbaa !5
  %28655 = icmp eq i32 %28654, 201326594
  br i1 %28655, label %28709, label %28656

28656:                                            ; preds = %28650
  br label %28657

28657:                                            ; preds = %28656
  br label %28658

28658:                                            ; preds = %28657
  call void @llvm.lifetime.start.p0(i64 4, ptr %574) #11
  %28659 = call ptr @__errno_location() #12
  %28660 = load i32, ptr %28659, align 4, !tbaa !5
  store i32 %28660, ptr %574, align 4, !tbaa !5
  %28661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28662 = call i32 @s2n_print_stacktrace(ptr noundef %28661)
  %28663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28664 = trunc i8 %28663 to i1
  br i1 %28664, label %28665, label %28687

28665:                                            ; preds = %28658
  %28666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28667 = call i32 @fileno(ptr noundef %28666) #11
  %28668 = call i32 @isatty(i32 noundef %28667) #11
  %28669 = icmp ne i32 %28668, 0
  br i1 %28669, label %28670, label %28687

28670:                                            ; preds = %28665
  %28671 = load i32, ptr %574, align 4, !tbaa !5
  %28672 = call ptr @__errno_location() #12
  store i32 %28671, ptr %28672, align 4, !tbaa !5
  %28673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28674 = load i32, ptr @test_count, align 4, !tbaa !5
  %28675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28676 = load i32, ptr %28675, align 4, !tbaa !5
  %28677 = call ptr @s2n_strerror(i32 noundef %28676, ptr noundef @.str.4)
  %28678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28679 = load i32, ptr %28678, align 4, !tbaa !5
  %28680 = call ptr @s2n_strerror_debug(i32 noundef %28679, ptr noundef @.str.4)
  %28681 = call ptr @__errno_location() #12
  %28682 = load i32, ptr %28681, align 4, !tbaa !5
  %28683 = call ptr @strerror(i32 noundef %28682) #11
  %28684 = call ptr @__errno_location() #12
  %28685 = load i32, ptr %28684, align 4, !tbaa !5
  %28686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28673, ptr noundef @.str.2, i32 noundef %28674, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 819, ptr noundef %28677, ptr noundef %28680, ptr noundef %28683, i32 noundef %28685) #11
  br label %28704

28687:                                            ; preds = %28665, %28658
  %28688 = load i32, ptr %574, align 4, !tbaa !5
  %28689 = call ptr @__errno_location() #12
  store i32 %28688, ptr %28689, align 4, !tbaa !5
  %28690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28691 = load i32, ptr @test_count, align 4, !tbaa !5
  %28692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28693 = load i32, ptr %28692, align 4, !tbaa !5
  %28694 = call ptr @s2n_strerror(i32 noundef %28693, ptr noundef @.str.4)
  %28695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28696 = load i32, ptr %28695, align 4, !tbaa !5
  %28697 = call ptr @s2n_strerror_debug(i32 noundef %28696, ptr noundef @.str.4)
  %28698 = call ptr @__errno_location() #12
  %28699 = load i32, ptr %28698, align 4, !tbaa !5
  %28700 = call ptr @strerror(i32 noundef %28699) #11
  %28701 = call ptr @__errno_location() #12
  %28702 = load i32, ptr %28701, align 4, !tbaa !5
  %28703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28690, ptr noundef @.str.5, i32 noundef %28691, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 819, ptr noundef %28694, ptr noundef %28697, ptr noundef %28700, i32 noundef %28702) #11
  br label %28704

28704:                                            ; preds = %28687, %28670
  call void @llvm.lifetime.end.p0(i64 4, ptr %574) #11
  br label %28705

28705:                                            ; preds = %28704
  br label %28706

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

28707:                                            ; No predecessors!
  br label %28708

28708:                                            ; preds = %28707
  br label %28709

28709:                                            ; preds = %28708, %28650
  br label %28710

28710:                                            ; preds = %28709
  br label %28711

28711:                                            ; preds = %28710
  br label %28712

28712:                                            ; preds = %28711
  %28713 = load i32, ptr @test_count, align 4, !tbaa !5
  %28714 = add nsw i32 %28713, 1
  store i32 %28714, ptr @test_count, align 4, !tbaa !5
  %28715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28716 = load i32, ptr %28715, align 4, !tbaa !5
  %28717 = call ptr @s2n_strerror_debug(i32 noundef %28716, ptr noundef @.str.4)
  %28718 = icmp eq ptr %28717, null
  br i1 %28718, label %28719, label %28772

28719:                                            ; preds = %28712
  br label %28720

28720:                                            ; preds = %28719
  br label %28721

28721:                                            ; preds = %28720
  call void @llvm.lifetime.start.p0(i64 4, ptr %575) #11
  %28722 = call ptr @__errno_location() #12
  %28723 = load i32, ptr %28722, align 4, !tbaa !5
  store i32 %28723, ptr %575, align 4, !tbaa !5
  %28724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28725 = call i32 @s2n_print_stacktrace(ptr noundef %28724)
  %28726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28727 = trunc i8 %28726 to i1
  br i1 %28727, label %28728, label %28750

28728:                                            ; preds = %28721
  %28729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28730 = call i32 @fileno(ptr noundef %28729) #11
  %28731 = call i32 @isatty(i32 noundef %28730) #11
  %28732 = icmp ne i32 %28731, 0
  br i1 %28732, label %28733, label %28750

28733:                                            ; preds = %28728
  %28734 = load i32, ptr %575, align 4, !tbaa !5
  %28735 = call ptr @__errno_location() #12
  store i32 %28734, ptr %28735, align 4, !tbaa !5
  %28736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28737 = load i32, ptr @test_count, align 4, !tbaa !5
  %28738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28739 = load i32, ptr %28738, align 4, !tbaa !5
  %28740 = call ptr @s2n_strerror(i32 noundef %28739, ptr noundef @.str.4)
  %28741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28742 = load i32, ptr %28741, align 4, !tbaa !5
  %28743 = call ptr @s2n_strerror_debug(i32 noundef %28742, ptr noundef @.str.4)
  %28744 = call ptr @__errno_location() #12
  %28745 = load i32, ptr %28744, align 4, !tbaa !5
  %28746 = call ptr @strerror(i32 noundef %28745) #11
  %28747 = call ptr @__errno_location() #12
  %28748 = load i32, ptr %28747, align 4, !tbaa !5
  %28749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28736, ptr noundef @.str.2, i32 noundef %28737, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 819, ptr noundef %28740, ptr noundef %28743, ptr noundef %28746, i32 noundef %28748) #11
  br label %28767

28750:                                            ; preds = %28728, %28721
  %28751 = load i32, ptr %575, align 4, !tbaa !5
  %28752 = call ptr @__errno_location() #12
  store i32 %28751, ptr %28752, align 4, !tbaa !5
  %28753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28754 = load i32, ptr @test_count, align 4, !tbaa !5
  %28755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28756 = load i32, ptr %28755, align 4, !tbaa !5
  %28757 = call ptr @s2n_strerror(i32 noundef %28756, ptr noundef @.str.4)
  %28758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28759 = load i32, ptr %28758, align 4, !tbaa !5
  %28760 = call ptr @s2n_strerror_debug(i32 noundef %28759, ptr noundef @.str.4)
  %28761 = call ptr @__errno_location() #12
  %28762 = load i32, ptr %28761, align 4, !tbaa !5
  %28763 = call ptr @strerror(i32 noundef %28762) #11
  %28764 = call ptr @__errno_location() #12
  %28765 = load i32, ptr %28764, align 4, !tbaa !5
  %28766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28753, ptr noundef @.str.5, i32 noundef %28754, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 819, ptr noundef %28757, ptr noundef %28760, ptr noundef %28763, i32 noundef %28765) #11
  br label %28767

28767:                                            ; preds = %28750, %28733
  call void @llvm.lifetime.end.p0(i64 4, ptr %575) #11
  br label %28768

28768:                                            ; preds = %28767
  br label %28769

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

28770:                                            ; No predecessors!
  br label %28771

28771:                                            ; preds = %28770
  br label %28772

28772:                                            ; preds = %28771, %28712
  br label %28773

28773:                                            ; preds = %28772
  br label %28774

28774:                                            ; preds = %28773
  br label %28775

28775:                                            ; preds = %28774
  br label %28776

28776:                                            ; preds = %28775
  br label %28777

28777:                                            ; preds = %28776
  %28778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %28778, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %28779 = call ptr @__errno_location() #12
  store i32 0, ptr %28779, align 4, !tbaa !5
  br label %28780

28780:                                            ; preds = %28777
  br label %28781

28781:                                            ; preds = %28780
  br label %28782

28782:                                            ; preds = %28781
  br label %28783

28783:                                            ; preds = %28782
  br label %28784

28784:                                            ; preds = %28783
  br label %28785

28785:                                            ; preds = %28784
  br label %28786

28786:                                            ; preds = %28785
  %28787 = load i32, ptr @test_count, align 4, !tbaa !5
  %28788 = add nsw i32 %28787, 1
  store i32 %28788, ptr @test_count, align 4, !tbaa !5
  %28789 = load ptr, ptr %553, align 8, !tbaa !9
  %28790 = getelementptr inbounds [1000 x i8], ptr %563, i64 0, i64 0
  %28791 = call i64 @s2n_recv(ptr noundef %28789, ptr noundef %28790, i64 noundef 1000, ptr noundef %561)
  %28792 = icmp eq i64 %28791, -1
  br i1 %28792, label %28846, label %28793

28793:                                            ; preds = %28786
  br label %28794

28794:                                            ; preds = %28793
  br label %28795

28795:                                            ; preds = %28794
  call void @llvm.lifetime.start.p0(i64 4, ptr %576) #11
  %28796 = call ptr @__errno_location() #12
  %28797 = load i32, ptr %28796, align 4, !tbaa !5
  store i32 %28797, ptr %576, align 4, !tbaa !5
  %28798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28799 = call i32 @s2n_print_stacktrace(ptr noundef %28798)
  %28800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28801 = trunc i8 %28800 to i1
  br i1 %28801, label %28802, label %28824

28802:                                            ; preds = %28795
  %28803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28804 = call i32 @fileno(ptr noundef %28803) #11
  %28805 = call i32 @isatty(i32 noundef %28804) #11
  %28806 = icmp ne i32 %28805, 0
  br i1 %28806, label %28807, label %28824

28807:                                            ; preds = %28802
  %28808 = load i32, ptr %576, align 4, !tbaa !5
  %28809 = call ptr @__errno_location() #12
  store i32 %28808, ptr %28809, align 4, !tbaa !5
  %28810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28811 = load i32, ptr @test_count, align 4, !tbaa !5
  %28812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28813 = load i32, ptr %28812, align 4, !tbaa !5
  %28814 = call ptr @s2n_strerror(i32 noundef %28813, ptr noundef @.str.4)
  %28815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28816 = load i32, ptr %28815, align 4, !tbaa !5
  %28817 = call ptr @s2n_strerror_debug(i32 noundef %28816, ptr noundef @.str.4)
  %28818 = call ptr @__errno_location() #12
  %28819 = load i32, ptr %28818, align 4, !tbaa !5
  %28820 = call ptr @strerror(i32 noundef %28819) #11
  %28821 = call ptr @__errno_location() #12
  %28822 = load i32, ptr %28821, align 4, !tbaa !5
  %28823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28810, ptr noundef @.str.2, i32 noundef %28811, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 821, ptr noundef %28814, ptr noundef %28817, ptr noundef %28820, i32 noundef %28822) #11
  br label %28841

28824:                                            ; preds = %28802, %28795
  %28825 = load i32, ptr %576, align 4, !tbaa !5
  %28826 = call ptr @__errno_location() #12
  store i32 %28825, ptr %28826, align 4, !tbaa !5
  %28827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28828 = load i32, ptr @test_count, align 4, !tbaa !5
  %28829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28830 = load i32, ptr %28829, align 4, !tbaa !5
  %28831 = call ptr @s2n_strerror(i32 noundef %28830, ptr noundef @.str.4)
  %28832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28833 = load i32, ptr %28832, align 4, !tbaa !5
  %28834 = call ptr @s2n_strerror_debug(i32 noundef %28833, ptr noundef @.str.4)
  %28835 = call ptr @__errno_location() #12
  %28836 = load i32, ptr %28835, align 4, !tbaa !5
  %28837 = call ptr @strerror(i32 noundef %28836) #11
  %28838 = call ptr @__errno_location() #12
  %28839 = load i32, ptr %28838, align 4, !tbaa !5
  %28840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28827, ptr noundef @.str.5, i32 noundef %28828, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 821, ptr noundef %28831, ptr noundef %28834, ptr noundef %28837, i32 noundef %28839) #11
  br label %28841

28841:                                            ; preds = %28824, %28807
  call void @llvm.lifetime.end.p0(i64 4, ptr %576) #11
  br label %28842

28842:                                            ; preds = %28841
  br label %28843

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

28844:                                            ; No predecessors!
  br label %28845

28845:                                            ; preds = %28844
  br label %28846

28846:                                            ; preds = %28845, %28786
  br label %28847

28847:                                            ; preds = %28846
  br label %28848

28848:                                            ; preds = %28847
  br label %28849

28849:                                            ; preds = %28848
  %28850 = load i32, ptr @test_count, align 4, !tbaa !5
  %28851 = add nsw i32 %28850, 1
  store i32 %28851, ptr @test_count, align 4, !tbaa !5
  %28852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28853 = load i32, ptr %28852, align 4, !tbaa !5
  %28854 = icmp eq i32 %28853, 335544396
  br i1 %28854, label %28908, label %28855

28855:                                            ; preds = %28849
  br label %28856

28856:                                            ; preds = %28855
  br label %28857

28857:                                            ; preds = %28856
  call void @llvm.lifetime.start.p0(i64 4, ptr %577) #11
  %28858 = call ptr @__errno_location() #12
  %28859 = load i32, ptr %28858, align 4, !tbaa !5
  store i32 %28859, ptr %577, align 4, !tbaa !5
  %28860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28861 = call i32 @s2n_print_stacktrace(ptr noundef %28860)
  %28862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28863 = trunc i8 %28862 to i1
  br i1 %28863, label %28864, label %28886

28864:                                            ; preds = %28857
  %28865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28866 = call i32 @fileno(ptr noundef %28865) #11
  %28867 = call i32 @isatty(i32 noundef %28866) #11
  %28868 = icmp ne i32 %28867, 0
  br i1 %28868, label %28869, label %28886

28869:                                            ; preds = %28864
  %28870 = load i32, ptr %577, align 4, !tbaa !5
  %28871 = call ptr @__errno_location() #12
  store i32 %28870, ptr %28871, align 4, !tbaa !5
  %28872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28873 = load i32, ptr @test_count, align 4, !tbaa !5
  %28874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28875 = load i32, ptr %28874, align 4, !tbaa !5
  %28876 = call ptr @s2n_strerror(i32 noundef %28875, ptr noundef @.str.4)
  %28877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28878 = load i32, ptr %28877, align 4, !tbaa !5
  %28879 = call ptr @s2n_strerror_debug(i32 noundef %28878, ptr noundef @.str.4)
  %28880 = call ptr @__errno_location() #12
  %28881 = load i32, ptr %28880, align 4, !tbaa !5
  %28882 = call ptr @strerror(i32 noundef %28881) #11
  %28883 = call ptr @__errno_location() #12
  %28884 = load i32, ptr %28883, align 4, !tbaa !5
  %28885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28872, ptr noundef @.str.2, i32 noundef %28873, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 821, ptr noundef %28876, ptr noundef %28879, ptr noundef %28882, i32 noundef %28884) #11
  br label %28903

28886:                                            ; preds = %28864, %28857
  %28887 = load i32, ptr %577, align 4, !tbaa !5
  %28888 = call ptr @__errno_location() #12
  store i32 %28887, ptr %28888, align 4, !tbaa !5
  %28889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28890 = load i32, ptr @test_count, align 4, !tbaa !5
  %28891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28892 = load i32, ptr %28891, align 4, !tbaa !5
  %28893 = call ptr @s2n_strerror(i32 noundef %28892, ptr noundef @.str.4)
  %28894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28895 = load i32, ptr %28894, align 4, !tbaa !5
  %28896 = call ptr @s2n_strerror_debug(i32 noundef %28895, ptr noundef @.str.4)
  %28897 = call ptr @__errno_location() #12
  %28898 = load i32, ptr %28897, align 4, !tbaa !5
  %28899 = call ptr @strerror(i32 noundef %28898) #11
  %28900 = call ptr @__errno_location() #12
  %28901 = load i32, ptr %28900, align 4, !tbaa !5
  %28902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28889, ptr noundef @.str.5, i32 noundef %28890, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 821, ptr noundef %28893, ptr noundef %28896, ptr noundef %28899, i32 noundef %28901) #11
  br label %28903

28903:                                            ; preds = %28886, %28869
  call void @llvm.lifetime.end.p0(i64 4, ptr %577) #11
  br label %28904

28904:                                            ; preds = %28903
  br label %28905

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

28906:                                            ; No predecessors!
  br label %28907

28907:                                            ; preds = %28906
  br label %28908

28908:                                            ; preds = %28907, %28849
  br label %28909

28909:                                            ; preds = %28908
  br label %28910

28910:                                            ; preds = %28909
  br label %28911

28911:                                            ; preds = %28910
  %28912 = load i32, ptr @test_count, align 4, !tbaa !5
  %28913 = add nsw i32 %28912, 1
  store i32 %28913, ptr @test_count, align 4, !tbaa !5
  %28914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28915 = load i32, ptr %28914, align 4, !tbaa !5
  %28916 = call ptr @s2n_strerror_debug(i32 noundef %28915, ptr noundef @.str.4)
  %28917 = icmp eq ptr %28916, null
  br i1 %28917, label %28918, label %28971

28918:                                            ; preds = %28911
  br label %28919

28919:                                            ; preds = %28918
  br label %28920

28920:                                            ; preds = %28919
  call void @llvm.lifetime.start.p0(i64 4, ptr %578) #11
  %28921 = call ptr @__errno_location() #12
  %28922 = load i32, ptr %28921, align 4, !tbaa !5
  store i32 %28922, ptr %578, align 4, !tbaa !5
  %28923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28924 = call i32 @s2n_print_stacktrace(ptr noundef %28923)
  %28925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28926 = trunc i8 %28925 to i1
  br i1 %28926, label %28927, label %28949

28927:                                            ; preds = %28920
  %28928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28929 = call i32 @fileno(ptr noundef %28928) #11
  %28930 = call i32 @isatty(i32 noundef %28929) #11
  %28931 = icmp ne i32 %28930, 0
  br i1 %28931, label %28932, label %28949

28932:                                            ; preds = %28927
  %28933 = load i32, ptr %578, align 4, !tbaa !5
  %28934 = call ptr @__errno_location() #12
  store i32 %28933, ptr %28934, align 4, !tbaa !5
  %28935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28936 = load i32, ptr @test_count, align 4, !tbaa !5
  %28937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28938 = load i32, ptr %28937, align 4, !tbaa !5
  %28939 = call ptr @s2n_strerror(i32 noundef %28938, ptr noundef @.str.4)
  %28940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28941 = load i32, ptr %28940, align 4, !tbaa !5
  %28942 = call ptr @s2n_strerror_debug(i32 noundef %28941, ptr noundef @.str.4)
  %28943 = call ptr @__errno_location() #12
  %28944 = load i32, ptr %28943, align 4, !tbaa !5
  %28945 = call ptr @strerror(i32 noundef %28944) #11
  %28946 = call ptr @__errno_location() #12
  %28947 = load i32, ptr %28946, align 4, !tbaa !5
  %28948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28935, ptr noundef @.str.2, i32 noundef %28936, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 821, ptr noundef %28939, ptr noundef %28942, ptr noundef %28945, i32 noundef %28947) #11
  br label %28966

28949:                                            ; preds = %28927, %28920
  %28950 = load i32, ptr %578, align 4, !tbaa !5
  %28951 = call ptr @__errno_location() #12
  store i32 %28950, ptr %28951, align 4, !tbaa !5
  %28952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28953 = load i32, ptr @test_count, align 4, !tbaa !5
  %28954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28955 = load i32, ptr %28954, align 4, !tbaa !5
  %28956 = call ptr @s2n_strerror(i32 noundef %28955, ptr noundef @.str.4)
  %28957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28958 = load i32, ptr %28957, align 4, !tbaa !5
  %28959 = call ptr @s2n_strerror_debug(i32 noundef %28958, ptr noundef @.str.4)
  %28960 = call ptr @__errno_location() #12
  %28961 = load i32, ptr %28960, align 4, !tbaa !5
  %28962 = call ptr @strerror(i32 noundef %28961) #11
  %28963 = call ptr @__errno_location() #12
  %28964 = load i32, ptr %28963, align 4, !tbaa !5
  %28965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28952, ptr noundef @.str.5, i32 noundef %28953, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 821, ptr noundef %28956, ptr noundef %28959, ptr noundef %28962, i32 noundef %28964) #11
  br label %28966

28966:                                            ; preds = %28949, %28932
  call void @llvm.lifetime.end.p0(i64 4, ptr %578) #11
  br label %28967

28967:                                            ; preds = %28966
  br label %28968

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

28969:                                            ; No predecessors!
  br label %28970

28970:                                            ; preds = %28969
  br label %28971

28971:                                            ; preds = %28970, %28911
  br label %28972

28972:                                            ; preds = %28971
  br label %28973

28973:                                            ; preds = %28972
  br label %28974

28974:                                            ; preds = %28973
  br label %28975

28975:                                            ; preds = %28974
  br label %28976

28976:                                            ; preds = %28975
  %28977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %28977, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %28978 = call ptr @__errno_location() #12
  store i32 0, ptr %28978, align 4, !tbaa !5
  br label %28979

28979:                                            ; preds = %28976
  br label %28980

28980:                                            ; preds = %28979
  br label %28981

28981:                                            ; preds = %28980
  br label %28982

28982:                                            ; preds = %28981
  br label %28983

28983:                                            ; preds = %28982
  %28984 = load i32, ptr @test_count, align 4, !tbaa !5
  %28985 = add nsw i32 %28984, 1
  store i32 %28985, ptr @test_count, align 4, !tbaa !5
  %28986 = load ptr, ptr %552, align 8, !tbaa !9
  %28987 = call i32 @s2n_connection_free(ptr noundef %28986)
  %28988 = icmp eq i32 %28987, -1
  br i1 %28988, label %28989, label %29042

28989:                                            ; preds = %28983
  br label %28990

28990:                                            ; preds = %28989
  br label %28991

28991:                                            ; preds = %28990
  call void @llvm.lifetime.start.p0(i64 4, ptr %579) #11
  %28992 = call ptr @__errno_location() #12
  %28993 = load i32, ptr %28992, align 4, !tbaa !5
  store i32 %28993, ptr %579, align 4, !tbaa !5
  %28994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28995 = call i32 @s2n_print_stacktrace(ptr noundef %28994)
  %28996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28997 = trunc i8 %28996 to i1
  br i1 %28997, label %28998, label %29020

28998:                                            ; preds = %28991
  %28999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29000 = call i32 @fileno(ptr noundef %28999) #11
  %29001 = call i32 @isatty(i32 noundef %29000) #11
  %29002 = icmp ne i32 %29001, 0
  br i1 %29002, label %29003, label %29020

29003:                                            ; preds = %28998
  %29004 = load i32, ptr %579, align 4, !tbaa !5
  %29005 = call ptr @__errno_location() #12
  store i32 %29004, ptr %29005, align 4, !tbaa !5
  %29006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29007 = load i32, ptr @test_count, align 4, !tbaa !5
  %29008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29009 = load i32, ptr %29008, align 4, !tbaa !5
  %29010 = call ptr @s2n_strerror(i32 noundef %29009, ptr noundef @.str.4)
  %29011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29012 = load i32, ptr %29011, align 4, !tbaa !5
  %29013 = call ptr @s2n_strerror_debug(i32 noundef %29012, ptr noundef @.str.4)
  %29014 = call ptr @__errno_location() #12
  %29015 = load i32, ptr %29014, align 4, !tbaa !5
  %29016 = call ptr @strerror(i32 noundef %29015) #11
  %29017 = call ptr @__errno_location() #12
  %29018 = load i32, ptr %29017, align 4, !tbaa !5
  %29019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29006, ptr noundef @.str.2, i32 noundef %29007, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 823, ptr noundef %29010, ptr noundef %29013, ptr noundef %29016, i32 noundef %29018) #11
  br label %29037

29020:                                            ; preds = %28998, %28991
  %29021 = load i32, ptr %579, align 4, !tbaa !5
  %29022 = call ptr @__errno_location() #12
  store i32 %29021, ptr %29022, align 4, !tbaa !5
  %29023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29024 = load i32, ptr @test_count, align 4, !tbaa !5
  %29025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29026 = load i32, ptr %29025, align 4, !tbaa !5
  %29027 = call ptr @s2n_strerror(i32 noundef %29026, ptr noundef @.str.4)
  %29028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29029 = load i32, ptr %29028, align 4, !tbaa !5
  %29030 = call ptr @s2n_strerror_debug(i32 noundef %29029, ptr noundef @.str.4)
  %29031 = call ptr @__errno_location() #12
  %29032 = load i32, ptr %29031, align 4, !tbaa !5
  %29033 = call ptr @strerror(i32 noundef %29032) #11
  %29034 = call ptr @__errno_location() #12
  %29035 = load i32, ptr %29034, align 4, !tbaa !5
  %29036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29023, ptr noundef @.str.5, i32 noundef %29024, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 823, ptr noundef %29027, ptr noundef %29030, ptr noundef %29033, i32 noundef %29035) #11
  br label %29037

29037:                                            ; preds = %29020, %29003
  call void @llvm.lifetime.end.p0(i64 4, ptr %579) #11
  br label %29038

29038:                                            ; preds = %29037
  br label %29039

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

29040:                                            ; No predecessors!
  br label %29041

29041:                                            ; preds = %29040
  br label %29042

29042:                                            ; preds = %29041, %28983
  br label %29043

29043:                                            ; preds = %29042
  br label %29044

29044:                                            ; preds = %29043
  br label %29045

29045:                                            ; preds = %29044
  %29046 = load i32, ptr @test_count, align 4, !tbaa !5
  %29047 = add nsw i32 %29046, 1
  store i32 %29047, ptr @test_count, align 4, !tbaa !5
  %29048 = load ptr, ptr %553, align 8, !tbaa !9
  %29049 = call i32 @s2n_connection_free(ptr noundef %29048)
  %29050 = icmp eq i32 %29049, -1
  br i1 %29050, label %29051, label %29104

29051:                                            ; preds = %29045
  br label %29052

29052:                                            ; preds = %29051
  br label %29053

29053:                                            ; preds = %29052
  call void @llvm.lifetime.start.p0(i64 4, ptr %580) #11
  %29054 = call ptr @__errno_location() #12
  %29055 = load i32, ptr %29054, align 4, !tbaa !5
  store i32 %29055, ptr %580, align 4, !tbaa !5
  %29056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29057 = call i32 @s2n_print_stacktrace(ptr noundef %29056)
  %29058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29059 = trunc i8 %29058 to i1
  br i1 %29059, label %29060, label %29082

29060:                                            ; preds = %29053
  %29061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29062 = call i32 @fileno(ptr noundef %29061) #11
  %29063 = call i32 @isatty(i32 noundef %29062) #11
  %29064 = icmp ne i32 %29063, 0
  br i1 %29064, label %29065, label %29082

29065:                                            ; preds = %29060
  %29066 = load i32, ptr %580, align 4, !tbaa !5
  %29067 = call ptr @__errno_location() #12
  store i32 %29066, ptr %29067, align 4, !tbaa !5
  %29068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29069 = load i32, ptr @test_count, align 4, !tbaa !5
  %29070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29071 = load i32, ptr %29070, align 4, !tbaa !5
  %29072 = call ptr @s2n_strerror(i32 noundef %29071, ptr noundef @.str.4)
  %29073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29074 = load i32, ptr %29073, align 4, !tbaa !5
  %29075 = call ptr @s2n_strerror_debug(i32 noundef %29074, ptr noundef @.str.4)
  %29076 = call ptr @__errno_location() #12
  %29077 = load i32, ptr %29076, align 4, !tbaa !5
  %29078 = call ptr @strerror(i32 noundef %29077) #11
  %29079 = call ptr @__errno_location() #12
  %29080 = load i32, ptr %29079, align 4, !tbaa !5
  %29081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29068, ptr noundef @.str.2, i32 noundef %29069, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 824, ptr noundef %29072, ptr noundef %29075, ptr noundef %29078, i32 noundef %29080) #11
  br label %29099

29082:                                            ; preds = %29060, %29053
  %29083 = load i32, ptr %580, align 4, !tbaa !5
  %29084 = call ptr @__errno_location() #12
  store i32 %29083, ptr %29084, align 4, !tbaa !5
  %29085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29086 = load i32, ptr @test_count, align 4, !tbaa !5
  %29087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29088 = load i32, ptr %29087, align 4, !tbaa !5
  %29089 = call ptr @s2n_strerror(i32 noundef %29088, ptr noundef @.str.4)
  %29090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29091 = load i32, ptr %29090, align 4, !tbaa !5
  %29092 = call ptr @s2n_strerror_debug(i32 noundef %29091, ptr noundef @.str.4)
  %29093 = call ptr @__errno_location() #12
  %29094 = load i32, ptr %29093, align 4, !tbaa !5
  %29095 = call ptr @strerror(i32 noundef %29094) #11
  %29096 = call ptr @__errno_location() #12
  %29097 = load i32, ptr %29096, align 4, !tbaa !5
  %29098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29085, ptr noundef @.str.5, i32 noundef %29086, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 824, ptr noundef %29089, ptr noundef %29092, ptr noundef %29095, i32 noundef %29097) #11
  br label %29099

29099:                                            ; preds = %29082, %29065
  call void @llvm.lifetime.end.p0(i64 4, ptr %580) #11
  br label %29100

29100:                                            ; preds = %29099
  br label %29101

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

29102:                                            ; No predecessors!
  br label %29103

29103:                                            ; preds = %29102
  br label %29104

29104:                                            ; preds = %29103, %29045
  br label %29105

29105:                                            ; preds = %29104
  br label %29106

29106:                                            ; preds = %29105
  call void @llvm.lifetime.end.p0(i64 1000, ptr %563) #11
  call void @llvm.lifetime.end.p0(i64 1000, ptr %562) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %561) #11
  %29107 = call i32 @s2n_io_pair_close(ptr noundef %554)
  call void @llvm.lifetime.end.p0(i64 8, ptr %554) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %553) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %552) #11
  br label %29108

29108:                                            ; preds = %29106
  %29109 = load i32, ptr @test_count, align 4, !tbaa !5
  %29110 = add nsw i32 %29109, 1
  store i32 %29110, ptr @test_count, align 4, !tbaa !5
  %29111 = load ptr, ptr %25, align 8, !tbaa !9
  %29112 = call i32 @s2n_config_free(ptr noundef %29111)
  %29113 = icmp eq i32 %29112, -1
  br i1 %29113, label %29114, label %29167

29114:                                            ; preds = %29108
  br label %29115

29115:                                            ; preds = %29114
  br label %29116

29116:                                            ; preds = %29115
  call void @llvm.lifetime.start.p0(i64 4, ptr %581) #11
  %29117 = call ptr @__errno_location() #12
  %29118 = load i32, ptr %29117, align 4, !tbaa !5
  store i32 %29118, ptr %581, align 4, !tbaa !5
  %29119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29120 = call i32 @s2n_print_stacktrace(ptr noundef %29119)
  %29121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29122 = trunc i8 %29121 to i1
  br i1 %29122, label %29123, label %29145

29123:                                            ; preds = %29116
  %29124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29125 = call i32 @fileno(ptr noundef %29124) #11
  %29126 = call i32 @isatty(i32 noundef %29125) #11
  %29127 = icmp ne i32 %29126, 0
  br i1 %29127, label %29128, label %29145

29128:                                            ; preds = %29123
  %29129 = load i32, ptr %581, align 4, !tbaa !5
  %29130 = call ptr @__errno_location() #12
  store i32 %29129, ptr %29130, align 4, !tbaa !5
  %29131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29132 = load i32, ptr @test_count, align 4, !tbaa !5
  %29133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29134 = load i32, ptr %29133, align 4, !tbaa !5
  %29135 = call ptr @s2n_strerror(i32 noundef %29134, ptr noundef @.str.4)
  %29136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29137 = load i32, ptr %29136, align 4, !tbaa !5
  %29138 = call ptr @s2n_strerror_debug(i32 noundef %29137, ptr noundef @.str.4)
  %29139 = call ptr @__errno_location() #12
  %29140 = load i32, ptr %29139, align 4, !tbaa !5
  %29141 = call ptr @strerror(i32 noundef %29140) #11
  %29142 = call ptr @__errno_location() #12
  %29143 = load i32, ptr %29142, align 4, !tbaa !5
  %29144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29131, ptr noundef @.str.2, i32 noundef %29132, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 828, ptr noundef %29135, ptr noundef %29138, ptr noundef %29141, i32 noundef %29143) #11
  br label %29162

29145:                                            ; preds = %29123, %29116
  %29146 = load i32, ptr %581, align 4, !tbaa !5
  %29147 = call ptr @__errno_location() #12
  store i32 %29146, ptr %29147, align 4, !tbaa !5
  %29148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29149 = load i32, ptr @test_count, align 4, !tbaa !5
  %29150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29151 = load i32, ptr %29150, align 4, !tbaa !5
  %29152 = call ptr @s2n_strerror(i32 noundef %29151, ptr noundef @.str.4)
  %29153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29154 = load i32, ptr %29153, align 4, !tbaa !5
  %29155 = call ptr @s2n_strerror_debug(i32 noundef %29154, ptr noundef @.str.4)
  %29156 = call ptr @__errno_location() #12
  %29157 = load i32, ptr %29156, align 4, !tbaa !5
  %29158 = call ptr @strerror(i32 noundef %29157) #11
  %29159 = call ptr @__errno_location() #12
  %29160 = load i32, ptr %29159, align 4, !tbaa !5
  %29161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29148, ptr noundef @.str.5, i32 noundef %29149, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 828, ptr noundef %29152, ptr noundef %29155, ptr noundef %29158, i32 noundef %29160) #11
  br label %29162

29162:                                            ; preds = %29145, %29128
  call void @llvm.lifetime.end.p0(i64 4, ptr %581) #11
  br label %29163

29163:                                            ; preds = %29162
  br label %29164

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

29165:                                            ; No predecessors!
  br label %29166

29166:                                            ; preds = %29165
  br label %29167

29167:                                            ; preds = %29166, %29108
  br label %29168

29168:                                            ; preds = %29167
  br label %29169

29169:                                            ; preds = %29168
  br label %29170

29170:                                            ; preds = %29169
  %29171 = load i32, ptr @test_count, align 4, !tbaa !5
  %29172 = add nsw i32 %29171, 1
  store i32 %29172, ptr @test_count, align 4, !tbaa !5
  %29173 = load ptr, ptr %23, align 8, !tbaa !9
  %29174 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %29173)
  %29175 = icmp eq i32 %29174, -1
  br i1 %29175, label %29176, label %29229

29176:                                            ; preds = %29170
  br label %29177

29177:                                            ; preds = %29176
  br label %29178

29178:                                            ; preds = %29177
  call void @llvm.lifetime.start.p0(i64 4, ptr %582) #11
  %29179 = call ptr @__errno_location() #12
  %29180 = load i32, ptr %29179, align 4, !tbaa !5
  store i32 %29180, ptr %582, align 4, !tbaa !5
  %29181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29182 = call i32 @s2n_print_stacktrace(ptr noundef %29181)
  %29183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29184 = trunc i8 %29183 to i1
  br i1 %29184, label %29185, label %29207

29185:                                            ; preds = %29178
  %29186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29187 = call i32 @fileno(ptr noundef %29186) #11
  %29188 = call i32 @isatty(i32 noundef %29187) #11
  %29189 = icmp ne i32 %29188, 0
  br i1 %29189, label %29190, label %29207

29190:                                            ; preds = %29185
  %29191 = load i32, ptr %582, align 4, !tbaa !5
  %29192 = call ptr @__errno_location() #12
  store i32 %29191, ptr %29192, align 4, !tbaa !5
  %29193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29194 = load i32, ptr @test_count, align 4, !tbaa !5
  %29195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29196 = load i32, ptr %29195, align 4, !tbaa !5
  %29197 = call ptr @s2n_strerror(i32 noundef %29196, ptr noundef @.str.4)
  %29198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29199 = load i32, ptr %29198, align 4, !tbaa !5
  %29200 = call ptr @s2n_strerror_debug(i32 noundef %29199, ptr noundef @.str.4)
  %29201 = call ptr @__errno_location() #12
  %29202 = load i32, ptr %29201, align 4, !tbaa !5
  %29203 = call ptr @strerror(i32 noundef %29202) #11
  %29204 = call ptr @__errno_location() #12
  %29205 = load i32, ptr %29204, align 4, !tbaa !5
  %29206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29193, ptr noundef @.str.2, i32 noundef %29194, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 829, ptr noundef %29197, ptr noundef %29200, ptr noundef %29203, i32 noundef %29205) #11
  br label %29224

29207:                                            ; preds = %29185, %29178
  %29208 = load i32, ptr %582, align 4, !tbaa !5
  %29209 = call ptr @__errno_location() #12
  store i32 %29208, ptr %29209, align 4, !tbaa !5
  %29210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29211 = load i32, ptr @test_count, align 4, !tbaa !5
  %29212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29213 = load i32, ptr %29212, align 4, !tbaa !5
  %29214 = call ptr @s2n_strerror(i32 noundef %29213, ptr noundef @.str.4)
  %29215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29216 = load i32, ptr %29215, align 4, !tbaa !5
  %29217 = call ptr @s2n_strerror_debug(i32 noundef %29216, ptr noundef @.str.4)
  %29218 = call ptr @__errno_location() #12
  %29219 = load i32, ptr %29218, align 4, !tbaa !5
  %29220 = call ptr @strerror(i32 noundef %29219) #11
  %29221 = call ptr @__errno_location() #12
  %29222 = load i32, ptr %29221, align 4, !tbaa !5
  %29223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29210, ptr noundef @.str.5, i32 noundef %29211, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 829, ptr noundef %29214, ptr noundef %29217, ptr noundef %29220, i32 noundef %29222) #11
  br label %29224

29224:                                            ; preds = %29207, %29190
  call void @llvm.lifetime.end.p0(i64 4, ptr %582) #11
  br label %29225

29225:                                            ; preds = %29224
  br label %29226

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

29227:                                            ; No predecessors!
  br label %29228

29228:                                            ; preds = %29227
  br label %29229

29229:                                            ; preds = %29228, %29170
  br label %29230

29230:                                            ; preds = %29229
  br label %29231

29231:                                            ; preds = %29230
  br label %29232

29232:                                            ; preds = %29231
  br label %29233

29233:                                            ; preds = %29232
  %29234 = call i32 @s2n_cleanup()
  %29235 = icmp eq i32 %29234, -1
  br i1 %29235, label %29236, label %29289

29236:                                            ; preds = %29233
  br label %29237

29237:                                            ; preds = %29236
  br label %29238

29238:                                            ; preds = %29237
  call void @llvm.lifetime.start.p0(i64 4, ptr %583) #11
  %29239 = call ptr @__errno_location() #12
  %29240 = load i32, ptr %29239, align 4, !tbaa !5
  store i32 %29240, ptr %583, align 4, !tbaa !5
  %29241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29242 = call i32 @s2n_print_stacktrace(ptr noundef %29241)
  %29243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29244 = trunc i8 %29243 to i1
  br i1 %29244, label %29245, label %29267

29245:                                            ; preds = %29238
  %29246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29247 = call i32 @fileno(ptr noundef %29246) #11
  %29248 = call i32 @isatty(i32 noundef %29247) #11
  %29249 = icmp ne i32 %29248, 0
  br i1 %29249, label %29250, label %29267

29250:                                            ; preds = %29245
  %29251 = load i32, ptr %583, align 4, !tbaa !5
  %29252 = call ptr @__errno_location() #12
  store i32 %29251, ptr %29252, align 4, !tbaa !5
  %29253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29254 = load i32, ptr @test_count, align 4, !tbaa !5
  %29255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29256 = load i32, ptr %29255, align 4, !tbaa !5
  %29257 = call ptr @s2n_strerror(i32 noundef %29256, ptr noundef @.str.4)
  %29258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29259 = load i32, ptr %29258, align 4, !tbaa !5
  %29260 = call ptr @s2n_strerror_debug(i32 noundef %29259, ptr noundef @.str.4)
  %29261 = call ptr @__errno_location() #12
  %29262 = load i32, ptr %29261, align 4, !tbaa !5
  %29263 = call ptr @strerror(i32 noundef %29262) #11
  %29264 = call ptr @__errno_location() #12
  %29265 = load i32, ptr %29264, align 4, !tbaa !5
  %29266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29253, ptr noundef @.str.2, i32 noundef %29254, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 830, ptr noundef %29257, ptr noundef %29260, ptr noundef %29263, i32 noundef %29265) #11
  br label %29284

29267:                                            ; preds = %29245, %29238
  %29268 = load i32, ptr %583, align 4, !tbaa !5
  %29269 = call ptr @__errno_location() #12
  store i32 %29268, ptr %29269, align 4, !tbaa !5
  %29270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29271 = load i32, ptr @test_count, align 4, !tbaa !5
  %29272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29273 = load i32, ptr %29272, align 4, !tbaa !5
  %29274 = call ptr @s2n_strerror(i32 noundef %29273, ptr noundef @.str.4)
  %29275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29276 = load i32, ptr %29275, align 4, !tbaa !5
  %29277 = call ptr @s2n_strerror_debug(i32 noundef %29276, ptr noundef @.str.4)
  %29278 = call ptr @__errno_location() #12
  %29279 = load i32, ptr %29278, align 4, !tbaa !5
  %29280 = call ptr @strerror(i32 noundef %29279) #11
  %29281 = call ptr @__errno_location() #12
  %29282 = load i32, ptr %29281, align 4, !tbaa !5
  %29283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29270, ptr noundef @.str.5, i32 noundef %29271, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 830, ptr noundef %29274, ptr noundef %29277, ptr noundef %29280, i32 noundef %29282) #11
  br label %29284

29284:                                            ; preds = %29267, %29250
  call void @llvm.lifetime.end.p0(i64 4, ptr %583) #11
  br label %29285

29285:                                            ; preds = %29284
  br label %29286

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

29287:                                            ; No predecessors!
  br label %29288

29288:                                            ; preds = %29287
  br label %29289

29289:                                            ; preds = %29288, %29233
  br label %29290

29290:                                            ; preds = %29289
  br label %29291

29291:                                            ; preds = %29290
  br label %29292

29292:                                            ; preds = %29291
  br label %29293

29293:                                            ; preds = %29292
  %29294 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %29295 = icmp eq i32 %29294, -1
  br i1 %29295, label %29296, label %29349

29296:                                            ; preds = %29293
  br label %29297

29297:                                            ; preds = %29296
  br label %29298

29298:                                            ; preds = %29297
  call void @llvm.lifetime.start.p0(i64 4, ptr %584) #11
  %29299 = call ptr @__errno_location() #12
  %29300 = load i32, ptr %29299, align 4, !tbaa !5
  store i32 %29300, ptr %584, align 4, !tbaa !5
  %29301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29302 = call i32 @s2n_print_stacktrace(ptr noundef %29301)
  %29303 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29304 = trunc i8 %29303 to i1
  br i1 %29304, label %29305, label %29327

29305:                                            ; preds = %29298
  %29306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29307 = call i32 @fileno(ptr noundef %29306) #11
  %29308 = call i32 @isatty(i32 noundef %29307) #11
  %29309 = icmp ne i32 %29308, 0
  br i1 %29309, label %29310, label %29327

29310:                                            ; preds = %29305
  %29311 = load i32, ptr %584, align 4, !tbaa !5
  %29312 = call ptr @__errno_location() #12
  store i32 %29311, ptr %29312, align 4, !tbaa !5
  %29313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29314 = load i32, ptr @test_count, align 4, !tbaa !5
  %29315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29316 = load i32, ptr %29315, align 4, !tbaa !5
  %29317 = call ptr @s2n_strerror(i32 noundef %29316, ptr noundef @.str.4)
  %29318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29319 = load i32, ptr %29318, align 4, !tbaa !5
  %29320 = call ptr @s2n_strerror_debug(i32 noundef %29319, ptr noundef @.str.4)
  %29321 = call ptr @__errno_location() #12
  %29322 = load i32, ptr %29321, align 4, !tbaa !5
  %29323 = call ptr @strerror(i32 noundef %29322) #11
  %29324 = call ptr @__errno_location() #12
  %29325 = load i32, ptr %29324, align 4, !tbaa !5
  %29326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29313, ptr noundef @.str.2, i32 noundef %29314, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 830, ptr noundef %29317, ptr noundef %29320, ptr noundef %29323, i32 noundef %29325) #11
  br label %29344

29327:                                            ; preds = %29305, %29298
  %29328 = load i32, ptr %584, align 4, !tbaa !5
  %29329 = call ptr @__errno_location() #12
  store i32 %29328, ptr %29329, align 4, !tbaa !5
  %29330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29331 = load i32, ptr @test_count, align 4, !tbaa !5
  %29332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29333 = load i32, ptr %29332, align 4, !tbaa !5
  %29334 = call ptr @s2n_strerror(i32 noundef %29333, ptr noundef @.str.4)
  %29335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29336 = load i32, ptr %29335, align 4, !tbaa !5
  %29337 = call ptr @s2n_strerror_debug(i32 noundef %29336, ptr noundef @.str.4)
  %29338 = call ptr @__errno_location() #12
  %29339 = load i32, ptr %29338, align 4, !tbaa !5
  %29340 = call ptr @strerror(i32 noundef %29339) #11
  %29341 = call ptr @__errno_location() #12
  %29342 = load i32, ptr %29341, align 4, !tbaa !5
  %29343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29330, ptr noundef @.str.5, i32 noundef %29331, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 830, ptr noundef %29334, ptr noundef %29337, ptr noundef %29340, i32 noundef %29342) #11
  br label %29344

29344:                                            ; preds = %29327, %29310
  call void @llvm.lifetime.end.p0(i64 4, ptr %584) #11
  br label %29345

29345:                                            ; preds = %29344
  br label %29346

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

29347:                                            ; No predecessors!
  br label %29348

29348:                                            ; preds = %29347
  br label %29349

29349:                                            ; preds = %29348, %29293
  br label %29350

29350:                                            ; preds = %29349
  br label %29351

29351:                                            ; preds = %29350
  %29352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29353 = trunc i8 %29352 to i1
  br i1 %29353, label %29354, label %29370

29354:                                            ; preds = %29351
  %29355 = load ptr, ptr @stdout, align 8, !tbaa !9
  %29356 = call i32 @fileno(ptr noundef %29355) #11
  %29357 = call i32 @isatty(i32 noundef %29356) #11
  %29358 = icmp ne i32 %29357, 0
  br i1 %29358, label %29359, label %29370

29359:                                            ; preds = %29354
  %29360 = load i32, ptr @test_count, align 4, !tbaa !5
  %29361 = icmp ne i32 %29360, 0
  br i1 %29361, label %29362, label %29366

29362:                                            ; preds = %29359
  %29363 = load ptr, ptr @stdout, align 8, !tbaa !9
  %29364 = load i32, ptr @test_count, align 4, !tbaa !5
  %29365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29363, ptr noundef @.str.10, i32 noundef %29364) #11
  br label %29369

29366:                                            ; preds = %29359
  %29367 = load ptr, ptr @stdout, align 8, !tbaa !9
  %29368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29367, ptr noundef @.str.11) #11
  br label %29369

29369:                                            ; preds = %29366, %29362
  br label %29381

29370:                                            ; preds = %29354, %29351
  %29371 = load i32, ptr @test_count, align 4, !tbaa !5
  %29372 = icmp ne i32 %29371, 0
  br i1 %29372, label %29373, label %29377

29373:                                            ; preds = %29370
  %29374 = load ptr, ptr @stdout, align 8, !tbaa !9
  %29375 = load i32, ptr @test_count, align 4, !tbaa !5
  %29376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29374, ptr noundef @.str.12, i32 noundef %29375) #11
  br label %29380

29377:                                            ; preds = %29370
  %29378 = load ptr, ptr @stdout, align 8, !tbaa !9
  %29379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29378, ptr noundef @.str.13) #11
  br label %29380

29380:                                            ; preds = %29377, %29373
  br label %29381

29381:                                            ; preds = %29380, %29369
  store i32 0, ptr %3, align 4
  store i32 1, ptr %585, align 4
  br label %29386

29382:                                            ; No predecessors!
  br label %29383

29383:                                            ; preds = %29382
  br label %29384

29384:                                            ; preds = %29383
  br label %29385

29385:                                            ; preds = %29384
  store i32 0, ptr %585, align 4
  br label %29386

29386:                                            ; preds = %29385, %29381
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #11
  %29387 = call i32 @s2n_psk_free(ptr noundef %19)
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #11
  %29388 = call i32 @s2n_psk_free(ptr noundef %16)
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #11
  %29389 = call i32 @s2n_psk_free(ptr noundef %12)
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #11
  call void @llvm.lifetime.end.p0(i64 12, ptr %11) #11
  %29390 = load i32, ptr %585, align 4
  switch i32 %29390, label %29393 [
    i32 0, label %29391
    i32 1, label %29391
  ]

29391:                                            ; preds = %29386, %29386, %909
  %29392 = load i32, ptr %3, align 4
  ret i32 %29392

29393:                                            ; preds = %29386
  unreachable
}

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #1

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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

; Function Attrs: nounwind willreturn memory(none)
declare ptr @__errno_location() #4

declare i32 @s2n_print_stacktrace(ptr noundef) #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #1

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #1

declare ptr @s2n_strerror(i32 noundef, ptr noundef) #2

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

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) #2

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #1

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #6

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) #2

declare i32 @s2n_cleanup() #2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #7

declare ptr @s2n_external_psk_new() #2

declare i32 @s2n_psk_free(ptr noundef) #2

declare i32 @s2n_psk_set_identity(ptr noundef, ptr noundef, i16 noundef zeroext) #2

declare i32 @s2n_psk_set_secret(ptr noundef, ptr noundef, i16 noundef zeroext) #2

declare i32 @s2n_psk_configure_early_data(ptr noundef, i32 noundef, i8 noundef zeroext, i8 noundef zeroext) #2

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) #2

declare ptr @s2n_config_new() #2

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) #2

declare i32 @s2n_config_set_unsafe_for_testing(ptr noundef) #2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #8

declare i32 @s2n_io_pair_close(ptr noundef) #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) #9

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_client_and_server_new(ptr noundef, ptr noundef, ptr noundef) #0

declare i32 @s2n_connection_append_psk(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_set_early_data_expected(ptr noundef) #2

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) #2

declare zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef, i32 noundef) #2

declare zeroext i1 @s2n_handshake_type_check_flag(ptr noundef, i32 noundef) #2

declare i32 @s2n_conn_get_current_message_type(ptr noundef) #2

declare i32 @s2n_shutdown_test_server_and_client(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_free(ptr noundef) #2

declare i32 @s2n_connection_set_cipher_preferences(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_error(i32) #9

declare i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef, ptr noundef, i32 noundef) #2

declare void @s2n_debug_info_reset() #2

declare i32 @s2n_negotiate(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_set_end_of_early_data(ptr noundef) #2

declare i32 @s2n_config_set_early_data_cb(ptr noundef, ptr noundef) #2

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_async_early_data_cb(ptr noundef, ptr noundef) #0

declare i32 @s2n_negotiate_until_message(ptr noundef, ptr noundef, i32 noundef) #2

declare i32 @s2n_offered_early_data_accept(ptr noundef) #2

declare i32 @s2n_config_free(ptr noundef) #2

declare i32 @s2n_offered_early_data_reject(ptr noundef) #2

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) #2

declare ptr @s2n_connection_new(i32 noundef) #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) #2

declare i32 @s2n_connection_set_blinding(ptr noundef, i32 noundef) #2

declare i32 @s2n_connections_set_io_pair(ptr noundef, ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_wipe(ptr noundef) #2

declare i32 @s2n_connection_ptr_free(ptr noundef) #2

declare i32 @s2n_stuffer_free(ptr noundef) #2

declare i32 @s2n_stuffer_growable_alloc(ptr noundef, i32 noundef) #2

declare i32 @s2n_connection_set_io_stuffers(ptr noundef, ptr noundef, ptr noundef) #2

declare i32 @s2n_stuffer_alloc(ptr noundef, i32 noundef) #2

declare i64 @s2n_recv(ptr noundef, ptr noundef, i64 noundef, ptr noundef) #2

; Function Attrs: nounwind willreturn memory(read)
declare i32 @memcmp(ptr noundef, ptr noundef, i64 noundef) #10

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #8 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #9 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { nounwind willreturn memory(read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #11 = { nounwind }
attributes #12 = { nounwind willreturn memory(none) }
attributes #13 = { noreturn nounwind }
attributes #14 = { nounwind willreturn memory(read) }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !16, i64 0}
!16 = !{!"long", !7, i64 0}
!17 = distinct !{!17, !18}
!18 = !{!"llvm.loop.mustprogress"}
!19 = !{!20, !6, i64 4088}
!20 = !{!"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, !21, i64 160, !16, i64 168, !16, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !22, i64 240, !10, i64 632, !10, i64 640, !23, i64 648, !29, i64 1144, !32, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !35, i64 1776, !35, i64 1816, !35, i64 1856, !35, i64 1896, !6, i64 1936, !16, i64 1944, !7, i64 1952, !35, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !36, i64 2004, !36, i64 2008, !37, i64 2016, !34, i64 2208, !6, i64 2212, !34, i64 2216, !16, i64 2224, !7, i64 2232, !16, i64 2240, !16, i64 2248, !16, i64 2256, !36, i64 2264, !36, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !28, i64 2792, !6, i64 2816, !28, i64 2824, !28, i64 2848, !28, i64 2872, !39, i64 2896, !41, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !28, i64 3784, !6, i64 3808, !43, i64 3816, !7, i64 3848, !35, i64 3992, !28, i64 4032, !28, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !34, i64 4084, !34, i64 4086, !6, i64 4088, !6, i64 4092, !28, i64 4096, !6, i64 4120, !44, i64 4128, !36, i64 4176, !7, i64 4180, !7, i64 4181}
!21 = !{!"s2n_timer", !16, i64 0}
!22 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!23 = !{!"s2n_kex_parameters", !24, i64 0, !25, i64 8, !7, i64 24, !25, i64 56, !26, i64 72, !26, i64 184, !7, i64 296, !27, i64 360, !28, i64 448, !28, i64 472}
!24 = !{!"s2n_dh_params", !10, i64 0}
!25 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!26 = !{!"s2n_kem_group_params", !10, i64 0, !27, i64 8, !25, i64 96}
!27 = !{!"s2n_kem_params", !10, i64 0, !28, i64 8, !28, i64 32, !28, i64 56, !12, i64 80}
!28 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!29 = !{!"s2n_handshake_parameters", !30, i64 0, !30, i64 48, !28, i64 96, !6, i64 120, !31, 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}
!30 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!31 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!32 = !{!"s2n_psk_parameters", !6, i64 0, !33, i64 8, !34, i64 40, !34, i64 42, !10, i64 48, !6, i64 56}
!33 = !{!"s2n_array", !28, i64 0, !6, i64 24, !6, i64 28}
!34 = !{!"short", !7, i64 0}
!35 = !{!"s2n_stuffer", !28, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!36 = !{!"", !6, i64 0}
!37 = !{!"s2n_handshake", !35, 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, !38, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!38 = !{!"s2n_offered_early_data", !10, i64 0}
!39 = !{!"s2n_client_hello", !28, i64 0, !40, i64 24, !28, i64 728, !28, i64 752, !28, 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}
!40 = !{!"", !7, i64 0, !28, i64 672, !34, i64 696}
!41 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !34, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !42, i64 48, !12, i64 52}
!42 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!43 = !{!"s2n_ticket_fields", !28, i64 0, !6, i64 24}
!44 = !{!"s2n_post_handshake", !35, i64 0, !7, i64 40}
!45 = distinct !{!45, !18}
!46 = !{!20, !16, i64 2256}
!47 = !{!20, !10, i64 16}
!48 = distinct !{!48, !18}
!49 = !{!20, !34, i64 2208}


; 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_security_policy = type { i8, ptr, ptr, ptr, ptr, ptr, ptr, i8, [2 x i8] }
%struct.s2n_test_io_pair = type { i32, i32 }
%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
@async_early_data = external dso_local local_unnamed_addr global ptr, align 8
@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 [81 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 [42 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [25 x i8], align 1
@__const.main.test_data = external hidden unnamed_addr constant [12 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [146 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [127 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [58 x i8], align 1
@security_policy_test_tls13_retry = external constant %struct.s2n_security_policy, align 8
@.str.79 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [125 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [128 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [125 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [68 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 [12 x i8], align 1
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca %struct.s2n_test_io_pair, align 8
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca %struct.s2n_test_io_pair, align 8
  %14 = alloca ptr, align 8
  %15 = alloca ptr, align 8
  %16 = alloca %struct.s2n_test_io_pair, align 8
  %17 = alloca ptr, align 8
  %18 = alloca ptr, align 8
  %19 = alloca %struct.s2n_test_io_pair, align 8
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca ptr, align 8
  %23 = alloca ptr, align 8
  %24 = alloca %struct.s2n_test_io_pair, align 8
  %25 = alloca ptr, align 8
  %26 = alloca ptr, align 8
  %27 = alloca %struct.s2n_test_io_pair, align 8
  %28 = alloca i32, align 4
  %29 = alloca ptr, align 8
  %30 = alloca ptr, align 8
  %31 = alloca %struct.s2n_test_io_pair, align 8
  %32 = alloca ptr, align 8
  %33 = alloca ptr, align 8
  %34 = alloca %struct.s2n_test_io_pair, align 8
  %35 = alloca i32, align 4
  %36 = alloca ptr, align 8
  %37 = alloca ptr, align 8
  %38 = alloca %struct.s2n_test_io_pair, align 8
  %39 = alloca i32, align 4
  %40 = alloca ptr, align 8
  %41 = alloca ptr, align 8
  %42 = alloca %struct.s2n_test_io_pair, align 8
  %43 = alloca %struct.s2n_test_io_pair, align 8
  %44 = alloca i32, align 4
  %45 = alloca ptr, align 8
  %46 = alloca ptr, align 8
  %47 = alloca %struct.s2n_test_io_pair, align 8
  %48 = alloca ptr, align 8
  %49 = alloca ptr, align 8
  %50 = alloca %struct.s2n_test_io_pair, align 8
  %51 = alloca i32, align 4
  %52 = alloca ptr, align 8
  %53 = alloca ptr, align 8
  %54 = alloca %struct.s2n_test_io_pair, align 8
  %55 = alloca i32, align 4
  %56 = alloca ptr, align 8
  %57 = alloca ptr, align 8
  %58 = alloca %struct.s2n_test_io_pair, align 8
  %59 = alloca %struct.s2n_stuffer, align 8
  %60 = alloca %struct.s2n_stuffer, align 8
  %61 = alloca i32, align 4
  %62 = alloca [1000 x i8], align 16
  %63 = alloca ptr, align 8
  %64 = alloca ptr, align 8
  %65 = alloca %struct.s2n_test_io_pair, align 8
  %66 = alloca i32, align 4
  %67 = alloca [1000 x i8], align 16
  %68 = alloca ptr, align 8
  %69 = alloca ptr, align 8
  %70 = alloca %struct.s2n_test_io_pair, align 8
  %71 = alloca i32, align 4
  %72 = alloca [1000 x i8], align 16
  %73 = alloca ptr, align 8
  %74 = alloca ptr, align 8
  %75 = alloca %struct.s2n_test_io_pair, align 8
  %76 = alloca i32, align 4
  %77 = alloca [1000 x i8], align 16
  %78 = alloca [1000 x i8], align 16
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %79 = load ptr, ptr @stdout, align 8, !tbaa !9
  %80 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %79, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #12
  %81 = load ptr, ptr @stdout, align 8, !tbaa !9
  %82 = tail call i32 @fflush(ptr noundef %81)
  %83 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #12
  %84 = icmp eq i32 %83, -1
  br i1 %84, label %85, label %109

85:                                               ; preds = %2
  %86 = tail call ptr @__errno_location() #13
  %87 = load i32, ptr %86, align 4, !tbaa !5
  %88 = load ptr, ptr @stderr, align 8, !tbaa !9
  %89 = tail call i32 @s2n_print_stacktrace(ptr noundef %88) #12
  %90 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %91 = trunc nuw i8 %90 to i1
  br i1 %91, label %92, label %96

92:                                               ; preds = %85
  %93 = load ptr, ptr @stderr, align 8, !tbaa !9
  %94 = tail call i32 @fileno(ptr noundef %93) #12
  %95 = tail call i32 @isatty(i32 noundef %94) #12
  %.not1476 = icmp eq i32 %95, 0
  br i1 %.not1476, label %96, label %97

96:                                               ; preds = %92, %85
  br label %97

97:                                               ; preds = %92, %96
  %.str.5.sink = phi ptr [ @.str.5, %96 ], [ @.str.2, %92 ]
  store i32 %87, ptr %86, align 4, !tbaa !5
  %98 = load ptr, ptr @stderr, align 8, !tbaa !9
  %99 = load i32, ptr @test_count, align 4, !tbaa !5
  %100 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %101 = load i32, ptr %100, align 4, !tbaa !5
  %102 = tail call ptr @s2n_strerror(i32 noundef %101, ptr noundef nonnull @.str.4) #12
  %103 = load i32, ptr %100, align 4, !tbaa !5
  %104 = tail call ptr @s2n_strerror_debug(i32 noundef %103, ptr noundef nonnull @.str.4) #12
  %105 = load i32, ptr %86, align 4, !tbaa !5
  %106 = tail call ptr @strerror(i32 noundef %105) #12
  %107 = load i32, ptr %86, align 4, !tbaa !5
  %108 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %98, ptr noundef nonnull %.str.5.sink, i32 noundef %99, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 56, ptr noundef %102, ptr noundef %104, ptr noundef %106, i32 noundef %107) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

109:                                              ; preds = %2
  %110 = load i32, ptr @test_count, align 4, !tbaa !5
  %111 = add nsw i32 %110, 1
  store i32 %111, ptr @test_count, align 4, !tbaa !5
  %112 = tail call i32 @s2n_enable_atexit() #12
  %113 = icmp eq i32 %112, -1
  br i1 %113, label %114, label %138

114:                                              ; preds = %109
  %115 = tail call ptr @__errno_location() #13
  %116 = load i32, ptr %115, align 4, !tbaa !5
  %117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %118 = tail call i32 @s2n_print_stacktrace(ptr noundef %117) #12
  %119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %120 = trunc nuw i8 %119 to i1
  br i1 %120, label %121, label %125

121:                                              ; preds = %114
  %122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %123 = tail call i32 @fileno(ptr noundef %122) #12
  %124 = tail call i32 @isatty(i32 noundef %123) #12
  %.not1475 = icmp eq i32 %124, 0
  br i1 %.not1475, label %125, label %126

125:                                              ; preds = %121, %114
  br label %126

126:                                              ; preds = %121, %125
  %.str.5.sink1493 = phi ptr [ @.str.5, %125 ], [ @.str.2, %121 ]
  store i32 %116, ptr %115, align 4, !tbaa !5
  %127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %128 = load i32, ptr @test_count, align 4, !tbaa !5
  %129 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %130 = load i32, ptr %129, align 4, !tbaa !5
  %131 = tail call ptr @s2n_strerror(i32 noundef %130, ptr noundef nonnull @.str.4) #12
  %132 = load i32, ptr %129, align 4, !tbaa !5
  %133 = tail call ptr @s2n_strerror_debug(i32 noundef %132, ptr noundef nonnull @.str.4) #12
  %134 = load i32, ptr %115, align 4, !tbaa !5
  %135 = tail call ptr @strerror(i32 noundef %134) #12
  %136 = load i32, ptr %115, align 4, !tbaa !5
  %137 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %127, ptr noundef nonnull %.str.5.sink1493, i32 noundef %128, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 56, ptr noundef %131, ptr noundef %133, ptr noundef %135, i32 noundef %136) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

138:                                              ; preds = %109
  %139 = tail call i32 @s2n_init() #12
  %140 = icmp eq i32 %139, -1
  br i1 %140, label %141, label %165

141:                                              ; preds = %138
  %142 = tail call ptr @__errno_location() #13
  %143 = load i32, ptr %142, align 4, !tbaa !5
  %144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %145 = tail call i32 @s2n_print_stacktrace(ptr noundef %144) #12
  %146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %147 = trunc nuw i8 %146 to i1
  br i1 %147, label %148, label %152

148:                                              ; preds = %141
  %149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %150 = tail call i32 @fileno(ptr noundef %149) #12
  %151 = tail call i32 @isatty(i32 noundef %150) #12
  %.not1474 = icmp eq i32 %151, 0
  br i1 %.not1474, label %152, label %153

152:                                              ; preds = %148, %141
  br label %153

153:                                              ; preds = %148, %152
  %.str.5.sink1504 = phi ptr [ @.str.5, %152 ], [ @.str.2, %148 ]
  store i32 %143, ptr %142, align 4, !tbaa !5
  %154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %155 = load i32, ptr @test_count, align 4, !tbaa !5
  %156 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %157 = load i32, ptr %156, align 4, !tbaa !5
  %158 = tail call ptr @s2n_strerror(i32 noundef %157, ptr noundef nonnull @.str.4) #12
  %159 = load i32, ptr %156, align 4, !tbaa !5
  %160 = tail call ptr @s2n_strerror_debug(i32 noundef %159, ptr noundef nonnull @.str.4) #12
  %161 = load i32, ptr %142, align 4, !tbaa !5
  %162 = tail call ptr @strerror(i32 noundef %161) #12
  %163 = load i32, ptr %142, align 4, !tbaa !5
  %164 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %154, ptr noundef nonnull %.str.5.sink1504, i32 noundef %155, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 56, ptr noundef %158, ptr noundef %160, ptr noundef %162, i32 noundef %163) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

165:                                              ; preds = %138
  %166 = tail call zeroext i1 (...) @s2n_is_tls13_fully_supported() #12
  br i1 %166, label %242, label %167

167:                                              ; preds = %165
  %168 = tail call i32 @s2n_cleanup() #12
  %169 = icmp eq i32 %168, -1
  br i1 %169, label %170, label %194

170:                                              ; preds = %167
  %171 = tail call ptr @__errno_location() #13
  %172 = load i32, ptr %171, align 4, !tbaa !5
  %173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %174 = tail call i32 @s2n_print_stacktrace(ptr noundef %173) #12
  %175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %176 = trunc nuw i8 %175 to i1
  br i1 %176, label %177, label %181

177:                                              ; preds = %170
  %178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %179 = tail call i32 @fileno(ptr noundef %178) #12
  %180 = tail call i32 @isatty(i32 noundef %179) #12
  %.not1016 = icmp eq i32 %180, 0
  br i1 %.not1016, label %181, label %182

181:                                              ; preds = %177, %170
  br label %182

182:                                              ; preds = %177, %181
  %.str.5.sink1515 = phi ptr [ @.str.5, %181 ], [ @.str.2, %177 ]
  store i32 %172, ptr %171, align 4, !tbaa !5
  %183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %184 = load i32, ptr @test_count, align 4, !tbaa !5
  %185 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %186 = load i32, ptr %185, align 4, !tbaa !5
  %187 = tail call ptr @s2n_strerror(i32 noundef %186, ptr noundef nonnull @.str.4) #12
  %188 = load i32, ptr %185, align 4, !tbaa !5
  %189 = tail call ptr @s2n_strerror_debug(i32 noundef %188, ptr noundef nonnull @.str.4) #12
  %190 = load i32, ptr %171, align 4, !tbaa !5
  %191 = tail call ptr @strerror(i32 noundef %190) #12
  %192 = load i32, ptr %171, align 4, !tbaa !5
  %193 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %183, ptr noundef nonnull %.str.5.sink1515, i32 noundef %184, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 59, ptr noundef %187, ptr noundef %189, ptr noundef %191, i32 noundef %192) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

194:                                              ; preds = %167
  %195 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #12
  %196 = icmp eq i32 %195, -1
  br i1 %196, label %197, label %221

197:                                              ; preds = %194
  %198 = tail call ptr @__errno_location() #13
  %199 = load i32, ptr %198, align 4, !tbaa !5
  %200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %201 = tail call i32 @s2n_print_stacktrace(ptr noundef %200) #12
  %202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %203 = trunc nuw i8 %202 to i1
  br i1 %203, label %204, label %208

204:                                              ; preds = %197
  %205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %206 = tail call i32 @fileno(ptr noundef %205) #12
  %207 = tail call i32 @isatty(i32 noundef %206) #12
  %.not1015 = icmp eq i32 %207, 0
  br i1 %.not1015, label %208, label %209

208:                                              ; preds = %204, %197
  br label %209

209:                                              ; preds = %204, %208
  %.str.5.sink1526 = phi ptr [ @.str.5, %208 ], [ @.str.2, %204 ]
  store i32 %199, ptr %198, align 4, !tbaa !5
  %210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %211 = load i32, ptr @test_count, align 4, !tbaa !5
  %212 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %213 = load i32, ptr %212, align 4, !tbaa !5
  %214 = tail call ptr @s2n_strerror(i32 noundef %213, ptr noundef nonnull @.str.4) #12
  %215 = load i32, ptr %212, align 4, !tbaa !5
  %216 = tail call ptr @s2n_strerror_debug(i32 noundef %215, ptr noundef nonnull @.str.4) #12
  %217 = load i32, ptr %198, align 4, !tbaa !5
  %218 = tail call ptr @strerror(i32 noundef %217) #12
  %219 = load i32, ptr %198, align 4, !tbaa !5
  %220 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %210, ptr noundef nonnull %.str.5.sink1526, i32 noundef %211, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 59, ptr noundef %214, ptr noundef %216, ptr noundef %218, i32 noundef %219) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

221:                                              ; preds = %194
  %222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %223 = trunc nuw i8 %222 to i1
  br i1 %223, label %224, label %235

224:                                              ; preds = %221
  %225 = load ptr, ptr @stdout, align 8, !tbaa !9
  %226 = tail call i32 @fileno(ptr noundef %225) #12
  %227 = tail call i32 @isatty(i32 noundef %226) #12
  %.not = icmp eq i32 %227, 0
  br i1 %.not, label %235, label %228

228:                                              ; preds = %224
  %229 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1014 = icmp eq i32 %229, 0
  %230 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1014, label %233, label %231

231:                                              ; preds = %228
  %232 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %230, ptr noundef nonnull @.str.10, i32 noundef %229) #12
  br label %12701

233:                                              ; preds = %228
  %234 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %230, ptr noundef nonnull @.str.11) #12
  br label %12701

235:                                              ; preds = %224, %221
  %236 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1013 = icmp eq i32 %236, 0
  %237 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1013, label %240, label %238

238:                                              ; preds = %235
  %239 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %237, ptr noundef nonnull @.str.12, i32 noundef %236) #12
  br label %12701

240:                                              ; preds = %235
  %241 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %237, ptr noundef nonnull @.str.13) #12
  br label %12701

242:                                              ; preds = %165
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %3) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %3, ptr noundef nonnull align 1 dereferenceable(12) @__const.main.test_data, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #12
  %243 = tail call ptr @s2n_external_psk_new() #12
  store ptr %243, ptr %4, align 8, !tbaa !9
  %244 = load i32, ptr @test_count, align 4, !tbaa !5
  %245 = add nsw i32 %244, 1
  store i32 %245, ptr @test_count, align 4, !tbaa !5
  %246 = call i32 @s2n_psk_set_identity(ptr noundef %243, ptr noundef nonnull %3, i16 noundef zeroext 12) #12
  %247 = icmp eq i32 %246, -1
  br i1 %247, label %248, label %272

248:                                              ; preds = %242
  %249 = tail call ptr @__errno_location() #13
  %250 = load i32, ptr %249, align 4, !tbaa !5
  %251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %252 = call i32 @s2n_print_stacktrace(ptr noundef %251) #12
  %253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %254 = trunc nuw i8 %253 to i1
  br i1 %254, label %255, label %259

255:                                              ; preds = %248
  %256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %257 = call i32 @fileno(ptr noundef %256) #12
  %258 = call i32 @isatty(i32 noundef %257) #12
  %.not1473 = icmp eq i32 %258, 0
  br i1 %.not1473, label %259, label %260

259:                                              ; preds = %255, %248
  br label %260

260:                                              ; preds = %255, %259
  %.str.5.sink1537 = phi ptr [ @.str.5, %259 ], [ @.str.2, %255 ]
  store i32 %250, ptr %249, align 4, !tbaa !5
  %261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %262 = load i32, ptr @test_count, align 4, !tbaa !5
  %263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %264 = load i32, ptr %263, align 4, !tbaa !5
  %265 = call ptr @s2n_strerror(i32 noundef %264, ptr noundef nonnull @.str.4) #12
  %266 = load i32, ptr %263, align 4, !tbaa !5
  %267 = call ptr @s2n_strerror_debug(i32 noundef %266, ptr noundef nonnull @.str.4) #12
  %268 = load i32, ptr %249, align 4, !tbaa !5
  %269 = call ptr @strerror(i32 noundef %268) #12
  %270 = load i32, ptr %249, align 4, !tbaa !5
  %271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %261, ptr noundef nonnull %.str.5.sink1537, i32 noundef %262, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 65, ptr noundef %265, ptr noundef %267, ptr noundef %269, i32 noundef %270) #14
  call void @exit(i32 noundef 1) #15
  unreachable

272:                                              ; preds = %242
  %273 = load i32, ptr @test_count, align 4, !tbaa !5
  %274 = add nsw i32 %273, 1
  store i32 %274, ptr @test_count, align 4, !tbaa !5
  %275 = call i32 @s2n_psk_set_secret(ptr noundef %243, ptr noundef nonnull %3, i16 noundef zeroext 12) #12
  %276 = icmp eq i32 %275, -1
  br i1 %276, label %277, label %301

277:                                              ; preds = %272
  %278 = tail call ptr @__errno_location() #13
  %279 = load i32, ptr %278, align 4, !tbaa !5
  %280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %281 = call i32 @s2n_print_stacktrace(ptr noundef %280) #12
  %282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %283 = trunc nuw i8 %282 to i1
  br i1 %283, label %284, label %288

284:                                              ; preds = %277
  %285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %286 = call i32 @fileno(ptr noundef %285) #12
  %287 = call i32 @isatty(i32 noundef %286) #12
  %.not1472 = icmp eq i32 %287, 0
  br i1 %.not1472, label %288, label %289

288:                                              ; preds = %284, %277
  br label %289

289:                                              ; preds = %284, %288
  %.str.5.sink1548 = phi ptr [ @.str.5, %288 ], [ @.str.2, %284 ]
  store i32 %279, ptr %278, align 4, !tbaa !5
  %290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %291 = load i32, ptr @test_count, align 4, !tbaa !5
  %292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %293 = load i32, ptr %292, align 4, !tbaa !5
  %294 = call ptr @s2n_strerror(i32 noundef %293, ptr noundef nonnull @.str.4) #12
  %295 = load i32, ptr %292, align 4, !tbaa !5
  %296 = call ptr @s2n_strerror_debug(i32 noundef %295, ptr noundef nonnull @.str.4) #12
  %297 = load i32, ptr %278, align 4, !tbaa !5
  %298 = call ptr @strerror(i32 noundef %297) #12
  %299 = load i32, ptr %278, align 4, !tbaa !5
  %300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %290, ptr noundef nonnull %.str.5.sink1548, i32 noundef %291, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %294, ptr noundef %296, ptr noundef %298, i32 noundef %299) #14
  call void @exit(i32 noundef 1) #15
  unreachable

301:                                              ; preds = %272
  %302 = load i32, ptr @test_count, align 4, !tbaa !5
  %303 = add nsw i32 %302, 1
  store i32 %303, ptr @test_count, align 4, !tbaa !5
  %304 = call i32 @s2n_psk_configure_early_data(ptr noundef %243, i32 noundef 1000, i8 noundef zeroext 19, i8 noundef zeroext 1) #12
  %305 = icmp eq i32 %304, -1
  br i1 %305, label %306, label %330

306:                                              ; preds = %301
  %307 = tail call ptr @__errno_location() #13
  %308 = load i32, ptr %307, align 4, !tbaa !5
  %309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %310 = call i32 @s2n_print_stacktrace(ptr noundef %309) #12
  %311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %312 = trunc nuw i8 %311 to i1
  br i1 %312, label %313, label %317

313:                                              ; preds = %306
  %314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %315 = call i32 @fileno(ptr noundef %314) #12
  %316 = call i32 @isatty(i32 noundef %315) #12
  %.not1471 = icmp eq i32 %316, 0
  br i1 %.not1471, label %317, label %318

317:                                              ; preds = %313, %306
  br label %318

318:                                              ; preds = %313, %317
  %.str.5.sink1559 = phi ptr [ @.str.5, %317 ], [ @.str.2, %313 ]
  store i32 %308, ptr %307, align 4, !tbaa !5
  %319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %320 = load i32, ptr @test_count, align 4, !tbaa !5
  %321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %322 = load i32, ptr %321, align 4, !tbaa !5
  %323 = call ptr @s2n_strerror(i32 noundef %322, ptr noundef nonnull @.str.4) #12
  %324 = load i32, ptr %321, align 4, !tbaa !5
  %325 = call ptr @s2n_strerror_debug(i32 noundef %324, ptr noundef nonnull @.str.4) #12
  %326 = load i32, ptr %307, align 4, !tbaa !5
  %327 = call ptr @strerror(i32 noundef %326) #12
  %328 = load i32, ptr %307, align 4, !tbaa !5
  %329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %319, ptr noundef nonnull %.str.5.sink1559, i32 noundef %320, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 67, ptr noundef %323, ptr noundef %325, ptr noundef %327, i32 noundef %328) #14
  call void @exit(i32 noundef 1) #15
  unreachable

330:                                              ; preds = %301
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #12
  %331 = call ptr @s2n_external_psk_new() #12
  store ptr %331, ptr %5, align 8, !tbaa !9
  %332 = load i32, ptr @test_count, align 4, !tbaa !5
  %333 = add nsw i32 %332, 1
  store i32 %333, ptr @test_count, align 4, !tbaa !5
  %334 = call i32 @s2n_psk_set_identity(ptr noundef %331, ptr noundef nonnull %3, i16 noundef zeroext 12) #12
  %335 = icmp eq i32 %334, -1
  br i1 %335, label %336, label %360

336:                                              ; preds = %330
  %337 = tail call ptr @__errno_location() #13
  %338 = load i32, ptr %337, align 4, !tbaa !5
  %339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %340 = call i32 @s2n_print_stacktrace(ptr noundef %339) #12
  %341 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %342 = trunc nuw i8 %341 to i1
  br i1 %342, label %343, label %347

343:                                              ; preds = %336
  %344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %345 = call i32 @fileno(ptr noundef %344) #12
  %346 = call i32 @isatty(i32 noundef %345) #12
  %.not1470 = icmp eq i32 %346, 0
  br i1 %.not1470, label %347, label %348

347:                                              ; preds = %343, %336
  br label %348

348:                                              ; preds = %343, %347
  %.str.5.sink1570 = phi ptr [ @.str.5, %347 ], [ @.str.2, %343 ]
  store i32 %338, ptr %337, align 4, !tbaa !5
  %349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %350 = load i32, ptr @test_count, align 4, !tbaa !5
  %351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %352 = load i32, ptr %351, align 4, !tbaa !5
  %353 = call ptr @s2n_strerror(i32 noundef %352, ptr noundef nonnull @.str.4) #12
  %354 = load i32, ptr %351, align 4, !tbaa !5
  %355 = call ptr @s2n_strerror_debug(i32 noundef %354, ptr noundef nonnull @.str.4) #12
  %356 = load i32, ptr %337, align 4, !tbaa !5
  %357 = call ptr @strerror(i32 noundef %356) #12
  %358 = load i32, ptr %337, align 4, !tbaa !5
  %359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %349, ptr noundef nonnull %.str.5.sink1570, i32 noundef %350, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 70, ptr noundef %353, ptr noundef %355, ptr noundef %357, i32 noundef %358) #14
  call void @exit(i32 noundef 1) #15
  unreachable

360:                                              ; preds = %330
  %361 = load i32, ptr @test_count, align 4, !tbaa !5
  %362 = add nsw i32 %361, 1
  store i32 %362, ptr @test_count, align 4, !tbaa !5
  %363 = call i32 @s2n_psk_set_secret(ptr noundef %331, ptr noundef nonnull %3, i16 noundef zeroext 12) #12
  %364 = icmp eq i32 %363, -1
  br i1 %364, label %365, label %389

365:                                              ; preds = %360
  %366 = tail call ptr @__errno_location() #13
  %367 = load i32, ptr %366, align 4, !tbaa !5
  %368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %369 = call i32 @s2n_print_stacktrace(ptr noundef %368) #12
  %370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %371 = trunc nuw i8 %370 to i1
  br i1 %371, label %372, label %376

372:                                              ; preds = %365
  %373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %374 = call i32 @fileno(ptr noundef %373) #12
  %375 = call i32 @isatty(i32 noundef %374) #12
  %.not1469 = icmp eq i32 %375, 0
  br i1 %.not1469, label %376, label %377

376:                                              ; preds = %372, %365
  br label %377

377:                                              ; preds = %372, %376
  %.str.5.sink1581 = phi ptr [ @.str.5, %376 ], [ @.str.2, %372 ]
  store i32 %367, ptr %366, align 4, !tbaa !5
  %378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %379 = load i32, ptr @test_count, align 4, !tbaa !5
  %380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %381 = load i32, ptr %380, align 4, !tbaa !5
  %382 = call ptr @s2n_strerror(i32 noundef %381, ptr noundef nonnull @.str.4) #12
  %383 = load i32, ptr %380, align 4, !tbaa !5
  %384 = call ptr @s2n_strerror_debug(i32 noundef %383, ptr noundef nonnull @.str.4) #12
  %385 = load i32, ptr %366, align 4, !tbaa !5
  %386 = call ptr @strerror(i32 noundef %385) #12
  %387 = load i32, ptr %366, align 4, !tbaa !5
  %388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %378, ptr noundef nonnull %.str.5.sink1581, i32 noundef %379, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 71, ptr noundef %382, ptr noundef %384, ptr noundef %386, i32 noundef %387) #14
  call void @exit(i32 noundef 1) #15
  unreachable

389:                                              ; preds = %360
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #12
  %390 = call ptr @s2n_external_psk_new() #12
  store ptr %390, ptr %6, align 8, !tbaa !9
  %391 = load i32, ptr @test_count, align 4, !tbaa !5
  %392 = add nsw i32 %391, 1
  store i32 %392, ptr @test_count, align 4, !tbaa !5
  %393 = call i32 @s2n_psk_set_identity(ptr noundef %390, ptr noundef nonnull %3, i16 noundef zeroext 12) #12
  %394 = icmp eq i32 %393, -1
  br i1 %394, label %395, label %419

395:                                              ; preds = %389
  %396 = tail call ptr @__errno_location() #13
  %397 = load i32, ptr %396, align 4, !tbaa !5
  %398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %399 = call i32 @s2n_print_stacktrace(ptr noundef %398) #12
  %400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %401 = trunc nuw i8 %400 to i1
  br i1 %401, label %402, label %406

402:                                              ; preds = %395
  %403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %404 = call i32 @fileno(ptr noundef %403) #12
  %405 = call i32 @isatty(i32 noundef %404) #12
  %.not1468 = icmp eq i32 %405, 0
  br i1 %.not1468, label %406, label %407

406:                                              ; preds = %402, %395
  br label %407

407:                                              ; preds = %402, %406
  %.str.5.sink1592 = phi ptr [ @.str.5, %406 ], [ @.str.2, %402 ]
  store i32 %397, ptr %396, align 4, !tbaa !5
  %408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %409 = load i32, ptr @test_count, align 4, !tbaa !5
  %410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %411 = load i32, ptr %410, align 4, !tbaa !5
  %412 = call ptr @s2n_strerror(i32 noundef %411, ptr noundef nonnull @.str.4) #12
  %413 = load i32, ptr %410, align 4, !tbaa !5
  %414 = call ptr @s2n_strerror_debug(i32 noundef %413, ptr noundef nonnull @.str.4) #12
  %415 = load i32, ptr %396, align 4, !tbaa !5
  %416 = call ptr @strerror(i32 noundef %415) #12
  %417 = load i32, ptr %396, align 4, !tbaa !5
  %418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %408, ptr noundef nonnull %.str.5.sink1592, i32 noundef %409, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 74, ptr noundef %412, ptr noundef %414, ptr noundef %416, i32 noundef %417) #14
  call void @exit(i32 noundef 1) #15
  unreachable

419:                                              ; preds = %389
  %420 = load i32, ptr @test_count, align 4, !tbaa !5
  %421 = add nsw i32 %420, 1
  store i32 %421, ptr @test_count, align 4, !tbaa !5
  %422 = call i32 @s2n_psk_set_secret(ptr noundef %390, ptr noundef nonnull %3, i16 noundef zeroext 12) #12
  %423 = icmp eq i32 %422, -1
  br i1 %423, label %424, label %448

424:                                              ; preds = %419
  %425 = tail call ptr @__errno_location() #13
  %426 = load i32, ptr %425, align 4, !tbaa !5
  %427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %428 = call i32 @s2n_print_stacktrace(ptr noundef %427) #12
  %429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %430 = trunc nuw i8 %429 to i1
  br i1 %430, label %431, label %435

431:                                              ; preds = %424
  %432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %433 = call i32 @fileno(ptr noundef %432) #12
  %434 = call i32 @isatty(i32 noundef %433) #12
  %.not1467 = icmp eq i32 %434, 0
  br i1 %.not1467, label %435, label %436

435:                                              ; preds = %431, %424
  br label %436

436:                                              ; preds = %431, %435
  %.str.5.sink1603 = phi ptr [ @.str.5, %435 ], [ @.str.2, %431 ]
  store i32 %426, ptr %425, align 4, !tbaa !5
  %437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %438 = load i32, ptr @test_count, align 4, !tbaa !5
  %439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %440 = load i32, ptr %439, align 4, !tbaa !5
  %441 = call ptr @s2n_strerror(i32 noundef %440, ptr noundef nonnull @.str.4) #12
  %442 = load i32, ptr %439, align 4, !tbaa !5
  %443 = call ptr @s2n_strerror_debug(i32 noundef %442, ptr noundef nonnull @.str.4) #12
  %444 = load i32, ptr %425, align 4, !tbaa !5
  %445 = call ptr @strerror(i32 noundef %444) #12
  %446 = load i32, ptr %425, align 4, !tbaa !5
  %447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %437, ptr noundef nonnull %.str.5.sink1603, i32 noundef %438, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 75, ptr noundef %441, ptr noundef %443, ptr noundef %445, i32 noundef %446) #14
  call void @exit(i32 noundef 1) #15
  unreachable

448:                                              ; preds = %419
  %449 = load i32, ptr @test_count, align 4, !tbaa !5
  %450 = add nsw i32 %449, 1
  store i32 %450, ptr @test_count, align 4, !tbaa !5
  %451 = call i32 @s2n_psk_configure_early_data(ptr noundef %390, i32 noundef 1000, i8 noundef zeroext 19, i8 noundef zeroext 3) #12
  %452 = icmp eq i32 %451, -1
  br i1 %452, label %453, label %477

453:                                              ; preds = %448
  %454 = tail call ptr @__errno_location() #13
  %455 = load i32, ptr %454, align 4, !tbaa !5
  %456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %457 = call i32 @s2n_print_stacktrace(ptr noundef %456) #12
  %458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %459 = trunc nuw i8 %458 to i1
  br i1 %459, label %460, label %464

460:                                              ; preds = %453
  %461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %462 = call i32 @fileno(ptr noundef %461) #12
  %463 = call i32 @isatty(i32 noundef %462) #12
  %.not1466 = icmp eq i32 %463, 0
  br i1 %.not1466, label %464, label %465

464:                                              ; preds = %460, %453
  br label %465

465:                                              ; preds = %460, %464
  %.str.5.sink1614 = phi ptr [ @.str.5, %464 ], [ @.str.2, %460 ]
  store i32 %455, ptr %454, align 4, !tbaa !5
  %466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %467 = load i32, ptr @test_count, align 4, !tbaa !5
  %468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %469 = load i32, ptr %468, align 4, !tbaa !5
  %470 = call ptr @s2n_strerror(i32 noundef %469, ptr noundef nonnull @.str.4) #12
  %471 = load i32, ptr %468, align 4, !tbaa !5
  %472 = call ptr @s2n_strerror_debug(i32 noundef %471, ptr noundef nonnull @.str.4) #12
  %473 = load i32, ptr %454, align 4, !tbaa !5
  %474 = call ptr @strerror(i32 noundef %473) #12
  %475 = load i32, ptr %454, align 4, !tbaa !5
  %476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull %.str.5.sink1614, i32 noundef %467, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 76, ptr noundef %470, ptr noundef %472, ptr noundef %474, i32 noundef %475) #14
  call void @exit(i32 noundef 1) #15
  unreachable

477:                                              ; preds = %448
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #12
  store ptr null, ptr %7, align 8, !tbaa !9
  %478 = load i32, ptr @test_count, align 4, !tbaa !5
  %479 = add nsw i32 %478, 1
  store i32 %479, ptr @test_count, align 4, !tbaa !5
  %480 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %7, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.23) #12
  %481 = icmp eq i32 %480, -1
  br i1 %481, label %482, label %506

482:                                              ; preds = %477
  %483 = tail call ptr @__errno_location() #13
  %484 = load i32, ptr %483, align 4, !tbaa !5
  %485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %486 = call i32 @s2n_print_stacktrace(ptr noundef %485) #12
  %487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %488 = trunc nuw i8 %487 to i1
  br i1 %488, label %489, label %493

489:                                              ; preds = %482
  %490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %491 = call i32 @fileno(ptr noundef %490) #12
  %492 = call i32 @isatty(i32 noundef %491) #12
  %.not1465 = icmp eq i32 %492, 0
  br i1 %.not1465, label %493, label %494

493:                                              ; preds = %489, %482
  br label %494

494:                                              ; preds = %489, %493
  %.str.5.sink1625 = phi ptr [ @.str.5, %493 ], [ @.str.2, %489 ]
  store i32 %484, ptr %483, align 4, !tbaa !5
  %495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %496 = load i32, ptr @test_count, align 4, !tbaa !5
  %497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %498 = load i32, ptr %497, align 4, !tbaa !5
  %499 = call ptr @s2n_strerror(i32 noundef %498, ptr noundef nonnull @.str.4) #12
  %500 = load i32, ptr %497, align 4, !tbaa !5
  %501 = call ptr @s2n_strerror_debug(i32 noundef %500, ptr noundef nonnull @.str.4) #12
  %502 = load i32, ptr %483, align 4, !tbaa !5
  %503 = call ptr @strerror(i32 noundef %502) #12
  %504 = load i32, ptr %483, align 4, !tbaa !5
  %505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %495, ptr noundef nonnull %.str.5.sink1625, i32 noundef %496, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 80, ptr noundef %499, ptr noundef %501, ptr noundef %503, i32 noundef %504) #14
  call void @exit(i32 noundef 1) #15
  unreachable

506:                                              ; preds = %477
  %507 = call ptr @s2n_config_new() #12
  %508 = load i32, ptr @test_count, align 4, !tbaa !5
  %509 = add nsw i32 %508, 1
  store i32 %509, ptr @test_count, align 4, !tbaa !5
  %510 = load ptr, ptr %7, align 8, !tbaa !9
  %511 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %507, ptr noundef %510) #12
  %512 = icmp eq i32 %511, -1
  br i1 %512, label %513, label %537

513:                                              ; preds = %506
  %514 = tail call ptr @__errno_location() #13
  %515 = load i32, ptr %514, align 4, !tbaa !5
  %516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %517 = call i32 @s2n_print_stacktrace(ptr noundef %516) #12
  %518 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %519 = trunc nuw i8 %518 to i1
  br i1 %519, label %520, label %524

520:                                              ; preds = %513
  %521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %522 = call i32 @fileno(ptr noundef %521) #12
  %523 = call i32 @isatty(i32 noundef %522) #12
  %.not1464 = icmp eq i32 %523, 0
  br i1 %.not1464, label %524, label %525

524:                                              ; preds = %520, %513
  br label %525

525:                                              ; preds = %520, %524
  %.str.5.sink1636 = phi ptr [ @.str.5, %524 ], [ @.str.2, %520 ]
  store i32 %515, ptr %514, align 4, !tbaa !5
  %526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %527 = load i32, ptr @test_count, align 4, !tbaa !5
  %528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %529 = load i32, ptr %528, align 4, !tbaa !5
  %530 = call ptr @s2n_strerror(i32 noundef %529, ptr noundef nonnull @.str.4) #12
  %531 = load i32, ptr %528, align 4, !tbaa !5
  %532 = call ptr @s2n_strerror_debug(i32 noundef %531, ptr noundef nonnull @.str.4) #12
  %533 = load i32, ptr %514, align 4, !tbaa !5
  %534 = call ptr @strerror(i32 noundef %533) #12
  %535 = load i32, ptr %514, align 4, !tbaa !5
  %536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %526, ptr noundef nonnull %.str.5.sink1636, i32 noundef %527, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 83, ptr noundef %530, ptr noundef %532, ptr noundef %534, i32 noundef %535) #14
  call void @exit(i32 noundef 1) #15
  unreachable

537:                                              ; preds = %506
  %538 = load i32, ptr @test_count, align 4, !tbaa !5
  %539 = add nsw i32 %538, 1
  store i32 %539, ptr @test_count, align 4, !tbaa !5
  %540 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %507) #12
  %541 = icmp eq i32 %540, -1
  br i1 %541, label %542, label %566

542:                                              ; preds = %537
  %543 = tail call ptr @__errno_location() #13
  %544 = load i32, ptr %543, align 4, !tbaa !5
  %545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %546 = call i32 @s2n_print_stacktrace(ptr noundef %545) #12
  %547 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %548 = trunc nuw i8 %547 to i1
  br i1 %548, label %549, label %553

549:                                              ; preds = %542
  %550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %551 = call i32 @fileno(ptr noundef %550) #12
  %552 = call i32 @isatty(i32 noundef %551) #12
  %.not1463 = icmp eq i32 %552, 0
  br i1 %.not1463, label %553, label %554

553:                                              ; preds = %549, %542
  br label %554

554:                                              ; preds = %549, %553
  %.str.5.sink1647 = phi ptr [ @.str.5, %553 ], [ @.str.2, %549 ]
  store i32 %544, ptr %543, align 4, !tbaa !5
  %555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %556 = load i32, ptr @test_count, align 4, !tbaa !5
  %557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %558 = load i32, ptr %557, align 4, !tbaa !5
  %559 = call ptr @s2n_strerror(i32 noundef %558, ptr noundef nonnull @.str.4) #12
  %560 = load i32, ptr %557, align 4, !tbaa !5
  %561 = call ptr @s2n_strerror_debug(i32 noundef %560, ptr noundef nonnull @.str.4) #12
  %562 = load i32, ptr %543, align 4, !tbaa !5
  %563 = call ptr @strerror(i32 noundef %562) #12
  %564 = load i32, ptr %543, align 4, !tbaa !5
  %565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %555, ptr noundef nonnull %.str.5.sink1647, i32 noundef %556, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 84, ptr noundef %559, ptr noundef %561, ptr noundef %563, i32 noundef %564) #14
  call void @exit(i32 noundef 1) #15
  unreachable

566:                                              ; preds = %537
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #12
  store ptr null, ptr %8, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #12
  store ptr null, ptr %9, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #12
  store i64 0, ptr %10, align 8
  %567 = load i32, ptr @test_count, align 4, !tbaa !5
  %568 = add nsw i32 %567, 1
  store i32 %568, ptr @test_count, align 4, !tbaa !5
  %569 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %8, ptr noundef nonnull %9, ptr noundef nonnull %10)
  %570 = call zeroext i1 @s2n_result_is_ok(i32 %569)
  br i1 %570, label %595, label %571

571:                                              ; preds = %566
  %572 = tail call ptr @__errno_location() #13
  %573 = load i32, ptr %572, align 4, !tbaa !5
  %574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %575 = call i32 @s2n_print_stacktrace(ptr noundef %574) #12
  %576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %577 = trunc nuw i8 %576 to i1
  br i1 %577, label %578, label %582

578:                                              ; preds = %571
  %579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %580 = call i32 @fileno(ptr noundef %579) #12
  %581 = call i32 @isatty(i32 noundef %580) #12
  %.not1017 = icmp eq i32 %581, 0
  br i1 %.not1017, label %582, label %583

582:                                              ; preds = %578, %571
  br label %583

583:                                              ; preds = %578, %582
  %.str.5.sink1658 = phi ptr [ @.str.5, %582 ], [ @.str.2, %578 ]
  store i32 %573, ptr %572, align 4, !tbaa !5
  %584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %585 = load i32, ptr @test_count, align 4, !tbaa !5
  %586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %587 = load i32, ptr %586, align 4, !tbaa !5
  %588 = call ptr @s2n_strerror(i32 noundef %587, ptr noundef nonnull @.str.4) #12
  %589 = load i32, ptr %586, align 4, !tbaa !5
  %590 = call ptr @s2n_strerror_debug(i32 noundef %589, ptr noundef nonnull @.str.4) #12
  %591 = load i32, ptr %572, align 4, !tbaa !5
  %592 = call ptr @strerror(i32 noundef %591) #12
  %593 = load i32, ptr %572, align 4, !tbaa !5
  %594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %584, ptr noundef nonnull %.str.5.sink1658, i32 noundef %585, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 92, ptr noundef %588, ptr noundef %590, ptr noundef %592, i32 noundef %593) #14
  call void @exit(i32 noundef 1) #15
  unreachable

595:                                              ; preds = %566
  %596 = load i32, ptr @test_count, align 4, !tbaa !5
  %597 = add nsw i32 %596, 1
  store i32 %597, ptr @test_count, align 4, !tbaa !5
  %598 = load ptr, ptr %8, align 8, !tbaa !9
  %599 = call i32 @s2n_connection_append_psk(ptr noundef %598, ptr noundef %243) #12
  %600 = icmp eq i32 %599, -1
  br i1 %600, label %601, label %625

601:                                              ; preds = %595
  %602 = tail call ptr @__errno_location() #13
  %603 = load i32, ptr %602, align 4, !tbaa !5
  %604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %605 = call i32 @s2n_print_stacktrace(ptr noundef %604) #12
  %606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %607 = trunc nuw i8 %606 to i1
  br i1 %607, label %608, label %612

608:                                              ; preds = %601
  %609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %610 = call i32 @fileno(ptr noundef %609) #12
  %611 = call i32 @isatty(i32 noundef %610) #12
  %.not1462 = icmp eq i32 %611, 0
  br i1 %.not1462, label %612, label %613

612:                                              ; preds = %608, %601
  br label %613

613:                                              ; preds = %608, %612
  %.str.5.sink1669 = phi ptr [ @.str.5, %612 ], [ @.str.2, %608 ]
  store i32 %603, ptr %602, align 4, !tbaa !5
  %614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %615 = load i32, ptr @test_count, align 4, !tbaa !5
  %616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %617 = load i32, ptr %616, align 4, !tbaa !5
  %618 = call ptr @s2n_strerror(i32 noundef %617, ptr noundef nonnull @.str.4) #12
  %619 = load i32, ptr %616, align 4, !tbaa !5
  %620 = call ptr @s2n_strerror_debug(i32 noundef %619, ptr noundef nonnull @.str.4) #12
  %621 = load i32, ptr %602, align 4, !tbaa !5
  %622 = call ptr @strerror(i32 noundef %621) #12
  %623 = load i32, ptr %602, align 4, !tbaa !5
  %624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %614, ptr noundef nonnull %.str.5.sink1669, i32 noundef %615, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 94, ptr noundef %618, ptr noundef %620, ptr noundef %622, i32 noundef %623) #14
  call void @exit(i32 noundef 1) #15
  unreachable

625:                                              ; preds = %595
  %626 = load i32, ptr @test_count, align 4, !tbaa !5
  %627 = add nsw i32 %626, 1
  store i32 %627, ptr @test_count, align 4, !tbaa !5
  %628 = load ptr, ptr %9, align 8, !tbaa !9
  %629 = call i32 @s2n_connection_append_psk(ptr noundef %628, ptr noundef %243) #12
  %630 = icmp eq i32 %629, -1
  br i1 %630, label %631, label %655

631:                                              ; preds = %625
  %632 = tail call ptr @__errno_location() #13
  %633 = load i32, ptr %632, align 4, !tbaa !5
  %634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %635 = call i32 @s2n_print_stacktrace(ptr noundef %634) #12
  %636 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %637 = trunc nuw i8 %636 to i1
  br i1 %637, label %638, label %642

638:                                              ; preds = %631
  %639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %640 = call i32 @fileno(ptr noundef %639) #12
  %641 = call i32 @isatty(i32 noundef %640) #12
  %.not1461 = icmp eq i32 %641, 0
  br i1 %.not1461, label %642, label %643

642:                                              ; preds = %638, %631
  br label %643

643:                                              ; preds = %638, %642
  %.str.5.sink1680 = phi ptr [ @.str.5, %642 ], [ @.str.2, %638 ]
  store i32 %633, ptr %632, align 4, !tbaa !5
  %644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %645 = load i32, ptr @test_count, align 4, !tbaa !5
  %646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %647 = load i32, ptr %646, align 4, !tbaa !5
  %648 = call ptr @s2n_strerror(i32 noundef %647, ptr noundef nonnull @.str.4) #12
  %649 = load i32, ptr %646, align 4, !tbaa !5
  %650 = call ptr @s2n_strerror_debug(i32 noundef %649, ptr noundef nonnull @.str.4) #12
  %651 = load i32, ptr %632, align 4, !tbaa !5
  %652 = call ptr @strerror(i32 noundef %651) #12
  %653 = load i32, ptr %632, align 4, !tbaa !5
  %654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %644, ptr noundef nonnull %.str.5.sink1680, i32 noundef %645, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 95, ptr noundef %648, ptr noundef %650, ptr noundef %652, i32 noundef %653) #14
  call void @exit(i32 noundef 1) #15
  unreachable

655:                                              ; preds = %625
  %656 = load i32, ptr @test_count, align 4, !tbaa !5
  %657 = add nsw i32 %656, 1
  store i32 %657, ptr @test_count, align 4, !tbaa !5
  %658 = load ptr, ptr %8, align 8, !tbaa !9
  %659 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %658) #12
  %660 = icmp eq i32 %659, -1
  br i1 %660, label %661, label %685

661:                                              ; preds = %655
  %662 = tail call ptr @__errno_location() #13
  %663 = load i32, ptr %662, align 4, !tbaa !5
  %664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %665 = call i32 @s2n_print_stacktrace(ptr noundef %664) #12
  %666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %667 = trunc nuw i8 %666 to i1
  br i1 %667, label %668, label %672

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

672:                                              ; preds = %668, %661
  br label %673

673:                                              ; preds = %668, %672
  %.str.5.sink1691 = phi ptr [ @.str.5, %672 ], [ @.str.2, %668 ]
  store i32 %663, ptr %662, align 4, !tbaa !5
  %674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %675 = load i32, ptr @test_count, align 4, !tbaa !5
  %676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %677 = load i32, ptr %676, align 4, !tbaa !5
  %678 = call ptr @s2n_strerror(i32 noundef %677, ptr noundef nonnull @.str.4) #12
  %679 = load i32, ptr %676, align 4, !tbaa !5
  %680 = call ptr @s2n_strerror_debug(i32 noundef %679, ptr noundef nonnull @.str.4) #12
  %681 = load i32, ptr %662, align 4, !tbaa !5
  %682 = call ptr @strerror(i32 noundef %681) #12
  %683 = load i32, ptr %662, align 4, !tbaa !5
  %684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %674, ptr noundef nonnull %.str.5.sink1691, i32 noundef %675, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 96, ptr noundef %678, ptr noundef %680, ptr noundef %682, i32 noundef %683) #14
  call void @exit(i32 noundef 1) #15
  unreachable

685:                                              ; preds = %655
  %686 = load i32, ptr @test_count, align 4, !tbaa !5
  %687 = add nsw i32 %686, 1
  store i32 %687, ptr @test_count, align 4, !tbaa !5
  %688 = load ptr, ptr %9, align 8, !tbaa !9
  %689 = load ptr, ptr %8, align 8, !tbaa !9
  %690 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %688, ptr noundef %689) #12
  %691 = icmp eq i32 %690, -1
  br i1 %691, label %692, label %716

692:                                              ; preds = %685
  %693 = tail call ptr @__errno_location() #13
  %694 = load i32, ptr %693, align 4, !tbaa !5
  %695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %696 = call i32 @s2n_print_stacktrace(ptr noundef %695) #12
  %697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %698 = trunc nuw i8 %697 to i1
  br i1 %698, label %699, label %703

699:                                              ; preds = %692
  %700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %701 = call i32 @fileno(ptr noundef %700) #12
  %702 = call i32 @isatty(i32 noundef %701) #12
  %.not1459 = icmp eq i32 %702, 0
  br i1 %.not1459, label %703, label %704

703:                                              ; preds = %699, %692
  br label %704

704:                                              ; preds = %699, %703
  %.str.5.sink1702 = phi ptr [ @.str.5, %703 ], [ @.str.2, %699 ]
  store i32 %694, ptr %693, align 4, !tbaa !5
  %705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %706 = load i32, ptr @test_count, align 4, !tbaa !5
  %707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %708 = load i32, ptr %707, align 4, !tbaa !5
  %709 = call ptr @s2n_strerror(i32 noundef %708, ptr noundef nonnull @.str.4) #12
  %710 = load i32, ptr %707, align 4, !tbaa !5
  %711 = call ptr @s2n_strerror_debug(i32 noundef %710, ptr noundef nonnull @.str.4) #12
  %712 = load i32, ptr %693, align 4, !tbaa !5
  %713 = call ptr @strerror(i32 noundef %712) #12
  %714 = load i32, ptr %693, align 4, !tbaa !5
  %715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %705, ptr noundef nonnull %.str.5.sink1702, i32 noundef %706, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 98, ptr noundef %709, ptr noundef %711, ptr noundef %713, i32 noundef %714) #14
  call void @exit(i32 noundef 1) #15
  unreachable

716:                                              ; preds = %685
  %717 = load i32, ptr @test_count, align 4, !tbaa !5
  %718 = add nsw i32 %717, 1
  store i32 %718, ptr @test_count, align 4, !tbaa !5
  %719 = load ptr, ptr %8, align 8, !tbaa !9
  %720 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %719, i32 noundef 64) #12
  br i1 %720, label %721, label %745

721:                                              ; preds = %716
  %722 = tail call ptr @__errno_location() #13
  %723 = load i32, ptr %722, align 4, !tbaa !5
  %724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %725 = call i32 @s2n_print_stacktrace(ptr noundef %724) #12
  %726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %727 = trunc nuw i8 %726 to i1
  br i1 %727, label %728, label %732

728:                                              ; preds = %721
  %729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %730 = call i32 @fileno(ptr noundef %729) #12
  %731 = call i32 @isatty(i32 noundef %730) #12
  %.not1458 = icmp eq i32 %731, 0
  br i1 %.not1458, label %732, label %733

732:                                              ; preds = %728, %721
  br label %733

733:                                              ; preds = %728, %732
  %.str.5.sink1713 = phi ptr [ @.str.5, %732 ], [ @.str.2, %728 ]
  store i32 %723, ptr %722, align 4, !tbaa !5
  %734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %735 = load i32, ptr @test_count, align 4, !tbaa !5
  %736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %737 = load i32, ptr %736, align 4, !tbaa !5
  %738 = call ptr @s2n_strerror(i32 noundef %737, ptr noundef nonnull @.str.4) #12
  %739 = load i32, ptr %736, align 4, !tbaa !5
  %740 = call ptr @s2n_strerror_debug(i32 noundef %739, ptr noundef nonnull @.str.4) #12
  %741 = load i32, ptr %722, align 4, !tbaa !5
  %742 = call ptr @strerror(i32 noundef %741) #12
  %743 = load i32, ptr %722, align 4, !tbaa !5
  %744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %734, ptr noundef nonnull %.str.5.sink1713, i32 noundef %735, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 100, ptr noundef %738, ptr noundef %740, ptr noundef %742, i32 noundef %743) #14
  call void @exit(i32 noundef 1) #15
  unreachable

745:                                              ; preds = %716
  %746 = load i32, ptr @test_count, align 4, !tbaa !5
  %747 = add nsw i32 %746, 1
  store i32 %747, ptr @test_count, align 4, !tbaa !5
  %748 = load ptr, ptr %9, align 8, !tbaa !9
  %749 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %748, i32 noundef 64) #12
  br i1 %749, label %750, label %774

750:                                              ; preds = %745
  %751 = tail call ptr @__errno_location() #13
  %752 = load i32, ptr %751, align 4, !tbaa !5
  %753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %754 = call i32 @s2n_print_stacktrace(ptr noundef %753) #12
  %755 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %756 = trunc nuw i8 %755 to i1
  br i1 %756, label %757, label %761

757:                                              ; preds = %750
  %758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %759 = call i32 @fileno(ptr noundef %758) #12
  %760 = call i32 @isatty(i32 noundef %759) #12
  %.not1457 = icmp eq i32 %760, 0
  br i1 %.not1457, label %761, label %762

761:                                              ; preds = %757, %750
  br label %762

762:                                              ; preds = %757, %761
  %.str.5.sink1724 = phi ptr [ @.str.5, %761 ], [ @.str.2, %757 ]
  store i32 %752, ptr %751, align 4, !tbaa !5
  %763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %764 = load i32, ptr @test_count, align 4, !tbaa !5
  %765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %766 = load i32, ptr %765, align 4, !tbaa !5
  %767 = call ptr @s2n_strerror(i32 noundef %766, ptr noundef nonnull @.str.4) #12
  %768 = load i32, ptr %765, align 4, !tbaa !5
  %769 = call ptr @s2n_strerror_debug(i32 noundef %768, ptr noundef nonnull @.str.4) #12
  %770 = load i32, ptr %751, align 4, !tbaa !5
  %771 = call ptr @strerror(i32 noundef %770) #12
  %772 = load i32, ptr %751, align 4, !tbaa !5
  %773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %763, ptr noundef nonnull %.str.5.sink1724, i32 noundef %764, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 101, ptr noundef %767, ptr noundef %769, ptr noundef %771, i32 noundef %772) #14
  call void @exit(i32 noundef 1) #15
  unreachable

774:                                              ; preds = %745
  %775 = load i32, ptr @test_count, align 4, !tbaa !5
  %776 = add nsw i32 %775, 1
  store i32 %776, ptr @test_count, align 4, !tbaa !5
  %777 = load ptr, ptr %8, align 8, !tbaa !9
  %778 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %777, i32 noundef 128) #12
  br i1 %778, label %803, label %779

779:                                              ; preds = %774
  %780 = tail call ptr @__errno_location() #13
  %781 = load i32, ptr %780, align 4, !tbaa !5
  %782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %783 = call i32 @s2n_print_stacktrace(ptr noundef %782) #12
  %784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %785 = trunc nuw i8 %784 to i1
  br i1 %785, label %786, label %790

786:                                              ; preds = %779
  %787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %788 = call i32 @fileno(ptr noundef %787) #12
  %789 = call i32 @isatty(i32 noundef %788) #12
  %.not1018 = icmp eq i32 %789, 0
  br i1 %.not1018, label %790, label %791

790:                                              ; preds = %786, %779
  br label %791

791:                                              ; preds = %786, %790
  %.str.5.sink1735 = phi ptr [ @.str.5, %790 ], [ @.str.2, %786 ]
  store i32 %781, ptr %780, align 4, !tbaa !5
  %792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %793 = load i32, ptr @test_count, align 4, !tbaa !5
  %794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %795 = load i32, ptr %794, align 4, !tbaa !5
  %796 = call ptr @s2n_strerror(i32 noundef %795, ptr noundef nonnull @.str.4) #12
  %797 = load i32, ptr %794, align 4, !tbaa !5
  %798 = call ptr @s2n_strerror_debug(i32 noundef %797, ptr noundef nonnull @.str.4) #12
  %799 = load i32, ptr %780, align 4, !tbaa !5
  %800 = call ptr @strerror(i32 noundef %799) #12
  %801 = load i32, ptr %780, align 4, !tbaa !5
  %802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %792, ptr noundef nonnull %.str.5.sink1735, i32 noundef %793, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 102, ptr noundef %796, ptr noundef %798, ptr noundef %800, i32 noundef %801) #14
  call void @exit(i32 noundef 1) #15
  unreachable

803:                                              ; preds = %774
  %804 = load i32, ptr @test_count, align 4, !tbaa !5
  %805 = add nsw i32 %804, 1
  store i32 %805, ptr @test_count, align 4, !tbaa !5
  %806 = load ptr, ptr %9, align 8, !tbaa !9
  %807 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %806, i32 noundef 128) #12
  br i1 %807, label %832, label %808

808:                                              ; preds = %803
  %809 = tail call ptr @__errno_location() #13
  %810 = load i32, ptr %809, align 4, !tbaa !5
  %811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %812 = call i32 @s2n_print_stacktrace(ptr noundef %811) #12
  %813 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %814 = trunc nuw i8 %813 to i1
  br i1 %814, label %815, label %819

815:                                              ; preds = %808
  %816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %817 = call i32 @fileno(ptr noundef %816) #12
  %818 = call i32 @isatty(i32 noundef %817) #12
  %.not1019 = icmp eq i32 %818, 0
  br i1 %.not1019, label %819, label %820

819:                                              ; preds = %815, %808
  br label %820

820:                                              ; preds = %815, %819
  %.str.5.sink1746 = phi ptr [ @.str.5, %819 ], [ @.str.2, %815 ]
  store i32 %810, ptr %809, align 4, !tbaa !5
  %821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %822 = load i32, ptr @test_count, align 4, !tbaa !5
  %823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %824 = load i32, ptr %823, align 4, !tbaa !5
  %825 = call ptr @s2n_strerror(i32 noundef %824, ptr noundef nonnull @.str.4) #12
  %826 = load i32, ptr %823, align 4, !tbaa !5
  %827 = call ptr @s2n_strerror_debug(i32 noundef %826, ptr noundef nonnull @.str.4) #12
  %828 = load i32, ptr %809, align 4, !tbaa !5
  %829 = call ptr @strerror(i32 noundef %828) #12
  %830 = load i32, ptr %809, align 4, !tbaa !5
  %831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %821, ptr noundef nonnull %.str.5.sink1746, i32 noundef %822, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 103, ptr noundef %825, ptr noundef %827, ptr noundef %829, i32 noundef %830) #14
  call void @exit(i32 noundef 1) #15
  unreachable

832:                                              ; preds = %803
  %833 = load i32, ptr @test_count, align 4, !tbaa !5
  %834 = add nsw i32 %833, 1
  store i32 %834, ptr @test_count, align 4, !tbaa !5
  %835 = load ptr, ptr %8, align 8, !tbaa !9
  %836 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %835, i32 noundef 2) #12
  br i1 %836, label %837, label %861

837:                                              ; preds = %832
  %838 = tail call ptr @__errno_location() #13
  %839 = load i32, ptr %838, 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 = %837
  %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
  %.not1456 = icmp eq i32 %847, 0
  br i1 %.not1456, label %848, label %849

848:                                              ; preds = %844, %837
  br label %849

849:                                              ; preds = %844, %848
  %.str.5.sink1757 = phi ptr [ @.str.5, %848 ], [ @.str.2, %844 ]
  store i32 %839, ptr %838, align 4, !tbaa !5
  %850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %851 = load i32, ptr @test_count, align 4, !tbaa !5
  %852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %853 = load i32, ptr %852, align 4, !tbaa !5
  %854 = call ptr @s2n_strerror(i32 noundef %853, ptr noundef nonnull @.str.4) #12
  %855 = load i32, ptr %852, align 4, !tbaa !5
  %856 = call ptr @s2n_strerror_debug(i32 noundef %855, ptr noundef nonnull @.str.4) #12
  %857 = load i32, ptr %838, align 4, !tbaa !5
  %858 = call ptr @strerror(i32 noundef %857) #12
  %859 = load i32, ptr %838, align 4, !tbaa !5
  %860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %850, ptr noundef nonnull %.str.5.sink1757, i32 noundef %851, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 104, ptr noundef %854, ptr noundef %856, ptr noundef %858, i32 noundef %859) #14
  call void @exit(i32 noundef 1) #15
  unreachable

861:                                              ; preds = %832
  %862 = load i32, ptr @test_count, align 4, !tbaa !5
  %863 = add nsw i32 %862, 1
  store i32 %863, ptr @test_count, align 4, !tbaa !5
  %864 = load ptr, ptr %9, align 8, !tbaa !9
  %865 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %864, i32 noundef 2) #12
  br i1 %865, label %866, label %890

866:                                              ; preds = %861
  %867 = tail call ptr @__errno_location() #13
  %868 = load i32, ptr %867, align 4, !tbaa !5
  %869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %870 = call i32 @s2n_print_stacktrace(ptr noundef %869) #12
  %871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %872 = trunc nuw i8 %871 to i1
  br i1 %872, label %873, label %877

873:                                              ; preds = %866
  %874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %875 = call i32 @fileno(ptr noundef %874) #12
  %876 = call i32 @isatty(i32 noundef %875) #12
  %.not1455 = icmp eq i32 %876, 0
  br i1 %.not1455, label %877, label %878

877:                                              ; preds = %873, %866
  br label %878

878:                                              ; preds = %873, %877
  %.str.5.sink1768 = phi ptr [ @.str.5, %877 ], [ @.str.2, %873 ]
  store i32 %868, ptr %867, align 4, !tbaa !5
  %879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %880 = load i32, ptr @test_count, align 4, !tbaa !5
  %881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %882 = load i32, ptr %881, align 4, !tbaa !5
  %883 = call ptr @s2n_strerror(i32 noundef %882, ptr noundef nonnull @.str.4) #12
  %884 = load i32, ptr %881, align 4, !tbaa !5
  %885 = call ptr @s2n_strerror_debug(i32 noundef %884, ptr noundef nonnull @.str.4) #12
  %886 = load i32, ptr %867, align 4, !tbaa !5
  %887 = call ptr @strerror(i32 noundef %886) #12
  %888 = load i32, ptr %867, align 4, !tbaa !5
  %889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %879, ptr noundef nonnull %.str.5.sink1768, i32 noundef %880, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 105, ptr noundef %883, ptr noundef %885, ptr noundef %887, i32 noundef %888) #14
  call void @exit(i32 noundef 1) #15
  unreachable

890:                                              ; preds = %861
  %891 = load i32, ptr @test_count, align 4, !tbaa !5
  %892 = add nsw i32 %891, 1
  store i32 %892, ptr @test_count, align 4, !tbaa !5
  %893 = load ptr, ptr %8, align 8, !tbaa !9
  %894 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %893, i32 noundef 16) #12
  br i1 %894, label %895, label %919

895:                                              ; preds = %890
  %896 = tail call ptr @__errno_location() #13
  %897 = load i32, ptr %896, align 4, !tbaa !5
  %898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %899 = call i32 @s2n_print_stacktrace(ptr noundef %898) #12
  %900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %901 = trunc nuw i8 %900 to i1
  br i1 %901, label %902, label %906

902:                                              ; preds = %895
  %903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %904 = call i32 @fileno(ptr noundef %903) #12
  %905 = call i32 @isatty(i32 noundef %904) #12
  %.not1454 = icmp eq i32 %905, 0
  br i1 %.not1454, label %906, label %907

906:                                              ; preds = %902, %895
  br label %907

907:                                              ; preds = %902, %906
  %.str.5.sink1779 = phi ptr [ @.str.5, %906 ], [ @.str.2, %902 ]
  store i32 %897, ptr %896, align 4, !tbaa !5
  %908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %909 = load i32, ptr @test_count, align 4, !tbaa !5
  %910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %911 = load i32, ptr %910, align 4, !tbaa !5
  %912 = call ptr @s2n_strerror(i32 noundef %911, ptr noundef nonnull @.str.4) #12
  %913 = load i32, ptr %910, align 4, !tbaa !5
  %914 = call ptr @s2n_strerror_debug(i32 noundef %913, ptr noundef nonnull @.str.4) #12
  %915 = load i32, ptr %896, align 4, !tbaa !5
  %916 = call ptr @strerror(i32 noundef %915) #12
  %917 = load i32, ptr %896, align 4, !tbaa !5
  %918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %908, ptr noundef nonnull %.str.5.sink1779, i32 noundef %909, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 106, ptr noundef %912, ptr noundef %914, ptr noundef %916, i32 noundef %917) #14
  call void @exit(i32 noundef 1) #15
  unreachable

919:                                              ; preds = %890
  %920 = load i32, ptr @test_count, align 4, !tbaa !5
  %921 = add nsw i32 %920, 1
  store i32 %921, ptr @test_count, align 4, !tbaa !5
  %922 = load ptr, ptr %9, align 8, !tbaa !9
  %923 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %922, i32 noundef 16) #12
  br i1 %923, label %924, label %948

924:                                              ; preds = %919
  %925 = tail call ptr @__errno_location() #13
  %926 = load i32, ptr %925, align 4, !tbaa !5
  %927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %928 = call i32 @s2n_print_stacktrace(ptr noundef %927) #12
  %929 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %930 = trunc nuw i8 %929 to i1
  br i1 %930, label %931, label %935

931:                                              ; preds = %924
  %932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %933 = call i32 @fileno(ptr noundef %932) #12
  %934 = call i32 @isatty(i32 noundef %933) #12
  %.not1453 = icmp eq i32 %934, 0
  br i1 %.not1453, label %935, label %936

935:                                              ; preds = %931, %924
  br label %936

936:                                              ; preds = %931, %935
  %.str.5.sink1790 = phi ptr [ @.str.5, %935 ], [ @.str.2, %931 ]
  store i32 %926, ptr %925, align 4, !tbaa !5
  %937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %938 = load i32, ptr @test_count, align 4, !tbaa !5
  %939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %940 = load i32, ptr %939, align 4, !tbaa !5
  %941 = call ptr @s2n_strerror(i32 noundef %940, ptr noundef nonnull @.str.4) #12
  %942 = load i32, ptr %939, align 4, !tbaa !5
  %943 = call ptr @s2n_strerror_debug(i32 noundef %942, ptr noundef nonnull @.str.4) #12
  %944 = load i32, ptr %925, align 4, !tbaa !5
  %945 = call ptr @strerror(i32 noundef %944) #12
  %946 = load i32, ptr %925, align 4, !tbaa !5
  %947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %937, ptr noundef nonnull %.str.5.sink1790, i32 noundef %938, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 107, ptr noundef %941, ptr noundef %943, ptr noundef %945, i32 noundef %946) #14
  call void @exit(i32 noundef 1) #15
  unreachable

948:                                              ; preds = %919
  %949 = load i32, ptr @test_count, align 4, !tbaa !5
  %950 = add nsw i32 %949, 1
  store i32 %950, ptr @test_count, align 4, !tbaa !5
  %951 = load ptr, ptr %8, align 8, !tbaa !9
  %952 = call i32 @s2n_conn_get_current_message_type(ptr noundef %951) #12
  %953 = icmp eq i32 %952, 20
  br i1 %953, label %978, label %954

954:                                              ; preds = %948
  %955 = tail call ptr @__errno_location() #13
  %956 = load i32, ptr %955, align 4, !tbaa !5
  %957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %958 = call i32 @s2n_print_stacktrace(ptr noundef %957) #12
  %959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %960 = trunc nuw i8 %959 to i1
  br i1 %960, label %961, label %965

961:                                              ; preds = %954
  %962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %963 = call i32 @fileno(ptr noundef %962) #12
  %964 = call i32 @isatty(i32 noundef %963) #12
  %.not1020 = icmp eq i32 %964, 0
  br i1 %.not1020, label %965, label %966

965:                                              ; preds = %961, %954
  br label %966

966:                                              ; preds = %961, %965
  %.str.5.sink1801 = phi ptr [ @.str.5, %965 ], [ @.str.2, %961 ]
  store i32 %956, ptr %955, align 4, !tbaa !5
  %967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %968 = load i32, ptr @test_count, align 4, !tbaa !5
  %969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %970 = load i32, ptr %969, align 4, !tbaa !5
  %971 = call ptr @s2n_strerror(i32 noundef %970, ptr noundef nonnull @.str.4) #12
  %972 = load i32, ptr %969, align 4, !tbaa !5
  %973 = call ptr @s2n_strerror_debug(i32 noundef %972, ptr noundef nonnull @.str.4) #12
  %974 = load i32, ptr %955, align 4, !tbaa !5
  %975 = call ptr @strerror(i32 noundef %974) #12
  %976 = load i32, ptr %955, align 4, !tbaa !5
  %977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %967, ptr noundef nonnull %.str.5.sink1801, i32 noundef %968, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 108, ptr noundef %971, ptr noundef %973, ptr noundef %975, i32 noundef %976) #14
  call void @exit(i32 noundef 1) #15
  unreachable

978:                                              ; preds = %948
  %979 = load i32, ptr @test_count, align 4, !tbaa !5
  %980 = add nsw i32 %979, 1
  store i32 %980, ptr @test_count, align 4, !tbaa !5
  %981 = load ptr, ptr %9, align 8, !tbaa !9
  %982 = call i32 @s2n_conn_get_current_message_type(ptr noundef %981) #12
  %983 = icmp eq i32 %982, 20
  br i1 %983, label %1008, label %984

984:                                              ; preds = %978
  %985 = tail call ptr @__errno_location() #13
  %986 = load i32, ptr %985, align 4, !tbaa !5
  %987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %988 = call i32 @s2n_print_stacktrace(ptr noundef %987) #12
  %989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %990 = trunc nuw i8 %989 to i1
  br i1 %990, label %991, label %995

991:                                              ; preds = %984
  %992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %993 = call i32 @fileno(ptr noundef %992) #12
  %994 = call i32 @isatty(i32 noundef %993) #12
  %.not1021 = icmp eq i32 %994, 0
  br i1 %.not1021, label %995, label %996

995:                                              ; preds = %991, %984
  br label %996

996:                                              ; preds = %991, %995
  %.str.5.sink1812 = phi ptr [ @.str.5, %995 ], [ @.str.2, %991 ]
  store i32 %986, ptr %985, align 4, !tbaa !5
  %997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %998 = load i32, ptr @test_count, align 4, !tbaa !5
  %999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1000 = load i32, ptr %999, align 4, !tbaa !5
  %1001 = call ptr @s2n_strerror(i32 noundef %1000, ptr noundef nonnull @.str.4) #12
  %1002 = load i32, ptr %999, align 4, !tbaa !5
  %1003 = call ptr @s2n_strerror_debug(i32 noundef %1002, ptr noundef nonnull @.str.4) #12
  %1004 = load i32, ptr %985, align 4, !tbaa !5
  %1005 = call ptr @strerror(i32 noundef %1004) #12
  %1006 = load i32, ptr %985, align 4, !tbaa !5
  %1007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %997, ptr noundef nonnull %.str.5.sink1812, i32 noundef %998, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 109, ptr noundef %1001, ptr noundef %1003, ptr noundef %1005, i32 noundef %1006) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1008:                                             ; preds = %978
  %1009 = load i32, ptr @test_count, align 4, !tbaa !5
  %1010 = add nsw i32 %1009, 1
  store i32 %1010, ptr @test_count, align 4, !tbaa !5
  %1011 = load ptr, ptr %9, align 8, !tbaa !9
  %1012 = load ptr, ptr %8, align 8, !tbaa !9
  %1013 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %1011, ptr noundef %1012) #12
  %1014 = icmp eq i32 %1013, -1
  br i1 %1014, label %1015, label %1039

1015:                                             ; preds = %1008
  %1016 = tail call ptr @__errno_location() #13
  %1017 = load i32, ptr %1016, align 4, !tbaa !5
  %1018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1019 = call i32 @s2n_print_stacktrace(ptr noundef %1018) #12
  %1020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1021 = trunc nuw i8 %1020 to i1
  br i1 %1021, label %1022, label %1026

1022:                                             ; preds = %1015
  %1023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1024 = call i32 @fileno(ptr noundef %1023) #12
  %1025 = call i32 @isatty(i32 noundef %1024) #12
  %.not1452 = icmp eq i32 %1025, 0
  br i1 %.not1452, label %1026, label %1027

1026:                                             ; preds = %1022, %1015
  br label %1027

1027:                                             ; preds = %1022, %1026
  %.str.5.sink1823 = phi ptr [ @.str.5, %1026 ], [ @.str.2, %1022 ]
  store i32 %1017, ptr %1016, align 4, !tbaa !5
  %1028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1029 = load i32, ptr @test_count, align 4, !tbaa !5
  %1030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1031 = load i32, ptr %1030, align 4, !tbaa !5
  %1032 = call ptr @s2n_strerror(i32 noundef %1031, ptr noundef nonnull @.str.4) #12
  %1033 = load i32, ptr %1030, align 4, !tbaa !5
  %1034 = call ptr @s2n_strerror_debug(i32 noundef %1033, ptr noundef nonnull @.str.4) #12
  %1035 = load i32, ptr %1016, align 4, !tbaa !5
  %1036 = call ptr @strerror(i32 noundef %1035) #12
  %1037 = load i32, ptr %1016, align 4, !tbaa !5
  %1038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1028, ptr noundef nonnull %.str.5.sink1823, i32 noundef %1029, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 111, ptr noundef %1032, ptr noundef %1034, ptr noundef %1036, i32 noundef %1037) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1039:                                             ; preds = %1008
  %1040 = load i32, ptr @test_count, align 4, !tbaa !5
  %1041 = add nsw i32 %1040, 1
  store i32 %1041, ptr @test_count, align 4, !tbaa !5
  %1042 = load ptr, ptr %8, align 8, !tbaa !9
  %1043 = call i32 @s2n_connection_free(ptr noundef %1042) #12
  %1044 = icmp eq i32 %1043, -1
  br i1 %1044, label %1045, label %1069

1045:                                             ; preds = %1039
  %1046 = tail call ptr @__errno_location() #13
  %1047 = load i32, ptr %1046, align 4, !tbaa !5
  %1048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1049 = call i32 @s2n_print_stacktrace(ptr noundef %1048) #12
  %1050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1051 = trunc nuw i8 %1050 to i1
  br i1 %1051, label %1052, label %1056

1052:                                             ; preds = %1045
  %1053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1054 = call i32 @fileno(ptr noundef %1053) #12
  %1055 = call i32 @isatty(i32 noundef %1054) #12
  %.not1451 = icmp eq i32 %1055, 0
  br i1 %.not1451, label %1056, label %1057

1056:                                             ; preds = %1052, %1045
  br label %1057

1057:                                             ; preds = %1052, %1056
  %.str.5.sink1834 = phi ptr [ @.str.5, %1056 ], [ @.str.2, %1052 ]
  store i32 %1047, ptr %1046, align 4, !tbaa !5
  %1058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1059 = load i32, ptr @test_count, align 4, !tbaa !5
  %1060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1061 = load i32, ptr %1060, align 4, !tbaa !5
  %1062 = call ptr @s2n_strerror(i32 noundef %1061, ptr noundef nonnull @.str.4) #12
  %1063 = load i32, ptr %1060, align 4, !tbaa !5
  %1064 = call ptr @s2n_strerror_debug(i32 noundef %1063, ptr noundef nonnull @.str.4) #12
  %1065 = load i32, ptr %1046, align 4, !tbaa !5
  %1066 = call ptr @strerror(i32 noundef %1065) #12
  %1067 = load i32, ptr %1046, align 4, !tbaa !5
  %1068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1058, ptr noundef nonnull %.str.5.sink1834, i32 noundef %1059, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 112, ptr noundef %1062, ptr noundef %1064, ptr noundef %1066, i32 noundef %1067) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1069:                                             ; preds = %1039
  %1070 = load i32, ptr @test_count, align 4, !tbaa !5
  %1071 = add nsw i32 %1070, 1
  store i32 %1071, ptr @test_count, align 4, !tbaa !5
  %1072 = load ptr, ptr %9, align 8, !tbaa !9
  %1073 = call i32 @s2n_connection_free(ptr noundef %1072) #12
  %1074 = icmp eq i32 %1073, -1
  br i1 %1074, label %1075, label %1099

1075:                                             ; preds = %1069
  %1076 = tail call ptr @__errno_location() #13
  %1077 = load i32, ptr %1076, align 4, !tbaa !5
  %1078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1079 = call i32 @s2n_print_stacktrace(ptr noundef %1078) #12
  %1080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1081 = trunc nuw i8 %1080 to i1
  br i1 %1081, label %1082, label %1086

1082:                                             ; preds = %1075
  %1083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1084 = call i32 @fileno(ptr noundef %1083) #12
  %1085 = call i32 @isatty(i32 noundef %1084) #12
  %.not1450 = icmp eq i32 %1085, 0
  br i1 %.not1450, label %1086, label %1087

1086:                                             ; preds = %1082, %1075
  br label %1087

1087:                                             ; preds = %1082, %1086
  %.str.5.sink1845 = phi ptr [ @.str.5, %1086 ], [ @.str.2, %1082 ]
  store i32 %1077, ptr %1076, align 4, !tbaa !5
  %1088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1089 = load i32, ptr @test_count, align 4, !tbaa !5
  %1090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1091 = load i32, ptr %1090, align 4, !tbaa !5
  %1092 = call ptr @s2n_strerror(i32 noundef %1091, ptr noundef nonnull @.str.4) #12
  %1093 = load i32, ptr %1090, align 4, !tbaa !5
  %1094 = call ptr @s2n_strerror_debug(i32 noundef %1093, ptr noundef nonnull @.str.4) #12
  %1095 = load i32, ptr %1076, align 4, !tbaa !5
  %1096 = call ptr @strerror(i32 noundef %1095) #12
  %1097 = load i32, ptr %1076, align 4, !tbaa !5
  %1098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1088, ptr noundef nonnull %.str.5.sink1845, i32 noundef %1089, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 113, ptr noundef %1092, ptr noundef %1094, ptr noundef %1096, i32 noundef %1097) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1099:                                             ; preds = %1069
  %1100 = call i32 @s2n_io_pair_close(ptr noundef nonnull %10) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #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
  store ptr null, ptr %11, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #12
  store ptr null, ptr %12, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #12
  store i64 0, ptr %13, align 8
  %1101 = load i32, ptr @test_count, align 4, !tbaa !5
  %1102 = add nsw i32 %1101, 1
  store i32 %1102, ptr @test_count, align 4, !tbaa !5
  %1103 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %11, ptr noundef nonnull %12, ptr noundef nonnull %13)
  %1104 = call zeroext i1 @s2n_result_is_ok(i32 %1103)
  br i1 %1104, label %1129, label %1105

1105:                                             ; preds = %1099
  %1106 = tail call ptr @__errno_location() #13
  %1107 = load i32, ptr %1106, align 4, !tbaa !5
  %1108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1109 = call i32 @s2n_print_stacktrace(ptr noundef %1108) #12
  %1110 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1111 = trunc nuw i8 %1110 to i1
  br i1 %1111, label %1112, label %1116

1112:                                             ; preds = %1105
  %1113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1114 = call i32 @fileno(ptr noundef %1113) #12
  %1115 = call i32 @isatty(i32 noundef %1114) #12
  %.not1022 = icmp eq i32 %1115, 0
  br i1 %.not1022, label %1116, label %1117

1116:                                             ; preds = %1112, %1105
  br label %1117

1117:                                             ; preds = %1112, %1116
  %.str.5.sink1856 = phi ptr [ @.str.5, %1116 ], [ @.str.2, %1112 ]
  store i32 %1107, ptr %1106, align 4, !tbaa !5
  %1118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1119 = load i32, ptr @test_count, align 4, !tbaa !5
  %1120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1121 = load i32, ptr %1120, align 4, !tbaa !5
  %1122 = call ptr @s2n_strerror(i32 noundef %1121, ptr noundef nonnull @.str.4) #12
  %1123 = load i32, ptr %1120, align 4, !tbaa !5
  %1124 = call ptr @s2n_strerror_debug(i32 noundef %1123, ptr noundef nonnull @.str.4) #12
  %1125 = load i32, ptr %1106, align 4, !tbaa !5
  %1126 = call ptr @strerror(i32 noundef %1125) #12
  %1127 = load i32, ptr %1106, align 4, !tbaa !5
  %1128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1118, ptr noundef nonnull %.str.5.sink1856, i32 noundef %1119, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 120, ptr noundef %1122, ptr noundef %1124, ptr noundef %1126, i32 noundef %1127) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1129:                                             ; preds = %1099
  %1130 = load i32, ptr @test_count, align 4, !tbaa !5
  %1131 = add nsw i32 %1130, 1
  store i32 %1131, ptr @test_count, align 4, !tbaa !5
  %1132 = load ptr, ptr %11, align 8, !tbaa !9
  %1133 = call i32 @s2n_connection_append_psk(ptr noundef %1132, ptr noundef %243) #12
  %1134 = icmp eq i32 %1133, -1
  br i1 %1134, label %1135, label %1159

1135:                                             ; preds = %1129
  %1136 = tail call ptr @__errno_location() #13
  %1137 = load i32, ptr %1136, 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 = %1135
  %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
  %.not1449 = icmp eq i32 %1145, 0
  br i1 %.not1449, label %1146, label %1147

1146:                                             ; preds = %1142, %1135
  br label %1147

1147:                                             ; preds = %1142, %1146
  %.str.5.sink1867 = phi ptr [ @.str.5, %1146 ], [ @.str.2, %1142 ]
  store i32 %1137, ptr %1136, align 4, !tbaa !5
  %1148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1149 = load i32, ptr @test_count, align 4, !tbaa !5
  %1150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1151 = load i32, ptr %1150, align 4, !tbaa !5
  %1152 = call ptr @s2n_strerror(i32 noundef %1151, ptr noundef nonnull @.str.4) #12
  %1153 = load i32, ptr %1150, align 4, !tbaa !5
  %1154 = call ptr @s2n_strerror_debug(i32 noundef %1153, ptr noundef nonnull @.str.4) #12
  %1155 = load i32, ptr %1136, align 4, !tbaa !5
  %1156 = call ptr @strerror(i32 noundef %1155) #12
  %1157 = load i32, ptr %1136, align 4, !tbaa !5
  %1158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1148, ptr noundef nonnull %.str.5.sink1867, i32 noundef %1149, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 122, ptr noundef %1152, ptr noundef %1154, ptr noundef %1156, i32 noundef %1157) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1159:                                             ; preds = %1129
  %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 = load ptr, ptr %12, align 8, !tbaa !9
  %1163 = call i32 @s2n_connection_append_psk(ptr noundef %1162, ptr noundef %243) #12
  %1164 = icmp eq i32 %1163, -1
  br i1 %1164, label %1165, label %1189

1165:                                             ; preds = %1159
  %1166 = tail call ptr @__errno_location() #13
  %1167 = load i32, ptr %1166, align 4, !tbaa !5
  %1168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1169 = call i32 @s2n_print_stacktrace(ptr noundef %1168) #12
  %1170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1171 = trunc nuw i8 %1170 to i1
  br i1 %1171, label %1172, label %1176

1172:                                             ; preds = %1165
  %1173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1174 = call i32 @fileno(ptr noundef %1173) #12
  %1175 = call i32 @isatty(i32 noundef %1174) #12
  %.not1448 = icmp eq i32 %1175, 0
  br i1 %.not1448, label %1176, label %1177

1176:                                             ; preds = %1172, %1165
  br label %1177

1177:                                             ; preds = %1172, %1176
  %.str.5.sink1878 = phi ptr [ @.str.5, %1176 ], [ @.str.2, %1172 ]
  store i32 %1167, ptr %1166, align 4, !tbaa !5
  %1178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1179 = load i32, ptr @test_count, align 4, !tbaa !5
  %1180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1181 = load i32, ptr %1180, align 4, !tbaa !5
  %1182 = call ptr @s2n_strerror(i32 noundef %1181, ptr noundef nonnull @.str.4) #12
  %1183 = load i32, ptr %1180, align 4, !tbaa !5
  %1184 = call ptr @s2n_strerror_debug(i32 noundef %1183, ptr noundef nonnull @.str.4) #12
  %1185 = load i32, ptr %1166, align 4, !tbaa !5
  %1186 = call ptr @strerror(i32 noundef %1185) #12
  %1187 = load i32, ptr %1166, align 4, !tbaa !5
  %1188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1178, ptr noundef nonnull %.str.5.sink1878, i32 noundef %1179, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 123, ptr noundef %1182, ptr noundef %1184, ptr noundef %1186, i32 noundef %1187) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1189:                                             ; preds = %1159
  %1190 = load i32, ptr @test_count, align 4, !tbaa !5
  %1191 = add nsw i32 %1190, 1
  store i32 %1191, ptr @test_count, align 4, !tbaa !5
  %1192 = load ptr, ptr %12, align 8, !tbaa !9
  %1193 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %1192) #12
  %1194 = icmp eq i32 %1193, -1
  br i1 %1194, label %1195, label %1219

1195:                                             ; preds = %1189
  %1196 = tail call ptr @__errno_location() #13
  %1197 = load i32, ptr %1196, align 4, !tbaa !5
  %1198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1199 = call i32 @s2n_print_stacktrace(ptr noundef %1198) #12
  %1200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1201 = trunc nuw i8 %1200 to i1
  br i1 %1201, label %1202, label %1206

1202:                                             ; preds = %1195
  %1203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1204 = call i32 @fileno(ptr noundef %1203) #12
  %1205 = call i32 @isatty(i32 noundef %1204) #12
  %.not1447 = icmp eq i32 %1205, 0
  br i1 %.not1447, label %1206, label %1207

1206:                                             ; preds = %1202, %1195
  br label %1207

1207:                                             ; preds = %1202, %1206
  %.str.5.sink1889 = phi ptr [ @.str.5, %1206 ], [ @.str.2, %1202 ]
  store i32 %1197, ptr %1196, 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 nonnull @.str.4) #12
  %1213 = load i32, ptr %1210, align 4, !tbaa !5
  %1214 = call ptr @s2n_strerror_debug(i32 noundef %1213, ptr noundef nonnull @.str.4) #12
  %1215 = load i32, ptr %1196, align 4, !tbaa !5
  %1216 = call ptr @strerror(i32 noundef %1215) #12
  %1217 = load i32, ptr %1196, align 4, !tbaa !5
  %1218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1208, ptr noundef nonnull %.str.5.sink1889, i32 noundef %1209, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 124, ptr noundef %1212, ptr noundef %1214, ptr noundef %1216, i32 noundef %1217) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1219:                                             ; preds = %1189
  %1220 = load i32, ptr @test_count, align 4, !tbaa !5
  %1221 = add nsw i32 %1220, 1
  store i32 %1221, ptr @test_count, align 4, !tbaa !5
  %1222 = load ptr, ptr %12, align 8, !tbaa !9
  %1223 = load ptr, ptr %11, align 8, !tbaa !9
  %1224 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1222, ptr noundef %1223) #12
  %1225 = icmp eq i32 %1224, -1
  br i1 %1225, label %1226, label %1250

1226:                                             ; preds = %1219
  %1227 = tail call ptr @__errno_location() #13
  %1228 = load i32, ptr %1227, align 4, !tbaa !5
  %1229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1230 = call i32 @s2n_print_stacktrace(ptr noundef %1229) #12
  %1231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1232 = trunc nuw i8 %1231 to i1
  br i1 %1232, label %1233, label %1237

1233:                                             ; preds = %1226
  %1234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1235 = call i32 @fileno(ptr noundef %1234) #12
  %1236 = call i32 @isatty(i32 noundef %1235) #12
  %.not1446 = icmp eq i32 %1236, 0
  br i1 %.not1446, label %1237, label %1238

1237:                                             ; preds = %1233, %1226
  br label %1238

1238:                                             ; preds = %1233, %1237
  %.str.5.sink1900 = phi ptr [ @.str.5, %1237 ], [ @.str.2, %1233 ]
  store i32 %1228, ptr %1227, align 4, !tbaa !5
  %1239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1240 = load i32, ptr @test_count, align 4, !tbaa !5
  %1241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1242 = load i32, ptr %1241, align 4, !tbaa !5
  %1243 = call ptr @s2n_strerror(i32 noundef %1242, ptr noundef nonnull @.str.4) #12
  %1244 = load i32, ptr %1241, align 4, !tbaa !5
  %1245 = call ptr @s2n_strerror_debug(i32 noundef %1244, ptr noundef nonnull @.str.4) #12
  %1246 = load i32, ptr %1227, align 4, !tbaa !5
  %1247 = call ptr @strerror(i32 noundef %1246) #12
  %1248 = load i32, ptr %1227, align 4, !tbaa !5
  %1249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1239, ptr noundef nonnull %.str.5.sink1900, i32 noundef %1240, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 126, ptr noundef %1243, ptr noundef %1245, ptr noundef %1247, i32 noundef %1248) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1250:                                             ; preds = %1219
  %1251 = load i32, ptr @test_count, align 4, !tbaa !5
  %1252 = add nsw i32 %1251, 1
  store i32 %1252, ptr @test_count, align 4, !tbaa !5
  %1253 = load ptr, ptr %11, align 8, !tbaa !9
  %1254 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %1253, i32 noundef 64) #12
  br i1 %1254, label %1255, label %1279

1255:                                             ; preds = %1250
  %1256 = tail call ptr @__errno_location() #13
  %1257 = load i32, ptr %1256, align 4, !tbaa !5
  %1258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1259 = call i32 @s2n_print_stacktrace(ptr noundef %1258) #12
  %1260 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1261 = trunc nuw i8 %1260 to i1
  br i1 %1261, label %1262, label %1266

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

1266:                                             ; preds = %1262, %1255
  br label %1267

1267:                                             ; preds = %1262, %1266
  %.str.5.sink1911 = phi ptr [ @.str.5, %1266 ], [ @.str.2, %1262 ]
  store i32 %1257, ptr %1256, align 4, !tbaa !5
  %1268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1269 = load i32, ptr @test_count, align 4, !tbaa !5
  %1270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1271 = load i32, ptr %1270, align 4, !tbaa !5
  %1272 = call ptr @s2n_strerror(i32 noundef %1271, ptr noundef nonnull @.str.4) #12
  %1273 = load i32, ptr %1270, align 4, !tbaa !5
  %1274 = call ptr @s2n_strerror_debug(i32 noundef %1273, ptr noundef nonnull @.str.4) #12
  %1275 = load i32, ptr %1256, align 4, !tbaa !5
  %1276 = call ptr @strerror(i32 noundef %1275) #12
  %1277 = load i32, ptr %1256, align 4, !tbaa !5
  %1278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1268, ptr noundef nonnull %.str.5.sink1911, i32 noundef %1269, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 128, ptr noundef %1272, ptr noundef %1274, ptr noundef %1276, i32 noundef %1277) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1279:                                             ; preds = %1250
  %1280 = load i32, ptr @test_count, align 4, !tbaa !5
  %1281 = add nsw i32 %1280, 1
  store i32 %1281, ptr @test_count, align 4, !tbaa !5
  %1282 = load ptr, ptr %12, align 8, !tbaa !9
  %1283 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %1282, i32 noundef 64) #12
  br i1 %1283, label %1284, label %1308

1284:                                             ; preds = %1279
  %1285 = tail call ptr @__errno_location() #13
  %1286 = load i32, ptr %1285, align 4, !tbaa !5
  %1287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1288 = call i32 @s2n_print_stacktrace(ptr noundef %1287) #12
  %1289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1290 = trunc nuw i8 %1289 to i1
  br i1 %1290, label %1291, label %1295

1291:                                             ; preds = %1284
  %1292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1293 = call i32 @fileno(ptr noundef %1292) #12
  %1294 = call i32 @isatty(i32 noundef %1293) #12
  %.not1444 = icmp eq i32 %1294, 0
  br i1 %.not1444, label %1295, label %1296

1295:                                             ; preds = %1291, %1284
  br label %1296

1296:                                             ; preds = %1291, %1295
  %.str.5.sink1922 = phi ptr [ @.str.5, %1295 ], [ @.str.2, %1291 ]
  store i32 %1286, ptr %1285, align 4, !tbaa !5
  %1297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1298 = load i32, ptr @test_count, align 4, !tbaa !5
  %1299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1300 = load i32, ptr %1299, align 4, !tbaa !5
  %1301 = call ptr @s2n_strerror(i32 noundef %1300, ptr noundef nonnull @.str.4) #12
  %1302 = load i32, ptr %1299, align 4, !tbaa !5
  %1303 = call ptr @s2n_strerror_debug(i32 noundef %1302, ptr noundef nonnull @.str.4) #12
  %1304 = load i32, ptr %1285, align 4, !tbaa !5
  %1305 = call ptr @strerror(i32 noundef %1304) #12
  %1306 = load i32, ptr %1285, align 4, !tbaa !5
  %1307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1297, ptr noundef nonnull %.str.5.sink1922, i32 noundef %1298, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 129, ptr noundef %1301, ptr noundef %1303, ptr noundef %1305, i32 noundef %1306) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1308:                                             ; preds = %1279
  %1309 = load i32, ptr @test_count, align 4, !tbaa !5
  %1310 = add nsw i32 %1309, 1
  store i32 %1310, ptr @test_count, align 4, !tbaa !5
  %1311 = load ptr, ptr %11, align 8, !tbaa !9
  %1312 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %1311, i32 noundef 128) #12
  br i1 %1312, label %1313, label %1337

1313:                                             ; preds = %1308
  %1314 = tail call ptr @__errno_location() #13
  %1315 = load i32, ptr %1314, align 4, !tbaa !5
  %1316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1317 = call i32 @s2n_print_stacktrace(ptr noundef %1316) #12
  %1318 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1319 = trunc nuw i8 %1318 to i1
  br i1 %1319, label %1320, label %1324

1320:                                             ; preds = %1313
  %1321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1322 = call i32 @fileno(ptr noundef %1321) #12
  %1323 = call i32 @isatty(i32 noundef %1322) #12
  %.not1443 = icmp eq i32 %1323, 0
  br i1 %.not1443, label %1324, label %1325

1324:                                             ; preds = %1320, %1313
  br label %1325

1325:                                             ; preds = %1320, %1324
  %.str.5.sink1933 = phi ptr [ @.str.5, %1324 ], [ @.str.2, %1320 ]
  store i32 %1315, ptr %1314, align 4, !tbaa !5
  %1326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1327 = load i32, ptr @test_count, align 4, !tbaa !5
  %1328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1329 = load i32, ptr %1328, align 4, !tbaa !5
  %1330 = call ptr @s2n_strerror(i32 noundef %1329, ptr noundef nonnull @.str.4) #12
  %1331 = load i32, ptr %1328, align 4, !tbaa !5
  %1332 = call ptr @s2n_strerror_debug(i32 noundef %1331, ptr noundef nonnull @.str.4) #12
  %1333 = load i32, ptr %1314, align 4, !tbaa !5
  %1334 = call ptr @strerror(i32 noundef %1333) #12
  %1335 = load i32, ptr %1314, align 4, !tbaa !5
  %1336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1326, ptr noundef nonnull %.str.5.sink1933, i32 noundef %1327, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 130, ptr noundef %1330, ptr noundef %1332, ptr noundef %1334, i32 noundef %1335) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1337:                                             ; preds = %1308
  %1338 = load i32, ptr @test_count, align 4, !tbaa !5
  %1339 = add nsw i32 %1338, 1
  store i32 %1339, ptr @test_count, align 4, !tbaa !5
  %1340 = load ptr, ptr %12, align 8, !tbaa !9
  %1341 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %1340, i32 noundef 128) #12
  br i1 %1341, label %1342, label %1366

1342:                                             ; preds = %1337
  %1343 = tail call ptr @__errno_location() #13
  %1344 = load i32, ptr %1343, align 4, !tbaa !5
  %1345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1346 = call i32 @s2n_print_stacktrace(ptr noundef %1345) #12
  %1347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1348 = trunc nuw i8 %1347 to i1
  br i1 %1348, label %1349, label %1353

1349:                                             ; preds = %1342
  %1350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1351 = call i32 @fileno(ptr noundef %1350) #12
  %1352 = call i32 @isatty(i32 noundef %1351) #12
  %.not1442 = icmp eq i32 %1352, 0
  br i1 %.not1442, label %1353, label %1354

1353:                                             ; preds = %1349, %1342
  br label %1354

1354:                                             ; preds = %1349, %1353
  %.str.5.sink1944 = phi ptr [ @.str.5, %1353 ], [ @.str.2, %1349 ]
  store i32 %1344, ptr %1343, align 4, !tbaa !5
  %1355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1356 = load i32, ptr @test_count, align 4, !tbaa !5
  %1357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1358 = load i32, ptr %1357, align 4, !tbaa !5
  %1359 = call ptr @s2n_strerror(i32 noundef %1358, ptr noundef nonnull @.str.4) #12
  %1360 = load i32, ptr %1357, align 4, !tbaa !5
  %1361 = call ptr @s2n_strerror_debug(i32 noundef %1360, ptr noundef nonnull @.str.4) #12
  %1362 = load i32, ptr %1343, align 4, !tbaa !5
  %1363 = call ptr @strerror(i32 noundef %1362) #12
  %1364 = load i32, ptr %1343, align 4, !tbaa !5
  %1365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1355, ptr noundef nonnull %.str.5.sink1944, i32 noundef %1356, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 131, ptr noundef %1359, ptr noundef %1361, ptr noundef %1363, i32 noundef %1364) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1366:                                             ; preds = %1337
  %1367 = load i32, ptr @test_count, align 4, !tbaa !5
  %1368 = add nsw i32 %1367, 1
  store i32 %1368, ptr @test_count, align 4, !tbaa !5
  %1369 = load ptr, ptr %11, align 8, !tbaa !9
  %1370 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %1369, i32 noundef 2) #12
  br i1 %1370, label %1371, label %1395

1371:                                             ; preds = %1366
  %1372 = tail call ptr @__errno_location() #13
  %1373 = load i32, ptr %1372, align 4, !tbaa !5
  %1374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1375 = call i32 @s2n_print_stacktrace(ptr noundef %1374) #12
  %1376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1377 = trunc nuw i8 %1376 to i1
  br i1 %1377, label %1378, label %1382

1378:                                             ; preds = %1371
  %1379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1380 = call i32 @fileno(ptr noundef %1379) #12
  %1381 = call i32 @isatty(i32 noundef %1380) #12
  %.not1441 = icmp eq i32 %1381, 0
  br i1 %.not1441, label %1382, label %1383

1382:                                             ; preds = %1378, %1371
  br label %1383

1383:                                             ; preds = %1378, %1382
  %.str.5.sink1955 = phi ptr [ @.str.5, %1382 ], [ @.str.2, %1378 ]
  store i32 %1373, ptr %1372, align 4, !tbaa !5
  %1384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1385 = load i32, ptr @test_count, align 4, !tbaa !5
  %1386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1387 = load i32, ptr %1386, align 4, !tbaa !5
  %1388 = call ptr @s2n_strerror(i32 noundef %1387, ptr noundef nonnull @.str.4) #12
  %1389 = load i32, ptr %1386, align 4, !tbaa !5
  %1390 = call ptr @s2n_strerror_debug(i32 noundef %1389, ptr noundef nonnull @.str.4) #12
  %1391 = load i32, ptr %1372, align 4, !tbaa !5
  %1392 = call ptr @strerror(i32 noundef %1391) #12
  %1393 = load i32, ptr %1372, align 4, !tbaa !5
  %1394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1384, ptr noundef nonnull %.str.5.sink1955, i32 noundef %1385, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 132, ptr noundef %1388, ptr noundef %1390, ptr noundef %1392, i32 noundef %1393) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1395:                                             ; preds = %1366
  %1396 = load i32, ptr @test_count, align 4, !tbaa !5
  %1397 = add nsw i32 %1396, 1
  store i32 %1397, ptr @test_count, align 4, !tbaa !5
  %1398 = load ptr, ptr %12, align 8, !tbaa !9
  %1399 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %1398, i32 noundef 2) #12
  br i1 %1399, label %1400, label %1424

1400:                                             ; preds = %1395
  %1401 = tail call ptr @__errno_location() #13
  %1402 = load i32, ptr %1401, align 4, !tbaa !5
  %1403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1404 = call i32 @s2n_print_stacktrace(ptr noundef %1403) #12
  %1405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1406 = trunc nuw i8 %1405 to i1
  br i1 %1406, label %1407, label %1411

1407:                                             ; preds = %1400
  %1408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1409 = call i32 @fileno(ptr noundef %1408) #12
  %1410 = call i32 @isatty(i32 noundef %1409) #12
  %.not1440 = icmp eq i32 %1410, 0
  br i1 %.not1440, label %1411, label %1412

1411:                                             ; preds = %1407, %1400
  br label %1412

1412:                                             ; preds = %1407, %1411
  %.str.5.sink1966 = phi ptr [ @.str.5, %1411 ], [ @.str.2, %1407 ]
  store i32 %1402, ptr %1401, align 4, !tbaa !5
  %1413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1414 = load i32, ptr @test_count, align 4, !tbaa !5
  %1415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1416 = load i32, ptr %1415, align 4, !tbaa !5
  %1417 = call ptr @s2n_strerror(i32 noundef %1416, ptr noundef nonnull @.str.4) #12
  %1418 = load i32, ptr %1415, align 4, !tbaa !5
  %1419 = call ptr @s2n_strerror_debug(i32 noundef %1418, ptr noundef nonnull @.str.4) #12
  %1420 = load i32, ptr %1401, align 4, !tbaa !5
  %1421 = call ptr @strerror(i32 noundef %1420) #12
  %1422 = load i32, ptr %1401, align 4, !tbaa !5
  %1423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1413, ptr noundef nonnull %.str.5.sink1966, i32 noundef %1414, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 133, ptr noundef %1417, ptr noundef %1419, ptr noundef %1421, i32 noundef %1422) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1424:                                             ; preds = %1395
  %1425 = load i32, ptr @test_count, align 4, !tbaa !5
  %1426 = add nsw i32 %1425, 1
  store i32 %1426, ptr @test_count, align 4, !tbaa !5
  %1427 = load ptr, ptr %11, align 8, !tbaa !9
  %1428 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %1427, i32 noundef 16) #12
  br i1 %1428, label %1429, label %1453

1429:                                             ; preds = %1424
  %1430 = tail call ptr @__errno_location() #13
  %1431 = load i32, ptr %1430, align 4, !tbaa !5
  %1432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1433 = call i32 @s2n_print_stacktrace(ptr noundef %1432) #12
  %1434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1435 = trunc nuw i8 %1434 to i1
  br i1 %1435, label %1436, label %1440

1436:                                             ; preds = %1429
  %1437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1438 = call i32 @fileno(ptr noundef %1437) #12
  %1439 = call i32 @isatty(i32 noundef %1438) #12
  %.not1439 = icmp eq i32 %1439, 0
  br i1 %.not1439, label %1440, label %1441

1440:                                             ; preds = %1436, %1429
  br label %1441

1441:                                             ; preds = %1436, %1440
  %.str.5.sink1977 = phi ptr [ @.str.5, %1440 ], [ @.str.2, %1436 ]
  store i32 %1431, ptr %1430, align 4, !tbaa !5
  %1442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1443 = load i32, ptr @test_count, align 4, !tbaa !5
  %1444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1445 = load i32, ptr %1444, align 4, !tbaa !5
  %1446 = call ptr @s2n_strerror(i32 noundef %1445, ptr noundef nonnull @.str.4) #12
  %1447 = load i32, ptr %1444, align 4, !tbaa !5
  %1448 = call ptr @s2n_strerror_debug(i32 noundef %1447, ptr noundef nonnull @.str.4) #12
  %1449 = load i32, ptr %1430, align 4, !tbaa !5
  %1450 = call ptr @strerror(i32 noundef %1449) #12
  %1451 = load i32, ptr %1430, align 4, !tbaa !5
  %1452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1442, ptr noundef nonnull %.str.5.sink1977, i32 noundef %1443, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 134, ptr noundef %1446, ptr noundef %1448, ptr noundef %1450, i32 noundef %1451) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1453:                                             ; preds = %1424
  %1454 = load i32, ptr @test_count, align 4, !tbaa !5
  %1455 = add nsw i32 %1454, 1
  store i32 %1455, ptr @test_count, align 4, !tbaa !5
  %1456 = load ptr, ptr %12, align 8, !tbaa !9
  %1457 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %1456, i32 noundef 16) #12
  br i1 %1457, label %1458, label %1482

1458:                                             ; preds = %1453
  %1459 = tail call ptr @__errno_location() #13
  %1460 = load i32, ptr %1459, align 4, !tbaa !5
  %1461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1462 = call i32 @s2n_print_stacktrace(ptr noundef %1461) #12
  %1463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1464 = trunc nuw i8 %1463 to i1
  br i1 %1464, label %1465, label %1469

1465:                                             ; preds = %1458
  %1466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1467 = call i32 @fileno(ptr noundef %1466) #12
  %1468 = call i32 @isatty(i32 noundef %1467) #12
  %.not1438 = icmp eq i32 %1468, 0
  br i1 %.not1438, label %1469, label %1470

1469:                                             ; preds = %1465, %1458
  br label %1470

1470:                                             ; preds = %1465, %1469
  %.str.5.sink1988 = phi ptr [ @.str.5, %1469 ], [ @.str.2, %1465 ]
  store i32 %1460, ptr %1459, align 4, !tbaa !5
  %1471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1472 = load i32, ptr @test_count, align 4, !tbaa !5
  %1473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1474 = load i32, ptr %1473, align 4, !tbaa !5
  %1475 = call ptr @s2n_strerror(i32 noundef %1474, ptr noundef nonnull @.str.4) #12
  %1476 = load i32, ptr %1473, align 4, !tbaa !5
  %1477 = call ptr @s2n_strerror_debug(i32 noundef %1476, ptr noundef nonnull @.str.4) #12
  %1478 = load i32, ptr %1459, align 4, !tbaa !5
  %1479 = call ptr @strerror(i32 noundef %1478) #12
  %1480 = load i32, ptr %1459, align 4, !tbaa !5
  %1481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1471, ptr noundef nonnull %.str.5.sink1988, i32 noundef %1472, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 135, ptr noundef %1475, ptr noundef %1477, ptr noundef %1479, i32 noundef %1480) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1482:                                             ; preds = %1453
  %1483 = load i32, ptr @test_count, align 4, !tbaa !5
  %1484 = add nsw i32 %1483, 1
  store i32 %1484, ptr @test_count, align 4, !tbaa !5
  %1485 = load ptr, ptr %11, align 8, !tbaa !9
  %1486 = call i32 @s2n_conn_get_current_message_type(ptr noundef %1485) #12
  %1487 = icmp eq i32 %1486, 20
  br i1 %1487, label %1512, label %1488

1488:                                             ; preds = %1482
  %1489 = tail call ptr @__errno_location() #13
  %1490 = load i32, ptr %1489, 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 = %1488
  %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
  %.not1023 = icmp eq i32 %1498, 0
  br i1 %.not1023, label %1499, label %1500

1499:                                             ; preds = %1495, %1488
  br label %1500

1500:                                             ; preds = %1495, %1499
  %.str.5.sink1999 = phi ptr [ @.str.5, %1499 ], [ @.str.2, %1495 ]
  store i32 %1490, ptr %1489, align 4, !tbaa !5
  %1501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1502 = load i32, ptr @test_count, align 4, !tbaa !5
  %1503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1504 = load i32, ptr %1503, align 4, !tbaa !5
  %1505 = call ptr @s2n_strerror(i32 noundef %1504, ptr noundef nonnull @.str.4) #12
  %1506 = load i32, ptr %1503, align 4, !tbaa !5
  %1507 = call ptr @s2n_strerror_debug(i32 noundef %1506, ptr noundef nonnull @.str.4) #12
  %1508 = load i32, ptr %1489, align 4, !tbaa !5
  %1509 = call ptr @strerror(i32 noundef %1508) #12
  %1510 = load i32, ptr %1489, align 4, !tbaa !5
  %1511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1501, ptr noundef nonnull %.str.5.sink1999, i32 noundef %1502, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 136, ptr noundef %1505, ptr noundef %1507, ptr noundef %1509, i32 noundef %1510) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1512:                                             ; preds = %1482
  %1513 = load i32, ptr @test_count, align 4, !tbaa !5
  %1514 = add nsw i32 %1513, 1
  store i32 %1514, ptr @test_count, align 4, !tbaa !5
  %1515 = load ptr, ptr %12, align 8, !tbaa !9
  %1516 = call i32 @s2n_conn_get_current_message_type(ptr noundef %1515) #12
  %1517 = icmp eq i32 %1516, 20
  br i1 %1517, label %1542, label %1518

1518:                                             ; preds = %1512
  %1519 = tail call ptr @__errno_location() #13
  %1520 = load i32, ptr %1519, align 4, !tbaa !5
  %1521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1522 = call i32 @s2n_print_stacktrace(ptr noundef %1521) #12
  %1523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1524 = trunc nuw i8 %1523 to i1
  br i1 %1524, label %1525, label %1529

1525:                                             ; preds = %1518
  %1526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1527 = call i32 @fileno(ptr noundef %1526) #12
  %1528 = call i32 @isatty(i32 noundef %1527) #12
  %.not1024 = icmp eq i32 %1528, 0
  br i1 %.not1024, label %1529, label %1530

1529:                                             ; preds = %1525, %1518
  br label %1530

1530:                                             ; preds = %1525, %1529
  %.str.5.sink2010 = phi ptr [ @.str.5, %1529 ], [ @.str.2, %1525 ]
  store i32 %1520, ptr %1519, align 4, !tbaa !5
  %1531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1532 = load i32, ptr @test_count, align 4, !tbaa !5
  %1533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1534 = load i32, ptr %1533, align 4, !tbaa !5
  %1535 = call ptr @s2n_strerror(i32 noundef %1534, ptr noundef nonnull @.str.4) #12
  %1536 = load i32, ptr %1533, align 4, !tbaa !5
  %1537 = call ptr @s2n_strerror_debug(i32 noundef %1536, ptr noundef nonnull @.str.4) #12
  %1538 = load i32, ptr %1519, align 4, !tbaa !5
  %1539 = call ptr @strerror(i32 noundef %1538) #12
  %1540 = load i32, ptr %1519, align 4, !tbaa !5
  %1541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1531, ptr noundef nonnull %.str.5.sink2010, i32 noundef %1532, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 137, ptr noundef %1535, ptr noundef %1537, ptr noundef %1539, i32 noundef %1540) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1542:                                             ; preds = %1512
  %1543 = load i32, ptr @test_count, align 4, !tbaa !5
  %1544 = add nsw i32 %1543, 1
  store i32 %1544, ptr @test_count, align 4, !tbaa !5
  %1545 = load ptr, ptr %12, align 8, !tbaa !9
  %1546 = load ptr, ptr %11, align 8, !tbaa !9
  %1547 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %1545, ptr noundef %1546) #12
  %1548 = icmp eq i32 %1547, -1
  br i1 %1548, label %1549, label %1573

1549:                                             ; preds = %1542
  %1550 = tail call ptr @__errno_location() #13
  %1551 = load i32, ptr %1550, align 4, !tbaa !5
  %1552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1553 = call i32 @s2n_print_stacktrace(ptr noundef %1552) #12
  %1554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1555 = trunc nuw i8 %1554 to i1
  br i1 %1555, label %1556, label %1560

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

1560:                                             ; preds = %1556, %1549
  br label %1561

1561:                                             ; preds = %1556, %1560
  %.str.5.sink2021 = phi ptr [ @.str.5, %1560 ], [ @.str.2, %1556 ]
  store i32 %1551, ptr %1550, align 4, !tbaa !5
  %1562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1563 = load i32, ptr @test_count, align 4, !tbaa !5
  %1564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1565 = load i32, ptr %1564, align 4, !tbaa !5
  %1566 = call ptr @s2n_strerror(i32 noundef %1565, ptr noundef nonnull @.str.4) #12
  %1567 = load i32, ptr %1564, align 4, !tbaa !5
  %1568 = call ptr @s2n_strerror_debug(i32 noundef %1567, ptr noundef nonnull @.str.4) #12
  %1569 = load i32, ptr %1550, align 4, !tbaa !5
  %1570 = call ptr @strerror(i32 noundef %1569) #12
  %1571 = load i32, ptr %1550, align 4, !tbaa !5
  %1572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1562, ptr noundef nonnull %.str.5.sink2021, i32 noundef %1563, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 139, ptr noundef %1566, ptr noundef %1568, ptr noundef %1570, i32 noundef %1571) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1573:                                             ; preds = %1542
  %1574 = load i32, ptr @test_count, align 4, !tbaa !5
  %1575 = add nsw i32 %1574, 1
  store i32 %1575, ptr @test_count, align 4, !tbaa !5
  %1576 = load ptr, ptr %11, align 8, !tbaa !9
  %1577 = call i32 @s2n_connection_free(ptr noundef %1576) #12
  %1578 = icmp eq i32 %1577, -1
  br i1 %1578, label %1579, label %1603

1579:                                             ; preds = %1573
  %1580 = tail call ptr @__errno_location() #13
  %1581 = load i32, ptr %1580, align 4, !tbaa !5
  %1582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1583 = call i32 @s2n_print_stacktrace(ptr noundef %1582) #12
  %1584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1585 = trunc nuw i8 %1584 to i1
  br i1 %1585, label %1586, label %1590

1586:                                             ; preds = %1579
  %1587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1588 = call i32 @fileno(ptr noundef %1587) #12
  %1589 = call i32 @isatty(i32 noundef %1588) #12
  %.not1436 = icmp eq i32 %1589, 0
  br i1 %.not1436, label %1590, label %1591

1590:                                             ; preds = %1586, %1579
  br label %1591

1591:                                             ; preds = %1586, %1590
  %.str.5.sink2032 = phi ptr [ @.str.5, %1590 ], [ @.str.2, %1586 ]
  store i32 %1581, ptr %1580, align 4, !tbaa !5
  %1592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1593 = load i32, ptr @test_count, align 4, !tbaa !5
  %1594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1595 = load i32, ptr %1594, align 4, !tbaa !5
  %1596 = call ptr @s2n_strerror(i32 noundef %1595, ptr noundef nonnull @.str.4) #12
  %1597 = load i32, ptr %1594, align 4, !tbaa !5
  %1598 = call ptr @s2n_strerror_debug(i32 noundef %1597, ptr noundef nonnull @.str.4) #12
  %1599 = load i32, ptr %1580, align 4, !tbaa !5
  %1600 = call ptr @strerror(i32 noundef %1599) #12
  %1601 = load i32, ptr %1580, align 4, !tbaa !5
  %1602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1592, ptr noundef nonnull %.str.5.sink2032, i32 noundef %1593, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 140, ptr noundef %1596, ptr noundef %1598, ptr noundef %1600, i32 noundef %1601) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1603:                                             ; preds = %1573
  %1604 = load i32, ptr @test_count, align 4, !tbaa !5
  %1605 = add nsw i32 %1604, 1
  store i32 %1605, ptr @test_count, align 4, !tbaa !5
  %1606 = load ptr, ptr %12, align 8, !tbaa !9
  %1607 = call i32 @s2n_connection_free(ptr noundef %1606) #12
  %1608 = icmp eq i32 %1607, -1
  br i1 %1608, label %1609, label %1633

1609:                                             ; preds = %1603
  %1610 = tail call ptr @__errno_location() #13
  %1611 = load i32, ptr %1610, align 4, !tbaa !5
  %1612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1613 = call i32 @s2n_print_stacktrace(ptr noundef %1612) #12
  %1614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1615 = trunc nuw i8 %1614 to i1
  br i1 %1615, label %1616, label %1620

1616:                                             ; preds = %1609
  %1617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1618 = call i32 @fileno(ptr noundef %1617) #12
  %1619 = call i32 @isatty(i32 noundef %1618) #12
  %.not1435 = icmp eq i32 %1619, 0
  br i1 %.not1435, label %1620, label %1621

1620:                                             ; preds = %1616, %1609
  br label %1621

1621:                                             ; preds = %1616, %1620
  %.str.5.sink2043 = phi ptr [ @.str.5, %1620 ], [ @.str.2, %1616 ]
  store i32 %1611, ptr %1610, align 4, !tbaa !5
  %1622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1623 = load i32, ptr @test_count, align 4, !tbaa !5
  %1624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1625 = load i32, ptr %1624, align 4, !tbaa !5
  %1626 = call ptr @s2n_strerror(i32 noundef %1625, ptr noundef nonnull @.str.4) #12
  %1627 = load i32, ptr %1624, align 4, !tbaa !5
  %1628 = call ptr @s2n_strerror_debug(i32 noundef %1627, ptr noundef nonnull @.str.4) #12
  %1629 = load i32, ptr %1610, align 4, !tbaa !5
  %1630 = call ptr @strerror(i32 noundef %1629) #12
  %1631 = load i32, ptr %1610, align 4, !tbaa !5
  %1632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1622, ptr noundef nonnull %.str.5.sink2043, i32 noundef %1623, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 141, ptr noundef %1626, ptr noundef %1628, ptr noundef %1630, i32 noundef %1631) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1633:                                             ; preds = %1603
  %1634 = call i32 @s2n_io_pair_close(ptr noundef nonnull %13) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #12
  store ptr null, ptr %14, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #12
  store ptr null, ptr %15, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #12
  store i64 0, ptr %16, align 8
  %1635 = load i32, ptr @test_count, align 4, !tbaa !5
  %1636 = add nsw i32 %1635, 1
  store i32 %1636, ptr @test_count, align 4, !tbaa !5
  %1637 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %16)
  %1638 = call zeroext i1 @s2n_result_is_ok(i32 %1637)
  br i1 %1638, label %1663, label %1639

1639:                                             ; preds = %1633
  %1640 = tail call ptr @__errno_location() #13
  %1641 = load i32, ptr %1640, align 4, !tbaa !5
  %1642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1643 = call i32 @s2n_print_stacktrace(ptr noundef %1642) #12
  %1644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1645 = trunc nuw i8 %1644 to i1
  br i1 %1645, label %1646, label %1650

1646:                                             ; preds = %1639
  %1647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1648 = call i32 @fileno(ptr noundef %1647) #12
  %1649 = call i32 @isatty(i32 noundef %1648) #12
  %.not1025 = icmp eq i32 %1649, 0
  br i1 %.not1025, label %1650, label %1651

1650:                                             ; preds = %1646, %1639
  br label %1651

1651:                                             ; preds = %1646, %1650
  %.str.5.sink2054 = phi ptr [ @.str.5, %1650 ], [ @.str.2, %1646 ]
  store i32 %1641, ptr %1640, align 4, !tbaa !5
  %1652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1653 = load i32, ptr @test_count, align 4, !tbaa !5
  %1654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1655 = load i32, ptr %1654, align 4, !tbaa !5
  %1656 = call ptr @s2n_strerror(i32 noundef %1655, ptr noundef nonnull @.str.4) #12
  %1657 = load i32, ptr %1654, align 4, !tbaa !5
  %1658 = call ptr @s2n_strerror_debug(i32 noundef %1657, ptr noundef nonnull @.str.4) #12
  %1659 = load i32, ptr %1640, align 4, !tbaa !5
  %1660 = call ptr @strerror(i32 noundef %1659) #12
  %1661 = load i32, ptr %1640, align 4, !tbaa !5
  %1662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1652, ptr noundef nonnull %.str.5.sink2054, i32 noundef %1653, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 148, ptr noundef %1656, ptr noundef %1658, ptr noundef %1660, i32 noundef %1661) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1663:                                             ; preds = %1633
  %1664 = load i32, ptr @test_count, align 4, !tbaa !5
  %1665 = add nsw i32 %1664, 1
  store i32 %1665, ptr @test_count, align 4, !tbaa !5
  %1666 = load ptr, ptr %14, align 8, !tbaa !9
  %1667 = call i32 @s2n_connection_append_psk(ptr noundef %1666, ptr noundef %243) #12
  %1668 = icmp eq i32 %1667, -1
  br i1 %1668, label %1669, label %1693

1669:                                             ; preds = %1663
  %1670 = tail call ptr @__errno_location() #13
  %1671 = load i32, ptr %1670, align 4, !tbaa !5
  %1672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1673 = call i32 @s2n_print_stacktrace(ptr noundef %1672) #12
  %1674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1675 = trunc nuw i8 %1674 to i1
  br i1 %1675, label %1676, label %1680

1676:                                             ; preds = %1669
  %1677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1678 = call i32 @fileno(ptr noundef %1677) #12
  %1679 = call i32 @isatty(i32 noundef %1678) #12
  %.not1434 = icmp eq i32 %1679, 0
  br i1 %.not1434, label %1680, label %1681

1680:                                             ; preds = %1676, %1669
  br label %1681

1681:                                             ; preds = %1676, %1680
  %.str.5.sink2065 = phi ptr [ @.str.5, %1680 ], [ @.str.2, %1676 ]
  store i32 %1671, ptr %1670, align 4, !tbaa !5
  %1682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1683 = load i32, ptr @test_count, align 4, !tbaa !5
  %1684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1685 = load i32, ptr %1684, align 4, !tbaa !5
  %1686 = call ptr @s2n_strerror(i32 noundef %1685, ptr noundef nonnull @.str.4) #12
  %1687 = load i32, ptr %1684, align 4, !tbaa !5
  %1688 = call ptr @s2n_strerror_debug(i32 noundef %1687, ptr noundef nonnull @.str.4) #12
  %1689 = load i32, ptr %1670, align 4, !tbaa !5
  %1690 = call ptr @strerror(i32 noundef %1689) #12
  %1691 = load i32, ptr %1670, align 4, !tbaa !5
  %1692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1682, ptr noundef nonnull %.str.5.sink2065, i32 noundef %1683, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 150, ptr noundef %1686, ptr noundef %1688, ptr noundef %1690, i32 noundef %1691) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1693:                                             ; preds = %1663
  %1694 = load i32, ptr @test_count, align 4, !tbaa !5
  %1695 = add nsw i32 %1694, 1
  store i32 %1695, ptr @test_count, align 4, !tbaa !5
  %1696 = load ptr, ptr %14, align 8, !tbaa !9
  %1697 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %1696) #12
  %1698 = icmp eq i32 %1697, -1
  br i1 %1698, label %1699, label %1723

1699:                                             ; preds = %1693
  %1700 = tail call ptr @__errno_location() #13
  %1701 = load i32, ptr %1700, align 4, !tbaa !5
  %1702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1703 = call i32 @s2n_print_stacktrace(ptr noundef %1702) #12
  %1704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1705 = trunc nuw i8 %1704 to i1
  br i1 %1705, label %1706, label %1710

1706:                                             ; preds = %1699
  %1707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1708 = call i32 @fileno(ptr noundef %1707) #12
  %1709 = call i32 @isatty(i32 noundef %1708) #12
  %.not1433 = icmp eq i32 %1709, 0
  br i1 %.not1433, label %1710, label %1711

1710:                                             ; preds = %1706, %1699
  br label %1711

1711:                                             ; preds = %1706, %1710
  %.str.5.sink2076 = phi ptr [ @.str.5, %1710 ], [ @.str.2, %1706 ]
  store i32 %1701, ptr %1700, align 4, !tbaa !5
  %1712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1713 = load i32, ptr @test_count, align 4, !tbaa !5
  %1714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1715 = load i32, ptr %1714, align 4, !tbaa !5
  %1716 = call ptr @s2n_strerror(i32 noundef %1715, ptr noundef nonnull @.str.4) #12
  %1717 = load i32, ptr %1714, align 4, !tbaa !5
  %1718 = call ptr @s2n_strerror_debug(i32 noundef %1717, ptr noundef nonnull @.str.4) #12
  %1719 = load i32, ptr %1700, align 4, !tbaa !5
  %1720 = call ptr @strerror(i32 noundef %1719) #12
  %1721 = load i32, ptr %1700, align 4, !tbaa !5
  %1722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1712, ptr noundef nonnull %.str.5.sink2076, i32 noundef %1713, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 151, ptr noundef %1716, ptr noundef %1718, ptr noundef %1720, i32 noundef %1721) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1723:                                             ; preds = %1693
  %1724 = load i32, ptr @test_count, align 4, !tbaa !5
  %1725 = add nsw i32 %1724, 1
  store i32 %1725, ptr @test_count, align 4, !tbaa !5
  %1726 = load ptr, ptr %14, align 8, !tbaa !9
  %1727 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %1726, ptr noundef nonnull @.str.48) #12
  %1728 = icmp eq i32 %1727, -1
  br i1 %1728, label %1729, label %1753

1729:                                             ; preds = %1723
  %1730 = tail call ptr @__errno_location() #13
  %1731 = load i32, ptr %1730, align 4, !tbaa !5
  %1732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1733 = call i32 @s2n_print_stacktrace(ptr noundef %1732) #12
  %1734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1735 = trunc nuw i8 %1734 to i1
  br i1 %1735, label %1736, label %1740

1736:                                             ; preds = %1729
  %1737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1738 = call i32 @fileno(ptr noundef %1737) #12
  %1739 = call i32 @isatty(i32 noundef %1738) #12
  %.not1432 = icmp eq i32 %1739, 0
  br i1 %.not1432, label %1740, label %1741

1740:                                             ; preds = %1736, %1729
  br label %1741

1741:                                             ; preds = %1736, %1740
  %.str.5.sink2087 = phi ptr [ @.str.5, %1740 ], [ @.str.2, %1736 ]
  store i32 %1731, ptr %1730, align 4, !tbaa !5
  %1742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1743 = load i32, ptr @test_count, align 4, !tbaa !5
  %1744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1745 = load i32, ptr %1744, align 4, !tbaa !5
  %1746 = call ptr @s2n_strerror(i32 noundef %1745, ptr noundef nonnull @.str.4) #12
  %1747 = load i32, ptr %1744, align 4, !tbaa !5
  %1748 = call ptr @s2n_strerror_debug(i32 noundef %1747, ptr noundef nonnull @.str.4) #12
  %1749 = load i32, ptr %1730, align 4, !tbaa !5
  %1750 = call ptr @strerror(i32 noundef %1749) #12
  %1751 = load i32, ptr %1730, align 4, !tbaa !5
  %1752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1742, ptr noundef nonnull %.str.5.sink2087, i32 noundef %1743, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 152, ptr noundef %1746, ptr noundef %1748, ptr noundef %1750, i32 noundef %1751) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1753:                                             ; preds = %1723
  %1754 = load i32, ptr @test_count, align 4, !tbaa !5
  %1755 = add nsw i32 %1754, 1
  store i32 %1755, ptr @test_count, align 4, !tbaa !5
  %1756 = load ptr, ptr %15, align 8, !tbaa !9
  %1757 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %1756, ptr noundef nonnull @.str.50) #12
  %1758 = icmp eq i32 %1757, -1
  br i1 %1758, label %1759, label %1783

1759:                                             ; preds = %1753
  %1760 = tail call ptr @__errno_location() #13
  %1761 = load i32, ptr %1760, align 4, !tbaa !5
  %1762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1763 = call i32 @s2n_print_stacktrace(ptr noundef %1762) #12
  %1764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1765 = trunc nuw i8 %1764 to i1
  br i1 %1765, label %1766, label %1770

1766:                                             ; preds = %1759
  %1767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1768 = call i32 @fileno(ptr noundef %1767) #12
  %1769 = call i32 @isatty(i32 noundef %1768) #12
  %.not1431 = icmp eq i32 %1769, 0
  br i1 %.not1431, label %1770, label %1771

1770:                                             ; preds = %1766, %1759
  br label %1771

1771:                                             ; preds = %1766, %1770
  %.str.5.sink2098 = phi ptr [ @.str.5, %1770 ], [ @.str.2, %1766 ]
  store i32 %1761, ptr %1760, align 4, !tbaa !5
  %1772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1773 = load i32, ptr @test_count, align 4, !tbaa !5
  %1774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1775 = load i32, ptr %1774, align 4, !tbaa !5
  %1776 = call ptr @s2n_strerror(i32 noundef %1775, ptr noundef nonnull @.str.4) #12
  %1777 = load i32, ptr %1774, align 4, !tbaa !5
  %1778 = call ptr @s2n_strerror_debug(i32 noundef %1777, ptr noundef nonnull @.str.4) #12
  %1779 = load i32, ptr %1760, align 4, !tbaa !5
  %1780 = call ptr @strerror(i32 noundef %1779) #12
  %1781 = load i32, ptr %1760, align 4, !tbaa !5
  %1782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1772, ptr noundef nonnull %.str.5.sink2098, i32 noundef %1773, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 153, ptr noundef %1776, ptr noundef %1778, ptr noundef %1780, i32 noundef %1781) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1783:                                             ; preds = %1753
  %1784 = load i32, ptr @test_count, align 4, !tbaa !5
  %1785 = add nsw i32 %1784, 1
  store i32 %1785, ptr @test_count, align 4, !tbaa !5
  %1786 = load ptr, ptr %15, align 8, !tbaa !9
  %1787 = call i32 @s2n_connection_set_config(ptr noundef %1786, ptr noundef %507) #12
  %1788 = icmp eq i32 %1787, -1
  br i1 %1788, label %1789, label %1813

1789:                                             ; preds = %1783
  %1790 = tail call ptr @__errno_location() #13
  %1791 = load i32, ptr %1790, align 4, !tbaa !5
  %1792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1793 = call i32 @s2n_print_stacktrace(ptr noundef %1792) #12
  %1794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1795 = trunc nuw i8 %1794 to i1
  br i1 %1795, label %1796, label %1800

1796:                                             ; preds = %1789
  %1797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1798 = call i32 @fileno(ptr noundef %1797) #12
  %1799 = call i32 @isatty(i32 noundef %1798) #12
  %.not1430 = icmp eq i32 %1799, 0
  br i1 %.not1430, label %1800, label %1801

1800:                                             ; preds = %1796, %1789
  br label %1801

1801:                                             ; preds = %1796, %1800
  %.str.5.sink2109 = phi ptr [ @.str.5, %1800 ], [ @.str.2, %1796 ]
  store i32 %1791, ptr %1790, align 4, !tbaa !5
  %1802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1803 = load i32, ptr @test_count, align 4, !tbaa !5
  %1804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1805 = load i32, ptr %1804, align 4, !tbaa !5
  %1806 = call ptr @s2n_strerror(i32 noundef %1805, ptr noundef nonnull @.str.4) #12
  %1807 = load i32, ptr %1804, align 4, !tbaa !5
  %1808 = call ptr @s2n_strerror_debug(i32 noundef %1807, ptr noundef nonnull @.str.4) #12
  %1809 = load i32, ptr %1790, align 4, !tbaa !5
  %1810 = call ptr @strerror(i32 noundef %1809) #12
  %1811 = load i32, ptr %1790, align 4, !tbaa !5
  %1812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1802, ptr noundef nonnull %.str.5.sink2109, i32 noundef %1803, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 154, ptr noundef %1806, ptr noundef %1808, ptr noundef %1810, i32 noundef %1811) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1813:                                             ; preds = %1783
  %1814 = load i32, ptr @test_count, align 4, !tbaa !5
  %1815 = add nsw i32 %1814, 1
  store i32 %1815, ptr @test_count, align 4, !tbaa !5
  %1816 = load ptr, ptr %15, align 8, !tbaa !9
  %1817 = load ptr, ptr %14, align 8, !tbaa !9
  %1818 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %1816, ptr noundef %1817, i32 noundef 9) #12
  %1819 = call zeroext i1 @s2n_result_is_error(i32 %1818)
  br i1 %1819, label %1844, label %1820

1820:                                             ; preds = %1813
  %1821 = tail call ptr @__errno_location() #13
  %1822 = load i32, ptr %1821, align 4, !tbaa !5
  %1823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1824 = call i32 @s2n_print_stacktrace(ptr noundef %1823) #12
  %1825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1826 = trunc nuw i8 %1825 to i1
  br i1 %1826, label %1827, label %1831

1827:                                             ; preds = %1820
  %1828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1829 = call i32 @fileno(ptr noundef %1828) #12
  %1830 = call i32 @isatty(i32 noundef %1829) #12
  %.not1026 = icmp eq i32 %1830, 0
  br i1 %.not1026, label %1831, label %1832

1831:                                             ; preds = %1827, %1820
  br label %1832

1832:                                             ; preds = %1827, %1831
  %.str.5.sink2120 = phi ptr [ @.str.5, %1831 ], [ @.str.2, %1827 ]
  store i32 %1822, ptr %1821, align 4, !tbaa !5
  %1833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1834 = load i32, ptr @test_count, align 4, !tbaa !5
  %1835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1836 = load i32, ptr %1835, align 4, !tbaa !5
  %1837 = call ptr @s2n_strerror(i32 noundef %1836, ptr noundef nonnull @.str.4) #12
  %1838 = load i32, ptr %1835, align 4, !tbaa !5
  %1839 = call ptr @s2n_strerror_debug(i32 noundef %1838, ptr noundef nonnull @.str.4) #12
  %1840 = load i32, ptr %1821, align 4, !tbaa !5
  %1841 = call ptr @strerror(i32 noundef %1840) #12
  %1842 = load i32, ptr %1821, align 4, !tbaa !5
  %1843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1833, ptr noundef nonnull %.str.5.sink2120, i32 noundef %1834, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %1837, ptr noundef %1839, ptr noundef %1841, i32 noundef %1842) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1844:                                             ; preds = %1813
  %1845 = load i32, ptr @test_count, align 4, !tbaa !5
  %1846 = add nsw i32 %1845, 1
  store i32 %1846, ptr @test_count, align 4, !tbaa !5
  %1847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1848 = load i32, ptr %1847, align 4, !tbaa !5
  %1849 = icmp eq i32 %1848, 335544384
  br i1 %1849, label %1873, label %1850

1850:                                             ; preds = %1844
  %1851 = tail call ptr @__errno_location() #13
  %1852 = load i32, ptr %1851, align 4, !tbaa !5
  %1853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1854 = call i32 @s2n_print_stacktrace(ptr noundef %1853) #12
  %1855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1856 = trunc nuw i8 %1855 to i1
  br i1 %1856, label %1857, label %1861

1857:                                             ; preds = %1850
  %1858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1859 = call i32 @fileno(ptr noundef %1858) #12
  %1860 = call i32 @isatty(i32 noundef %1859) #12
  %.not1027 = icmp eq i32 %1860, 0
  br i1 %.not1027, label %1861, label %1862

1861:                                             ; preds = %1857, %1850
  br label %1862

1862:                                             ; preds = %1857, %1861
  %.str.5.sink2131 = phi ptr [ @.str.5, %1861 ], [ @.str.2, %1857 ]
  store i32 %1852, ptr %1851, align 4, !tbaa !5
  %1863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1864 = load i32, ptr @test_count, align 4, !tbaa !5
  %1865 = load i32, ptr %1847, align 4, !tbaa !5
  %1866 = call ptr @s2n_strerror(i32 noundef %1865, ptr noundef nonnull @.str.4) #12
  %1867 = load i32, ptr %1847, align 4, !tbaa !5
  %1868 = call ptr @s2n_strerror_debug(i32 noundef %1867, ptr noundef nonnull @.str.4) #12
  %1869 = load i32, ptr %1851, align 4, !tbaa !5
  %1870 = call ptr @strerror(i32 noundef %1869) #12
  %1871 = load i32, ptr %1851, align 4, !tbaa !5
  %1872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1863, ptr noundef nonnull %.str.5.sink2131, i32 noundef %1864, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %1866, ptr noundef %1868, ptr noundef %1870, i32 noundef %1871) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1873:                                             ; preds = %1844
  %1874 = add nsw i32 %1845, 2
  store i32 %1874, ptr @test_count, align 4, !tbaa !5
  %1875 = call ptr @s2n_strerror_debug(i32 noundef 335544384, ptr noundef nonnull @.str.4) #12
  %1876 = icmp eq ptr %1875, null
  br i1 %1876, label %1877, label %1900

1877:                                             ; preds = %1873
  %1878 = tail call ptr @__errno_location() #13
  %1879 = load i32, ptr %1878, align 4, !tbaa !5
  %1880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1881 = call i32 @s2n_print_stacktrace(ptr noundef %1880) #12
  %1882 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1883 = trunc nuw i8 %1882 to i1
  br i1 %1883, label %1884, label %1888

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

1888:                                             ; preds = %1884, %1877
  br label %1889

1889:                                             ; preds = %1884, %1888
  %.str.5.sink2140 = phi ptr [ @.str.5, %1888 ], [ @.str.2, %1884 ]
  store i32 %1879, ptr %1878, align 4, !tbaa !5
  %1890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1891 = load i32, ptr @test_count, align 4, !tbaa !5
  %1892 = load i32, ptr %1847, align 4, !tbaa !5
  %1893 = call ptr @s2n_strerror(i32 noundef %1892, ptr noundef nonnull @.str.4) #12
  %1894 = load i32, ptr %1847, align 4, !tbaa !5
  %1895 = call ptr @s2n_strerror_debug(i32 noundef %1894, ptr noundef nonnull @.str.4) #12
  %1896 = load i32, ptr %1878, align 4, !tbaa !5
  %1897 = call ptr @strerror(i32 noundef %1896) #12
  %1898 = load i32, ptr %1878, align 4, !tbaa !5
  %1899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1890, ptr noundef nonnull %.str.5.sink2140, i32 noundef %1891, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %1893, ptr noundef %1895, ptr noundef %1897, i32 noundef %1898) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1900:                                             ; preds = %1873
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  %1901 = tail call ptr @__errno_location() #13
  store i32 0, ptr %1901, align 4, !tbaa !5
  %1902 = load i32, ptr @test_count, align 4, !tbaa !5
  %1903 = add nsw i32 %1902, 1
  store i32 %1903, ptr @test_count, align 4, !tbaa !5
  %1904 = load ptr, ptr %14, align 8, !tbaa !9
  %1905 = call i32 @s2n_connection_free(ptr noundef %1904) #12
  %1906 = icmp eq i32 %1905, -1
  br i1 %1906, label %1907, label %1929

1907:                                             ; preds = %1900
  %1908 = load i32, ptr %1901, align 4, !tbaa !5
  %1909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1910 = call i32 @s2n_print_stacktrace(ptr noundef %1909) #12
  %1911 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1912 = trunc nuw i8 %1911 to i1
  br i1 %1912, label %1913, label %1917

1913:                                             ; preds = %1907
  %1914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1915 = call i32 @fileno(ptr noundef %1914) #12
  %1916 = call i32 @isatty(i32 noundef %1915) #12
  %.not1428 = icmp eq i32 %1916, 0
  br i1 %.not1428, label %1917, label %1918

1917:                                             ; preds = %1913, %1907
  br label %1918

1918:                                             ; preds = %1913, %1917
  %.str.5.sink2149 = phi ptr [ @.str.5, %1917 ], [ @.str.2, %1913 ]
  store i32 %1908, ptr %1901, align 4, !tbaa !5
  %1919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1920 = load i32, ptr @test_count, align 4, !tbaa !5
  %1921 = load i32, ptr %1847, align 4, !tbaa !5
  %1922 = call ptr @s2n_strerror(i32 noundef %1921, ptr noundef nonnull @.str.4) #12
  %1923 = load i32, ptr %1847, align 4, !tbaa !5
  %1924 = call ptr @s2n_strerror_debug(i32 noundef %1923, ptr noundef nonnull @.str.4) #12
  %1925 = load i32, ptr %1901, align 4, !tbaa !5
  %1926 = call ptr @strerror(i32 noundef %1925) #12
  %1927 = load i32, ptr %1901, align 4, !tbaa !5
  %1928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1919, ptr noundef nonnull %.str.5.sink2149, i32 noundef %1920, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 165, ptr noundef %1922, ptr noundef %1924, ptr noundef %1926, i32 noundef %1927) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1929:                                             ; preds = %1900
  %1930 = load i32, ptr @test_count, align 4, !tbaa !5
  %1931 = add nsw i32 %1930, 1
  store i32 %1931, ptr @test_count, align 4, !tbaa !5
  %1932 = load ptr, ptr %15, align 8, !tbaa !9
  %1933 = call i32 @s2n_connection_free(ptr noundef %1932) #12
  %1934 = icmp eq i32 %1933, -1
  br i1 %1934, label %1935, label %1957

1935:                                             ; preds = %1929
  %1936 = load i32, ptr %1901, align 4, !tbaa !5
  %1937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1938 = call i32 @s2n_print_stacktrace(ptr noundef %1937) #12
  %1939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1940 = trunc nuw i8 %1939 to i1
  br i1 %1940, label %1941, label %1945

1941:                                             ; preds = %1935
  %1942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1943 = call i32 @fileno(ptr noundef %1942) #12
  %1944 = call i32 @isatty(i32 noundef %1943) #12
  %.not1427 = icmp eq i32 %1944, 0
  br i1 %.not1427, label %1945, label %1946

1945:                                             ; preds = %1941, %1935
  br label %1946

1946:                                             ; preds = %1941, %1945
  %.str.5.sink2158 = phi ptr [ @.str.5, %1945 ], [ @.str.2, %1941 ]
  store i32 %1936, ptr %1901, align 4, !tbaa !5
  %1947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1948 = load i32, ptr @test_count, align 4, !tbaa !5
  %1949 = load i32, ptr %1847, align 4, !tbaa !5
  %1950 = call ptr @s2n_strerror(i32 noundef %1949, ptr noundef nonnull @.str.4) #12
  %1951 = load i32, ptr %1847, align 4, !tbaa !5
  %1952 = call ptr @s2n_strerror_debug(i32 noundef %1951, ptr noundef nonnull @.str.4) #12
  %1953 = load i32, ptr %1901, align 4, !tbaa !5
  %1954 = call ptr @strerror(i32 noundef %1953) #12
  %1955 = load i32, ptr %1901, align 4, !tbaa !5
  %1956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1947, ptr noundef nonnull %.str.5.sink2158, i32 noundef %1948, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 166, ptr noundef %1950, ptr noundef %1952, ptr noundef %1954, i32 noundef %1955) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1957:                                             ; preds = %1929
  %1958 = call i32 @s2n_io_pair_close(ptr noundef nonnull %16) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #12
  store ptr null, ptr %17, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #12
  store ptr null, ptr %18, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #12
  store i64 0, ptr %19, align 8
  %1959 = load i32, ptr @test_count, align 4, !tbaa !5
  %1960 = add nsw i32 %1959, 1
  store i32 %1960, ptr @test_count, align 4, !tbaa !5
  %1961 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %17, ptr noundef nonnull %18, ptr noundef nonnull %19)
  %1962 = call zeroext i1 @s2n_result_is_ok(i32 %1961)
  br i1 %1962, label %1985, label %1963

1963:                                             ; preds = %1957
  %1964 = load i32, ptr %1901, 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
  %.not1028 = icmp eq i32 %1972, 0
  br i1 %.not1028, label %1973, label %1974

1973:                                             ; preds = %1969, %1963
  br label %1974

1974:                                             ; preds = %1969, %1973
  %.str.5.sink2167 = phi ptr [ @.str.5, %1973 ], [ @.str.2, %1969 ]
  store i32 %1964, ptr %1901, 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 %1847, align 4, !tbaa !5
  %1978 = call ptr @s2n_strerror(i32 noundef %1977, ptr noundef nonnull @.str.4) #12
  %1979 = load i32, ptr %1847, align 4, !tbaa !5
  %1980 = call ptr @s2n_strerror_debug(i32 noundef %1979, ptr noundef nonnull @.str.4) #12
  %1981 = load i32, ptr %1901, align 4, !tbaa !5
  %1982 = call ptr @strerror(i32 noundef %1981) #12
  %1983 = load i32, ptr %1901, align 4, !tbaa !5
  %1984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1975, ptr noundef nonnull %.str.5.sink2167, i32 noundef %1976, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 173, ptr noundef %1978, ptr noundef %1980, ptr noundef %1982, i32 noundef %1983) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1985:                                             ; preds = %1957
  %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 ptr, ptr %17, align 8, !tbaa !9
  %1989 = call i32 @s2n_connection_append_psk(ptr noundef %1988, ptr noundef %243) #12
  %1990 = icmp eq i32 %1989, -1
  br i1 %1990, label %1991, label %2013

1991:                                             ; preds = %1985
  %1992 = load i32, ptr %1901, align 4, !tbaa !5
  %1993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1994 = call i32 @s2n_print_stacktrace(ptr noundef %1993) #12
  %1995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1996 = trunc nuw i8 %1995 to i1
  br i1 %1996, label %1997, label %2001

1997:                                             ; preds = %1991
  %1998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1999 = call i32 @fileno(ptr noundef %1998) #12
  %2000 = call i32 @isatty(i32 noundef %1999) #12
  %.not1426 = icmp eq i32 %2000, 0
  br i1 %.not1426, label %2001, label %2002

2001:                                             ; preds = %1997, %1991
  br label %2002

2002:                                             ; preds = %1997, %2001
  %.str.5.sink2176 = phi ptr [ @.str.5, %2001 ], [ @.str.2, %1997 ]
  store i32 %1992, ptr %1901, align 4, !tbaa !5
  %2003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2004 = load i32, ptr @test_count, align 4, !tbaa !5
  %2005 = load i32, ptr %1847, align 4, !tbaa !5
  %2006 = call ptr @s2n_strerror(i32 noundef %2005, ptr noundef nonnull @.str.4) #12
  %2007 = load i32, ptr %1847, align 4, !tbaa !5
  %2008 = call ptr @s2n_strerror_debug(i32 noundef %2007, ptr noundef nonnull @.str.4) #12
  %2009 = load i32, ptr %1901, align 4, !tbaa !5
  %2010 = call ptr @strerror(i32 noundef %2009) #12
  %2011 = load i32, ptr %1901, align 4, !tbaa !5
  %2012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2003, ptr noundef nonnull %.str.5.sink2176, i32 noundef %2004, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 175, ptr noundef %2006, ptr noundef %2008, ptr noundef %2010, i32 noundef %2011) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2013:                                             ; preds = %1985
  %2014 = load i32, ptr @test_count, align 4, !tbaa !5
  %2015 = add nsw i32 %2014, 1
  store i32 %2015, ptr @test_count, align 4, !tbaa !5
  %2016 = load ptr, ptr %18, align 8, !tbaa !9
  %2017 = call i32 @s2n_connection_append_psk(ptr noundef %2016, ptr noundef %243) #12
  %2018 = icmp eq i32 %2017, -1
  br i1 %2018, label %2019, label %2041

2019:                                             ; preds = %2013
  %2020 = load i32, ptr %1901, align 4, !tbaa !5
  %2021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2022 = call i32 @s2n_print_stacktrace(ptr noundef %2021) #12
  %2023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2024 = trunc nuw i8 %2023 to i1
  br i1 %2024, label %2025, label %2029

2025:                                             ; preds = %2019
  %2026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2027 = call i32 @fileno(ptr noundef %2026) #12
  %2028 = call i32 @isatty(i32 noundef %2027) #12
  %.not1425 = icmp eq i32 %2028, 0
  br i1 %.not1425, label %2029, label %2030

2029:                                             ; preds = %2025, %2019
  br label %2030

2030:                                             ; preds = %2025, %2029
  %.str.5.sink2185 = phi ptr [ @.str.5, %2029 ], [ @.str.2, %2025 ]
  store i32 %2020, ptr %1901, align 4, !tbaa !5
  %2031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2032 = load i32, ptr @test_count, align 4, !tbaa !5
  %2033 = load i32, ptr %1847, align 4, !tbaa !5
  %2034 = call ptr @s2n_strerror(i32 noundef %2033, ptr noundef nonnull @.str.4) #12
  %2035 = load i32, ptr %1847, align 4, !tbaa !5
  %2036 = call ptr @s2n_strerror_debug(i32 noundef %2035, ptr noundef nonnull @.str.4) #12
  %2037 = load i32, ptr %1901, align 4, !tbaa !5
  %2038 = call ptr @strerror(i32 noundef %2037) #12
  %2039 = load i32, ptr %1901, align 4, !tbaa !5
  %2040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2031, ptr noundef nonnull %.str.5.sink2185, i32 noundef %2032, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 176, ptr noundef %2034, ptr noundef %2036, ptr noundef %2038, i32 noundef %2039) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2041:                                             ; preds = %2013
  %2042 = load i32, ptr @test_count, align 4, !tbaa !5
  %2043 = add nsw i32 %2042, 1
  store i32 %2043, ptr @test_count, align 4, !tbaa !5
  %2044 = load ptr, ptr %17, align 8, !tbaa !9
  %2045 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %2044) #12
  %2046 = icmp eq i32 %2045, -1
  br i1 %2046, label %2047, label %2069

2047:                                             ; preds = %2041
  %2048 = load i32, ptr %1901, 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
  %.not1424 = icmp eq i32 %2056, 0
  br i1 %.not1424, label %2057, label %2058

2057:                                             ; preds = %2053, %2047
  br label %2058

2058:                                             ; preds = %2053, %2057
  %.str.5.sink2194 = phi ptr [ @.str.5, %2057 ], [ @.str.2, %2053 ]
  store i32 %2048, ptr %1901, 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 %1847, align 4, !tbaa !5
  %2062 = call ptr @s2n_strerror(i32 noundef %2061, ptr noundef nonnull @.str.4) #12
  %2063 = load i32, ptr %1847, align 4, !tbaa !5
  %2064 = call ptr @s2n_strerror_debug(i32 noundef %2063, ptr noundef nonnull @.str.4) #12
  %2065 = load i32, ptr %1901, align 4, !tbaa !5
  %2066 = call ptr @strerror(i32 noundef %2065) #12
  %2067 = load i32, ptr %1901, align 4, !tbaa !5
  %2068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2059, ptr noundef nonnull %.str.5.sink2194, i32 noundef %2060, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 177, ptr noundef %2062, ptr noundef %2064, ptr noundef %2066, i32 noundef %2067) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2069:                                             ; preds = %2041
  %2070 = load i32, ptr @test_count, align 4, !tbaa !5
  %2071 = add nsw i32 %2070, 1
  store i32 %2071, ptr @test_count, align 4, !tbaa !5
  %2072 = load ptr, ptr %18, align 8, !tbaa !9
  %2073 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %2072) #12
  %2074 = icmp eq i32 %2073, -1
  br i1 %2074, label %2075, label %2097

2075:                                             ; preds = %2069
  %2076 = load i32, ptr %1901, align 4, !tbaa !5
  %2077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2078 = call i32 @s2n_print_stacktrace(ptr noundef %2077) #12
  %2079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2080 = trunc nuw i8 %2079 to i1
  br i1 %2080, label %2081, label %2085

2081:                                             ; preds = %2075
  %2082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2083 = call i32 @fileno(ptr noundef %2082) #12
  %2084 = call i32 @isatty(i32 noundef %2083) #12
  %.not1423 = icmp eq i32 %2084, 0
  br i1 %.not1423, label %2085, label %2086

2085:                                             ; preds = %2081, %2075
  br label %2086

2086:                                             ; preds = %2081, %2085
  %.str.5.sink2203 = phi ptr [ @.str.5, %2085 ], [ @.str.2, %2081 ]
  store i32 %2076, ptr %1901, align 4, !tbaa !5
  %2087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2088 = load i32, ptr @test_count, align 4, !tbaa !5
  %2089 = load i32, ptr %1847, align 4, !tbaa !5
  %2090 = call ptr @s2n_strerror(i32 noundef %2089, ptr noundef nonnull @.str.4) #12
  %2091 = load i32, ptr %1847, align 4, !tbaa !5
  %2092 = call ptr @s2n_strerror_debug(i32 noundef %2091, ptr noundef nonnull @.str.4) #12
  %2093 = load i32, ptr %1901, align 4, !tbaa !5
  %2094 = call ptr @strerror(i32 noundef %2093) #12
  %2095 = load i32, ptr %1901, align 4, !tbaa !5
  %2096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2087, ptr noundef nonnull %.str.5.sink2203, i32 noundef %2088, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 178, ptr noundef %2090, ptr noundef %2092, ptr noundef %2094, i32 noundef %2095) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2097:                                             ; preds = %2069
  %2098 = load i32, ptr @test_count, align 4, !tbaa !5
  %2099 = add nsw i32 %2098, 1
  store i32 %2099, ptr @test_count, align 4, !tbaa !5
  %2100 = load ptr, ptr %18, align 8, !tbaa !9
  %2101 = load ptr, ptr %17, align 8, !tbaa !9
  %2102 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %2100, ptr noundef %2101, i32 noundef 19) #12
  %2103 = call zeroext i1 @s2n_result_is_ok(i32 %2102)
  br i1 %2103, label %2126, label %2104

2104:                                             ; preds = %2097
  %2105 = load i32, ptr %1901, align 4, !tbaa !5
  %2106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2107 = call i32 @s2n_print_stacktrace(ptr noundef %2106) #12
  %2108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2109 = trunc nuw i8 %2108 to i1
  br i1 %2109, label %2110, label %2114

2110:                                             ; preds = %2104
  %2111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2112 = call i32 @fileno(ptr noundef %2111) #12
  %2113 = call i32 @isatty(i32 noundef %2112) #12
  %.not1029 = icmp eq i32 %2113, 0
  br i1 %.not1029, label %2114, label %2115

2114:                                             ; preds = %2110, %2104
  br label %2115

2115:                                             ; preds = %2110, %2114
  %.str.5.sink2212 = phi ptr [ @.str.5, %2114 ], [ @.str.2, %2110 ]
  store i32 %2105, ptr %1901, align 4, !tbaa !5
  %2116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2117 = load i32, ptr @test_count, align 4, !tbaa !5
  %2118 = load i32, ptr %1847, align 4, !tbaa !5
  %2119 = call ptr @s2n_strerror(i32 noundef %2118, ptr noundef nonnull @.str.4) #12
  %2120 = load i32, ptr %1847, align 4, !tbaa !5
  %2121 = call ptr @s2n_strerror_debug(i32 noundef %2120, ptr noundef nonnull @.str.4) #12
  %2122 = load i32, ptr %1901, align 4, !tbaa !5
  %2123 = call ptr @strerror(i32 noundef %2122) #12
  %2124 = load i32, ptr %1901, align 4, !tbaa !5
  %2125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2116, ptr noundef nonnull %.str.5.sink2212, i32 noundef %2117, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 181, ptr noundef %2119, ptr noundef %2121, ptr noundef %2123, i32 noundef %2124) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2126:                                             ; preds = %2097
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #12
  store i32 0, ptr %20, align 4, !tbaa !5
  %.pre = load i32, ptr @test_count, align 4, !tbaa !5
  br label %2134

2127:                                             ; preds = %2215
  %2128 = add nuw nsw i64 %.010031477, 1
  %exitcond.not = icmp eq i64 %2128, 10
  br i1 %exitcond.not, label %2129, label %2134, !llvm.loop !15

2129:                                             ; preds = %2127
  %2130 = add nsw i32 %2216, 2
  store i32 %2130, ptr @test_count, align 4, !tbaa !5
  %2131 = load ptr, ptr %17, align 8, !tbaa !9
  %2132 = call i32 @s2n_connection_set_end_of_early_data(ptr noundef %2131) #12
  %2133 = icmp eq i32 %2132, -1
  br i1 %2133, label %2242, label %2264

2134:                                             ; preds = %2126, %2127
  %2135 = phi i32 [ %.pre, %2126 ], [ %2217, %2127 ]
  %.010031477 = phi i64 [ 0, %2126 ], [ %2128, %2127 ]
  %2136 = add nsw i32 %2135, 1
  store i32 %2136, ptr @test_count, align 4, !tbaa !5
  %2137 = load ptr, ptr %17, align 8, !tbaa !9
  %2138 = call i32 @s2n_negotiate(ptr noundef %2137, ptr noundef nonnull %20) #12
  %2139 = icmp eq i32 %2138, -1
  br i1 %2139, label %2162, label %2140

2140:                                             ; preds = %2134
  %2141 = load i32, ptr %1901, align 4, !tbaa !5
  %2142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2143 = call i32 @s2n_print_stacktrace(ptr noundef %2142) #12
  %2144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2145 = trunc nuw i8 %2144 to i1
  br i1 %2145, label %2146, label %2150

2146:                                             ; preds = %2140
  %2147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2148 = call i32 @fileno(ptr noundef %2147) #12
  %2149 = call i32 @isatty(i32 noundef %2148) #12
  %.not1419 = icmp eq i32 %2149, 0
  br i1 %.not1419, label %2150, label %2151

2150:                                             ; preds = %2146, %2140
  br label %2151

2151:                                             ; preds = %2146, %2150
  %.str.5.sink2221 = phi ptr [ @.str.5, %2150 ], [ @.str.2, %2146 ]
  store i32 %2141, ptr %1901, align 4, !tbaa !5
  %2152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2153 = load i32, ptr @test_count, align 4, !tbaa !5
  %2154 = load i32, ptr %1847, align 4, !tbaa !5
  %2155 = call ptr @s2n_strerror(i32 noundef %2154, ptr noundef nonnull @.str.4) #12
  %2156 = load i32, ptr %1847, align 4, !tbaa !5
  %2157 = call ptr @s2n_strerror_debug(i32 noundef %2156, ptr noundef nonnull @.str.4) #12
  %2158 = load i32, ptr %1901, align 4, !tbaa !5
  %2159 = call ptr @strerror(i32 noundef %2158) #12
  %2160 = load i32, ptr %1901, align 4, !tbaa !5
  %2161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2152, ptr noundef nonnull %.str.5.sink2221, i32 noundef %2153, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 186, ptr noundef %2155, ptr noundef %2157, ptr noundef %2159, i32 noundef %2160) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2162:                                             ; preds = %2134
  %2163 = load i32, ptr @test_count, align 4, !tbaa !5
  %2164 = add nsw i32 %2163, 1
  store i32 %2164, ptr @test_count, align 4, !tbaa !5
  %2165 = load i32, ptr %1847, align 4, !tbaa !5
  %2166 = icmp eq i32 %2165, 201326594
  br i1 %2166, label %2189, label %2167

2167:                                             ; preds = %2162
  %2168 = load i32, ptr %1901, align 4, !tbaa !5
  %2169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2170 = call i32 @s2n_print_stacktrace(ptr noundef %2169) #12
  %2171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2172 = trunc nuw i8 %2171 to i1
  br i1 %2172, label %2173, label %2177

2173:                                             ; preds = %2167
  %2174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2175 = call i32 @fileno(ptr noundef %2174) #12
  %2176 = call i32 @isatty(i32 noundef %2175) #12
  %.not1420 = icmp eq i32 %2176, 0
  br i1 %.not1420, label %2177, label %2178

2177:                                             ; preds = %2173, %2167
  br label %2178

2178:                                             ; preds = %2173, %2177
  %.str.5.sink2230 = phi ptr [ @.str.5, %2177 ], [ @.str.2, %2173 ]
  store i32 %2168, ptr %1901, align 4, !tbaa !5
  %2179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2180 = load i32, ptr @test_count, align 4, !tbaa !5
  %2181 = load i32, ptr %1847, align 4, !tbaa !5
  %2182 = call ptr @s2n_strerror(i32 noundef %2181, ptr noundef nonnull @.str.4) #12
  %2183 = load i32, ptr %1847, align 4, !tbaa !5
  %2184 = call ptr @s2n_strerror_debug(i32 noundef %2183, ptr noundef nonnull @.str.4) #12
  %2185 = load i32, ptr %1901, align 4, !tbaa !5
  %2186 = call ptr @strerror(i32 noundef %2185) #12
  %2187 = load i32, ptr %1901, align 4, !tbaa !5
  %2188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2179, ptr noundef nonnull %.str.5.sink2230, i32 noundef %2180, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 186, ptr noundef %2182, ptr noundef %2184, ptr noundef %2186, i32 noundef %2187) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2189:                                             ; preds = %2162
  %2190 = add nsw i32 %2163, 2
  store i32 %2190, ptr @test_count, align 4, !tbaa !5
  %2191 = call ptr @s2n_strerror_debug(i32 noundef 201326594, ptr noundef nonnull @.str.4) #12
  %2192 = icmp eq ptr %2191, null
  br i1 %2192, label %2193, label %2215

2193:                                             ; preds = %2189
  %2194 = load i32, ptr %1901, align 4, !tbaa !5
  %2195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2196 = call i32 @s2n_print_stacktrace(ptr noundef %2195) #12
  %2197 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2198 = trunc nuw i8 %2197 to i1
  br i1 %2198, label %2199, label %2203

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

2203:                                             ; preds = %2199, %2193
  br label %2204

2204:                                             ; preds = %2199, %2203
  %.str.5.sink2239 = phi ptr [ @.str.5, %2203 ], [ @.str.2, %2199 ]
  store i32 %2194, ptr %1901, align 4, !tbaa !5
  %2205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2206 = load i32, ptr @test_count, align 4, !tbaa !5
  %2207 = load i32, ptr %1847, align 4, !tbaa !5
  %2208 = call ptr @s2n_strerror(i32 noundef %2207, ptr noundef nonnull @.str.4) #12
  %2209 = load i32, ptr %1847, align 4, !tbaa !5
  %2210 = call ptr @s2n_strerror_debug(i32 noundef %2209, ptr noundef nonnull @.str.4) #12
  %2211 = load i32, ptr %1901, align 4, !tbaa !5
  %2212 = call ptr @strerror(i32 noundef %2211) #12
  %2213 = load i32, ptr %1901, align 4, !tbaa !5
  %2214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2205, ptr noundef nonnull %.str.5.sink2239, i32 noundef %2206, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 186, ptr noundef %2208, ptr noundef %2210, ptr noundef %2212, i32 noundef %2213) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2215:                                             ; preds = %2189
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %2216 = load i32, ptr @test_count, align 4, !tbaa !5
  %2217 = add nsw i32 %2216, 1
  store i32 %2217, ptr @test_count, align 4, !tbaa !5
  %2218 = load i32, ptr %20, align 4, !tbaa !5
  %2219 = icmp eq i32 %2218, 4
  br i1 %2219, label %2127, label %2220

2220:                                             ; preds = %2215
  %2221 = load i32, ptr %1901, align 4, !tbaa !5
  %2222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2223 = call i32 @s2n_print_stacktrace(ptr noundef %2222) #12
  %2224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2225 = trunc nuw i8 %2224 to i1
  br i1 %2225, label %2226, label %2230

2226:                                             ; preds = %2220
  %2227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2228 = call i32 @fileno(ptr noundef %2227) #12
  %2229 = call i32 @isatty(i32 noundef %2228) #12
  %.not1421 = icmp eq i32 %2229, 0
  br i1 %.not1421, label %2230, label %2231

2230:                                             ; preds = %2226, %2220
  br label %2231

2231:                                             ; preds = %2226, %2230
  %.str.5.sink2248 = phi ptr [ @.str.5, %2230 ], [ @.str.2, %2226 ]
  store i32 %2221, ptr %1901, align 4, !tbaa !5
  %2232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2233 = load i32, ptr @test_count, align 4, !tbaa !5
  %2234 = load i32, ptr %1847, align 4, !tbaa !5
  %2235 = call ptr @s2n_strerror(i32 noundef %2234, ptr noundef nonnull @.str.4) #12
  %2236 = load i32, ptr %1847, align 4, !tbaa !5
  %2237 = call ptr @s2n_strerror_debug(i32 noundef %2236, ptr noundef nonnull @.str.4) #12
  %2238 = load i32, ptr %1901, align 4, !tbaa !5
  %2239 = call ptr @strerror(i32 noundef %2238) #12
  %2240 = load i32, ptr %1901, align 4, !tbaa !5
  %2241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2232, ptr noundef nonnull %.str.5.sink2248, i32 noundef %2233, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 187, ptr noundef %2235, ptr noundef %2237, ptr noundef %2239, i32 noundef %2240) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2242:                                             ; preds = %2129
  %2243 = load i32, ptr %1901, align 4, !tbaa !5
  %2244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2245 = call i32 @s2n_print_stacktrace(ptr noundef %2244) #12
  %2246 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2247 = trunc nuw i8 %2246 to i1
  br i1 %2247, label %2248, label %2252

2248:                                             ; preds = %2242
  %2249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2250 = call i32 @fileno(ptr noundef %2249) #12
  %2251 = call i32 @isatty(i32 noundef %2250) #12
  %.not1418 = icmp eq i32 %2251, 0
  br i1 %.not1418, label %2252, label %2253

2252:                                             ; preds = %2248, %2242
  br label %2253

2253:                                             ; preds = %2248, %2252
  %.str.5.sink2257 = phi ptr [ @.str.5, %2252 ], [ @.str.2, %2248 ]
  store i32 %2243, ptr %1901, align 4, !tbaa !5
  %2254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2255 = load i32, ptr @test_count, align 4, !tbaa !5
  %2256 = load i32, ptr %1847, align 4, !tbaa !5
  %2257 = call ptr @s2n_strerror(i32 noundef %2256, ptr noundef nonnull @.str.4) #12
  %2258 = load i32, ptr %1847, align 4, !tbaa !5
  %2259 = call ptr @s2n_strerror_debug(i32 noundef %2258, ptr noundef nonnull @.str.4) #12
  %2260 = load i32, ptr %1901, align 4, !tbaa !5
  %2261 = call ptr @strerror(i32 noundef %2260) #12
  %2262 = load i32, ptr %1901, align 4, !tbaa !5
  %2263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2254, ptr noundef nonnull %.str.5.sink2257, i32 noundef %2255, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 190, ptr noundef %2257, ptr noundef %2259, ptr noundef %2261, i32 noundef %2262) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2264:                                             ; preds = %2129
  %2265 = load i32, ptr @test_count, align 4, !tbaa !5
  %2266 = add nsw i32 %2265, 1
  store i32 %2266, ptr @test_count, align 4, !tbaa !5
  %2267 = load ptr, ptr %18, align 8, !tbaa !9
  %2268 = load ptr, ptr %17, align 8, !tbaa !9
  %2269 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2267, ptr noundef %2268) #12
  %2270 = icmp eq i32 %2269, -1
  br i1 %2270, label %2271, label %2293

2271:                                             ; preds = %2264
  %2272 = load i32, ptr %1901, align 4, !tbaa !5
  %2273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2274 = call i32 @s2n_print_stacktrace(ptr noundef %2273) #12
  %2275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2276 = trunc nuw i8 %2275 to i1
  br i1 %2276, label %2277, label %2281

2277:                                             ; preds = %2271
  %2278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2279 = call i32 @fileno(ptr noundef %2278) #12
  %2280 = call i32 @isatty(i32 noundef %2279) #12
  %.not1417 = icmp eq i32 %2280, 0
  br i1 %.not1417, label %2281, label %2282

2281:                                             ; preds = %2277, %2271
  br label %2282

2282:                                             ; preds = %2277, %2281
  %.str.5.sink2266 = phi ptr [ @.str.5, %2281 ], [ @.str.2, %2277 ]
  store i32 %2272, ptr %1901, align 4, !tbaa !5
  %2283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2284 = load i32, ptr @test_count, align 4, !tbaa !5
  %2285 = load i32, ptr %1847, align 4, !tbaa !5
  %2286 = call ptr @s2n_strerror(i32 noundef %2285, ptr noundef nonnull @.str.4) #12
  %2287 = load i32, ptr %1847, align 4, !tbaa !5
  %2288 = call ptr @s2n_strerror_debug(i32 noundef %2287, ptr noundef nonnull @.str.4) #12
  %2289 = load i32, ptr %1901, align 4, !tbaa !5
  %2290 = call ptr @strerror(i32 noundef %2289) #12
  %2291 = load i32, ptr %1901, align 4, !tbaa !5
  %2292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2283, ptr noundef nonnull %.str.5.sink2266, i32 noundef %2284, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 191, ptr noundef %2286, ptr noundef %2288, ptr noundef %2290, i32 noundef %2291) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2293:                                             ; preds = %2264
  %2294 = load i32, ptr @test_count, align 4, !tbaa !5
  %2295 = add nsw i32 %2294, 1
  store i32 %2295, ptr @test_count, align 4, !tbaa !5
  %2296 = load ptr, ptr %17, align 8, !tbaa !9
  %2297 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %2296, i32 noundef 64) #12
  br i1 %2297, label %2320, label %2298

2298:                                             ; preds = %2293
  %2299 = load i32, ptr %1901, align 4, !tbaa !5
  %2300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2301 = call i32 @s2n_print_stacktrace(ptr noundef %2300) #12
  %2302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2303 = trunc nuw i8 %2302 to i1
  br i1 %2303, label %2304, label %2308

2304:                                             ; preds = %2298
  %2305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2306 = call i32 @fileno(ptr noundef %2305) #12
  %2307 = call i32 @isatty(i32 noundef %2306) #12
  %.not1030 = icmp eq i32 %2307, 0
  br i1 %.not1030, label %2308, label %2309

2308:                                             ; preds = %2304, %2298
  br label %2309

2309:                                             ; preds = %2304, %2308
  %.str.5.sink2275 = phi ptr [ @.str.5, %2308 ], [ @.str.2, %2304 ]
  store i32 %2299, ptr %1901, align 4, !tbaa !5
  %2310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2311 = load i32, ptr @test_count, align 4, !tbaa !5
  %2312 = load i32, ptr %1847, align 4, !tbaa !5
  %2313 = call ptr @s2n_strerror(i32 noundef %2312, ptr noundef nonnull @.str.4) #12
  %2314 = load i32, ptr %1847, align 4, !tbaa !5
  %2315 = call ptr @s2n_strerror_debug(i32 noundef %2314, ptr noundef nonnull @.str.4) #12
  %2316 = load i32, ptr %1901, align 4, !tbaa !5
  %2317 = call ptr @strerror(i32 noundef %2316) #12
  %2318 = load i32, ptr %1901, align 4, !tbaa !5
  %2319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2310, ptr noundef nonnull %.str.5.sink2275, i32 noundef %2311, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 193, ptr noundef %2313, ptr noundef %2315, ptr noundef %2317, i32 noundef %2318) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2320:                                             ; preds = %2293
  %2321 = load i32, ptr @test_count, align 4, !tbaa !5
  %2322 = add nsw i32 %2321, 1
  store i32 %2322, ptr @test_count, align 4, !tbaa !5
  %2323 = load ptr, ptr %18, align 8, !tbaa !9
  %2324 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %2323, i32 noundef 64) #12
  br i1 %2324, label %2347, label %2325

2325:                                             ; preds = %2320
  %2326 = load i32, ptr %1901, align 4, !tbaa !5
  %2327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2328 = call i32 @s2n_print_stacktrace(ptr noundef %2327) #12
  %2329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2330 = trunc nuw i8 %2329 to i1
  br i1 %2330, label %2331, label %2335

2331:                                             ; preds = %2325
  %2332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2333 = call i32 @fileno(ptr noundef %2332) #12
  %2334 = call i32 @isatty(i32 noundef %2333) #12
  %.not1031 = icmp eq i32 %2334, 0
  br i1 %.not1031, label %2335, label %2336

2335:                                             ; preds = %2331, %2325
  br label %2336

2336:                                             ; preds = %2331, %2335
  %.str.5.sink2284 = phi ptr [ @.str.5, %2335 ], [ @.str.2, %2331 ]
  store i32 %2326, ptr %1901, align 4, !tbaa !5
  %2337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2338 = load i32, ptr @test_count, align 4, !tbaa !5
  %2339 = load i32, ptr %1847, align 4, !tbaa !5
  %2340 = call ptr @s2n_strerror(i32 noundef %2339, ptr noundef nonnull @.str.4) #12
  %2341 = load i32, ptr %1847, align 4, !tbaa !5
  %2342 = call ptr @s2n_strerror_debug(i32 noundef %2341, ptr noundef nonnull @.str.4) #12
  %2343 = load i32, ptr %1901, align 4, !tbaa !5
  %2344 = call ptr @strerror(i32 noundef %2343) #12
  %2345 = load i32, ptr %1901, align 4, !tbaa !5
  %2346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2337, ptr noundef nonnull %.str.5.sink2284, i32 noundef %2338, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %2340, ptr noundef %2342, ptr noundef %2344, i32 noundef %2345) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2347:                                             ; preds = %2320
  %2348 = load i32, ptr @test_count, align 4, !tbaa !5
  %2349 = add nsw i32 %2348, 1
  store i32 %2349, ptr @test_count, align 4, !tbaa !5
  %2350 = load ptr, ptr %17, align 8, !tbaa !9
  %2351 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %2350, i32 noundef 128) #12
  br i1 %2351, label %2374, label %2352

2352:                                             ; preds = %2347
  %2353 = load i32, ptr %1901, align 4, !tbaa !5
  %2354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2355 = call i32 @s2n_print_stacktrace(ptr noundef %2354) #12
  %2356 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2357 = trunc nuw i8 %2356 to i1
  br i1 %2357, label %2358, label %2362

2358:                                             ; preds = %2352
  %2359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2360 = call i32 @fileno(ptr noundef %2359) #12
  %2361 = call i32 @isatty(i32 noundef %2360) #12
  %.not1032 = icmp eq i32 %2361, 0
  br i1 %.not1032, label %2362, label %2363

2362:                                             ; preds = %2358, %2352
  br label %2363

2363:                                             ; preds = %2358, %2362
  %.str.5.sink2293 = phi ptr [ @.str.5, %2362 ], [ @.str.2, %2358 ]
  store i32 %2353, ptr %1901, align 4, !tbaa !5
  %2364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2365 = load i32, ptr @test_count, align 4, !tbaa !5
  %2366 = load i32, ptr %1847, align 4, !tbaa !5
  %2367 = call ptr @s2n_strerror(i32 noundef %2366, ptr noundef nonnull @.str.4) #12
  %2368 = load i32, ptr %1847, align 4, !tbaa !5
  %2369 = call ptr @s2n_strerror_debug(i32 noundef %2368, ptr noundef nonnull @.str.4) #12
  %2370 = load i32, ptr %1901, align 4, !tbaa !5
  %2371 = call ptr @strerror(i32 noundef %2370) #12
  %2372 = load i32, ptr %1901, align 4, !tbaa !5
  %2373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2364, ptr noundef nonnull %.str.5.sink2293, i32 noundef %2365, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 195, ptr noundef %2367, ptr noundef %2369, ptr noundef %2371, i32 noundef %2372) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2374:                                             ; preds = %2347
  %2375 = load i32, ptr @test_count, align 4, !tbaa !5
  %2376 = add nsw i32 %2375, 1
  store i32 %2376, ptr @test_count, align 4, !tbaa !5
  %2377 = load ptr, ptr %18, align 8, !tbaa !9
  %2378 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %2377, i32 noundef 128) #12
  br i1 %2378, label %2401, label %2379

2379:                                             ; preds = %2374
  %2380 = load i32, ptr %1901, align 4, !tbaa !5
  %2381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2382 = call i32 @s2n_print_stacktrace(ptr noundef %2381) #12
  %2383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2384 = trunc nuw i8 %2383 to i1
  br i1 %2384, label %2385, label %2389

2385:                                             ; preds = %2379
  %2386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2387 = call i32 @fileno(ptr noundef %2386) #12
  %2388 = call i32 @isatty(i32 noundef %2387) #12
  %.not1033 = icmp eq i32 %2388, 0
  br i1 %.not1033, label %2389, label %2390

2389:                                             ; preds = %2385, %2379
  br label %2390

2390:                                             ; preds = %2385, %2389
  %.str.5.sink2302 = phi ptr [ @.str.5, %2389 ], [ @.str.2, %2385 ]
  store i32 %2380, ptr %1901, align 4, !tbaa !5
  %2391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2392 = load i32, ptr @test_count, align 4, !tbaa !5
  %2393 = load i32, ptr %1847, align 4, !tbaa !5
  %2394 = call ptr @s2n_strerror(i32 noundef %2393, ptr noundef nonnull @.str.4) #12
  %2395 = load i32, ptr %1847, align 4, !tbaa !5
  %2396 = call ptr @s2n_strerror_debug(i32 noundef %2395, ptr noundef nonnull @.str.4) #12
  %2397 = load i32, ptr %1901, align 4, !tbaa !5
  %2398 = call ptr @strerror(i32 noundef %2397) #12
  %2399 = load i32, ptr %1901, align 4, !tbaa !5
  %2400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2391, ptr noundef nonnull %.str.5.sink2302, i32 noundef %2392, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 196, ptr noundef %2394, ptr noundef %2396, ptr noundef %2398, i32 noundef %2399) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2401:                                             ; preds = %2374
  %2402 = load i32, ptr @test_count, align 4, !tbaa !5
  %2403 = add nsw i32 %2402, 1
  store i32 %2403, ptr @test_count, align 4, !tbaa !5
  %2404 = load ptr, ptr %17, align 8, !tbaa !9
  %2405 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %2404, i32 noundef 2) #12
  br i1 %2405, label %2406, label %2428

2406:                                             ; preds = %2401
  %2407 = load i32, ptr %1901, align 4, !tbaa !5
  %2408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2409 = call i32 @s2n_print_stacktrace(ptr noundef %2408) #12
  %2410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2411 = trunc nuw i8 %2410 to i1
  br i1 %2411, label %2412, label %2416

2412:                                             ; preds = %2406
  %2413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2414 = call i32 @fileno(ptr noundef %2413) #12
  %2415 = call i32 @isatty(i32 noundef %2414) #12
  %.not1416 = icmp eq i32 %2415, 0
  br i1 %.not1416, label %2416, label %2417

2416:                                             ; preds = %2412, %2406
  br label %2417

2417:                                             ; preds = %2412, %2416
  %.str.5.sink2311 = phi ptr [ @.str.5, %2416 ], [ @.str.2, %2412 ]
  store i32 %2407, ptr %1901, align 4, !tbaa !5
  %2418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2419 = load i32, ptr @test_count, align 4, !tbaa !5
  %2420 = load i32, ptr %1847, align 4, !tbaa !5
  %2421 = call ptr @s2n_strerror(i32 noundef %2420, ptr noundef nonnull @.str.4) #12
  %2422 = load i32, ptr %1847, align 4, !tbaa !5
  %2423 = call ptr @s2n_strerror_debug(i32 noundef %2422, ptr noundef nonnull @.str.4) #12
  %2424 = load i32, ptr %1901, align 4, !tbaa !5
  %2425 = call ptr @strerror(i32 noundef %2424) #12
  %2426 = load i32, ptr %1901, align 4, !tbaa !5
  %2427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2418, ptr noundef nonnull %.str.5.sink2311, i32 noundef %2419, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 197, ptr noundef %2421, ptr noundef %2423, ptr noundef %2425, i32 noundef %2426) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2428:                                             ; preds = %2401
  %2429 = load i32, ptr @test_count, align 4, !tbaa !5
  %2430 = add nsw i32 %2429, 1
  store i32 %2430, ptr @test_count, align 4, !tbaa !5
  %2431 = load ptr, ptr %18, align 8, !tbaa !9
  %2432 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %2431, i32 noundef 2) #12
  br i1 %2432, label %2433, label %2455

2433:                                             ; preds = %2428
  %2434 = load i32, ptr %1901, align 4, !tbaa !5
  %2435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2436 = call i32 @s2n_print_stacktrace(ptr noundef %2435) #12
  %2437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2438 = trunc nuw i8 %2437 to i1
  br i1 %2438, label %2439, label %2443

2439:                                             ; preds = %2433
  %2440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2441 = call i32 @fileno(ptr noundef %2440) #12
  %2442 = call i32 @isatty(i32 noundef %2441) #12
  %.not1415 = icmp eq i32 %2442, 0
  br i1 %.not1415, label %2443, label %2444

2443:                                             ; preds = %2439, %2433
  br label %2444

2444:                                             ; preds = %2439, %2443
  %.str.5.sink2320 = phi ptr [ @.str.5, %2443 ], [ @.str.2, %2439 ]
  store i32 %2434, ptr %1901, align 4, !tbaa !5
  %2445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2446 = load i32, ptr @test_count, align 4, !tbaa !5
  %2447 = load i32, ptr %1847, align 4, !tbaa !5
  %2448 = call ptr @s2n_strerror(i32 noundef %2447, ptr noundef nonnull @.str.4) #12
  %2449 = load i32, ptr %1847, align 4, !tbaa !5
  %2450 = call ptr @s2n_strerror_debug(i32 noundef %2449, ptr noundef nonnull @.str.4) #12
  %2451 = load i32, ptr %1901, align 4, !tbaa !5
  %2452 = call ptr @strerror(i32 noundef %2451) #12
  %2453 = load i32, ptr %1901, align 4, !tbaa !5
  %2454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2445, ptr noundef nonnull %.str.5.sink2320, i32 noundef %2446, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 198, ptr noundef %2448, ptr noundef %2450, ptr noundef %2452, i32 noundef %2453) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2455:                                             ; preds = %2428
  %2456 = load i32, ptr @test_count, align 4, !tbaa !5
  %2457 = add nsw i32 %2456, 1
  store i32 %2457, ptr @test_count, align 4, !tbaa !5
  %2458 = load ptr, ptr %17, align 8, !tbaa !9
  %2459 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %2458, i32 noundef 16) #12
  br i1 %2459, label %2460, label %2482

2460:                                             ; preds = %2455
  %2461 = load i32, ptr %1901, align 4, !tbaa !5
  %2462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2463 = call i32 @s2n_print_stacktrace(ptr noundef %2462) #12
  %2464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2465 = trunc nuw i8 %2464 to i1
  br i1 %2465, label %2466, label %2470

2466:                                             ; preds = %2460
  %2467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2468 = call i32 @fileno(ptr noundef %2467) #12
  %2469 = call i32 @isatty(i32 noundef %2468) #12
  %.not1414 = icmp eq i32 %2469, 0
  br i1 %.not1414, label %2470, label %2471

2470:                                             ; preds = %2466, %2460
  br label %2471

2471:                                             ; preds = %2466, %2470
  %.str.5.sink2329 = phi ptr [ @.str.5, %2470 ], [ @.str.2, %2466 ]
  store i32 %2461, ptr %1901, align 4, !tbaa !5
  %2472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2473 = load i32, ptr @test_count, align 4, !tbaa !5
  %2474 = load i32, ptr %1847, align 4, !tbaa !5
  %2475 = call ptr @s2n_strerror(i32 noundef %2474, ptr noundef nonnull @.str.4) #12
  %2476 = load i32, ptr %1847, align 4, !tbaa !5
  %2477 = call ptr @s2n_strerror_debug(i32 noundef %2476, ptr noundef nonnull @.str.4) #12
  %2478 = load i32, ptr %1901, align 4, !tbaa !5
  %2479 = call ptr @strerror(i32 noundef %2478) #12
  %2480 = load i32, ptr %1901, align 4, !tbaa !5
  %2481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2472, ptr noundef nonnull %.str.5.sink2329, i32 noundef %2473, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 199, ptr noundef %2475, ptr noundef %2477, ptr noundef %2479, i32 noundef %2480) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2482:                                             ; preds = %2455
  %2483 = load i32, ptr @test_count, align 4, !tbaa !5
  %2484 = add nsw i32 %2483, 1
  store i32 %2484, ptr @test_count, align 4, !tbaa !5
  %2485 = load ptr, ptr %18, align 8, !tbaa !9
  %2486 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %2485, i32 noundef 16) #12
  br i1 %2486, label %2487, label %2509

2487:                                             ; preds = %2482
  %2488 = load i32, ptr %1901, align 4, !tbaa !5
  %2489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2490 = call i32 @s2n_print_stacktrace(ptr noundef %2489) #12
  %2491 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2492 = trunc nuw i8 %2491 to i1
  br i1 %2492, label %2493, label %2497

2493:                                             ; preds = %2487
  %2494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2495 = call i32 @fileno(ptr noundef %2494) #12
  %2496 = call i32 @isatty(i32 noundef %2495) #12
  %.not1413 = icmp eq i32 %2496, 0
  br i1 %.not1413, label %2497, label %2498

2497:                                             ; preds = %2493, %2487
  br label %2498

2498:                                             ; preds = %2493, %2497
  %.str.5.sink2338 = phi ptr [ @.str.5, %2497 ], [ @.str.2, %2493 ]
  store i32 %2488, ptr %1901, align 4, !tbaa !5
  %2499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2500 = load i32, ptr @test_count, align 4, !tbaa !5
  %2501 = load i32, ptr %1847, align 4, !tbaa !5
  %2502 = call ptr @s2n_strerror(i32 noundef %2501, ptr noundef nonnull @.str.4) #12
  %2503 = load i32, ptr %1847, align 4, !tbaa !5
  %2504 = call ptr @s2n_strerror_debug(i32 noundef %2503, ptr noundef nonnull @.str.4) #12
  %2505 = load i32, ptr %1901, align 4, !tbaa !5
  %2506 = call ptr @strerror(i32 noundef %2505) #12
  %2507 = load i32, ptr %1901, align 4, !tbaa !5
  %2508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2499, ptr noundef nonnull %.str.5.sink2338, i32 noundef %2500, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 200, ptr noundef %2502, ptr noundef %2504, ptr noundef %2506, i32 noundef %2507) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2509:                                             ; preds = %2482
  %2510 = load i32, ptr @test_count, align 4, !tbaa !5
  %2511 = add nsw i32 %2510, 1
  store i32 %2511, ptr @test_count, align 4, !tbaa !5
  %2512 = load ptr, ptr %17, align 8, !tbaa !9
  %2513 = call i32 @s2n_conn_get_current_message_type(ptr noundef %2512) #12
  %2514 = icmp eq i32 %2513, 20
  br i1 %2514, label %2537, label %2515

2515:                                             ; preds = %2509
  %2516 = load i32, ptr %1901, align 4, !tbaa !5
  %2517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2518 = call i32 @s2n_print_stacktrace(ptr noundef %2517) #12
  %2519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2520 = trunc nuw i8 %2519 to i1
  br i1 %2520, label %2521, label %2525

2521:                                             ; preds = %2515
  %2522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2523 = call i32 @fileno(ptr noundef %2522) #12
  %2524 = call i32 @isatty(i32 noundef %2523) #12
  %.not1034 = icmp eq i32 %2524, 0
  br i1 %.not1034, label %2525, label %2526

2525:                                             ; preds = %2521, %2515
  br label %2526

2526:                                             ; preds = %2521, %2525
  %.str.5.sink2347 = phi ptr [ @.str.5, %2525 ], [ @.str.2, %2521 ]
  store i32 %2516, ptr %1901, align 4, !tbaa !5
  %2527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2528 = load i32, ptr @test_count, align 4, !tbaa !5
  %2529 = load i32, ptr %1847, align 4, !tbaa !5
  %2530 = call ptr @s2n_strerror(i32 noundef %2529, ptr noundef nonnull @.str.4) #12
  %2531 = load i32, ptr %1847, align 4, !tbaa !5
  %2532 = call ptr @s2n_strerror_debug(i32 noundef %2531, ptr noundef nonnull @.str.4) #12
  %2533 = load i32, ptr %1901, align 4, !tbaa !5
  %2534 = call ptr @strerror(i32 noundef %2533) #12
  %2535 = load i32, ptr %1901, align 4, !tbaa !5
  %2536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2527, ptr noundef nonnull %.str.5.sink2347, i32 noundef %2528, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 202, ptr noundef %2530, ptr noundef %2532, ptr noundef %2534, i32 noundef %2535) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2537:                                             ; preds = %2509
  %2538 = load i32, ptr @test_count, align 4, !tbaa !5
  %2539 = add nsw i32 %2538, 1
  store i32 %2539, ptr @test_count, align 4, !tbaa !5
  %2540 = load ptr, ptr %18, align 8, !tbaa !9
  %2541 = call i32 @s2n_conn_get_current_message_type(ptr noundef %2540) #12
  %2542 = icmp eq i32 %2541, 20
  br i1 %2542, label %2565, label %2543

2543:                                             ; preds = %2537
  %2544 = load i32, ptr %1901, align 4, !tbaa !5
  %2545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2546 = call i32 @s2n_print_stacktrace(ptr noundef %2545) #12
  %2547 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2548 = trunc nuw i8 %2547 to i1
  br i1 %2548, label %2549, label %2553

2549:                                             ; preds = %2543
  %2550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2551 = call i32 @fileno(ptr noundef %2550) #12
  %2552 = call i32 @isatty(i32 noundef %2551) #12
  %.not1035 = icmp eq i32 %2552, 0
  br i1 %.not1035, label %2553, label %2554

2553:                                             ; preds = %2549, %2543
  br label %2554

2554:                                             ; preds = %2549, %2553
  %.str.5.sink2356 = phi ptr [ @.str.5, %2553 ], [ @.str.2, %2549 ]
  store i32 %2544, ptr %1901, align 4, !tbaa !5
  %2555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2556 = load i32, ptr @test_count, align 4, !tbaa !5
  %2557 = load i32, ptr %1847, align 4, !tbaa !5
  %2558 = call ptr @s2n_strerror(i32 noundef %2557, ptr noundef nonnull @.str.4) #12
  %2559 = load i32, ptr %1847, align 4, !tbaa !5
  %2560 = call ptr @s2n_strerror_debug(i32 noundef %2559, ptr noundef nonnull @.str.4) #12
  %2561 = load i32, ptr %1901, align 4, !tbaa !5
  %2562 = call ptr @strerror(i32 noundef %2561) #12
  %2563 = load i32, ptr %1901, align 4, !tbaa !5
  %2564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2555, ptr noundef nonnull %.str.5.sink2356, i32 noundef %2556, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 203, ptr noundef %2558, ptr noundef %2560, ptr noundef %2562, i32 noundef %2563) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2565:                                             ; preds = %2537
  %2566 = load i32, ptr @test_count, align 4, !tbaa !5
  %2567 = add nsw i32 %2566, 1
  store i32 %2567, ptr @test_count, align 4, !tbaa !5
  %2568 = load ptr, ptr %18, align 8, !tbaa !9
  %2569 = load ptr, ptr %17, align 8, !tbaa !9
  %2570 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %2568, ptr noundef %2569) #12
  %2571 = icmp eq i32 %2570, -1
  br i1 %2571, label %2572, label %2594

2572:                                             ; preds = %2565
  %2573 = load i32, ptr %1901, align 4, !tbaa !5
  %2574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2575 = call i32 @s2n_print_stacktrace(ptr noundef %2574) #12
  %2576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2577 = trunc nuw i8 %2576 to i1
  br i1 %2577, label %2578, label %2582

2578:                                             ; preds = %2572
  %2579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2580 = call i32 @fileno(ptr noundef %2579) #12
  %2581 = call i32 @isatty(i32 noundef %2580) #12
  %.not1412 = icmp eq i32 %2581, 0
  br i1 %.not1412, label %2582, label %2583

2582:                                             ; preds = %2578, %2572
  br label %2583

2583:                                             ; preds = %2578, %2582
  %.str.5.sink2365 = phi ptr [ @.str.5, %2582 ], [ @.str.2, %2578 ]
  store i32 %2573, ptr %1901, align 4, !tbaa !5
  %2584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2585 = load i32, ptr @test_count, align 4, !tbaa !5
  %2586 = load i32, ptr %1847, align 4, !tbaa !5
  %2587 = call ptr @s2n_strerror(i32 noundef %2586, ptr noundef nonnull @.str.4) #12
  %2588 = load i32, ptr %1847, align 4, !tbaa !5
  %2589 = call ptr @s2n_strerror_debug(i32 noundef %2588, ptr noundef nonnull @.str.4) #12
  %2590 = load i32, ptr %1901, align 4, !tbaa !5
  %2591 = call ptr @strerror(i32 noundef %2590) #12
  %2592 = load i32, ptr %1901, align 4, !tbaa !5
  %2593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2584, ptr noundef nonnull %.str.5.sink2365, i32 noundef %2585, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 205, ptr noundef %2587, ptr noundef %2589, ptr noundef %2591, i32 noundef %2592) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2594:                                             ; preds = %2565
  %2595 = load i32, ptr @test_count, align 4, !tbaa !5
  %2596 = add nsw i32 %2595, 1
  store i32 %2596, ptr @test_count, align 4, !tbaa !5
  %2597 = load ptr, ptr %17, align 8, !tbaa !9
  %2598 = call i32 @s2n_connection_free(ptr noundef %2597) #12
  %2599 = icmp eq i32 %2598, -1
  br i1 %2599, label %2600, label %2622

2600:                                             ; preds = %2594
  %2601 = load i32, ptr %1901, align 4, !tbaa !5
  %2602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2603 = call i32 @s2n_print_stacktrace(ptr noundef %2602) #12
  %2604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2605 = trunc nuw i8 %2604 to i1
  br i1 %2605, label %2606, label %2610

2606:                                             ; preds = %2600
  %2607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2608 = call i32 @fileno(ptr noundef %2607) #12
  %2609 = call i32 @isatty(i32 noundef %2608) #12
  %.not1411 = icmp eq i32 %2609, 0
  br i1 %.not1411, label %2610, label %2611

2610:                                             ; preds = %2606, %2600
  br label %2611

2611:                                             ; preds = %2606, %2610
  %.str.5.sink2374 = phi ptr [ @.str.5, %2610 ], [ @.str.2, %2606 ]
  store i32 %2601, ptr %1901, align 4, !tbaa !5
  %2612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2613 = load i32, ptr @test_count, align 4, !tbaa !5
  %2614 = load i32, ptr %1847, align 4, !tbaa !5
  %2615 = call ptr @s2n_strerror(i32 noundef %2614, ptr noundef nonnull @.str.4) #12
  %2616 = load i32, ptr %1847, align 4, !tbaa !5
  %2617 = call ptr @s2n_strerror_debug(i32 noundef %2616, ptr noundef nonnull @.str.4) #12
  %2618 = load i32, ptr %1901, align 4, !tbaa !5
  %2619 = call ptr @strerror(i32 noundef %2618) #12
  %2620 = load i32, ptr %1901, align 4, !tbaa !5
  %2621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2612, ptr noundef nonnull %.str.5.sink2374, i32 noundef %2613, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 206, ptr noundef %2615, ptr noundef %2617, ptr noundef %2619, i32 noundef %2620) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2622:                                             ; preds = %2594
  %2623 = load i32, ptr @test_count, align 4, !tbaa !5
  %2624 = add nsw i32 %2623, 1
  store i32 %2624, ptr @test_count, align 4, !tbaa !5
  %2625 = load ptr, ptr %18, align 8, !tbaa !9
  %2626 = call i32 @s2n_connection_free(ptr noundef %2625) #12
  %2627 = icmp eq i32 %2626, -1
  br i1 %2627, label %2628, label %2650

2628:                                             ; preds = %2622
  %2629 = load i32, ptr %1901, align 4, !tbaa !5
  %2630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2631 = call i32 @s2n_print_stacktrace(ptr noundef %2630) #12
  %2632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2633 = trunc nuw i8 %2632 to i1
  br i1 %2633, label %2634, label %2638

2634:                                             ; preds = %2628
  %2635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2636 = call i32 @fileno(ptr noundef %2635) #12
  %2637 = call i32 @isatty(i32 noundef %2636) #12
  %.not1410 = icmp eq i32 %2637, 0
  br i1 %.not1410, label %2638, label %2639

2638:                                             ; preds = %2634, %2628
  br label %2639

2639:                                             ; preds = %2634, %2638
  %.str.5.sink2383 = phi ptr [ @.str.5, %2638 ], [ @.str.2, %2634 ]
  store i32 %2629, ptr %1901, align 4, !tbaa !5
  %2640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2641 = load i32, ptr @test_count, align 4, !tbaa !5
  %2642 = load i32, ptr %1847, align 4, !tbaa !5
  %2643 = call ptr @s2n_strerror(i32 noundef %2642, ptr noundef nonnull @.str.4) #12
  %2644 = load i32, ptr %1847, align 4, !tbaa !5
  %2645 = call ptr @s2n_strerror_debug(i32 noundef %2644, ptr noundef nonnull @.str.4) #12
  %2646 = load i32, ptr %1901, align 4, !tbaa !5
  %2647 = call ptr @strerror(i32 noundef %2646) #12
  %2648 = load i32, ptr %1901, align 4, !tbaa !5
  %2649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2640, ptr noundef nonnull %.str.5.sink2383, i32 noundef %2641, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 207, ptr noundef %2643, ptr noundef %2645, ptr noundef %2647, i32 noundef %2648) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2650:                                             ; preds = %2622
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #12
  %2651 = call i32 @s2n_io_pair_close(ptr noundef nonnull %19) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #12
  store i32 0, ptr %21, align 4, !tbaa !5
  %2652 = call ptr @s2n_config_new() #12
  %2653 = load i32, ptr @test_count, align 4, !tbaa !5
  %2654 = add nsw i32 %2653, 1
  store i32 %2654, ptr @test_count, align 4, !tbaa !5
  %2655 = call i32 @s2n_config_set_early_data_cb(ptr noundef %2652, ptr noundef nonnull @s2n_test_async_early_data_cb) #12
  %2656 = icmp eq i32 %2655, -1
  br i1 %2656, label %2657, label %2679

2657:                                             ; preds = %2650
  %2658 = load i32, ptr %1901, align 4, !tbaa !5
  %2659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2660 = call i32 @s2n_print_stacktrace(ptr noundef %2659) #12
  %2661 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2662 = trunc nuw i8 %2661 to i1
  br i1 %2662, label %2663, label %2667

2663:                                             ; preds = %2657
  %2664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2665 = call i32 @fileno(ptr noundef %2664) #12
  %2666 = call i32 @isatty(i32 noundef %2665) #12
  %.not1409 = icmp eq i32 %2666, 0
  br i1 %.not1409, label %2667, label %2668

2667:                                             ; preds = %2663, %2657
  br label %2668

2668:                                             ; preds = %2663, %2667
  %.str.5.sink2392 = phi ptr [ @.str.5, %2667 ], [ @.str.2, %2663 ]
  store i32 %2658, ptr %1901, align 4, !tbaa !5
  %2669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2670 = load i32, ptr @test_count, align 4, !tbaa !5
  %2671 = load i32, ptr %1847, align 4, !tbaa !5
  %2672 = call ptr @s2n_strerror(i32 noundef %2671, ptr noundef nonnull @.str.4) #12
  %2673 = load i32, ptr %1847, align 4, !tbaa !5
  %2674 = call ptr @s2n_strerror_debug(i32 noundef %2673, ptr noundef nonnull @.str.4) #12
  %2675 = load i32, ptr %1901, align 4, !tbaa !5
  %2676 = call ptr @strerror(i32 noundef %2675) #12
  %2677 = load i32, ptr %1901, align 4, !tbaa !5
  %2678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2669, ptr noundef nonnull %.str.5.sink2392, i32 noundef %2670, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 215, ptr noundef %2672, ptr noundef %2674, ptr noundef %2676, i32 noundef %2677) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2679:                                             ; preds = %2650
  %2680 = load i32, ptr @test_count, align 4, !tbaa !5
  %2681 = add nsw i32 %2680, 1
  store i32 %2681, ptr @test_count, align 4, !tbaa !5
  %2682 = icmp eq ptr %2652, null
  br i1 %2682, label %2683, label %2705

2683:                                             ; preds = %2679
  %2684 = load i32, ptr %1901, align 4, !tbaa !5
  %2685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2686 = call i32 @s2n_print_stacktrace(ptr noundef %2685) #12
  %2687 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2688 = trunc nuw i8 %2687 to i1
  br i1 %2688, label %2689, label %2693

2689:                                             ; preds = %2683
  %2690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2691 = call i32 @fileno(ptr noundef %2690) #12
  %2692 = call i32 @isatty(i32 noundef %2691) #12
  %.not1408 = icmp eq i32 %2692, 0
  br i1 %.not1408, label %2693, label %2694

2693:                                             ; preds = %2689, %2683
  br label %2694

2694:                                             ; preds = %2689, %2693
  %.str.5.sink2401 = phi ptr [ @.str.5, %2693 ], [ @.str.2, %2689 ]
  store i32 %2684, ptr %1901, align 4, !tbaa !5
  %2695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2696 = load i32, ptr @test_count, align 4, !tbaa !5
  %2697 = load i32, ptr %1847, align 4, !tbaa !5
  %2698 = call ptr @s2n_strerror(i32 noundef %2697, ptr noundef nonnull @.str.4) #12
  %2699 = load i32, ptr %1847, align 4, !tbaa !5
  %2700 = call ptr @s2n_strerror_debug(i32 noundef %2699, ptr noundef nonnull @.str.4) #12
  %2701 = load i32, ptr %1901, align 4, !tbaa !5
  %2702 = call ptr @strerror(i32 noundef %2701) #12
  %2703 = load i32, ptr %1901, align 4, !tbaa !5
  %2704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2695, ptr noundef nonnull %.str.5.sink2401, i32 noundef %2696, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 216, ptr noundef %2698, ptr noundef %2700, ptr noundef %2702, i32 noundef %2703) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2705:                                             ; preds = %2679
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #12
  store ptr null, ptr %22, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #12
  store ptr null, ptr %23, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #12
  store i64 0, ptr %24, align 8
  %2706 = add nsw i32 %2680, 2
  store i32 %2706, ptr @test_count, align 4, !tbaa !5
  %2707 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %22, ptr noundef nonnull %23, ptr noundef nonnull %24)
  %2708 = call zeroext i1 @s2n_result_is_ok(i32 %2707)
  br i1 %2708, label %2731, label %2709

2709:                                             ; preds = %2705
  %2710 = load i32, ptr %1901, align 4, !tbaa !5
  %2711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2712 = call i32 @s2n_print_stacktrace(ptr noundef %2711) #12
  %2713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2714 = trunc nuw i8 %2713 to i1
  br i1 %2714, label %2715, label %2719

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

2719:                                             ; preds = %2715, %2709
  br label %2720

2720:                                             ; preds = %2715, %2719
  %.str.5.sink2410 = phi ptr [ @.str.5, %2719 ], [ @.str.2, %2715 ]
  store i32 %2710, ptr %1901, align 4, !tbaa !5
  %2721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2722 = load i32, ptr @test_count, align 4, !tbaa !5
  %2723 = load i32, ptr %1847, align 4, !tbaa !5
  %2724 = call ptr @s2n_strerror(i32 noundef %2723, ptr noundef nonnull @.str.4) #12
  %2725 = load i32, ptr %1847, align 4, !tbaa !5
  %2726 = call ptr @s2n_strerror_debug(i32 noundef %2725, ptr noundef nonnull @.str.4) #12
  %2727 = load i32, ptr %1901, align 4, !tbaa !5
  %2728 = call ptr @strerror(i32 noundef %2727) #12
  %2729 = load i32, ptr %1901, align 4, !tbaa !5
  %2730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2721, ptr noundef nonnull %.str.5.sink2410, i32 noundef %2722, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 220, ptr noundef %2724, ptr noundef %2726, ptr noundef %2728, i32 noundef %2729) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2731:                                             ; preds = %2705
  %2732 = load i32, ptr @test_count, align 4, !tbaa !5
  %2733 = add nsw i32 %2732, 1
  store i32 %2733, ptr @test_count, align 4, !tbaa !5
  %2734 = load ptr, ptr %23, align 8, !tbaa !9
  %2735 = call i32 @s2n_connection_set_config(ptr noundef %2734, ptr noundef nonnull %2652) #12
  %2736 = icmp eq i32 %2735, -1
  br i1 %2736, label %2737, label %2759

2737:                                             ; preds = %2731
  %2738 = load i32, ptr %1901, align 4, !tbaa !5
  %2739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2740 = call i32 @s2n_print_stacktrace(ptr noundef %2739) #12
  %2741 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2742 = trunc nuw i8 %2741 to i1
  br i1 %2742, label %2743, label %2747

2743:                                             ; preds = %2737
  %2744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2745 = call i32 @fileno(ptr noundef %2744) #12
  %2746 = call i32 @isatty(i32 noundef %2745) #12
  %.not1407 = icmp eq i32 %2746, 0
  br i1 %.not1407, label %2747, label %2748

2747:                                             ; preds = %2743, %2737
  br label %2748

2748:                                             ; preds = %2743, %2747
  %.str.5.sink2419 = phi ptr [ @.str.5, %2747 ], [ @.str.2, %2743 ]
  store i32 %2738, ptr %1901, align 4, !tbaa !5
  %2749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2750 = load i32, ptr @test_count, align 4, !tbaa !5
  %2751 = load i32, ptr %1847, align 4, !tbaa !5
  %2752 = call ptr @s2n_strerror(i32 noundef %2751, ptr noundef nonnull @.str.4) #12
  %2753 = load i32, ptr %1847, align 4, !tbaa !5
  %2754 = call ptr @s2n_strerror_debug(i32 noundef %2753, ptr noundef nonnull @.str.4) #12
  %2755 = load i32, ptr %1901, align 4, !tbaa !5
  %2756 = call ptr @strerror(i32 noundef %2755) #12
  %2757 = load i32, ptr %1901, align 4, !tbaa !5
  %2758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2749, ptr noundef nonnull %.str.5.sink2419, i32 noundef %2750, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 221, ptr noundef %2752, ptr noundef %2754, ptr noundef %2756, i32 noundef %2757) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2759:                                             ; preds = %2731
  %2760 = load i32, ptr @test_count, align 4, !tbaa !5
  %2761 = add nsw i32 %2760, 1
  store i32 %2761, ptr @test_count, align 4, !tbaa !5
  %2762 = load ptr, ptr %22, align 8, !tbaa !9
  %2763 = call i32 @s2n_connection_append_psk(ptr noundef %2762, ptr noundef %243) #12
  %2764 = icmp eq i32 %2763, -1
  br i1 %2764, label %2765, label %2787

2765:                                             ; preds = %2759
  %2766 = load i32, ptr %1901, align 4, !tbaa !5
  %2767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2768 = call i32 @s2n_print_stacktrace(ptr noundef %2767) #12
  %2769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2770 = trunc nuw i8 %2769 to i1
  br i1 %2770, label %2771, label %2775

2771:                                             ; preds = %2765
  %2772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2773 = call i32 @fileno(ptr noundef %2772) #12
  %2774 = call i32 @isatty(i32 noundef %2773) #12
  %.not1406 = icmp eq i32 %2774, 0
  br i1 %.not1406, label %2775, label %2776

2775:                                             ; preds = %2771, %2765
  br label %2776

2776:                                             ; preds = %2771, %2775
  %.str.5.sink2428 = phi ptr [ @.str.5, %2775 ], [ @.str.2, %2771 ]
  store i32 %2766, ptr %1901, align 4, !tbaa !5
  %2777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2778 = load i32, ptr @test_count, align 4, !tbaa !5
  %2779 = load i32, ptr %1847, align 4, !tbaa !5
  %2780 = call ptr @s2n_strerror(i32 noundef %2779, ptr noundef nonnull @.str.4) #12
  %2781 = load i32, ptr %1847, align 4, !tbaa !5
  %2782 = call ptr @s2n_strerror_debug(i32 noundef %2781, ptr noundef nonnull @.str.4) #12
  %2783 = load i32, ptr %1901, align 4, !tbaa !5
  %2784 = call ptr @strerror(i32 noundef %2783) #12
  %2785 = load i32, ptr %1901, align 4, !tbaa !5
  %2786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2777, ptr noundef nonnull %.str.5.sink2428, i32 noundef %2778, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 223, ptr noundef %2780, ptr noundef %2782, ptr noundef %2784, i32 noundef %2785) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2787:                                             ; preds = %2759
  %2788 = load i32, ptr @test_count, align 4, !tbaa !5
  %2789 = add nsw i32 %2788, 1
  store i32 %2789, ptr @test_count, align 4, !tbaa !5
  %2790 = load ptr, ptr %23, align 8, !tbaa !9
  %2791 = call i32 @s2n_connection_append_psk(ptr noundef %2790, ptr noundef %243) #12
  %2792 = icmp eq i32 %2791, -1
  br i1 %2792, label %2793, label %2815

2793:                                             ; preds = %2787
  %2794 = load i32, ptr %1901, align 4, !tbaa !5
  %2795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2796 = call i32 @s2n_print_stacktrace(ptr noundef %2795) #12
  %2797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2798 = trunc nuw i8 %2797 to i1
  br i1 %2798, label %2799, label %2803

2799:                                             ; preds = %2793
  %2800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2801 = call i32 @fileno(ptr noundef %2800) #12
  %2802 = call i32 @isatty(i32 noundef %2801) #12
  %.not1405 = icmp eq i32 %2802, 0
  br i1 %.not1405, label %2803, label %2804

2803:                                             ; preds = %2799, %2793
  br label %2804

2804:                                             ; preds = %2799, %2803
  %.str.5.sink2437 = phi ptr [ @.str.5, %2803 ], [ @.str.2, %2799 ]
  store i32 %2794, ptr %1901, align 4, !tbaa !5
  %2805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2806 = load i32, ptr @test_count, align 4, !tbaa !5
  %2807 = load i32, ptr %1847, align 4, !tbaa !5
  %2808 = call ptr @s2n_strerror(i32 noundef %2807, ptr noundef nonnull @.str.4) #12
  %2809 = load i32, ptr %1847, align 4, !tbaa !5
  %2810 = call ptr @s2n_strerror_debug(i32 noundef %2809, ptr noundef nonnull @.str.4) #12
  %2811 = load i32, ptr %1901, align 4, !tbaa !5
  %2812 = call ptr @strerror(i32 noundef %2811) #12
  %2813 = load i32, ptr %1901, align 4, !tbaa !5
  %2814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2805, ptr noundef nonnull %.str.5.sink2437, i32 noundef %2806, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 224, ptr noundef %2808, ptr noundef %2810, ptr noundef %2812, i32 noundef %2813) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2815:                                             ; preds = %2787
  %2816 = load i32, ptr @test_count, align 4, !tbaa !5
  %2817 = add nsw i32 %2816, 1
  store i32 %2817, ptr @test_count, align 4, !tbaa !5
  %2818 = load ptr, ptr %22, align 8, !tbaa !9
  %2819 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %2818) #12
  %2820 = icmp eq i32 %2819, -1
  br i1 %2820, label %2821, label %2843

2821:                                             ; preds = %2815
  %2822 = load i32, ptr %1901, align 4, !tbaa !5
  %2823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2824 = call i32 @s2n_print_stacktrace(ptr noundef %2823) #12
  %2825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2826 = trunc nuw i8 %2825 to i1
  br i1 %2826, label %2827, label %2831

2827:                                             ; preds = %2821
  %2828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2829 = call i32 @fileno(ptr noundef %2828) #12
  %2830 = call i32 @isatty(i32 noundef %2829) #12
  %.not1404 = icmp eq i32 %2830, 0
  br i1 %.not1404, label %2831, label %2832

2831:                                             ; preds = %2827, %2821
  br label %2832

2832:                                             ; preds = %2827, %2831
  %.str.5.sink2446 = phi ptr [ @.str.5, %2831 ], [ @.str.2, %2827 ]
  store i32 %2822, ptr %1901, align 4, !tbaa !5
  %2833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2834 = load i32, ptr @test_count, align 4, !tbaa !5
  %2835 = load i32, ptr %1847, align 4, !tbaa !5
  %2836 = call ptr @s2n_strerror(i32 noundef %2835, ptr noundef nonnull @.str.4) #12
  %2837 = load i32, ptr %1847, align 4, !tbaa !5
  %2838 = call ptr @s2n_strerror_debug(i32 noundef %2837, ptr noundef nonnull @.str.4) #12
  %2839 = load i32, ptr %1901, align 4, !tbaa !5
  %2840 = call ptr @strerror(i32 noundef %2839) #12
  %2841 = load i32, ptr %1901, align 4, !tbaa !5
  %2842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2833, ptr noundef nonnull %.str.5.sink2446, i32 noundef %2834, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 225, ptr noundef %2836, ptr noundef %2838, ptr noundef %2840, i32 noundef %2841) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2843:                                             ; preds = %2815
  %2844 = load i32, ptr @test_count, align 4, !tbaa !5
  %2845 = add nsw i32 %2844, 1
  store i32 %2845, ptr @test_count, align 4, !tbaa !5
  %2846 = load ptr, ptr %23, align 8, !tbaa !9
  %2847 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %2846) #12
  %2848 = icmp eq i32 %2847, -1
  br i1 %2848, label %2849, label %2871

2849:                                             ; preds = %2843
  %2850 = load i32, ptr %1901, align 4, !tbaa !5
  %2851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2852 = call i32 @s2n_print_stacktrace(ptr noundef %2851) #12
  %2853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2854 = trunc nuw i8 %2853 to i1
  br i1 %2854, label %2855, label %2859

2855:                                             ; preds = %2849
  %2856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2857 = call i32 @fileno(ptr noundef %2856) #12
  %2858 = call i32 @isatty(i32 noundef %2857) #12
  %.not1403 = icmp eq i32 %2858, 0
  br i1 %.not1403, label %2859, label %2860

2859:                                             ; preds = %2855, %2849
  br label %2860

2860:                                             ; preds = %2855, %2859
  %.str.5.sink2455 = phi ptr [ @.str.5, %2859 ], [ @.str.2, %2855 ]
  store i32 %2850, ptr %1901, align 4, !tbaa !5
  %2861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2862 = load i32, ptr @test_count, align 4, !tbaa !5
  %2863 = load i32, ptr %1847, align 4, !tbaa !5
  %2864 = call ptr @s2n_strerror(i32 noundef %2863, ptr noundef nonnull @.str.4) #12
  %2865 = load i32, ptr %1847, align 4, !tbaa !5
  %2866 = call ptr @s2n_strerror_debug(i32 noundef %2865, ptr noundef nonnull @.str.4) #12
  %2867 = load i32, ptr %1901, align 4, !tbaa !5
  %2868 = call ptr @strerror(i32 noundef %2867) #12
  %2869 = load i32, ptr %1901, align 4, !tbaa !5
  %2870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2861, ptr noundef nonnull %.str.5.sink2455, i32 noundef %2862, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 226, ptr noundef %2864, ptr noundef %2866, ptr noundef %2868, i32 noundef %2869) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2871:                                             ; preds = %2843
  %2872 = load i32, ptr @test_count, align 4, !tbaa !5
  %2873 = add nsw i32 %2872, 1
  store i32 %2873, ptr @test_count, align 4, !tbaa !5
  %2874 = load ptr, ptr %22, align 8, !tbaa !9
  %2875 = call i32 @s2n_negotiate_until_message(ptr noundef %2874, ptr noundef nonnull %21, i32 noundef 1) #12
  %2876 = call zeroext i1 @s2n_result_is_ok(i32 %2875)
  br i1 %2876, label %2899, label %2877

2877:                                             ; preds = %2871
  %2878 = load i32, ptr %1901, align 4, !tbaa !5
  %2879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2880 = call i32 @s2n_print_stacktrace(ptr noundef %2879) #12
  %2881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2882 = trunc nuw i8 %2881 to i1
  br i1 %2882, label %2883, label %2887

2883:                                             ; preds = %2877
  %2884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2885 = call i32 @fileno(ptr noundef %2884) #12
  %2886 = call i32 @isatty(i32 noundef %2885) #12
  %.not1037 = icmp eq i32 %2886, 0
  br i1 %.not1037, label %2887, label %2888

2887:                                             ; preds = %2883, %2877
  br label %2888

2888:                                             ; preds = %2883, %2887
  %.str.5.sink2464 = phi ptr [ @.str.5, %2887 ], [ @.str.2, %2883 ]
  store i32 %2878, ptr %1901, align 4, !tbaa !5
  %2889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2890 = load i32, ptr @test_count, align 4, !tbaa !5
  %2891 = load i32, ptr %1847, align 4, !tbaa !5
  %2892 = call ptr @s2n_strerror(i32 noundef %2891, ptr noundef nonnull @.str.4) #12
  %2893 = load i32, ptr %1847, align 4, !tbaa !5
  %2894 = call ptr @s2n_strerror_debug(i32 noundef %2893, ptr noundef nonnull @.str.4) #12
  %2895 = load i32, ptr %1901, align 4, !tbaa !5
  %2896 = call ptr @strerror(i32 noundef %2895) #12
  %2897 = load i32, ptr %1901, align 4, !tbaa !5
  %2898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2889, ptr noundef nonnull %.str.5.sink2464, i32 noundef %2890, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 229, ptr noundef %2892, ptr noundef %2894, ptr noundef %2896, i32 noundef %2897) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2899:                                             ; preds = %2871
  %2900 = load i32, ptr @test_count, align 4, !tbaa !5
  %2901 = add nsw i32 %2900, 1
  store i32 %2901, ptr @test_count, align 4, !tbaa !5
  %2902 = load ptr, ptr %23, align 8, !tbaa !9
  %2903 = call i32 @s2n_negotiate(ptr noundef %2902, ptr noundef nonnull %21) #12
  %2904 = icmp eq i32 %2903, -1
  br i1 %2904, label %2927, label %2905

2905:                                             ; preds = %2899
  %2906 = load i32, ptr %1901, align 4, !tbaa !5
  %2907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2908 = call i32 @s2n_print_stacktrace(ptr noundef %2907) #12
  %2909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2910 = trunc nuw i8 %2909 to i1
  br i1 %2910, label %2911, label %2915

2911:                                             ; preds = %2905
  %2912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2913 = call i32 @fileno(ptr noundef %2912) #12
  %2914 = call i32 @isatty(i32 noundef %2913) #12
  %.not1038 = icmp eq i32 %2914, 0
  br i1 %.not1038, label %2915, label %2916

2915:                                             ; preds = %2911, %2905
  br label %2916

2916:                                             ; preds = %2911, %2915
  %.str.5.sink2473 = phi ptr [ @.str.5, %2915 ], [ @.str.2, %2911 ]
  store i32 %2906, ptr %1901, align 4, !tbaa !5
  %2917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2918 = load i32, ptr @test_count, align 4, !tbaa !5
  %2919 = load i32, ptr %1847, align 4, !tbaa !5
  %2920 = call ptr @s2n_strerror(i32 noundef %2919, ptr noundef nonnull @.str.4) #12
  %2921 = load i32, ptr %1847, align 4, !tbaa !5
  %2922 = call ptr @s2n_strerror_debug(i32 noundef %2921, ptr noundef nonnull @.str.4) #12
  %2923 = load i32, ptr %1901, align 4, !tbaa !5
  %2924 = call ptr @strerror(i32 noundef %2923) #12
  %2925 = load i32, ptr %1901, align 4, !tbaa !5
  %2926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2917, ptr noundef nonnull %.str.5.sink2473, i32 noundef %2918, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 230, ptr noundef %2920, ptr noundef %2922, ptr noundef %2924, i32 noundef %2925) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2927:                                             ; preds = %2899
  %2928 = load i32, ptr @test_count, align 4, !tbaa !5
  %2929 = add nsw i32 %2928, 1
  store i32 %2929, ptr @test_count, align 4, !tbaa !5
  %2930 = load i32, ptr %1847, align 4, !tbaa !5
  %2931 = icmp eq i32 %2930, 201326593
  br i1 %2931, label %2954, label %2932

2932:                                             ; preds = %2927
  %2933 = load i32, ptr %1901, align 4, !tbaa !5
  %2934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2935 = call i32 @s2n_print_stacktrace(ptr noundef %2934) #12
  %2936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2937 = trunc nuw i8 %2936 to i1
  br i1 %2937, label %2938, label %2942

2938:                                             ; preds = %2932
  %2939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2940 = call i32 @fileno(ptr noundef %2939) #12
  %2941 = call i32 @isatty(i32 noundef %2940) #12
  %.not1039 = icmp eq i32 %2941, 0
  br i1 %.not1039, label %2942, label %2943

2942:                                             ; preds = %2938, %2932
  br label %2943

2943:                                             ; preds = %2938, %2942
  %.str.5.sink2482 = phi ptr [ @.str.5, %2942 ], [ @.str.2, %2938 ]
  store i32 %2933, ptr %1901, align 4, !tbaa !5
  %2944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2945 = load i32, ptr @test_count, align 4, !tbaa !5
  %2946 = load i32, ptr %1847, align 4, !tbaa !5
  %2947 = call ptr @s2n_strerror(i32 noundef %2946, ptr noundef nonnull @.str.4) #12
  %2948 = load i32, ptr %1847, align 4, !tbaa !5
  %2949 = call ptr @s2n_strerror_debug(i32 noundef %2948, ptr noundef nonnull @.str.4) #12
  %2950 = load i32, ptr %1901, align 4, !tbaa !5
  %2951 = call ptr @strerror(i32 noundef %2950) #12
  %2952 = load i32, ptr %1901, align 4, !tbaa !5
  %2953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2944, ptr noundef nonnull %.str.5.sink2482, i32 noundef %2945, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 230, ptr noundef %2947, ptr noundef %2949, ptr noundef %2951, i32 noundef %2952) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2954:                                             ; preds = %2927
  %2955 = add nsw i32 %2928, 2
  store i32 %2955, ptr @test_count, align 4, !tbaa !5
  %2956 = call ptr @s2n_strerror_debug(i32 noundef 201326593, ptr noundef nonnull @.str.4) #12
  %2957 = icmp eq ptr %2956, null
  br i1 %2957, label %2958, label %2980

2958:                                             ; preds = %2954
  %2959 = load i32, ptr %1901, align 4, !tbaa !5
  %2960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2961 = call i32 @s2n_print_stacktrace(ptr noundef %2960) #12
  %2962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2963 = trunc nuw i8 %2962 to i1
  br i1 %2963, label %2964, label %2968

2964:                                             ; preds = %2958
  %2965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2966 = call i32 @fileno(ptr noundef %2965) #12
  %2967 = call i32 @isatty(i32 noundef %2966) #12
  %.not1402 = icmp eq i32 %2967, 0
  br i1 %.not1402, label %2968, label %2969

2968:                                             ; preds = %2964, %2958
  br label %2969

2969:                                             ; preds = %2964, %2968
  %.str.5.sink2491 = phi ptr [ @.str.5, %2968 ], [ @.str.2, %2964 ]
  store i32 %2959, ptr %1901, align 4, !tbaa !5
  %2970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2971 = load i32, ptr @test_count, align 4, !tbaa !5
  %2972 = load i32, ptr %1847, align 4, !tbaa !5
  %2973 = call ptr @s2n_strerror(i32 noundef %2972, ptr noundef nonnull @.str.4) #12
  %2974 = load i32, ptr %1847, align 4, !tbaa !5
  %2975 = call ptr @s2n_strerror_debug(i32 noundef %2974, ptr noundef nonnull @.str.4) #12
  %2976 = load i32, ptr %1901, align 4, !tbaa !5
  %2977 = call ptr @strerror(i32 noundef %2976) #12
  %2978 = load i32, ptr %1901, align 4, !tbaa !5
  %2979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2970, ptr noundef nonnull %.str.5.sink2491, i32 noundef %2971, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 230, ptr noundef %2973, ptr noundef %2975, ptr noundef %2977, i32 noundef %2978) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2980:                                             ; preds = %2954
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %2981 = load i32, ptr @test_count, align 4, !tbaa !5
  %2982 = add nsw i32 %2981, 1
  store i32 %2982, ptr @test_count, align 4, !tbaa !5
  %2983 = load ptr, ptr %23, align 8, !tbaa !9
  %2984 = call i32 @s2n_negotiate(ptr noundef %2983, ptr noundef nonnull %21) #12
  %2985 = icmp eq i32 %2984, -1
  br i1 %2985, label %3008, label %2986

2986:                                             ; preds = %2980
  %2987 = load i32, ptr %1901, align 4, !tbaa !5
  %2988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2989 = call i32 @s2n_print_stacktrace(ptr noundef %2988) #12
  %2990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2991 = trunc nuw i8 %2990 to i1
  br i1 %2991, label %2992, label %2996

2992:                                             ; preds = %2986
  %2993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2994 = call i32 @fileno(ptr noundef %2993) #12
  %2995 = call i32 @isatty(i32 noundef %2994) #12
  %.not1040 = icmp eq i32 %2995, 0
  br i1 %.not1040, label %2996, label %2997

2996:                                             ; preds = %2992, %2986
  br label %2997

2997:                                             ; preds = %2992, %2996
  %.str.5.sink2500 = phi ptr [ @.str.5, %2996 ], [ @.str.2, %2992 ]
  store i32 %2987, ptr %1901, align 4, !tbaa !5
  %2998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2999 = load i32, ptr @test_count, align 4, !tbaa !5
  %3000 = load i32, ptr %1847, align 4, !tbaa !5
  %3001 = call ptr @s2n_strerror(i32 noundef %3000, ptr noundef nonnull @.str.4) #12
  %3002 = load i32, ptr %1847, align 4, !tbaa !5
  %3003 = call ptr @s2n_strerror_debug(i32 noundef %3002, ptr noundef nonnull @.str.4) #12
  %3004 = load i32, ptr %1901, align 4, !tbaa !5
  %3005 = call ptr @strerror(i32 noundef %3004) #12
  %3006 = load i32, ptr %1901, align 4, !tbaa !5
  %3007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2998, ptr noundef nonnull %.str.5.sink2500, i32 noundef %2999, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 233, ptr noundef %3001, ptr noundef %3003, ptr noundef %3005, i32 noundef %3006) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3008:                                             ; preds = %2980
  %3009 = load i32, ptr @test_count, align 4, !tbaa !5
  %3010 = add nsw i32 %3009, 1
  store i32 %3010, ptr @test_count, align 4, !tbaa !5
  %3011 = load i32, ptr %1847, align 4, !tbaa !5
  %3012 = icmp eq i32 %3011, 201326593
  br i1 %3012, label %3035, label %3013

3013:                                             ; preds = %3008
  %3014 = load i32, ptr %1901, align 4, !tbaa !5
  %3015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3016 = call i32 @s2n_print_stacktrace(ptr noundef %3015) #12
  %3017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3018 = trunc nuw i8 %3017 to i1
  br i1 %3018, label %3019, label %3023

3019:                                             ; preds = %3013
  %3020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3021 = call i32 @fileno(ptr noundef %3020) #12
  %3022 = call i32 @isatty(i32 noundef %3021) #12
  %.not1041 = icmp eq i32 %3022, 0
  br i1 %.not1041, label %3023, label %3024

3023:                                             ; preds = %3019, %3013
  br label %3024

3024:                                             ; preds = %3019, %3023
  %.str.5.sink2509 = phi ptr [ @.str.5, %3023 ], [ @.str.2, %3019 ]
  store i32 %3014, ptr %1901, align 4, !tbaa !5
  %3025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3026 = load i32, ptr @test_count, align 4, !tbaa !5
  %3027 = load i32, ptr %1847, align 4, !tbaa !5
  %3028 = call ptr @s2n_strerror(i32 noundef %3027, ptr noundef nonnull @.str.4) #12
  %3029 = load i32, ptr %1847, align 4, !tbaa !5
  %3030 = call ptr @s2n_strerror_debug(i32 noundef %3029, ptr noundef nonnull @.str.4) #12
  %3031 = load i32, ptr %1901, align 4, !tbaa !5
  %3032 = call ptr @strerror(i32 noundef %3031) #12
  %3033 = load i32, ptr %1901, align 4, !tbaa !5
  %3034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3025, ptr noundef nonnull %.str.5.sink2509, i32 noundef %3026, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 233, ptr noundef %3028, ptr noundef %3030, ptr noundef %3032, i32 noundef %3033) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3035:                                             ; preds = %3008
  %3036 = add nsw i32 %3009, 2
  store i32 %3036, ptr @test_count, align 4, !tbaa !5
  %3037 = call ptr @s2n_strerror_debug(i32 noundef 201326593, ptr noundef nonnull @.str.4) #12
  %3038 = icmp eq ptr %3037, null
  br i1 %3038, label %3039, label %3061

3039:                                             ; preds = %3035
  %3040 = load i32, ptr %1901, align 4, !tbaa !5
  %3041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3042 = call i32 @s2n_print_stacktrace(ptr noundef %3041) #12
  %3043 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3044 = trunc nuw i8 %3043 to i1
  br i1 %3044, label %3045, label %3049

3045:                                             ; preds = %3039
  %3046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3047 = call i32 @fileno(ptr noundef %3046) #12
  %3048 = call i32 @isatty(i32 noundef %3047) #12
  %.not1401 = icmp eq i32 %3048, 0
  br i1 %.not1401, label %3049, label %3050

3049:                                             ; preds = %3045, %3039
  br label %3050

3050:                                             ; preds = %3045, %3049
  %.str.5.sink2518 = phi ptr [ @.str.5, %3049 ], [ @.str.2, %3045 ]
  store i32 %3040, ptr %1901, align 4, !tbaa !5
  %3051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3052 = load i32, ptr @test_count, align 4, !tbaa !5
  %3053 = load i32, ptr %1847, align 4, !tbaa !5
  %3054 = call ptr @s2n_strerror(i32 noundef %3053, ptr noundef nonnull @.str.4) #12
  %3055 = load i32, ptr %1847, align 4, !tbaa !5
  %3056 = call ptr @s2n_strerror_debug(i32 noundef %3055, ptr noundef nonnull @.str.4) #12
  %3057 = load i32, ptr %1901, align 4, !tbaa !5
  %3058 = call ptr @strerror(i32 noundef %3057) #12
  %3059 = load i32, ptr %1901, align 4, !tbaa !5
  %3060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3051, ptr noundef nonnull %.str.5.sink2518, i32 noundef %3052, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 233, ptr noundef %3054, ptr noundef %3056, ptr noundef %3058, i32 noundef %3059) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3061:                                             ; preds = %3035
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %3062 = load i32, ptr @test_count, align 4, !tbaa !5
  %3063 = add nsw i32 %3062, 1
  store i32 %3063, ptr @test_count, align 4, !tbaa !5
  %3064 = load ptr, ptr @async_early_data, align 8, !tbaa !9
  %3065 = call i32 @s2n_offered_early_data_accept(ptr noundef %3064) #12
  %3066 = icmp eq i32 %3065, -1
  br i1 %3066, label %3067, label %3089

3067:                                             ; preds = %3061
  %3068 = load i32, ptr %1901, align 4, !tbaa !5
  %3069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3070 = call i32 @s2n_print_stacktrace(ptr noundef %3069) #12
  %3071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3072 = trunc nuw i8 %3071 to i1
  br i1 %3072, label %3073, label %3077

3073:                                             ; preds = %3067
  %3074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3075 = call i32 @fileno(ptr noundef %3074) #12
  %3076 = call i32 @isatty(i32 noundef %3075) #12
  %.not1400 = icmp eq i32 %3076, 0
  br i1 %.not1400, label %3077, label %3078

3077:                                             ; preds = %3073, %3067
  br label %3078

3078:                                             ; preds = %3073, %3077
  %.str.5.sink2527 = phi ptr [ @.str.5, %3077 ], [ @.str.2, %3073 ]
  store i32 %3068, ptr %1901, align 4, !tbaa !5
  %3079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3080 = load i32, ptr @test_count, align 4, !tbaa !5
  %3081 = load i32, ptr %1847, align 4, !tbaa !5
  %3082 = call ptr @s2n_strerror(i32 noundef %3081, ptr noundef nonnull @.str.4) #12
  %3083 = load i32, ptr %1847, align 4, !tbaa !5
  %3084 = call ptr @s2n_strerror_debug(i32 noundef %3083, ptr noundef nonnull @.str.4) #12
  %3085 = load i32, ptr %1901, align 4, !tbaa !5
  %3086 = call ptr @strerror(i32 noundef %3085) #12
  %3087 = load i32, ptr %1901, align 4, !tbaa !5
  %3088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3079, ptr noundef nonnull %.str.5.sink2527, i32 noundef %3080, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 236, ptr noundef %3082, ptr noundef %3084, ptr noundef %3086, i32 noundef %3087) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3089:                                             ; preds = %3061
  %3090 = load i32, ptr @test_count, align 4, !tbaa !5
  %3091 = add nsw i32 %3090, 1
  store i32 %3091, ptr @test_count, align 4, !tbaa !5
  %3092 = load ptr, ptr %22, align 8, !tbaa !9
  %3093 = call i32 @s2n_connection_set_end_of_early_data(ptr noundef %3092) #12
  %3094 = icmp eq i32 %3093, -1
  br i1 %3094, label %3095, label %3117

3095:                                             ; preds = %3089
  %3096 = load i32, ptr %1901, align 4, !tbaa !5
  %3097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3098 = call i32 @s2n_print_stacktrace(ptr noundef %3097) #12
  %3099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3100 = trunc nuw i8 %3099 to i1
  br i1 %3100, label %3101, label %3105

3101:                                             ; preds = %3095
  %3102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3103 = call i32 @fileno(ptr noundef %3102) #12
  %3104 = call i32 @isatty(i32 noundef %3103) #12
  %.not1399 = icmp eq i32 %3104, 0
  br i1 %.not1399, label %3105, label %3106

3105:                                             ; preds = %3101, %3095
  br label %3106

3106:                                             ; preds = %3101, %3105
  %.str.5.sink2536 = phi ptr [ @.str.5, %3105 ], [ @.str.2, %3101 ]
  store i32 %3096, ptr %1901, align 4, !tbaa !5
  %3107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3108 = load i32, ptr @test_count, align 4, !tbaa !5
  %3109 = load i32, ptr %1847, align 4, !tbaa !5
  %3110 = call ptr @s2n_strerror(i32 noundef %3109, ptr noundef nonnull @.str.4) #12
  %3111 = load i32, ptr %1847, align 4, !tbaa !5
  %3112 = call ptr @s2n_strerror_debug(i32 noundef %3111, ptr noundef nonnull @.str.4) #12
  %3113 = load i32, ptr %1901, align 4, !tbaa !5
  %3114 = call ptr @strerror(i32 noundef %3113) #12
  %3115 = load i32, ptr %1901, align 4, !tbaa !5
  %3116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3107, ptr noundef nonnull %.str.5.sink2536, i32 noundef %3108, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 239, ptr noundef %3110, ptr noundef %3112, ptr noundef %3114, i32 noundef %3115) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3117:                                             ; preds = %3089
  %3118 = load i32, ptr @test_count, align 4, !tbaa !5
  %3119 = add nsw i32 %3118, 1
  store i32 %3119, ptr @test_count, align 4, !tbaa !5
  %3120 = load ptr, ptr %23, align 8, !tbaa !9
  %3121 = load ptr, ptr %22, align 8, !tbaa !9
  %3122 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3120, ptr noundef %3121) #12
  %3123 = icmp eq i32 %3122, -1
  br i1 %3123, label %3124, label %3146

3124:                                             ; preds = %3117
  %3125 = load i32, ptr %1901, align 4, !tbaa !5
  %3126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3127 = call i32 @s2n_print_stacktrace(ptr noundef %3126) #12
  %3128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3129 = trunc nuw i8 %3128 to i1
  br i1 %3129, label %3130, label %3134

3130:                                             ; preds = %3124
  %3131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3132 = call i32 @fileno(ptr noundef %3131) #12
  %3133 = call i32 @isatty(i32 noundef %3132) #12
  %.not1398 = icmp eq i32 %3133, 0
  br i1 %.not1398, label %3134, label %3135

3134:                                             ; preds = %3130, %3124
  br label %3135

3135:                                             ; preds = %3130, %3134
  %.str.5.sink2545 = phi ptr [ @.str.5, %3134 ], [ @.str.2, %3130 ]
  store i32 %3125, ptr %1901, align 4, !tbaa !5
  %3136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3137 = load i32, ptr @test_count, align 4, !tbaa !5
  %3138 = load i32, ptr %1847, align 4, !tbaa !5
  %3139 = call ptr @s2n_strerror(i32 noundef %3138, ptr noundef nonnull @.str.4) #12
  %3140 = load i32, ptr %1847, align 4, !tbaa !5
  %3141 = call ptr @s2n_strerror_debug(i32 noundef %3140, ptr noundef nonnull @.str.4) #12
  %3142 = load i32, ptr %1901, align 4, !tbaa !5
  %3143 = call ptr @strerror(i32 noundef %3142) #12
  %3144 = load i32, ptr %1901, align 4, !tbaa !5
  %3145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3136, ptr noundef nonnull %.str.5.sink2545, i32 noundef %3137, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 240, ptr noundef %3139, ptr noundef %3141, ptr noundef %3143, i32 noundef %3144) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3146:                                             ; preds = %3117
  %3147 = load i32, ptr @test_count, align 4, !tbaa !5
  %3148 = add nsw i32 %3147, 1
  store i32 %3148, ptr @test_count, align 4, !tbaa !5
  %3149 = load ptr, ptr %22, align 8, !tbaa !9
  %3150 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %3149, i32 noundef 64) #12
  br i1 %3150, label %3173, label %3151

3151:                                             ; preds = %3146
  %3152 = load i32, ptr %1901, align 4, !tbaa !5
  %3153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3154 = call i32 @s2n_print_stacktrace(ptr noundef %3153) #12
  %3155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3156 = trunc nuw i8 %3155 to i1
  br i1 %3156, label %3157, label %3161

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

3161:                                             ; preds = %3157, %3151
  br label %3162

3162:                                             ; preds = %3157, %3161
  %.str.5.sink2554 = phi ptr [ @.str.5, %3161 ], [ @.str.2, %3157 ]
  store i32 %3152, ptr %1901, align 4, !tbaa !5
  %3163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3164 = load i32, ptr @test_count, align 4, !tbaa !5
  %3165 = load i32, ptr %1847, align 4, !tbaa !5
  %3166 = call ptr @s2n_strerror(i32 noundef %3165, ptr noundef nonnull @.str.4) #12
  %3167 = load i32, ptr %1847, align 4, !tbaa !5
  %3168 = call ptr @s2n_strerror_debug(i32 noundef %3167, ptr noundef nonnull @.str.4) #12
  %3169 = load i32, ptr %1901, align 4, !tbaa !5
  %3170 = call ptr @strerror(i32 noundef %3169) #12
  %3171 = load i32, ptr %1901, align 4, !tbaa !5
  %3172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3163, ptr noundef nonnull %.str.5.sink2554, i32 noundef %3164, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 242, ptr noundef %3166, ptr noundef %3168, ptr noundef %3170, i32 noundef %3171) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3173:                                             ; preds = %3146
  %3174 = load i32, ptr @test_count, align 4, !tbaa !5
  %3175 = add nsw i32 %3174, 1
  store i32 %3175, ptr @test_count, align 4, !tbaa !5
  %3176 = load ptr, ptr %23, align 8, !tbaa !9
  %3177 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %3176, i32 noundef 64) #12
  br i1 %3177, label %3200, label %3178

3178:                                             ; preds = %3173
  %3179 = load i32, ptr %1901, align 4, !tbaa !5
  %3180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3181 = call i32 @s2n_print_stacktrace(ptr noundef %3180) #12
  %3182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3183 = trunc nuw i8 %3182 to i1
  br i1 %3183, label %3184, label %3188

3184:                                             ; preds = %3178
  %3185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3186 = call i32 @fileno(ptr noundef %3185) #12
  %3187 = call i32 @isatty(i32 noundef %3186) #12
  %.not1043 = icmp eq i32 %3187, 0
  br i1 %.not1043, label %3188, label %3189

3188:                                             ; preds = %3184, %3178
  br label %3189

3189:                                             ; preds = %3184, %3188
  %.str.5.sink2563 = phi ptr [ @.str.5, %3188 ], [ @.str.2, %3184 ]
  store i32 %3179, ptr %1901, align 4, !tbaa !5
  %3190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3191 = load i32, ptr @test_count, align 4, !tbaa !5
  %3192 = load i32, ptr %1847, align 4, !tbaa !5
  %3193 = call ptr @s2n_strerror(i32 noundef %3192, ptr noundef nonnull @.str.4) #12
  %3194 = load i32, ptr %1847, align 4, !tbaa !5
  %3195 = call ptr @s2n_strerror_debug(i32 noundef %3194, ptr noundef nonnull @.str.4) #12
  %3196 = load i32, ptr %1901, align 4, !tbaa !5
  %3197 = call ptr @strerror(i32 noundef %3196) #12
  %3198 = load i32, ptr %1901, align 4, !tbaa !5
  %3199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3190, ptr noundef nonnull %.str.5.sink2563, i32 noundef %3191, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 243, ptr noundef %3193, ptr noundef %3195, ptr noundef %3197, i32 noundef %3198) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3200:                                             ; preds = %3173
  %3201 = load i32, ptr @test_count, align 4, !tbaa !5
  %3202 = add nsw i32 %3201, 1
  store i32 %3202, ptr @test_count, align 4, !tbaa !5
  %3203 = load ptr, ptr %22, align 8, !tbaa !9
  %3204 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %3203, i32 noundef 128) #12
  br i1 %3204, label %3227, label %3205

3205:                                             ; preds = %3200
  %3206 = load i32, ptr %1901, align 4, !tbaa !5
  %3207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3208 = call i32 @s2n_print_stacktrace(ptr noundef %3207) #12
  %3209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3210 = trunc nuw i8 %3209 to i1
  br i1 %3210, label %3211, label %3215

3211:                                             ; preds = %3205
  %3212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3213 = call i32 @fileno(ptr noundef %3212) #12
  %3214 = call i32 @isatty(i32 noundef %3213) #12
  %.not1044 = icmp eq i32 %3214, 0
  br i1 %.not1044, label %3215, label %3216

3215:                                             ; preds = %3211, %3205
  br label %3216

3216:                                             ; preds = %3211, %3215
  %.str.5.sink2572 = phi ptr [ @.str.5, %3215 ], [ @.str.2, %3211 ]
  store i32 %3206, ptr %1901, align 4, !tbaa !5
  %3217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3218 = load i32, ptr @test_count, align 4, !tbaa !5
  %3219 = load i32, ptr %1847, align 4, !tbaa !5
  %3220 = call ptr @s2n_strerror(i32 noundef %3219, ptr noundef nonnull @.str.4) #12
  %3221 = load i32, ptr %1847, align 4, !tbaa !5
  %3222 = call ptr @s2n_strerror_debug(i32 noundef %3221, ptr noundef nonnull @.str.4) #12
  %3223 = load i32, ptr %1901, align 4, !tbaa !5
  %3224 = call ptr @strerror(i32 noundef %3223) #12
  %3225 = load i32, ptr %1901, align 4, !tbaa !5
  %3226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3217, ptr noundef nonnull %.str.5.sink2572, i32 noundef %3218, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 244, ptr noundef %3220, ptr noundef %3222, ptr noundef %3224, i32 noundef %3225) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3227:                                             ; preds = %3200
  %3228 = load i32, ptr @test_count, align 4, !tbaa !5
  %3229 = add nsw i32 %3228, 1
  store i32 %3229, ptr @test_count, align 4, !tbaa !5
  %3230 = load ptr, ptr %23, align 8, !tbaa !9
  %3231 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %3230, i32 noundef 128) #12
  br i1 %3231, label %3254, label %3232

3232:                                             ; preds = %3227
  %3233 = load i32, ptr %1901, align 4, !tbaa !5
  %3234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3235 = call i32 @s2n_print_stacktrace(ptr noundef %3234) #12
  %3236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3237 = trunc nuw i8 %3236 to i1
  br i1 %3237, label %3238, label %3242

3238:                                             ; preds = %3232
  %3239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3240 = call i32 @fileno(ptr noundef %3239) #12
  %3241 = call i32 @isatty(i32 noundef %3240) #12
  %.not1045 = icmp eq i32 %3241, 0
  br i1 %.not1045, label %3242, label %3243

3242:                                             ; preds = %3238, %3232
  br label %3243

3243:                                             ; preds = %3238, %3242
  %.str.5.sink2581 = phi ptr [ @.str.5, %3242 ], [ @.str.2, %3238 ]
  store i32 %3233, ptr %1901, align 4, !tbaa !5
  %3244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3245 = load i32, ptr @test_count, align 4, !tbaa !5
  %3246 = load i32, ptr %1847, align 4, !tbaa !5
  %3247 = call ptr @s2n_strerror(i32 noundef %3246, ptr noundef nonnull @.str.4) #12
  %3248 = load i32, ptr %1847, align 4, !tbaa !5
  %3249 = call ptr @s2n_strerror_debug(i32 noundef %3248, ptr noundef nonnull @.str.4) #12
  %3250 = load i32, ptr %1901, align 4, !tbaa !5
  %3251 = call ptr @strerror(i32 noundef %3250) #12
  %3252 = load i32, ptr %1901, align 4, !tbaa !5
  %3253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3244, ptr noundef nonnull %.str.5.sink2581, i32 noundef %3245, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 245, ptr noundef %3247, ptr noundef %3249, ptr noundef %3251, i32 noundef %3252) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3254:                                             ; preds = %3227
  %3255 = load i32, ptr @test_count, align 4, !tbaa !5
  %3256 = add nsw i32 %3255, 1
  store i32 %3256, ptr @test_count, align 4, !tbaa !5
  %3257 = load ptr, ptr %22, align 8, !tbaa !9
  %3258 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %3257, i32 noundef 2) #12
  br i1 %3258, label %3259, label %3281

3259:                                             ; preds = %3254
  %3260 = load i32, ptr %1901, align 4, !tbaa !5
  %3261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3262 = call i32 @s2n_print_stacktrace(ptr noundef %3261) #12
  %3263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3264 = trunc nuw i8 %3263 to i1
  br i1 %3264, label %3265, label %3269

3265:                                             ; preds = %3259
  %3266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3267 = call i32 @fileno(ptr noundef %3266) #12
  %3268 = call i32 @isatty(i32 noundef %3267) #12
  %.not1397 = icmp eq i32 %3268, 0
  br i1 %.not1397, label %3269, label %3270

3269:                                             ; preds = %3265, %3259
  br label %3270

3270:                                             ; preds = %3265, %3269
  %.str.5.sink2590 = phi ptr [ @.str.5, %3269 ], [ @.str.2, %3265 ]
  store i32 %3260, ptr %1901, align 4, !tbaa !5
  %3271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3272 = load i32, ptr @test_count, align 4, !tbaa !5
  %3273 = load i32, ptr %1847, align 4, !tbaa !5
  %3274 = call ptr @s2n_strerror(i32 noundef %3273, ptr noundef nonnull @.str.4) #12
  %3275 = load i32, ptr %1847, align 4, !tbaa !5
  %3276 = call ptr @s2n_strerror_debug(i32 noundef %3275, ptr noundef nonnull @.str.4) #12
  %3277 = load i32, ptr %1901, align 4, !tbaa !5
  %3278 = call ptr @strerror(i32 noundef %3277) #12
  %3279 = load i32, ptr %1901, align 4, !tbaa !5
  %3280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3271, ptr noundef nonnull %.str.5.sink2590, i32 noundef %3272, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 246, ptr noundef %3274, ptr noundef %3276, ptr noundef %3278, i32 noundef %3279) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3281:                                             ; preds = %3254
  %3282 = load i32, ptr @test_count, align 4, !tbaa !5
  %3283 = add nsw i32 %3282, 1
  store i32 %3283, ptr @test_count, align 4, !tbaa !5
  %3284 = load ptr, ptr %23, align 8, !tbaa !9
  %3285 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %3284, i32 noundef 2) #12
  br i1 %3285, label %3286, label %3308

3286:                                             ; preds = %3281
  %3287 = load i32, ptr %1901, align 4, !tbaa !5
  %3288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3289 = call i32 @s2n_print_stacktrace(ptr noundef %3288) #12
  %3290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3291 = trunc nuw i8 %3290 to i1
  br i1 %3291, label %3292, label %3296

3292:                                             ; preds = %3286
  %3293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3294 = call i32 @fileno(ptr noundef %3293) #12
  %3295 = call i32 @isatty(i32 noundef %3294) #12
  %.not1396 = icmp eq i32 %3295, 0
  br i1 %.not1396, label %3296, label %3297

3296:                                             ; preds = %3292, %3286
  br label %3297

3297:                                             ; preds = %3292, %3296
  %.str.5.sink2599 = phi ptr [ @.str.5, %3296 ], [ @.str.2, %3292 ]
  store i32 %3287, ptr %1901, align 4, !tbaa !5
  %3298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3299 = load i32, ptr @test_count, align 4, !tbaa !5
  %3300 = load i32, ptr %1847, align 4, !tbaa !5
  %3301 = call ptr @s2n_strerror(i32 noundef %3300, ptr noundef nonnull @.str.4) #12
  %3302 = load i32, ptr %1847, align 4, !tbaa !5
  %3303 = call ptr @s2n_strerror_debug(i32 noundef %3302, ptr noundef nonnull @.str.4) #12
  %3304 = load i32, ptr %1901, align 4, !tbaa !5
  %3305 = call ptr @strerror(i32 noundef %3304) #12
  %3306 = load i32, ptr %1901, align 4, !tbaa !5
  %3307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3298, ptr noundef nonnull %.str.5.sink2599, i32 noundef %3299, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 247, ptr noundef %3301, ptr noundef %3303, ptr noundef %3305, i32 noundef %3306) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3308:                                             ; preds = %3281
  %3309 = load i32, ptr @test_count, align 4, !tbaa !5
  %3310 = add nsw i32 %3309, 1
  store i32 %3310, ptr @test_count, align 4, !tbaa !5
  %3311 = load ptr, ptr %22, align 8, !tbaa !9
  %3312 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %3311, i32 noundef 16) #12
  br i1 %3312, label %3313, label %3335

3313:                                             ; preds = %3308
  %3314 = load i32, ptr %1901, align 4, !tbaa !5
  %3315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3316 = call i32 @s2n_print_stacktrace(ptr noundef %3315) #12
  %3317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3318 = trunc nuw i8 %3317 to i1
  br i1 %3318, label %3319, label %3323

3319:                                             ; preds = %3313
  %3320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3321 = call i32 @fileno(ptr noundef %3320) #12
  %3322 = call i32 @isatty(i32 noundef %3321) #12
  %.not1395 = icmp eq i32 %3322, 0
  br i1 %.not1395, label %3323, label %3324

3323:                                             ; preds = %3319, %3313
  br label %3324

3324:                                             ; preds = %3319, %3323
  %.str.5.sink2608 = phi ptr [ @.str.5, %3323 ], [ @.str.2, %3319 ]
  store i32 %3314, ptr %1901, align 4, !tbaa !5
  %3325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3326 = load i32, ptr @test_count, align 4, !tbaa !5
  %3327 = load i32, ptr %1847, align 4, !tbaa !5
  %3328 = call ptr @s2n_strerror(i32 noundef %3327, ptr noundef nonnull @.str.4) #12
  %3329 = load i32, ptr %1847, align 4, !tbaa !5
  %3330 = call ptr @s2n_strerror_debug(i32 noundef %3329, ptr noundef nonnull @.str.4) #12
  %3331 = load i32, ptr %1901, align 4, !tbaa !5
  %3332 = call ptr @strerror(i32 noundef %3331) #12
  %3333 = load i32, ptr %1901, align 4, !tbaa !5
  %3334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3325, ptr noundef nonnull %.str.5.sink2608, i32 noundef %3326, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 248, ptr noundef %3328, ptr noundef %3330, ptr noundef %3332, i32 noundef %3333) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3335:                                             ; preds = %3308
  %3336 = load i32, ptr @test_count, align 4, !tbaa !5
  %3337 = add nsw i32 %3336, 1
  store i32 %3337, ptr @test_count, align 4, !tbaa !5
  %3338 = load ptr, ptr %23, align 8, !tbaa !9
  %3339 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %3338, i32 noundef 16) #12
  br i1 %3339, label %3340, label %3362

3340:                                             ; preds = %3335
  %3341 = load i32, ptr %1901, align 4, !tbaa !5
  %3342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3343 = call i32 @s2n_print_stacktrace(ptr noundef %3342) #12
  %3344 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3345 = trunc nuw i8 %3344 to i1
  br i1 %3345, label %3346, label %3350

3346:                                             ; preds = %3340
  %3347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3348 = call i32 @fileno(ptr noundef %3347) #12
  %3349 = call i32 @isatty(i32 noundef %3348) #12
  %.not1394 = icmp eq i32 %3349, 0
  br i1 %.not1394, label %3350, label %3351

3350:                                             ; preds = %3346, %3340
  br label %3351

3351:                                             ; preds = %3346, %3350
  %.str.5.sink2617 = phi ptr [ @.str.5, %3350 ], [ @.str.2, %3346 ]
  store i32 %3341, ptr %1901, align 4, !tbaa !5
  %3352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3353 = load i32, ptr @test_count, align 4, !tbaa !5
  %3354 = load i32, ptr %1847, align 4, !tbaa !5
  %3355 = call ptr @s2n_strerror(i32 noundef %3354, ptr noundef nonnull @.str.4) #12
  %3356 = load i32, ptr %1847, align 4, !tbaa !5
  %3357 = call ptr @s2n_strerror_debug(i32 noundef %3356, ptr noundef nonnull @.str.4) #12
  %3358 = load i32, ptr %1901, align 4, !tbaa !5
  %3359 = call ptr @strerror(i32 noundef %3358) #12
  %3360 = load i32, ptr %1901, align 4, !tbaa !5
  %3361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3352, ptr noundef nonnull %.str.5.sink2617, i32 noundef %3353, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 249, ptr noundef %3355, ptr noundef %3357, ptr noundef %3359, i32 noundef %3360) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3362:                                             ; preds = %3335
  %3363 = load i32, ptr @test_count, align 4, !tbaa !5
  %3364 = add nsw i32 %3363, 1
  store i32 %3364, ptr @test_count, align 4, !tbaa !5
  %3365 = load ptr, ptr %22, align 8, !tbaa !9
  %3366 = call i32 @s2n_conn_get_current_message_type(ptr noundef %3365) #12
  %3367 = icmp eq i32 %3366, 20
  br i1 %3367, label %3390, label %3368

3368:                                             ; preds = %3362
  %3369 = load i32, ptr %1901, align 4, !tbaa !5
  %3370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3371 = call i32 @s2n_print_stacktrace(ptr noundef %3370) #12
  %3372 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3373 = trunc nuw i8 %3372 to i1
  br i1 %3373, label %3374, label %3378

3374:                                             ; preds = %3368
  %3375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3376 = call i32 @fileno(ptr noundef %3375) #12
  %3377 = call i32 @isatty(i32 noundef %3376) #12
  %.not1046 = icmp eq i32 %3377, 0
  br i1 %.not1046, label %3378, label %3379

3378:                                             ; preds = %3374, %3368
  br label %3379

3379:                                             ; preds = %3374, %3378
  %.str.5.sink2626 = phi ptr [ @.str.5, %3378 ], [ @.str.2, %3374 ]
  store i32 %3369, ptr %1901, align 4, !tbaa !5
  %3380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3381 = load i32, ptr @test_count, align 4, !tbaa !5
  %3382 = load i32, ptr %1847, align 4, !tbaa !5
  %3383 = call ptr @s2n_strerror(i32 noundef %3382, ptr noundef nonnull @.str.4) #12
  %3384 = load i32, ptr %1847, align 4, !tbaa !5
  %3385 = call ptr @s2n_strerror_debug(i32 noundef %3384, ptr noundef nonnull @.str.4) #12
  %3386 = load i32, ptr %1901, align 4, !tbaa !5
  %3387 = call ptr @strerror(i32 noundef %3386) #12
  %3388 = load i32, ptr %1901, align 4, !tbaa !5
  %3389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3380, ptr noundef nonnull %.str.5.sink2626, i32 noundef %3381, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 251, ptr noundef %3383, ptr noundef %3385, ptr noundef %3387, i32 noundef %3388) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3390:                                             ; preds = %3362
  %3391 = load i32, ptr @test_count, align 4, !tbaa !5
  %3392 = add nsw i32 %3391, 1
  store i32 %3392, ptr @test_count, align 4, !tbaa !5
  %3393 = load ptr, ptr %23, align 8, !tbaa !9
  %3394 = call i32 @s2n_conn_get_current_message_type(ptr noundef %3393) #12
  %3395 = icmp eq i32 %3394, 20
  br i1 %3395, label %3418, label %3396

3396:                                             ; preds = %3390
  %3397 = load i32, ptr %1901, align 4, !tbaa !5
  %3398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3399 = call i32 @s2n_print_stacktrace(ptr noundef %3398) #12
  %3400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3401 = trunc nuw i8 %3400 to i1
  br i1 %3401, label %3402, label %3406

3402:                                             ; preds = %3396
  %3403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3404 = call i32 @fileno(ptr noundef %3403) #12
  %3405 = call i32 @isatty(i32 noundef %3404) #12
  %.not1047 = icmp eq i32 %3405, 0
  br i1 %.not1047, label %3406, label %3407

3406:                                             ; preds = %3402, %3396
  br label %3407

3407:                                             ; preds = %3402, %3406
  %.str.5.sink2635 = phi ptr [ @.str.5, %3406 ], [ @.str.2, %3402 ]
  store i32 %3397, ptr %1901, align 4, !tbaa !5
  %3408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3409 = load i32, ptr @test_count, align 4, !tbaa !5
  %3410 = load i32, ptr %1847, align 4, !tbaa !5
  %3411 = call ptr @s2n_strerror(i32 noundef %3410, ptr noundef nonnull @.str.4) #12
  %3412 = load i32, ptr %1847, align 4, !tbaa !5
  %3413 = call ptr @s2n_strerror_debug(i32 noundef %3412, ptr noundef nonnull @.str.4) #12
  %3414 = load i32, ptr %1901, align 4, !tbaa !5
  %3415 = call ptr @strerror(i32 noundef %3414) #12
  %3416 = load i32, ptr %1901, align 4, !tbaa !5
  %3417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3408, ptr noundef nonnull %.str.5.sink2635, i32 noundef %3409, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 252, ptr noundef %3411, ptr noundef %3413, ptr noundef %3415, i32 noundef %3416) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3418:                                             ; preds = %3390
  %3419 = load i32, ptr @test_count, align 4, !tbaa !5
  %3420 = add nsw i32 %3419, 1
  store i32 %3420, ptr @test_count, align 4, !tbaa !5
  %3421 = load ptr, ptr %23, align 8, !tbaa !9
  %3422 = load ptr, ptr %22, align 8, !tbaa !9
  %3423 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %3421, ptr noundef %3422) #12
  %3424 = icmp eq i32 %3423, -1
  br i1 %3424, label %3425, label %3447

3425:                                             ; preds = %3418
  %3426 = load i32, ptr %1901, align 4, !tbaa !5
  %3427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3428 = call i32 @s2n_print_stacktrace(ptr noundef %3427) #12
  %3429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3430 = trunc nuw i8 %3429 to i1
  br i1 %3430, label %3431, label %3435

3431:                                             ; preds = %3425
  %3432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3433 = call i32 @fileno(ptr noundef %3432) #12
  %3434 = call i32 @isatty(i32 noundef %3433) #12
  %.not1393 = icmp eq i32 %3434, 0
  br i1 %.not1393, label %3435, label %3436

3435:                                             ; preds = %3431, %3425
  br label %3436

3436:                                             ; preds = %3431, %3435
  %.str.5.sink2644 = phi ptr [ @.str.5, %3435 ], [ @.str.2, %3431 ]
  store i32 %3426, ptr %1901, align 4, !tbaa !5
  %3437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3438 = load i32, ptr @test_count, align 4, !tbaa !5
  %3439 = load i32, ptr %1847, align 4, !tbaa !5
  %3440 = call ptr @s2n_strerror(i32 noundef %3439, ptr noundef nonnull @.str.4) #12
  %3441 = load i32, ptr %1847, align 4, !tbaa !5
  %3442 = call ptr @s2n_strerror_debug(i32 noundef %3441, ptr noundef nonnull @.str.4) #12
  %3443 = load i32, ptr %1901, align 4, !tbaa !5
  %3444 = call ptr @strerror(i32 noundef %3443) #12
  %3445 = load i32, ptr %1901, align 4, !tbaa !5
  %3446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3437, ptr noundef nonnull %.str.5.sink2644, i32 noundef %3438, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 254, ptr noundef %3440, ptr noundef %3442, ptr noundef %3444, i32 noundef %3445) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3447:                                             ; preds = %3418
  %3448 = load i32, ptr @test_count, align 4, !tbaa !5
  %3449 = add nsw i32 %3448, 1
  store i32 %3449, ptr @test_count, align 4, !tbaa !5
  %3450 = load ptr, ptr %22, align 8, !tbaa !9
  %3451 = call i32 @s2n_connection_free(ptr noundef %3450) #12
  %3452 = icmp eq i32 %3451, -1
  br i1 %3452, label %3453, label %3475

3453:                                             ; preds = %3447
  %3454 = load i32, ptr %1901, align 4, !tbaa !5
  %3455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3456 = call i32 @s2n_print_stacktrace(ptr noundef %3455) #12
  %3457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3458 = trunc nuw i8 %3457 to i1
  br i1 %3458, label %3459, label %3463

3459:                                             ; preds = %3453
  %3460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3461 = call i32 @fileno(ptr noundef %3460) #12
  %3462 = call i32 @isatty(i32 noundef %3461) #12
  %.not1392 = icmp eq i32 %3462, 0
  br i1 %.not1392, label %3463, label %3464

3463:                                             ; preds = %3459, %3453
  br label %3464

3464:                                             ; preds = %3459, %3463
  %.str.5.sink2653 = phi ptr [ @.str.5, %3463 ], [ @.str.2, %3459 ]
  store i32 %3454, ptr %1901, align 4, !tbaa !5
  %3465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3466 = load i32, ptr @test_count, align 4, !tbaa !5
  %3467 = load i32, ptr %1847, align 4, !tbaa !5
  %3468 = call ptr @s2n_strerror(i32 noundef %3467, ptr noundef nonnull @.str.4) #12
  %3469 = load i32, ptr %1847, align 4, !tbaa !5
  %3470 = call ptr @s2n_strerror_debug(i32 noundef %3469, ptr noundef nonnull @.str.4) #12
  %3471 = load i32, ptr %1901, align 4, !tbaa !5
  %3472 = call ptr @strerror(i32 noundef %3471) #12
  %3473 = load i32, ptr %1901, align 4, !tbaa !5
  %3474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3465, ptr noundef nonnull %.str.5.sink2653, i32 noundef %3466, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 255, ptr noundef %3468, ptr noundef %3470, ptr noundef %3472, i32 noundef %3473) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3475:                                             ; preds = %3447
  %3476 = load i32, ptr @test_count, align 4, !tbaa !5
  %3477 = add nsw i32 %3476, 1
  store i32 %3477, ptr @test_count, align 4, !tbaa !5
  %3478 = load ptr, ptr %23, align 8, !tbaa !9
  %3479 = call i32 @s2n_connection_free(ptr noundef %3478) #12
  %3480 = icmp eq i32 %3479, -1
  br i1 %3480, label %3481, label %3503

3481:                                             ; preds = %3475
  %3482 = load i32, ptr %1901, align 4, !tbaa !5
  %3483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3484 = call i32 @s2n_print_stacktrace(ptr noundef %3483) #12
  %3485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3486 = trunc nuw i8 %3485 to i1
  br i1 %3486, label %3487, label %3491

3487:                                             ; preds = %3481
  %3488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3489 = call i32 @fileno(ptr noundef %3488) #12
  %3490 = call i32 @isatty(i32 noundef %3489) #12
  %.not1391 = icmp eq i32 %3490, 0
  br i1 %.not1391, label %3491, label %3492

3491:                                             ; preds = %3487, %3481
  br label %3492

3492:                                             ; preds = %3487, %3491
  %.str.5.sink2662 = phi ptr [ @.str.5, %3491 ], [ @.str.2, %3487 ]
  store i32 %3482, ptr %1901, align 4, !tbaa !5
  %3493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3494 = load i32, ptr @test_count, align 4, !tbaa !5
  %3495 = load i32, ptr %1847, align 4, !tbaa !5
  %3496 = call ptr @s2n_strerror(i32 noundef %3495, ptr noundef nonnull @.str.4) #12
  %3497 = load i32, ptr %1847, align 4, !tbaa !5
  %3498 = call ptr @s2n_strerror_debug(i32 noundef %3497, ptr noundef nonnull @.str.4) #12
  %3499 = load i32, ptr %1901, align 4, !tbaa !5
  %3500 = call ptr @strerror(i32 noundef %3499) #12
  %3501 = load i32, ptr %1901, align 4, !tbaa !5
  %3502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3493, ptr noundef nonnull %.str.5.sink2662, i32 noundef %3494, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 256, ptr noundef %3496, ptr noundef %3498, ptr noundef %3500, i32 noundef %3501) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3503:                                             ; preds = %3475
  %3504 = load i32, ptr @test_count, align 4, !tbaa !5
  %3505 = add nsw i32 %3504, 1
  store i32 %3505, ptr @test_count, align 4, !tbaa !5
  %3506 = call i32 @s2n_config_free(ptr noundef nonnull %2652) #12
  %3507 = icmp eq i32 %3506, -1
  br i1 %3507, label %3508, label %3530

3508:                                             ; preds = %3503
  %3509 = load i32, ptr %1901, align 4, !tbaa !5
  %3510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3511 = call i32 @s2n_print_stacktrace(ptr noundef %3510) #12
  %3512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3513 = trunc nuw i8 %3512 to i1
  br i1 %3513, label %3514, label %3518

3514:                                             ; preds = %3508
  %3515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3516 = call i32 @fileno(ptr noundef %3515) #12
  %3517 = call i32 @isatty(i32 noundef %3516) #12
  %.not1390 = icmp eq i32 %3517, 0
  br i1 %.not1390, label %3518, label %3519

3518:                                             ; preds = %3514, %3508
  br label %3519

3519:                                             ; preds = %3514, %3518
  %.str.5.sink2671 = phi ptr [ @.str.5, %3518 ], [ @.str.2, %3514 ]
  store i32 %3509, ptr %1901, align 4, !tbaa !5
  %3520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3521 = load i32, ptr @test_count, align 4, !tbaa !5
  %3522 = load i32, ptr %1847, align 4, !tbaa !5
  %3523 = call ptr @s2n_strerror(i32 noundef %3522, ptr noundef nonnull @.str.4) #12
  %3524 = load i32, ptr %1847, align 4, !tbaa !5
  %3525 = call ptr @s2n_strerror_debug(i32 noundef %3524, ptr noundef nonnull @.str.4) #12
  %3526 = load i32, ptr %1901, align 4, !tbaa !5
  %3527 = call ptr @strerror(i32 noundef %3526) #12
  %3528 = load i32, ptr %1901, align 4, !tbaa !5
  %3529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3520, ptr noundef nonnull %.str.5.sink2671, i32 noundef %3521, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 257, ptr noundef %3523, ptr noundef %3525, ptr noundef %3527, i32 noundef %3528) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3530:                                             ; preds = %3503
  %3531 = call i32 @s2n_io_pair_close(ptr noundef nonnull %24) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #12
  store ptr null, ptr %25, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #12
  store ptr null, ptr %26, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #12
  store i64 0, ptr %27, align 8
  %3532 = load i32, ptr @test_count, align 4, !tbaa !5
  %3533 = add nsw i32 %3532, 1
  store i32 %3533, ptr @test_count, align 4, !tbaa !5
  %3534 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %25, ptr noundef nonnull %26, ptr noundef nonnull %27)
  %3535 = call zeroext i1 @s2n_result_is_ok(i32 %3534)
  br i1 %3535, label %3558, label %3536

3536:                                             ; preds = %3530
  %3537 = load i32, ptr %1901, align 4, !tbaa !5
  %3538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3539 = call i32 @s2n_print_stacktrace(ptr noundef %3538) #12
  %3540 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3541 = trunc nuw i8 %3540 to i1
  br i1 %3541, label %3542, label %3546

3542:                                             ; preds = %3536
  %3543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3544 = call i32 @fileno(ptr noundef %3543) #12
  %3545 = call i32 @isatty(i32 noundef %3544) #12
  %.not1048 = icmp eq i32 %3545, 0
  br i1 %.not1048, label %3546, label %3547

3546:                                             ; preds = %3542, %3536
  br label %3547

3547:                                             ; preds = %3542, %3546
  %.str.5.sink2680 = phi ptr [ @.str.5, %3546 ], [ @.str.2, %3542 ]
  store i32 %3537, ptr %1901, align 4, !tbaa !5
  %3548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3549 = load i32, ptr @test_count, align 4, !tbaa !5
  %3550 = load i32, ptr %1847, align 4, !tbaa !5
  %3551 = call ptr @s2n_strerror(i32 noundef %3550, ptr noundef nonnull @.str.4) #12
  %3552 = load i32, ptr %1847, align 4, !tbaa !5
  %3553 = call ptr @s2n_strerror_debug(i32 noundef %3552, ptr noundef nonnull @.str.4) #12
  %3554 = load i32, ptr %1901, align 4, !tbaa !5
  %3555 = call ptr @strerror(i32 noundef %3554) #12
  %3556 = load i32, ptr %1901, align 4, !tbaa !5
  %3557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3548, ptr noundef nonnull %.str.5.sink2680, i32 noundef %3549, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 264, ptr noundef %3551, ptr noundef %3553, ptr noundef %3555, i32 noundef %3556) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3558:                                             ; preds = %3530
  %3559 = load i32, ptr @test_count, align 4, !tbaa !5
  %3560 = add nsw i32 %3559, 1
  store i32 %3560, ptr @test_count, align 4, !tbaa !5
  %3561 = load ptr, ptr %25, align 8, !tbaa !9
  %3562 = call i32 @s2n_connection_append_psk(ptr noundef %3561, ptr noundef %243) #12
  %3563 = icmp eq i32 %3562, -1
  br i1 %3563, label %3564, label %3586

3564:                                             ; preds = %3558
  %3565 = load i32, ptr %1901, align 4, !tbaa !5
  %3566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3567 = call i32 @s2n_print_stacktrace(ptr noundef %3566) #12
  %3568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3569 = trunc nuw i8 %3568 to i1
  br i1 %3569, label %3570, label %3574

3570:                                             ; preds = %3564
  %3571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3572 = call i32 @fileno(ptr noundef %3571) #12
  %3573 = call i32 @isatty(i32 noundef %3572) #12
  %.not1389 = icmp eq i32 %3573, 0
  br i1 %.not1389, label %3574, label %3575

3574:                                             ; preds = %3570, %3564
  br label %3575

3575:                                             ; preds = %3570, %3574
  %.str.5.sink2689 = phi ptr [ @.str.5, %3574 ], [ @.str.2, %3570 ]
  store i32 %3565, ptr %1901, align 4, !tbaa !5
  %3576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3577 = load i32, ptr @test_count, align 4, !tbaa !5
  %3578 = load i32, ptr %1847, align 4, !tbaa !5
  %3579 = call ptr @s2n_strerror(i32 noundef %3578, ptr noundef nonnull @.str.4) #12
  %3580 = load i32, ptr %1847, align 4, !tbaa !5
  %3581 = call ptr @s2n_strerror_debug(i32 noundef %3580, ptr noundef nonnull @.str.4) #12
  %3582 = load i32, ptr %1901, align 4, !tbaa !5
  %3583 = call ptr @strerror(i32 noundef %3582) #12
  %3584 = load i32, ptr %1901, align 4, !tbaa !5
  %3585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3576, ptr noundef nonnull %.str.5.sink2689, i32 noundef %3577, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 266, ptr noundef %3579, ptr noundef %3581, ptr noundef %3583, i32 noundef %3584) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3586:                                             ; preds = %3558
  %3587 = load i32, ptr @test_count, align 4, !tbaa !5
  %3588 = add nsw i32 %3587, 1
  store i32 %3588, ptr @test_count, align 4, !tbaa !5
  %3589 = load ptr, ptr %26, align 8, !tbaa !9
  %3590 = call i32 @s2n_connection_append_psk(ptr noundef %3589, ptr noundef %331) #12
  %3591 = icmp eq i32 %3590, -1
  br i1 %3591, label %3592, label %3614

3592:                                             ; preds = %3586
  %3593 = load i32, ptr %1901, align 4, !tbaa !5
  %3594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3595 = call i32 @s2n_print_stacktrace(ptr noundef %3594) #12
  %3596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3597 = trunc nuw i8 %3596 to i1
  br i1 %3597, label %3598, label %3602

3598:                                             ; preds = %3592
  %3599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3600 = call i32 @fileno(ptr noundef %3599) #12
  %3601 = call i32 @isatty(i32 noundef %3600) #12
  %.not1388 = icmp eq i32 %3601, 0
  br i1 %.not1388, label %3602, label %3603

3602:                                             ; preds = %3598, %3592
  br label %3603

3603:                                             ; preds = %3598, %3602
  %.str.5.sink2698 = phi ptr [ @.str.5, %3602 ], [ @.str.2, %3598 ]
  store i32 %3593, ptr %1901, align 4, !tbaa !5
  %3604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3605 = load i32, ptr @test_count, align 4, !tbaa !5
  %3606 = load i32, ptr %1847, align 4, !tbaa !5
  %3607 = call ptr @s2n_strerror(i32 noundef %3606, ptr noundef nonnull @.str.4) #12
  %3608 = load i32, ptr %1847, align 4, !tbaa !5
  %3609 = call ptr @s2n_strerror_debug(i32 noundef %3608, ptr noundef nonnull @.str.4) #12
  %3610 = load i32, ptr %1901, align 4, !tbaa !5
  %3611 = call ptr @strerror(i32 noundef %3610) #12
  %3612 = load i32, ptr %1901, align 4, !tbaa !5
  %3613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3604, ptr noundef nonnull %.str.5.sink2698, i32 noundef %3605, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %3607, ptr noundef %3609, ptr noundef %3611, i32 noundef %3612) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3614:                                             ; preds = %3586
  %3615 = load i32, ptr @test_count, align 4, !tbaa !5
  %3616 = add nsw i32 %3615, 1
  store i32 %3616, ptr @test_count, align 4, !tbaa !5
  %3617 = load ptr, ptr %25, align 8, !tbaa !9
  %3618 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %3617) #12
  %3619 = icmp eq i32 %3618, -1
  br i1 %3619, label %3620, label %3642

3620:                                             ; preds = %3614
  %3621 = load i32, ptr %1901, align 4, !tbaa !5
  %3622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3623 = call i32 @s2n_print_stacktrace(ptr noundef %3622) #12
  %3624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3625 = trunc nuw i8 %3624 to i1
  br i1 %3625, label %3626, label %3630

3626:                                             ; preds = %3620
  %3627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3628 = call i32 @fileno(ptr noundef %3627) #12
  %3629 = call i32 @isatty(i32 noundef %3628) #12
  %.not1387 = icmp eq i32 %3629, 0
  br i1 %.not1387, label %3630, label %3631

3630:                                             ; preds = %3626, %3620
  br label %3631

3631:                                             ; preds = %3626, %3630
  %.str.5.sink2707 = phi ptr [ @.str.5, %3630 ], [ @.str.2, %3626 ]
  store i32 %3621, ptr %1901, align 4, !tbaa !5
  %3632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3633 = load i32, ptr @test_count, align 4, !tbaa !5
  %3634 = load i32, ptr %1847, align 4, !tbaa !5
  %3635 = call ptr @s2n_strerror(i32 noundef %3634, ptr noundef nonnull @.str.4) #12
  %3636 = load i32, ptr %1847, align 4, !tbaa !5
  %3637 = call ptr @s2n_strerror_debug(i32 noundef %3636, ptr noundef nonnull @.str.4) #12
  %3638 = load i32, ptr %1901, align 4, !tbaa !5
  %3639 = call ptr @strerror(i32 noundef %3638) #12
  %3640 = load i32, ptr %1901, align 4, !tbaa !5
  %3641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3632, ptr noundef nonnull %.str.5.sink2707, i32 noundef %3633, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 268, ptr noundef %3635, ptr noundef %3637, ptr noundef %3639, i32 noundef %3640) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3642:                                             ; preds = %3614
  %3643 = load i32, ptr @test_count, align 4, !tbaa !5
  %3644 = add nsw i32 %3643, 1
  store i32 %3644, ptr @test_count, align 4, !tbaa !5
  %3645 = load ptr, ptr %26, align 8, !tbaa !9
  %3646 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %3645) #12
  %3647 = icmp eq i32 %3646, -1
  br i1 %3647, label %3648, label %3670

3648:                                             ; preds = %3642
  %3649 = load i32, ptr %1901, align 4, !tbaa !5
  %3650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3651 = call i32 @s2n_print_stacktrace(ptr noundef %3650) #12
  %3652 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3653 = trunc nuw i8 %3652 to i1
  br i1 %3653, label %3654, label %3658

3654:                                             ; preds = %3648
  %3655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3656 = call i32 @fileno(ptr noundef %3655) #12
  %3657 = call i32 @isatty(i32 noundef %3656) #12
  %.not1386 = icmp eq i32 %3657, 0
  br i1 %.not1386, label %3658, label %3659

3658:                                             ; preds = %3654, %3648
  br label %3659

3659:                                             ; preds = %3654, %3658
  %.str.5.sink2716 = phi ptr [ @.str.5, %3658 ], [ @.str.2, %3654 ]
  store i32 %3649, ptr %1901, align 4, !tbaa !5
  %3660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3661 = load i32, ptr @test_count, align 4, !tbaa !5
  %3662 = load i32, ptr %1847, align 4, !tbaa !5
  %3663 = call ptr @s2n_strerror(i32 noundef %3662, ptr noundef nonnull @.str.4) #12
  %3664 = load i32, ptr %1847, align 4, !tbaa !5
  %3665 = call ptr @s2n_strerror_debug(i32 noundef %3664, ptr noundef nonnull @.str.4) #12
  %3666 = load i32, ptr %1901, align 4, !tbaa !5
  %3667 = call ptr @strerror(i32 noundef %3666) #12
  %3668 = load i32, ptr %1901, align 4, !tbaa !5
  %3669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3660, ptr noundef nonnull %.str.5.sink2716, i32 noundef %3661, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 269, ptr noundef %3663, ptr noundef %3665, ptr noundef %3667, i32 noundef %3668) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3670:                                             ; preds = %3642
  %3671 = load i32, ptr @test_count, align 4, !tbaa !5
  %3672 = add nsw i32 %3671, 1
  store i32 %3672, ptr @test_count, align 4, !tbaa !5
  %3673 = load ptr, ptr %26, align 8, !tbaa !9
  %3674 = load ptr, ptr %25, align 8, !tbaa !9
  %3675 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3673, ptr noundef %3674) #12
  %3676 = icmp eq i32 %3675, -1
  br i1 %3676, label %3677, label %3699

3677:                                             ; preds = %3670
  %3678 = load i32, ptr %1901, align 4, !tbaa !5
  %3679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3680 = call i32 @s2n_print_stacktrace(ptr noundef %3679) #12
  %3681 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3682 = trunc nuw i8 %3681 to i1
  br i1 %3682, label %3683, label %3687

3683:                                             ; preds = %3677
  %3684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3685 = call i32 @fileno(ptr noundef %3684) #12
  %3686 = call i32 @isatty(i32 noundef %3685) #12
  %.not1385 = icmp eq i32 %3686, 0
  br i1 %.not1385, label %3687, label %3688

3687:                                             ; preds = %3683, %3677
  br label %3688

3688:                                             ; preds = %3683, %3687
  %.str.5.sink2725 = phi ptr [ @.str.5, %3687 ], [ @.str.2, %3683 ]
  store i32 %3678, ptr %1901, align 4, !tbaa !5
  %3689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3690 = load i32, ptr @test_count, align 4, !tbaa !5
  %3691 = load i32, ptr %1847, align 4, !tbaa !5
  %3692 = call ptr @s2n_strerror(i32 noundef %3691, ptr noundef nonnull @.str.4) #12
  %3693 = load i32, ptr %1847, align 4, !tbaa !5
  %3694 = call ptr @s2n_strerror_debug(i32 noundef %3693, ptr noundef nonnull @.str.4) #12
  %3695 = load i32, ptr %1901, align 4, !tbaa !5
  %3696 = call ptr @strerror(i32 noundef %3695) #12
  %3697 = load i32, ptr %1901, align 4, !tbaa !5
  %3698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3689, ptr noundef nonnull %.str.5.sink2725, i32 noundef %3690, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 271, ptr noundef %3692, ptr noundef %3694, ptr noundef %3696, i32 noundef %3697) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3699:                                             ; preds = %3670
  %3700 = load i32, ptr @test_count, align 4, !tbaa !5
  %3701 = add nsw i32 %3700, 1
  store i32 %3701, ptr @test_count, align 4, !tbaa !5
  %3702 = load ptr, ptr %25, align 8, !tbaa !9
  %3703 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %3702, i32 noundef 64) #12
  br i1 %3703, label %3704, label %3726

3704:                                             ; preds = %3699
  %3705 = load i32, ptr %1901, align 4, !tbaa !5
  %3706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3707 = call i32 @s2n_print_stacktrace(ptr noundef %3706) #12
  %3708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3709 = trunc nuw i8 %3708 to i1
  br i1 %3709, label %3710, label %3714

3710:                                             ; preds = %3704
  %3711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3712 = call i32 @fileno(ptr noundef %3711) #12
  %3713 = call i32 @isatty(i32 noundef %3712) #12
  %.not1384 = icmp eq i32 %3713, 0
  br i1 %.not1384, label %3714, label %3715

3714:                                             ; preds = %3710, %3704
  br label %3715

3715:                                             ; preds = %3710, %3714
  %.str.5.sink2734 = phi ptr [ @.str.5, %3714 ], [ @.str.2, %3710 ]
  store i32 %3705, ptr %1901, align 4, !tbaa !5
  %3716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3717 = load i32, ptr @test_count, align 4, !tbaa !5
  %3718 = load i32, ptr %1847, align 4, !tbaa !5
  %3719 = call ptr @s2n_strerror(i32 noundef %3718, ptr noundef nonnull @.str.4) #12
  %3720 = load i32, ptr %1847, align 4, !tbaa !5
  %3721 = call ptr @s2n_strerror_debug(i32 noundef %3720, ptr noundef nonnull @.str.4) #12
  %3722 = load i32, ptr %1901, align 4, !tbaa !5
  %3723 = call ptr @strerror(i32 noundef %3722) #12
  %3724 = load i32, ptr %1901, align 4, !tbaa !5
  %3725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3716, ptr noundef nonnull %.str.5.sink2734, i32 noundef %3717, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 273, ptr noundef %3719, ptr noundef %3721, ptr noundef %3723, i32 noundef %3724) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3726:                                             ; preds = %3699
  %3727 = load i32, ptr @test_count, align 4, !tbaa !5
  %3728 = add nsw i32 %3727, 1
  store i32 %3728, ptr @test_count, align 4, !tbaa !5
  %3729 = load ptr, ptr %26, align 8, !tbaa !9
  %3730 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %3729, i32 noundef 64) #12
  br i1 %3730, label %3731, label %3753

3731:                                             ; preds = %3726
  %3732 = load i32, ptr %1901, align 4, !tbaa !5
  %3733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3734 = call i32 @s2n_print_stacktrace(ptr noundef %3733) #12
  %3735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3736 = trunc nuw i8 %3735 to i1
  br i1 %3736, label %3737, label %3741

3737:                                             ; preds = %3731
  %3738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3739 = call i32 @fileno(ptr noundef %3738) #12
  %3740 = call i32 @isatty(i32 noundef %3739) #12
  %.not1383 = icmp eq i32 %3740, 0
  br i1 %.not1383, label %3741, label %3742

3741:                                             ; preds = %3737, %3731
  br label %3742

3742:                                             ; preds = %3737, %3741
  %.str.5.sink2743 = phi ptr [ @.str.5, %3741 ], [ @.str.2, %3737 ]
  store i32 %3732, ptr %1901, align 4, !tbaa !5
  %3743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3744 = load i32, ptr @test_count, align 4, !tbaa !5
  %3745 = load i32, ptr %1847, align 4, !tbaa !5
  %3746 = call ptr @s2n_strerror(i32 noundef %3745, ptr noundef nonnull @.str.4) #12
  %3747 = load i32, ptr %1847, align 4, !tbaa !5
  %3748 = call ptr @s2n_strerror_debug(i32 noundef %3747, ptr noundef nonnull @.str.4) #12
  %3749 = load i32, ptr %1901, align 4, !tbaa !5
  %3750 = call ptr @strerror(i32 noundef %3749) #12
  %3751 = load i32, ptr %1901, align 4, !tbaa !5
  %3752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3743, ptr noundef nonnull %.str.5.sink2743, i32 noundef %3744, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 274, ptr noundef %3746, ptr noundef %3748, ptr noundef %3750, i32 noundef %3751) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3753:                                             ; preds = %3726
  %3754 = load i32, ptr @test_count, align 4, !tbaa !5
  %3755 = add nsw i32 %3754, 1
  store i32 %3755, ptr @test_count, align 4, !tbaa !5
  %3756 = load ptr, ptr %25, align 8, !tbaa !9
  %3757 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %3756, i32 noundef 128) #12
  br i1 %3757, label %3780, label %3758

3758:                                             ; preds = %3753
  %3759 = load i32, ptr %1901, align 4, !tbaa !5
  %3760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3761 = call i32 @s2n_print_stacktrace(ptr noundef %3760) #12
  %3762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3763 = trunc nuw i8 %3762 to i1
  br i1 %3763, label %3764, label %3768

3764:                                             ; preds = %3758
  %3765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3766 = call i32 @fileno(ptr noundef %3765) #12
  %3767 = call i32 @isatty(i32 noundef %3766) #12
  %.not1049 = icmp eq i32 %3767, 0
  br i1 %.not1049, label %3768, label %3769

3768:                                             ; preds = %3764, %3758
  br label %3769

3769:                                             ; preds = %3764, %3768
  %.str.5.sink2752 = phi ptr [ @.str.5, %3768 ], [ @.str.2, %3764 ]
  store i32 %3759, ptr %1901, align 4, !tbaa !5
  %3770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3771 = load i32, ptr @test_count, align 4, !tbaa !5
  %3772 = load i32, ptr %1847, align 4, !tbaa !5
  %3773 = call ptr @s2n_strerror(i32 noundef %3772, ptr noundef nonnull @.str.4) #12
  %3774 = load i32, ptr %1847, align 4, !tbaa !5
  %3775 = call ptr @s2n_strerror_debug(i32 noundef %3774, ptr noundef nonnull @.str.4) #12
  %3776 = load i32, ptr %1901, align 4, !tbaa !5
  %3777 = call ptr @strerror(i32 noundef %3776) #12
  %3778 = load i32, ptr %1901, align 4, !tbaa !5
  %3779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3770, ptr noundef nonnull %.str.5.sink2752, i32 noundef %3771, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 275, ptr noundef %3773, ptr noundef %3775, ptr noundef %3777, i32 noundef %3778) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3780:                                             ; preds = %3753
  %3781 = load i32, ptr @test_count, align 4, !tbaa !5
  %3782 = add nsw i32 %3781, 1
  store i32 %3782, ptr @test_count, align 4, !tbaa !5
  %3783 = load ptr, ptr %26, align 8, !tbaa !9
  %3784 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %3783, i32 noundef 128) #12
  br i1 %3784, label %3807, label %3785

3785:                                             ; preds = %3780
  %3786 = load i32, ptr %1901, align 4, !tbaa !5
  %3787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3788 = call i32 @s2n_print_stacktrace(ptr noundef %3787) #12
  %3789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3790 = trunc nuw i8 %3789 to i1
  br i1 %3790, label %3791, label %3795

3791:                                             ; preds = %3785
  %3792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3793 = call i32 @fileno(ptr noundef %3792) #12
  %3794 = call i32 @isatty(i32 noundef %3793) #12
  %.not1050 = icmp eq i32 %3794, 0
  br i1 %.not1050, label %3795, label %3796

3795:                                             ; preds = %3791, %3785
  br label %3796

3796:                                             ; preds = %3791, %3795
  %.str.5.sink2761 = phi ptr [ @.str.5, %3795 ], [ @.str.2, %3791 ]
  store i32 %3786, ptr %1901, align 4, !tbaa !5
  %3797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3798 = load i32, ptr @test_count, align 4, !tbaa !5
  %3799 = load i32, ptr %1847, align 4, !tbaa !5
  %3800 = call ptr @s2n_strerror(i32 noundef %3799, ptr noundef nonnull @.str.4) #12
  %3801 = load i32, ptr %1847, align 4, !tbaa !5
  %3802 = call ptr @s2n_strerror_debug(i32 noundef %3801, ptr noundef nonnull @.str.4) #12
  %3803 = load i32, ptr %1901, align 4, !tbaa !5
  %3804 = call ptr @strerror(i32 noundef %3803) #12
  %3805 = load i32, ptr %1901, align 4, !tbaa !5
  %3806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3797, ptr noundef nonnull %.str.5.sink2761, i32 noundef %3798, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 276, ptr noundef %3800, ptr noundef %3802, ptr noundef %3804, i32 noundef %3805) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3807:                                             ; preds = %3780
  %3808 = load i32, ptr @test_count, align 4, !tbaa !5
  %3809 = add nsw i32 %3808, 1
  store i32 %3809, ptr @test_count, align 4, !tbaa !5
  %3810 = load ptr, ptr %25, align 8, !tbaa !9
  %3811 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %3810, i32 noundef 2) #12
  br i1 %3811, label %3812, label %3834

3812:                                             ; preds = %3807
  %3813 = load i32, ptr %1901, align 4, !tbaa !5
  %3814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3815 = call i32 @s2n_print_stacktrace(ptr noundef %3814) #12
  %3816 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3817 = trunc nuw i8 %3816 to i1
  br i1 %3817, label %3818, label %3822

3818:                                             ; preds = %3812
  %3819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3820 = call i32 @fileno(ptr noundef %3819) #12
  %3821 = call i32 @isatty(i32 noundef %3820) #12
  %.not1382 = icmp eq i32 %3821, 0
  br i1 %.not1382, label %3822, label %3823

3822:                                             ; preds = %3818, %3812
  br label %3823

3823:                                             ; preds = %3818, %3822
  %.str.5.sink2770 = phi ptr [ @.str.5, %3822 ], [ @.str.2, %3818 ]
  store i32 %3813, ptr %1901, align 4, !tbaa !5
  %3824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3825 = load i32, ptr @test_count, align 4, !tbaa !5
  %3826 = load i32, ptr %1847, align 4, !tbaa !5
  %3827 = call ptr @s2n_strerror(i32 noundef %3826, ptr noundef nonnull @.str.4) #12
  %3828 = load i32, ptr %1847, align 4, !tbaa !5
  %3829 = call ptr @s2n_strerror_debug(i32 noundef %3828, ptr noundef nonnull @.str.4) #12
  %3830 = load i32, ptr %1901, align 4, !tbaa !5
  %3831 = call ptr @strerror(i32 noundef %3830) #12
  %3832 = load i32, ptr %1901, align 4, !tbaa !5
  %3833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3824, ptr noundef nonnull %.str.5.sink2770, i32 noundef %3825, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 277, ptr noundef %3827, ptr noundef %3829, ptr noundef %3831, i32 noundef %3832) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3834:                                             ; preds = %3807
  %3835 = load i32, ptr @test_count, align 4, !tbaa !5
  %3836 = add nsw i32 %3835, 1
  store i32 %3836, ptr @test_count, align 4, !tbaa !5
  %3837 = load ptr, ptr %26, align 8, !tbaa !9
  %3838 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %3837, i32 noundef 2) #12
  br i1 %3838, label %3839, label %3861

3839:                                             ; preds = %3834
  %3840 = load i32, ptr %1901, align 4, !tbaa !5
  %3841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3842 = call i32 @s2n_print_stacktrace(ptr noundef %3841) #12
  %3843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3844 = trunc nuw i8 %3843 to i1
  br i1 %3844, label %3845, label %3849

3845:                                             ; preds = %3839
  %3846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3847 = call i32 @fileno(ptr noundef %3846) #12
  %3848 = call i32 @isatty(i32 noundef %3847) #12
  %.not1381 = icmp eq i32 %3848, 0
  br i1 %.not1381, label %3849, label %3850

3849:                                             ; preds = %3845, %3839
  br label %3850

3850:                                             ; preds = %3845, %3849
  %.str.5.sink2779 = phi ptr [ @.str.5, %3849 ], [ @.str.2, %3845 ]
  store i32 %3840, ptr %1901, align 4, !tbaa !5
  %3851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3852 = load i32, ptr @test_count, align 4, !tbaa !5
  %3853 = load i32, ptr %1847, align 4, !tbaa !5
  %3854 = call ptr @s2n_strerror(i32 noundef %3853, ptr noundef nonnull @.str.4) #12
  %3855 = load i32, ptr %1847, align 4, !tbaa !5
  %3856 = call ptr @s2n_strerror_debug(i32 noundef %3855, ptr noundef nonnull @.str.4) #12
  %3857 = load i32, ptr %1901, align 4, !tbaa !5
  %3858 = call ptr @strerror(i32 noundef %3857) #12
  %3859 = load i32, ptr %1901, align 4, !tbaa !5
  %3860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3851, ptr noundef nonnull %.str.5.sink2779, i32 noundef %3852, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 278, ptr noundef %3854, ptr noundef %3856, ptr noundef %3858, i32 noundef %3859) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3861:                                             ; preds = %3834
  %3862 = load i32, ptr @test_count, align 4, !tbaa !5
  %3863 = add nsw i32 %3862, 1
  store i32 %3863, ptr @test_count, align 4, !tbaa !5
  %3864 = load ptr, ptr %25, align 8, !tbaa !9
  %3865 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %3864, i32 noundef 16) #12
  br i1 %3865, label %3866, label %3888

3866:                                             ; preds = %3861
  %3867 = load i32, ptr %1901, align 4, !tbaa !5
  %3868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3869 = call i32 @s2n_print_stacktrace(ptr noundef %3868) #12
  %3870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3871 = trunc nuw i8 %3870 to i1
  br i1 %3871, label %3872, label %3876

3872:                                             ; preds = %3866
  %3873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3874 = call i32 @fileno(ptr noundef %3873) #12
  %3875 = call i32 @isatty(i32 noundef %3874) #12
  %.not1380 = icmp eq i32 %3875, 0
  br i1 %.not1380, label %3876, label %3877

3876:                                             ; preds = %3872, %3866
  br label %3877

3877:                                             ; preds = %3872, %3876
  %.str.5.sink2788 = phi ptr [ @.str.5, %3876 ], [ @.str.2, %3872 ]
  store i32 %3867, ptr %1901, align 4, !tbaa !5
  %3878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3879 = load i32, ptr @test_count, align 4, !tbaa !5
  %3880 = load i32, ptr %1847, align 4, !tbaa !5
  %3881 = call ptr @s2n_strerror(i32 noundef %3880, ptr noundef nonnull @.str.4) #12
  %3882 = load i32, ptr %1847, align 4, !tbaa !5
  %3883 = call ptr @s2n_strerror_debug(i32 noundef %3882, ptr noundef nonnull @.str.4) #12
  %3884 = load i32, ptr %1901, align 4, !tbaa !5
  %3885 = call ptr @strerror(i32 noundef %3884) #12
  %3886 = load i32, ptr %1901, align 4, !tbaa !5
  %3887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3878, ptr noundef nonnull %.str.5.sink2788, i32 noundef %3879, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 279, ptr noundef %3881, ptr noundef %3883, ptr noundef %3885, i32 noundef %3886) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3888:                                             ; preds = %3861
  %3889 = load i32, ptr @test_count, align 4, !tbaa !5
  %3890 = add nsw i32 %3889, 1
  store i32 %3890, ptr @test_count, align 4, !tbaa !5
  %3891 = load ptr, ptr %26, align 8, !tbaa !9
  %3892 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %3891, i32 noundef 16) #12
  br i1 %3892, label %3893, label %3915

3893:                                             ; preds = %3888
  %3894 = load i32, ptr %1901, align 4, !tbaa !5
  %3895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3896 = call i32 @s2n_print_stacktrace(ptr noundef %3895) #12
  %3897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3898 = trunc nuw i8 %3897 to i1
  br i1 %3898, label %3899, label %3903

3899:                                             ; preds = %3893
  %3900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3901 = call i32 @fileno(ptr noundef %3900) #12
  %3902 = call i32 @isatty(i32 noundef %3901) #12
  %.not1379 = icmp eq i32 %3902, 0
  br i1 %.not1379, label %3903, label %3904

3903:                                             ; preds = %3899, %3893
  br label %3904

3904:                                             ; preds = %3899, %3903
  %.str.5.sink2797 = phi ptr [ @.str.5, %3903 ], [ @.str.2, %3899 ]
  store i32 %3894, ptr %1901, align 4, !tbaa !5
  %3905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3906 = load i32, ptr @test_count, align 4, !tbaa !5
  %3907 = load i32, ptr %1847, align 4, !tbaa !5
  %3908 = call ptr @s2n_strerror(i32 noundef %3907, ptr noundef nonnull @.str.4) #12
  %3909 = load i32, ptr %1847, align 4, !tbaa !5
  %3910 = call ptr @s2n_strerror_debug(i32 noundef %3909, ptr noundef nonnull @.str.4) #12
  %3911 = load i32, ptr %1901, align 4, !tbaa !5
  %3912 = call ptr @strerror(i32 noundef %3911) #12
  %3913 = load i32, ptr %1901, align 4, !tbaa !5
  %3914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3905, ptr noundef nonnull %.str.5.sink2797, i32 noundef %3906, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 280, ptr noundef %3908, ptr noundef %3910, ptr noundef %3912, i32 noundef %3913) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3915:                                             ; preds = %3888
  %3916 = load i32, ptr @test_count, align 4, !tbaa !5
  %3917 = add nsw i32 %3916, 1
  store i32 %3917, ptr @test_count, align 4, !tbaa !5
  %3918 = load ptr, ptr %25, align 8, !tbaa !9
  %3919 = call i32 @s2n_conn_get_current_message_type(ptr noundef %3918) #12
  %3920 = icmp eq i32 %3919, 20
  br i1 %3920, label %3943, label %3921

3921:                                             ; preds = %3915
  %3922 = load i32, ptr %1901, align 4, !tbaa !5
  %3923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3924 = call i32 @s2n_print_stacktrace(ptr noundef %3923) #12
  %3925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3926 = trunc nuw i8 %3925 to i1
  br i1 %3926, label %3927, label %3931

3927:                                             ; preds = %3921
  %3928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3929 = call i32 @fileno(ptr noundef %3928) #12
  %3930 = call i32 @isatty(i32 noundef %3929) #12
  %.not1051 = icmp eq i32 %3930, 0
  br i1 %.not1051, label %3931, label %3932

3931:                                             ; preds = %3927, %3921
  br label %3932

3932:                                             ; preds = %3927, %3931
  %.str.5.sink2806 = phi ptr [ @.str.5, %3931 ], [ @.str.2, %3927 ]
  store i32 %3922, ptr %1901, align 4, !tbaa !5
  %3933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3934 = load i32, ptr @test_count, align 4, !tbaa !5
  %3935 = load i32, ptr %1847, align 4, !tbaa !5
  %3936 = call ptr @s2n_strerror(i32 noundef %3935, ptr noundef nonnull @.str.4) #12
  %3937 = load i32, ptr %1847, align 4, !tbaa !5
  %3938 = call ptr @s2n_strerror_debug(i32 noundef %3937, ptr noundef nonnull @.str.4) #12
  %3939 = load i32, ptr %1901, align 4, !tbaa !5
  %3940 = call ptr @strerror(i32 noundef %3939) #12
  %3941 = load i32, ptr %1901, align 4, !tbaa !5
  %3942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3933, ptr noundef nonnull %.str.5.sink2806, i32 noundef %3934, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 281, ptr noundef %3936, ptr noundef %3938, ptr noundef %3940, i32 noundef %3941) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3943:                                             ; preds = %3915
  %3944 = load i32, ptr @test_count, align 4, !tbaa !5
  %3945 = add nsw i32 %3944, 1
  store i32 %3945, ptr @test_count, align 4, !tbaa !5
  %3946 = load ptr, ptr %26, align 8, !tbaa !9
  %3947 = call i32 @s2n_conn_get_current_message_type(ptr noundef %3946) #12
  %3948 = icmp eq i32 %3947, 20
  br i1 %3948, label %3971, label %3949

3949:                                             ; preds = %3943
  %3950 = load i32, ptr %1901, align 4, !tbaa !5
  %3951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3952 = call i32 @s2n_print_stacktrace(ptr noundef %3951) #12
  %3953 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3954 = trunc nuw i8 %3953 to i1
  br i1 %3954, label %3955, label %3959

3955:                                             ; preds = %3949
  %3956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3957 = call i32 @fileno(ptr noundef %3956) #12
  %3958 = call i32 @isatty(i32 noundef %3957) #12
  %.not1052 = icmp eq i32 %3958, 0
  br i1 %.not1052, label %3959, label %3960

3959:                                             ; preds = %3955, %3949
  br label %3960

3960:                                             ; preds = %3955, %3959
  %.str.5.sink2815 = phi ptr [ @.str.5, %3959 ], [ @.str.2, %3955 ]
  store i32 %3950, ptr %1901, align 4, !tbaa !5
  %3961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3962 = load i32, ptr @test_count, align 4, !tbaa !5
  %3963 = load i32, ptr %1847, align 4, !tbaa !5
  %3964 = call ptr @s2n_strerror(i32 noundef %3963, ptr noundef nonnull @.str.4) #12
  %3965 = load i32, ptr %1847, align 4, !tbaa !5
  %3966 = call ptr @s2n_strerror_debug(i32 noundef %3965, ptr noundef nonnull @.str.4) #12
  %3967 = load i32, ptr %1901, align 4, !tbaa !5
  %3968 = call ptr @strerror(i32 noundef %3967) #12
  %3969 = load i32, ptr %1901, align 4, !tbaa !5
  %3970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3961, ptr noundef nonnull %.str.5.sink2815, i32 noundef %3962, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 282, ptr noundef %3964, ptr noundef %3966, ptr noundef %3968, i32 noundef %3969) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3971:                                             ; preds = %3943
  %3972 = load i32, ptr @test_count, align 4, !tbaa !5
  %3973 = add nsw i32 %3972, 1
  store i32 %3973, ptr @test_count, align 4, !tbaa !5
  %3974 = load ptr, ptr %26, align 8, !tbaa !9
  %3975 = load ptr, ptr %25, align 8, !tbaa !9
  %3976 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %3974, ptr noundef %3975) #12
  %3977 = icmp eq i32 %3976, -1
  br i1 %3977, label %3978, label %4000

3978:                                             ; preds = %3971
  %3979 = load i32, ptr %1901, align 4, !tbaa !5
  %3980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3981 = call i32 @s2n_print_stacktrace(ptr noundef %3980) #12
  %3982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3983 = trunc nuw i8 %3982 to i1
  br i1 %3983, label %3984, label %3988

3984:                                             ; preds = %3978
  %3985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3986 = call i32 @fileno(ptr noundef %3985) #12
  %3987 = call i32 @isatty(i32 noundef %3986) #12
  %.not1378 = icmp eq i32 %3987, 0
  br i1 %.not1378, label %3988, label %3989

3988:                                             ; preds = %3984, %3978
  br label %3989

3989:                                             ; preds = %3984, %3988
  %.str.5.sink2824 = phi ptr [ @.str.5, %3988 ], [ @.str.2, %3984 ]
  store i32 %3979, ptr %1901, align 4, !tbaa !5
  %3990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3991 = load i32, ptr @test_count, align 4, !tbaa !5
  %3992 = load i32, ptr %1847, align 4, !tbaa !5
  %3993 = call ptr @s2n_strerror(i32 noundef %3992, ptr noundef nonnull @.str.4) #12
  %3994 = load i32, ptr %1847, align 4, !tbaa !5
  %3995 = call ptr @s2n_strerror_debug(i32 noundef %3994, ptr noundef nonnull @.str.4) #12
  %3996 = load i32, ptr %1901, align 4, !tbaa !5
  %3997 = call ptr @strerror(i32 noundef %3996) #12
  %3998 = load i32, ptr %1901, align 4, !tbaa !5
  %3999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3990, ptr noundef nonnull %.str.5.sink2824, i32 noundef %3991, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 284, ptr noundef %3993, ptr noundef %3995, ptr noundef %3997, i32 noundef %3998) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4000:                                             ; preds = %3971
  %4001 = load i32, ptr @test_count, align 4, !tbaa !5
  %4002 = add nsw i32 %4001, 1
  store i32 %4002, ptr @test_count, align 4, !tbaa !5
  %4003 = load ptr, ptr %25, align 8, !tbaa !9
  %4004 = call i32 @s2n_connection_free(ptr noundef %4003) #12
  %4005 = icmp eq i32 %4004, -1
  br i1 %4005, label %4006, label %4028

4006:                                             ; preds = %4000
  %4007 = load i32, ptr %1901, align 4, !tbaa !5
  %4008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4009 = call i32 @s2n_print_stacktrace(ptr noundef %4008) #12
  %4010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4011 = trunc nuw i8 %4010 to i1
  br i1 %4011, label %4012, label %4016

4012:                                             ; preds = %4006
  %4013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4014 = call i32 @fileno(ptr noundef %4013) #12
  %4015 = call i32 @isatty(i32 noundef %4014) #12
  %.not1377 = icmp eq i32 %4015, 0
  br i1 %.not1377, label %4016, label %4017

4016:                                             ; preds = %4012, %4006
  br label %4017

4017:                                             ; preds = %4012, %4016
  %.str.5.sink2833 = phi ptr [ @.str.5, %4016 ], [ @.str.2, %4012 ]
  store i32 %4007, ptr %1901, align 4, !tbaa !5
  %4018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4019 = load i32, ptr @test_count, align 4, !tbaa !5
  %4020 = load i32, ptr %1847, align 4, !tbaa !5
  %4021 = call ptr @s2n_strerror(i32 noundef %4020, ptr noundef nonnull @.str.4) #12
  %4022 = load i32, ptr %1847, align 4, !tbaa !5
  %4023 = call ptr @s2n_strerror_debug(i32 noundef %4022, ptr noundef nonnull @.str.4) #12
  %4024 = load i32, ptr %1901, align 4, !tbaa !5
  %4025 = call ptr @strerror(i32 noundef %4024) #12
  %4026 = load i32, ptr %1901, align 4, !tbaa !5
  %4027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4018, ptr noundef nonnull %.str.5.sink2833, i32 noundef %4019, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 285, ptr noundef %4021, ptr noundef %4023, ptr noundef %4025, i32 noundef %4026) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4028:                                             ; preds = %4000
  %4029 = load i32, ptr @test_count, align 4, !tbaa !5
  %4030 = add nsw i32 %4029, 1
  store i32 %4030, ptr @test_count, align 4, !tbaa !5
  %4031 = load ptr, ptr %26, align 8, !tbaa !9
  %4032 = call i32 @s2n_connection_free(ptr noundef %4031) #12
  %4033 = icmp eq i32 %4032, -1
  br i1 %4033, label %4034, label %4056

4034:                                             ; preds = %4028
  %4035 = load i32, ptr %1901, align 4, !tbaa !5
  %4036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4037 = call i32 @s2n_print_stacktrace(ptr noundef %4036) #12
  %4038 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4039 = trunc nuw i8 %4038 to i1
  br i1 %4039, label %4040, label %4044

4040:                                             ; preds = %4034
  %4041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4042 = call i32 @fileno(ptr noundef %4041) #12
  %4043 = call i32 @isatty(i32 noundef %4042) #12
  %.not1376 = icmp eq i32 %4043, 0
  br i1 %.not1376, label %4044, label %4045

4044:                                             ; preds = %4040, %4034
  br label %4045

4045:                                             ; preds = %4040, %4044
  %.str.5.sink2842 = phi ptr [ @.str.5, %4044 ], [ @.str.2, %4040 ]
  store i32 %4035, ptr %1901, align 4, !tbaa !5
  %4046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4047 = load i32, ptr @test_count, align 4, !tbaa !5
  %4048 = load i32, ptr %1847, align 4, !tbaa !5
  %4049 = call ptr @s2n_strerror(i32 noundef %4048, ptr noundef nonnull @.str.4) #12
  %4050 = load i32, ptr %1847, align 4, !tbaa !5
  %4051 = call ptr @s2n_strerror_debug(i32 noundef %4050, ptr noundef nonnull @.str.4) #12
  %4052 = load i32, ptr %1901, align 4, !tbaa !5
  %4053 = call ptr @strerror(i32 noundef %4052) #12
  %4054 = load i32, ptr %1901, align 4, !tbaa !5
  %4055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4046, ptr noundef nonnull %.str.5.sink2842, i32 noundef %4047, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 286, ptr noundef %4049, ptr noundef %4051, ptr noundef %4053, i32 noundef %4054) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4056:                                             ; preds = %4028
  %4057 = call i32 @s2n_io_pair_close(ptr noundef nonnull %27) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #12
  store i32 0, ptr %28, align 4, !tbaa !5
  %4058 = call ptr @s2n_config_new() #12
  %4059 = load i32, ptr @test_count, align 4, !tbaa !5
  %4060 = add nsw i32 %4059, 1
  store i32 %4060, ptr @test_count, align 4, !tbaa !5
  %4061 = call i32 @s2n_config_set_early_data_cb(ptr noundef %4058, ptr noundef nonnull @s2n_test_async_early_data_cb) #12
  %4062 = icmp eq i32 %4061, -1
  br i1 %4062, label %4063, label %4085

4063:                                             ; preds = %4056
  %4064 = load i32, ptr %1901, align 4, !tbaa !5
  %4065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4066 = call i32 @s2n_print_stacktrace(ptr noundef %4065) #12
  %4067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4068 = trunc nuw i8 %4067 to i1
  br i1 %4068, label %4069, label %4073

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

4073:                                             ; preds = %4069, %4063
  br label %4074

4074:                                             ; preds = %4069, %4073
  %.str.5.sink2851 = phi ptr [ @.str.5, %4073 ], [ @.str.2, %4069 ]
  store i32 %4064, ptr %1901, align 4, !tbaa !5
  %4075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4076 = load i32, ptr @test_count, align 4, !tbaa !5
  %4077 = load i32, ptr %1847, align 4, !tbaa !5
  %4078 = call ptr @s2n_strerror(i32 noundef %4077, ptr noundef nonnull @.str.4) #12
  %4079 = load i32, ptr %1847, align 4, !tbaa !5
  %4080 = call ptr @s2n_strerror_debug(i32 noundef %4079, ptr noundef nonnull @.str.4) #12
  %4081 = load i32, ptr %1901, align 4, !tbaa !5
  %4082 = call ptr @strerror(i32 noundef %4081) #12
  %4083 = load i32, ptr %1901, align 4, !tbaa !5
  %4084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4075, ptr noundef nonnull %.str.5.sink2851, i32 noundef %4076, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 294, ptr noundef %4078, ptr noundef %4080, ptr noundef %4082, i32 noundef %4083) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4085:                                             ; preds = %4056
  %4086 = load i32, ptr @test_count, align 4, !tbaa !5
  %4087 = add nsw i32 %4086, 1
  store i32 %4087, ptr @test_count, align 4, !tbaa !5
  %4088 = icmp eq ptr %4058, null
  br i1 %4088, label %4089, label %4111

4089:                                             ; preds = %4085
  %4090 = load i32, ptr %1901, align 4, !tbaa !5
  %4091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4092 = call i32 @s2n_print_stacktrace(ptr noundef %4091) #12
  %4093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4094 = trunc nuw i8 %4093 to i1
  br i1 %4094, label %4095, label %4099

4095:                                             ; preds = %4089
  %4096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4097 = call i32 @fileno(ptr noundef %4096) #12
  %4098 = call i32 @isatty(i32 noundef %4097) #12
  %.not1374 = icmp eq i32 %4098, 0
  br i1 %.not1374, label %4099, label %4100

4099:                                             ; preds = %4095, %4089
  br label %4100

4100:                                             ; preds = %4095, %4099
  %.str.5.sink2860 = phi ptr [ @.str.5, %4099 ], [ @.str.2, %4095 ]
  store i32 %4090, ptr %1901, align 4, !tbaa !5
  %4101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4102 = load i32, ptr @test_count, align 4, !tbaa !5
  %4103 = load i32, ptr %1847, align 4, !tbaa !5
  %4104 = call ptr @s2n_strerror(i32 noundef %4103, ptr noundef nonnull @.str.4) #12
  %4105 = load i32, ptr %1847, align 4, !tbaa !5
  %4106 = call ptr @s2n_strerror_debug(i32 noundef %4105, ptr noundef nonnull @.str.4) #12
  %4107 = load i32, ptr %1901, align 4, !tbaa !5
  %4108 = call ptr @strerror(i32 noundef %4107) #12
  %4109 = load i32, ptr %1901, align 4, !tbaa !5
  %4110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4101, ptr noundef nonnull %.str.5.sink2860, i32 noundef %4102, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 295, ptr noundef %4104, ptr noundef %4106, ptr noundef %4108, i32 noundef %4109) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4111:                                             ; preds = %4085
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #12
  store ptr null, ptr %29, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #12
  store ptr null, ptr %30, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #12
  store i64 0, ptr %31, align 8
  %4112 = add nsw i32 %4086, 2
  store i32 %4112, ptr @test_count, align 4, !tbaa !5
  %4113 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
  %4114 = call zeroext i1 @s2n_result_is_ok(i32 %4113)
  br i1 %4114, label %4137, label %4115

4115:                                             ; preds = %4111
  %4116 = load i32, ptr %1901, align 4, !tbaa !5
  %4117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4118 = call i32 @s2n_print_stacktrace(ptr noundef %4117) #12
  %4119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4120 = trunc nuw i8 %4119 to i1
  br i1 %4120, label %4121, label %4125

4121:                                             ; preds = %4115
  %4122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4123 = call i32 @fileno(ptr noundef %4122) #12
  %4124 = call i32 @isatty(i32 noundef %4123) #12
  %.not1053 = icmp eq i32 %4124, 0
  br i1 %.not1053, label %4125, label %4126

4125:                                             ; preds = %4121, %4115
  br label %4126

4126:                                             ; preds = %4121, %4125
  %.str.5.sink2869 = phi ptr [ @.str.5, %4125 ], [ @.str.2, %4121 ]
  store i32 %4116, ptr %1901, align 4, !tbaa !5
  %4127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4128 = load i32, ptr @test_count, align 4, !tbaa !5
  %4129 = load i32, ptr %1847, align 4, !tbaa !5
  %4130 = call ptr @s2n_strerror(i32 noundef %4129, ptr noundef nonnull @.str.4) #12
  %4131 = load i32, ptr %1847, align 4, !tbaa !5
  %4132 = call ptr @s2n_strerror_debug(i32 noundef %4131, ptr noundef nonnull @.str.4) #12
  %4133 = load i32, ptr %1901, align 4, !tbaa !5
  %4134 = call ptr @strerror(i32 noundef %4133) #12
  %4135 = load i32, ptr %1901, align 4, !tbaa !5
  %4136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4127, ptr noundef nonnull %.str.5.sink2869, i32 noundef %4128, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 299, ptr noundef %4130, ptr noundef %4132, ptr noundef %4134, i32 noundef %4135) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4137:                                             ; preds = %4111
  %4138 = load i32, ptr @test_count, align 4, !tbaa !5
  %4139 = add nsw i32 %4138, 1
  store i32 %4139, ptr @test_count, align 4, !tbaa !5
  %4140 = load ptr, ptr %30, align 8, !tbaa !9
  %4141 = call i32 @s2n_connection_set_config(ptr noundef %4140, ptr noundef nonnull %4058) #12
  %4142 = icmp eq i32 %4141, -1
  br i1 %4142, label %4143, label %4165

4143:                                             ; preds = %4137
  %4144 = load i32, ptr %1901, align 4, !tbaa !5
  %4145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4146 = call i32 @s2n_print_stacktrace(ptr noundef %4145) #12
  %4147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4148 = trunc nuw i8 %4147 to i1
  br i1 %4148, label %4149, label %4153

4149:                                             ; preds = %4143
  %4150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4151 = call i32 @fileno(ptr noundef %4150) #12
  %4152 = call i32 @isatty(i32 noundef %4151) #12
  %.not1373 = icmp eq i32 %4152, 0
  br i1 %.not1373, label %4153, label %4154

4153:                                             ; preds = %4149, %4143
  br label %4154

4154:                                             ; preds = %4149, %4153
  %.str.5.sink2878 = phi ptr [ @.str.5, %4153 ], [ @.str.2, %4149 ]
  store i32 %4144, ptr %1901, align 4, !tbaa !5
  %4155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4156 = load i32, ptr @test_count, align 4, !tbaa !5
  %4157 = load i32, ptr %1847, align 4, !tbaa !5
  %4158 = call ptr @s2n_strerror(i32 noundef %4157, ptr noundef nonnull @.str.4) #12
  %4159 = load i32, ptr %1847, align 4, !tbaa !5
  %4160 = call ptr @s2n_strerror_debug(i32 noundef %4159, ptr noundef nonnull @.str.4) #12
  %4161 = load i32, ptr %1901, align 4, !tbaa !5
  %4162 = call ptr @strerror(i32 noundef %4161) #12
  %4163 = load i32, ptr %1901, align 4, !tbaa !5
  %4164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4155, ptr noundef nonnull %.str.5.sink2878, i32 noundef %4156, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 300, ptr noundef %4158, ptr noundef %4160, ptr noundef %4162, i32 noundef %4163) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4165:                                             ; preds = %4137
  %4166 = load i32, ptr @test_count, align 4, !tbaa !5
  %4167 = add nsw i32 %4166, 1
  store i32 %4167, ptr @test_count, align 4, !tbaa !5
  %4168 = load ptr, ptr %29, align 8, !tbaa !9
  %4169 = call i32 @s2n_connection_append_psk(ptr noundef %4168, ptr noundef %243) #12
  %4170 = icmp eq i32 %4169, -1
  br i1 %4170, label %4171, label %4193

4171:                                             ; preds = %4165
  %4172 = load i32, ptr %1901, align 4, !tbaa !5
  %4173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4174 = call i32 @s2n_print_stacktrace(ptr noundef %4173) #12
  %4175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4176 = trunc nuw i8 %4175 to i1
  br i1 %4176, label %4177, label %4181

4177:                                             ; preds = %4171
  %4178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4179 = call i32 @fileno(ptr noundef %4178) #12
  %4180 = call i32 @isatty(i32 noundef %4179) #12
  %.not1372 = icmp eq i32 %4180, 0
  br i1 %.not1372, label %4181, label %4182

4181:                                             ; preds = %4177, %4171
  br label %4182

4182:                                             ; preds = %4177, %4181
  %.str.5.sink2887 = phi ptr [ @.str.5, %4181 ], [ @.str.2, %4177 ]
  store i32 %4172, ptr %1901, align 4, !tbaa !5
  %4183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4184 = load i32, ptr @test_count, align 4, !tbaa !5
  %4185 = load i32, ptr %1847, align 4, !tbaa !5
  %4186 = call ptr @s2n_strerror(i32 noundef %4185, ptr noundef nonnull @.str.4) #12
  %4187 = load i32, ptr %1847, align 4, !tbaa !5
  %4188 = call ptr @s2n_strerror_debug(i32 noundef %4187, ptr noundef nonnull @.str.4) #12
  %4189 = load i32, ptr %1901, align 4, !tbaa !5
  %4190 = call ptr @strerror(i32 noundef %4189) #12
  %4191 = load i32, ptr %1901, align 4, !tbaa !5
  %4192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4183, ptr noundef nonnull %.str.5.sink2887, i32 noundef %4184, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 302, ptr noundef %4186, ptr noundef %4188, ptr noundef %4190, i32 noundef %4191) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4193:                                             ; preds = %4165
  %4194 = load i32, ptr @test_count, align 4, !tbaa !5
  %4195 = add nsw i32 %4194, 1
  store i32 %4195, ptr @test_count, align 4, !tbaa !5
  %4196 = load ptr, ptr %30, align 8, !tbaa !9
  %4197 = call i32 @s2n_connection_append_psk(ptr noundef %4196, ptr noundef %243) #12
  %4198 = icmp eq i32 %4197, -1
  br i1 %4198, label %4199, label %4221

4199:                                             ; preds = %4193
  %4200 = load i32, ptr %1901, align 4, !tbaa !5
  %4201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4202 = call i32 @s2n_print_stacktrace(ptr noundef %4201) #12
  %4203 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4204 = trunc nuw i8 %4203 to i1
  br i1 %4204, label %4205, label %4209

4205:                                             ; preds = %4199
  %4206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4207 = call i32 @fileno(ptr noundef %4206) #12
  %4208 = call i32 @isatty(i32 noundef %4207) #12
  %.not1371 = icmp eq i32 %4208, 0
  br i1 %.not1371, label %4209, label %4210

4209:                                             ; preds = %4205, %4199
  br label %4210

4210:                                             ; preds = %4205, %4209
  %.str.5.sink2896 = phi ptr [ @.str.5, %4209 ], [ @.str.2, %4205 ]
  store i32 %4200, ptr %1901, align 4, !tbaa !5
  %4211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4212 = load i32, ptr @test_count, align 4, !tbaa !5
  %4213 = load i32, ptr %1847, align 4, !tbaa !5
  %4214 = call ptr @s2n_strerror(i32 noundef %4213, ptr noundef nonnull @.str.4) #12
  %4215 = load i32, ptr %1847, align 4, !tbaa !5
  %4216 = call ptr @s2n_strerror_debug(i32 noundef %4215, ptr noundef nonnull @.str.4) #12
  %4217 = load i32, ptr %1901, align 4, !tbaa !5
  %4218 = call ptr @strerror(i32 noundef %4217) #12
  %4219 = load i32, ptr %1901, align 4, !tbaa !5
  %4220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4211, ptr noundef nonnull %.str.5.sink2896, i32 noundef %4212, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 303, ptr noundef %4214, ptr noundef %4216, ptr noundef %4218, i32 noundef %4219) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4221:                                             ; preds = %4193
  %4222 = load i32, ptr @test_count, align 4, !tbaa !5
  %4223 = add nsw i32 %4222, 1
  store i32 %4223, ptr @test_count, align 4, !tbaa !5
  %4224 = load ptr, ptr %29, align 8, !tbaa !9
  %4225 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %4224) #12
  %4226 = icmp eq i32 %4225, -1
  br i1 %4226, label %4227, label %4249

4227:                                             ; preds = %4221
  %4228 = load i32, ptr %1901, align 4, !tbaa !5
  %4229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4230 = call i32 @s2n_print_stacktrace(ptr noundef %4229) #12
  %4231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4232 = trunc nuw i8 %4231 to i1
  br i1 %4232, label %4233, label %4237

4233:                                             ; preds = %4227
  %4234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4235 = call i32 @fileno(ptr noundef %4234) #12
  %4236 = call i32 @isatty(i32 noundef %4235) #12
  %.not1370 = icmp eq i32 %4236, 0
  br i1 %.not1370, label %4237, label %4238

4237:                                             ; preds = %4233, %4227
  br label %4238

4238:                                             ; preds = %4233, %4237
  %.str.5.sink2905 = phi ptr [ @.str.5, %4237 ], [ @.str.2, %4233 ]
  store i32 %4228, ptr %1901, align 4, !tbaa !5
  %4239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4240 = load i32, ptr @test_count, align 4, !tbaa !5
  %4241 = load i32, ptr %1847, align 4, !tbaa !5
  %4242 = call ptr @s2n_strerror(i32 noundef %4241, ptr noundef nonnull @.str.4) #12
  %4243 = load i32, ptr %1847, align 4, !tbaa !5
  %4244 = call ptr @s2n_strerror_debug(i32 noundef %4243, ptr noundef nonnull @.str.4) #12
  %4245 = load i32, ptr %1901, align 4, !tbaa !5
  %4246 = call ptr @strerror(i32 noundef %4245) #12
  %4247 = load i32, ptr %1901, align 4, !tbaa !5
  %4248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4239, ptr noundef nonnull %.str.5.sink2905, i32 noundef %4240, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 304, ptr noundef %4242, ptr noundef %4244, ptr noundef %4246, i32 noundef %4247) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4249:                                             ; preds = %4221
  %4250 = load i32, ptr @test_count, align 4, !tbaa !5
  %4251 = add nsw i32 %4250, 1
  store i32 %4251, ptr @test_count, align 4, !tbaa !5
  %4252 = load ptr, ptr %30, align 8, !tbaa !9
  %4253 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %4252) #12
  %4254 = icmp eq i32 %4253, -1
  br i1 %4254, label %4255, label %4277

4255:                                             ; preds = %4249
  %4256 = load i32, ptr %1901, align 4, !tbaa !5
  %4257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4258 = call i32 @s2n_print_stacktrace(ptr noundef %4257) #12
  %4259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4260 = trunc nuw i8 %4259 to i1
  br i1 %4260, label %4261, label %4265

4261:                                             ; preds = %4255
  %4262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4263 = call i32 @fileno(ptr noundef %4262) #12
  %4264 = call i32 @isatty(i32 noundef %4263) #12
  %.not1369 = icmp eq i32 %4264, 0
  br i1 %.not1369, label %4265, label %4266

4265:                                             ; preds = %4261, %4255
  br label %4266

4266:                                             ; preds = %4261, %4265
  %.str.5.sink2914 = phi ptr [ @.str.5, %4265 ], [ @.str.2, %4261 ]
  store i32 %4256, ptr %1901, align 4, !tbaa !5
  %4267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4268 = load i32, ptr @test_count, align 4, !tbaa !5
  %4269 = load i32, ptr %1847, align 4, !tbaa !5
  %4270 = call ptr @s2n_strerror(i32 noundef %4269, ptr noundef nonnull @.str.4) #12
  %4271 = load i32, ptr %1847, align 4, !tbaa !5
  %4272 = call ptr @s2n_strerror_debug(i32 noundef %4271, ptr noundef nonnull @.str.4) #12
  %4273 = load i32, ptr %1901, align 4, !tbaa !5
  %4274 = call ptr @strerror(i32 noundef %4273) #12
  %4275 = load i32, ptr %1901, align 4, !tbaa !5
  %4276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4267, ptr noundef nonnull %.str.5.sink2914, i32 noundef %4268, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 305, ptr noundef %4270, ptr noundef %4272, ptr noundef %4274, i32 noundef %4275) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4277:                                             ; preds = %4249
  %4278 = load i32, ptr @test_count, align 4, !tbaa !5
  %4279 = add nsw i32 %4278, 1
  store i32 %4279, ptr @test_count, align 4, !tbaa !5
  %4280 = load ptr, ptr %29, align 8, !tbaa !9
  %4281 = call i32 @s2n_negotiate_until_message(ptr noundef %4280, ptr noundef nonnull %28, i32 noundef 1) #12
  %4282 = call zeroext i1 @s2n_result_is_ok(i32 %4281)
  br i1 %4282, label %4305, label %4283

4283:                                             ; preds = %4277
  %4284 = load i32, ptr %1901, align 4, !tbaa !5
  %4285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4286 = call i32 @s2n_print_stacktrace(ptr noundef %4285) #12
  %4287 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4288 = trunc nuw i8 %4287 to i1
  br i1 %4288, label %4289, label %4293

4289:                                             ; preds = %4283
  %4290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4291 = call i32 @fileno(ptr noundef %4290) #12
  %4292 = call i32 @isatty(i32 noundef %4291) #12
  %.not1054 = icmp eq i32 %4292, 0
  br i1 %.not1054, label %4293, label %4294

4293:                                             ; preds = %4289, %4283
  br label %4294

4294:                                             ; preds = %4289, %4293
  %.str.5.sink2923 = phi ptr [ @.str.5, %4293 ], [ @.str.2, %4289 ]
  store i32 %4284, ptr %1901, align 4, !tbaa !5
  %4295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4296 = load i32, ptr @test_count, align 4, !tbaa !5
  %4297 = load i32, ptr %1847, align 4, !tbaa !5
  %4298 = call ptr @s2n_strerror(i32 noundef %4297, ptr noundef nonnull @.str.4) #12
  %4299 = load i32, ptr %1847, align 4, !tbaa !5
  %4300 = call ptr @s2n_strerror_debug(i32 noundef %4299, ptr noundef nonnull @.str.4) #12
  %4301 = load i32, ptr %1901, align 4, !tbaa !5
  %4302 = call ptr @strerror(i32 noundef %4301) #12
  %4303 = load i32, ptr %1901, align 4, !tbaa !5
  %4304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4295, ptr noundef nonnull %.str.5.sink2923, i32 noundef %4296, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 308, ptr noundef %4298, ptr noundef %4300, ptr noundef %4302, i32 noundef %4303) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4305:                                             ; preds = %4277
  %4306 = load i32, ptr @test_count, align 4, !tbaa !5
  %4307 = add nsw i32 %4306, 1
  store i32 %4307, ptr @test_count, align 4, !tbaa !5
  %4308 = load ptr, ptr %30, align 8, !tbaa !9
  %4309 = call i32 @s2n_negotiate(ptr noundef %4308, ptr noundef nonnull %28) #12
  %4310 = icmp eq i32 %4309, -1
  br i1 %4310, label %4333, label %4311

4311:                                             ; preds = %4305
  %4312 = load i32, ptr %1901, align 4, !tbaa !5
  %4313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4314 = call i32 @s2n_print_stacktrace(ptr noundef %4313) #12
  %4315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4316 = trunc nuw i8 %4315 to i1
  br i1 %4316, label %4317, label %4321

4317:                                             ; preds = %4311
  %4318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4319 = call i32 @fileno(ptr noundef %4318) #12
  %4320 = call i32 @isatty(i32 noundef %4319) #12
  %.not1055 = icmp eq i32 %4320, 0
  br i1 %.not1055, label %4321, label %4322

4321:                                             ; preds = %4317, %4311
  br label %4322

4322:                                             ; preds = %4317, %4321
  %.str.5.sink2932 = phi ptr [ @.str.5, %4321 ], [ @.str.2, %4317 ]
  store i32 %4312, ptr %1901, align 4, !tbaa !5
  %4323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4324 = load i32, ptr @test_count, align 4, !tbaa !5
  %4325 = load i32, ptr %1847, align 4, !tbaa !5
  %4326 = call ptr @s2n_strerror(i32 noundef %4325, ptr noundef nonnull @.str.4) #12
  %4327 = load i32, ptr %1847, align 4, !tbaa !5
  %4328 = call ptr @s2n_strerror_debug(i32 noundef %4327, ptr noundef nonnull @.str.4) #12
  %4329 = load i32, ptr %1901, align 4, !tbaa !5
  %4330 = call ptr @strerror(i32 noundef %4329) #12
  %4331 = load i32, ptr %1901, align 4, !tbaa !5
  %4332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4323, ptr noundef nonnull %.str.5.sink2932, i32 noundef %4324, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 309, ptr noundef %4326, ptr noundef %4328, ptr noundef %4330, i32 noundef %4331) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4333:                                             ; preds = %4305
  %4334 = load i32, ptr @test_count, align 4, !tbaa !5
  %4335 = add nsw i32 %4334, 1
  store i32 %4335, ptr @test_count, align 4, !tbaa !5
  %4336 = load i32, ptr %1847, align 4, !tbaa !5
  %4337 = icmp eq i32 %4336, 201326593
  br i1 %4337, label %4360, label %4338

4338:                                             ; preds = %4333
  %4339 = load i32, ptr %1901, align 4, !tbaa !5
  %4340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4341 = call i32 @s2n_print_stacktrace(ptr noundef %4340) #12
  %4342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4343 = trunc nuw i8 %4342 to i1
  br i1 %4343, label %4344, label %4348

4344:                                             ; preds = %4338
  %4345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4346 = call i32 @fileno(ptr noundef %4345) #12
  %4347 = call i32 @isatty(i32 noundef %4346) #12
  %.not1056 = icmp eq i32 %4347, 0
  br i1 %.not1056, label %4348, label %4349

4348:                                             ; preds = %4344, %4338
  br label %4349

4349:                                             ; preds = %4344, %4348
  %.str.5.sink2941 = phi ptr [ @.str.5, %4348 ], [ @.str.2, %4344 ]
  store i32 %4339, ptr %1901, align 4, !tbaa !5
  %4350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4351 = load i32, ptr @test_count, align 4, !tbaa !5
  %4352 = load i32, ptr %1847, align 4, !tbaa !5
  %4353 = call ptr @s2n_strerror(i32 noundef %4352, ptr noundef nonnull @.str.4) #12
  %4354 = load i32, ptr %1847, align 4, !tbaa !5
  %4355 = call ptr @s2n_strerror_debug(i32 noundef %4354, ptr noundef nonnull @.str.4) #12
  %4356 = load i32, ptr %1901, align 4, !tbaa !5
  %4357 = call ptr @strerror(i32 noundef %4356) #12
  %4358 = load i32, ptr %1901, align 4, !tbaa !5
  %4359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4350, ptr noundef nonnull %.str.5.sink2941, i32 noundef %4351, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 309, ptr noundef %4353, ptr noundef %4355, ptr noundef %4357, i32 noundef %4358) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4360:                                             ; preds = %4333
  %4361 = add nsw i32 %4334, 2
  store i32 %4361, ptr @test_count, align 4, !tbaa !5
  %4362 = call ptr @s2n_strerror_debug(i32 noundef 201326593, ptr noundef nonnull @.str.4) #12
  %4363 = icmp eq ptr %4362, null
  br i1 %4363, label %4364, label %4386

4364:                                             ; preds = %4360
  %4365 = load i32, ptr %1901, align 4, !tbaa !5
  %4366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4367 = call i32 @s2n_print_stacktrace(ptr noundef %4366) #12
  %4368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4369 = trunc nuw i8 %4368 to i1
  br i1 %4369, label %4370, label %4374

4370:                                             ; preds = %4364
  %4371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4372 = call i32 @fileno(ptr noundef %4371) #12
  %4373 = call i32 @isatty(i32 noundef %4372) #12
  %.not1368 = icmp eq i32 %4373, 0
  br i1 %.not1368, label %4374, label %4375

4374:                                             ; preds = %4370, %4364
  br label %4375

4375:                                             ; preds = %4370, %4374
  %.str.5.sink2950 = phi ptr [ @.str.5, %4374 ], [ @.str.2, %4370 ]
  store i32 %4365, ptr %1901, align 4, !tbaa !5
  %4376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4377 = load i32, ptr @test_count, align 4, !tbaa !5
  %4378 = load i32, ptr %1847, align 4, !tbaa !5
  %4379 = call ptr @s2n_strerror(i32 noundef %4378, ptr noundef nonnull @.str.4) #12
  %4380 = load i32, ptr %1847, align 4, !tbaa !5
  %4381 = call ptr @s2n_strerror_debug(i32 noundef %4380, ptr noundef nonnull @.str.4) #12
  %4382 = load i32, ptr %1901, align 4, !tbaa !5
  %4383 = call ptr @strerror(i32 noundef %4382) #12
  %4384 = load i32, ptr %1901, align 4, !tbaa !5
  %4385 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4376, ptr noundef nonnull %.str.5.sink2950, i32 noundef %4377, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 309, ptr noundef %4379, ptr noundef %4381, ptr noundef %4383, i32 noundef %4384) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4386:                                             ; preds = %4360
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %4387 = load i32, ptr @test_count, align 4, !tbaa !5
  %4388 = add nsw i32 %4387, 1
  store i32 %4388, ptr @test_count, align 4, !tbaa !5
  %4389 = load ptr, ptr %30, align 8, !tbaa !9
  %4390 = call i32 @s2n_negotiate(ptr noundef %4389, ptr noundef nonnull %28) #12
  %4391 = icmp eq i32 %4390, -1
  br i1 %4391, label %4414, label %4392

4392:                                             ; preds = %4386
  %4393 = load i32, ptr %1901, align 4, !tbaa !5
  %4394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4395 = call i32 @s2n_print_stacktrace(ptr noundef %4394) #12
  %4396 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4397 = trunc nuw i8 %4396 to i1
  br i1 %4397, label %4398, label %4402

4398:                                             ; preds = %4392
  %4399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4400 = call i32 @fileno(ptr noundef %4399) #12
  %4401 = call i32 @isatty(i32 noundef %4400) #12
  %.not1057 = icmp eq i32 %4401, 0
  br i1 %.not1057, label %4402, label %4403

4402:                                             ; preds = %4398, %4392
  br label %4403

4403:                                             ; preds = %4398, %4402
  %.str.5.sink2959 = phi ptr [ @.str.5, %4402 ], [ @.str.2, %4398 ]
  store i32 %4393, ptr %1901, align 4, !tbaa !5
  %4404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4405 = load i32, ptr @test_count, align 4, !tbaa !5
  %4406 = load i32, ptr %1847, align 4, !tbaa !5
  %4407 = call ptr @s2n_strerror(i32 noundef %4406, ptr noundef nonnull @.str.4) #12
  %4408 = load i32, ptr %1847, align 4, !tbaa !5
  %4409 = call ptr @s2n_strerror_debug(i32 noundef %4408, ptr noundef nonnull @.str.4) #12
  %4410 = load i32, ptr %1901, align 4, !tbaa !5
  %4411 = call ptr @strerror(i32 noundef %4410) #12
  %4412 = load i32, ptr %1901, align 4, !tbaa !5
  %4413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4404, ptr noundef nonnull %.str.5.sink2959, i32 noundef %4405, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 312, ptr noundef %4407, ptr noundef %4409, ptr noundef %4411, i32 noundef %4412) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4414:                                             ; preds = %4386
  %4415 = load i32, ptr @test_count, align 4, !tbaa !5
  %4416 = add nsw i32 %4415, 1
  store i32 %4416, ptr @test_count, align 4, !tbaa !5
  %4417 = load i32, ptr %1847, align 4, !tbaa !5
  %4418 = icmp eq i32 %4417, 201326593
  br i1 %4418, label %4441, label %4419

4419:                                             ; preds = %4414
  %4420 = load i32, ptr %1901, align 4, !tbaa !5
  %4421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4422 = call i32 @s2n_print_stacktrace(ptr noundef %4421) #12
  %4423 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4424 = trunc nuw i8 %4423 to i1
  br i1 %4424, label %4425, label %4429

4425:                                             ; preds = %4419
  %4426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4427 = call i32 @fileno(ptr noundef %4426) #12
  %4428 = call i32 @isatty(i32 noundef %4427) #12
  %.not1058 = icmp eq i32 %4428, 0
  br i1 %.not1058, label %4429, label %4430

4429:                                             ; preds = %4425, %4419
  br label %4430

4430:                                             ; preds = %4425, %4429
  %.str.5.sink2968 = phi ptr [ @.str.5, %4429 ], [ @.str.2, %4425 ]
  store i32 %4420, ptr %1901, align 4, !tbaa !5
  %4431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4432 = load i32, ptr @test_count, align 4, !tbaa !5
  %4433 = load i32, ptr %1847, align 4, !tbaa !5
  %4434 = call ptr @s2n_strerror(i32 noundef %4433, ptr noundef nonnull @.str.4) #12
  %4435 = load i32, ptr %1847, align 4, !tbaa !5
  %4436 = call ptr @s2n_strerror_debug(i32 noundef %4435, ptr noundef nonnull @.str.4) #12
  %4437 = load i32, ptr %1901, align 4, !tbaa !5
  %4438 = call ptr @strerror(i32 noundef %4437) #12
  %4439 = load i32, ptr %1901, align 4, !tbaa !5
  %4440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4431, ptr noundef nonnull %.str.5.sink2968, i32 noundef %4432, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 312, ptr noundef %4434, ptr noundef %4436, ptr noundef %4438, i32 noundef %4439) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4441:                                             ; preds = %4414
  %4442 = add nsw i32 %4415, 2
  store i32 %4442, ptr @test_count, align 4, !tbaa !5
  %4443 = call ptr @s2n_strerror_debug(i32 noundef 201326593, ptr noundef nonnull @.str.4) #12
  %4444 = icmp eq ptr %4443, null
  br i1 %4444, label %4445, label %4467

4445:                                             ; preds = %4441
  %4446 = load i32, ptr %1901, align 4, !tbaa !5
  %4447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4448 = call i32 @s2n_print_stacktrace(ptr noundef %4447) #12
  %4449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4450 = trunc nuw i8 %4449 to i1
  br i1 %4450, label %4451, label %4455

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

4455:                                             ; preds = %4451, %4445
  br label %4456

4456:                                             ; preds = %4451, %4455
  %.str.5.sink2977 = phi ptr [ @.str.5, %4455 ], [ @.str.2, %4451 ]
  store i32 %4446, ptr %1901, align 4, !tbaa !5
  %4457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4458 = load i32, ptr @test_count, align 4, !tbaa !5
  %4459 = load i32, ptr %1847, align 4, !tbaa !5
  %4460 = call ptr @s2n_strerror(i32 noundef %4459, ptr noundef nonnull @.str.4) #12
  %4461 = load i32, ptr %1847, align 4, !tbaa !5
  %4462 = call ptr @s2n_strerror_debug(i32 noundef %4461, ptr noundef nonnull @.str.4) #12
  %4463 = load i32, ptr %1901, align 4, !tbaa !5
  %4464 = call ptr @strerror(i32 noundef %4463) #12
  %4465 = load i32, ptr %1901, align 4, !tbaa !5
  %4466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4457, ptr noundef nonnull %.str.5.sink2977, i32 noundef %4458, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 312, ptr noundef %4460, ptr noundef %4462, ptr noundef %4464, i32 noundef %4465) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4467:                                             ; preds = %4441
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %4468 = load i32, ptr @test_count, align 4, !tbaa !5
  %4469 = add nsw i32 %4468, 1
  store i32 %4469, ptr @test_count, align 4, !tbaa !5
  %4470 = load ptr, ptr @async_early_data, align 8, !tbaa !9
  %4471 = call i32 @s2n_offered_early_data_reject(ptr noundef %4470) #12
  %4472 = icmp eq i32 %4471, -1
  br i1 %4472, label %4473, label %4495

4473:                                             ; preds = %4467
  %4474 = load i32, ptr %1901, align 4, !tbaa !5
  %4475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4476 = call i32 @s2n_print_stacktrace(ptr noundef %4475) #12
  %4477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4478 = trunc nuw i8 %4477 to i1
  br i1 %4478, label %4479, label %4483

4479:                                             ; preds = %4473
  %4480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4481 = call i32 @fileno(ptr noundef %4480) #12
  %4482 = call i32 @isatty(i32 noundef %4481) #12
  %.not1366 = icmp eq i32 %4482, 0
  br i1 %.not1366, label %4483, label %4484

4483:                                             ; preds = %4479, %4473
  br label %4484

4484:                                             ; preds = %4479, %4483
  %.str.5.sink2986 = phi ptr [ @.str.5, %4483 ], [ @.str.2, %4479 ]
  store i32 %4474, ptr %1901, align 4, !tbaa !5
  %4485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4486 = load i32, ptr @test_count, align 4, !tbaa !5
  %4487 = load i32, ptr %1847, align 4, !tbaa !5
  %4488 = call ptr @s2n_strerror(i32 noundef %4487, ptr noundef nonnull @.str.4) #12
  %4489 = load i32, ptr %1847, align 4, !tbaa !5
  %4490 = call ptr @s2n_strerror_debug(i32 noundef %4489, ptr noundef nonnull @.str.4) #12
  %4491 = load i32, ptr %1901, align 4, !tbaa !5
  %4492 = call ptr @strerror(i32 noundef %4491) #12
  %4493 = load i32, ptr %1901, align 4, !tbaa !5
  %4494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4485, ptr noundef nonnull %.str.5.sink2986, i32 noundef %4486, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 314, ptr noundef %4488, ptr noundef %4490, ptr noundef %4492, i32 noundef %4493) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4495:                                             ; preds = %4467
  %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 = load ptr, ptr %30, align 8, !tbaa !9
  %4499 = load ptr, ptr %29, align 8, !tbaa !9
  %4500 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4498, ptr noundef %4499) #12
  %4501 = icmp eq i32 %4500, -1
  br i1 %4501, label %4502, label %4524

4502:                                             ; preds = %4495
  %4503 = load i32, ptr %1901, align 4, !tbaa !5
  %4504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4505 = call i32 @s2n_print_stacktrace(ptr noundef %4504) #12
  %4506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4507 = trunc nuw i8 %4506 to i1
  br i1 %4507, label %4508, label %4512

4508:                                             ; preds = %4502
  %4509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4510 = call i32 @fileno(ptr noundef %4509) #12
  %4511 = call i32 @isatty(i32 noundef %4510) #12
  %.not1365 = icmp eq i32 %4511, 0
  br i1 %.not1365, label %4512, label %4513

4512:                                             ; preds = %4508, %4502
  br label %4513

4513:                                             ; preds = %4508, %4512
  %.str.5.sink2995 = phi ptr [ @.str.5, %4512 ], [ @.str.2, %4508 ]
  store i32 %4503, ptr %1901, align 4, !tbaa !5
  %4514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4515 = load i32, ptr @test_count, align 4, !tbaa !5
  %4516 = load i32, ptr %1847, align 4, !tbaa !5
  %4517 = call ptr @s2n_strerror(i32 noundef %4516, ptr noundef nonnull @.str.4) #12
  %4518 = load i32, ptr %1847, align 4, !tbaa !5
  %4519 = call ptr @s2n_strerror_debug(i32 noundef %4518, ptr noundef nonnull @.str.4) #12
  %4520 = load i32, ptr %1901, align 4, !tbaa !5
  %4521 = call ptr @strerror(i32 noundef %4520) #12
  %4522 = load i32, ptr %1901, align 4, !tbaa !5
  %4523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4514, ptr noundef nonnull %.str.5.sink2995, i32 noundef %4515, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 315, ptr noundef %4517, ptr noundef %4519, ptr noundef %4521, i32 noundef %4522) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4524:                                             ; preds = %4495
  %4525 = load i32, ptr @test_count, align 4, !tbaa !5
  %4526 = add nsw i32 %4525, 1
  store i32 %4526, ptr @test_count, align 4, !tbaa !5
  %4527 = load ptr, ptr %29, align 8, !tbaa !9
  %4528 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %4527, i32 noundef 64) #12
  br i1 %4528, label %4529, label %4551

4529:                                             ; preds = %4524
  %4530 = load i32, ptr %1901, align 4, !tbaa !5
  %4531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4532 = call i32 @s2n_print_stacktrace(ptr noundef %4531) #12
  %4533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4534 = trunc nuw i8 %4533 to i1
  br i1 %4534, label %4535, label %4539

4535:                                             ; preds = %4529
  %4536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4537 = call i32 @fileno(ptr noundef %4536) #12
  %4538 = call i32 @isatty(i32 noundef %4537) #12
  %.not1364 = icmp eq i32 %4538, 0
  br i1 %.not1364, label %4539, label %4540

4539:                                             ; preds = %4535, %4529
  br label %4540

4540:                                             ; preds = %4535, %4539
  %.str.5.sink3004 = phi ptr [ @.str.5, %4539 ], [ @.str.2, %4535 ]
  store i32 %4530, ptr %1901, align 4, !tbaa !5
  %4541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4542 = load i32, ptr @test_count, align 4, !tbaa !5
  %4543 = load i32, ptr %1847, align 4, !tbaa !5
  %4544 = call ptr @s2n_strerror(i32 noundef %4543, ptr noundef nonnull @.str.4) #12
  %4545 = load i32, ptr %1847, align 4, !tbaa !5
  %4546 = call ptr @s2n_strerror_debug(i32 noundef %4545, ptr noundef nonnull @.str.4) #12
  %4547 = load i32, ptr %1901, align 4, !tbaa !5
  %4548 = call ptr @strerror(i32 noundef %4547) #12
  %4549 = load i32, ptr %1901, align 4, !tbaa !5
  %4550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4541, ptr noundef nonnull %.str.5.sink3004, i32 noundef %4542, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 317, ptr noundef %4544, ptr noundef %4546, ptr noundef %4548, i32 noundef %4549) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4551:                                             ; preds = %4524
  %4552 = load i32, ptr @test_count, align 4, !tbaa !5
  %4553 = add nsw i32 %4552, 1
  store i32 %4553, ptr @test_count, align 4, !tbaa !5
  %4554 = load ptr, ptr %30, align 8, !tbaa !9
  %4555 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %4554, i32 noundef 64) #12
  br i1 %4555, label %4556, label %4578

4556:                                             ; preds = %4551
  %4557 = load i32, ptr %1901, align 4, !tbaa !5
  %4558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4559 = call i32 @s2n_print_stacktrace(ptr noundef %4558) #12
  %4560 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4561 = trunc nuw i8 %4560 to i1
  br i1 %4561, label %4562, label %4566

4562:                                             ; preds = %4556
  %4563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4564 = call i32 @fileno(ptr noundef %4563) #12
  %4565 = call i32 @isatty(i32 noundef %4564) #12
  %.not1363 = icmp eq i32 %4565, 0
  br i1 %.not1363, label %4566, label %4567

4566:                                             ; preds = %4562, %4556
  br label %4567

4567:                                             ; preds = %4562, %4566
  %.str.5.sink3013 = phi ptr [ @.str.5, %4566 ], [ @.str.2, %4562 ]
  store i32 %4557, ptr %1901, align 4, !tbaa !5
  %4568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4569 = load i32, ptr @test_count, align 4, !tbaa !5
  %4570 = load i32, ptr %1847, align 4, !tbaa !5
  %4571 = call ptr @s2n_strerror(i32 noundef %4570, ptr noundef nonnull @.str.4) #12
  %4572 = load i32, ptr %1847, align 4, !tbaa !5
  %4573 = call ptr @s2n_strerror_debug(i32 noundef %4572, ptr noundef nonnull @.str.4) #12
  %4574 = load i32, ptr %1901, align 4, !tbaa !5
  %4575 = call ptr @strerror(i32 noundef %4574) #12
  %4576 = load i32, ptr %1901, align 4, !tbaa !5
  %4577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4568, ptr noundef nonnull %.str.5.sink3013, i32 noundef %4569, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 318, ptr noundef %4571, ptr noundef %4573, ptr noundef %4575, i32 noundef %4576) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4578:                                             ; preds = %4551
  %4579 = load i32, ptr @test_count, align 4, !tbaa !5
  %4580 = add nsw i32 %4579, 1
  store i32 %4580, ptr @test_count, align 4, !tbaa !5
  %4581 = load ptr, ptr %29, align 8, !tbaa !9
  %4582 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %4581, i32 noundef 128) #12
  br i1 %4582, label %4605, label %4583

4583:                                             ; preds = %4578
  %4584 = load i32, ptr %1901, align 4, !tbaa !5
  %4585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4586 = call i32 @s2n_print_stacktrace(ptr noundef %4585) #12
  %4587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4588 = trunc nuw i8 %4587 to i1
  br i1 %4588, label %4589, label %4593

4589:                                             ; preds = %4583
  %4590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4591 = call i32 @fileno(ptr noundef %4590) #12
  %4592 = call i32 @isatty(i32 noundef %4591) #12
  %.not1059 = icmp eq i32 %4592, 0
  br i1 %.not1059, label %4593, label %4594

4593:                                             ; preds = %4589, %4583
  br label %4594

4594:                                             ; preds = %4589, %4593
  %.str.5.sink3022 = phi ptr [ @.str.5, %4593 ], [ @.str.2, %4589 ]
  store i32 %4584, ptr %1901, align 4, !tbaa !5
  %4595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4596 = load i32, ptr @test_count, align 4, !tbaa !5
  %4597 = load i32, ptr %1847, align 4, !tbaa !5
  %4598 = call ptr @s2n_strerror(i32 noundef %4597, ptr noundef nonnull @.str.4) #12
  %4599 = load i32, ptr %1847, align 4, !tbaa !5
  %4600 = call ptr @s2n_strerror_debug(i32 noundef %4599, ptr noundef nonnull @.str.4) #12
  %4601 = load i32, ptr %1901, align 4, !tbaa !5
  %4602 = call ptr @strerror(i32 noundef %4601) #12
  %4603 = load i32, ptr %1901, align 4, !tbaa !5
  %4604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4595, ptr noundef nonnull %.str.5.sink3022, i32 noundef %4596, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 319, ptr noundef %4598, ptr noundef %4600, ptr noundef %4602, i32 noundef %4603) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4605:                                             ; preds = %4578
  %4606 = load i32, ptr @test_count, align 4, !tbaa !5
  %4607 = add nsw i32 %4606, 1
  store i32 %4607, ptr @test_count, align 4, !tbaa !5
  %4608 = load ptr, ptr %30, align 8, !tbaa !9
  %4609 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %4608, i32 noundef 128) #12
  br i1 %4609, label %4632, label %4610

4610:                                             ; preds = %4605
  %4611 = load i32, ptr %1901, align 4, !tbaa !5
  %4612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4613 = call i32 @s2n_print_stacktrace(ptr noundef %4612) #12
  %4614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4615 = trunc nuw i8 %4614 to i1
  br i1 %4615, label %4616, label %4620

4616:                                             ; preds = %4610
  %4617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4618 = call i32 @fileno(ptr noundef %4617) #12
  %4619 = call i32 @isatty(i32 noundef %4618) #12
  %.not1060 = icmp eq i32 %4619, 0
  br i1 %.not1060, label %4620, label %4621

4620:                                             ; preds = %4616, %4610
  br label %4621

4621:                                             ; preds = %4616, %4620
  %.str.5.sink3031 = phi ptr [ @.str.5, %4620 ], [ @.str.2, %4616 ]
  store i32 %4611, ptr %1901, align 4, !tbaa !5
  %4622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4623 = load i32, ptr @test_count, align 4, !tbaa !5
  %4624 = load i32, ptr %1847, align 4, !tbaa !5
  %4625 = call ptr @s2n_strerror(i32 noundef %4624, ptr noundef nonnull @.str.4) #12
  %4626 = load i32, ptr %1847, align 4, !tbaa !5
  %4627 = call ptr @s2n_strerror_debug(i32 noundef %4626, ptr noundef nonnull @.str.4) #12
  %4628 = load i32, ptr %1901, align 4, !tbaa !5
  %4629 = call ptr @strerror(i32 noundef %4628) #12
  %4630 = load i32, ptr %1901, align 4, !tbaa !5
  %4631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4622, ptr noundef nonnull %.str.5.sink3031, i32 noundef %4623, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 320, ptr noundef %4625, ptr noundef %4627, ptr noundef %4629, i32 noundef %4630) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4632:                                             ; preds = %4605
  %4633 = load i32, ptr @test_count, align 4, !tbaa !5
  %4634 = add nsw i32 %4633, 1
  store i32 %4634, ptr @test_count, align 4, !tbaa !5
  %4635 = load ptr, ptr %29, align 8, !tbaa !9
  %4636 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %4635, i32 noundef 2) #12
  br i1 %4636, label %4637, label %4659

4637:                                             ; preds = %4632
  %4638 = load i32, ptr %1901, align 4, !tbaa !5
  %4639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4640 = call i32 @s2n_print_stacktrace(ptr noundef %4639) #12
  %4641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4642 = trunc nuw i8 %4641 to i1
  br i1 %4642, label %4643, label %4647

4643:                                             ; preds = %4637
  %4644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4645 = call i32 @fileno(ptr noundef %4644) #12
  %4646 = call i32 @isatty(i32 noundef %4645) #12
  %.not1362 = icmp eq i32 %4646, 0
  br i1 %.not1362, label %4647, label %4648

4647:                                             ; preds = %4643, %4637
  br label %4648

4648:                                             ; preds = %4643, %4647
  %.str.5.sink3040 = phi ptr [ @.str.5, %4647 ], [ @.str.2, %4643 ]
  store i32 %4638, ptr %1901, align 4, !tbaa !5
  %4649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4650 = load i32, ptr @test_count, align 4, !tbaa !5
  %4651 = load i32, ptr %1847, align 4, !tbaa !5
  %4652 = call ptr @s2n_strerror(i32 noundef %4651, ptr noundef nonnull @.str.4) #12
  %4653 = load i32, ptr %1847, align 4, !tbaa !5
  %4654 = call ptr @s2n_strerror_debug(i32 noundef %4653, ptr noundef nonnull @.str.4) #12
  %4655 = load i32, ptr %1901, align 4, !tbaa !5
  %4656 = call ptr @strerror(i32 noundef %4655) #12
  %4657 = load i32, ptr %1901, align 4, !tbaa !5
  %4658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4649, ptr noundef nonnull %.str.5.sink3040, i32 noundef %4650, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 321, ptr noundef %4652, ptr noundef %4654, ptr noundef %4656, i32 noundef %4657) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4659:                                             ; preds = %4632
  %4660 = load i32, ptr @test_count, align 4, !tbaa !5
  %4661 = add nsw i32 %4660, 1
  store i32 %4661, ptr @test_count, align 4, !tbaa !5
  %4662 = load ptr, ptr %30, align 8, !tbaa !9
  %4663 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %4662, i32 noundef 2) #12
  br i1 %4663, label %4664, label %4686

4664:                                             ; preds = %4659
  %4665 = load i32, ptr %1901, align 4, !tbaa !5
  %4666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4667 = call i32 @s2n_print_stacktrace(ptr noundef %4666) #12
  %4668 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4669 = trunc nuw i8 %4668 to i1
  br i1 %4669, label %4670, label %4674

4670:                                             ; preds = %4664
  %4671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4672 = call i32 @fileno(ptr noundef %4671) #12
  %4673 = call i32 @isatty(i32 noundef %4672) #12
  %.not1361 = icmp eq i32 %4673, 0
  br i1 %.not1361, label %4674, label %4675

4674:                                             ; preds = %4670, %4664
  br label %4675

4675:                                             ; preds = %4670, %4674
  %.str.5.sink3049 = phi ptr [ @.str.5, %4674 ], [ @.str.2, %4670 ]
  store i32 %4665, ptr %1901, align 4, !tbaa !5
  %4676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4677 = load i32, ptr @test_count, align 4, !tbaa !5
  %4678 = load i32, ptr %1847, align 4, !tbaa !5
  %4679 = call ptr @s2n_strerror(i32 noundef %4678, ptr noundef nonnull @.str.4) #12
  %4680 = load i32, ptr %1847, align 4, !tbaa !5
  %4681 = call ptr @s2n_strerror_debug(i32 noundef %4680, ptr noundef nonnull @.str.4) #12
  %4682 = load i32, ptr %1901, align 4, !tbaa !5
  %4683 = call ptr @strerror(i32 noundef %4682) #12
  %4684 = load i32, ptr %1901, align 4, !tbaa !5
  %4685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4676, ptr noundef nonnull %.str.5.sink3049, i32 noundef %4677, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 322, ptr noundef %4679, ptr noundef %4681, ptr noundef %4683, i32 noundef %4684) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4686:                                             ; preds = %4659
  %4687 = load i32, ptr @test_count, align 4, !tbaa !5
  %4688 = add nsw i32 %4687, 1
  store i32 %4688, ptr @test_count, align 4, !tbaa !5
  %4689 = load ptr, ptr %29, align 8, !tbaa !9
  %4690 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %4689, i32 noundef 16) #12
  br i1 %4690, label %4691, label %4713

4691:                                             ; preds = %4686
  %4692 = load i32, ptr %1901, align 4, !tbaa !5
  %4693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4694 = call i32 @s2n_print_stacktrace(ptr noundef %4693) #12
  %4695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4696 = trunc nuw i8 %4695 to i1
  br i1 %4696, label %4697, label %4701

4697:                                             ; preds = %4691
  %4698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4699 = call i32 @fileno(ptr noundef %4698) #12
  %4700 = call i32 @isatty(i32 noundef %4699) #12
  %.not1360 = icmp eq i32 %4700, 0
  br i1 %.not1360, label %4701, label %4702

4701:                                             ; preds = %4697, %4691
  br label %4702

4702:                                             ; preds = %4697, %4701
  %.str.5.sink3058 = phi ptr [ @.str.5, %4701 ], [ @.str.2, %4697 ]
  store i32 %4692, ptr %1901, align 4, !tbaa !5
  %4703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4704 = load i32, ptr @test_count, align 4, !tbaa !5
  %4705 = load i32, ptr %1847, align 4, !tbaa !5
  %4706 = call ptr @s2n_strerror(i32 noundef %4705, ptr noundef nonnull @.str.4) #12
  %4707 = load i32, ptr %1847, align 4, !tbaa !5
  %4708 = call ptr @s2n_strerror_debug(i32 noundef %4707, ptr noundef nonnull @.str.4) #12
  %4709 = load i32, ptr %1901, align 4, !tbaa !5
  %4710 = call ptr @strerror(i32 noundef %4709) #12
  %4711 = load i32, ptr %1901, align 4, !tbaa !5
  %4712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4703, ptr noundef nonnull %.str.5.sink3058, i32 noundef %4704, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 323, ptr noundef %4706, ptr noundef %4708, ptr noundef %4710, i32 noundef %4711) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4713:                                             ; preds = %4686
  %4714 = load i32, ptr @test_count, align 4, !tbaa !5
  %4715 = add nsw i32 %4714, 1
  store i32 %4715, ptr @test_count, align 4, !tbaa !5
  %4716 = load ptr, ptr %30, align 8, !tbaa !9
  %4717 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %4716, i32 noundef 16) #12
  br i1 %4717, label %4718, label %4740

4718:                                             ; preds = %4713
  %4719 = load i32, ptr %1901, align 4, !tbaa !5
  %4720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4721 = call i32 @s2n_print_stacktrace(ptr noundef %4720) #12
  %4722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4723 = trunc nuw i8 %4722 to i1
  br i1 %4723, label %4724, label %4728

4724:                                             ; preds = %4718
  %4725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4726 = call i32 @fileno(ptr noundef %4725) #12
  %4727 = call i32 @isatty(i32 noundef %4726) #12
  %.not1359 = icmp eq i32 %4727, 0
  br i1 %.not1359, label %4728, label %4729

4728:                                             ; preds = %4724, %4718
  br label %4729

4729:                                             ; preds = %4724, %4728
  %.str.5.sink3067 = phi ptr [ @.str.5, %4728 ], [ @.str.2, %4724 ]
  store i32 %4719, ptr %1901, align 4, !tbaa !5
  %4730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4731 = load i32, ptr @test_count, align 4, !tbaa !5
  %4732 = load i32, ptr %1847, align 4, !tbaa !5
  %4733 = call ptr @s2n_strerror(i32 noundef %4732, ptr noundef nonnull @.str.4) #12
  %4734 = load i32, ptr %1847, align 4, !tbaa !5
  %4735 = call ptr @s2n_strerror_debug(i32 noundef %4734, ptr noundef nonnull @.str.4) #12
  %4736 = load i32, ptr %1901, align 4, !tbaa !5
  %4737 = call ptr @strerror(i32 noundef %4736) #12
  %4738 = load i32, ptr %1901, align 4, !tbaa !5
  %4739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4730, ptr noundef nonnull %.str.5.sink3067, i32 noundef %4731, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 324, ptr noundef %4733, ptr noundef %4735, ptr noundef %4737, i32 noundef %4738) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4740:                                             ; preds = %4713
  %4741 = load i32, ptr @test_count, align 4, !tbaa !5
  %4742 = add nsw i32 %4741, 1
  store i32 %4742, ptr @test_count, align 4, !tbaa !5
  %4743 = load ptr, ptr %29, align 8, !tbaa !9
  %4744 = call i32 @s2n_conn_get_current_message_type(ptr noundef %4743) #12
  %4745 = icmp eq i32 %4744, 20
  br i1 %4745, label %4768, label %4746

4746:                                             ; preds = %4740
  %4747 = load i32, ptr %1901, align 4, !tbaa !5
  %4748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4749 = call i32 @s2n_print_stacktrace(ptr noundef %4748) #12
  %4750 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4751 = trunc nuw i8 %4750 to i1
  br i1 %4751, label %4752, label %4756

4752:                                             ; preds = %4746
  %4753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4754 = call i32 @fileno(ptr noundef %4753) #12
  %4755 = call i32 @isatty(i32 noundef %4754) #12
  %.not1061 = icmp eq i32 %4755, 0
  br i1 %.not1061, label %4756, label %4757

4756:                                             ; preds = %4752, %4746
  br label %4757

4757:                                             ; preds = %4752, %4756
  %.str.5.sink3076 = phi ptr [ @.str.5, %4756 ], [ @.str.2, %4752 ]
  store i32 %4747, ptr %1901, align 4, !tbaa !5
  %4758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4759 = load i32, ptr @test_count, align 4, !tbaa !5
  %4760 = load i32, ptr %1847, align 4, !tbaa !5
  %4761 = call ptr @s2n_strerror(i32 noundef %4760, ptr noundef nonnull @.str.4) #12
  %4762 = load i32, ptr %1847, align 4, !tbaa !5
  %4763 = call ptr @s2n_strerror_debug(i32 noundef %4762, ptr noundef nonnull @.str.4) #12
  %4764 = load i32, ptr %1901, align 4, !tbaa !5
  %4765 = call ptr @strerror(i32 noundef %4764) #12
  %4766 = load i32, ptr %1901, align 4, !tbaa !5
  %4767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4758, ptr noundef nonnull %.str.5.sink3076, i32 noundef %4759, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 325, ptr noundef %4761, ptr noundef %4763, ptr noundef %4765, i32 noundef %4766) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4768:                                             ; preds = %4740
  %4769 = load i32, ptr @test_count, align 4, !tbaa !5
  %4770 = add nsw i32 %4769, 1
  store i32 %4770, ptr @test_count, align 4, !tbaa !5
  %4771 = load ptr, ptr %30, align 8, !tbaa !9
  %4772 = call i32 @s2n_conn_get_current_message_type(ptr noundef %4771) #12
  %4773 = icmp eq i32 %4772, 20
  br i1 %4773, label %4796, label %4774

4774:                                             ; preds = %4768
  %4775 = load i32, ptr %1901, align 4, !tbaa !5
  %4776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4777 = call i32 @s2n_print_stacktrace(ptr noundef %4776) #12
  %4778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4779 = trunc nuw i8 %4778 to i1
  br i1 %4779, label %4780, label %4784

4780:                                             ; preds = %4774
  %4781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4782 = call i32 @fileno(ptr noundef %4781) #12
  %4783 = call i32 @isatty(i32 noundef %4782) #12
  %.not1062 = icmp eq i32 %4783, 0
  br i1 %.not1062, label %4784, label %4785

4784:                                             ; preds = %4780, %4774
  br label %4785

4785:                                             ; preds = %4780, %4784
  %.str.5.sink3085 = phi ptr [ @.str.5, %4784 ], [ @.str.2, %4780 ]
  store i32 %4775, ptr %1901, align 4, !tbaa !5
  %4786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4787 = load i32, ptr @test_count, align 4, !tbaa !5
  %4788 = load i32, ptr %1847, align 4, !tbaa !5
  %4789 = call ptr @s2n_strerror(i32 noundef %4788, ptr noundef nonnull @.str.4) #12
  %4790 = load i32, ptr %1847, align 4, !tbaa !5
  %4791 = call ptr @s2n_strerror_debug(i32 noundef %4790, ptr noundef nonnull @.str.4) #12
  %4792 = load i32, ptr %1901, align 4, !tbaa !5
  %4793 = call ptr @strerror(i32 noundef %4792) #12
  %4794 = load i32, ptr %1901, align 4, !tbaa !5
  %4795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4786, ptr noundef nonnull %.str.5.sink3085, i32 noundef %4787, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 326, ptr noundef %4789, ptr noundef %4791, ptr noundef %4793, i32 noundef %4794) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4796:                                             ; preds = %4768
  %4797 = load i32, ptr @test_count, align 4, !tbaa !5
  %4798 = add nsw i32 %4797, 1
  store i32 %4798, ptr @test_count, align 4, !tbaa !5
  %4799 = load ptr, ptr %30, align 8, !tbaa !9
  %4800 = load ptr, ptr %29, align 8, !tbaa !9
  %4801 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %4799, ptr noundef %4800) #12
  %4802 = icmp eq i32 %4801, -1
  br i1 %4802, label %4803, label %4825

4803:                                             ; preds = %4796
  %4804 = load i32, ptr %1901, align 4, !tbaa !5
  %4805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4806 = call i32 @s2n_print_stacktrace(ptr noundef %4805) #12
  %4807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4808 = trunc nuw i8 %4807 to i1
  br i1 %4808, label %4809, label %4813

4809:                                             ; preds = %4803
  %4810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4811 = call i32 @fileno(ptr noundef %4810) #12
  %4812 = call i32 @isatty(i32 noundef %4811) #12
  %.not1358 = icmp eq i32 %4812, 0
  br i1 %.not1358, label %4813, label %4814

4813:                                             ; preds = %4809, %4803
  br label %4814

4814:                                             ; preds = %4809, %4813
  %.str.5.sink3094 = phi ptr [ @.str.5, %4813 ], [ @.str.2, %4809 ]
  store i32 %4804, ptr %1901, align 4, !tbaa !5
  %4815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4816 = load i32, ptr @test_count, align 4, !tbaa !5
  %4817 = load i32, ptr %1847, align 4, !tbaa !5
  %4818 = call ptr @s2n_strerror(i32 noundef %4817, ptr noundef nonnull @.str.4) #12
  %4819 = load i32, ptr %1847, align 4, !tbaa !5
  %4820 = call ptr @s2n_strerror_debug(i32 noundef %4819, ptr noundef nonnull @.str.4) #12
  %4821 = load i32, ptr %1901, align 4, !tbaa !5
  %4822 = call ptr @strerror(i32 noundef %4821) #12
  %4823 = load i32, ptr %1901, align 4, !tbaa !5
  %4824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4815, ptr noundef nonnull %.str.5.sink3094, i32 noundef %4816, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 328, ptr noundef %4818, ptr noundef %4820, ptr noundef %4822, i32 noundef %4823) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4825:                                             ; preds = %4796
  %4826 = load i32, ptr @test_count, align 4, !tbaa !5
  %4827 = add nsw i32 %4826, 1
  store i32 %4827, ptr @test_count, align 4, !tbaa !5
  %4828 = load ptr, ptr %29, align 8, !tbaa !9
  %4829 = call i32 @s2n_connection_free(ptr noundef %4828) #12
  %4830 = icmp eq i32 %4829, -1
  br i1 %4830, label %4831, label %4853

4831:                                             ; preds = %4825
  %4832 = load i32, ptr %1901, align 4, !tbaa !5
  %4833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4834 = call i32 @s2n_print_stacktrace(ptr noundef %4833) #12
  %4835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4836 = trunc nuw i8 %4835 to i1
  br i1 %4836, label %4837, label %4841

4837:                                             ; preds = %4831
  %4838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4839 = call i32 @fileno(ptr noundef %4838) #12
  %4840 = call i32 @isatty(i32 noundef %4839) #12
  %.not1357 = icmp eq i32 %4840, 0
  br i1 %.not1357, label %4841, label %4842

4841:                                             ; preds = %4837, %4831
  br label %4842

4842:                                             ; preds = %4837, %4841
  %.str.5.sink3103 = phi ptr [ @.str.5, %4841 ], [ @.str.2, %4837 ]
  store i32 %4832, ptr %1901, align 4, !tbaa !5
  %4843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4844 = load i32, ptr @test_count, align 4, !tbaa !5
  %4845 = load i32, ptr %1847, align 4, !tbaa !5
  %4846 = call ptr @s2n_strerror(i32 noundef %4845, ptr noundef nonnull @.str.4) #12
  %4847 = load i32, ptr %1847, align 4, !tbaa !5
  %4848 = call ptr @s2n_strerror_debug(i32 noundef %4847, ptr noundef nonnull @.str.4) #12
  %4849 = load i32, ptr %1901, align 4, !tbaa !5
  %4850 = call ptr @strerror(i32 noundef %4849) #12
  %4851 = load i32, ptr %1901, align 4, !tbaa !5
  %4852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4843, ptr noundef nonnull %.str.5.sink3103, i32 noundef %4844, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 329, ptr noundef %4846, ptr noundef %4848, ptr noundef %4850, i32 noundef %4851) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4853:                                             ; preds = %4825
  %4854 = load i32, ptr @test_count, align 4, !tbaa !5
  %4855 = add nsw i32 %4854, 1
  store i32 %4855, ptr @test_count, align 4, !tbaa !5
  %4856 = load ptr, ptr %30, align 8, !tbaa !9
  %4857 = call i32 @s2n_connection_free(ptr noundef %4856) #12
  %4858 = icmp eq i32 %4857, -1
  br i1 %4858, label %4859, label %4881

4859:                                             ; preds = %4853
  %4860 = load i32, ptr %1901, align 4, !tbaa !5
  %4861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4862 = call i32 @s2n_print_stacktrace(ptr noundef %4861) #12
  %4863 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4864 = trunc nuw i8 %4863 to i1
  br i1 %4864, label %4865, label %4869

4865:                                             ; preds = %4859
  %4866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4867 = call i32 @fileno(ptr noundef %4866) #12
  %4868 = call i32 @isatty(i32 noundef %4867) #12
  %.not1356 = icmp eq i32 %4868, 0
  br i1 %.not1356, label %4869, label %4870

4869:                                             ; preds = %4865, %4859
  br label %4870

4870:                                             ; preds = %4865, %4869
  %.str.5.sink3112 = phi ptr [ @.str.5, %4869 ], [ @.str.2, %4865 ]
  store i32 %4860, ptr %1901, align 4, !tbaa !5
  %4871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4872 = load i32, ptr @test_count, align 4, !tbaa !5
  %4873 = load i32, ptr %1847, align 4, !tbaa !5
  %4874 = call ptr @s2n_strerror(i32 noundef %4873, ptr noundef nonnull @.str.4) #12
  %4875 = load i32, ptr %1847, align 4, !tbaa !5
  %4876 = call ptr @s2n_strerror_debug(i32 noundef %4875, ptr noundef nonnull @.str.4) #12
  %4877 = load i32, ptr %1901, align 4, !tbaa !5
  %4878 = call ptr @strerror(i32 noundef %4877) #12
  %4879 = load i32, ptr %1901, align 4, !tbaa !5
  %4880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4871, ptr noundef nonnull %.str.5.sink3112, i32 noundef %4872, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 330, ptr noundef %4874, ptr noundef %4876, ptr noundef %4878, i32 noundef %4879) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4881:                                             ; preds = %4853
  %4882 = load i32, ptr @test_count, align 4, !tbaa !5
  %4883 = add nsw i32 %4882, 1
  store i32 %4883, ptr @test_count, align 4, !tbaa !5
  %4884 = call i32 @s2n_config_free(ptr noundef nonnull %4058) #12
  %4885 = icmp eq i32 %4884, -1
  br i1 %4885, label %4886, label %4908

4886:                                             ; preds = %4881
  %4887 = load i32, ptr %1901, align 4, !tbaa !5
  %4888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4889 = call i32 @s2n_print_stacktrace(ptr noundef %4888) #12
  %4890 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4891 = trunc nuw i8 %4890 to i1
  br i1 %4891, label %4892, label %4896

4892:                                             ; preds = %4886
  %4893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4894 = call i32 @fileno(ptr noundef %4893) #12
  %4895 = call i32 @isatty(i32 noundef %4894) #12
  %.not1355 = icmp eq i32 %4895, 0
  br i1 %.not1355, label %4896, label %4897

4896:                                             ; preds = %4892, %4886
  br label %4897

4897:                                             ; preds = %4892, %4896
  %.str.5.sink3121 = phi ptr [ @.str.5, %4896 ], [ @.str.2, %4892 ]
  store i32 %4887, ptr %1901, align 4, !tbaa !5
  %4898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4899 = load i32, ptr @test_count, align 4, !tbaa !5
  %4900 = load i32, ptr %1847, align 4, !tbaa !5
  %4901 = call ptr @s2n_strerror(i32 noundef %4900, ptr noundef nonnull @.str.4) #12
  %4902 = load i32, ptr %1847, align 4, !tbaa !5
  %4903 = call ptr @s2n_strerror_debug(i32 noundef %4902, ptr noundef nonnull @.str.4) #12
  %4904 = load i32, ptr %1901, align 4, !tbaa !5
  %4905 = call ptr @strerror(i32 noundef %4904) #12
  %4906 = load i32, ptr %1901, align 4, !tbaa !5
  %4907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4898, ptr noundef nonnull %.str.5.sink3121, i32 noundef %4899, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 331, ptr noundef %4901, ptr noundef %4903, ptr noundef %4905, i32 noundef %4906) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4908:                                             ; preds = %4881
  %4909 = call i32 @s2n_io_pair_close(ptr noundef nonnull %31) #12
  call void @llvm.lifetime.end.p0(i64 8, 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 4, ptr nonnull %28) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #12
  store ptr null, ptr %32, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #12
  store ptr null, ptr %33, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #12
  store i64 0, ptr %34, align 8
  %4910 = load i32, ptr @test_count, align 4, !tbaa !5
  %4911 = add nsw i32 %4910, 1
  store i32 %4911, ptr @test_count, align 4, !tbaa !5
  %4912 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %32, ptr noundef nonnull %33, ptr noundef nonnull %34)
  %4913 = call zeroext i1 @s2n_result_is_ok(i32 %4912)
  br i1 %4913, label %4936, label %4914

4914:                                             ; preds = %4908
  %4915 = load i32, ptr %1901, align 4, !tbaa !5
  %4916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4917 = call i32 @s2n_print_stacktrace(ptr noundef %4916) #12
  %4918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4919 = trunc nuw i8 %4918 to i1
  br i1 %4919, label %4920, label %4924

4920:                                             ; preds = %4914
  %4921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4922 = call i32 @fileno(ptr noundef %4921) #12
  %4923 = call i32 @isatty(i32 noundef %4922) #12
  %.not1063 = icmp eq i32 %4923, 0
  br i1 %.not1063, label %4924, label %4925

4924:                                             ; preds = %4920, %4914
  br label %4925

4925:                                             ; preds = %4920, %4924
  %.str.5.sink3130 = phi ptr [ @.str.5, %4924 ], [ @.str.2, %4920 ]
  store i32 %4915, ptr %1901, align 4, !tbaa !5
  %4926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4927 = load i32, ptr @test_count, align 4, !tbaa !5
  %4928 = load i32, ptr %1847, align 4, !tbaa !5
  %4929 = call ptr @s2n_strerror(i32 noundef %4928, ptr noundef nonnull @.str.4) #12
  %4930 = load i32, ptr %1847, align 4, !tbaa !5
  %4931 = call ptr @s2n_strerror_debug(i32 noundef %4930, ptr noundef nonnull @.str.4) #12
  %4932 = load i32, ptr %1901, align 4, !tbaa !5
  %4933 = call ptr @strerror(i32 noundef %4932) #12
  %4934 = load i32, ptr %1901, align 4, !tbaa !5
  %4935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4926, ptr noundef nonnull %.str.5.sink3130, i32 noundef %4927, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 338, ptr noundef %4929, ptr noundef %4931, ptr noundef %4933, i32 noundef %4934) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4936:                                             ; preds = %4908
  %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 = load ptr, ptr %32, align 8, !tbaa !9
  %4940 = call i32 @s2n_connection_append_psk(ptr noundef %4939, ptr noundef %243) #12
  %4941 = icmp eq i32 %4940, -1
  br i1 %4941, label %4942, label %4964

4942:                                             ; preds = %4936
  %4943 = load i32, ptr %1901, align 4, !tbaa !5
  %4944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4945 = call i32 @s2n_print_stacktrace(ptr noundef %4944) #12
  %4946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4947 = trunc nuw i8 %4946 to i1
  br i1 %4947, label %4948, label %4952

4948:                                             ; preds = %4942
  %4949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4950 = call i32 @fileno(ptr noundef %4949) #12
  %4951 = call i32 @isatty(i32 noundef %4950) #12
  %.not1354 = icmp eq i32 %4951, 0
  br i1 %.not1354, label %4952, label %4953

4952:                                             ; preds = %4948, %4942
  br label %4953

4953:                                             ; preds = %4948, %4952
  %.str.5.sink3139 = phi ptr [ @.str.5, %4952 ], [ @.str.2, %4948 ]
  store i32 %4943, ptr %1901, align 4, !tbaa !5
  %4954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4955 = load i32, ptr @test_count, align 4, !tbaa !5
  %4956 = load i32, ptr %1847, align 4, !tbaa !5
  %4957 = call ptr @s2n_strerror(i32 noundef %4956, ptr noundef nonnull @.str.4) #12
  %4958 = load i32, ptr %1847, align 4, !tbaa !5
  %4959 = call ptr @s2n_strerror_debug(i32 noundef %4958, ptr noundef nonnull @.str.4) #12
  %4960 = load i32, ptr %1901, align 4, !tbaa !5
  %4961 = call ptr @strerror(i32 noundef %4960) #12
  %4962 = load i32, ptr %1901, align 4, !tbaa !5
  %4963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4954, ptr noundef nonnull %.str.5.sink3139, i32 noundef %4955, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 340, ptr noundef %4957, ptr noundef %4959, ptr noundef %4961, i32 noundef %4962) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4964:                                             ; preds = %4936
  %4965 = load i32, ptr @test_count, align 4, !tbaa !5
  %4966 = add nsw i32 %4965, 1
  store i32 %4966, ptr @test_count, align 4, !tbaa !5
  %4967 = load ptr, ptr %33, align 8, !tbaa !9
  %4968 = call i32 @s2n_connection_append_psk(ptr noundef %4967, ptr noundef %390) #12
  %4969 = icmp eq i32 %4968, -1
  br i1 %4969, label %4970, label %4992

4970:                                             ; preds = %4964
  %4971 = load i32, ptr %1901, align 4, !tbaa !5
  %4972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4973 = call i32 @s2n_print_stacktrace(ptr noundef %4972) #12
  %4974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4975 = trunc nuw i8 %4974 to i1
  br i1 %4975, label %4976, label %4980

4976:                                             ; preds = %4970
  %4977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4978 = call i32 @fileno(ptr noundef %4977) #12
  %4979 = call i32 @isatty(i32 noundef %4978) #12
  %.not1353 = icmp eq i32 %4979, 0
  br i1 %.not1353, label %4980, label %4981

4980:                                             ; preds = %4976, %4970
  br label %4981

4981:                                             ; preds = %4976, %4980
  %.str.5.sink3148 = phi ptr [ @.str.5, %4980 ], [ @.str.2, %4976 ]
  store i32 %4971, ptr %1901, align 4, !tbaa !5
  %4982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4983 = load i32, ptr @test_count, align 4, !tbaa !5
  %4984 = load i32, ptr %1847, align 4, !tbaa !5
  %4985 = call ptr @s2n_strerror(i32 noundef %4984, ptr noundef nonnull @.str.4) #12
  %4986 = load i32, ptr %1847, align 4, !tbaa !5
  %4987 = call ptr @s2n_strerror_debug(i32 noundef %4986, ptr noundef nonnull @.str.4) #12
  %4988 = load i32, ptr %1901, align 4, !tbaa !5
  %4989 = call ptr @strerror(i32 noundef %4988) #12
  %4990 = load i32, ptr %1901, align 4, !tbaa !5
  %4991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4982, ptr noundef nonnull %.str.5.sink3148, i32 noundef %4983, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 341, ptr noundef %4985, ptr noundef %4987, ptr noundef %4989, i32 noundef %4990) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4992:                                             ; preds = %4964
  %4993 = load i32, ptr @test_count, align 4, !tbaa !5
  %4994 = add nsw i32 %4993, 1
  store i32 %4994, ptr @test_count, align 4, !tbaa !5
  %4995 = load ptr, ptr %32, align 8, !tbaa !9
  %4996 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %4995) #12
  %4997 = icmp eq i32 %4996, -1
  br i1 %4997, label %4998, label %5020

4998:                                             ; preds = %4992
  %4999 = load i32, ptr %1901, align 4, !tbaa !5
  %5000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5001 = call i32 @s2n_print_stacktrace(ptr noundef %5000) #12
  %5002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5003 = trunc nuw i8 %5002 to i1
  br i1 %5003, label %5004, label %5008

5004:                                             ; preds = %4998
  %5005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5006 = call i32 @fileno(ptr noundef %5005) #12
  %5007 = call i32 @isatty(i32 noundef %5006) #12
  %.not1352 = icmp eq i32 %5007, 0
  br i1 %.not1352, label %5008, label %5009

5008:                                             ; preds = %5004, %4998
  br label %5009

5009:                                             ; preds = %5004, %5008
  %.str.5.sink3157 = phi ptr [ @.str.5, %5008 ], [ @.str.2, %5004 ]
  store i32 %4999, ptr %1901, align 4, !tbaa !5
  %5010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5011 = load i32, ptr @test_count, align 4, !tbaa !5
  %5012 = load i32, ptr %1847, align 4, !tbaa !5
  %5013 = call ptr @s2n_strerror(i32 noundef %5012, ptr noundef nonnull @.str.4) #12
  %5014 = load i32, ptr %1847, align 4, !tbaa !5
  %5015 = call ptr @s2n_strerror_debug(i32 noundef %5014, ptr noundef nonnull @.str.4) #12
  %5016 = load i32, ptr %1901, align 4, !tbaa !5
  %5017 = call ptr @strerror(i32 noundef %5016) #12
  %5018 = load i32, ptr %1901, align 4, !tbaa !5
  %5019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5010, ptr noundef nonnull %.str.5.sink3157, i32 noundef %5011, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 342, ptr noundef %5013, ptr noundef %5015, ptr noundef %5017, i32 noundef %5018) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5020:                                             ; preds = %4992
  %5021 = load i32, ptr @test_count, align 4, !tbaa !5
  %5022 = add nsw i32 %5021, 1
  store i32 %5022, ptr @test_count, align 4, !tbaa !5
  %5023 = load ptr, ptr %33, align 8, !tbaa !9
  %5024 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %5023) #12
  %5025 = icmp eq i32 %5024, -1
  br i1 %5025, label %5026, label %5048

5026:                                             ; preds = %5020
  %5027 = load i32, ptr %1901, align 4, !tbaa !5
  %5028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5029 = call i32 @s2n_print_stacktrace(ptr noundef %5028) #12
  %5030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5031 = trunc nuw i8 %5030 to i1
  br i1 %5031, label %5032, label %5036

5032:                                             ; preds = %5026
  %5033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5034 = call i32 @fileno(ptr noundef %5033) #12
  %5035 = call i32 @isatty(i32 noundef %5034) #12
  %.not1351 = icmp eq i32 %5035, 0
  br i1 %.not1351, label %5036, label %5037

5036:                                             ; preds = %5032, %5026
  br label %5037

5037:                                             ; preds = %5032, %5036
  %.str.5.sink3166 = phi ptr [ @.str.5, %5036 ], [ @.str.2, %5032 ]
  store i32 %5027, ptr %1901, align 4, !tbaa !5
  %5038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5039 = load i32, ptr @test_count, align 4, !tbaa !5
  %5040 = load i32, ptr %1847, align 4, !tbaa !5
  %5041 = call ptr @s2n_strerror(i32 noundef %5040, ptr noundef nonnull @.str.4) #12
  %5042 = load i32, ptr %1847, align 4, !tbaa !5
  %5043 = call ptr @s2n_strerror_debug(i32 noundef %5042, ptr noundef nonnull @.str.4) #12
  %5044 = load i32, ptr %1901, align 4, !tbaa !5
  %5045 = call ptr @strerror(i32 noundef %5044) #12
  %5046 = load i32, ptr %1901, align 4, !tbaa !5
  %5047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5038, ptr noundef nonnull %.str.5.sink3166, i32 noundef %5039, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 343, ptr noundef %5041, ptr noundef %5043, ptr noundef %5045, i32 noundef %5046) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5048:                                             ; preds = %5020
  %5049 = load i32, ptr @test_count, align 4, !tbaa !5
  %5050 = add nsw i32 %5049, 1
  store i32 %5050, ptr @test_count, align 4, !tbaa !5
  %5051 = load ptr, ptr %33, align 8, !tbaa !9
  %5052 = load ptr, ptr %32, align 8, !tbaa !9
  %5053 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %5051, ptr noundef %5052, i32 noundef 1) #12
  %5054 = call zeroext i1 @s2n_result_is_ok(i32 %5053)
  br i1 %5054, label %5077, label %5055

5055:                                             ; preds = %5048
  %5056 = load i32, ptr %1901, align 4, !tbaa !5
  %5057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5058 = call i32 @s2n_print_stacktrace(ptr noundef %5057) #12
  %5059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5060 = trunc nuw i8 %5059 to i1
  br i1 %5060, label %5061, label %5065

5061:                                             ; preds = %5055
  %5062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5063 = call i32 @fileno(ptr noundef %5062) #12
  %5064 = call i32 @isatty(i32 noundef %5063) #12
  %.not1064 = icmp eq i32 %5064, 0
  br i1 %.not1064, label %5065, label %5066

5065:                                             ; preds = %5061, %5055
  br label %5066

5066:                                             ; preds = %5061, %5065
  %.str.5.sink3175 = phi ptr [ @.str.5, %5065 ], [ @.str.2, %5061 ]
  store i32 %5056, ptr %1901, align 4, !tbaa !5
  %5067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5068 = load i32, ptr @test_count, align 4, !tbaa !5
  %5069 = load i32, ptr %1847, align 4, !tbaa !5
  %5070 = call ptr @s2n_strerror(i32 noundef %5069, ptr noundef nonnull @.str.4) #12
  %5071 = load i32, ptr %1847, align 4, !tbaa !5
  %5072 = call ptr @s2n_strerror_debug(i32 noundef %5071, ptr noundef nonnull @.str.4) #12
  %5073 = load i32, ptr %1901, align 4, !tbaa !5
  %5074 = call ptr @strerror(i32 noundef %5073) #12
  %5075 = load i32, ptr %1901, align 4, !tbaa !5
  %5076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5067, ptr noundef nonnull %.str.5.sink3175, i32 noundef %5068, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 346, ptr noundef %5070, ptr noundef %5072, ptr noundef %5074, i32 noundef %5075) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5077:                                             ; preds = %5048
  %5078 = load i32, ptr @test_count, align 4, !tbaa !5
  %5079 = add nsw i32 %5078, 1
  store i32 %5079, ptr @test_count, align 4, !tbaa !5
  %5080 = load ptr, ptr %32, align 8, !tbaa !9
  %5081 = getelementptr inbounds i8, ptr %5080, i64 4088
  %5082 = load i32, ptr %5081, align 8, !tbaa !17
  %5083 = icmp eq i32 %5082, 1
  br i1 %5083, label %5106, label %5084

5084:                                             ; preds = %5077
  %5085 = load i32, ptr %1901, align 4, !tbaa !5
  %5086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5087 = call i32 @s2n_print_stacktrace(ptr noundef %5086) #12
  %5088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5089 = trunc nuw i8 %5088 to i1
  br i1 %5089, label %5090, label %5094

5090:                                             ; preds = %5084
  %5091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5092 = call i32 @fileno(ptr noundef %5091) #12
  %5093 = call i32 @isatty(i32 noundef %5092) #12
  %.not1065 = icmp eq i32 %5093, 0
  br i1 %.not1065, label %5094, label %5095

5094:                                             ; preds = %5090, %5084
  br label %5095

5095:                                             ; preds = %5090, %5094
  %.str.5.sink3184 = phi ptr [ @.str.5, %5094 ], [ @.str.2, %5090 ]
  store i32 %5085, ptr %1901, align 4, !tbaa !5
  %5096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5097 = load i32, ptr @test_count, align 4, !tbaa !5
  %5098 = load i32, ptr %1847, align 4, !tbaa !5
  %5099 = call ptr @s2n_strerror(i32 noundef %5098, ptr noundef nonnull @.str.4) #12
  %5100 = load i32, ptr %1847, align 4, !tbaa !5
  %5101 = call ptr @s2n_strerror_debug(i32 noundef %5100, ptr noundef nonnull @.str.4) #12
  %5102 = load i32, ptr %1901, align 4, !tbaa !5
  %5103 = call ptr @strerror(i32 noundef %5102) #12
  %5104 = load i32, ptr %1901, align 4, !tbaa !5
  %5105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5096, ptr noundef nonnull %.str.5.sink3184, i32 noundef %5097, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 347, ptr noundef %5099, ptr noundef %5101, ptr noundef %5103, i32 noundef %5104) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5106:                                             ; preds = %5077
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %35) #12
  store i32 0, ptr %35, align 4, !tbaa !5
  %5107 = add nsw i32 %5078, 2
  store i32 %5107, ptr @test_count, align 4, !tbaa !5
  %5108 = call i64 @s2n_send(ptr noundef nonnull %5080, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %35) #12
  %5109 = icmp eq i64 %5108, 12
  br i1 %5109, label %5132, label %5110

5110:                                             ; preds = %5106
  %5111 = load i32, ptr %1901, align 4, !tbaa !5
  %5112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5113 = call i32 @s2n_print_stacktrace(ptr noundef %5112) #12
  %5114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5115 = trunc nuw i8 %5114 to i1
  br i1 %5115, label %5116, label %5120

5116:                                             ; preds = %5110
  %5117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5118 = call i32 @fileno(ptr noundef %5117) #12
  %5119 = call i32 @isatty(i32 noundef %5118) #12
  %.not1066 = icmp eq i32 %5119, 0
  br i1 %.not1066, label %5120, label %5121

5120:                                             ; preds = %5116, %5110
  br label %5121

5121:                                             ; preds = %5116, %5120
  %.str.5.sink3193 = phi ptr [ @.str.5, %5120 ], [ @.str.2, %5116 ]
  store i32 %5111, ptr %1901, align 4, !tbaa !5
  %5122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5123 = load i32, ptr @test_count, align 4, !tbaa !5
  %5124 = load i32, ptr %1847, align 4, !tbaa !5
  %5125 = call ptr @s2n_strerror(i32 noundef %5124, ptr noundef nonnull @.str.4) #12
  %5126 = load i32, ptr %1847, align 4, !tbaa !5
  %5127 = call ptr @s2n_strerror_debug(i32 noundef %5126, ptr noundef nonnull @.str.4) #12
  %5128 = load i32, ptr %1901, align 4, !tbaa !5
  %5129 = call ptr @strerror(i32 noundef %5128) #12
  %5130 = load i32, ptr %1901, align 4, !tbaa !5
  %5131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5122, ptr noundef nonnull %.str.5.sink3193, i32 noundef %5123, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 351, ptr noundef %5125, ptr noundef %5127, ptr noundef %5129, i32 noundef %5130) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5132:                                             ; preds = %5106
  %5133 = load i32, ptr @test_count, align 4, !tbaa !5
  %5134 = add nsw i32 %5133, 1
  store i32 %5134, ptr @test_count, align 4, !tbaa !5
  %5135 = load ptr, ptr %32, align 8, !tbaa !9
  %5136 = call i64 @s2n_send(ptr noundef %5135, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %35) #12
  %5137 = icmp eq i64 %5136, 12
  br i1 %5137, label %5160, label %5138

5138:                                             ; preds = %5132
  %5139 = load i32, ptr %1901, align 4, !tbaa !5
  %5140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5141 = call i32 @s2n_print_stacktrace(ptr noundef %5140) #12
  %5142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5143 = trunc nuw i8 %5142 to i1
  br i1 %5143, label %5144, label %5148

5144:                                             ; preds = %5138
  %5145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5146 = call i32 @fileno(ptr noundef %5145) #12
  %5147 = call i32 @isatty(i32 noundef %5146) #12
  %.not1067 = icmp eq i32 %5147, 0
  br i1 %.not1067, label %5148, label %5149

5148:                                             ; preds = %5144, %5138
  br label %5149

5149:                                             ; preds = %5144, %5148
  %.str.5.sink3202 = phi ptr [ @.str.5, %5148 ], [ @.str.2, %5144 ]
  store i32 %5139, ptr %1901, align 4, !tbaa !5
  %5150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5151 = load i32, ptr @test_count, align 4, !tbaa !5
  %5152 = load i32, ptr %1847, align 4, !tbaa !5
  %5153 = call ptr @s2n_strerror(i32 noundef %5152, ptr noundef nonnull @.str.4) #12
  %5154 = load i32, ptr %1847, align 4, !tbaa !5
  %5155 = call ptr @s2n_strerror_debug(i32 noundef %5154, ptr noundef nonnull @.str.4) #12
  %5156 = load i32, ptr %1901, align 4, !tbaa !5
  %5157 = call ptr @strerror(i32 noundef %5156) #12
  %5158 = load i32, ptr %1901, align 4, !tbaa !5
  %5159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5150, ptr noundef nonnull %.str.5.sink3202, i32 noundef %5151, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 352, ptr noundef %5153, ptr noundef %5155, ptr noundef %5157, i32 noundef %5158) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5160:                                             ; preds = %5132
  %5161 = load i32, ptr @test_count, align 4, !tbaa !5
  %5162 = add nsw i32 %5161, 1
  store i32 %5162, ptr @test_count, align 4, !tbaa !5
  %5163 = load ptr, ptr %32, align 8, !tbaa !9
  %5164 = call i64 @s2n_send(ptr noundef %5163, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %35) #12
  %5165 = icmp eq i64 %5164, 12
  br i1 %5165, label %5188, label %5166

5166:                                             ; preds = %5160
  %5167 = load i32, ptr %1901, align 4, !tbaa !5
  %5168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5169 = call i32 @s2n_print_stacktrace(ptr noundef %5168) #12
  %5170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5171 = trunc nuw i8 %5170 to i1
  br i1 %5171, label %5172, label %5176

5172:                                             ; preds = %5166
  %5173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5174 = call i32 @fileno(ptr noundef %5173) #12
  %5175 = call i32 @isatty(i32 noundef %5174) #12
  %.not1068 = icmp eq i32 %5175, 0
  br i1 %.not1068, label %5176, label %5177

5176:                                             ; preds = %5172, %5166
  br label %5177

5177:                                             ; preds = %5172, %5176
  %.str.5.sink3211 = phi ptr [ @.str.5, %5176 ], [ @.str.2, %5172 ]
  store i32 %5167, ptr %1901, align 4, !tbaa !5
  %5178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5179 = load i32, ptr @test_count, align 4, !tbaa !5
  %5180 = load i32, ptr %1847, align 4, !tbaa !5
  %5181 = call ptr @s2n_strerror(i32 noundef %5180, ptr noundef nonnull @.str.4) #12
  %5182 = load i32, ptr %1847, align 4, !tbaa !5
  %5183 = call ptr @s2n_strerror_debug(i32 noundef %5182, ptr noundef nonnull @.str.4) #12
  %5184 = load i32, ptr %1901, align 4, !tbaa !5
  %5185 = call ptr @strerror(i32 noundef %5184) #12
  %5186 = load i32, ptr %1901, align 4, !tbaa !5
  %5187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5178, ptr noundef nonnull %.str.5.sink3211, i32 noundef %5179, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 353, ptr noundef %5181, ptr noundef %5183, ptr noundef %5185, i32 noundef %5186) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5188:                                             ; preds = %5160
  %5189 = load i32, ptr @test_count, align 4, !tbaa !5
  %5190 = add nsw i32 %5189, 1
  store i32 %5190, ptr @test_count, align 4, !tbaa !5
  %5191 = load ptr, ptr %32, align 8, !tbaa !9
  %5192 = call i32 @s2n_connection_set_end_of_early_data(ptr noundef %5191) #12
  %5193 = icmp eq i32 %5192, -1
  br i1 %5193, label %5194, label %5216

5194:                                             ; preds = %5188
  %5195 = load i32, ptr %1901, align 4, !tbaa !5
  %5196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5197 = call i32 @s2n_print_stacktrace(ptr noundef %5196) #12
  %5198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5199 = trunc nuw i8 %5198 to i1
  br i1 %5199, label %5200, label %5204

5200:                                             ; preds = %5194
  %5201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5202 = call i32 @fileno(ptr noundef %5201) #12
  %5203 = call i32 @isatty(i32 noundef %5202) #12
  %.not1350 = icmp eq i32 %5203, 0
  br i1 %.not1350, label %5204, label %5205

5204:                                             ; preds = %5200, %5194
  br label %5205

5205:                                             ; preds = %5200, %5204
  %.str.5.sink3220 = phi ptr [ @.str.5, %5204 ], [ @.str.2, %5200 ]
  store i32 %5195, ptr %1901, align 4, !tbaa !5
  %5206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5207 = load i32, ptr @test_count, align 4, !tbaa !5
  %5208 = load i32, ptr %1847, align 4, !tbaa !5
  %5209 = call ptr @s2n_strerror(i32 noundef %5208, ptr noundef nonnull @.str.4) #12
  %5210 = load i32, ptr %1847, align 4, !tbaa !5
  %5211 = call ptr @s2n_strerror_debug(i32 noundef %5210, ptr noundef nonnull @.str.4) #12
  %5212 = load i32, ptr %1901, align 4, !tbaa !5
  %5213 = call ptr @strerror(i32 noundef %5212) #12
  %5214 = load i32, ptr %1901, align 4, !tbaa !5
  %5215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5206, ptr noundef nonnull %.str.5.sink3220, i32 noundef %5207, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 355, ptr noundef %5209, ptr noundef %5211, ptr noundef %5213, i32 noundef %5214) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5216:                                             ; preds = %5188
  %5217 = load i32, ptr @test_count, align 4, !tbaa !5
  %5218 = add nsw i32 %5217, 1
  store i32 %5218, ptr @test_count, align 4, !tbaa !5
  %5219 = load ptr, ptr %33, align 8, !tbaa !9
  %5220 = load ptr, ptr %32, align 8, !tbaa !9
  %5221 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5219, ptr noundef %5220) #12
  %5222 = icmp eq i32 %5221, -1
  br i1 %5222, label %5223, label %5245

5223:                                             ; preds = %5216
  %5224 = load i32, ptr %1901, align 4, !tbaa !5
  %5225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5226 = call i32 @s2n_print_stacktrace(ptr noundef %5225) #12
  %5227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5228 = trunc nuw i8 %5227 to i1
  br i1 %5228, label %5229, label %5233

5229:                                             ; preds = %5223
  %5230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5231 = call i32 @fileno(ptr noundef %5230) #12
  %5232 = call i32 @isatty(i32 noundef %5231) #12
  %.not1349 = icmp eq i32 %5232, 0
  br i1 %.not1349, label %5233, label %5234

5233:                                             ; preds = %5229, %5223
  br label %5234

5234:                                             ; preds = %5229, %5233
  %.str.5.sink3229 = phi ptr [ @.str.5, %5233 ], [ @.str.2, %5229 ]
  store i32 %5224, ptr %1901, align 4, !tbaa !5
  %5235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5236 = load i32, ptr @test_count, align 4, !tbaa !5
  %5237 = load i32, ptr %1847, align 4, !tbaa !5
  %5238 = call ptr @s2n_strerror(i32 noundef %5237, ptr noundef nonnull @.str.4) #12
  %5239 = load i32, ptr %1847, align 4, !tbaa !5
  %5240 = call ptr @s2n_strerror_debug(i32 noundef %5239, ptr noundef nonnull @.str.4) #12
  %5241 = load i32, ptr %1901, align 4, !tbaa !5
  %5242 = call ptr @strerror(i32 noundef %5241) #12
  %5243 = load i32, ptr %1901, align 4, !tbaa !5
  %5244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5235, ptr noundef nonnull %.str.5.sink3229, i32 noundef %5236, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 356, ptr noundef %5238, ptr noundef %5240, ptr noundef %5242, i32 noundef %5243) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5245:                                             ; preds = %5216
  %5246 = load i32, ptr @test_count, align 4, !tbaa !5
  %5247 = add nsw i32 %5246, 1
  store i32 %5247, ptr @test_count, align 4, !tbaa !5
  %5248 = load ptr, ptr %32, align 8, !tbaa !9
  %5249 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %5248, i32 noundef 64) #12
  br i1 %5249, label %5250, label %5272

5250:                                             ; preds = %5245
  %5251 = load i32, ptr %1901, align 4, !tbaa !5
  %5252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5253 = call i32 @s2n_print_stacktrace(ptr noundef %5252) #12
  %5254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5255 = trunc nuw i8 %5254 to i1
  br i1 %5255, label %5256, label %5260

5256:                                             ; preds = %5250
  %5257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5258 = call i32 @fileno(ptr noundef %5257) #12
  %5259 = call i32 @isatty(i32 noundef %5258) #12
  %.not1348 = icmp eq i32 %5259, 0
  br i1 %.not1348, label %5260, label %5261

5260:                                             ; preds = %5256, %5250
  br label %5261

5261:                                             ; preds = %5256, %5260
  %.str.5.sink3238 = phi ptr [ @.str.5, %5260 ], [ @.str.2, %5256 ]
  store i32 %5251, ptr %1901, align 4, !tbaa !5
  %5262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5263 = load i32, ptr @test_count, align 4, !tbaa !5
  %5264 = load i32, ptr %1847, align 4, !tbaa !5
  %5265 = call ptr @s2n_strerror(i32 noundef %5264, ptr noundef nonnull @.str.4) #12
  %5266 = load i32, ptr %1847, align 4, !tbaa !5
  %5267 = call ptr @s2n_strerror_debug(i32 noundef %5266, ptr noundef nonnull @.str.4) #12
  %5268 = load i32, ptr %1901, align 4, !tbaa !5
  %5269 = call ptr @strerror(i32 noundef %5268) #12
  %5270 = load i32, ptr %1901, align 4, !tbaa !5
  %5271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5262, ptr noundef nonnull %.str.5.sink3238, i32 noundef %5263, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 358, ptr noundef %5265, ptr noundef %5267, ptr noundef %5269, i32 noundef %5270) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5272:                                             ; preds = %5245
  %5273 = load i32, ptr @test_count, align 4, !tbaa !5
  %5274 = add nsw i32 %5273, 1
  store i32 %5274, ptr @test_count, align 4, !tbaa !5
  %5275 = load ptr, ptr %33, align 8, !tbaa !9
  %5276 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %5275, i32 noundef 64) #12
  br i1 %5276, label %5277, label %5299

5277:                                             ; preds = %5272
  %5278 = load i32, ptr %1901, align 4, !tbaa !5
  %5279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5280 = call i32 @s2n_print_stacktrace(ptr noundef %5279) #12
  %5281 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5282 = trunc nuw i8 %5281 to i1
  br i1 %5282, label %5283, label %5287

5283:                                             ; preds = %5277
  %5284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5285 = call i32 @fileno(ptr noundef %5284) #12
  %5286 = call i32 @isatty(i32 noundef %5285) #12
  %.not1347 = icmp eq i32 %5286, 0
  br i1 %.not1347, label %5287, label %5288

5287:                                             ; preds = %5283, %5277
  br label %5288

5288:                                             ; preds = %5283, %5287
  %.str.5.sink3247 = phi ptr [ @.str.5, %5287 ], [ @.str.2, %5283 ]
  store i32 %5278, ptr %1901, align 4, !tbaa !5
  %5289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5290 = load i32, ptr @test_count, align 4, !tbaa !5
  %5291 = load i32, ptr %1847, align 4, !tbaa !5
  %5292 = call ptr @s2n_strerror(i32 noundef %5291, ptr noundef nonnull @.str.4) #12
  %5293 = load i32, ptr %1847, align 4, !tbaa !5
  %5294 = call ptr @s2n_strerror_debug(i32 noundef %5293, ptr noundef nonnull @.str.4) #12
  %5295 = load i32, ptr %1901, align 4, !tbaa !5
  %5296 = call ptr @strerror(i32 noundef %5295) #12
  %5297 = load i32, ptr %1901, align 4, !tbaa !5
  %5298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5289, ptr noundef nonnull %.str.5.sink3247, i32 noundef %5290, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 359, ptr noundef %5292, ptr noundef %5294, ptr noundef %5296, i32 noundef %5297) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5299:                                             ; preds = %5272
  %5300 = load i32, ptr @test_count, align 4, !tbaa !5
  %5301 = add nsw i32 %5300, 1
  store i32 %5301, ptr @test_count, align 4, !tbaa !5
  %5302 = load ptr, ptr %32, align 8, !tbaa !9
  %5303 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %5302, i32 noundef 2) #12
  br i1 %5303, label %5304, label %5326

5304:                                             ; preds = %5299
  %5305 = load i32, ptr %1901, align 4, !tbaa !5
  %5306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5307 = call i32 @s2n_print_stacktrace(ptr noundef %5306) #12
  %5308 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5309 = trunc nuw i8 %5308 to i1
  br i1 %5309, label %5310, label %5314

5310:                                             ; preds = %5304
  %5311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5312 = call i32 @fileno(ptr noundef %5311) #12
  %5313 = call i32 @isatty(i32 noundef %5312) #12
  %.not1346 = icmp eq i32 %5313, 0
  br i1 %.not1346, label %5314, label %5315

5314:                                             ; preds = %5310, %5304
  br label %5315

5315:                                             ; preds = %5310, %5314
  %.str.5.sink3256 = phi ptr [ @.str.5, %5314 ], [ @.str.2, %5310 ]
  store i32 %5305, ptr %1901, align 4, !tbaa !5
  %5316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5317 = load i32, ptr @test_count, align 4, !tbaa !5
  %5318 = load i32, ptr %1847, align 4, !tbaa !5
  %5319 = call ptr @s2n_strerror(i32 noundef %5318, ptr noundef nonnull @.str.4) #12
  %5320 = load i32, ptr %1847, align 4, !tbaa !5
  %5321 = call ptr @s2n_strerror_debug(i32 noundef %5320, ptr noundef nonnull @.str.4) #12
  %5322 = load i32, ptr %1901, align 4, !tbaa !5
  %5323 = call ptr @strerror(i32 noundef %5322) #12
  %5324 = load i32, ptr %1901, align 4, !tbaa !5
  %5325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5316, ptr noundef nonnull %.str.5.sink3256, i32 noundef %5317, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 360, ptr noundef %5319, ptr noundef %5321, ptr noundef %5323, i32 noundef %5324) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5326:                                             ; preds = %5299
  %5327 = load i32, ptr @test_count, align 4, !tbaa !5
  %5328 = add nsw i32 %5327, 1
  store i32 %5328, ptr @test_count, align 4, !tbaa !5
  %5329 = load ptr, ptr %33, align 8, !tbaa !9
  %5330 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %5329, i32 noundef 2) #12
  br i1 %5330, label %5331, label %5353

5331:                                             ; preds = %5326
  %5332 = load i32, ptr %1901, align 4, !tbaa !5
  %5333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5334 = call i32 @s2n_print_stacktrace(ptr noundef %5333) #12
  %5335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5336 = trunc nuw i8 %5335 to i1
  br i1 %5336, label %5337, label %5341

5337:                                             ; preds = %5331
  %5338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5339 = call i32 @fileno(ptr noundef %5338) #12
  %5340 = call i32 @isatty(i32 noundef %5339) #12
  %.not1345 = icmp eq i32 %5340, 0
  br i1 %.not1345, label %5341, label %5342

5341:                                             ; preds = %5337, %5331
  br label %5342

5342:                                             ; preds = %5337, %5341
  %.str.5.sink3265 = phi ptr [ @.str.5, %5341 ], [ @.str.2, %5337 ]
  store i32 %5332, ptr %1901, align 4, !tbaa !5
  %5343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5344 = load i32, ptr @test_count, align 4, !tbaa !5
  %5345 = load i32, ptr %1847, align 4, !tbaa !5
  %5346 = call ptr @s2n_strerror(i32 noundef %5345, ptr noundef nonnull @.str.4) #12
  %5347 = load i32, ptr %1847, align 4, !tbaa !5
  %5348 = call ptr @s2n_strerror_debug(i32 noundef %5347, ptr noundef nonnull @.str.4) #12
  %5349 = load i32, ptr %1901, align 4, !tbaa !5
  %5350 = call ptr @strerror(i32 noundef %5349) #12
  %5351 = load i32, ptr %1901, align 4, !tbaa !5
  %5352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5343, ptr noundef nonnull %.str.5.sink3265, i32 noundef %5344, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 361, ptr noundef %5346, ptr noundef %5348, ptr noundef %5350, i32 noundef %5351) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5353:                                             ; preds = %5326
  %5354 = load i32, ptr @test_count, align 4, !tbaa !5
  %5355 = add nsw i32 %5354, 1
  store i32 %5355, ptr @test_count, align 4, !tbaa !5
  %5356 = load ptr, ptr %32, align 8, !tbaa !9
  %5357 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %5356, i32 noundef 16) #12
  br i1 %5357, label %5358, label %5380

5358:                                             ; preds = %5353
  %5359 = load i32, ptr %1901, align 4, !tbaa !5
  %5360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5361 = call i32 @s2n_print_stacktrace(ptr noundef %5360) #12
  %5362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5363 = trunc nuw i8 %5362 to i1
  br i1 %5363, label %5364, label %5368

5364:                                             ; preds = %5358
  %5365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5366 = call i32 @fileno(ptr noundef %5365) #12
  %5367 = call i32 @isatty(i32 noundef %5366) #12
  %.not1344 = icmp eq i32 %5367, 0
  br i1 %.not1344, label %5368, label %5369

5368:                                             ; preds = %5364, %5358
  br label %5369

5369:                                             ; preds = %5364, %5368
  %.str.5.sink3274 = phi ptr [ @.str.5, %5368 ], [ @.str.2, %5364 ]
  store i32 %5359, ptr %1901, align 4, !tbaa !5
  %5370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5371 = load i32, ptr @test_count, align 4, !tbaa !5
  %5372 = load i32, ptr %1847, align 4, !tbaa !5
  %5373 = call ptr @s2n_strerror(i32 noundef %5372, ptr noundef nonnull @.str.4) #12
  %5374 = load i32, ptr %1847, align 4, !tbaa !5
  %5375 = call ptr @s2n_strerror_debug(i32 noundef %5374, ptr noundef nonnull @.str.4) #12
  %5376 = load i32, ptr %1901, align 4, !tbaa !5
  %5377 = call ptr @strerror(i32 noundef %5376) #12
  %5378 = load i32, ptr %1901, align 4, !tbaa !5
  %5379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5370, ptr noundef nonnull %.str.5.sink3274, i32 noundef %5371, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 362, ptr noundef %5373, ptr noundef %5375, ptr noundef %5377, i32 noundef %5378) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5380:                                             ; preds = %5353
  %5381 = load i32, ptr @test_count, align 4, !tbaa !5
  %5382 = add nsw i32 %5381, 1
  store i32 %5382, ptr @test_count, align 4, !tbaa !5
  %5383 = load ptr, ptr %33, align 8, !tbaa !9
  %5384 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %5383, i32 noundef 16) #12
  br i1 %5384, label %5385, label %5407

5385:                                             ; preds = %5380
  %5386 = load i32, ptr %1901, align 4, !tbaa !5
  %5387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5388 = call i32 @s2n_print_stacktrace(ptr noundef %5387) #12
  %5389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5390 = trunc nuw i8 %5389 to i1
  br i1 %5390, label %5391, label %5395

5391:                                             ; preds = %5385
  %5392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5393 = call i32 @fileno(ptr noundef %5392) #12
  %5394 = call i32 @isatty(i32 noundef %5393) #12
  %.not1343 = icmp eq i32 %5394, 0
  br i1 %.not1343, label %5395, label %5396

5395:                                             ; preds = %5391, %5385
  br label %5396

5396:                                             ; preds = %5391, %5395
  %.str.5.sink3283 = phi ptr [ @.str.5, %5395 ], [ @.str.2, %5391 ]
  store i32 %5386, ptr %1901, align 4, !tbaa !5
  %5397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5398 = load i32, ptr @test_count, align 4, !tbaa !5
  %5399 = load i32, ptr %1847, align 4, !tbaa !5
  %5400 = call ptr @s2n_strerror(i32 noundef %5399, ptr noundef nonnull @.str.4) #12
  %5401 = load i32, ptr %1847, align 4, !tbaa !5
  %5402 = call ptr @s2n_strerror_debug(i32 noundef %5401, ptr noundef nonnull @.str.4) #12
  %5403 = load i32, ptr %1901, align 4, !tbaa !5
  %5404 = call ptr @strerror(i32 noundef %5403) #12
  %5405 = load i32, ptr %1901, align 4, !tbaa !5
  %5406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5397, ptr noundef nonnull %.str.5.sink3283, i32 noundef %5398, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 363, ptr noundef %5400, ptr noundef %5402, ptr noundef %5404, i32 noundef %5405) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5407:                                             ; preds = %5380
  %5408 = load i32, ptr @test_count, align 4, !tbaa !5
  %5409 = add nsw i32 %5408, 1
  store i32 %5409, ptr @test_count, align 4, !tbaa !5
  %5410 = load ptr, ptr %32, align 8, !tbaa !9
  %5411 = call i32 @s2n_conn_get_current_message_type(ptr noundef %5410) #12
  %5412 = icmp eq i32 %5411, 20
  br i1 %5412, label %5435, label %5413

5413:                                             ; preds = %5407
  %5414 = load i32, ptr %1901, align 4, !tbaa !5
  %5415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5416 = call i32 @s2n_print_stacktrace(ptr noundef %5415) #12
  %5417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5418 = trunc nuw i8 %5417 to i1
  br i1 %5418, label %5419, label %5423

5419:                                             ; preds = %5413
  %5420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5421 = call i32 @fileno(ptr noundef %5420) #12
  %5422 = call i32 @isatty(i32 noundef %5421) #12
  %.not1069 = icmp eq i32 %5422, 0
  br i1 %.not1069, label %5423, label %5424

5423:                                             ; preds = %5419, %5413
  br label %5424

5424:                                             ; preds = %5419, %5423
  %.str.5.sink3292 = phi ptr [ @.str.5, %5423 ], [ @.str.2, %5419 ]
  store i32 %5414, ptr %1901, align 4, !tbaa !5
  %5425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5426 = load i32, ptr @test_count, align 4, !tbaa !5
  %5427 = load i32, ptr %1847, align 4, !tbaa !5
  %5428 = call ptr @s2n_strerror(i32 noundef %5427, ptr noundef nonnull @.str.4) #12
  %5429 = load i32, ptr %1847, align 4, !tbaa !5
  %5430 = call ptr @s2n_strerror_debug(i32 noundef %5429, ptr noundef nonnull @.str.4) #12
  %5431 = load i32, ptr %1901, align 4, !tbaa !5
  %5432 = call ptr @strerror(i32 noundef %5431) #12
  %5433 = load i32, ptr %1901, align 4, !tbaa !5
  %5434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5425, ptr noundef nonnull %.str.5.sink3292, i32 noundef %5426, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 364, ptr noundef %5428, ptr noundef %5430, ptr noundef %5432, i32 noundef %5433) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5435:                                             ; preds = %5407
  %5436 = load i32, ptr @test_count, align 4, !tbaa !5
  %5437 = add nsw i32 %5436, 1
  store i32 %5437, ptr @test_count, align 4, !tbaa !5
  %5438 = load ptr, ptr %33, align 8, !tbaa !9
  %5439 = call i32 @s2n_conn_get_current_message_type(ptr noundef %5438) #12
  %5440 = icmp eq i32 %5439, 20
  br i1 %5440, label %5463, label %5441

5441:                                             ; preds = %5435
  %5442 = load i32, ptr %1901, align 4, !tbaa !5
  %5443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5444 = call i32 @s2n_print_stacktrace(ptr noundef %5443) #12
  %5445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5446 = trunc nuw i8 %5445 to i1
  br i1 %5446, label %5447, label %5451

5447:                                             ; preds = %5441
  %5448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5449 = call i32 @fileno(ptr noundef %5448) #12
  %5450 = call i32 @isatty(i32 noundef %5449) #12
  %.not1070 = icmp eq i32 %5450, 0
  br i1 %.not1070, label %5451, label %5452

5451:                                             ; preds = %5447, %5441
  br label %5452

5452:                                             ; preds = %5447, %5451
  %.str.5.sink3301 = phi ptr [ @.str.5, %5451 ], [ @.str.2, %5447 ]
  store i32 %5442, ptr %1901, align 4, !tbaa !5
  %5453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5454 = load i32, ptr @test_count, align 4, !tbaa !5
  %5455 = load i32, ptr %1847, align 4, !tbaa !5
  %5456 = call ptr @s2n_strerror(i32 noundef %5455, ptr noundef nonnull @.str.4) #12
  %5457 = load i32, ptr %1847, align 4, !tbaa !5
  %5458 = call ptr @s2n_strerror_debug(i32 noundef %5457, ptr noundef nonnull @.str.4) #12
  %5459 = load i32, ptr %1901, align 4, !tbaa !5
  %5460 = call ptr @strerror(i32 noundef %5459) #12
  %5461 = load i32, ptr %1901, align 4, !tbaa !5
  %5462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5453, ptr noundef nonnull %.str.5.sink3301, i32 noundef %5454, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 365, ptr noundef %5456, ptr noundef %5458, ptr noundef %5460, i32 noundef %5461) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5463:                                             ; preds = %5435
  %5464 = load i32, ptr @test_count, align 4, !tbaa !5
  %5465 = add nsw i32 %5464, 1
  store i32 %5465, ptr @test_count, align 4, !tbaa !5
  %5466 = load ptr, ptr %33, align 8, !tbaa !9
  %5467 = load ptr, ptr %32, align 8, !tbaa !9
  %5468 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %5466, ptr noundef %5467) #12
  %5469 = icmp eq i32 %5468, -1
  br i1 %5469, label %5470, label %5492

5470:                                             ; preds = %5463
  %5471 = load i32, ptr %1901, align 4, !tbaa !5
  %5472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5473 = call i32 @s2n_print_stacktrace(ptr noundef %5472) #12
  %5474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5475 = trunc nuw i8 %5474 to i1
  br i1 %5475, label %5476, label %5480

5476:                                             ; preds = %5470
  %5477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5478 = call i32 @fileno(ptr noundef %5477) #12
  %5479 = call i32 @isatty(i32 noundef %5478) #12
  %.not1342 = icmp eq i32 %5479, 0
  br i1 %.not1342, label %5480, label %5481

5480:                                             ; preds = %5476, %5470
  br label %5481

5481:                                             ; preds = %5476, %5480
  %.str.5.sink3310 = phi ptr [ @.str.5, %5480 ], [ @.str.2, %5476 ]
  store i32 %5471, ptr %1901, align 4, !tbaa !5
  %5482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5483 = load i32, ptr @test_count, align 4, !tbaa !5
  %5484 = load i32, ptr %1847, align 4, !tbaa !5
  %5485 = call ptr @s2n_strerror(i32 noundef %5484, ptr noundef nonnull @.str.4) #12
  %5486 = load i32, ptr %1847, align 4, !tbaa !5
  %5487 = call ptr @s2n_strerror_debug(i32 noundef %5486, ptr noundef nonnull @.str.4) #12
  %5488 = load i32, ptr %1901, align 4, !tbaa !5
  %5489 = call ptr @strerror(i32 noundef %5488) #12
  %5490 = load i32, ptr %1901, align 4, !tbaa !5
  %5491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5482, ptr noundef nonnull %.str.5.sink3310, i32 noundef %5483, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 367, ptr noundef %5485, ptr noundef %5487, ptr noundef %5489, i32 noundef %5490) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5492:                                             ; preds = %5463
  %5493 = load i32, ptr @test_count, align 4, !tbaa !5
  %5494 = add nsw i32 %5493, 1
  store i32 %5494, ptr @test_count, align 4, !tbaa !5
  %5495 = load ptr, ptr %32, align 8, !tbaa !9
  %5496 = call i32 @s2n_connection_free(ptr noundef %5495) #12
  %5497 = icmp eq i32 %5496, -1
  br i1 %5497, label %5498, label %5520

5498:                                             ; preds = %5492
  %5499 = load i32, ptr %1901, align 4, !tbaa !5
  %5500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5501 = call i32 @s2n_print_stacktrace(ptr noundef %5500) #12
  %5502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5503 = trunc nuw i8 %5502 to i1
  br i1 %5503, label %5504, label %5508

5504:                                             ; preds = %5498
  %5505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5506 = call i32 @fileno(ptr noundef %5505) #12
  %5507 = call i32 @isatty(i32 noundef %5506) #12
  %.not1341 = icmp eq i32 %5507, 0
  br i1 %.not1341, label %5508, label %5509

5508:                                             ; preds = %5504, %5498
  br label %5509

5509:                                             ; preds = %5504, %5508
  %.str.5.sink3319 = phi ptr [ @.str.5, %5508 ], [ @.str.2, %5504 ]
  store i32 %5499, ptr %1901, align 4, !tbaa !5
  %5510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5511 = load i32, ptr @test_count, align 4, !tbaa !5
  %5512 = load i32, ptr %1847, align 4, !tbaa !5
  %5513 = call ptr @s2n_strerror(i32 noundef %5512, ptr noundef nonnull @.str.4) #12
  %5514 = load i32, ptr %1847, align 4, !tbaa !5
  %5515 = call ptr @s2n_strerror_debug(i32 noundef %5514, ptr noundef nonnull @.str.4) #12
  %5516 = load i32, ptr %1901, align 4, !tbaa !5
  %5517 = call ptr @strerror(i32 noundef %5516) #12
  %5518 = load i32, ptr %1901, align 4, !tbaa !5
  %5519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5510, ptr noundef nonnull %.str.5.sink3319, i32 noundef %5511, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 368, ptr noundef %5513, ptr noundef %5515, ptr noundef %5517, i32 noundef %5518) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5520:                                             ; preds = %5492
  %5521 = load i32, ptr @test_count, align 4, !tbaa !5
  %5522 = add nsw i32 %5521, 1
  store i32 %5522, ptr @test_count, align 4, !tbaa !5
  %5523 = load ptr, ptr %33, align 8, !tbaa !9
  %5524 = call i32 @s2n_connection_free(ptr noundef %5523) #12
  %5525 = icmp eq i32 %5524, -1
  br i1 %5525, label %5526, label %5548

5526:                                             ; preds = %5520
  %5527 = load i32, ptr %1901, align 4, !tbaa !5
  %5528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5529 = call i32 @s2n_print_stacktrace(ptr noundef %5528) #12
  %5530 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5531 = trunc nuw i8 %5530 to i1
  br i1 %5531, label %5532, label %5536

5532:                                             ; preds = %5526
  %5533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5534 = call i32 @fileno(ptr noundef %5533) #12
  %5535 = call i32 @isatty(i32 noundef %5534) #12
  %.not1340 = icmp eq i32 %5535, 0
  br i1 %.not1340, label %5536, label %5537

5536:                                             ; preds = %5532, %5526
  br label %5537

5537:                                             ; preds = %5532, %5536
  %.str.5.sink3328 = phi ptr [ @.str.5, %5536 ], [ @.str.2, %5532 ]
  store i32 %5527, ptr %1901, align 4, !tbaa !5
  %5538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5539 = load i32, ptr @test_count, align 4, !tbaa !5
  %5540 = load i32, ptr %1847, align 4, !tbaa !5
  %5541 = call ptr @s2n_strerror(i32 noundef %5540, ptr noundef nonnull @.str.4) #12
  %5542 = load i32, ptr %1847, align 4, !tbaa !5
  %5543 = call ptr @s2n_strerror_debug(i32 noundef %5542, ptr noundef nonnull @.str.4) #12
  %5544 = load i32, ptr %1901, align 4, !tbaa !5
  %5545 = call ptr @strerror(i32 noundef %5544) #12
  %5546 = load i32, ptr %1901, align 4, !tbaa !5
  %5547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5538, ptr noundef nonnull %.str.5.sink3328, i32 noundef %5539, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 369, ptr noundef %5541, ptr noundef %5543, ptr noundef %5545, i32 noundef %5546) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5548:                                             ; preds = %5520
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #12
  %5549 = call i32 @s2n_io_pair_close(ptr noundef nonnull %34) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #12
  store ptr null, ptr %36, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #12
  store ptr null, ptr %37, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #12
  store i64 0, ptr %38, align 8
  %5550 = load i32, ptr @test_count, align 4, !tbaa !5
  %5551 = add nsw i32 %5550, 1
  store i32 %5551, ptr @test_count, align 4, !tbaa !5
  %5552 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef nonnull %38)
  %5553 = call zeroext i1 @s2n_result_is_ok(i32 %5552)
  br i1 %5553, label %5576, label %5554

5554:                                             ; preds = %5548
  %5555 = load i32, ptr %1901, align 4, !tbaa !5
  %5556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5557 = call i32 @s2n_print_stacktrace(ptr noundef %5556) #12
  %5558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5559 = trunc nuw i8 %5558 to i1
  br i1 %5559, label %5560, label %5564

5560:                                             ; preds = %5554
  %5561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5562 = call i32 @fileno(ptr noundef %5561) #12
  %5563 = call i32 @isatty(i32 noundef %5562) #12
  %.not1071 = icmp eq i32 %5563, 0
  br i1 %.not1071, label %5564, label %5565

5564:                                             ; preds = %5560, %5554
  br label %5565

5565:                                             ; preds = %5560, %5564
  %.str.5.sink3337 = phi ptr [ @.str.5, %5564 ], [ @.str.2, %5560 ]
  store i32 %5555, ptr %1901, align 4, !tbaa !5
  %5566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5567 = load i32, ptr @test_count, align 4, !tbaa !5
  %5568 = load i32, ptr %1847, align 4, !tbaa !5
  %5569 = call ptr @s2n_strerror(i32 noundef %5568, ptr noundef nonnull @.str.4) #12
  %5570 = load i32, ptr %1847, align 4, !tbaa !5
  %5571 = call ptr @s2n_strerror_debug(i32 noundef %5570, ptr noundef nonnull @.str.4) #12
  %5572 = load i32, ptr %1901, align 4, !tbaa !5
  %5573 = call ptr @strerror(i32 noundef %5572) #12
  %5574 = load i32, ptr %1901, align 4, !tbaa !5
  %5575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5566, ptr noundef nonnull %.str.5.sink3337, i32 noundef %5567, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 376, ptr noundef %5569, ptr noundef %5571, ptr noundef %5573, i32 noundef %5574) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5576:                                             ; preds = %5548
  %5577 = load i32, ptr @test_count, align 4, !tbaa !5
  %5578 = add nsw i32 %5577, 1
  store i32 %5578, ptr @test_count, align 4, !tbaa !5
  %5579 = load ptr, ptr %36, align 8, !tbaa !9
  %5580 = call i32 @s2n_connection_append_psk(ptr noundef %5579, ptr noundef %243) #12
  %5581 = icmp eq i32 %5580, -1
  br i1 %5581, label %5582, label %5604

5582:                                             ; preds = %5576
  %5583 = load i32, ptr %1901, align 4, !tbaa !5
  %5584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5585 = call i32 @s2n_print_stacktrace(ptr noundef %5584) #12
  %5586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5587 = trunc nuw i8 %5586 to i1
  br i1 %5587, label %5588, label %5592

5588:                                             ; preds = %5582
  %5589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5590 = call i32 @fileno(ptr noundef %5589) #12
  %5591 = call i32 @isatty(i32 noundef %5590) #12
  %.not1339 = icmp eq i32 %5591, 0
  br i1 %.not1339, label %5592, label %5593

5592:                                             ; preds = %5588, %5582
  br label %5593

5593:                                             ; preds = %5588, %5592
  %.str.5.sink3346 = phi ptr [ @.str.5, %5592 ], [ @.str.2, %5588 ]
  store i32 %5583, ptr %1901, align 4, !tbaa !5
  %5594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5595 = load i32, ptr @test_count, align 4, !tbaa !5
  %5596 = load i32, ptr %1847, align 4, !tbaa !5
  %5597 = call ptr @s2n_strerror(i32 noundef %5596, ptr noundef nonnull @.str.4) #12
  %5598 = load i32, ptr %1847, align 4, !tbaa !5
  %5599 = call ptr @s2n_strerror_debug(i32 noundef %5598, ptr noundef nonnull @.str.4) #12
  %5600 = load i32, ptr %1901, align 4, !tbaa !5
  %5601 = call ptr @strerror(i32 noundef %5600) #12
  %5602 = load i32, ptr %1901, align 4, !tbaa !5
  %5603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5594, ptr noundef nonnull %.str.5.sink3346, i32 noundef %5595, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 378, ptr noundef %5597, ptr noundef %5599, ptr noundef %5601, i32 noundef %5602) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5604:                                             ; preds = %5576
  %5605 = load i32, ptr @test_count, align 4, !tbaa !5
  %5606 = add nsw i32 %5605, 1
  store i32 %5606, ptr @test_count, align 4, !tbaa !5
  %5607 = load ptr, ptr %37, align 8, !tbaa !9
  %5608 = call i32 @s2n_connection_append_psk(ptr noundef %5607, ptr noundef %390) #12
  %5609 = icmp eq i32 %5608, -1
  br i1 %5609, label %5610, label %5632

5610:                                             ; preds = %5604
  %5611 = load i32, ptr %1901, align 4, !tbaa !5
  %5612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5613 = call i32 @s2n_print_stacktrace(ptr noundef %5612) #12
  %5614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5615 = trunc nuw i8 %5614 to i1
  br i1 %5615, label %5616, label %5620

5616:                                             ; preds = %5610
  %5617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5618 = call i32 @fileno(ptr noundef %5617) #12
  %5619 = call i32 @isatty(i32 noundef %5618) #12
  %.not1338 = icmp eq i32 %5619, 0
  br i1 %.not1338, label %5620, label %5621

5620:                                             ; preds = %5616, %5610
  br label %5621

5621:                                             ; preds = %5616, %5620
  %.str.5.sink3355 = phi ptr [ @.str.5, %5620 ], [ @.str.2, %5616 ]
  store i32 %5611, ptr %1901, align 4, !tbaa !5
  %5622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5623 = load i32, ptr @test_count, align 4, !tbaa !5
  %5624 = load i32, ptr %1847, align 4, !tbaa !5
  %5625 = call ptr @s2n_strerror(i32 noundef %5624, ptr noundef nonnull @.str.4) #12
  %5626 = load i32, ptr %1847, align 4, !tbaa !5
  %5627 = call ptr @s2n_strerror_debug(i32 noundef %5626, ptr noundef nonnull @.str.4) #12
  %5628 = load i32, ptr %1901, align 4, !tbaa !5
  %5629 = call ptr @strerror(i32 noundef %5628) #12
  %5630 = load i32, ptr %1901, align 4, !tbaa !5
  %5631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5622, ptr noundef nonnull %.str.5.sink3355, i32 noundef %5623, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 379, ptr noundef %5625, ptr noundef %5627, ptr noundef %5629, i32 noundef %5630) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5632:                                             ; preds = %5604
  %5633 = load i32, ptr @test_count, align 4, !tbaa !5
  %5634 = add nsw i32 %5633, 1
  store i32 %5634, ptr @test_count, align 4, !tbaa !5
  %5635 = load ptr, ptr %36, align 8, !tbaa !9
  %5636 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %5635) #12
  %5637 = icmp eq i32 %5636, -1
  br i1 %5637, label %5638, label %5660

5638:                                             ; preds = %5632
  %5639 = load i32, ptr %1901, align 4, !tbaa !5
  %5640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5641 = call i32 @s2n_print_stacktrace(ptr noundef %5640) #12
  %5642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5643 = trunc nuw i8 %5642 to i1
  br i1 %5643, label %5644, label %5648

5644:                                             ; preds = %5638
  %5645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5646 = call i32 @fileno(ptr noundef %5645) #12
  %5647 = call i32 @isatty(i32 noundef %5646) #12
  %.not1337 = icmp eq i32 %5647, 0
  br i1 %.not1337, label %5648, label %5649

5648:                                             ; preds = %5644, %5638
  br label %5649

5649:                                             ; preds = %5644, %5648
  %.str.5.sink3364 = phi ptr [ @.str.5, %5648 ], [ @.str.2, %5644 ]
  store i32 %5639, ptr %1901, align 4, !tbaa !5
  %5650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5651 = load i32, ptr @test_count, align 4, !tbaa !5
  %5652 = load i32, ptr %1847, align 4, !tbaa !5
  %5653 = call ptr @s2n_strerror(i32 noundef %5652, ptr noundef nonnull @.str.4) #12
  %5654 = load i32, ptr %1847, align 4, !tbaa !5
  %5655 = call ptr @s2n_strerror_debug(i32 noundef %5654, ptr noundef nonnull @.str.4) #12
  %5656 = load i32, ptr %1901, align 4, !tbaa !5
  %5657 = call ptr @strerror(i32 noundef %5656) #12
  %5658 = load i32, ptr %1901, align 4, !tbaa !5
  %5659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5650, ptr noundef nonnull %.str.5.sink3364, i32 noundef %5651, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 380, ptr noundef %5653, ptr noundef %5655, ptr noundef %5657, i32 noundef %5658) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5660:                                             ; preds = %5632
  %5661 = load i32, ptr @test_count, align 4, !tbaa !5
  %5662 = add nsw i32 %5661, 1
  store i32 %5662, ptr @test_count, align 4, !tbaa !5
  %5663 = load ptr, ptr %37, align 8, !tbaa !9
  %5664 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %5663) #12
  %5665 = icmp eq i32 %5664, -1
  br i1 %5665, label %5666, label %5688

5666:                                             ; preds = %5660
  %5667 = load i32, ptr %1901, align 4, !tbaa !5
  %5668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5669 = call i32 @s2n_print_stacktrace(ptr noundef %5668) #12
  %5670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5671 = trunc nuw i8 %5670 to i1
  br i1 %5671, label %5672, label %5676

5672:                                             ; preds = %5666
  %5673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5674 = call i32 @fileno(ptr noundef %5673) #12
  %5675 = call i32 @isatty(i32 noundef %5674) #12
  %.not1336 = icmp eq i32 %5675, 0
  br i1 %.not1336, label %5676, label %5677

5676:                                             ; preds = %5672, %5666
  br label %5677

5677:                                             ; preds = %5672, %5676
  %.str.5.sink3373 = phi ptr [ @.str.5, %5676 ], [ @.str.2, %5672 ]
  store i32 %5667, ptr %1901, align 4, !tbaa !5
  %5678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5679 = load i32, ptr @test_count, align 4, !tbaa !5
  %5680 = load i32, ptr %1847, align 4, !tbaa !5
  %5681 = call ptr @s2n_strerror(i32 noundef %5680, ptr noundef nonnull @.str.4) #12
  %5682 = load i32, ptr %1847, align 4, !tbaa !5
  %5683 = call ptr @s2n_strerror_debug(i32 noundef %5682, ptr noundef nonnull @.str.4) #12
  %5684 = load i32, ptr %1901, align 4, !tbaa !5
  %5685 = call ptr @strerror(i32 noundef %5684) #12
  %5686 = load i32, ptr %1901, align 4, !tbaa !5
  %5687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5678, ptr noundef nonnull %.str.5.sink3373, i32 noundef %5679, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 381, ptr noundef %5681, ptr noundef %5683, ptr noundef %5685, i32 noundef %5686) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5688:                                             ; preds = %5660
  %5689 = load i32, ptr @test_count, align 4, !tbaa !5
  %5690 = add nsw i32 %5689, 1
  store i32 %5690, ptr @test_count, align 4, !tbaa !5
  %5691 = load ptr, ptr %37, align 8, !tbaa !9
  %5692 = load ptr, ptr %36, align 8, !tbaa !9
  %5693 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %5691, ptr noundef %5692, i32 noundef 1) #12
  %5694 = call zeroext i1 @s2n_result_is_ok(i32 %5693)
  br i1 %5694, label %5717, label %5695

5695:                                             ; preds = %5688
  %5696 = load i32, ptr %1901, 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
  %.not1072 = icmp eq i32 %5704, 0
  br i1 %.not1072, label %5705, label %5706

5705:                                             ; preds = %5701, %5695
  br label %5706

5706:                                             ; preds = %5701, %5705
  %.str.5.sink3382 = phi ptr [ @.str.5, %5705 ], [ @.str.2, %5701 ]
  store i32 %5696, ptr %1901, 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 %1847, align 4, !tbaa !5
  %5710 = call ptr @s2n_strerror(i32 noundef %5709, ptr noundef nonnull @.str.4) #12
  %5711 = load i32, ptr %1847, align 4, !tbaa !5
  %5712 = call ptr @s2n_strerror_debug(i32 noundef %5711, ptr noundef nonnull @.str.4) #12
  %5713 = load i32, ptr %1901, align 4, !tbaa !5
  %5714 = call ptr @strerror(i32 noundef %5713) #12
  %5715 = load i32, ptr %1901, align 4, !tbaa !5
  %5716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5707, ptr noundef nonnull %.str.5.sink3382, i32 noundef %5708, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 384, ptr noundef %5710, ptr noundef %5712, ptr noundef %5714, i32 noundef %5715) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5717:                                             ; preds = %5688
  %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 %36, align 8, !tbaa !9
  %5721 = getelementptr inbounds i8, ptr %5720, i64 4088
  %5722 = load i32, ptr %5721, align 8, !tbaa !17
  %5723 = icmp eq i32 %5722, 1
  br i1 %5723, label %5746, label %5724

5724:                                             ; preds = %5717
  %5725 = load i32, ptr %1901, 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
  %.not1073 = icmp eq i32 %5733, 0
  br i1 %.not1073, label %5734, label %5735

5734:                                             ; preds = %5730, %5724
  br label %5735

5735:                                             ; preds = %5730, %5734
  %.str.5.sink3391 = phi ptr [ @.str.5, %5734 ], [ @.str.2, %5730 ]
  store i32 %5725, ptr %1901, 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 %1847, align 4, !tbaa !5
  %5739 = call ptr @s2n_strerror(i32 noundef %5738, ptr noundef nonnull @.str.4) #12
  %5740 = load i32, ptr %1847, align 4, !tbaa !5
  %5741 = call ptr @s2n_strerror_debug(i32 noundef %5740, ptr noundef nonnull @.str.4) #12
  %5742 = load i32, ptr %1901, align 4, !tbaa !5
  %5743 = call ptr @strerror(i32 noundef %5742) #12
  %5744 = load i32, ptr %1901, align 4, !tbaa !5
  %5745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5736, ptr noundef nonnull %.str.5.sink3391, i32 noundef %5737, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 385, ptr noundef %5739, ptr noundef %5741, ptr noundef %5743, i32 noundef %5744) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5746:                                             ; preds = %5717
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %39) #12
  store i32 0, ptr %39, align 4, !tbaa !5
  %5747 = add nsw i32 %5718, 2
  store i32 %5747, ptr @test_count, align 4, !tbaa !5
  br label %5757

5748:                                             ; preds = %5757
  %5749 = add nuw nsw i64 %.010041478, 1
  %exitcond1480.not = icmp eq i64 %5749, 83
  br i1 %exitcond1480.not, label %5750, label %5757, !llvm.loop !44

5750:                                             ; preds = %5748
  %5751 = load ptr, ptr %36, align 8, !tbaa !9
  %5752 = getelementptr inbounds i8, ptr %5751, i64 2256
  store i64 0, ptr %5752, align 8, !tbaa !45
  %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 = call i64 @s2n_send(ptr noundef %5751, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %39) #12
  %5756 = icmp eq i64 %5755, 12
  br i1 %5756, label %5807, label %5785

5757:                                             ; preds = %5746, %5748
  %.010041478 = phi i64 [ 0, %5746 ], [ %5749, %5748 ]
  %5758 = load i32, ptr @test_count, align 4, !tbaa !5
  %5759 = add nsw i32 %5758, 1
  store i32 %5759, ptr @test_count, align 4, !tbaa !5
  %5760 = load ptr, ptr %36, align 8, !tbaa !9
  %5761 = call i64 @s2n_send(ptr noundef %5760, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %39) #12
  %5762 = icmp eq i64 %5761, 12
  br i1 %5762, label %5748, label %5763

5763:                                             ; preds = %5757
  %5764 = load i32, ptr %1901, align 4, !tbaa !5
  %5765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5766 = call i32 @s2n_print_stacktrace(ptr noundef %5765) #12
  %5767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5768 = trunc nuw i8 %5767 to i1
  br i1 %5768, label %5769, label %5773

5769:                                             ; preds = %5763
  %5770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5771 = call i32 @fileno(ptr noundef %5770) #12
  %5772 = call i32 @isatty(i32 noundef %5771) #12
  %.not1335 = icmp eq i32 %5772, 0
  br i1 %.not1335, label %5773, label %5774

5773:                                             ; preds = %5769, %5763
  br label %5774

5774:                                             ; preds = %5769, %5773
  %.str.5.sink3400 = phi ptr [ @.str.5, %5773 ], [ @.str.2, %5769 ]
  store i32 %5764, ptr %1901, align 4, !tbaa !5
  %5775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5776 = load i32, ptr @test_count, align 4, !tbaa !5
  %5777 = load i32, ptr %1847, align 4, !tbaa !5
  %5778 = call ptr @s2n_strerror(i32 noundef %5777, ptr noundef nonnull @.str.4) #12
  %5779 = load i32, ptr %1847, align 4, !tbaa !5
  %5780 = call ptr @s2n_strerror_debug(i32 noundef %5779, ptr noundef nonnull @.str.4) #12
  %5781 = load i32, ptr %1901, align 4, !tbaa !5
  %5782 = call ptr @strerror(i32 noundef %5781) #12
  %5783 = load i32, ptr %1901, align 4, !tbaa !5
  %5784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5775, ptr noundef nonnull %.str.5.sink3400, i32 noundef %5776, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 390, ptr noundef %5778, ptr noundef %5780, ptr noundef %5782, i32 noundef %5783) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5785:                                             ; preds = %5750
  %5786 = load i32, ptr %1901, align 4, !tbaa !5
  %5787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5788 = call i32 @s2n_print_stacktrace(ptr noundef %5787) #12
  %5789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5790 = trunc nuw i8 %5789 to i1
  br i1 %5790, label %5791, label %5795

5791:                                             ; preds = %5785
  %5792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5793 = call i32 @fileno(ptr noundef %5792) #12
  %5794 = call i32 @isatty(i32 noundef %5793) #12
  %.not1074 = icmp eq i32 %5794, 0
  br i1 %.not1074, label %5795, label %5796

5795:                                             ; preds = %5791, %5785
  br label %5796

5796:                                             ; preds = %5791, %5795
  %.str.5.sink3409 = phi ptr [ @.str.5, %5795 ], [ @.str.2, %5791 ]
  store i32 %5786, ptr %1901, align 4, !tbaa !5
  %5797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5798 = load i32, ptr @test_count, align 4, !tbaa !5
  %5799 = load i32, ptr %1847, align 4, !tbaa !5
  %5800 = call ptr @s2n_strerror(i32 noundef %5799, ptr noundef nonnull @.str.4) #12
  %5801 = load i32, ptr %1847, align 4, !tbaa !5
  %5802 = call ptr @s2n_strerror_debug(i32 noundef %5801, ptr noundef nonnull @.str.4) #12
  %5803 = load i32, ptr %1901, align 4, !tbaa !5
  %5804 = call ptr @strerror(i32 noundef %5803) #12
  %5805 = load i32, ptr %1901, align 4, !tbaa !5
  %5806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5797, ptr noundef nonnull %.str.5.sink3409, i32 noundef %5798, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 395, ptr noundef %5800, ptr noundef %5802, ptr noundef %5804, i32 noundef %5805) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5807:                                             ; preds = %5750
  %5808 = load i32, ptr @test_count, align 4, !tbaa !5
  %5809 = add nsw i32 %5808, 1
  store i32 %5809, ptr @test_count, align 4, !tbaa !5
  %5810 = load ptr, ptr %36, align 8, !tbaa !9
  %5811 = call i32 @s2n_connection_set_end_of_early_data(ptr noundef %5810) #12
  %5812 = icmp eq i32 %5811, -1
  br i1 %5812, label %5813, label %5835

5813:                                             ; preds = %5807
  %5814 = load i32, ptr %1901, align 4, !tbaa !5
  %5815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5816 = call i32 @s2n_print_stacktrace(ptr noundef %5815) #12
  %5817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5818 = trunc nuw i8 %5817 to i1
  br i1 %5818, label %5819, label %5823

5819:                                             ; preds = %5813
  %5820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5821 = call i32 @fileno(ptr noundef %5820) #12
  %5822 = call i32 @isatty(i32 noundef %5821) #12
  %.not1334 = icmp eq i32 %5822, 0
  br i1 %.not1334, label %5823, label %5824

5823:                                             ; preds = %5819, %5813
  br label %5824

5824:                                             ; preds = %5819, %5823
  %.str.5.sink3418 = phi ptr [ @.str.5, %5823 ], [ @.str.2, %5819 ]
  store i32 %5814, ptr %1901, align 4, !tbaa !5
  %5825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5826 = load i32, ptr @test_count, align 4, !tbaa !5
  %5827 = load i32, ptr %1847, align 4, !tbaa !5
  %5828 = call ptr @s2n_strerror(i32 noundef %5827, ptr noundef nonnull @.str.4) #12
  %5829 = load i32, ptr %1847, align 4, !tbaa !5
  %5830 = call ptr @s2n_strerror_debug(i32 noundef %5829, ptr noundef nonnull @.str.4) #12
  %5831 = load i32, ptr %1901, align 4, !tbaa !5
  %5832 = call ptr @strerror(i32 noundef %5831) #12
  %5833 = load i32, ptr %1901, align 4, !tbaa !5
  %5834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5825, ptr noundef nonnull %.str.5.sink3418, i32 noundef %5826, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 397, ptr noundef %5828, ptr noundef %5830, ptr noundef %5832, i32 noundef %5833) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5835:                                             ; preds = %5807
  %5836 = load i32, ptr @test_count, align 4, !tbaa !5
  %5837 = add nsw i32 %5836, 1
  store i32 %5837, ptr @test_count, align 4, !tbaa !5
  %5838 = load ptr, ptr %37, align 8, !tbaa !9
  %5839 = load ptr, ptr %36, align 8, !tbaa !9
  %5840 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5838, ptr noundef %5839) #12
  %5841 = icmp eq i32 %5840, -1
  br i1 %5841, label %5864, label %5842

5842:                                             ; preds = %5835
  %5843 = load i32, ptr %1901, align 4, !tbaa !5
  %5844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5845 = call i32 @s2n_print_stacktrace(ptr noundef %5844) #12
  %5846 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5847 = trunc nuw i8 %5846 to i1
  br i1 %5847, label %5848, label %5852

5848:                                             ; preds = %5842
  %5849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5850 = call i32 @fileno(ptr noundef %5849) #12
  %5851 = call i32 @isatty(i32 noundef %5850) #12
  %.not1075 = icmp eq i32 %5851, 0
  br i1 %.not1075, label %5852, label %5853

5852:                                             ; preds = %5848, %5842
  br label %5853

5853:                                             ; preds = %5848, %5852
  %.str.5.sink3427 = phi ptr [ @.str.5, %5852 ], [ @.str.2, %5848 ]
  store i32 %5843, ptr %1901, align 4, !tbaa !5
  %5854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5855 = load i32, ptr @test_count, align 4, !tbaa !5
  %5856 = load i32, ptr %1847, align 4, !tbaa !5
  %5857 = call ptr @s2n_strerror(i32 noundef %5856, ptr noundef nonnull @.str.4) #12
  %5858 = load i32, ptr %1847, align 4, !tbaa !5
  %5859 = call ptr @s2n_strerror_debug(i32 noundef %5858, ptr noundef nonnull @.str.4) #12
  %5860 = load i32, ptr %1901, align 4, !tbaa !5
  %5861 = call ptr @strerror(i32 noundef %5860) #12
  %5862 = load i32, ptr %1901, align 4, !tbaa !5
  %5863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5854, ptr noundef nonnull %.str.5.sink3427, i32 noundef %5855, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 399, ptr noundef %5857, ptr noundef %5859, ptr noundef %5861, i32 noundef %5862) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5864:                                             ; preds = %5835
  %5865 = load i32, ptr @test_count, align 4, !tbaa !5
  %5866 = add nsw i32 %5865, 1
  store i32 %5866, ptr @test_count, align 4, !tbaa !5
  %5867 = load i32, ptr %1847, align 4, !tbaa !5
  %5868 = icmp eq i32 %5867, 335544396
  br i1 %5868, label %5891, label %5869

5869:                                             ; preds = %5864
  %5870 = load i32, ptr %1901, align 4, !tbaa !5
  %5871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5872 = call i32 @s2n_print_stacktrace(ptr noundef %5871) #12
  %5873 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5874 = trunc nuw i8 %5873 to i1
  br i1 %5874, label %5875, label %5879

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

5879:                                             ; preds = %5875, %5869
  br label %5880

5880:                                             ; preds = %5875, %5879
  %.str.5.sink3436 = phi ptr [ @.str.5, %5879 ], [ @.str.2, %5875 ]
  store i32 %5870, ptr %1901, align 4, !tbaa !5
  %5881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5882 = load i32, ptr @test_count, align 4, !tbaa !5
  %5883 = load i32, ptr %1847, align 4, !tbaa !5
  %5884 = call ptr @s2n_strerror(i32 noundef %5883, ptr noundef nonnull @.str.4) #12
  %5885 = load i32, ptr %1847, align 4, !tbaa !5
  %5886 = call ptr @s2n_strerror_debug(i32 noundef %5885, ptr noundef nonnull @.str.4) #12
  %5887 = load i32, ptr %1901, align 4, !tbaa !5
  %5888 = call ptr @strerror(i32 noundef %5887) #12
  %5889 = load i32, ptr %1901, align 4, !tbaa !5
  %5890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5881, ptr noundef nonnull %.str.5.sink3436, i32 noundef %5882, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 399, ptr noundef %5884, ptr noundef %5886, ptr noundef %5888, i32 noundef %5889) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5891:                                             ; preds = %5864
  %5892 = add nsw i32 %5865, 2
  store i32 %5892, ptr @test_count, align 4, !tbaa !5
  %5893 = call ptr @s2n_strerror_debug(i32 noundef 335544396, ptr noundef nonnull @.str.4) #12
  %5894 = icmp eq ptr %5893, null
  br i1 %5894, label %5895, label %5917

5895:                                             ; preds = %5891
  %5896 = load i32, ptr %1901, 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
  %.not1333 = icmp eq i32 %5904, 0
  br i1 %.not1333, label %5905, label %5906

5905:                                             ; preds = %5901, %5895
  br label %5906

5906:                                             ; preds = %5901, %5905
  %.str.5.sink3445 = phi ptr [ @.str.5, %5905 ], [ @.str.2, %5901 ]
  store i32 %5896, ptr %1901, 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 %1847, align 4, !tbaa !5
  %5910 = call ptr @s2n_strerror(i32 noundef %5909, ptr noundef nonnull @.str.4) #12
  %5911 = load i32, ptr %1847, align 4, !tbaa !5
  %5912 = call ptr @s2n_strerror_debug(i32 noundef %5911, ptr noundef nonnull @.str.4) #12
  %5913 = load i32, ptr %1901, align 4, !tbaa !5
  %5914 = call ptr @strerror(i32 noundef %5913) #12
  %5915 = load i32, ptr %1901, align 4, !tbaa !5
  %5916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5907, ptr noundef nonnull %.str.5.sink3445, i32 noundef %5908, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 399, ptr noundef %5910, ptr noundef %5912, ptr noundef %5914, i32 noundef %5915) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5917:                                             ; preds = %5891
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %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 %36, align 8, !tbaa !9
  %5921 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %5920, i32 noundef 64) #12
  br i1 %5921, label %5922, label %5944

5922:                                             ; preds = %5917
  %5923 = load i32, ptr %1901, align 4, !tbaa !5
  %5924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5925 = call i32 @s2n_print_stacktrace(ptr noundef %5924) #12
  %5926 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5927 = trunc nuw i8 %5926 to i1
  br i1 %5927, label %5928, label %5932

5928:                                             ; preds = %5922
  %5929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5930 = call i32 @fileno(ptr noundef %5929) #12
  %5931 = call i32 @isatty(i32 noundef %5930) #12
  %.not1332 = icmp eq i32 %5931, 0
  br i1 %.not1332, label %5932, label %5933

5932:                                             ; preds = %5928, %5922
  br label %5933

5933:                                             ; preds = %5928, %5932
  %.str.5.sink3454 = phi ptr [ @.str.5, %5932 ], [ @.str.2, %5928 ]
  store i32 %5923, ptr %1901, align 4, !tbaa !5
  %5934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5935 = load i32, ptr @test_count, align 4, !tbaa !5
  %5936 = load i32, ptr %1847, align 4, !tbaa !5
  %5937 = call ptr @s2n_strerror(i32 noundef %5936, ptr noundef nonnull @.str.4) #12
  %5938 = load i32, ptr %1847, align 4, !tbaa !5
  %5939 = call ptr @s2n_strerror_debug(i32 noundef %5938, ptr noundef nonnull @.str.4) #12
  %5940 = load i32, ptr %1901, align 4, !tbaa !5
  %5941 = call ptr @strerror(i32 noundef %5940) #12
  %5942 = load i32, ptr %1901, align 4, !tbaa !5
  %5943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5934, ptr noundef nonnull %.str.5.sink3454, i32 noundef %5935, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 401, ptr noundef %5937, ptr noundef %5939, ptr noundef %5941, i32 noundef %5942) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5944:                                             ; preds = %5917
  %5945 = load i32, ptr @test_count, align 4, !tbaa !5
  %5946 = add nsw i32 %5945, 1
  store i32 %5946, ptr @test_count, align 4, !tbaa !5
  %5947 = load ptr, ptr %37, align 8, !tbaa !9
  %5948 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %5947, i32 noundef 64) #12
  br i1 %5948, label %5949, label %5971

5949:                                             ; preds = %5944
  %5950 = load i32, ptr %1901, align 4, !tbaa !5
  %5951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5952 = call i32 @s2n_print_stacktrace(ptr noundef %5951) #12
  %5953 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5954 = trunc nuw i8 %5953 to i1
  br i1 %5954, label %5955, label %5959

5955:                                             ; preds = %5949
  %5956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5957 = call i32 @fileno(ptr noundef %5956) #12
  %5958 = call i32 @isatty(i32 noundef %5957) #12
  %.not1331 = icmp eq i32 %5958, 0
  br i1 %.not1331, label %5959, label %5960

5959:                                             ; preds = %5955, %5949
  br label %5960

5960:                                             ; preds = %5955, %5959
  %.str.5.sink3463 = phi ptr [ @.str.5, %5959 ], [ @.str.2, %5955 ]
  store i32 %5950, ptr %1901, align 4, !tbaa !5
  %5961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5962 = load i32, ptr @test_count, align 4, !tbaa !5
  %5963 = load i32, ptr %1847, align 4, !tbaa !5
  %5964 = call ptr @s2n_strerror(i32 noundef %5963, ptr noundef nonnull @.str.4) #12
  %5965 = load i32, ptr %1847, align 4, !tbaa !5
  %5966 = call ptr @s2n_strerror_debug(i32 noundef %5965, ptr noundef nonnull @.str.4) #12
  %5967 = load i32, ptr %1901, align 4, !tbaa !5
  %5968 = call ptr @strerror(i32 noundef %5967) #12
  %5969 = load i32, ptr %1901, align 4, !tbaa !5
  %5970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5961, ptr noundef nonnull %.str.5.sink3463, i32 noundef %5962, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 402, ptr noundef %5964, ptr noundef %5966, ptr noundef %5968, i32 noundef %5969) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5971:                                             ; preds = %5944
  %5972 = load i32, ptr @test_count, align 4, !tbaa !5
  %5973 = add nsw i32 %5972, 1
  store i32 %5973, ptr @test_count, align 4, !tbaa !5
  %5974 = load ptr, ptr %36, align 8, !tbaa !9
  %5975 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %5974, i32 noundef 2) #12
  br i1 %5975, label %5976, label %5998

5976:                                             ; preds = %5971
  %5977 = load i32, ptr %1901, align 4, !tbaa !5
  %5978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5979 = call i32 @s2n_print_stacktrace(ptr noundef %5978) #12
  %5980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5981 = trunc nuw i8 %5980 to i1
  br i1 %5981, label %5982, label %5986

5982:                                             ; preds = %5976
  %5983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5984 = call i32 @fileno(ptr noundef %5983) #12
  %5985 = call i32 @isatty(i32 noundef %5984) #12
  %.not1330 = icmp eq i32 %5985, 0
  br i1 %.not1330, label %5986, label %5987

5986:                                             ; preds = %5982, %5976
  br label %5987

5987:                                             ; preds = %5982, %5986
  %.str.5.sink3472 = phi ptr [ @.str.5, %5986 ], [ @.str.2, %5982 ]
  store i32 %5977, ptr %1901, align 4, !tbaa !5
  %5988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5989 = load i32, ptr @test_count, align 4, !tbaa !5
  %5990 = load i32, ptr %1847, align 4, !tbaa !5
  %5991 = call ptr @s2n_strerror(i32 noundef %5990, ptr noundef nonnull @.str.4) #12
  %5992 = load i32, ptr %1847, align 4, !tbaa !5
  %5993 = call ptr @s2n_strerror_debug(i32 noundef %5992, ptr noundef nonnull @.str.4) #12
  %5994 = load i32, ptr %1901, align 4, !tbaa !5
  %5995 = call ptr @strerror(i32 noundef %5994) #12
  %5996 = load i32, ptr %1901, align 4, !tbaa !5
  %5997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5988, ptr noundef nonnull %.str.5.sink3472, i32 noundef %5989, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 403, ptr noundef %5991, ptr noundef %5993, ptr noundef %5995, i32 noundef %5996) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5998:                                             ; preds = %5971
  %5999 = load i32, ptr @test_count, align 4, !tbaa !5
  %6000 = add nsw i32 %5999, 1
  store i32 %6000, ptr @test_count, align 4, !tbaa !5
  %6001 = load ptr, ptr %37, align 8, !tbaa !9
  %6002 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %6001, i32 noundef 2) #12
  br i1 %6002, label %6003, label %6025

6003:                                             ; preds = %5998
  %6004 = load i32, ptr %1901, align 4, !tbaa !5
  %6005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6006 = call i32 @s2n_print_stacktrace(ptr noundef %6005) #12
  %6007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6008 = trunc nuw i8 %6007 to i1
  br i1 %6008, label %6009, label %6013

6009:                                             ; preds = %6003
  %6010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6011 = call i32 @fileno(ptr noundef %6010) #12
  %6012 = call i32 @isatty(i32 noundef %6011) #12
  %.not1329 = icmp eq i32 %6012, 0
  br i1 %.not1329, label %6013, label %6014

6013:                                             ; preds = %6009, %6003
  br label %6014

6014:                                             ; preds = %6009, %6013
  %.str.5.sink3481 = phi ptr [ @.str.5, %6013 ], [ @.str.2, %6009 ]
  store i32 %6004, ptr %1901, align 4, !tbaa !5
  %6015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6016 = load i32, ptr @test_count, align 4, !tbaa !5
  %6017 = load i32, ptr %1847, align 4, !tbaa !5
  %6018 = call ptr @s2n_strerror(i32 noundef %6017, ptr noundef nonnull @.str.4) #12
  %6019 = load i32, ptr %1847, align 4, !tbaa !5
  %6020 = call ptr @s2n_strerror_debug(i32 noundef %6019, ptr noundef nonnull @.str.4) #12
  %6021 = load i32, ptr %1901, align 4, !tbaa !5
  %6022 = call ptr @strerror(i32 noundef %6021) #12
  %6023 = load i32, ptr %1901, align 4, !tbaa !5
  %6024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6015, ptr noundef nonnull %.str.5.sink3481, i32 noundef %6016, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 404, ptr noundef %6018, ptr noundef %6020, ptr noundef %6022, i32 noundef %6023) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6025:                                             ; preds = %5998
  %6026 = load i32, ptr @test_count, align 4, !tbaa !5
  %6027 = add nsw i32 %6026, 1
  store i32 %6027, ptr @test_count, align 4, !tbaa !5
  %6028 = load ptr, ptr %36, align 8, !tbaa !9
  %6029 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %6028, i32 noundef 16) #12
  br i1 %6029, label %6030, label %6052

6030:                                             ; preds = %6025
  %6031 = load i32, ptr %1901, align 4, !tbaa !5
  %6032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6033 = call i32 @s2n_print_stacktrace(ptr noundef %6032) #12
  %6034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6035 = trunc nuw i8 %6034 to i1
  br i1 %6035, label %6036, label %6040

6036:                                             ; preds = %6030
  %6037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6038 = call i32 @fileno(ptr noundef %6037) #12
  %6039 = call i32 @isatty(i32 noundef %6038) #12
  %.not1328 = icmp eq i32 %6039, 0
  br i1 %.not1328, label %6040, label %6041

6040:                                             ; preds = %6036, %6030
  br label %6041

6041:                                             ; preds = %6036, %6040
  %.str.5.sink3490 = phi ptr [ @.str.5, %6040 ], [ @.str.2, %6036 ]
  store i32 %6031, ptr %1901, align 4, !tbaa !5
  %6042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6043 = load i32, ptr @test_count, align 4, !tbaa !5
  %6044 = load i32, ptr %1847, align 4, !tbaa !5
  %6045 = call ptr @s2n_strerror(i32 noundef %6044, ptr noundef nonnull @.str.4) #12
  %6046 = load i32, ptr %1847, align 4, !tbaa !5
  %6047 = call ptr @s2n_strerror_debug(i32 noundef %6046, ptr noundef nonnull @.str.4) #12
  %6048 = load i32, ptr %1901, align 4, !tbaa !5
  %6049 = call ptr @strerror(i32 noundef %6048) #12
  %6050 = load i32, ptr %1901, align 4, !tbaa !5
  %6051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6042, ptr noundef nonnull %.str.5.sink3490, i32 noundef %6043, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 405, ptr noundef %6045, ptr noundef %6047, ptr noundef %6049, i32 noundef %6050) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6052:                                             ; preds = %6025
  %6053 = load i32, ptr @test_count, align 4, !tbaa !5
  %6054 = add nsw i32 %6053, 1
  store i32 %6054, ptr @test_count, align 4, !tbaa !5
  %6055 = load ptr, ptr %37, align 8, !tbaa !9
  %6056 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %6055, i32 noundef 16) #12
  br i1 %6056, label %6057, label %6079

6057:                                             ; preds = %6052
  %6058 = load i32, ptr %1901, align 4, !tbaa !5
  %6059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6060 = call i32 @s2n_print_stacktrace(ptr noundef %6059) #12
  %6061 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6062 = trunc nuw i8 %6061 to i1
  br i1 %6062, label %6063, label %6067

6063:                                             ; preds = %6057
  %6064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6065 = call i32 @fileno(ptr noundef %6064) #12
  %6066 = call i32 @isatty(i32 noundef %6065) #12
  %.not1327 = icmp eq i32 %6066, 0
  br i1 %.not1327, label %6067, label %6068

6067:                                             ; preds = %6063, %6057
  br label %6068

6068:                                             ; preds = %6063, %6067
  %.str.5.sink3499 = phi ptr [ @.str.5, %6067 ], [ @.str.2, %6063 ]
  store i32 %6058, ptr %1901, align 4, !tbaa !5
  %6069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6070 = load i32, ptr @test_count, align 4, !tbaa !5
  %6071 = load i32, ptr %1847, align 4, !tbaa !5
  %6072 = call ptr @s2n_strerror(i32 noundef %6071, ptr noundef nonnull @.str.4) #12
  %6073 = load i32, ptr %1847, align 4, !tbaa !5
  %6074 = call ptr @s2n_strerror_debug(i32 noundef %6073, ptr noundef nonnull @.str.4) #12
  %6075 = load i32, ptr %1901, align 4, !tbaa !5
  %6076 = call ptr @strerror(i32 noundef %6075) #12
  %6077 = load i32, ptr %1901, align 4, !tbaa !5
  %6078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6069, ptr noundef nonnull %.str.5.sink3499, i32 noundef %6070, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 406, ptr noundef %6072, ptr noundef %6074, ptr noundef %6076, i32 noundef %6077) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6079:                                             ; preds = %6052
  %6080 = load i32, ptr @test_count, align 4, !tbaa !5
  %6081 = add nsw i32 %6080, 1
  store i32 %6081, ptr @test_count, align 4, !tbaa !5
  %6082 = load ptr, ptr %36, align 8, !tbaa !9
  %6083 = call i32 @s2n_connection_free(ptr noundef %6082) #12
  %6084 = icmp eq i32 %6083, -1
  br i1 %6084, label %6085, label %6107

6085:                                             ; preds = %6079
  %6086 = load i32, ptr %1901, align 4, !tbaa !5
  %6087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6088 = call i32 @s2n_print_stacktrace(ptr noundef %6087) #12
  %6089 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6090 = trunc nuw i8 %6089 to i1
  br i1 %6090, label %6091, label %6095

6091:                                             ; preds = %6085
  %6092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6093 = call i32 @fileno(ptr noundef %6092) #12
  %6094 = call i32 @isatty(i32 noundef %6093) #12
  %.not1326 = icmp eq i32 %6094, 0
  br i1 %.not1326, label %6095, label %6096

6095:                                             ; preds = %6091, %6085
  br label %6096

6096:                                             ; preds = %6091, %6095
  %.str.5.sink3508 = phi ptr [ @.str.5, %6095 ], [ @.str.2, %6091 ]
  store i32 %6086, ptr %1901, align 4, !tbaa !5
  %6097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6098 = load i32, ptr @test_count, align 4, !tbaa !5
  %6099 = load i32, ptr %1847, align 4, !tbaa !5
  %6100 = call ptr @s2n_strerror(i32 noundef %6099, ptr noundef nonnull @.str.4) #12
  %6101 = load i32, ptr %1847, align 4, !tbaa !5
  %6102 = call ptr @s2n_strerror_debug(i32 noundef %6101, ptr noundef nonnull @.str.4) #12
  %6103 = load i32, ptr %1901, align 4, !tbaa !5
  %6104 = call ptr @strerror(i32 noundef %6103) #12
  %6105 = load i32, ptr %1901, align 4, !tbaa !5
  %6106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6097, ptr noundef nonnull %.str.5.sink3508, i32 noundef %6098, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 408, ptr noundef %6100, ptr noundef %6102, ptr noundef %6104, i32 noundef %6105) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6107:                                             ; preds = %6079
  %6108 = load i32, ptr @test_count, align 4, !tbaa !5
  %6109 = add nsw i32 %6108, 1
  store i32 %6109, ptr @test_count, align 4, !tbaa !5
  %6110 = load ptr, ptr %37, align 8, !tbaa !9
  %6111 = call i32 @s2n_connection_free(ptr noundef %6110) #12
  %6112 = icmp eq i32 %6111, -1
  br i1 %6112, label %6113, label %6135

6113:                                             ; preds = %6107
  %6114 = load i32, ptr %1901, align 4, !tbaa !5
  %6115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6116 = call i32 @s2n_print_stacktrace(ptr noundef %6115) #12
  %6117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6118 = trunc nuw i8 %6117 to i1
  br i1 %6118, label %6119, label %6123

6119:                                             ; preds = %6113
  %6120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6121 = call i32 @fileno(ptr noundef %6120) #12
  %6122 = call i32 @isatty(i32 noundef %6121) #12
  %.not1325 = icmp eq i32 %6122, 0
  br i1 %.not1325, label %6123, label %6124

6123:                                             ; preds = %6119, %6113
  br label %6124

6124:                                             ; preds = %6119, %6123
  %.str.5.sink3517 = phi ptr [ @.str.5, %6123 ], [ @.str.2, %6119 ]
  store i32 %6114, ptr %1901, align 4, !tbaa !5
  %6125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6126 = load i32, ptr @test_count, align 4, !tbaa !5
  %6127 = load i32, ptr %1847, align 4, !tbaa !5
  %6128 = call ptr @s2n_strerror(i32 noundef %6127, ptr noundef nonnull @.str.4) #12
  %6129 = load i32, ptr %1847, align 4, !tbaa !5
  %6130 = call ptr @s2n_strerror_debug(i32 noundef %6129, ptr noundef nonnull @.str.4) #12
  %6131 = load i32, ptr %1901, align 4, !tbaa !5
  %6132 = call ptr @strerror(i32 noundef %6131) #12
  %6133 = load i32, ptr %1901, align 4, !tbaa !5
  %6134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6125, ptr noundef nonnull %.str.5.sink3517, i32 noundef %6126, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 409, ptr noundef %6128, ptr noundef %6130, ptr noundef %6132, i32 noundef %6133) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6135:                                             ; preds = %6107
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #12
  %6136 = call i32 @s2n_io_pair_close(ptr noundef nonnull %38) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #12
  store ptr null, ptr %40, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #12
  store ptr null, ptr %41, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #12
  store i64 0, ptr %42, align 8
  %6137 = load i32, ptr @test_count, align 4, !tbaa !5
  %6138 = add nsw i32 %6137, 1
  store i32 %6138, ptr @test_count, align 4, !tbaa !5
  %6139 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %40, ptr noundef nonnull %41, ptr noundef nonnull %42)
  %6140 = call zeroext i1 @s2n_result_is_ok(i32 %6139)
  br i1 %6140, label %6163, label %6141

6141:                                             ; preds = %6135
  %6142 = load i32, ptr %1901, align 4, !tbaa !5
  %6143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6144 = call i32 @s2n_print_stacktrace(ptr noundef %6143) #12
  %6145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6146 = trunc nuw i8 %6145 to i1
  br i1 %6146, label %6147, label %6151

6147:                                             ; preds = %6141
  %6148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6149 = call i32 @fileno(ptr noundef %6148) #12
  %6150 = call i32 @isatty(i32 noundef %6149) #12
  %.not1077 = icmp eq i32 %6150, 0
  br i1 %.not1077, label %6151, label %6152

6151:                                             ; preds = %6147, %6141
  br label %6152

6152:                                             ; preds = %6147, %6151
  %.str.5.sink3526 = phi ptr [ @.str.5, %6151 ], [ @.str.2, %6147 ]
  store i32 %6142, ptr %1901, align 4, !tbaa !5
  %6153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6154 = load i32, ptr @test_count, align 4, !tbaa !5
  %6155 = load i32, ptr %1847, align 4, !tbaa !5
  %6156 = call ptr @s2n_strerror(i32 noundef %6155, ptr noundef nonnull @.str.4) #12
  %6157 = load i32, ptr %1847, align 4, !tbaa !5
  %6158 = call ptr @s2n_strerror_debug(i32 noundef %6157, ptr noundef nonnull @.str.4) #12
  %6159 = load i32, ptr %1901, align 4, !tbaa !5
  %6160 = call ptr @strerror(i32 noundef %6159) #12
  %6161 = load i32, ptr %1901, align 4, !tbaa !5
  %6162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6153, ptr noundef nonnull %.str.5.sink3526, i32 noundef %6154, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 416, ptr noundef %6156, ptr noundef %6158, ptr noundef %6160, i32 noundef %6161) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6163:                                             ; preds = %6135
  %6164 = load i32, ptr @test_count, align 4, !tbaa !5
  %6165 = add nsw i32 %6164, 1
  store i32 %6165, ptr @test_count, align 4, !tbaa !5
  %6166 = load ptr, ptr %40, align 8, !tbaa !9
  %6167 = load ptr, ptr %4, align 8, !tbaa !9
  %6168 = call i32 @s2n_connection_append_psk(ptr noundef %6166, ptr noundef %6167) #12
  %6169 = icmp eq i32 %6168, -1
  br i1 %6169, label %6170, label %6192

6170:                                             ; preds = %6163
  %6171 = load i32, ptr %1901, align 4, !tbaa !5
  %6172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6173 = call i32 @s2n_print_stacktrace(ptr noundef %6172) #12
  %6174 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6175 = trunc nuw i8 %6174 to i1
  br i1 %6175, label %6176, label %6180

6176:                                             ; preds = %6170
  %6177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6178 = call i32 @fileno(ptr noundef %6177) #12
  %6179 = call i32 @isatty(i32 noundef %6178) #12
  %.not1324 = icmp eq i32 %6179, 0
  br i1 %.not1324, label %6180, label %6181

6180:                                             ; preds = %6176, %6170
  br label %6181

6181:                                             ; preds = %6176, %6180
  %.str.5.sink3535 = phi ptr [ @.str.5, %6180 ], [ @.str.2, %6176 ]
  store i32 %6171, ptr %1901, align 4, !tbaa !5
  %6182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6183 = load i32, ptr @test_count, align 4, !tbaa !5
  %6184 = load i32, ptr %1847, align 4, !tbaa !5
  %6185 = call ptr @s2n_strerror(i32 noundef %6184, ptr noundef nonnull @.str.4) #12
  %6186 = load i32, ptr %1847, align 4, !tbaa !5
  %6187 = call ptr @s2n_strerror_debug(i32 noundef %6186, ptr noundef nonnull @.str.4) #12
  %6188 = load i32, ptr %1901, align 4, !tbaa !5
  %6189 = call ptr @strerror(i32 noundef %6188) #12
  %6190 = load i32, ptr %1901, align 4, !tbaa !5
  %6191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6182, ptr noundef nonnull %.str.5.sink3535, i32 noundef %6183, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 418, ptr noundef %6185, ptr noundef %6187, ptr noundef %6189, i32 noundef %6190) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6192:                                             ; preds = %6163
  %6193 = load i32, ptr @test_count, align 4, !tbaa !5
  %6194 = add nsw i32 %6193, 1
  store i32 %6194, ptr @test_count, align 4, !tbaa !5
  %6195 = load ptr, ptr %41, align 8, !tbaa !9
  %6196 = call i32 @s2n_connection_append_psk(ptr noundef %6195, ptr noundef %6167) #12
  %6197 = icmp eq i32 %6196, -1
  br i1 %6197, label %6198, label %6220

6198:                                             ; preds = %6192
  %6199 = load i32, ptr %1901, align 4, !tbaa !5
  %6200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6201 = call i32 @s2n_print_stacktrace(ptr noundef %6200) #12
  %6202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6203 = trunc nuw i8 %6202 to i1
  br i1 %6203, label %6204, label %6208

6204:                                             ; preds = %6198
  %6205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6206 = call i32 @fileno(ptr noundef %6205) #12
  %6207 = call i32 @isatty(i32 noundef %6206) #12
  %.not1323 = icmp eq i32 %6207, 0
  br i1 %.not1323, label %6208, label %6209

6208:                                             ; preds = %6204, %6198
  br label %6209

6209:                                             ; preds = %6204, %6208
  %.str.5.sink3544 = phi ptr [ @.str.5, %6208 ], [ @.str.2, %6204 ]
  store i32 %6199, ptr %1901, align 4, !tbaa !5
  %6210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6211 = load i32, ptr @test_count, align 4, !tbaa !5
  %6212 = load i32, ptr %1847, align 4, !tbaa !5
  %6213 = call ptr @s2n_strerror(i32 noundef %6212, ptr noundef nonnull @.str.4) #12
  %6214 = load i32, ptr %1847, align 4, !tbaa !5
  %6215 = call ptr @s2n_strerror_debug(i32 noundef %6214, ptr noundef nonnull @.str.4) #12
  %6216 = load i32, ptr %1901, align 4, !tbaa !5
  %6217 = call ptr @strerror(i32 noundef %6216) #12
  %6218 = load i32, ptr %1901, align 4, !tbaa !5
  %6219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6210, ptr noundef nonnull %.str.5.sink3544, i32 noundef %6211, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 419, ptr noundef %6213, ptr noundef %6215, ptr noundef %6217, i32 noundef %6218) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6220:                                             ; preds = %6192
  %6221 = load i32, ptr @test_count, align 4, !tbaa !5
  %6222 = add nsw i32 %6221, 1
  store i32 %6222, ptr @test_count, align 4, !tbaa !5
  %6223 = load ptr, ptr %40, align 8, !tbaa !9
  %6224 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %6223) #12
  %6225 = icmp eq i32 %6224, -1
  br i1 %6225, label %6226, label %6248

6226:                                             ; preds = %6220
  %6227 = load i32, ptr %1901, align 4, !tbaa !5
  %6228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6229 = call i32 @s2n_print_stacktrace(ptr noundef %6228) #12
  %6230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6231 = trunc nuw i8 %6230 to i1
  br i1 %6231, label %6232, label %6236

6232:                                             ; preds = %6226
  %6233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6234 = call i32 @fileno(ptr noundef %6233) #12
  %6235 = call i32 @isatty(i32 noundef %6234) #12
  %.not1322 = icmp eq i32 %6235, 0
  br i1 %.not1322, label %6236, label %6237

6236:                                             ; preds = %6232, %6226
  br label %6237

6237:                                             ; preds = %6232, %6236
  %.str.5.sink3553 = phi ptr [ @.str.5, %6236 ], [ @.str.2, %6232 ]
  store i32 %6227, ptr %1901, align 4, !tbaa !5
  %6238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6239 = load i32, ptr @test_count, align 4, !tbaa !5
  %6240 = load i32, ptr %1847, align 4, !tbaa !5
  %6241 = call ptr @s2n_strerror(i32 noundef %6240, ptr noundef nonnull @.str.4) #12
  %6242 = load i32, ptr %1847, align 4, !tbaa !5
  %6243 = call ptr @s2n_strerror_debug(i32 noundef %6242, ptr noundef nonnull @.str.4) #12
  %6244 = load i32, ptr %1901, align 4, !tbaa !5
  %6245 = call ptr @strerror(i32 noundef %6244) #12
  %6246 = load i32, ptr %1901, align 4, !tbaa !5
  %6247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6238, ptr noundef nonnull %.str.5.sink3553, i32 noundef %6239, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 420, ptr noundef %6241, ptr noundef %6243, ptr noundef %6245, i32 noundef %6246) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6248:                                             ; preds = %6220
  %6249 = load i32, ptr @test_count, align 4, !tbaa !5
  %6250 = add nsw i32 %6249, 1
  store i32 %6250, ptr @test_count, align 4, !tbaa !5
  %6251 = load ptr, ptr %41, align 8, !tbaa !9
  %6252 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %6251) #12
  %6253 = icmp eq i32 %6252, -1
  br i1 %6253, label %6254, label %6276

6254:                                             ; preds = %6248
  %6255 = load i32, ptr %1901, align 4, !tbaa !5
  %6256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6257 = call i32 @s2n_print_stacktrace(ptr noundef %6256) #12
  %6258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6259 = trunc nuw i8 %6258 to i1
  br i1 %6259, label %6260, label %6264

6260:                                             ; preds = %6254
  %6261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6262 = call i32 @fileno(ptr noundef %6261) #12
  %6263 = call i32 @isatty(i32 noundef %6262) #12
  %.not1321 = icmp eq i32 %6263, 0
  br i1 %.not1321, label %6264, label %6265

6264:                                             ; preds = %6260, %6254
  br label %6265

6265:                                             ; preds = %6260, %6264
  %.str.5.sink3562 = phi ptr [ @.str.5, %6264 ], [ @.str.2, %6260 ]
  store i32 %6255, ptr %1901, align 4, !tbaa !5
  %6266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6267 = load i32, ptr @test_count, align 4, !tbaa !5
  %6268 = load i32, ptr %1847, align 4, !tbaa !5
  %6269 = call ptr @s2n_strerror(i32 noundef %6268, ptr noundef nonnull @.str.4) #12
  %6270 = load i32, ptr %1847, align 4, !tbaa !5
  %6271 = call ptr @s2n_strerror_debug(i32 noundef %6270, ptr noundef nonnull @.str.4) #12
  %6272 = load i32, ptr %1901, align 4, !tbaa !5
  %6273 = call ptr @strerror(i32 noundef %6272) #12
  %6274 = load i32, ptr %1901, align 4, !tbaa !5
  %6275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6266, ptr noundef nonnull %.str.5.sink3562, i32 noundef %6267, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 421, ptr noundef %6269, ptr noundef %6271, ptr noundef %6273, i32 noundef %6274) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6276:                                             ; preds = %6248
  %6277 = load ptr, ptr %40, align 8, !tbaa !9
  %6278 = getelementptr inbounds i8, ptr %6277, i64 16
  store ptr @security_policy_test_tls13_retry, ptr %6278, align 8, !tbaa !46
  %6279 = load i32, ptr @test_count, align 4, !tbaa !5
  %6280 = add nsw i32 %6279, 1
  store i32 %6280, ptr @test_count, align 4, !tbaa !5
  %6281 = load ptr, ptr %41, align 8, !tbaa !9
  %6282 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %6281, ptr noundef %6277) #12
  %6283 = icmp eq i32 %6282, -1
  br i1 %6283, label %6284, label %6306

6284:                                             ; preds = %6276
  %6285 = load i32, ptr %1901, align 4, !tbaa !5
  %6286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6287 = call i32 @s2n_print_stacktrace(ptr noundef %6286) #12
  %6288 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6289 = trunc nuw i8 %6288 to i1
  br i1 %6289, label %6290, label %6294

6290:                                             ; preds = %6284
  %6291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6292 = call i32 @fileno(ptr noundef %6291) #12
  %6293 = call i32 @isatty(i32 noundef %6292) #12
  %.not1320 = icmp eq i32 %6293, 0
  br i1 %.not1320, label %6294, label %6295

6294:                                             ; preds = %6290, %6284
  br label %6295

6295:                                             ; preds = %6290, %6294
  %.str.5.sink3571 = phi ptr [ @.str.5, %6294 ], [ @.str.2, %6290 ]
  store i32 %6285, ptr %1901, align 4, !tbaa !5
  %6296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6297 = load i32, ptr @test_count, align 4, !tbaa !5
  %6298 = load i32, ptr %1847, align 4, !tbaa !5
  %6299 = call ptr @s2n_strerror(i32 noundef %6298, ptr noundef nonnull @.str.4) #12
  %6300 = load i32, ptr %1847, align 4, !tbaa !5
  %6301 = call ptr @s2n_strerror_debug(i32 noundef %6300, ptr noundef nonnull @.str.4) #12
  %6302 = load i32, ptr %1901, align 4, !tbaa !5
  %6303 = call ptr @strerror(i32 noundef %6302) #12
  %6304 = load i32, ptr %1901, align 4, !tbaa !5
  %6305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6296, ptr noundef nonnull %.str.5.sink3571, i32 noundef %6297, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 424, ptr noundef %6299, ptr noundef %6301, ptr noundef %6303, i32 noundef %6304) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6306:                                             ; preds = %6276
  %6307 = load i32, ptr @test_count, align 4, !tbaa !5
  %6308 = add nsw i32 %6307, 1
  store i32 %6308, ptr @test_count, align 4, !tbaa !5
  %6309 = load ptr, ptr %40, align 8, !tbaa !9
  %6310 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %6309, i32 noundef 64) #12
  br i1 %6310, label %6311, label %6333

6311:                                             ; preds = %6306
  %6312 = load i32, ptr %1901, align 4, !tbaa !5
  %6313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6314 = call i32 @s2n_print_stacktrace(ptr noundef %6313) #12
  %6315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6316 = trunc nuw i8 %6315 to i1
  br i1 %6316, label %6317, label %6321

6317:                                             ; preds = %6311
  %6318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6319 = call i32 @fileno(ptr noundef %6318) #12
  %6320 = call i32 @isatty(i32 noundef %6319) #12
  %.not1319 = icmp eq i32 %6320, 0
  br i1 %.not1319, label %6321, label %6322

6321:                                             ; preds = %6317, %6311
  br label %6322

6322:                                             ; preds = %6317, %6321
  %.str.5.sink3580 = phi ptr [ @.str.5, %6321 ], [ @.str.2, %6317 ]
  store i32 %6312, ptr %1901, align 4, !tbaa !5
  %6323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6324 = load i32, ptr @test_count, align 4, !tbaa !5
  %6325 = load i32, ptr %1847, align 4, !tbaa !5
  %6326 = call ptr @s2n_strerror(i32 noundef %6325, ptr noundef nonnull @.str.4) #12
  %6327 = load i32, ptr %1847, align 4, !tbaa !5
  %6328 = call ptr @s2n_strerror_debug(i32 noundef %6327, ptr noundef nonnull @.str.4) #12
  %6329 = load i32, ptr %1901, align 4, !tbaa !5
  %6330 = call ptr @strerror(i32 noundef %6329) #12
  %6331 = load i32, ptr %1901, align 4, !tbaa !5
  %6332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6323, ptr noundef nonnull %.str.5.sink3580, i32 noundef %6324, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 426, ptr noundef %6326, ptr noundef %6328, ptr noundef %6330, i32 noundef %6331) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6333:                                             ; preds = %6306
  %6334 = load i32, ptr @test_count, align 4, !tbaa !5
  %6335 = add nsw i32 %6334, 1
  store i32 %6335, ptr @test_count, align 4, !tbaa !5
  %6336 = load ptr, ptr %41, align 8, !tbaa !9
  %6337 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %6336, i32 noundef 64) #12
  br i1 %6337, label %6338, label %6360

6338:                                             ; preds = %6333
  %6339 = load i32, ptr %1901, align 4, !tbaa !5
  %6340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6341 = call i32 @s2n_print_stacktrace(ptr noundef %6340) #12
  %6342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6343 = trunc nuw i8 %6342 to i1
  br i1 %6343, label %6344, label %6348

6344:                                             ; preds = %6338
  %6345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6346 = call i32 @fileno(ptr noundef %6345) #12
  %6347 = call i32 @isatty(i32 noundef %6346) #12
  %.not1318 = icmp eq i32 %6347, 0
  br i1 %.not1318, label %6348, label %6349

6348:                                             ; preds = %6344, %6338
  br label %6349

6349:                                             ; preds = %6344, %6348
  %.str.5.sink3589 = phi ptr [ @.str.5, %6348 ], [ @.str.2, %6344 ]
  store i32 %6339, ptr %1901, align 4, !tbaa !5
  %6350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6351 = load i32, ptr @test_count, align 4, !tbaa !5
  %6352 = load i32, ptr %1847, align 4, !tbaa !5
  %6353 = call ptr @s2n_strerror(i32 noundef %6352, ptr noundef nonnull @.str.4) #12
  %6354 = load i32, ptr %1847, align 4, !tbaa !5
  %6355 = call ptr @s2n_strerror_debug(i32 noundef %6354, ptr noundef nonnull @.str.4) #12
  %6356 = load i32, ptr %1901, align 4, !tbaa !5
  %6357 = call ptr @strerror(i32 noundef %6356) #12
  %6358 = load i32, ptr %1901, align 4, !tbaa !5
  %6359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6350, ptr noundef nonnull %.str.5.sink3589, i32 noundef %6351, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 427, ptr noundef %6353, ptr noundef %6355, ptr noundef %6357, i32 noundef %6358) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6360:                                             ; preds = %6333
  %6361 = load i32, ptr @test_count, align 4, !tbaa !5
  %6362 = add nsw i32 %6361, 1
  store i32 %6362, ptr @test_count, align 4, !tbaa !5
  %6363 = load ptr, ptr %40, align 8, !tbaa !9
  %6364 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %6363, i32 noundef 128) #12
  br i1 %6364, label %6387, label %6365

6365:                                             ; preds = %6360
  %6366 = load i32, ptr %1901, align 4, !tbaa !5
  %6367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6368 = call i32 @s2n_print_stacktrace(ptr noundef %6367) #12
  %6369 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6370 = trunc nuw i8 %6369 to i1
  br i1 %6370, label %6371, label %6375

6371:                                             ; preds = %6365
  %6372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6373 = call i32 @fileno(ptr noundef %6372) #12
  %6374 = call i32 @isatty(i32 noundef %6373) #12
  %.not1078 = icmp eq i32 %6374, 0
  br i1 %.not1078, label %6375, label %6376

6375:                                             ; preds = %6371, %6365
  br label %6376

6376:                                             ; preds = %6371, %6375
  %.str.5.sink3598 = phi ptr [ @.str.5, %6375 ], [ @.str.2, %6371 ]
  store i32 %6366, ptr %1901, align 4, !tbaa !5
  %6377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6378 = load i32, ptr @test_count, align 4, !tbaa !5
  %6379 = load i32, ptr %1847, align 4, !tbaa !5
  %6380 = call ptr @s2n_strerror(i32 noundef %6379, ptr noundef nonnull @.str.4) #12
  %6381 = load i32, ptr %1847, align 4, !tbaa !5
  %6382 = call ptr @s2n_strerror_debug(i32 noundef %6381, ptr noundef nonnull @.str.4) #12
  %6383 = load i32, ptr %1901, align 4, !tbaa !5
  %6384 = call ptr @strerror(i32 noundef %6383) #12
  %6385 = load i32, ptr %1901, align 4, !tbaa !5
  %6386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6377, ptr noundef nonnull %.str.5.sink3598, i32 noundef %6378, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 428, ptr noundef %6380, ptr noundef %6382, ptr noundef %6384, i32 noundef %6385) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6387:                                             ; preds = %6360
  %6388 = load i32, ptr @test_count, align 4, !tbaa !5
  %6389 = add nsw i32 %6388, 1
  store i32 %6389, ptr @test_count, align 4, !tbaa !5
  %6390 = load ptr, ptr %41, align 8, !tbaa !9
  %6391 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %6390, i32 noundef 128) #12
  br i1 %6391, label %6414, label %6392

6392:                                             ; preds = %6387
  %6393 = load i32, ptr %1901, align 4, !tbaa !5
  %6394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6395 = call i32 @s2n_print_stacktrace(ptr noundef %6394) #12
  %6396 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6397 = trunc nuw i8 %6396 to i1
  br i1 %6397, label %6398, label %6402

6398:                                             ; preds = %6392
  %6399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6400 = call i32 @fileno(ptr noundef %6399) #12
  %6401 = call i32 @isatty(i32 noundef %6400) #12
  %.not1079 = icmp eq i32 %6401, 0
  br i1 %.not1079, label %6402, label %6403

6402:                                             ; preds = %6398, %6392
  br label %6403

6403:                                             ; preds = %6398, %6402
  %.str.5.sink3607 = phi ptr [ @.str.5, %6402 ], [ @.str.2, %6398 ]
  store i32 %6393, ptr %1901, align 4, !tbaa !5
  %6404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6405 = load i32, ptr @test_count, align 4, !tbaa !5
  %6406 = load i32, ptr %1847, align 4, !tbaa !5
  %6407 = call ptr @s2n_strerror(i32 noundef %6406, ptr noundef nonnull @.str.4) #12
  %6408 = load i32, ptr %1847, align 4, !tbaa !5
  %6409 = call ptr @s2n_strerror_debug(i32 noundef %6408, ptr noundef nonnull @.str.4) #12
  %6410 = load i32, ptr %1901, align 4, !tbaa !5
  %6411 = call ptr @strerror(i32 noundef %6410) #12
  %6412 = load i32, ptr %1901, align 4, !tbaa !5
  %6413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6404, ptr noundef nonnull %.str.5.sink3607, i32 noundef %6405, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 429, ptr noundef %6407, ptr noundef %6409, ptr noundef %6411, i32 noundef %6412) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6414:                                             ; preds = %6387
  %6415 = load i32, ptr @test_count, align 4, !tbaa !5
  %6416 = add nsw i32 %6415, 1
  store i32 %6416, ptr @test_count, align 4, !tbaa !5
  %6417 = load ptr, ptr %40, align 8, !tbaa !9
  %6418 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %6417, i32 noundef 2) #12
  br i1 %6418, label %6419, label %6441

6419:                                             ; preds = %6414
  %6420 = load i32, ptr %1901, align 4, !tbaa !5
  %6421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6422 = call i32 @s2n_print_stacktrace(ptr noundef %6421) #12
  %6423 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6424 = trunc nuw i8 %6423 to i1
  br i1 %6424, label %6425, label %6429

6425:                                             ; preds = %6419
  %6426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6427 = call i32 @fileno(ptr noundef %6426) #12
  %6428 = call i32 @isatty(i32 noundef %6427) #12
  %.not1317 = icmp eq i32 %6428, 0
  br i1 %.not1317, label %6429, label %6430

6429:                                             ; preds = %6425, %6419
  br label %6430

6430:                                             ; preds = %6425, %6429
  %.str.5.sink3616 = phi ptr [ @.str.5, %6429 ], [ @.str.2, %6425 ]
  store i32 %6420, ptr %1901, align 4, !tbaa !5
  %6431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6432 = load i32, ptr @test_count, align 4, !tbaa !5
  %6433 = load i32, ptr %1847, align 4, !tbaa !5
  %6434 = call ptr @s2n_strerror(i32 noundef %6433, ptr noundef nonnull @.str.4) #12
  %6435 = load i32, ptr %1847, align 4, !tbaa !5
  %6436 = call ptr @s2n_strerror_debug(i32 noundef %6435, ptr noundef nonnull @.str.4) #12
  %6437 = load i32, ptr %1901, align 4, !tbaa !5
  %6438 = call ptr @strerror(i32 noundef %6437) #12
  %6439 = load i32, ptr %1901, align 4, !tbaa !5
  %6440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6431, ptr noundef nonnull %.str.5.sink3616, i32 noundef %6432, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 430, ptr noundef %6434, ptr noundef %6436, ptr noundef %6438, i32 noundef %6439) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6441:                                             ; preds = %6414
  %6442 = load i32, ptr @test_count, align 4, !tbaa !5
  %6443 = add nsw i32 %6442, 1
  store i32 %6443, ptr @test_count, align 4, !tbaa !5
  %6444 = load ptr, ptr %41, align 8, !tbaa !9
  %6445 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %6444, i32 noundef 2) #12
  br i1 %6445, label %6446, label %6468

6446:                                             ; preds = %6441
  %6447 = load i32, ptr %1901, align 4, !tbaa !5
  %6448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6449 = call i32 @s2n_print_stacktrace(ptr noundef %6448) #12
  %6450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6451 = trunc nuw i8 %6450 to i1
  br i1 %6451, label %6452, label %6456

6452:                                             ; preds = %6446
  %6453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6454 = call i32 @fileno(ptr noundef %6453) #12
  %6455 = call i32 @isatty(i32 noundef %6454) #12
  %.not1316 = icmp eq i32 %6455, 0
  br i1 %.not1316, label %6456, label %6457

6456:                                             ; preds = %6452, %6446
  br label %6457

6457:                                             ; preds = %6452, %6456
  %.str.5.sink3625 = phi ptr [ @.str.5, %6456 ], [ @.str.2, %6452 ]
  store i32 %6447, ptr %1901, align 4, !tbaa !5
  %6458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6459 = load i32, ptr @test_count, align 4, !tbaa !5
  %6460 = load i32, ptr %1847, align 4, !tbaa !5
  %6461 = call ptr @s2n_strerror(i32 noundef %6460, ptr noundef nonnull @.str.4) #12
  %6462 = load i32, ptr %1847, align 4, !tbaa !5
  %6463 = call ptr @s2n_strerror_debug(i32 noundef %6462, ptr noundef nonnull @.str.4) #12
  %6464 = load i32, ptr %1901, align 4, !tbaa !5
  %6465 = call ptr @strerror(i32 noundef %6464) #12
  %6466 = load i32, ptr %1901, align 4, !tbaa !5
  %6467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6458, ptr noundef nonnull %.str.5.sink3625, i32 noundef %6459, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 431, ptr noundef %6461, ptr noundef %6463, ptr noundef %6465, i32 noundef %6466) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6468:                                             ; preds = %6441
  %6469 = load i32, ptr @test_count, align 4, !tbaa !5
  %6470 = add nsw i32 %6469, 1
  store i32 %6470, ptr @test_count, align 4, !tbaa !5
  %6471 = load ptr, ptr %40, align 8, !tbaa !9
  %6472 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %6471, i32 noundef 16) #12
  br i1 %6472, label %6495, label %6473

6473:                                             ; preds = %6468
  %6474 = load i32, ptr %1901, align 4, !tbaa !5
  %6475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6476 = call i32 @s2n_print_stacktrace(ptr noundef %6475) #12
  %6477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6478 = trunc nuw i8 %6477 to i1
  br i1 %6478, label %6479, label %6483

6479:                                             ; preds = %6473
  %6480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6481 = call i32 @fileno(ptr noundef %6480) #12
  %6482 = call i32 @isatty(i32 noundef %6481) #12
  %.not1080 = icmp eq i32 %6482, 0
  br i1 %.not1080, label %6483, label %6484

6483:                                             ; preds = %6479, %6473
  br label %6484

6484:                                             ; preds = %6479, %6483
  %.str.5.sink3634 = phi ptr [ @.str.5, %6483 ], [ @.str.2, %6479 ]
  store i32 %6474, ptr %1901, align 4, !tbaa !5
  %6485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6486 = load i32, ptr @test_count, align 4, !tbaa !5
  %6487 = load i32, ptr %1847, align 4, !tbaa !5
  %6488 = call ptr @s2n_strerror(i32 noundef %6487, ptr noundef nonnull @.str.4) #12
  %6489 = load i32, ptr %1847, align 4, !tbaa !5
  %6490 = call ptr @s2n_strerror_debug(i32 noundef %6489, ptr noundef nonnull @.str.4) #12
  %6491 = load i32, ptr %1901, align 4, !tbaa !5
  %6492 = call ptr @strerror(i32 noundef %6491) #12
  %6493 = load i32, ptr %1901, align 4, !tbaa !5
  %6494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6485, ptr noundef nonnull %.str.5.sink3634, i32 noundef %6486, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 432, ptr noundef %6488, ptr noundef %6490, ptr noundef %6492, i32 noundef %6493) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6495:                                             ; preds = %6468
  %6496 = load i32, ptr @test_count, align 4, !tbaa !5
  %6497 = add nsw i32 %6496, 1
  store i32 %6497, ptr @test_count, align 4, !tbaa !5
  %6498 = load ptr, ptr %41, align 8, !tbaa !9
  %6499 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %6498, i32 noundef 16) #12
  br i1 %6499, label %6522, label %6500

6500:                                             ; preds = %6495
  %6501 = load i32, ptr %1901, align 4, !tbaa !5
  %6502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6503 = call i32 @s2n_print_stacktrace(ptr noundef %6502) #12
  %6504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6505 = trunc nuw i8 %6504 to i1
  br i1 %6505, label %6506, label %6510

6506:                                             ; preds = %6500
  %6507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6508 = call i32 @fileno(ptr noundef %6507) #12
  %6509 = call i32 @isatty(i32 noundef %6508) #12
  %.not1081 = icmp eq i32 %6509, 0
  br i1 %.not1081, label %6510, label %6511

6510:                                             ; preds = %6506, %6500
  br label %6511

6511:                                             ; preds = %6506, %6510
  %.str.5.sink3643 = phi ptr [ @.str.5, %6510 ], [ @.str.2, %6506 ]
  store i32 %6501, ptr %1901, align 4, !tbaa !5
  %6512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6513 = load i32, ptr @test_count, align 4, !tbaa !5
  %6514 = load i32, ptr %1847, align 4, !tbaa !5
  %6515 = call ptr @s2n_strerror(i32 noundef %6514, ptr noundef nonnull @.str.4) #12
  %6516 = load i32, ptr %1847, align 4, !tbaa !5
  %6517 = call ptr @s2n_strerror_debug(i32 noundef %6516, ptr noundef nonnull @.str.4) #12
  %6518 = load i32, ptr %1901, align 4, !tbaa !5
  %6519 = call ptr @strerror(i32 noundef %6518) #12
  %6520 = load i32, ptr %1901, align 4, !tbaa !5
  %6521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6512, ptr noundef nonnull %.str.5.sink3643, i32 noundef %6513, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 433, ptr noundef %6515, ptr noundef %6517, ptr noundef %6519, i32 noundef %6520) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6522:                                             ; preds = %6495
  %6523 = load i32, ptr @test_count, align 4, !tbaa !5
  %6524 = add nsw i32 %6523, 1
  store i32 %6524, ptr @test_count, align 4, !tbaa !5
  %6525 = load ptr, ptr %40, align 8, !tbaa !9
  %6526 = call i32 @s2n_conn_get_current_message_type(ptr noundef %6525) #12
  %6527 = icmp eq i32 %6526, 20
  br i1 %6527, label %6550, label %6528

6528:                                             ; preds = %6522
  %6529 = load i32, ptr %1901, align 4, !tbaa !5
  %6530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6531 = call i32 @s2n_print_stacktrace(ptr noundef %6530) #12
  %6532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6533 = trunc nuw i8 %6532 to i1
  br i1 %6533, label %6534, label %6538

6534:                                             ; preds = %6528
  %6535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6536 = call i32 @fileno(ptr noundef %6535) #12
  %6537 = call i32 @isatty(i32 noundef %6536) #12
  %.not1082 = icmp eq i32 %6537, 0
  br i1 %.not1082, label %6538, label %6539

6538:                                             ; preds = %6534, %6528
  br label %6539

6539:                                             ; preds = %6534, %6538
  %.str.5.sink3652 = phi ptr [ @.str.5, %6538 ], [ @.str.2, %6534 ]
  store i32 %6529, ptr %1901, align 4, !tbaa !5
  %6540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6541 = load i32, ptr @test_count, align 4, !tbaa !5
  %6542 = load i32, ptr %1847, align 4, !tbaa !5
  %6543 = call ptr @s2n_strerror(i32 noundef %6542, ptr noundef nonnull @.str.4) #12
  %6544 = load i32, ptr %1847, align 4, !tbaa !5
  %6545 = call ptr @s2n_strerror_debug(i32 noundef %6544, ptr noundef nonnull @.str.4) #12
  %6546 = load i32, ptr %1901, align 4, !tbaa !5
  %6547 = call ptr @strerror(i32 noundef %6546) #12
  %6548 = load i32, ptr %1901, align 4, !tbaa !5
  %6549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6540, ptr noundef nonnull %.str.5.sink3652, i32 noundef %6541, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 434, ptr noundef %6543, ptr noundef %6545, ptr noundef %6547, i32 noundef %6548) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6550:                                             ; preds = %6522
  %6551 = load i32, ptr @test_count, align 4, !tbaa !5
  %6552 = add nsw i32 %6551, 1
  store i32 %6552, ptr @test_count, align 4, !tbaa !5
  %6553 = load ptr, ptr %41, align 8, !tbaa !9
  %6554 = call i32 @s2n_conn_get_current_message_type(ptr noundef %6553) #12
  %6555 = icmp eq i32 %6554, 20
  br i1 %6555, label %6578, label %6556

6556:                                             ; preds = %6550
  %6557 = load i32, ptr %1901, align 4, !tbaa !5
  %6558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6559 = call i32 @s2n_print_stacktrace(ptr noundef %6558) #12
  %6560 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6561 = trunc nuw i8 %6560 to i1
  br i1 %6561, label %6562, label %6566

6562:                                             ; preds = %6556
  %6563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6564 = call i32 @fileno(ptr noundef %6563) #12
  %6565 = call i32 @isatty(i32 noundef %6564) #12
  %.not1083 = icmp eq i32 %6565, 0
  br i1 %.not1083, label %6566, label %6567

6566:                                             ; preds = %6562, %6556
  br label %6567

6567:                                             ; preds = %6562, %6566
  %.str.5.sink3661 = phi ptr [ @.str.5, %6566 ], [ @.str.2, %6562 ]
  store i32 %6557, ptr %1901, align 4, !tbaa !5
  %6568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6569 = load i32, ptr @test_count, align 4, !tbaa !5
  %6570 = load i32, ptr %1847, align 4, !tbaa !5
  %6571 = call ptr @s2n_strerror(i32 noundef %6570, ptr noundef nonnull @.str.4) #12
  %6572 = load i32, ptr %1847, align 4, !tbaa !5
  %6573 = call ptr @s2n_strerror_debug(i32 noundef %6572, ptr noundef nonnull @.str.4) #12
  %6574 = load i32, ptr %1901, align 4, !tbaa !5
  %6575 = call ptr @strerror(i32 noundef %6574) #12
  %6576 = load i32, ptr %1901, align 4, !tbaa !5
  %6577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6568, ptr noundef nonnull %.str.5.sink3661, i32 noundef %6569, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 435, ptr noundef %6571, ptr noundef %6573, ptr noundef %6575, i32 noundef %6576) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6578:                                             ; preds = %6550
  %6579 = load i32, ptr @test_count, align 4, !tbaa !5
  %6580 = add nsw i32 %6579, 1
  store i32 %6580, ptr @test_count, align 4, !tbaa !5
  %6581 = load ptr, ptr %41, align 8, !tbaa !9
  %6582 = load ptr, ptr %40, align 8, !tbaa !9
  %6583 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %6581, ptr noundef %6582) #12
  %6584 = icmp eq i32 %6583, -1
  br i1 %6584, label %6585, label %6607

6585:                                             ; preds = %6578
  %6586 = load i32, ptr %1901, align 4, !tbaa !5
  %6587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6588 = call i32 @s2n_print_stacktrace(ptr noundef %6587) #12
  %6589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6590 = trunc nuw i8 %6589 to i1
  br i1 %6590, label %6591, label %6595

6591:                                             ; preds = %6585
  %6592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6593 = call i32 @fileno(ptr noundef %6592) #12
  %6594 = call i32 @isatty(i32 noundef %6593) #12
  %.not1315 = icmp eq i32 %6594, 0
  br i1 %.not1315, label %6595, label %6596

6595:                                             ; preds = %6591, %6585
  br label %6596

6596:                                             ; preds = %6591, %6595
  %.str.5.sink3670 = phi ptr [ @.str.5, %6595 ], [ @.str.2, %6591 ]
  store i32 %6586, ptr %1901, align 4, !tbaa !5
  %6597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6598 = load i32, ptr @test_count, align 4, !tbaa !5
  %6599 = load i32, ptr %1847, align 4, !tbaa !5
  %6600 = call ptr @s2n_strerror(i32 noundef %6599, ptr noundef nonnull @.str.4) #12
  %6601 = load i32, ptr %1847, align 4, !tbaa !5
  %6602 = call ptr @s2n_strerror_debug(i32 noundef %6601, ptr noundef nonnull @.str.4) #12
  %6603 = load i32, ptr %1901, align 4, !tbaa !5
  %6604 = call ptr @strerror(i32 noundef %6603) #12
  %6605 = load i32, ptr %1901, align 4, !tbaa !5
  %6606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6597, ptr noundef nonnull %.str.5.sink3670, i32 noundef %6598, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 437, ptr noundef %6600, ptr noundef %6602, ptr noundef %6604, i32 noundef %6605) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6607:                                             ; preds = %6578
  %6608 = load i32, ptr @test_count, align 4, !tbaa !5
  %6609 = add nsw i32 %6608, 1
  store i32 %6609, ptr @test_count, align 4, !tbaa !5
  %6610 = load ptr, ptr %40, align 8, !tbaa !9
  %6611 = call i32 @s2n_connection_free(ptr noundef %6610) #12
  %6612 = icmp eq i32 %6611, -1
  br i1 %6612, label %6613, label %6635

6613:                                             ; preds = %6607
  %6614 = load i32, ptr %1901, align 4, !tbaa !5
  %6615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6616 = call i32 @s2n_print_stacktrace(ptr noundef %6615) #12
  %6617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6618 = trunc nuw i8 %6617 to i1
  br i1 %6618, label %6619, label %6623

6619:                                             ; preds = %6613
  %6620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6621 = call i32 @fileno(ptr noundef %6620) #12
  %6622 = call i32 @isatty(i32 noundef %6621) #12
  %.not1314 = icmp eq i32 %6622, 0
  br i1 %.not1314, label %6623, label %6624

6623:                                             ; preds = %6619, %6613
  br label %6624

6624:                                             ; preds = %6619, %6623
  %.str.5.sink3679 = phi ptr [ @.str.5, %6623 ], [ @.str.2, %6619 ]
  store i32 %6614, ptr %1901, align 4, !tbaa !5
  %6625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6626 = load i32, ptr @test_count, align 4, !tbaa !5
  %6627 = load i32, ptr %1847, align 4, !tbaa !5
  %6628 = call ptr @s2n_strerror(i32 noundef %6627, ptr noundef nonnull @.str.4) #12
  %6629 = load i32, ptr %1847, align 4, !tbaa !5
  %6630 = call ptr @s2n_strerror_debug(i32 noundef %6629, ptr noundef nonnull @.str.4) #12
  %6631 = load i32, ptr %1901, align 4, !tbaa !5
  %6632 = call ptr @strerror(i32 noundef %6631) #12
  %6633 = load i32, ptr %1901, align 4, !tbaa !5
  %6634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6625, ptr noundef nonnull %.str.5.sink3679, i32 noundef %6626, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 438, ptr noundef %6628, ptr noundef %6630, ptr noundef %6632, i32 noundef %6633) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6635:                                             ; preds = %6607
  %6636 = load i32, ptr @test_count, align 4, !tbaa !5
  %6637 = add nsw i32 %6636, 1
  store i32 %6637, ptr @test_count, align 4, !tbaa !5
  %6638 = load ptr, ptr %41, align 8, !tbaa !9
  %6639 = call i32 @s2n_connection_free(ptr noundef %6638) #12
  %6640 = icmp eq i32 %6639, -1
  br i1 %6640, label %6641, label %6663

6641:                                             ; preds = %6635
  %6642 = load i32, ptr %1901, align 4, !tbaa !5
  %6643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6644 = call i32 @s2n_print_stacktrace(ptr noundef %6643) #12
  %6645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6646 = trunc nuw i8 %6645 to i1
  br i1 %6646, label %6647, label %6651

6647:                                             ; preds = %6641
  %6648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6649 = call i32 @fileno(ptr noundef %6648) #12
  %6650 = call i32 @isatty(i32 noundef %6649) #12
  %.not1313 = icmp eq i32 %6650, 0
  br i1 %.not1313, label %6651, label %6652

6651:                                             ; preds = %6647, %6641
  br label %6652

6652:                                             ; preds = %6647, %6651
  %.str.5.sink3688 = phi ptr [ @.str.5, %6651 ], [ @.str.2, %6647 ]
  store i32 %6642, ptr %1901, align 4, !tbaa !5
  %6653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6654 = load i32, ptr @test_count, align 4, !tbaa !5
  %6655 = load i32, ptr %1847, align 4, !tbaa !5
  %6656 = call ptr @s2n_strerror(i32 noundef %6655, ptr noundef nonnull @.str.4) #12
  %6657 = load i32, ptr %1847, align 4, !tbaa !5
  %6658 = call ptr @s2n_strerror_debug(i32 noundef %6657, ptr noundef nonnull @.str.4) #12
  %6659 = load i32, ptr %1901, align 4, !tbaa !5
  %6660 = call ptr @strerror(i32 noundef %6659) #12
  %6661 = load i32, ptr %1901, align 4, !tbaa !5
  %6662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6653, ptr noundef nonnull %.str.5.sink3688, i32 noundef %6654, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 439, ptr noundef %6656, ptr noundef %6658, ptr noundef %6660, i32 noundef %6661) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6663:                                             ; preds = %6635
  %6664 = call i32 @s2n_io_pair_close(ptr noundef nonnull %42) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #12
  %6665 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %6666 = load i32, ptr @test_count, align 4, !tbaa !5
  %6667 = add nsw i32 %6666, 1
  store i32 %6667, ptr @test_count, align 4, !tbaa !5
  %6668 = icmp eq ptr %6665, null
  br i1 %6668, label %6669, label %6691

6669:                                             ; preds = %6663
  %6670 = load i32, ptr %1901, align 4, !tbaa !5
  %6671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6672 = call i32 @s2n_print_stacktrace(ptr noundef %6671) #12
  %6673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6674 = trunc nuw i8 %6673 to i1
  br i1 %6674, label %6675, label %6679

6675:                                             ; preds = %6669
  %6676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6677 = call i32 @fileno(ptr noundef %6676) #12
  %6678 = call i32 @isatty(i32 noundef %6677) #12
  %.not1312 = icmp eq i32 %6678, 0
  br i1 %.not1312, label %6679, label %6680

6679:                                             ; preds = %6675, %6669
  br label %6680

6680:                                             ; preds = %6675, %6679
  %.str.5.sink3697 = phi ptr [ @.str.5, %6679 ], [ @.str.2, %6675 ]
  store i32 %6670, ptr %1901, align 4, !tbaa !5
  %6681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6682 = load i32, ptr @test_count, align 4, !tbaa !5
  %6683 = load i32, ptr %1847, align 4, !tbaa !5
  %6684 = call ptr @s2n_strerror(i32 noundef %6683, ptr noundef nonnull @.str.4) #12
  %6685 = load i32, ptr %1847, align 4, !tbaa !5
  %6686 = call ptr @s2n_strerror_debug(i32 noundef %6685, ptr noundef nonnull @.str.4) #12
  %6687 = load i32, ptr %1901, align 4, !tbaa !5
  %6688 = call ptr @strerror(i32 noundef %6687) #12
  %6689 = load i32, ptr %1901, align 4, !tbaa !5
  %6690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6681, ptr noundef nonnull %.str.5.sink3697, i32 noundef %6682, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 445, ptr noundef %6684, ptr noundef %6686, ptr noundef %6688, i32 noundef %6689) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6691:                                             ; preds = %6663
  %6692 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %6693 = load i32, ptr @test_count, align 4, !tbaa !5
  %6694 = add nsw i32 %6693, 1
  store i32 %6694, ptr @test_count, align 4, !tbaa !5
  %6695 = icmp eq ptr %6692, null
  br i1 %6695, label %6696, label %6718

6696:                                             ; preds = %6691
  %6697 = load i32, ptr %1901, align 4, !tbaa !5
  %6698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6699 = call i32 @s2n_print_stacktrace(ptr noundef %6698) #12
  %6700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6701 = trunc nuw i8 %6700 to i1
  br i1 %6701, label %6702, label %6706

6702:                                             ; preds = %6696
  %6703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6704 = call i32 @fileno(ptr noundef %6703) #12
  %6705 = call i32 @isatty(i32 noundef %6704) #12
  %.not1311 = icmp eq i32 %6705, 0
  br i1 %.not1311, label %6706, label %6707

6706:                                             ; preds = %6702, %6696
  br label %6707

6707:                                             ; preds = %6702, %6706
  %.str.5.sink3706 = phi ptr [ @.str.5, %6706 ], [ @.str.2, %6702 ]
  store i32 %6697, ptr %1901, align 4, !tbaa !5
  %6708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6709 = load i32, ptr @test_count, align 4, !tbaa !5
  %6710 = load i32, ptr %1847, align 4, !tbaa !5
  %6711 = call ptr @s2n_strerror(i32 noundef %6710, ptr noundef nonnull @.str.4) #12
  %6712 = load i32, ptr %1847, align 4, !tbaa !5
  %6713 = call ptr @s2n_strerror_debug(i32 noundef %6712, ptr noundef nonnull @.str.4) #12
  %6714 = load i32, ptr %1901, align 4, !tbaa !5
  %6715 = call ptr @strerror(i32 noundef %6714) #12
  %6716 = load i32, ptr %1901, align 4, !tbaa !5
  %6717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6708, ptr noundef nonnull %.str.5.sink3706, i32 noundef %6709, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 447, ptr noundef %6711, ptr noundef %6713, ptr noundef %6715, i32 noundef %6716) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6718:                                             ; preds = %6691
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #12
  store i64 0, ptr %43, align 8
  %6719 = add nsw i32 %6693, 2
  store i32 %6719, ptr @test_count, align 4, !tbaa !5
  %6720 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %43) #12
  %6721 = icmp eq i32 %6720, -1
  br i1 %6721, label %6724, label %.preheader

.preheader:                                       ; preds = %6718
  %6722 = getelementptr inbounds i8, ptr %6665, i64 16
  %6723 = getelementptr inbounds i8, ptr %6665, i64 4088
  br label %6751

6724:                                             ; preds = %6718
  %6725 = load i32, ptr %1901, align 4, !tbaa !5
  %6726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6727 = call i32 @s2n_print_stacktrace(ptr noundef %6726) #12
  %6728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6729 = trunc nuw i8 %6728 to i1
  br i1 %6729, label %6730, label %6734

6730:                                             ; preds = %6724
  %6731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6732 = call i32 @fileno(ptr noundef %6731) #12
  %6733 = call i32 @isatty(i32 noundef %6732) #12
  %.not1310 = icmp eq i32 %6733, 0
  br i1 %.not1310, label %6734, label %6735

6734:                                             ; preds = %6730, %6724
  br label %6735

6735:                                             ; preds = %6730, %6734
  %.str.5.sink3715 = phi ptr [ @.str.5, %6734 ], [ @.str.2, %6730 ]
  store i32 %6725, ptr %1901, align 4, !tbaa !5
  %6736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6737 = load i32, ptr @test_count, align 4, !tbaa !5
  %6738 = load i32, ptr %1847, align 4, !tbaa !5
  %6739 = call ptr @s2n_strerror(i32 noundef %6738, ptr noundef nonnull @.str.4) #12
  %6740 = load i32, ptr %1847, align 4, !tbaa !5
  %6741 = call ptr @s2n_strerror_debug(i32 noundef %6740, ptr noundef nonnull @.str.4) #12
  %6742 = load i32, ptr %1901, align 4, !tbaa !5
  %6743 = call ptr @strerror(i32 noundef %6742) #12
  %6744 = load i32, ptr %1901, align 4, !tbaa !5
  %6745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6736, ptr noundef nonnull %.str.5.sink3715, i32 noundef %6737, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 450, ptr noundef %6739, ptr noundef %6741, ptr noundef %6743, i32 noundef %6744) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6746:                                             ; preds = %7365
  %6747 = load i32, ptr @test_count, align 4, !tbaa !5
  %6748 = add nsw i32 %6747, 1
  store i32 %6748, ptr @test_count, align 4, !tbaa !5
  %6749 = call i32 @s2n_connection_free(ptr noundef nonnull %6665) #12
  %6750 = icmp eq i32 %6749, -1
  br i1 %6750, label %7367, label %7389

6751:                                             ; preds = %.preheader, %7365
  %.010051479 = phi i64 [ 0, %.preheader ], [ %7366, %7365 ]
  %6752 = load i32, ptr @test_count, align 4, !tbaa !5
  %6753 = add nsw i32 %6752, 1
  store i32 %6753, ptr @test_count, align 4, !tbaa !5
  %6754 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %6665, ptr noundef nonnull @.str.84) #12
  %6755 = icmp eq i32 %6754, -1
  br i1 %6755, label %6756, label %6778

6756:                                             ; preds = %6751
  %6757 = load i32, ptr %1901, align 4, !tbaa !5
  %6758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6759 = call i32 @s2n_print_stacktrace(ptr noundef %6758) #12
  %6760 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6761 = trunc nuw i8 %6760 to i1
  br i1 %6761, label %6762, label %6766

6762:                                             ; preds = %6756
  %6763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6764 = call i32 @fileno(ptr noundef %6763) #12
  %6765 = call i32 @isatty(i32 noundef %6764) #12
  %.not1309 = icmp eq i32 %6765, 0
  br i1 %.not1309, label %6766, label %6767

6766:                                             ; preds = %6762, %6756
  br label %6767

6767:                                             ; preds = %6762, %6766
  %.str.5.sink3724 = phi ptr [ @.str.5, %6766 ], [ @.str.2, %6762 ]
  store i32 %6757, ptr %1901, align 4, !tbaa !5
  %6768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6769 = load i32, ptr @test_count, align 4, !tbaa !5
  %6770 = load i32, ptr %1847, align 4, !tbaa !5
  %6771 = call ptr @s2n_strerror(i32 noundef %6770, ptr noundef nonnull @.str.4) #12
  %6772 = load i32, ptr %1847, align 4, !tbaa !5
  %6773 = call ptr @s2n_strerror_debug(i32 noundef %6772, ptr noundef nonnull @.str.4) #12
  %6774 = load i32, ptr %1901, align 4, !tbaa !5
  %6775 = call ptr @strerror(i32 noundef %6774) #12
  %6776 = load i32, ptr %1901, align 4, !tbaa !5
  %6777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6768, ptr noundef nonnull %.str.5.sink3724, i32 noundef %6769, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 466, ptr noundef %6771, ptr noundef %6773, ptr noundef %6775, i32 noundef %6776) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6778:                                             ; preds = %6751
  %6779 = load i32, ptr @test_count, align 4, !tbaa !5
  %6780 = add nsw i32 %6779, 1
  store i32 %6780, ptr @test_count, align 4, !tbaa !5
  %6781 = call i32 @s2n_connection_set_blinding(ptr noundef nonnull %6692, i32 noundef 1) #12
  %6782 = icmp eq i32 %6781, -1
  br i1 %6782, label %6783, label %6805

6783:                                             ; preds = %6778
  %6784 = load i32, ptr %1901, align 4, !tbaa !5
  %6785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6786 = call i32 @s2n_print_stacktrace(ptr noundef %6785) #12
  %6787 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6788 = trunc nuw i8 %6787 to i1
  br i1 %6788, label %6789, label %6793

6789:                                             ; preds = %6783
  %6790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6791 = call i32 @fileno(ptr noundef %6790) #12
  %6792 = call i32 @isatty(i32 noundef %6791) #12
  %.not1308 = icmp eq i32 %6792, 0
  br i1 %.not1308, label %6793, label %6794

6793:                                             ; preds = %6789, %6783
  br label %6794

6794:                                             ; preds = %6789, %6793
  %.str.5.sink3733 = phi ptr [ @.str.5, %6793 ], [ @.str.2, %6789 ]
  store i32 %6784, ptr %1901, align 4, !tbaa !5
  %6795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6796 = load i32, ptr @test_count, align 4, !tbaa !5
  %6797 = load i32, ptr %1847, align 4, !tbaa !5
  %6798 = call ptr @s2n_strerror(i32 noundef %6797, ptr noundef nonnull @.str.4) #12
  %6799 = load i32, ptr %1847, align 4, !tbaa !5
  %6800 = call ptr @s2n_strerror_debug(i32 noundef %6799, ptr noundef nonnull @.str.4) #12
  %6801 = load i32, ptr %1901, align 4, !tbaa !5
  %6802 = call ptr @strerror(i32 noundef %6801) #12
  %6803 = load i32, ptr %1901, align 4, !tbaa !5
  %6804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6795, ptr noundef nonnull %.str.5.sink3733, i32 noundef %6796, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 467, ptr noundef %6798, ptr noundef %6800, ptr noundef %6802, i32 noundef %6803) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6805:                                             ; preds = %6778
  %6806 = load i32, ptr @test_count, align 4, !tbaa !5
  %6807 = add nsw i32 %6806, 1
  store i32 %6807, ptr @test_count, align 4, !tbaa !5
  %6808 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %6692, ptr noundef nonnull @.str.84) #12
  %6809 = icmp eq i32 %6808, -1
  br i1 %6809, label %6810, label %6832

6810:                                             ; preds = %6805
  %6811 = load i32, ptr %1901, align 4, !tbaa !5
  %6812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6813 = call i32 @s2n_print_stacktrace(ptr noundef %6812) #12
  %6814 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6815 = trunc nuw i8 %6814 to i1
  br i1 %6815, label %6816, label %6820

6816:                                             ; preds = %6810
  %6817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6818 = call i32 @fileno(ptr noundef %6817) #12
  %6819 = call i32 @isatty(i32 noundef %6818) #12
  %.not1307 = icmp eq i32 %6819, 0
  br i1 %.not1307, label %6820, label %6821

6820:                                             ; preds = %6816, %6810
  br label %6821

6821:                                             ; preds = %6816, %6820
  %.str.5.sink3742 = phi ptr [ @.str.5, %6820 ], [ @.str.2, %6816 ]
  store i32 %6811, ptr %1901, align 4, !tbaa !5
  %6822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6823 = load i32, ptr @test_count, align 4, !tbaa !5
  %6824 = load i32, ptr %1847, align 4, !tbaa !5
  %6825 = call ptr @s2n_strerror(i32 noundef %6824, ptr noundef nonnull @.str.4) #12
  %6826 = load i32, ptr %1847, align 4, !tbaa !5
  %6827 = call ptr @s2n_strerror_debug(i32 noundef %6826, ptr noundef nonnull @.str.4) #12
  %6828 = load i32, ptr %1901, align 4, !tbaa !5
  %6829 = call ptr @strerror(i32 noundef %6828) #12
  %6830 = load i32, ptr %1901, align 4, !tbaa !5
  %6831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6822, ptr noundef nonnull %.str.5.sink3742, i32 noundef %6823, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 468, ptr noundef %6825, ptr noundef %6827, ptr noundef %6829, i32 noundef %6830) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6832:                                             ; preds = %6805
  %6833 = load i32, ptr @test_count, align 4, !tbaa !5
  %6834 = add nsw i32 %6833, 1
  store i32 %6834, ptr @test_count, align 4, !tbaa !5
  %6835 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %6665, ptr noundef nonnull %6692, ptr noundef nonnull %43) #12
  %6836 = icmp eq i32 %6835, -1
  br i1 %6836, label %6837, label %6859

6837:                                             ; preds = %6832
  %6838 = load i32, ptr %1901, align 4, !tbaa !5
  %6839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6840 = call i32 @s2n_print_stacktrace(ptr noundef %6839) #12
  %6841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6842 = trunc nuw i8 %6841 to i1
  br i1 %6842, label %6843, label %6847

6843:                                             ; preds = %6837
  %6844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6845 = call i32 @fileno(ptr noundef %6844) #12
  %6846 = call i32 @isatty(i32 noundef %6845) #12
  %.not1306 = icmp eq i32 %6846, 0
  br i1 %.not1306, label %6847, label %6848

6847:                                             ; preds = %6843, %6837
  br label %6848

6848:                                             ; preds = %6843, %6847
  %.str.5.sink3751 = phi ptr [ @.str.5, %6847 ], [ @.str.2, %6843 ]
  store i32 %6838, ptr %1901, align 4, !tbaa !5
  %6849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6850 = load i32, ptr @test_count, align 4, !tbaa !5
  %6851 = load i32, ptr %1847, align 4, !tbaa !5
  %6852 = call ptr @s2n_strerror(i32 noundef %6851, ptr noundef nonnull @.str.4) #12
  %6853 = load i32, ptr %1847, align 4, !tbaa !5
  %6854 = call ptr @s2n_strerror_debug(i32 noundef %6853, ptr noundef nonnull @.str.4) #12
  %6855 = load i32, ptr %1901, align 4, !tbaa !5
  %6856 = call ptr @strerror(i32 noundef %6855) #12
  %6857 = load i32, ptr %1901, align 4, !tbaa !5
  %6858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6849, ptr noundef nonnull %.str.5.sink3751, i32 noundef %6850, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 469, ptr noundef %6852, ptr noundef %6854, ptr noundef %6856, i32 noundef %6857) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6859:                                             ; preds = %6832
  %6860 = load i32, ptr @test_count, align 4, !tbaa !5
  %6861 = add nsw i32 %6860, 1
  store i32 %6861, ptr @test_count, align 4, !tbaa !5
  %6862 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %6665, ptr noundef %6167) #12
  %6863 = icmp eq i32 %6862, -1
  br i1 %6863, label %6864, label %6886

6864:                                             ; preds = %6859
  %6865 = load i32, ptr %1901, align 4, !tbaa !5
  %6866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6867 = call i32 @s2n_print_stacktrace(ptr noundef %6866) #12
  %6868 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6869 = trunc nuw i8 %6868 to i1
  br i1 %6869, label %6870, label %6874

6870:                                             ; preds = %6864
  %6871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6872 = call i32 @fileno(ptr noundef %6871) #12
  %6873 = call i32 @isatty(i32 noundef %6872) #12
  %.not1305 = icmp eq i32 %6873, 0
  br i1 %.not1305, label %6874, label %6875

6874:                                             ; preds = %6870, %6864
  br label %6875

6875:                                             ; preds = %6870, %6874
  %.str.5.sink3760 = phi ptr [ @.str.5, %6874 ], [ @.str.2, %6870 ]
  store i32 %6865, ptr %1901, align 4, !tbaa !5
  %6876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6877 = load i32, ptr @test_count, align 4, !tbaa !5
  %6878 = load i32, ptr %1847, align 4, !tbaa !5
  %6879 = call ptr @s2n_strerror(i32 noundef %6878, ptr noundef nonnull @.str.4) #12
  %6880 = load i32, ptr %1847, align 4, !tbaa !5
  %6881 = call ptr @s2n_strerror_debug(i32 noundef %6880, ptr noundef nonnull @.str.4) #12
  %6882 = load i32, ptr %1901, align 4, !tbaa !5
  %6883 = call ptr @strerror(i32 noundef %6882) #12
  %6884 = load i32, ptr %1901, align 4, !tbaa !5
  %6885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6876, ptr noundef nonnull %.str.5.sink3760, i32 noundef %6877, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 471, ptr noundef %6879, ptr noundef %6881, ptr noundef %6883, i32 noundef %6884) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6886:                                             ; preds = %6859
  %6887 = load i32, ptr @test_count, align 4, !tbaa !5
  %6888 = add nsw i32 %6887, 1
  store i32 %6888, ptr @test_count, align 4, !tbaa !5
  %6889 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %6692, ptr noundef %6167) #12
  %6890 = icmp eq i32 %6889, -1
  br i1 %6890, label %6891, label %6913

6891:                                             ; preds = %6886
  %6892 = load i32, ptr %1901, align 4, !tbaa !5
  %6893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6894 = call i32 @s2n_print_stacktrace(ptr noundef %6893) #12
  %6895 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6896 = trunc nuw i8 %6895 to i1
  br i1 %6896, label %6897, label %6901

6897:                                             ; preds = %6891
  %6898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6899 = call i32 @fileno(ptr noundef %6898) #12
  %6900 = call i32 @isatty(i32 noundef %6899) #12
  %.not1304 = icmp eq i32 %6900, 0
  br i1 %.not1304, label %6901, label %6902

6901:                                             ; preds = %6897, %6891
  br label %6902

6902:                                             ; preds = %6897, %6901
  %.str.5.sink3769 = phi ptr [ @.str.5, %6901 ], [ @.str.2, %6897 ]
  store i32 %6892, ptr %1901, align 4, !tbaa !5
  %6903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6904 = load i32, ptr @test_count, align 4, !tbaa !5
  %6905 = load i32, ptr %1847, align 4, !tbaa !5
  %6906 = call ptr @s2n_strerror(i32 noundef %6905, ptr noundef nonnull @.str.4) #12
  %6907 = load i32, ptr %1847, align 4, !tbaa !5
  %6908 = call ptr @s2n_strerror_debug(i32 noundef %6907, ptr noundef nonnull @.str.4) #12
  %6909 = load i32, ptr %1901, align 4, !tbaa !5
  %6910 = call ptr @strerror(i32 noundef %6909) #12
  %6911 = load i32, ptr %1901, align 4, !tbaa !5
  %6912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6903, ptr noundef nonnull %.str.5.sink3769, i32 noundef %6904, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 472, ptr noundef %6906, ptr noundef %6908, ptr noundef %6910, i32 noundef %6911) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6913:                                             ; preds = %6886
  %6914 = load i32, ptr @test_count, align 4, !tbaa !5
  %6915 = add nsw i32 %6914, 1
  store i32 %6915, ptr @test_count, align 4, !tbaa !5
  %6916 = call i32 @s2n_connection_set_early_data_expected(ptr noundef nonnull %6665) #12
  %6917 = icmp eq i32 %6916, -1
  br i1 %6917, label %6918, label %6940

6918:                                             ; preds = %6913
  %6919 = load i32, ptr %1901, align 4, !tbaa !5
  %6920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6921 = call i32 @s2n_print_stacktrace(ptr noundef %6920) #12
  %6922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6923 = trunc nuw i8 %6922 to i1
  br i1 %6923, label %6924, label %6928

6924:                                             ; preds = %6918
  %6925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6926 = call i32 @fileno(ptr noundef %6925) #12
  %6927 = call i32 @isatty(i32 noundef %6926) #12
  %.not1303 = icmp eq i32 %6927, 0
  br i1 %.not1303, label %6928, label %6929

6928:                                             ; preds = %6924, %6918
  br label %6929

6929:                                             ; preds = %6924, %6928
  %.str.5.sink3778 = phi ptr [ @.str.5, %6928 ], [ @.str.2, %6924 ]
  store i32 %6919, ptr %1901, align 4, !tbaa !5
  %6930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6931 = load i32, ptr @test_count, align 4, !tbaa !5
  %6932 = load i32, ptr %1847, align 4, !tbaa !5
  %6933 = call ptr @s2n_strerror(i32 noundef %6932, ptr noundef nonnull @.str.4) #12
  %6934 = load i32, ptr %1847, align 4, !tbaa !5
  %6935 = call ptr @s2n_strerror_debug(i32 noundef %6934, ptr noundef nonnull @.str.4) #12
  %6936 = load i32, ptr %1901, align 4, !tbaa !5
  %6937 = call ptr @strerror(i32 noundef %6936) #12
  %6938 = load i32, ptr %1901, align 4, !tbaa !5
  %6939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6930, ptr noundef nonnull %.str.5.sink3778, i32 noundef %6931, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 473, ptr noundef %6933, ptr noundef %6935, ptr noundef %6937, i32 noundef %6938) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6940:                                             ; preds = %6913
  %6941 = load i32, ptr @test_count, align 4, !tbaa !5
  %6942 = add nsw i32 %6941, 1
  store i32 %6942, ptr @test_count, align 4, !tbaa !5
  %6943 = call i32 @s2n_connection_set_early_data_expected(ptr noundef nonnull %6692) #12
  %6944 = icmp eq i32 %6943, -1
  br i1 %6944, label %6945, label %6967

6945:                                             ; preds = %6940
  %6946 = load i32, ptr %1901, align 4, !tbaa !5
  %6947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6948 = call i32 @s2n_print_stacktrace(ptr noundef %6947) #12
  %6949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6950 = trunc nuw i8 %6949 to i1
  br i1 %6950, label %6951, label %6955

6951:                                             ; preds = %6945
  %6952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6953 = call i32 @fileno(ptr noundef %6952) #12
  %6954 = call i32 @isatty(i32 noundef %6953) #12
  %.not1302 = icmp eq i32 %6954, 0
  br i1 %.not1302, label %6955, label %6956

6955:                                             ; preds = %6951, %6945
  br label %6956

6956:                                             ; preds = %6951, %6955
  %.str.5.sink3787 = phi ptr [ @.str.5, %6955 ], [ @.str.2, %6951 ]
  store i32 %6946, ptr %1901, align 4, !tbaa !5
  %6957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6958 = load i32, ptr @test_count, align 4, !tbaa !5
  %6959 = load i32, ptr %1847, align 4, !tbaa !5
  %6960 = call ptr @s2n_strerror(i32 noundef %6959, ptr noundef nonnull @.str.4) #12
  %6961 = load i32, ptr %1847, align 4, !tbaa !5
  %6962 = call ptr @s2n_strerror_debug(i32 noundef %6961, ptr noundef nonnull @.str.4) #12
  %6963 = load i32, ptr %1901, align 4, !tbaa !5
  %6964 = call ptr @strerror(i32 noundef %6963) #12
  %6965 = load i32, ptr %1901, align 4, !tbaa !5
  %6966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6957, ptr noundef nonnull %.str.5.sink3787, i32 noundef %6958, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 474, ptr noundef %6960, ptr noundef %6962, ptr noundef %6964, i32 noundef %6965) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6967:                                             ; preds = %6940
  store ptr @security_policy_test_tls13_retry, ptr %6722, align 8, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #12
  store i32 0, ptr %44, align 4, !tbaa !5
  %6968 = load i32, ptr @test_count, align 4, !tbaa !5
  %6969 = add nsw i32 %6968, 1
  store i32 %6969, ptr @test_count, align 4, !tbaa !5
  %6970 = call i32 @s2n_negotiate_until_message(ptr noundef nonnull %6665, ptr noundef nonnull %44, i32 noundef 1) #12
  %6971 = call zeroext i1 @s2n_result_is_ok(i32 %6970)
  br i1 %6971, label %6994, label %6972

6972:                                             ; preds = %6967
  %6973 = load i32, ptr %1901, align 4, !tbaa !5
  %6974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6975 = call i32 @s2n_print_stacktrace(ptr noundef %6974) #12
  %6976 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6977 = trunc nuw i8 %6976 to i1
  br i1 %6977, label %6978, label %6982

6978:                                             ; preds = %6972
  %6979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6980 = call i32 @fileno(ptr noundef %6979) #12
  %6981 = call i32 @isatty(i32 noundef %6980) #12
  %.not1287 = icmp eq i32 %6981, 0
  br i1 %.not1287, label %6982, label %6983

6982:                                             ; preds = %6978, %6972
  br label %6983

6983:                                             ; preds = %6978, %6982
  %.str.5.sink3796 = phi ptr [ @.str.5, %6982 ], [ @.str.2, %6978 ]
  store i32 %6973, ptr %1901, align 4, !tbaa !5
  %6984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6985 = load i32, ptr @test_count, align 4, !tbaa !5
  %6986 = load i32, ptr %1847, align 4, !tbaa !5
  %6987 = call ptr @s2n_strerror(i32 noundef %6986, ptr noundef nonnull @.str.4) #12
  %6988 = load i32, ptr %1847, align 4, !tbaa !5
  %6989 = call ptr @s2n_strerror_debug(i32 noundef %6988, ptr noundef nonnull @.str.4) #12
  %6990 = load i32, ptr %1901, align 4, !tbaa !5
  %6991 = call ptr @strerror(i32 noundef %6990) #12
  %6992 = load i32, ptr %1901, align 4, !tbaa !5
  %6993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6984, ptr noundef nonnull %.str.5.sink3796, i32 noundef %6985, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 478, ptr noundef %6987, ptr noundef %6989, ptr noundef %6991, i32 noundef %6992) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6994:                                             ; preds = %6967
  %6995 = load i32, ptr @test_count, align 4, !tbaa !5
  %6996 = add nsw i32 %6995, 1
  store i32 %6996, ptr @test_count, align 4, !tbaa !5
  %6997 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %6665) #12
  %6998 = icmp eq i32 %6997, 1
  br i1 %6998, label %7021, label %6999

6999:                                             ; preds = %6994
  %7000 = load i32, ptr %1901, align 4, !tbaa !5
  %7001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7002 = call i32 @s2n_print_stacktrace(ptr noundef %7001) #12
  %7003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7004 = trunc nuw i8 %7003 to i1
  br i1 %7004, label %7005, label %7009

7005:                                             ; preds = %6999
  %7006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7007 = call i32 @fileno(ptr noundef %7006) #12
  %7008 = call i32 @isatty(i32 noundef %7007) #12
  %.not1288 = icmp eq i32 %7008, 0
  br i1 %.not1288, label %7009, label %7010

7009:                                             ; preds = %7005, %6999
  br label %7010

7010:                                             ; preds = %7005, %7009
  %.str.5.sink3805 = phi ptr [ @.str.5, %7009 ], [ @.str.2, %7005 ]
  store i32 %7000, ptr %1901, align 4, !tbaa !5
  %7011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7012 = load i32, ptr @test_count, align 4, !tbaa !5
  %7013 = load i32, ptr %1847, align 4, !tbaa !5
  %7014 = call ptr @s2n_strerror(i32 noundef %7013, ptr noundef nonnull @.str.4) #12
  %7015 = load i32, ptr %1847, align 4, !tbaa !5
  %7016 = call ptr @s2n_strerror_debug(i32 noundef %7015, ptr noundef nonnull @.str.4) #12
  %7017 = load i32, ptr %1901, align 4, !tbaa !5
  %7018 = call ptr @strerror(i32 noundef %7017) #12
  %7019 = load i32, ptr %1901, align 4, !tbaa !5
  %7020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7011, ptr noundef nonnull %.str.5.sink3805, i32 noundef %7012, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 479, ptr noundef %7014, ptr noundef %7016, ptr noundef %7018, i32 noundef %7019) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7021:                                             ; preds = %6994
  %7022 = load i32, ptr @test_count, align 4, !tbaa !5
  %7023 = add nsw i32 %7022, 1
  store i32 %7023, ptr @test_count, align 4, !tbaa !5
  %7024 = load i32, ptr %6723, align 8, !tbaa !17
  %7025 = icmp eq i32 %7024, 1
  br i1 %7025, label %7048, label %7026

7026:                                             ; preds = %7021
  %7027 = load i32, ptr %1901, align 4, !tbaa !5
  %7028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7029 = call i32 @s2n_print_stacktrace(ptr noundef %7028) #12
  %7030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7031 = trunc nuw i8 %7030 to i1
  br i1 %7031, label %7032, label %7036

7032:                                             ; preds = %7026
  %7033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7034 = call i32 @fileno(ptr noundef %7033) #12
  %7035 = call i32 @isatty(i32 noundef %7034) #12
  %.not1289 = icmp eq i32 %7035, 0
  br i1 %.not1289, label %7036, label %7037

7036:                                             ; preds = %7032, %7026
  br label %7037

7037:                                             ; preds = %7032, %7036
  %.str.5.sink3814 = phi ptr [ @.str.5, %7036 ], [ @.str.2, %7032 ]
  store i32 %7027, ptr %1901, align 4, !tbaa !5
  %7038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7039 = load i32, ptr @test_count, align 4, !tbaa !5
  %7040 = load i32, ptr %1847, align 4, !tbaa !5
  %7041 = call ptr @s2n_strerror(i32 noundef %7040, ptr noundef nonnull @.str.4) #12
  %7042 = load i32, ptr %1847, align 4, !tbaa !5
  %7043 = call ptr @s2n_strerror_debug(i32 noundef %7042, ptr noundef nonnull @.str.4) #12
  %7044 = load i32, ptr %1901, align 4, !tbaa !5
  %7045 = call ptr @strerror(i32 noundef %7044) #12
  %7046 = load i32, ptr %1901, align 4, !tbaa !5
  %7047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7038, ptr noundef nonnull %.str.5.sink3814, i32 noundef %7039, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 480, ptr noundef %7041, ptr noundef %7043, ptr noundef %7045, i32 noundef %7046) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7048:                                             ; preds = %7021
  %7049 = add nsw i32 %7022, 2
  store i32 %7049, ptr @test_count, align 4, !tbaa !5
  %7050 = call i64 @s2n_send(ptr noundef nonnull %6665, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %44) #12
  %7051 = icmp eq i64 %7050, 12
  br i1 %7051, label %7074, label %7052

7052:                                             ; preds = %7048
  %7053 = load i32, ptr %1901, align 4, !tbaa !5
  %7054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7055 = call i32 @s2n_print_stacktrace(ptr noundef %7054) #12
  %7056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7057 = trunc nuw i8 %7056 to i1
  br i1 %7057, label %7058, label %7062

7058:                                             ; preds = %7052
  %7059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7060 = call i32 @fileno(ptr noundef %7059) #12
  %7061 = call i32 @isatty(i32 noundef %7060) #12
  %.not1290 = icmp eq i32 %7061, 0
  br i1 %.not1290, label %7062, label %7063

7062:                                             ; preds = %7058, %7052
  br label %7063

7063:                                             ; preds = %7058, %7062
  %.str.5.sink3823 = phi ptr [ @.str.5, %7062 ], [ @.str.2, %7058 ]
  store i32 %7053, ptr %1901, align 4, !tbaa !5
  %7064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7065 = load i32, ptr @test_count, align 4, !tbaa !5
  %7066 = load i32, ptr %1847, align 4, !tbaa !5
  %7067 = call ptr @s2n_strerror(i32 noundef %7066, ptr noundef nonnull @.str.4) #12
  %7068 = load i32, ptr %1847, align 4, !tbaa !5
  %7069 = call ptr @s2n_strerror_debug(i32 noundef %7068, ptr noundef nonnull @.str.4) #12
  %7070 = load i32, ptr %1901, align 4, !tbaa !5
  %7071 = call ptr @strerror(i32 noundef %7070) #12
  %7072 = load i32, ptr %1901, align 4, !tbaa !5
  %7073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7064, ptr noundef nonnull %.str.5.sink3823, i32 noundef %7065, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 482, ptr noundef %7067, ptr noundef %7069, ptr noundef %7071, i32 noundef %7072) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7074:                                             ; preds = %7048
  %7075 = load i32, ptr @test_count, align 4, !tbaa !5
  %7076 = add nsw i32 %7075, 1
  store i32 %7076, ptr @test_count, align 4, !tbaa !5
  %7077 = call i32 @s2n_connection_set_end_of_early_data(ptr noundef nonnull %6665) #12
  %7078 = icmp eq i32 %7077, -1
  br i1 %7078, label %7079, label %7101

7079:                                             ; preds = %7074
  %7080 = load i32, ptr %1901, 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
  %.not1301 = icmp eq i32 %7088, 0
  br i1 %.not1301, label %7089, label %7090

7089:                                             ; preds = %7085, %7079
  br label %7090

7090:                                             ; preds = %7085, %7089
  %.str.5.sink3832 = phi ptr [ @.str.5, %7089 ], [ @.str.2, %7085 ]
  store i32 %7080, ptr %1901, 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 %1847, align 4, !tbaa !5
  %7094 = call ptr @s2n_strerror(i32 noundef %7093, ptr noundef nonnull @.str.4) #12
  %7095 = load i32, ptr %1847, align 4, !tbaa !5
  %7096 = call ptr @s2n_strerror_debug(i32 noundef %7095, ptr noundef nonnull @.str.4) #12
  %7097 = load i32, ptr %1901, align 4, !tbaa !5
  %7098 = call ptr @strerror(i32 noundef %7097) #12
  %7099 = load i32, ptr %1901, align 4, !tbaa !5
  %7100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7091, ptr noundef nonnull %.str.5.sink3832, i32 noundef %7092, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 484, ptr noundef %7094, ptr noundef %7096, ptr noundef %7098, i32 noundef %7099) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7101:                                             ; preds = %7074
  %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_negotiate_test_server_and_client(ptr noundef nonnull %6692, ptr noundef nonnull %6665) #12
  %7105 = icmp eq i32 %7104, -1
  br i1 %7105, label %7106, label %7128

7106:                                             ; preds = %7101
  %7107 = load i32, ptr %1901, 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
  %.not1300 = icmp eq i32 %7115, 0
  br i1 %.not1300, label %7116, label %7117

7116:                                             ; preds = %7112, %7106
  br label %7117

7117:                                             ; preds = %7112, %7116
  %.str.5.sink3841 = phi ptr [ @.str.5, %7116 ], [ @.str.2, %7112 ]
  store i32 %7107, ptr %1901, 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 %1847, align 4, !tbaa !5
  %7121 = call ptr @s2n_strerror(i32 noundef %7120, ptr noundef nonnull @.str.4) #12
  %7122 = load i32, ptr %1847, align 4, !tbaa !5
  %7123 = call ptr @s2n_strerror_debug(i32 noundef %7122, ptr noundef nonnull @.str.4) #12
  %7124 = load i32, ptr %1901, align 4, !tbaa !5
  %7125 = call ptr @strerror(i32 noundef %7124) #12
  %7126 = load i32, ptr %1901, align 4, !tbaa !5
  %7127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7118, ptr noundef nonnull %.str.5.sink3841, i32 noundef %7119, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 485, 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 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef nonnull %6665, i32 noundef 64) #12
  br i1 %7131, label %7132, label %7154

7132:                                             ; preds = %7128
  %7133 = load i32, ptr %1901, align 4, !tbaa !5
  %7134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7135 = call i32 @s2n_print_stacktrace(ptr noundef %7134) #12
  %7136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7137 = trunc nuw i8 %7136 to i1
  br i1 %7137, label %7138, label %7142

7138:                                             ; preds = %7132
  %7139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7140 = call i32 @fileno(ptr noundef %7139) #12
  %7141 = call i32 @isatty(i32 noundef %7140) #12
  %.not1299 = icmp eq i32 %7141, 0
  br i1 %.not1299, label %7142, label %7143

7142:                                             ; preds = %7138, %7132
  br label %7143

7143:                                             ; preds = %7138, %7142
  %.str.5.sink3850 = phi ptr [ @.str.5, %7142 ], [ @.str.2, %7138 ]
  store i32 %7133, ptr %1901, align 4, !tbaa !5
  %7144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7145 = load i32, ptr @test_count, align 4, !tbaa !5
  %7146 = load i32, ptr %1847, align 4, !tbaa !5
  %7147 = call ptr @s2n_strerror(i32 noundef %7146, ptr noundef nonnull @.str.4) #12
  %7148 = load i32, ptr %1847, align 4, !tbaa !5
  %7149 = call ptr @s2n_strerror_debug(i32 noundef %7148, ptr noundef nonnull @.str.4) #12
  %7150 = load i32, ptr %1901, align 4, !tbaa !5
  %7151 = call ptr @strerror(i32 noundef %7150) #12
  %7152 = load i32, ptr %1901, align 4, !tbaa !5
  %7153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7144, ptr noundef nonnull %.str.5.sink3850, i32 noundef %7145, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 487, ptr noundef %7147, ptr noundef %7149, ptr noundef %7151, i32 noundef %7152) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7154:                                             ; preds = %7128
  %7155 = load i32, ptr @test_count, align 4, !tbaa !5
  %7156 = add nsw i32 %7155, 1
  store i32 %7156, ptr @test_count, align 4, !tbaa !5
  %7157 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef nonnull %6692, i32 noundef 64) #12
  br i1 %7157, label %7158, label %7180

7158:                                             ; preds = %7154
  %7159 = load i32, ptr %1901, align 4, !tbaa !5
  %7160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7161 = call i32 @s2n_print_stacktrace(ptr noundef %7160) #12
  %7162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7163 = trunc nuw i8 %7162 to i1
  br i1 %7163, label %7164, label %7168

7164:                                             ; preds = %7158
  %7165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7166 = call i32 @fileno(ptr noundef %7165) #12
  %7167 = call i32 @isatty(i32 noundef %7166) #12
  %.not1298 = icmp eq i32 %7167, 0
  br i1 %.not1298, label %7168, label %7169

7168:                                             ; preds = %7164, %7158
  br label %7169

7169:                                             ; preds = %7164, %7168
  %.str.5.sink3859 = phi ptr [ @.str.5, %7168 ], [ @.str.2, %7164 ]
  store i32 %7159, ptr %1901, align 4, !tbaa !5
  %7170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7171 = load i32, ptr @test_count, align 4, !tbaa !5
  %7172 = load i32, ptr %1847, align 4, !tbaa !5
  %7173 = call ptr @s2n_strerror(i32 noundef %7172, ptr noundef nonnull @.str.4) #12
  %7174 = load i32, ptr %1847, align 4, !tbaa !5
  %7175 = call ptr @s2n_strerror_debug(i32 noundef %7174, ptr noundef nonnull @.str.4) #12
  %7176 = load i32, ptr %1901, align 4, !tbaa !5
  %7177 = call ptr @strerror(i32 noundef %7176) #12
  %7178 = load i32, ptr %1901, align 4, !tbaa !5
  %7179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7170, ptr noundef nonnull %.str.5.sink3859, i32 noundef %7171, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 488, ptr noundef %7173, ptr noundef %7175, ptr noundef %7177, i32 noundef %7178) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7180:                                             ; preds = %7154
  %7181 = load i32, ptr @test_count, align 4, !tbaa !5
  %7182 = add nsw i32 %7181, 1
  store i32 %7182, ptr @test_count, align 4, !tbaa !5
  %7183 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef nonnull %6665, i32 noundef 128) #12
  br i1 %7183, label %7206, label %7184

7184:                                             ; preds = %7180
  %7185 = load i32, ptr %1901, align 4, !tbaa !5
  %7186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7187 = call i32 @s2n_print_stacktrace(ptr noundef %7186) #12
  %7188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7189 = trunc nuw i8 %7188 to i1
  br i1 %7189, label %7190, label %7194

7190:                                             ; preds = %7184
  %7191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7192 = call i32 @fileno(ptr noundef %7191) #12
  %7193 = call i32 @isatty(i32 noundef %7192) #12
  %.not1291 = icmp eq i32 %7193, 0
  br i1 %.not1291, label %7194, label %7195

7194:                                             ; preds = %7190, %7184
  br label %7195

7195:                                             ; preds = %7190, %7194
  %.str.5.sink3868 = phi ptr [ @.str.5, %7194 ], [ @.str.2, %7190 ]
  store i32 %7185, ptr %1901, align 4, !tbaa !5
  %7196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7197 = load i32, ptr @test_count, align 4, !tbaa !5
  %7198 = load i32, ptr %1847, align 4, !tbaa !5
  %7199 = call ptr @s2n_strerror(i32 noundef %7198, ptr noundef nonnull @.str.4) #12
  %7200 = load i32, ptr %1847, align 4, !tbaa !5
  %7201 = call ptr @s2n_strerror_debug(i32 noundef %7200, ptr noundef nonnull @.str.4) #12
  %7202 = load i32, ptr %1901, align 4, !tbaa !5
  %7203 = call ptr @strerror(i32 noundef %7202) #12
  %7204 = load i32, ptr %1901, align 4, !tbaa !5
  %7205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7196, ptr noundef nonnull %.str.5.sink3868, i32 noundef %7197, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 489, ptr noundef %7199, ptr noundef %7201, ptr noundef %7203, i32 noundef %7204) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7206:                                             ; preds = %7180
  %7207 = load i32, ptr @test_count, align 4, !tbaa !5
  %7208 = add nsw i32 %7207, 1
  store i32 %7208, ptr @test_count, align 4, !tbaa !5
  %7209 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef nonnull %6692, i32 noundef 128) #12
  br i1 %7209, label %7232, label %7210

7210:                                             ; preds = %7206
  %7211 = load i32, ptr %1901, align 4, !tbaa !5
  %7212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7213 = call i32 @s2n_print_stacktrace(ptr noundef %7212) #12
  %7214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7215 = trunc nuw i8 %7214 to i1
  br i1 %7215, label %7216, label %7220

7216:                                             ; preds = %7210
  %7217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7218 = call i32 @fileno(ptr noundef %7217) #12
  %7219 = call i32 @isatty(i32 noundef %7218) #12
  %.not1292 = icmp eq i32 %7219, 0
  br i1 %.not1292, label %7220, label %7221

7220:                                             ; preds = %7216, %7210
  br label %7221

7221:                                             ; preds = %7216, %7220
  %.str.5.sink3877 = phi ptr [ @.str.5, %7220 ], [ @.str.2, %7216 ]
  store i32 %7211, ptr %1901, align 4, !tbaa !5
  %7222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7223 = load i32, ptr @test_count, align 4, !tbaa !5
  %7224 = load i32, ptr %1847, align 4, !tbaa !5
  %7225 = call ptr @s2n_strerror(i32 noundef %7224, ptr noundef nonnull @.str.4) #12
  %7226 = load i32, ptr %1847, align 4, !tbaa !5
  %7227 = call ptr @s2n_strerror_debug(i32 noundef %7226, ptr noundef nonnull @.str.4) #12
  %7228 = load i32, ptr %1901, align 4, !tbaa !5
  %7229 = call ptr @strerror(i32 noundef %7228) #12
  %7230 = load i32, ptr %1901, align 4, !tbaa !5
  %7231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7222, ptr noundef nonnull %.str.5.sink3877, i32 noundef %7223, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 490, ptr noundef %7225, ptr noundef %7227, ptr noundef %7229, i32 noundef %7230) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7232:                                             ; preds = %7206
  %7233 = load i32, ptr @test_count, align 4, !tbaa !5
  %7234 = add nsw i32 %7233, 1
  store i32 %7234, ptr @test_count, align 4, !tbaa !5
  %7235 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef nonnull %6665, i32 noundef 16) #12
  br i1 %7235, label %7258, label %7236

7236:                                             ; preds = %7232
  %7237 = load i32, ptr %1901, align 4, !tbaa !5
  %7238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7239 = call i32 @s2n_print_stacktrace(ptr noundef %7238) #12
  %7240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7241 = trunc nuw i8 %7240 to i1
  br i1 %7241, label %7242, label %7246

7242:                                             ; preds = %7236
  %7243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7244 = call i32 @fileno(ptr noundef %7243) #12
  %7245 = call i32 @isatty(i32 noundef %7244) #12
  %.not1293 = icmp eq i32 %7245, 0
  br i1 %.not1293, label %7246, label %7247

7246:                                             ; preds = %7242, %7236
  br label %7247

7247:                                             ; preds = %7242, %7246
  %.str.5.sink3886 = phi ptr [ @.str.5, %7246 ], [ @.str.2, %7242 ]
  store i32 %7237, ptr %1901, align 4, !tbaa !5
  %7248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7249 = load i32, ptr @test_count, align 4, !tbaa !5
  %7250 = load i32, ptr %1847, align 4, !tbaa !5
  %7251 = call ptr @s2n_strerror(i32 noundef %7250, ptr noundef nonnull @.str.4) #12
  %7252 = load i32, ptr %1847, align 4, !tbaa !5
  %7253 = call ptr @s2n_strerror_debug(i32 noundef %7252, ptr noundef nonnull @.str.4) #12
  %7254 = load i32, ptr %1901, align 4, !tbaa !5
  %7255 = call ptr @strerror(i32 noundef %7254) #12
  %7256 = load i32, ptr %1901, align 4, !tbaa !5
  %7257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7248, ptr noundef nonnull %.str.5.sink3886, i32 noundef %7249, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 491, ptr noundef %7251, ptr noundef %7253, ptr noundef %7255, i32 noundef %7256) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7258:                                             ; preds = %7232
  %7259 = load i32, ptr @test_count, align 4, !tbaa !5
  %7260 = add nsw i32 %7259, 1
  store i32 %7260, ptr @test_count, align 4, !tbaa !5
  %7261 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef nonnull %6692, i32 noundef 16) #12
  br i1 %7261, label %7284, label %7262

7262:                                             ; preds = %7258
  %7263 = load i32, ptr %1901, align 4, !tbaa !5
  %7264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7265 = call i32 @s2n_print_stacktrace(ptr noundef %7264) #12
  %7266 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7267 = trunc nuw i8 %7266 to i1
  br i1 %7267, label %7268, label %7272

7268:                                             ; preds = %7262
  %7269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7270 = call i32 @fileno(ptr noundef %7269) #12
  %7271 = call i32 @isatty(i32 noundef %7270) #12
  %.not1294 = icmp eq i32 %7271, 0
  br i1 %.not1294, label %7272, label %7273

7272:                                             ; preds = %7268, %7262
  br label %7273

7273:                                             ; preds = %7268, %7272
  %.str.5.sink3895 = phi ptr [ @.str.5, %7272 ], [ @.str.2, %7268 ]
  store i32 %7263, ptr %1901, align 4, !tbaa !5
  %7274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7275 = load i32, ptr @test_count, align 4, !tbaa !5
  %7276 = load i32, ptr %1847, align 4, !tbaa !5
  %7277 = call ptr @s2n_strerror(i32 noundef %7276, ptr noundef nonnull @.str.4) #12
  %7278 = load i32, ptr %1847, align 4, !tbaa !5
  %7279 = call ptr @s2n_strerror_debug(i32 noundef %7278, ptr noundef nonnull @.str.4) #12
  %7280 = load i32, ptr %1901, align 4, !tbaa !5
  %7281 = call ptr @strerror(i32 noundef %7280) #12
  %7282 = load i32, ptr %1901, align 4, !tbaa !5
  %7283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7274, ptr noundef nonnull %.str.5.sink3895, i32 noundef %7275, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 492, ptr noundef %7277, ptr noundef %7279, ptr noundef %7281, i32 noundef %7282) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7284:                                             ; preds = %7258
  %7285 = load i32, ptr @test_count, align 4, !tbaa !5
  %7286 = add nsw i32 %7285, 1
  store i32 %7286, ptr @test_count, align 4, !tbaa !5
  %7287 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %6692, ptr noundef nonnull %6665) #12
  %7288 = icmp eq i32 %7287, -1
  br i1 %7288, label %7289, label %7311

7289:                                             ; preds = %7284
  %7290 = load i32, ptr %1901, align 4, !tbaa !5
  %7291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7292 = call i32 @s2n_print_stacktrace(ptr noundef %7291) #12
  %7293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7294 = trunc nuw i8 %7293 to i1
  br i1 %7294, label %7295, label %7299

7295:                                             ; preds = %7289
  %7296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7297 = call i32 @fileno(ptr noundef %7296) #12
  %7298 = call i32 @isatty(i32 noundef %7297) #12
  %.not1297 = icmp eq i32 %7298, 0
  br i1 %.not1297, label %7299, label %7300

7299:                                             ; preds = %7295, %7289
  br label %7300

7300:                                             ; preds = %7295, %7299
  %.str.5.sink3904 = phi ptr [ @.str.5, %7299 ], [ @.str.2, %7295 ]
  store i32 %7290, ptr %1901, align 4, !tbaa !5
  %7301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7302 = load i32, ptr @test_count, align 4, !tbaa !5
  %7303 = load i32, ptr %1847, align 4, !tbaa !5
  %7304 = call ptr @s2n_strerror(i32 noundef %7303, ptr noundef nonnull @.str.4) #12
  %7305 = load i32, ptr %1847, align 4, !tbaa !5
  %7306 = call ptr @s2n_strerror_debug(i32 noundef %7305, ptr noundef nonnull @.str.4) #12
  %7307 = load i32, ptr %1901, align 4, !tbaa !5
  %7308 = call ptr @strerror(i32 noundef %7307) #12
  %7309 = load i32, ptr %1901, align 4, !tbaa !5
  %7310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7301, ptr noundef nonnull %.str.5.sink3904, i32 noundef %7302, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 494, ptr noundef %7304, ptr noundef %7306, ptr noundef %7308, i32 noundef %7309) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7311:                                             ; preds = %7284
  %7312 = load i32, ptr @test_count, align 4, !tbaa !5
  %7313 = add nsw i32 %7312, 1
  store i32 %7313, ptr @test_count, align 4, !tbaa !5
  %7314 = call i32 @s2n_connection_wipe(ptr noundef nonnull %6665) #12
  %7315 = icmp eq i32 %7314, -1
  br i1 %7315, label %7316, label %7338

7316:                                             ; preds = %7311
  %7317 = load i32, ptr %1901, align 4, !tbaa !5
  %7318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7319 = call i32 @s2n_print_stacktrace(ptr noundef %7318) #12
  %7320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7321 = trunc nuw i8 %7320 to i1
  br i1 %7321, label %7322, label %7326

7322:                                             ; preds = %7316
  %7323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7324 = call i32 @fileno(ptr noundef %7323) #12
  %7325 = call i32 @isatty(i32 noundef %7324) #12
  %.not1296 = icmp eq i32 %7325, 0
  br i1 %.not1296, label %7326, label %7327

7326:                                             ; preds = %7322, %7316
  br label %7327

7327:                                             ; preds = %7322, %7326
  %.str.5.sink3913 = phi ptr [ @.str.5, %7326 ], [ @.str.2, %7322 ]
  store i32 %7317, ptr %1901, align 4, !tbaa !5
  %7328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7329 = load i32, ptr @test_count, align 4, !tbaa !5
  %7330 = load i32, ptr %1847, align 4, !tbaa !5
  %7331 = call ptr @s2n_strerror(i32 noundef %7330, ptr noundef nonnull @.str.4) #12
  %7332 = load i32, ptr %1847, align 4, !tbaa !5
  %7333 = call ptr @s2n_strerror_debug(i32 noundef %7332, ptr noundef nonnull @.str.4) #12
  %7334 = load i32, ptr %1901, align 4, !tbaa !5
  %7335 = call ptr @strerror(i32 noundef %7334) #12
  %7336 = load i32, ptr %1901, align 4, !tbaa !5
  %7337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7328, ptr noundef nonnull %.str.5.sink3913, i32 noundef %7329, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 495, ptr noundef %7331, ptr noundef %7333, ptr noundef %7335, i32 noundef %7336) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7338:                                             ; preds = %7311
  %7339 = load i32, ptr @test_count, align 4, !tbaa !5
  %7340 = add nsw i32 %7339, 1
  store i32 %7340, ptr @test_count, align 4, !tbaa !5
  %7341 = call i32 @s2n_connection_wipe(ptr noundef nonnull %6692) #12
  %7342 = icmp eq i32 %7341, -1
  br i1 %7342, label %7343, label %7365

7343:                                             ; preds = %7338
  %7344 = load i32, ptr %1901, align 4, !tbaa !5
  %7345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7346 = call i32 @s2n_print_stacktrace(ptr noundef %7345) #12
  %7347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7348 = trunc nuw i8 %7347 to i1
  br i1 %7348, label %7349, label %7353

7349:                                             ; preds = %7343
  %7350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7351 = call i32 @fileno(ptr noundef %7350) #12
  %7352 = call i32 @isatty(i32 noundef %7351) #12
  %.not1295 = icmp eq i32 %7352, 0
  br i1 %.not1295, label %7353, label %7354

7353:                                             ; preds = %7349, %7343
  br label %7354

7354:                                             ; preds = %7349, %7353
  %.str.5.sink3922 = phi ptr [ @.str.5, %7353 ], [ @.str.2, %7349 ]
  store i32 %7344, ptr %1901, align 4, !tbaa !5
  %7355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7356 = load i32, ptr @test_count, align 4, !tbaa !5
  %7357 = load i32, ptr %1847, align 4, !tbaa !5
  %7358 = call ptr @s2n_strerror(i32 noundef %7357, ptr noundef nonnull @.str.4) #12
  %7359 = load i32, ptr %1847, align 4, !tbaa !5
  %7360 = call ptr @s2n_strerror_debug(i32 noundef %7359, ptr noundef nonnull @.str.4) #12
  %7361 = load i32, ptr %1901, align 4, !tbaa !5
  %7362 = call ptr @strerror(i32 noundef %7361) #12
  %7363 = load i32, ptr %1901, align 4, !tbaa !5
  %7364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7355, ptr noundef nonnull %.str.5.sink3922, i32 noundef %7356, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.1, i32 noundef 496, ptr noundef %7358, ptr noundef %7360, ptr noundef %7362, i32 noundef %7363) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7365:                                             ; preds = %7338
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #12
  %7366 = add nuw nsw i64 %.010051479, 1
  %exitcond1481.not = icmp eq i64 %7366, 450
  br i1 %exitcond1481.not, label %6746, label %6751, !llvm.loop !47

7367:                                             ; preds = %6746
  %7368 = load i32, ptr %1901, align 4, !tbaa !5
  %7369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7370 = call i32 @s2n_print_stacktrace(ptr noundef %7369) #12
  %7371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7372 = trunc nuw i8 %7371 to i1
  br i1 %7372, label %7373, label %7377

7373:                                             ; preds = %7367
  %7374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7375 = call i32 @fileno(ptr noundef %7374) #12
  %7376 = call i32 @isatty(i32 noundef %7375) #12
  %.not1286 = icmp eq i32 %7376, 0
  br i1 %.not1286, label %7377, label %7378

7377:                                             ; preds = %7373, %7367
  br label %7378

7378:                                             ; preds = %7373, %7377
  %.str.5.sink3931 = phi ptr [ @.str.5, %7377 ], [ @.str.2, %7373 ]
  store i32 %7368, ptr %1901, align 4, !tbaa !5
  %7379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7380 = load i32, ptr @test_count, align 4, !tbaa !5
  %7381 = load i32, ptr %1847, align 4, !tbaa !5
  %7382 = call ptr @s2n_strerror(i32 noundef %7381, ptr noundef nonnull @.str.4) #12
  %7383 = load i32, ptr %1847, align 4, !tbaa !5
  %7384 = call ptr @s2n_strerror_debug(i32 noundef %7383, ptr noundef nonnull @.str.4) #12
  %7385 = load i32, ptr %1901, align 4, !tbaa !5
  %7386 = call ptr @strerror(i32 noundef %7385) #12
  %7387 = load i32, ptr %1901, align 4, !tbaa !5
  %7388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7379, ptr noundef nonnull %.str.5.sink3931, i32 noundef %7380, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 499, ptr noundef %7382, ptr noundef %7384, ptr noundef %7386, i32 noundef %7387) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7389:                                             ; preds = %6746
  %7390 = load i32, ptr @test_count, align 4, !tbaa !5
  %7391 = add nsw i32 %7390, 1
  store i32 %7391, ptr @test_count, align 4, !tbaa !5
  %7392 = call i32 @s2n_connection_free(ptr noundef nonnull %6692) #12
  %7393 = icmp eq i32 %7392, -1
  br i1 %7393, label %7394, label %7416

7394:                                             ; preds = %7389
  %7395 = load i32, ptr %1901, align 4, !tbaa !5
  %7396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7397 = call i32 @s2n_print_stacktrace(ptr noundef %7396) #12
  %7398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7399 = trunc nuw i8 %7398 to i1
  br i1 %7399, label %7400, label %7404

7400:                                             ; preds = %7394
  %7401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7402 = call i32 @fileno(ptr noundef %7401) #12
  %7403 = call i32 @isatty(i32 noundef %7402) #12
  %.not1285 = icmp eq i32 %7403, 0
  br i1 %.not1285, label %7404, label %7405

7404:                                             ; preds = %7400, %7394
  br label %7405

7405:                                             ; preds = %7400, %7404
  %.str.5.sink3940 = phi ptr [ @.str.5, %7404 ], [ @.str.2, %7400 ]
  store i32 %7395, ptr %1901, align 4, !tbaa !5
  %7406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7407 = load i32, ptr @test_count, align 4, !tbaa !5
  %7408 = load i32, ptr %1847, align 4, !tbaa !5
  %7409 = call ptr @s2n_strerror(i32 noundef %7408, ptr noundef nonnull @.str.4) #12
  %7410 = load i32, ptr %1847, align 4, !tbaa !5
  %7411 = call ptr @s2n_strerror_debug(i32 noundef %7410, ptr noundef nonnull @.str.4) #12
  %7412 = load i32, ptr %1901, align 4, !tbaa !5
  %7413 = call ptr @strerror(i32 noundef %7412) #12
  %7414 = load i32, ptr %1901, align 4, !tbaa !5
  %7415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7406, ptr noundef nonnull %.str.5.sink3940, i32 noundef %7407, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 500, ptr noundef %7409, ptr noundef %7411, ptr noundef %7413, i32 noundef %7414) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7416:                                             ; preds = %7389
  %7417 = load i32, ptr @test_count, align 4, !tbaa !5
  %7418 = add nsw i32 %7417, 1
  store i32 %7418, ptr @test_count, align 4, !tbaa !5
  %7419 = call i32 @s2n_io_pair_close(ptr noundef nonnull %43) #12
  %7420 = icmp eq i32 %7419, -1
  br i1 %7420, label %7421, label %7443

7421:                                             ; preds = %7416
  %7422 = load i32, ptr %1901, align 4, !tbaa !5
  %7423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7424 = call i32 @s2n_print_stacktrace(ptr noundef %7423) #12
  %7425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7426 = trunc nuw i8 %7425 to i1
  br i1 %7426, label %7427, label %7431

7427:                                             ; preds = %7421
  %7428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7429 = call i32 @fileno(ptr noundef %7428) #12
  %7430 = call i32 @isatty(i32 noundef %7429) #12
  %.not1284 = icmp eq i32 %7430, 0
  br i1 %.not1284, label %7431, label %7432

7431:                                             ; preds = %7427, %7421
  br label %7432

7432:                                             ; preds = %7427, %7431
  %.str.5.sink3949 = phi ptr [ @.str.5, %7431 ], [ @.str.2, %7427 ]
  store i32 %7422, ptr %1901, align 4, !tbaa !5
  %7433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7434 = load i32, ptr @test_count, align 4, !tbaa !5
  %7435 = load i32, ptr %1847, align 4, !tbaa !5
  %7436 = call ptr @s2n_strerror(i32 noundef %7435, ptr noundef nonnull @.str.4) #12
  %7437 = load i32, ptr %1847, align 4, !tbaa !5
  %7438 = call ptr @s2n_strerror_debug(i32 noundef %7437, ptr noundef nonnull @.str.4) #12
  %7439 = load i32, ptr %1901, align 4, !tbaa !5
  %7440 = call ptr @strerror(i32 noundef %7439) #12
  %7441 = load i32, ptr %1901, align 4, !tbaa !5
  %7442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7433, ptr noundef nonnull %.str.5.sink3949, i32 noundef %7434, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.1, i32 noundef 501, ptr noundef %7436, ptr noundef %7438, ptr noundef %7440, i32 noundef %7441) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7443:                                             ; preds = %7416
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #12
  store ptr null, ptr %45, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #12
  store ptr null, ptr %46, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #12
  store i64 0, ptr %47, align 8
  %7444 = load i32, ptr @test_count, align 4, !tbaa !5
  %7445 = add nsw i32 %7444, 1
  store i32 %7445, ptr @test_count, align 4, !tbaa !5
  %7446 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %45, ptr noundef nonnull %46, ptr noundef nonnull %47)
  %7447 = call zeroext i1 @s2n_result_is_ok(i32 %7446)
  br i1 %7447, label %7470, label %7448

7448:                                             ; preds = %7443
  %7449 = load i32, ptr %1901, align 4, !tbaa !5
  %7450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7451 = call i32 @s2n_print_stacktrace(ptr noundef %7450) #12
  %7452 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7453 = trunc nuw i8 %7452 to i1
  br i1 %7453, label %7454, label %7458

7454:                                             ; preds = %7448
  %7455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7456 = call i32 @fileno(ptr noundef %7455) #12
  %7457 = call i32 @isatty(i32 noundef %7456) #12
  %.not1084 = icmp eq i32 %7457, 0
  br i1 %.not1084, label %7458, label %7459

7458:                                             ; preds = %7454, %7448
  br label %7459

7459:                                             ; preds = %7454, %7458
  %.str.5.sink3958 = phi ptr [ @.str.5, %7458 ], [ @.str.2, %7454 ]
  store i32 %7449, ptr %1901, align 4, !tbaa !5
  %7460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7461 = load i32, ptr @test_count, align 4, !tbaa !5
  %7462 = load i32, ptr %1847, align 4, !tbaa !5
  %7463 = call ptr @s2n_strerror(i32 noundef %7462, ptr noundef nonnull @.str.4) #12
  %7464 = load i32, ptr %1847, align 4, !tbaa !5
  %7465 = call ptr @s2n_strerror_debug(i32 noundef %7464, ptr noundef nonnull @.str.4) #12
  %7466 = load i32, ptr %1901, align 4, !tbaa !5
  %7467 = call ptr @strerror(i32 noundef %7466) #12
  %7468 = load i32, ptr %1901, align 4, !tbaa !5
  %7469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7460, ptr noundef nonnull %.str.5.sink3958, i32 noundef %7461, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 508, ptr noundef %7463, ptr noundef %7465, ptr noundef %7467, i32 noundef %7468) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7470:                                             ; preds = %7443
  %7471 = load i32, ptr @test_count, align 4, !tbaa !5
  %7472 = add nsw i32 %7471, 1
  store i32 %7472, ptr @test_count, align 4, !tbaa !5
  %7473 = load ptr, ptr %45, align 8, !tbaa !9
  %7474 = call i32 @s2n_connection_set_config(ptr noundef %7473, ptr noundef %507) #12
  %7475 = icmp eq i32 %7474, -1
  br i1 %7475, label %7476, label %7498

7476:                                             ; preds = %7470
  %7477 = load i32, ptr %1901, align 4, !tbaa !5
  %7478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7479 = call i32 @s2n_print_stacktrace(ptr noundef %7478) #12
  %7480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7481 = trunc nuw i8 %7480 to i1
  br i1 %7481, label %7482, label %7486

7482:                                             ; preds = %7476
  %7483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7484 = call i32 @fileno(ptr noundef %7483) #12
  %7485 = call i32 @isatty(i32 noundef %7484) #12
  %.not1283 = icmp eq i32 %7485, 0
  br i1 %.not1283, label %7486, label %7487

7486:                                             ; preds = %7482, %7476
  br label %7487

7487:                                             ; preds = %7482, %7486
  %.str.5.sink3967 = phi ptr [ @.str.5, %7486 ], [ @.str.2, %7482 ]
  store i32 %7477, ptr %1901, align 4, !tbaa !5
  %7488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7489 = load i32, ptr @test_count, align 4, !tbaa !5
  %7490 = load i32, ptr %1847, align 4, !tbaa !5
  %7491 = call ptr @s2n_strerror(i32 noundef %7490, ptr noundef nonnull @.str.4) #12
  %7492 = load i32, ptr %1847, align 4, !tbaa !5
  %7493 = call ptr @s2n_strerror_debug(i32 noundef %7492, ptr noundef nonnull @.str.4) #12
  %7494 = load i32, ptr %1901, align 4, !tbaa !5
  %7495 = call ptr @strerror(i32 noundef %7494) #12
  %7496 = load i32, ptr %1901, align 4, !tbaa !5
  %7497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7488, ptr noundef nonnull %.str.5.sink3967, i32 noundef %7489, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 510, ptr noundef %7491, ptr noundef %7493, ptr noundef %7495, i32 noundef %7496) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7498:                                             ; preds = %7470
  %7499 = load i32, ptr @test_count, align 4, !tbaa !5
  %7500 = add nsw i32 %7499, 1
  store i32 %7500, ptr @test_count, align 4, !tbaa !5
  %7501 = load ptr, ptr %46, align 8, !tbaa !9
  %7502 = call i32 @s2n_connection_set_config(ptr noundef %7501, ptr noundef %507) #12
  %7503 = icmp eq i32 %7502, -1
  br i1 %7503, label %7504, label %7526

7504:                                             ; preds = %7498
  %7505 = load i32, ptr %1901, align 4, !tbaa !5
  %7506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7507 = call i32 @s2n_print_stacktrace(ptr noundef %7506) #12
  %7508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7509 = trunc nuw i8 %7508 to i1
  br i1 %7509, label %7510, label %7514

7510:                                             ; preds = %7504
  %7511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7512 = call i32 @fileno(ptr noundef %7511) #12
  %7513 = call i32 @isatty(i32 noundef %7512) #12
  %.not1282 = icmp eq i32 %7513, 0
  br i1 %.not1282, label %7514, label %7515

7514:                                             ; preds = %7510, %7504
  br label %7515

7515:                                             ; preds = %7510, %7514
  %.str.5.sink3976 = phi ptr [ @.str.5, %7514 ], [ @.str.2, %7510 ]
  store i32 %7505, ptr %1901, align 4, !tbaa !5
  %7516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7517 = load i32, ptr @test_count, align 4, !tbaa !5
  %7518 = load i32, ptr %1847, align 4, !tbaa !5
  %7519 = call ptr @s2n_strerror(i32 noundef %7518, ptr noundef nonnull @.str.4) #12
  %7520 = load i32, ptr %1847, align 4, !tbaa !5
  %7521 = call ptr @s2n_strerror_debug(i32 noundef %7520, ptr noundef nonnull @.str.4) #12
  %7522 = load i32, ptr %1901, align 4, !tbaa !5
  %7523 = call ptr @strerror(i32 noundef %7522) #12
  %7524 = load i32, ptr %1901, align 4, !tbaa !5
  %7525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7516, ptr noundef nonnull %.str.5.sink3976, i32 noundef %7517, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 511, ptr noundef %7519, ptr noundef %7521, ptr noundef %7523, i32 noundef %7524) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7526:                                             ; preds = %7498
  %7527 = load i32, ptr @test_count, align 4, !tbaa !5
  %7528 = add nsw i32 %7527, 1
  store i32 %7528, ptr @test_count, align 4, !tbaa !5
  %7529 = load ptr, ptr %45, align 8, !tbaa !9
  %7530 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %7529) #12
  %7531 = icmp eq i32 %7530, -1
  br i1 %7531, label %7532, label %7554

7532:                                             ; preds = %7526
  %7533 = load i32, ptr %1901, 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
  %.not1281 = icmp eq i32 %7541, 0
  br i1 %.not1281, label %7542, label %7543

7542:                                             ; preds = %7538, %7532
  br label %7543

7543:                                             ; preds = %7538, %7542
  %.str.5.sink3985 = phi ptr [ @.str.5, %7542 ], [ @.str.2, %7538 ]
  store i32 %7533, ptr %1901, 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 %1847, align 4, !tbaa !5
  %7547 = call ptr @s2n_strerror(i32 noundef %7546, ptr noundef nonnull @.str.4) #12
  %7548 = load i32, ptr %1847, align 4, !tbaa !5
  %7549 = call ptr @s2n_strerror_debug(i32 noundef %7548, ptr noundef nonnull @.str.4) #12
  %7550 = load i32, ptr %1901, align 4, !tbaa !5
  %7551 = call ptr @strerror(i32 noundef %7550) #12
  %7552 = load i32, ptr %1901, align 4, !tbaa !5
  %7553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7544, ptr noundef nonnull %.str.5.sink3985, i32 noundef %7545, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 512, ptr noundef %7547, ptr noundef %7549, ptr noundef %7551, i32 noundef %7552) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7554:                                             ; preds = %7526
  %7555 = load i32, ptr @test_count, align 4, !tbaa !5
  %7556 = add nsw i32 %7555, 1
  store i32 %7556, ptr @test_count, align 4, !tbaa !5
  %7557 = load ptr, ptr %46, align 8, !tbaa !9
  %7558 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %7557) #12
  %7559 = icmp eq i32 %7558, -1
  br i1 %7559, label %7560, label %7582

7560:                                             ; preds = %7554
  %7561 = load i32, ptr %1901, align 4, !tbaa !5
  %7562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7563 = call i32 @s2n_print_stacktrace(ptr noundef %7562) #12
  %7564 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7565 = trunc nuw i8 %7564 to i1
  br i1 %7565, label %7566, label %7570

7566:                                             ; preds = %7560
  %7567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7568 = call i32 @fileno(ptr noundef %7567) #12
  %7569 = call i32 @isatty(i32 noundef %7568) #12
  %.not1280 = icmp eq i32 %7569, 0
  br i1 %.not1280, label %7570, label %7571

7570:                                             ; preds = %7566, %7560
  br label %7571

7571:                                             ; preds = %7566, %7570
  %.str.5.sink3994 = phi ptr [ @.str.5, %7570 ], [ @.str.2, %7566 ]
  store i32 %7561, ptr %1901, align 4, !tbaa !5
  %7572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7573 = load i32, ptr @test_count, align 4, !tbaa !5
  %7574 = load i32, ptr %1847, align 4, !tbaa !5
  %7575 = call ptr @s2n_strerror(i32 noundef %7574, ptr noundef nonnull @.str.4) #12
  %7576 = load i32, ptr %1847, align 4, !tbaa !5
  %7577 = call ptr @s2n_strerror_debug(i32 noundef %7576, ptr noundef nonnull @.str.4) #12
  %7578 = load i32, ptr %1901, align 4, !tbaa !5
  %7579 = call ptr @strerror(i32 noundef %7578) #12
  %7580 = load i32, ptr %1901, align 4, !tbaa !5
  %7581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7572, ptr noundef nonnull %.str.5.sink3994, i32 noundef %7573, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 513, ptr noundef %7575, ptr noundef %7577, ptr noundef %7579, i32 noundef %7580) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7582:                                             ; preds = %7554
  %7583 = load i32, ptr @test_count, align 4, !tbaa !5
  %7584 = add nsw i32 %7583, 1
  store i32 %7584, ptr @test_count, align 4, !tbaa !5
  %7585 = load ptr, ptr %45, align 8, !tbaa !9
  %7586 = call i32 @s2n_connection_append_psk(ptr noundef %7585, ptr noundef %6167) #12
  %7587 = icmp eq i32 %7586, -1
  br i1 %7587, label %7588, label %7610

7588:                                             ; preds = %7582
  %7589 = load i32, ptr %1901, align 4, !tbaa !5
  %7590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7591 = call i32 @s2n_print_stacktrace(ptr noundef %7590) #12
  %7592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7593 = trunc nuw i8 %7592 to i1
  br i1 %7593, label %7594, label %7598

7594:                                             ; preds = %7588
  %7595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7596 = call i32 @fileno(ptr noundef %7595) #12
  %7597 = call i32 @isatty(i32 noundef %7596) #12
  %.not1279 = icmp eq i32 %7597, 0
  br i1 %.not1279, label %7598, label %7599

7598:                                             ; preds = %7594, %7588
  br label %7599

7599:                                             ; preds = %7594, %7598
  %.str.5.sink4003 = phi ptr [ @.str.5, %7598 ], [ @.str.2, %7594 ]
  store i32 %7589, ptr %1901, align 4, !tbaa !5
  %7600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7601 = load i32, ptr @test_count, align 4, !tbaa !5
  %7602 = load i32, ptr %1847, align 4, !tbaa !5
  %7603 = call ptr @s2n_strerror(i32 noundef %7602, ptr noundef nonnull @.str.4) #12
  %7604 = load i32, ptr %1847, align 4, !tbaa !5
  %7605 = call ptr @s2n_strerror_debug(i32 noundef %7604, ptr noundef nonnull @.str.4) #12
  %7606 = load i32, ptr %1901, align 4, !tbaa !5
  %7607 = call ptr @strerror(i32 noundef %7606) #12
  %7608 = load i32, ptr %1901, align 4, !tbaa !5
  %7609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7600, ptr noundef nonnull %.str.5.sink4003, i32 noundef %7601, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 514, ptr noundef %7603, ptr noundef %7605, ptr noundef %7607, i32 noundef %7608) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7610:                                             ; preds = %7582
  %7611 = load i32, ptr @test_count, align 4, !tbaa !5
  %7612 = add nsw i32 %7611, 1
  store i32 %7612, ptr @test_count, align 4, !tbaa !5
  %7613 = load ptr, ptr %46, align 8, !tbaa !9
  %7614 = load ptr, ptr %45, align 8, !tbaa !9
  %7615 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %7613, ptr noundef %7614) #12
  %7616 = icmp eq i32 %7615, -1
  br i1 %7616, label %7617, label %7639

7617:                                             ; preds = %7610
  %7618 = load i32, ptr %1901, align 4, !tbaa !5
  %7619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7620 = call i32 @s2n_print_stacktrace(ptr noundef %7619) #12
  %7621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7622 = trunc nuw i8 %7621 to i1
  br i1 %7622, label %7623, label %7627

7623:                                             ; preds = %7617
  %7624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7625 = call i32 @fileno(ptr noundef %7624) #12
  %7626 = call i32 @isatty(i32 noundef %7625) #12
  %.not1278 = icmp eq i32 %7626, 0
  br i1 %.not1278, label %7627, label %7628

7627:                                             ; preds = %7623, %7617
  br label %7628

7628:                                             ; preds = %7623, %7627
  %.str.5.sink4012 = phi ptr [ @.str.5, %7627 ], [ @.str.2, %7623 ]
  store i32 %7618, ptr %1901, align 4, !tbaa !5
  %7629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7630 = load i32, ptr @test_count, align 4, !tbaa !5
  %7631 = load i32, ptr %1847, align 4, !tbaa !5
  %7632 = call ptr @s2n_strerror(i32 noundef %7631, ptr noundef nonnull @.str.4) #12
  %7633 = load i32, ptr %1847, align 4, !tbaa !5
  %7634 = call ptr @s2n_strerror_debug(i32 noundef %7633, ptr noundef nonnull @.str.4) #12
  %7635 = load i32, ptr %1901, align 4, !tbaa !5
  %7636 = call ptr @strerror(i32 noundef %7635) #12
  %7637 = load i32, ptr %1901, align 4, !tbaa !5
  %7638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7629, ptr noundef nonnull %.str.5.sink4012, i32 noundef %7630, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 516, ptr noundef %7632, ptr noundef %7634, ptr noundef %7636, i32 noundef %7637) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7639:                                             ; preds = %7610
  %7640 = load i32, ptr @test_count, align 4, !tbaa !5
  %7641 = add nsw i32 %7640, 1
  store i32 %7641, ptr @test_count, align 4, !tbaa !5
  %7642 = load ptr, ptr %45, align 8, !tbaa !9
  %7643 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %7642, i32 noundef 64) #12
  br i1 %7643, label %7644, label %7666

7644:                                             ; preds = %7639
  %7645 = load i32, ptr %1901, align 4, !tbaa !5
  %7646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7647 = call i32 @s2n_print_stacktrace(ptr noundef %7646) #12
  %7648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7649 = trunc nuw i8 %7648 to i1
  br i1 %7649, label %7650, label %7654

7650:                                             ; preds = %7644
  %7651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7652 = call i32 @fileno(ptr noundef %7651) #12
  %7653 = call i32 @isatty(i32 noundef %7652) #12
  %.not1277 = icmp eq i32 %7653, 0
  br i1 %.not1277, label %7654, label %7655

7654:                                             ; preds = %7650, %7644
  br label %7655

7655:                                             ; preds = %7650, %7654
  %.str.5.sink4021 = phi ptr [ @.str.5, %7654 ], [ @.str.2, %7650 ]
  store i32 %7645, ptr %1901, align 4, !tbaa !5
  %7656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7657 = load i32, ptr @test_count, align 4, !tbaa !5
  %7658 = load i32, ptr %1847, align 4, !tbaa !5
  %7659 = call ptr @s2n_strerror(i32 noundef %7658, ptr noundef nonnull @.str.4) #12
  %7660 = load i32, ptr %1847, align 4, !tbaa !5
  %7661 = call ptr @s2n_strerror_debug(i32 noundef %7660, ptr noundef nonnull @.str.4) #12
  %7662 = load i32, ptr %1901, align 4, !tbaa !5
  %7663 = call ptr @strerror(i32 noundef %7662) #12
  %7664 = load i32, ptr %1901, align 4, !tbaa !5
  %7665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7656, ptr noundef nonnull %.str.5.sink4021, i32 noundef %7657, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 518, ptr noundef %7659, ptr noundef %7661, ptr noundef %7663, i32 noundef %7664) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7666:                                             ; preds = %7639
  %7667 = load i32, ptr @test_count, align 4, !tbaa !5
  %7668 = add nsw i32 %7667, 1
  store i32 %7668, ptr @test_count, align 4, !tbaa !5
  %7669 = load ptr, ptr %46, align 8, !tbaa !9
  %7670 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %7669, i32 noundef 64) #12
  br i1 %7670, label %7671, label %7693

7671:                                             ; preds = %7666
  %7672 = load i32, ptr %1901, 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
  %.not1276 = icmp eq i32 %7680, 0
  br i1 %.not1276, label %7681, label %7682

7681:                                             ; preds = %7677, %7671
  br label %7682

7682:                                             ; preds = %7677, %7681
  %.str.5.sink4030 = phi ptr [ @.str.5, %7681 ], [ @.str.2, %7677 ]
  store i32 %7672, ptr %1901, 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 %1847, align 4, !tbaa !5
  %7686 = call ptr @s2n_strerror(i32 noundef %7685, ptr noundef nonnull @.str.4) #12
  %7687 = load i32, ptr %1847, align 4, !tbaa !5
  %7688 = call ptr @s2n_strerror_debug(i32 noundef %7687, ptr noundef nonnull @.str.4) #12
  %7689 = load i32, ptr %1901, align 4, !tbaa !5
  %7690 = call ptr @strerror(i32 noundef %7689) #12
  %7691 = load i32, ptr %1901, align 4, !tbaa !5
  %7692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7683, ptr noundef nonnull %.str.5.sink4030, i32 noundef %7684, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 519, ptr noundef %7686, ptr noundef %7688, ptr noundef %7690, i32 noundef %7691) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7693:                                             ; preds = %7666
  %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 %45, align 8, !tbaa !9
  %7697 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %7696, i32 noundef 128) #12
  br i1 %7697, label %7720, label %7698

7698:                                             ; preds = %7693
  %7699 = load i32, ptr %1901, align 4, !tbaa !5
  %7700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7701 = call i32 @s2n_print_stacktrace(ptr noundef %7700) #12
  %7702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7703 = trunc nuw i8 %7702 to i1
  br i1 %7703, label %7704, label %7708

7704:                                             ; preds = %7698
  %7705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7706 = call i32 @fileno(ptr noundef %7705) #12
  %7707 = call i32 @isatty(i32 noundef %7706) #12
  %.not1085 = icmp eq i32 %7707, 0
  br i1 %.not1085, label %7708, label %7709

7708:                                             ; preds = %7704, %7698
  br label %7709

7709:                                             ; preds = %7704, %7708
  %.str.5.sink4039 = phi ptr [ @.str.5, %7708 ], [ @.str.2, %7704 ]
  store i32 %7699, ptr %1901, align 4, !tbaa !5
  %7710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7711 = load i32, ptr @test_count, align 4, !tbaa !5
  %7712 = load i32, ptr %1847, align 4, !tbaa !5
  %7713 = call ptr @s2n_strerror(i32 noundef %7712, ptr noundef nonnull @.str.4) #12
  %7714 = load i32, ptr %1847, align 4, !tbaa !5
  %7715 = call ptr @s2n_strerror_debug(i32 noundef %7714, ptr noundef nonnull @.str.4) #12
  %7716 = load i32, ptr %1901, align 4, !tbaa !5
  %7717 = call ptr @strerror(i32 noundef %7716) #12
  %7718 = load i32, ptr %1901, align 4, !tbaa !5
  %7719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7710, ptr noundef nonnull %.str.5.sink4039, i32 noundef %7711, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 520, ptr noundef %7713, ptr noundef %7715, ptr noundef %7717, i32 noundef %7718) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7720:                                             ; preds = %7693
  %7721 = load i32, ptr @test_count, align 4, !tbaa !5
  %7722 = add nsw i32 %7721, 1
  store i32 %7722, ptr @test_count, align 4, !tbaa !5
  %7723 = load ptr, ptr %46, align 8, !tbaa !9
  %7724 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %7723, i32 noundef 128) #12
  br i1 %7724, label %7747, label %7725

7725:                                             ; preds = %7720
  %7726 = load i32, ptr %1901, align 4, !tbaa !5
  %7727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7728 = call i32 @s2n_print_stacktrace(ptr noundef %7727) #12
  %7729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7730 = trunc nuw i8 %7729 to i1
  br i1 %7730, label %7731, label %7735

7731:                                             ; preds = %7725
  %7732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7733 = call i32 @fileno(ptr noundef %7732) #12
  %7734 = call i32 @isatty(i32 noundef %7733) #12
  %.not1086 = icmp eq i32 %7734, 0
  br i1 %.not1086, label %7735, label %7736

7735:                                             ; preds = %7731, %7725
  br label %7736

7736:                                             ; preds = %7731, %7735
  %.str.5.sink4048 = phi ptr [ @.str.5, %7735 ], [ @.str.2, %7731 ]
  store i32 %7726, ptr %1901, align 4, !tbaa !5
  %7737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7738 = load i32, ptr @test_count, align 4, !tbaa !5
  %7739 = load i32, ptr %1847, align 4, !tbaa !5
  %7740 = call ptr @s2n_strerror(i32 noundef %7739, ptr noundef nonnull @.str.4) #12
  %7741 = load i32, ptr %1847, align 4, !tbaa !5
  %7742 = call ptr @s2n_strerror_debug(i32 noundef %7741, ptr noundef nonnull @.str.4) #12
  %7743 = load i32, ptr %1901, align 4, !tbaa !5
  %7744 = call ptr @strerror(i32 noundef %7743) #12
  %7745 = load i32, ptr %1901, align 4, !tbaa !5
  %7746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7737, ptr noundef nonnull %.str.5.sink4048, i32 noundef %7738, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 521, ptr noundef %7740, ptr noundef %7742, ptr noundef %7744, i32 noundef %7745) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7747:                                             ; preds = %7720
  %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 = load ptr, ptr %45, align 8, !tbaa !9
  %7751 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %7750, i32 noundef 2) #12
  br i1 %7751, label %7774, label %7752

7752:                                             ; preds = %7747
  %7753 = load i32, ptr %1901, align 4, !tbaa !5
  %7754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7755 = call i32 @s2n_print_stacktrace(ptr noundef %7754) #12
  %7756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7757 = trunc nuw i8 %7756 to i1
  br i1 %7757, label %7758, label %7762

7758:                                             ; preds = %7752
  %7759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7760 = call i32 @fileno(ptr noundef %7759) #12
  %7761 = call i32 @isatty(i32 noundef %7760) #12
  %.not1087 = icmp eq i32 %7761, 0
  br i1 %.not1087, label %7762, label %7763

7762:                                             ; preds = %7758, %7752
  br label %7763

7763:                                             ; preds = %7758, %7762
  %.str.5.sink4057 = phi ptr [ @.str.5, %7762 ], [ @.str.2, %7758 ]
  store i32 %7753, ptr %1901, align 4, !tbaa !5
  %7764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7765 = load i32, ptr @test_count, align 4, !tbaa !5
  %7766 = load i32, ptr %1847, align 4, !tbaa !5
  %7767 = call ptr @s2n_strerror(i32 noundef %7766, ptr noundef nonnull @.str.4) #12
  %7768 = load i32, ptr %1847, align 4, !tbaa !5
  %7769 = call ptr @s2n_strerror_debug(i32 noundef %7768, ptr noundef nonnull @.str.4) #12
  %7770 = load i32, ptr %1901, align 4, !tbaa !5
  %7771 = call ptr @strerror(i32 noundef %7770) #12
  %7772 = load i32, ptr %1901, align 4, !tbaa !5
  %7773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7764, ptr noundef nonnull %.str.5.sink4057, i32 noundef %7765, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.1, i32 noundef 522, ptr noundef %7767, ptr noundef %7769, ptr noundef %7771, i32 noundef %7772) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7774:                                             ; preds = %7747
  %7775 = load i32, ptr @test_count, align 4, !tbaa !5
  %7776 = add nsw i32 %7775, 1
  store i32 %7776, ptr @test_count, align 4, !tbaa !5
  %7777 = load ptr, ptr %46, align 8, !tbaa !9
  %7778 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %7777, i32 noundef 2) #12
  br i1 %7778, label %7801, label %7779

7779:                                             ; preds = %7774
  %7780 = load i32, ptr %1901, align 4, !tbaa !5
  %7781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7782 = call i32 @s2n_print_stacktrace(ptr noundef %7781) #12
  %7783 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7784 = trunc nuw i8 %7783 to i1
  br i1 %7784, label %7785, label %7789

7785:                                             ; preds = %7779
  %7786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7787 = call i32 @fileno(ptr noundef %7786) #12
  %7788 = call i32 @isatty(i32 noundef %7787) #12
  %.not1088 = icmp eq i32 %7788, 0
  br i1 %.not1088, label %7789, label %7790

7789:                                             ; preds = %7785, %7779
  br label %7790

7790:                                             ; preds = %7785, %7789
  %.str.5.sink4066 = phi ptr [ @.str.5, %7789 ], [ @.str.2, %7785 ]
  store i32 %7780, ptr %1901, align 4, !tbaa !5
  %7791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7792 = load i32, ptr @test_count, align 4, !tbaa !5
  %7793 = load i32, ptr %1847, align 4, !tbaa !5
  %7794 = call ptr @s2n_strerror(i32 noundef %7793, ptr noundef nonnull @.str.4) #12
  %7795 = load i32, ptr %1847, align 4, !tbaa !5
  %7796 = call ptr @s2n_strerror_debug(i32 noundef %7795, ptr noundef nonnull @.str.4) #12
  %7797 = load i32, ptr %1901, align 4, !tbaa !5
  %7798 = call ptr @strerror(i32 noundef %7797) #12
  %7799 = load i32, ptr %1901, align 4, !tbaa !5
  %7800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7791, ptr noundef nonnull %.str.5.sink4066, i32 noundef %7792, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 523, ptr noundef %7794, ptr noundef %7796, ptr noundef %7798, i32 noundef %7799) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7801:                                             ; preds = %7774
  %7802 = load i32, ptr @test_count, align 4, !tbaa !5
  %7803 = add nsw i32 %7802, 1
  store i32 %7803, ptr @test_count, align 4, !tbaa !5
  %7804 = load ptr, ptr %45, align 8, !tbaa !9
  %7805 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %7804, i32 noundef 16) #12
  br i1 %7805, label %7806, label %7828

7806:                                             ; preds = %7801
  %7807 = load i32, ptr %1901, align 4, !tbaa !5
  %7808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7809 = call i32 @s2n_print_stacktrace(ptr noundef %7808) #12
  %7810 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7811 = trunc nuw i8 %7810 to i1
  br i1 %7811, label %7812, label %7816

7812:                                             ; preds = %7806
  %7813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7814 = call i32 @fileno(ptr noundef %7813) #12
  %7815 = call i32 @isatty(i32 noundef %7814) #12
  %.not1275 = icmp eq i32 %7815, 0
  br i1 %.not1275, label %7816, label %7817

7816:                                             ; preds = %7812, %7806
  br label %7817

7817:                                             ; preds = %7812, %7816
  %.str.5.sink4075 = phi ptr [ @.str.5, %7816 ], [ @.str.2, %7812 ]
  store i32 %7807, ptr %1901, align 4, !tbaa !5
  %7818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7819 = load i32, ptr @test_count, align 4, !tbaa !5
  %7820 = load i32, ptr %1847, align 4, !tbaa !5
  %7821 = call ptr @s2n_strerror(i32 noundef %7820, ptr noundef nonnull @.str.4) #12
  %7822 = load i32, ptr %1847, align 4, !tbaa !5
  %7823 = call ptr @s2n_strerror_debug(i32 noundef %7822, ptr noundef nonnull @.str.4) #12
  %7824 = load i32, ptr %1901, align 4, !tbaa !5
  %7825 = call ptr @strerror(i32 noundef %7824) #12
  %7826 = load i32, ptr %1901, align 4, !tbaa !5
  %7827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7818, ptr noundef nonnull %.str.5.sink4075, i32 noundef %7819, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 524, ptr noundef %7821, ptr noundef %7823, ptr noundef %7825, i32 noundef %7826) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7828:                                             ; preds = %7801
  %7829 = load i32, ptr @test_count, align 4, !tbaa !5
  %7830 = add nsw i32 %7829, 1
  store i32 %7830, ptr @test_count, align 4, !tbaa !5
  %7831 = load ptr, ptr %46, align 8, !tbaa !9
  %7832 = call zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef %7831, i32 noundef 16) #12
  br i1 %7832, label %7833, label %7855

7833:                                             ; preds = %7828
  %7834 = load i32, ptr %1901, align 4, !tbaa !5
  %7835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7836 = call i32 @s2n_print_stacktrace(ptr noundef %7835) #12
  %7837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7838 = trunc nuw i8 %7837 to i1
  br i1 %7838, label %7839, label %7843

7839:                                             ; preds = %7833
  %7840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7841 = call i32 @fileno(ptr noundef %7840) #12
  %7842 = call i32 @isatty(i32 noundef %7841) #12
  %.not1274 = icmp eq i32 %7842, 0
  br i1 %.not1274, label %7843, label %7844

7843:                                             ; preds = %7839, %7833
  br label %7844

7844:                                             ; preds = %7839, %7843
  %.str.5.sink4084 = phi ptr [ @.str.5, %7843 ], [ @.str.2, %7839 ]
  store i32 %7834, ptr %1901, align 4, !tbaa !5
  %7845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7846 = load i32, ptr @test_count, align 4, !tbaa !5
  %7847 = load i32, ptr %1847, align 4, !tbaa !5
  %7848 = call ptr @s2n_strerror(i32 noundef %7847, ptr noundef nonnull @.str.4) #12
  %7849 = load i32, ptr %1847, align 4, !tbaa !5
  %7850 = call ptr @s2n_strerror_debug(i32 noundef %7849, ptr noundef nonnull @.str.4) #12
  %7851 = load i32, ptr %1901, align 4, !tbaa !5
  %7852 = call ptr @strerror(i32 noundef %7851) #12
  %7853 = load i32, ptr %1901, align 4, !tbaa !5
  %7854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7845, ptr noundef nonnull %.str.5.sink4084, i32 noundef %7846, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 525, ptr noundef %7848, ptr noundef %7850, ptr noundef %7852, i32 noundef %7853) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7855:                                             ; preds = %7828
  %7856 = load i32, ptr @test_count, align 4, !tbaa !5
  %7857 = add nsw i32 %7856, 1
  store i32 %7857, ptr @test_count, align 4, !tbaa !5
  %7858 = load ptr, ptr %45, align 8, !tbaa !9
  %7859 = call i32 @s2n_conn_get_current_message_type(ptr noundef %7858) #12
  %7860 = icmp eq i32 %7859, 20
  br i1 %7860, label %7883, label %7861

7861:                                             ; preds = %7855
  %7862 = load i32, ptr %1901, align 4, !tbaa !5
  %7863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7864 = call i32 @s2n_print_stacktrace(ptr noundef %7863) #12
  %7865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7866 = trunc nuw i8 %7865 to i1
  br i1 %7866, label %7867, label %7871

7867:                                             ; preds = %7861
  %7868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7869 = call i32 @fileno(ptr noundef %7868) #12
  %7870 = call i32 @isatty(i32 noundef %7869) #12
  %.not1089 = icmp eq i32 %7870, 0
  br i1 %.not1089, label %7871, label %7872

7871:                                             ; preds = %7867, %7861
  br label %7872

7872:                                             ; preds = %7867, %7871
  %.str.5.sink4093 = phi ptr [ @.str.5, %7871 ], [ @.str.2, %7867 ]
  store i32 %7862, ptr %1901, align 4, !tbaa !5
  %7873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7874 = load i32, ptr @test_count, align 4, !tbaa !5
  %7875 = load i32, ptr %1847, align 4, !tbaa !5
  %7876 = call ptr @s2n_strerror(i32 noundef %7875, ptr noundef nonnull @.str.4) #12
  %7877 = load i32, ptr %1847, align 4, !tbaa !5
  %7878 = call ptr @s2n_strerror_debug(i32 noundef %7877, ptr noundef nonnull @.str.4) #12
  %7879 = load i32, ptr %1901, align 4, !tbaa !5
  %7880 = call ptr @strerror(i32 noundef %7879) #12
  %7881 = load i32, ptr %1901, align 4, !tbaa !5
  %7882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7873, ptr noundef nonnull %.str.5.sink4093, i32 noundef %7874, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 526, ptr noundef %7876, ptr noundef %7878, ptr noundef %7880, i32 noundef %7881) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7883:                                             ; preds = %7855
  %7884 = load i32, ptr @test_count, align 4, !tbaa !5
  %7885 = add nsw i32 %7884, 1
  store i32 %7885, ptr @test_count, align 4, !tbaa !5
  %7886 = load ptr, ptr %46, align 8, !tbaa !9
  %7887 = call i32 @s2n_conn_get_current_message_type(ptr noundef %7886) #12
  %7888 = icmp eq i32 %7887, 20
  br i1 %7888, label %7911, label %7889

7889:                                             ; preds = %7883
  %7890 = load i32, ptr %1901, align 4, !tbaa !5
  %7891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7892 = call i32 @s2n_print_stacktrace(ptr noundef %7891) #12
  %7893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7894 = trunc nuw i8 %7893 to i1
  br i1 %7894, label %7895, label %7899

7895:                                             ; preds = %7889
  %7896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7897 = call i32 @fileno(ptr noundef %7896) #12
  %7898 = call i32 @isatty(i32 noundef %7897) #12
  %.not1090 = icmp eq i32 %7898, 0
  br i1 %.not1090, label %7899, label %7900

7899:                                             ; preds = %7895, %7889
  br label %7900

7900:                                             ; preds = %7895, %7899
  %.str.5.sink4102 = phi ptr [ @.str.5, %7899 ], [ @.str.2, %7895 ]
  store i32 %7890, ptr %1901, align 4, !tbaa !5
  %7901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7902 = load i32, ptr @test_count, align 4, !tbaa !5
  %7903 = load i32, ptr %1847, align 4, !tbaa !5
  %7904 = call ptr @s2n_strerror(i32 noundef %7903, ptr noundef nonnull @.str.4) #12
  %7905 = load i32, ptr %1847, align 4, !tbaa !5
  %7906 = call ptr @s2n_strerror_debug(i32 noundef %7905, ptr noundef nonnull @.str.4) #12
  %7907 = load i32, ptr %1901, align 4, !tbaa !5
  %7908 = call ptr @strerror(i32 noundef %7907) #12
  %7909 = load i32, ptr %1901, align 4, !tbaa !5
  %7910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7901, ptr noundef nonnull %.str.5.sink4102, i32 noundef %7902, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 527, ptr noundef %7904, ptr noundef %7906, ptr noundef %7908, i32 noundef %7909) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7911:                                             ; preds = %7883
  %7912 = load i32, ptr @test_count, align 4, !tbaa !5
  %7913 = add nsw i32 %7912, 1
  store i32 %7913, ptr @test_count, align 4, !tbaa !5
  %7914 = load ptr, ptr %46, align 8, !tbaa !9
  %7915 = load ptr, ptr %45, align 8, !tbaa !9
  %7916 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %7914, ptr noundef %7915) #12
  %7917 = icmp eq i32 %7916, -1
  br i1 %7917, label %7918, label %7940

7918:                                             ; preds = %7911
  %7919 = load i32, ptr %1901, align 4, !tbaa !5
  %7920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7921 = call i32 @s2n_print_stacktrace(ptr noundef %7920) #12
  %7922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7923 = trunc nuw i8 %7922 to i1
  br i1 %7923, label %7924, label %7928

7924:                                             ; preds = %7918
  %7925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7926 = call i32 @fileno(ptr noundef %7925) #12
  %7927 = call i32 @isatty(i32 noundef %7926) #12
  %.not1273 = icmp eq i32 %7927, 0
  br i1 %.not1273, label %7928, label %7929

7928:                                             ; preds = %7924, %7918
  br label %7929

7929:                                             ; preds = %7924, %7928
  %.str.5.sink4111 = phi ptr [ @.str.5, %7928 ], [ @.str.2, %7924 ]
  store i32 %7919, ptr %1901, align 4, !tbaa !5
  %7930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7931 = load i32, ptr @test_count, align 4, !tbaa !5
  %7932 = load i32, ptr %1847, align 4, !tbaa !5
  %7933 = call ptr @s2n_strerror(i32 noundef %7932, ptr noundef nonnull @.str.4) #12
  %7934 = load i32, ptr %1847, align 4, !tbaa !5
  %7935 = call ptr @s2n_strerror_debug(i32 noundef %7934, ptr noundef nonnull @.str.4) #12
  %7936 = load i32, ptr %1901, align 4, !tbaa !5
  %7937 = call ptr @strerror(i32 noundef %7936) #12
  %7938 = load i32, ptr %1901, align 4, !tbaa !5
  %7939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7930, ptr noundef nonnull %.str.5.sink4111, i32 noundef %7931, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 529, ptr noundef %7933, ptr noundef %7935, ptr noundef %7937, i32 noundef %7938) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7940:                                             ; preds = %7911
  %7941 = load i32, ptr @test_count, align 4, !tbaa !5
  %7942 = add nsw i32 %7941, 1
  store i32 %7942, ptr @test_count, align 4, !tbaa !5
  %7943 = load ptr, ptr %45, align 8, !tbaa !9
  %7944 = call i32 @s2n_connection_free(ptr noundef %7943) #12
  %7945 = icmp eq i32 %7944, -1
  br i1 %7945, label %7946, label %7968

7946:                                             ; preds = %7940
  %7947 = load i32, ptr %1901, align 4, !tbaa !5
  %7948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7949 = call i32 @s2n_print_stacktrace(ptr noundef %7948) #12
  %7950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7951 = trunc nuw i8 %7950 to i1
  br i1 %7951, label %7952, label %7956

7952:                                             ; preds = %7946
  %7953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7954 = call i32 @fileno(ptr noundef %7953) #12
  %7955 = call i32 @isatty(i32 noundef %7954) #12
  %.not1272 = icmp eq i32 %7955, 0
  br i1 %.not1272, label %7956, label %7957

7956:                                             ; preds = %7952, %7946
  br label %7957

7957:                                             ; preds = %7952, %7956
  %.str.5.sink4120 = phi ptr [ @.str.5, %7956 ], [ @.str.2, %7952 ]
  store i32 %7947, ptr %1901, align 4, !tbaa !5
  %7958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7959 = load i32, ptr @test_count, align 4, !tbaa !5
  %7960 = load i32, ptr %1847, align 4, !tbaa !5
  %7961 = call ptr @s2n_strerror(i32 noundef %7960, ptr noundef nonnull @.str.4) #12
  %7962 = load i32, ptr %1847, align 4, !tbaa !5
  %7963 = call ptr @s2n_strerror_debug(i32 noundef %7962, ptr noundef nonnull @.str.4) #12
  %7964 = load i32, ptr %1901, align 4, !tbaa !5
  %7965 = call ptr @strerror(i32 noundef %7964) #12
  %7966 = load i32, ptr %1901, align 4, !tbaa !5
  %7967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7958, ptr noundef nonnull %.str.5.sink4120, i32 noundef %7959, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 530, ptr noundef %7961, ptr noundef %7963, ptr noundef %7965, i32 noundef %7966) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7968:                                             ; preds = %7940
  %7969 = load i32, ptr @test_count, align 4, !tbaa !5
  %7970 = add nsw i32 %7969, 1
  store i32 %7970, ptr @test_count, align 4, !tbaa !5
  %7971 = load ptr, ptr %46, align 8, !tbaa !9
  %7972 = call i32 @s2n_connection_free(ptr noundef %7971) #12
  %7973 = icmp eq i32 %7972, -1
  br i1 %7973, label %7974, label %7996

7974:                                             ; preds = %7968
  %7975 = load i32, ptr %1901, align 4, !tbaa !5
  %7976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7977 = call i32 @s2n_print_stacktrace(ptr noundef %7976) #12
  %7978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7979 = trunc nuw i8 %7978 to i1
  br i1 %7979, label %7980, label %7984

7980:                                             ; preds = %7974
  %7981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7982 = call i32 @fileno(ptr noundef %7981) #12
  %7983 = call i32 @isatty(i32 noundef %7982) #12
  %.not1271 = icmp eq i32 %7983, 0
  br i1 %.not1271, label %7984, label %7985

7984:                                             ; preds = %7980, %7974
  br label %7985

7985:                                             ; preds = %7980, %7984
  %.str.5.sink4129 = phi ptr [ @.str.5, %7984 ], [ @.str.2, %7980 ]
  store i32 %7975, ptr %1901, align 4, !tbaa !5
  %7986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7987 = load i32, ptr @test_count, align 4, !tbaa !5
  %7988 = load i32, ptr %1847, align 4, !tbaa !5
  %7989 = call ptr @s2n_strerror(i32 noundef %7988, ptr noundef nonnull @.str.4) #12
  %7990 = load i32, ptr %1847, align 4, !tbaa !5
  %7991 = call ptr @s2n_strerror_debug(i32 noundef %7990, ptr noundef nonnull @.str.4) #12
  %7992 = load i32, ptr %1901, align 4, !tbaa !5
  %7993 = call ptr @strerror(i32 noundef %7992) #12
  %7994 = load i32, ptr %1901, align 4, !tbaa !5
  %7995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7986, ptr noundef nonnull %.str.5.sink4129, i32 noundef %7987, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 531, ptr noundef %7989, ptr noundef %7991, ptr noundef %7993, i32 noundef %7994) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7996:                                             ; preds = %7968
  %7997 = call i32 @s2n_io_pair_close(ptr noundef nonnull %47) #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 8, ptr nonnull %45) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #12
  store ptr null, ptr %48, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #12
  store ptr null, ptr %49, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #12
  store i64 0, ptr %50, align 8
  %7998 = load i32, ptr @test_count, align 4, !tbaa !5
  %7999 = add nsw i32 %7998, 1
  store i32 %7999, ptr @test_count, align 4, !tbaa !5
  %8000 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %48, ptr noundef nonnull %49, ptr noundef nonnull %50)
  %8001 = call zeroext i1 @s2n_result_is_ok(i32 %8000)
  br i1 %8001, label %8024, label %8002

8002:                                             ; preds = %7996
  %8003 = load i32, ptr %1901, align 4, !tbaa !5
  %8004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8005 = call i32 @s2n_print_stacktrace(ptr noundef %8004) #12
  %8006 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8007 = trunc nuw i8 %8006 to i1
  br i1 %8007, label %8008, label %8012

8008:                                             ; preds = %8002
  %8009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8010 = call i32 @fileno(ptr noundef %8009) #12
  %8011 = call i32 @isatty(i32 noundef %8010) #12
  %.not1091 = icmp eq i32 %8011, 0
  br i1 %.not1091, label %8012, label %8013

8012:                                             ; preds = %8008, %8002
  br label %8013

8013:                                             ; preds = %8008, %8012
  %.str.5.sink4138 = phi ptr [ @.str.5, %8012 ], [ @.str.2, %8008 ]
  store i32 %8003, ptr %1901, align 4, !tbaa !5
  %8014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8015 = load i32, ptr @test_count, align 4, !tbaa !5
  %8016 = load i32, ptr %1847, align 4, !tbaa !5
  %8017 = call ptr @s2n_strerror(i32 noundef %8016, ptr noundef nonnull @.str.4) #12
  %8018 = load i32, ptr %1847, align 4, !tbaa !5
  %8019 = call ptr @s2n_strerror_debug(i32 noundef %8018, ptr noundef nonnull @.str.4) #12
  %8020 = load i32, ptr %1901, align 4, !tbaa !5
  %8021 = call ptr @strerror(i32 noundef %8020) #12
  %8022 = load i32, ptr %1901, align 4, !tbaa !5
  %8023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8014, ptr noundef nonnull %.str.5.sink4138, i32 noundef %8015, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 541, ptr noundef %8017, ptr noundef %8019, ptr noundef %8021, i32 noundef %8022) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8024:                                             ; preds = %7996
  %8025 = load i32, ptr @test_count, align 4, !tbaa !5
  %8026 = add nsw i32 %8025, 1
  store i32 %8026, ptr @test_count, align 4, !tbaa !5
  %8027 = load ptr, ptr %48, align 8, !tbaa !9
  %8028 = call i32 @s2n_connection_append_psk(ptr noundef %8027, ptr noundef %6167) #12
  %8029 = icmp eq i32 %8028, -1
  br i1 %8029, label %8030, label %8052

8030:                                             ; preds = %8024
  %8031 = load i32, ptr %1901, align 4, !tbaa !5
  %8032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8033 = call i32 @s2n_print_stacktrace(ptr noundef %8032) #12
  %8034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8035 = trunc nuw i8 %8034 to i1
  br i1 %8035, label %8036, label %8040

8036:                                             ; preds = %8030
  %8037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8038 = call i32 @fileno(ptr noundef %8037) #12
  %8039 = call i32 @isatty(i32 noundef %8038) #12
  %.not1270 = icmp eq i32 %8039, 0
  br i1 %.not1270, label %8040, label %8041

8040:                                             ; preds = %8036, %8030
  br label %8041

8041:                                             ; preds = %8036, %8040
  %.str.5.sink4147 = phi ptr [ @.str.5, %8040 ], [ @.str.2, %8036 ]
  store i32 %8031, ptr %1901, align 4, !tbaa !5
  %8042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8043 = load i32, ptr @test_count, align 4, !tbaa !5
  %8044 = load i32, ptr %1847, align 4, !tbaa !5
  %8045 = call ptr @s2n_strerror(i32 noundef %8044, ptr noundef nonnull @.str.4) #12
  %8046 = load i32, ptr %1847, align 4, !tbaa !5
  %8047 = call ptr @s2n_strerror_debug(i32 noundef %8046, ptr noundef nonnull @.str.4) #12
  %8048 = load i32, ptr %1901, align 4, !tbaa !5
  %8049 = call ptr @strerror(i32 noundef %8048) #12
  %8050 = load i32, ptr %1901, align 4, !tbaa !5
  %8051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8042, ptr noundef nonnull %.str.5.sink4147, i32 noundef %8043, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 543, ptr noundef %8045, ptr noundef %8047, ptr noundef %8049, i32 noundef %8050) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8052:                                             ; preds = %8024
  %8053 = load i32, ptr @test_count, align 4, !tbaa !5
  %8054 = add nsw i32 %8053, 1
  store i32 %8054, ptr @test_count, align 4, !tbaa !5
  %8055 = load ptr, ptr %49, align 8, !tbaa !9
  %8056 = call i32 @s2n_connection_append_psk(ptr noundef %8055, ptr noundef %6167) #12
  %8057 = icmp eq i32 %8056, -1
  br i1 %8057, label %8058, label %8080

8058:                                             ; preds = %8052
  %8059 = load i32, ptr %1901, align 4, !tbaa !5
  %8060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8061 = call i32 @s2n_print_stacktrace(ptr noundef %8060) #12
  %8062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8063 = trunc nuw i8 %8062 to i1
  br i1 %8063, label %8064, label %8068

8064:                                             ; preds = %8058
  %8065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8066 = call i32 @fileno(ptr noundef %8065) #12
  %8067 = call i32 @isatty(i32 noundef %8066) #12
  %.not1269 = icmp eq i32 %8067, 0
  br i1 %.not1269, label %8068, label %8069

8068:                                             ; preds = %8064, %8058
  br label %8069

8069:                                             ; preds = %8064, %8068
  %.str.5.sink4156 = phi ptr [ @.str.5, %8068 ], [ @.str.2, %8064 ]
  store i32 %8059, ptr %1901, align 4, !tbaa !5
  %8070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8071 = load i32, ptr @test_count, align 4, !tbaa !5
  %8072 = load i32, ptr %1847, align 4, !tbaa !5
  %8073 = call ptr @s2n_strerror(i32 noundef %8072, ptr noundef nonnull @.str.4) #12
  %8074 = load i32, ptr %1847, align 4, !tbaa !5
  %8075 = call ptr @s2n_strerror_debug(i32 noundef %8074, ptr noundef nonnull @.str.4) #12
  %8076 = load i32, ptr %1901, align 4, !tbaa !5
  %8077 = call ptr @strerror(i32 noundef %8076) #12
  %8078 = load i32, ptr %1901, align 4, !tbaa !5
  %8079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8070, ptr noundef nonnull %.str.5.sink4156, i32 noundef %8071, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 544, ptr noundef %8073, ptr noundef %8075, ptr noundef %8077, i32 noundef %8078) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8080:                                             ; preds = %8052
  %8081 = load i32, ptr @test_count, align 4, !tbaa !5
  %8082 = add nsw i32 %8081, 1
  store i32 %8082, ptr @test_count, align 4, !tbaa !5
  %8083 = load ptr, ptr %48, align 8, !tbaa !9
  %8084 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %8083) #12
  %8085 = icmp eq i32 %8084, -1
  br i1 %8085, label %8086, label %8108

8086:                                             ; preds = %8080
  %8087 = load i32, ptr %1901, align 4, !tbaa !5
  %8088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8089 = call i32 @s2n_print_stacktrace(ptr noundef %8088) #12
  %8090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8091 = trunc nuw i8 %8090 to i1
  br i1 %8091, label %8092, label %8096

8092:                                             ; preds = %8086
  %8093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8094 = call i32 @fileno(ptr noundef %8093) #12
  %8095 = call i32 @isatty(i32 noundef %8094) #12
  %.not1268 = icmp eq i32 %8095, 0
  br i1 %.not1268, label %8096, label %8097

8096:                                             ; preds = %8092, %8086
  br label %8097

8097:                                             ; preds = %8092, %8096
  %.str.5.sink4165 = phi ptr [ @.str.5, %8096 ], [ @.str.2, %8092 ]
  store i32 %8087, ptr %1901, align 4, !tbaa !5
  %8098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8099 = load i32, ptr @test_count, align 4, !tbaa !5
  %8100 = load i32, ptr %1847, align 4, !tbaa !5
  %8101 = call ptr @s2n_strerror(i32 noundef %8100, ptr noundef nonnull @.str.4) #12
  %8102 = load i32, ptr %1847, align 4, !tbaa !5
  %8103 = call ptr @s2n_strerror_debug(i32 noundef %8102, ptr noundef nonnull @.str.4) #12
  %8104 = load i32, ptr %1901, align 4, !tbaa !5
  %8105 = call ptr @strerror(i32 noundef %8104) #12
  %8106 = load i32, ptr %1901, align 4, !tbaa !5
  %8107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8098, ptr noundef nonnull %.str.5.sink4165, i32 noundef %8099, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 545, ptr noundef %8101, ptr noundef %8103, ptr noundef %8105, i32 noundef %8106) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8108:                                             ; preds = %8080
  %8109 = load i32, ptr @test_count, align 4, !tbaa !5
  %8110 = add nsw i32 %8109, 1
  store i32 %8110, ptr @test_count, align 4, !tbaa !5
  %8111 = load ptr, ptr %49, align 8, !tbaa !9
  %8112 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %8111) #12
  %8113 = icmp eq i32 %8112, -1
  br i1 %8113, label %8114, label %8136

8114:                                             ; preds = %8108
  %8115 = load i32, ptr %1901, align 4, !tbaa !5
  %8116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8117 = call i32 @s2n_print_stacktrace(ptr noundef %8116) #12
  %8118 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8119 = trunc nuw i8 %8118 to i1
  br i1 %8119, label %8120, label %8124

8120:                                             ; preds = %8114
  %8121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8122 = call i32 @fileno(ptr noundef %8121) #12
  %8123 = call i32 @isatty(i32 noundef %8122) #12
  %.not1267 = icmp eq i32 %8123, 0
  br i1 %.not1267, label %8124, label %8125

8124:                                             ; preds = %8120, %8114
  br label %8125

8125:                                             ; preds = %8120, %8124
  %.str.5.sink4174 = phi ptr [ @.str.5, %8124 ], [ @.str.2, %8120 ]
  store i32 %8115, ptr %1901, align 4, !tbaa !5
  %8126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8127 = load i32, ptr @test_count, align 4, !tbaa !5
  %8128 = load i32, ptr %1847, align 4, !tbaa !5
  %8129 = call ptr @s2n_strerror(i32 noundef %8128, ptr noundef nonnull @.str.4) #12
  %8130 = load i32, ptr %1847, align 4, !tbaa !5
  %8131 = call ptr @s2n_strerror_debug(i32 noundef %8130, ptr noundef nonnull @.str.4) #12
  %8132 = load i32, ptr %1901, align 4, !tbaa !5
  %8133 = call ptr @strerror(i32 noundef %8132) #12
  %8134 = load i32, ptr %1901, align 4, !tbaa !5
  %8135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8126, ptr noundef nonnull %.str.5.sink4174, i32 noundef %8127, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 546, ptr noundef %8129, ptr noundef %8131, ptr noundef %8133, i32 noundef %8134) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8136:                                             ; preds = %8108
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %51) #12
  store i32 0, ptr %51, align 4, !tbaa !5
  %8137 = load i32, ptr @test_count, align 4, !tbaa !5
  %8138 = add nsw i32 %8137, 1
  store i32 %8138, ptr @test_count, align 4, !tbaa !5
  %8139 = load ptr, ptr %48, align 8, !tbaa !9
  %8140 = getelementptr inbounds i8, ptr %8139, i64 4088
  %8141 = load i32, ptr %8140, align 8, !tbaa !17
  %8142 = icmp eq i32 %8141, 0
  br i1 %8142, label %8165, label %8143

8143:                                             ; preds = %8136
  %8144 = load i32, ptr %1901, align 4, !tbaa !5
  %8145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8146 = call i32 @s2n_print_stacktrace(ptr noundef %8145) #12
  %8147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8148 = trunc nuw i8 %8147 to i1
  br i1 %8148, label %8149, label %8153

8149:                                             ; preds = %8143
  %8150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8151 = call i32 @fileno(ptr noundef %8150) #12
  %8152 = call i32 @isatty(i32 noundef %8151) #12
  %.not1092 = icmp eq i32 %8152, 0
  br i1 %.not1092, label %8153, label %8154

8153:                                             ; preds = %8149, %8143
  br label %8154

8154:                                             ; preds = %8149, %8153
  %.str.5.sink4183 = phi ptr [ @.str.5, %8153 ], [ @.str.2, %8149 ]
  store i32 %8144, ptr %1901, align 4, !tbaa !5
  %8155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8156 = load i32, ptr @test_count, align 4, !tbaa !5
  %8157 = load i32, ptr %1847, align 4, !tbaa !5
  %8158 = call ptr @s2n_strerror(i32 noundef %8157, ptr noundef nonnull @.str.4) #12
  %8159 = load i32, ptr %1847, align 4, !tbaa !5
  %8160 = call ptr @s2n_strerror_debug(i32 noundef %8159, ptr noundef nonnull @.str.4) #12
  %8161 = load i32, ptr %1901, align 4, !tbaa !5
  %8162 = call ptr @strerror(i32 noundef %8161) #12
  %8163 = load i32, ptr %1901, align 4, !tbaa !5
  %8164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8155, ptr noundef nonnull %.str.5.sink4183, i32 noundef %8156, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 551, ptr noundef %8158, ptr noundef %8160, ptr noundef %8162, i32 noundef %8163) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8165:                                             ; preds = %8136
  %8166 = add nsw i32 %8137, 2
  store i32 %8166, ptr @test_count, align 4, !tbaa !5
  %8167 = call i64 @s2n_send(ptr noundef nonnull %8139, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %51) #12
  %8168 = icmp eq i64 %8167, -1
  br i1 %8168, label %8191, label %8169

8169:                                             ; preds = %8165
  %8170 = load i32, ptr %1901, align 4, !tbaa !5
  %8171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8172 = call i32 @s2n_print_stacktrace(ptr noundef %8171) #12
  %8173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8174 = trunc nuw i8 %8173 to i1
  br i1 %8174, label %8175, label %8179

8175:                                             ; preds = %8169
  %8176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8177 = call i32 @fileno(ptr noundef %8176) #12
  %8178 = call i32 @isatty(i32 noundef %8177) #12
  %.not1093 = icmp eq i32 %8178, 0
  br i1 %.not1093, label %8179, label %8180

8179:                                             ; preds = %8175, %8169
  br label %8180

8180:                                             ; preds = %8175, %8179
  %.str.5.sink4192 = phi ptr [ @.str.5, %8179 ], [ @.str.2, %8175 ]
  store i32 %8170, ptr %1901, align 4, !tbaa !5
  %8181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8182 = load i32, ptr @test_count, align 4, !tbaa !5
  %8183 = load i32, ptr %1847, align 4, !tbaa !5
  %8184 = call ptr @s2n_strerror(i32 noundef %8183, ptr noundef nonnull @.str.4) #12
  %8185 = load i32, ptr %1847, align 4, !tbaa !5
  %8186 = call ptr @s2n_strerror_debug(i32 noundef %8185, ptr noundef nonnull @.str.4) #12
  %8187 = load i32, ptr %1901, align 4, !tbaa !5
  %8188 = call ptr @strerror(i32 noundef %8187) #12
  %8189 = load i32, ptr %1901, align 4, !tbaa !5
  %8190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8181, ptr noundef nonnull %.str.5.sink4192, i32 noundef %8182, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 553, ptr noundef %8184, ptr noundef %8186, ptr noundef %8188, i32 noundef %8189) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8191:                                             ; preds = %8165
  %8192 = load i32, ptr @test_count, align 4, !tbaa !5
  %8193 = add nsw i32 %8192, 1
  store i32 %8193, ptr @test_count, align 4, !tbaa !5
  %8194 = load i32, ptr %1847, align 4, !tbaa !5
  %8195 = icmp eq i32 %8194, 469762113
  br i1 %8195, label %8218, label %8196

8196:                                             ; preds = %8191
  %8197 = load i32, ptr %1901, align 4, !tbaa !5
  %8198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8199 = call i32 @s2n_print_stacktrace(ptr noundef %8198) #12
  %8200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8201 = trunc nuw i8 %8200 to i1
  br i1 %8201, label %8202, label %8206

8202:                                             ; preds = %8196
  %8203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8204 = call i32 @fileno(ptr noundef %8203) #12
  %8205 = call i32 @isatty(i32 noundef %8204) #12
  %.not1094 = icmp eq i32 %8205, 0
  br i1 %.not1094, label %8206, label %8207

8206:                                             ; preds = %8202, %8196
  br label %8207

8207:                                             ; preds = %8202, %8206
  %.str.5.sink4201 = phi ptr [ @.str.5, %8206 ], [ @.str.2, %8202 ]
  store i32 %8197, ptr %1901, align 4, !tbaa !5
  %8208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8209 = load i32, ptr @test_count, align 4, !tbaa !5
  %8210 = load i32, ptr %1847, align 4, !tbaa !5
  %8211 = call ptr @s2n_strerror(i32 noundef %8210, ptr noundef nonnull @.str.4) #12
  %8212 = load i32, ptr %1847, align 4, !tbaa !5
  %8213 = call ptr @s2n_strerror_debug(i32 noundef %8212, ptr noundef nonnull @.str.4) #12
  %8214 = load i32, ptr %1901, align 4, !tbaa !5
  %8215 = call ptr @strerror(i32 noundef %8214) #12
  %8216 = load i32, ptr %1901, align 4, !tbaa !5
  %8217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8208, ptr noundef nonnull %.str.5.sink4201, i32 noundef %8209, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 553, ptr noundef %8211, ptr noundef %8213, ptr noundef %8215, i32 noundef %8216) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8218:                                             ; preds = %8191
  %8219 = add nsw i32 %8192, 2
  store i32 %8219, ptr @test_count, align 4, !tbaa !5
  %8220 = call ptr @s2n_strerror_debug(i32 noundef 469762113, ptr noundef nonnull @.str.4) #12
  %8221 = icmp eq ptr %8220, null
  br i1 %8221, label %8222, label %8244

8222:                                             ; preds = %8218
  %8223 = load i32, ptr %1901, align 4, !tbaa !5
  %8224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8225 = call i32 @s2n_print_stacktrace(ptr noundef %8224) #12
  %8226 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8227 = trunc nuw i8 %8226 to i1
  br i1 %8227, label %8228, label %8232

8228:                                             ; preds = %8222
  %8229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8230 = call i32 @fileno(ptr noundef %8229) #12
  %8231 = call i32 @isatty(i32 noundef %8230) #12
  %.not1266 = icmp eq i32 %8231, 0
  br i1 %.not1266, label %8232, label %8233

8232:                                             ; preds = %8228, %8222
  br label %8233

8233:                                             ; preds = %8228, %8232
  %.str.5.sink4210 = phi ptr [ @.str.5, %8232 ], [ @.str.2, %8228 ]
  store i32 %8223, ptr %1901, align 4, !tbaa !5
  %8234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8235 = load i32, ptr @test_count, align 4, !tbaa !5
  %8236 = load i32, ptr %1847, align 4, !tbaa !5
  %8237 = call ptr @s2n_strerror(i32 noundef %8236, ptr noundef nonnull @.str.4) #12
  %8238 = load i32, ptr %1847, align 4, !tbaa !5
  %8239 = call ptr @s2n_strerror_debug(i32 noundef %8238, ptr noundef nonnull @.str.4) #12
  %8240 = load i32, ptr %1901, align 4, !tbaa !5
  %8241 = call ptr @strerror(i32 noundef %8240) #12
  %8242 = load i32, ptr %1901, align 4, !tbaa !5
  %8243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8234, ptr noundef nonnull %.str.5.sink4210, i32 noundef %8235, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 553, ptr noundef %8237, ptr noundef %8239, ptr noundef %8241, i32 noundef %8242) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8244:                                             ; preds = %8218
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %8245 = load i32, ptr @test_count, align 4, !tbaa !5
  %8246 = add nsw i32 %8245, 1
  store i32 %8246, ptr @test_count, align 4, !tbaa !5
  %8247 = load ptr, ptr %48, align 8, !tbaa !9
  %8248 = call i64 @s2n_send(ptr noundef %8247, ptr noundef nonnull %3, i64 noundef 0, ptr noundef nonnull %51) #12
  %8249 = icmp eq i64 %8248, -1
  br i1 %8249, label %8272, label %8250

8250:                                             ; preds = %8244
  %8251 = load i32, ptr %1901, align 4, !tbaa !5
  %8252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8253 = call i32 @s2n_print_stacktrace(ptr noundef %8252) #12
  %8254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8255 = trunc nuw i8 %8254 to i1
  br i1 %8255, label %8256, label %8260

8256:                                             ; preds = %8250
  %8257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8258 = call i32 @fileno(ptr noundef %8257) #12
  %8259 = call i32 @isatty(i32 noundef %8258) #12
  %.not1095 = icmp eq i32 %8259, 0
  br i1 %.not1095, label %8260, label %8261

8260:                                             ; preds = %8256, %8250
  br label %8261

8261:                                             ; preds = %8256, %8260
  %.str.5.sink4219 = phi ptr [ @.str.5, %8260 ], [ @.str.2, %8256 ]
  store i32 %8251, ptr %1901, align 4, !tbaa !5
  %8262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8263 = load i32, ptr @test_count, align 4, !tbaa !5
  %8264 = load i32, ptr %1847, align 4, !tbaa !5
  %8265 = call ptr @s2n_strerror(i32 noundef %8264, ptr noundef nonnull @.str.4) #12
  %8266 = load i32, ptr %1847, align 4, !tbaa !5
  %8267 = call ptr @s2n_strerror_debug(i32 noundef %8266, ptr noundef nonnull @.str.4) #12
  %8268 = load i32, ptr %1901, align 4, !tbaa !5
  %8269 = call ptr @strerror(i32 noundef %8268) #12
  %8270 = load i32, ptr %1901, align 4, !tbaa !5
  %8271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8262, ptr noundef nonnull %.str.5.sink4219, i32 noundef %8263, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 555, ptr noundef %8265, ptr noundef %8267, ptr noundef %8269, i32 noundef %8270) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8272:                                             ; preds = %8244
  %8273 = load i32, ptr @test_count, align 4, !tbaa !5
  %8274 = add nsw i32 %8273, 1
  store i32 %8274, ptr @test_count, align 4, !tbaa !5
  %8275 = load i32, ptr %1847, align 4, !tbaa !5
  %8276 = icmp eq i32 %8275, 469762113
  br i1 %8276, label %8299, label %8277

8277:                                             ; preds = %8272
  %8278 = load i32, ptr %1901, align 4, !tbaa !5
  %8279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8280 = call i32 @s2n_print_stacktrace(ptr noundef %8279) #12
  %8281 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8282 = trunc nuw i8 %8281 to i1
  br i1 %8282, label %8283, label %8287

8283:                                             ; preds = %8277
  %8284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8285 = call i32 @fileno(ptr noundef %8284) #12
  %8286 = call i32 @isatty(i32 noundef %8285) #12
  %.not1096 = icmp eq i32 %8286, 0
  br i1 %.not1096, label %8287, label %8288

8287:                                             ; preds = %8283, %8277
  br label %8288

8288:                                             ; preds = %8283, %8287
  %.str.5.sink4228 = phi ptr [ @.str.5, %8287 ], [ @.str.2, %8283 ]
  store i32 %8278, ptr %1901, align 4, !tbaa !5
  %8289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8290 = load i32, ptr @test_count, align 4, !tbaa !5
  %8291 = load i32, ptr %1847, align 4, !tbaa !5
  %8292 = call ptr @s2n_strerror(i32 noundef %8291, ptr noundef nonnull @.str.4) #12
  %8293 = load i32, ptr %1847, align 4, !tbaa !5
  %8294 = call ptr @s2n_strerror_debug(i32 noundef %8293, ptr noundef nonnull @.str.4) #12
  %8295 = load i32, ptr %1901, align 4, !tbaa !5
  %8296 = call ptr @strerror(i32 noundef %8295) #12
  %8297 = load i32, ptr %1901, align 4, !tbaa !5
  %8298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8289, ptr noundef nonnull %.str.5.sink4228, i32 noundef %8290, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 555, ptr noundef %8292, ptr noundef %8294, ptr noundef %8296, i32 noundef %8297) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8299:                                             ; preds = %8272
  %8300 = add nsw i32 %8273, 2
  store i32 %8300, ptr @test_count, align 4, !tbaa !5
  %8301 = call ptr @s2n_strerror_debug(i32 noundef 469762113, ptr noundef nonnull @.str.4) #12
  %8302 = icmp eq ptr %8301, null
  br i1 %8302, label %8303, label %8325

8303:                                             ; preds = %8299
  %8304 = load i32, ptr %1901, align 4, !tbaa !5
  %8305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8306 = call i32 @s2n_print_stacktrace(ptr noundef %8305) #12
  %8307 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8308 = trunc nuw i8 %8307 to i1
  br i1 %8308, label %8309, label %8313

8309:                                             ; preds = %8303
  %8310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8311 = call i32 @fileno(ptr noundef %8310) #12
  %8312 = call i32 @isatty(i32 noundef %8311) #12
  %.not1265 = icmp eq i32 %8312, 0
  br i1 %.not1265, label %8313, label %8314

8313:                                             ; preds = %8309, %8303
  br label %8314

8314:                                             ; preds = %8309, %8313
  %.str.5.sink4237 = phi ptr [ @.str.5, %8313 ], [ @.str.2, %8309 ]
  store i32 %8304, ptr %1901, align 4, !tbaa !5
  %8315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8316 = load i32, ptr @test_count, align 4, !tbaa !5
  %8317 = load i32, ptr %1847, align 4, !tbaa !5
  %8318 = call ptr @s2n_strerror(i32 noundef %8317, ptr noundef nonnull @.str.4) #12
  %8319 = load i32, ptr %1847, align 4, !tbaa !5
  %8320 = call ptr @s2n_strerror_debug(i32 noundef %8319, ptr noundef nonnull @.str.4) #12
  %8321 = load i32, ptr %1901, align 4, !tbaa !5
  %8322 = call ptr @strerror(i32 noundef %8321) #12
  %8323 = load i32, ptr %1901, align 4, !tbaa !5
  %8324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8315, ptr noundef nonnull %.str.5.sink4237, i32 noundef %8316, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 555, ptr noundef %8318, ptr noundef %8320, ptr noundef %8322, i32 noundef %8323) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8325:                                             ; preds = %8299
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %8326 = load i32, ptr @test_count, align 4, !tbaa !5
  %8327 = add nsw i32 %8326, 1
  store i32 %8327, ptr @test_count, align 4, !tbaa !5
  %8328 = load ptr, ptr %49, align 8, !tbaa !9
  %8329 = load ptr, ptr %48, align 8, !tbaa !9
  %8330 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %8328, ptr noundef %8329, i32 noundef 1) #12
  %8331 = call zeroext i1 @s2n_result_is_ok(i32 %8330)
  br i1 %8331, label %8354, label %8332

8332:                                             ; preds = %8325
  %8333 = load i32, ptr %1901, align 4, !tbaa !5
  %8334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8335 = call i32 @s2n_print_stacktrace(ptr noundef %8334) #12
  %8336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8337 = trunc nuw i8 %8336 to i1
  br i1 %8337, label %8338, label %8342

8338:                                             ; preds = %8332
  %8339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8340 = call i32 @fileno(ptr noundef %8339) #12
  %8341 = call i32 @isatty(i32 noundef %8340) #12
  %.not1097 = icmp eq i32 %8341, 0
  br i1 %.not1097, label %8342, label %8343

8342:                                             ; preds = %8338, %8332
  br label %8343

8343:                                             ; preds = %8338, %8342
  %.str.5.sink4246 = phi ptr [ @.str.5, %8342 ], [ @.str.2, %8338 ]
  store i32 %8333, ptr %1901, align 4, !tbaa !5
  %8344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8345 = load i32, ptr @test_count, align 4, !tbaa !5
  %8346 = load i32, ptr %1847, align 4, !tbaa !5
  %8347 = call ptr @s2n_strerror(i32 noundef %8346, ptr noundef nonnull @.str.4) #12
  %8348 = load i32, ptr %1847, align 4, !tbaa !5
  %8349 = call ptr @s2n_strerror_debug(i32 noundef %8348, ptr noundef nonnull @.str.4) #12
  %8350 = load i32, ptr %1901, align 4, !tbaa !5
  %8351 = call ptr @strerror(i32 noundef %8350) #12
  %8352 = load i32, ptr %1901, align 4, !tbaa !5
  %8353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8344, ptr noundef nonnull %.str.5.sink4246, i32 noundef %8345, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 558, ptr noundef %8347, ptr noundef %8349, ptr noundef %8351, i32 noundef %8352) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8354:                                             ; preds = %8325
  %8355 = load i32, ptr @test_count, align 4, !tbaa !5
  %8356 = add nsw i32 %8355, 1
  store i32 %8356, ptr @test_count, align 4, !tbaa !5
  %8357 = load ptr, ptr %48, align 8, !tbaa !9
  %8358 = getelementptr inbounds i8, ptr %8357, i64 4088
  %8359 = load i32, ptr %8358, align 8, !tbaa !17
  %8360 = icmp eq i32 %8359, 1
  br i1 %8360, label %8383, label %8361

8361:                                             ; preds = %8354
  %8362 = load i32, ptr %1901, align 4, !tbaa !5
  %8363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8364 = call i32 @s2n_print_stacktrace(ptr noundef %8363) #12
  %8365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8366 = trunc nuw i8 %8365 to i1
  br i1 %8366, label %8367, label %8371

8367:                                             ; preds = %8361
  %8368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8369 = call i32 @fileno(ptr noundef %8368) #12
  %8370 = call i32 @isatty(i32 noundef %8369) #12
  %.not1098 = icmp eq i32 %8370, 0
  br i1 %.not1098, label %8371, label %8372

8371:                                             ; preds = %8367, %8361
  br label %8372

8372:                                             ; preds = %8367, %8371
  %.str.5.sink4255 = phi ptr [ @.str.5, %8371 ], [ @.str.2, %8367 ]
  store i32 %8362, ptr %1901, align 4, !tbaa !5
  %8373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8374 = load i32, ptr @test_count, align 4, !tbaa !5
  %8375 = load i32, ptr %1847, align 4, !tbaa !5
  %8376 = call ptr @s2n_strerror(i32 noundef %8375, ptr noundef nonnull @.str.4) #12
  %8377 = load i32, ptr %1847, align 4, !tbaa !5
  %8378 = call ptr @s2n_strerror_debug(i32 noundef %8377, ptr noundef nonnull @.str.4) #12
  %8379 = load i32, ptr %1901, align 4, !tbaa !5
  %8380 = call ptr @strerror(i32 noundef %8379) #12
  %8381 = load i32, ptr %1901, align 4, !tbaa !5
  %8382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8373, ptr noundef nonnull %.str.5.sink4255, i32 noundef %8374, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 561, ptr noundef %8376, ptr noundef %8378, ptr noundef %8380, i32 noundef %8381) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8383:                                             ; preds = %8354
  %8384 = add nsw i32 %8355, 2
  store i32 %8384, ptr @test_count, align 4, !tbaa !5
  %8385 = call i64 @s2n_send(ptr noundef nonnull %8357, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %51) #12
  %8386 = icmp eq i64 %8385, 12
  br i1 %8386, label %8409, label %8387

8387:                                             ; preds = %8383
  %8388 = load i32, ptr %1901, align 4, !tbaa !5
  %8389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8390 = call i32 @s2n_print_stacktrace(ptr noundef %8389) #12
  %8391 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8392 = trunc nuw i8 %8391 to i1
  br i1 %8392, label %8393, label %8397

8393:                                             ; preds = %8387
  %8394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8395 = call i32 @fileno(ptr noundef %8394) #12
  %8396 = call i32 @isatty(i32 noundef %8395) #12
  %.not1099 = icmp eq i32 %8396, 0
  br i1 %.not1099, label %8397, label %8398

8397:                                             ; preds = %8393, %8387
  br label %8398

8398:                                             ; preds = %8393, %8397
  %.str.5.sink4264 = phi ptr [ @.str.5, %8397 ], [ @.str.2, %8393 ]
  store i32 %8388, ptr %1901, align 4, !tbaa !5
  %8399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8400 = load i32, ptr @test_count, align 4, !tbaa !5
  %8401 = load i32, ptr %1847, align 4, !tbaa !5
  %8402 = call ptr @s2n_strerror(i32 noundef %8401, ptr noundef nonnull @.str.4) #12
  %8403 = load i32, ptr %1847, align 4, !tbaa !5
  %8404 = call ptr @s2n_strerror_debug(i32 noundef %8403, ptr noundef nonnull @.str.4) #12
  %8405 = load i32, ptr %1901, align 4, !tbaa !5
  %8406 = call ptr @strerror(i32 noundef %8405) #12
  %8407 = load i32, ptr %1901, align 4, !tbaa !5
  %8408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8399, ptr noundef nonnull %.str.5.sink4264, i32 noundef %8400, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 562, ptr noundef %8402, ptr noundef %8404, ptr noundef %8406, i32 noundef %8407) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8409:                                             ; preds = %8383
  %8410 = load i32, ptr @test_count, align 4, !tbaa !5
  %8411 = add nsw i32 %8410, 1
  store i32 %8411, ptr @test_count, align 4, !tbaa !5
  %8412 = load ptr, ptr %49, align 8, !tbaa !9
  %8413 = load ptr, ptr %48, align 8, !tbaa !9
  %8414 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %8412, ptr noundef %8413, i32 noundef 15) #12
  %8415 = call zeroext i1 @s2n_result_is_ok(i32 %8414)
  br i1 %8415, label %8438, label %8416

8416:                                             ; preds = %8409
  %8417 = load i32, ptr %1901, align 4, !tbaa !5
  %8418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8419 = call i32 @s2n_print_stacktrace(ptr noundef %8418) #12
  %8420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8421 = trunc nuw i8 %8420 to i1
  br i1 %8421, label %8422, label %8426

8422:                                             ; preds = %8416
  %8423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8424 = call i32 @fileno(ptr noundef %8423) #12
  %8425 = call i32 @isatty(i32 noundef %8424) #12
  %.not1100 = icmp eq i32 %8425, 0
  br i1 %.not1100, label %8426, label %8427

8426:                                             ; preds = %8422, %8416
  br label %8427

8427:                                             ; preds = %8422, %8426
  %.str.5.sink4273 = phi ptr [ @.str.5, %8426 ], [ @.str.2, %8422 ]
  store i32 %8417, ptr %1901, align 4, !tbaa !5
  %8428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8429 = load i32, ptr @test_count, align 4, !tbaa !5
  %8430 = load i32, ptr %1847, align 4, !tbaa !5
  %8431 = call ptr @s2n_strerror(i32 noundef %8430, ptr noundef nonnull @.str.4) #12
  %8432 = load i32, ptr %1847, align 4, !tbaa !5
  %8433 = call ptr @s2n_strerror_debug(i32 noundef %8432, ptr noundef nonnull @.str.4) #12
  %8434 = load i32, ptr %1901, align 4, !tbaa !5
  %8435 = call ptr @strerror(i32 noundef %8434) #12
  %8436 = load i32, ptr %1901, align 4, !tbaa !5
  %8437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8428, ptr noundef nonnull %.str.5.sink4273, i32 noundef %8429, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.1, i32 noundef 565, ptr noundef %8431, ptr noundef %8433, ptr noundef %8435, i32 noundef %8436) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8438:                                             ; preds = %8409
  %8439 = load i32, ptr @test_count, align 4, !tbaa !5
  %8440 = add nsw i32 %8439, 1
  store i32 %8440, ptr @test_count, align 4, !tbaa !5
  %8441 = load ptr, ptr %48, align 8, !tbaa !9
  %8442 = getelementptr inbounds i8, ptr %8441, i64 4088
  %8443 = load i32, ptr %8442, align 8, !tbaa !17
  %8444 = icmp eq i32 %8443, 3
  br i1 %8444, label %8467, label %8445

8445:                                             ; preds = %8438
  %8446 = load i32, ptr %1901, align 4, !tbaa !5
  %8447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8448 = call i32 @s2n_print_stacktrace(ptr noundef %8447) #12
  %8449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8450 = trunc nuw i8 %8449 to i1
  br i1 %8450, label %8451, label %8455

8451:                                             ; preds = %8445
  %8452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8453 = call i32 @fileno(ptr noundef %8452) #12
  %8454 = call i32 @isatty(i32 noundef %8453) #12
  %.not1101 = icmp eq i32 %8454, 0
  br i1 %.not1101, label %8455, label %8456

8455:                                             ; preds = %8451, %8445
  br label %8456

8456:                                             ; preds = %8451, %8455
  %.str.5.sink4282 = phi ptr [ @.str.5, %8455 ], [ @.str.2, %8451 ]
  store i32 %8446, ptr %1901, align 4, !tbaa !5
  %8457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8458 = load i32, ptr @test_count, align 4, !tbaa !5
  %8459 = load i32, ptr %1847, align 4, !tbaa !5
  %8460 = call ptr @s2n_strerror(i32 noundef %8459, ptr noundef nonnull @.str.4) #12
  %8461 = load i32, ptr %1847, align 4, !tbaa !5
  %8462 = call ptr @s2n_strerror_debug(i32 noundef %8461, ptr noundef nonnull @.str.4) #12
  %8463 = load i32, ptr %1901, align 4, !tbaa !5
  %8464 = call ptr @strerror(i32 noundef %8463) #12
  %8465 = load i32, ptr %1901, align 4, !tbaa !5
  %8466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8457, ptr noundef nonnull %.str.5.sink4282, i32 noundef %8458, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 568, ptr noundef %8460, ptr noundef %8462, ptr noundef %8464, i32 noundef %8465) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8467:                                             ; preds = %8438
  %8468 = add nsw i32 %8439, 2
  store i32 %8468, ptr @test_count, align 4, !tbaa !5
  %8469 = call i64 @s2n_send(ptr noundef nonnull %8441, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %51) #12
  %8470 = icmp eq i64 %8469, 12
  br i1 %8470, label %8493, label %8471

8471:                                             ; preds = %8467
  %8472 = load i32, ptr %1901, align 4, !tbaa !5
  %8473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8474 = call i32 @s2n_print_stacktrace(ptr noundef %8473) #12
  %8475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8476 = trunc nuw i8 %8475 to i1
  br i1 %8476, label %8477, label %8481

8477:                                             ; preds = %8471
  %8478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8479 = call i32 @fileno(ptr noundef %8478) #12
  %8480 = call i32 @isatty(i32 noundef %8479) #12
  %.not1102 = icmp eq i32 %8480, 0
  br i1 %.not1102, label %8481, label %8482

8481:                                             ; preds = %8477, %8471
  br label %8482

8482:                                             ; preds = %8477, %8481
  %.str.5.sink4291 = phi ptr [ @.str.5, %8481 ], [ @.str.2, %8477 ]
  store i32 %8472, ptr %1901, align 4, !tbaa !5
  %8483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8484 = load i32, ptr @test_count, align 4, !tbaa !5
  %8485 = load i32, ptr %1847, align 4, !tbaa !5
  %8486 = call ptr @s2n_strerror(i32 noundef %8485, ptr noundef nonnull @.str.4) #12
  %8487 = load i32, ptr %1847, align 4, !tbaa !5
  %8488 = call ptr @s2n_strerror_debug(i32 noundef %8487, ptr noundef nonnull @.str.4) #12
  %8489 = load i32, ptr %1901, align 4, !tbaa !5
  %8490 = call ptr @strerror(i32 noundef %8489) #12
  %8491 = load i32, ptr %1901, align 4, !tbaa !5
  %8492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8483, ptr noundef nonnull %.str.5.sink4291, i32 noundef %8484, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 569, ptr noundef %8486, ptr noundef %8488, ptr noundef %8490, i32 noundef %8491) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8493:                                             ; preds = %8467
  %8494 = load i32, ptr @test_count, align 4, !tbaa !5
  %8495 = add nsw i32 %8494, 1
  store i32 %8495, ptr @test_count, align 4, !tbaa !5
  %8496 = load ptr, ptr %48, align 8, !tbaa !9
  %8497 = call i64 @s2n_send(ptr noundef %8496, ptr noundef null, i64 noundef 0, ptr noundef nonnull %51) #12
  %8498 = icmp eq i64 %8497, 0
  br i1 %8498, label %8521, label %8499

8499:                                             ; preds = %8493
  %8500 = load i32, ptr %1901, align 4, !tbaa !5
  %8501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8502 = call i32 @s2n_print_stacktrace(ptr noundef %8501) #12
  %8503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8504 = trunc nuw i8 %8503 to i1
  br i1 %8504, label %8505, label %8509

8505:                                             ; preds = %8499
  %8506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8507 = call i32 @fileno(ptr noundef %8506) #12
  %8508 = call i32 @isatty(i32 noundef %8507) #12
  %.not1103 = icmp eq i32 %8508, 0
  br i1 %.not1103, label %8509, label %8510

8509:                                             ; preds = %8505, %8499
  br label %8510

8510:                                             ; preds = %8505, %8509
  %.str.5.sink4300 = phi ptr [ @.str.5, %8509 ], [ @.str.2, %8505 ]
  store i32 %8500, ptr %1901, align 4, !tbaa !5
  %8511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8512 = load i32, ptr @test_count, align 4, !tbaa !5
  %8513 = load i32, ptr %1847, align 4, !tbaa !5
  %8514 = call ptr @s2n_strerror(i32 noundef %8513, ptr noundef nonnull @.str.4) #12
  %8515 = load i32, ptr %1847, align 4, !tbaa !5
  %8516 = call ptr @s2n_strerror_debug(i32 noundef %8515, ptr noundef nonnull @.str.4) #12
  %8517 = load i32, ptr %1901, align 4, !tbaa !5
  %8518 = call ptr @strerror(i32 noundef %8517) #12
  %8519 = load i32, ptr %1901, align 4, !tbaa !5
  %8520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8511, ptr noundef nonnull %.str.5.sink4300, i32 noundef %8512, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 572, ptr noundef %8514, ptr noundef %8516, ptr noundef %8518, i32 noundef %8519) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8521:                                             ; preds = %8493
  %8522 = load i32, ptr @test_count, align 4, !tbaa !5
  %8523 = add nsw i32 %8522, 1
  store i32 %8523, ptr @test_count, align 4, !tbaa !5
  %8524 = load ptr, ptr %48, align 8, !tbaa !9
  %8525 = call i64 @s2n_send(ptr noundef %8524, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %51) #12
  %8526 = icmp eq i64 %8525, 12
  br i1 %8526, label %8549, label %8527

8527:                                             ; preds = %8521
  %8528 = load i32, ptr %1901, 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
  %.not1104 = icmp eq i32 %8536, 0
  br i1 %.not1104, label %8537, label %8538

8537:                                             ; preds = %8533, %8527
  br label %8538

8538:                                             ; preds = %8533, %8537
  %.str.5.sink4309 = phi ptr [ @.str.5, %8537 ], [ @.str.2, %8533 ]
  store i32 %8528, ptr %1901, 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 %1847, align 4, !tbaa !5
  %8542 = call ptr @s2n_strerror(i32 noundef %8541, ptr noundef nonnull @.str.4) #12
  %8543 = load i32, ptr %1847, align 4, !tbaa !5
  %8544 = call ptr @s2n_strerror_debug(i32 noundef %8543, ptr noundef nonnull @.str.4) #12
  %8545 = load i32, ptr %1901, align 4, !tbaa !5
  %8546 = call ptr @strerror(i32 noundef %8545) #12
  %8547 = load i32, ptr %1901, align 4, !tbaa !5
  %8548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8539, ptr noundef nonnull %.str.5.sink4309, i32 noundef %8540, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 575, ptr noundef %8542, ptr noundef %8544, ptr noundef %8546, i32 noundef %8547) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8549:                                             ; preds = %8521
  %8550 = load i32, ptr @test_count, align 4, !tbaa !5
  %8551 = add nsw i32 %8550, 1
  store i32 %8551, ptr @test_count, align 4, !tbaa !5
  %8552 = load ptr, ptr %48, align 8, !tbaa !9
  %8553 = call i64 @s2n_send(ptr noundef %8552, ptr noundef nonnull %3, i64 noundef 1000, ptr noundef nonnull %51) #12
  %8554 = icmp eq i64 %8553, -1
  br i1 %8554, label %8577, label %8555

8555:                                             ; preds = %8549
  %8556 = load i32, ptr %1901, align 4, !tbaa !5
  %8557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8558 = call i32 @s2n_print_stacktrace(ptr noundef %8557) #12
  %8559 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8560 = trunc nuw i8 %8559 to i1
  br i1 %8560, label %8561, label %8565

8561:                                             ; preds = %8555
  %8562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8563 = call i32 @fileno(ptr noundef %8562) #12
  %8564 = call i32 @isatty(i32 noundef %8563) #12
  %.not1105 = icmp eq i32 %8564, 0
  br i1 %.not1105, label %8565, label %8566

8565:                                             ; preds = %8561, %8555
  br label %8566

8566:                                             ; preds = %8561, %8565
  %.str.5.sink4318 = phi ptr [ @.str.5, %8565 ], [ @.str.2, %8561 ]
  store i32 %8556, ptr %1901, align 4, !tbaa !5
  %8567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8568 = load i32, ptr @test_count, align 4, !tbaa !5
  %8569 = load i32, ptr %1847, align 4, !tbaa !5
  %8570 = call ptr @s2n_strerror(i32 noundef %8569, ptr noundef nonnull @.str.4) #12
  %8571 = load i32, ptr %1847, align 4, !tbaa !5
  %8572 = call ptr @s2n_strerror_debug(i32 noundef %8571, ptr noundef nonnull @.str.4) #12
  %8573 = load i32, ptr %1901, align 4, !tbaa !5
  %8574 = call ptr @strerror(i32 noundef %8573) #12
  %8575 = load i32, ptr %1901, align 4, !tbaa !5
  %8576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8567, ptr noundef nonnull %.str.5.sink4318, i32 noundef %8568, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 579, ptr noundef %8570, ptr noundef %8572, ptr noundef %8574, i32 noundef %8575) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8577:                                             ; preds = %8549
  %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 = load i32, ptr %1847, align 4, !tbaa !5
  %8581 = icmp eq i32 %8580, 335544396
  br i1 %8581, label %8604, label %8582

8582:                                             ; preds = %8577
  %8583 = load i32, ptr %1901, align 4, !tbaa !5
  %8584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8585 = call i32 @s2n_print_stacktrace(ptr noundef %8584) #12
  %8586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8587 = trunc nuw i8 %8586 to i1
  br i1 %8587, label %8588, label %8592

8588:                                             ; preds = %8582
  %8589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8590 = call i32 @fileno(ptr noundef %8589) #12
  %8591 = call i32 @isatty(i32 noundef %8590) #12
  %.not1106 = icmp eq i32 %8591, 0
  br i1 %.not1106, label %8592, label %8593

8592:                                             ; preds = %8588, %8582
  br label %8593

8593:                                             ; preds = %8588, %8592
  %.str.5.sink4327 = phi ptr [ @.str.5, %8592 ], [ @.str.2, %8588 ]
  store i32 %8583, ptr %1901, align 4, !tbaa !5
  %8594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8595 = load i32, ptr @test_count, align 4, !tbaa !5
  %8596 = load i32, ptr %1847, align 4, !tbaa !5
  %8597 = call ptr @s2n_strerror(i32 noundef %8596, ptr noundef nonnull @.str.4) #12
  %8598 = load i32, ptr %1847, align 4, !tbaa !5
  %8599 = call ptr @s2n_strerror_debug(i32 noundef %8598, ptr noundef nonnull @.str.4) #12
  %8600 = load i32, ptr %1901, align 4, !tbaa !5
  %8601 = call ptr @strerror(i32 noundef %8600) #12
  %8602 = load i32, ptr %1901, align 4, !tbaa !5
  %8603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8594, ptr noundef nonnull %.str.5.sink4327, i32 noundef %8595, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 579, ptr noundef %8597, ptr noundef %8599, ptr noundef %8601, i32 noundef %8602) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8604:                                             ; preds = %8577
  %8605 = add nsw i32 %8578, 2
  store i32 %8605, ptr @test_count, align 4, !tbaa !5
  %8606 = call ptr @s2n_strerror_debug(i32 noundef 335544396, ptr noundef nonnull @.str.4) #12
  %8607 = icmp eq ptr %8606, null
  br i1 %8607, label %8608, label %8630

8608:                                             ; preds = %8604
  %8609 = load i32, ptr %1901, align 4, !tbaa !5
  %8610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8611 = call i32 @s2n_print_stacktrace(ptr noundef %8610) #12
  %8612 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8613 = trunc nuw i8 %8612 to i1
  br i1 %8613, label %8614, label %8618

8614:                                             ; preds = %8608
  %8615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8616 = call i32 @fileno(ptr noundef %8615) #12
  %8617 = call i32 @isatty(i32 noundef %8616) #12
  %.not1264 = icmp eq i32 %8617, 0
  br i1 %.not1264, label %8618, label %8619

8618:                                             ; preds = %8614, %8608
  br label %8619

8619:                                             ; preds = %8614, %8618
  %.str.5.sink4336 = phi ptr [ @.str.5, %8618 ], [ @.str.2, %8614 ]
  store i32 %8609, ptr %1901, align 4, !tbaa !5
  %8620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8621 = load i32, ptr @test_count, align 4, !tbaa !5
  %8622 = load i32, ptr %1847, align 4, !tbaa !5
  %8623 = call ptr @s2n_strerror(i32 noundef %8622, ptr noundef nonnull @.str.4) #12
  %8624 = load i32, ptr %1847, align 4, !tbaa !5
  %8625 = call ptr @s2n_strerror_debug(i32 noundef %8624, ptr noundef nonnull @.str.4) #12
  %8626 = load i32, ptr %1901, align 4, !tbaa !5
  %8627 = call ptr @strerror(i32 noundef %8626) #12
  %8628 = load i32, ptr %1901, align 4, !tbaa !5
  %8629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8620, ptr noundef nonnull %.str.5.sink4336, i32 noundef %8621, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 579, ptr noundef %8623, ptr noundef %8625, ptr noundef %8627, i32 noundef %8628) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8630:                                             ; preds = %8604
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %8631 = load i32, ptr @test_count, align 4, !tbaa !5
  %8632 = add nsw i32 %8631, 1
  store i32 %8632, ptr @test_count, align 4, !tbaa !5
  %8633 = load ptr, ptr %48, align 8, !tbaa !9
  %8634 = call i64 @s2n_send(ptr noundef %8633, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %51) #12
  %8635 = icmp eq i64 %8634, 12
  br i1 %8635, label %8658, label %8636

8636:                                             ; preds = %8630
  %8637 = load i32, ptr %1901, align 4, !tbaa !5
  %8638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8639 = call i32 @s2n_print_stacktrace(ptr noundef %8638) #12
  %8640 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8641 = trunc nuw i8 %8640 to i1
  br i1 %8641, label %8642, label %8646

8642:                                             ; preds = %8636
  %8643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8644 = call i32 @fileno(ptr noundef %8643) #12
  %8645 = call i32 @isatty(i32 noundef %8644) #12
  %.not1107 = icmp eq i32 %8645, 0
  br i1 %.not1107, label %8646, label %8647

8646:                                             ; preds = %8642, %8636
  br label %8647

8647:                                             ; preds = %8642, %8646
  %.str.5.sink4345 = phi ptr [ @.str.5, %8646 ], [ @.str.2, %8642 ]
  store i32 %8637, ptr %1901, align 4, !tbaa !5
  %8648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8649 = load i32, ptr @test_count, align 4, !tbaa !5
  %8650 = load i32, ptr %1847, align 4, !tbaa !5
  %8651 = call ptr @s2n_strerror(i32 noundef %8650, ptr noundef nonnull @.str.4) #12
  %8652 = load i32, ptr %1847, align 4, !tbaa !5
  %8653 = call ptr @s2n_strerror_debug(i32 noundef %8652, ptr noundef nonnull @.str.4) #12
  %8654 = load i32, ptr %1901, align 4, !tbaa !5
  %8655 = call ptr @strerror(i32 noundef %8654) #12
  %8656 = load i32, ptr %1901, align 4, !tbaa !5
  %8657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8648, ptr noundef nonnull %.str.5.sink4345, i32 noundef %8649, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 582, ptr noundef %8651, ptr noundef %8653, ptr noundef %8655, i32 noundef %8656) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8658:                                             ; preds = %8630
  %8659 = load i32, ptr @test_count, align 4, !tbaa !5
  %8660 = add nsw i32 %8659, 1
  store i32 %8660, ptr @test_count, align 4, !tbaa !5
  %8661 = load ptr, ptr %48, align 8, !tbaa !9
  %8662 = call i32 @s2n_connection_set_end_of_early_data(ptr noundef %8661) #12
  %8663 = icmp eq i32 %8662, -1
  br i1 %8663, label %8664, label %8686

8664:                                             ; preds = %8658
  %8665 = load i32, ptr %1901, align 4, !tbaa !5
  %8666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8667 = call i32 @s2n_print_stacktrace(ptr noundef %8666) #12
  %8668 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8669 = trunc nuw i8 %8668 to i1
  br i1 %8669, label %8670, label %8674

8670:                                             ; preds = %8664
  %8671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8672 = call i32 @fileno(ptr noundef %8671) #12
  %8673 = call i32 @isatty(i32 noundef %8672) #12
  %.not1263 = icmp eq i32 %8673, 0
  br i1 %.not1263, label %8674, label %8675

8674:                                             ; preds = %8670, %8664
  br label %8675

8675:                                             ; preds = %8670, %8674
  %.str.5.sink4354 = phi ptr [ @.str.5, %8674 ], [ @.str.2, %8670 ]
  store i32 %8665, ptr %1901, align 4, !tbaa !5
  %8676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8677 = load i32, ptr @test_count, align 4, !tbaa !5
  %8678 = load i32, ptr %1847, align 4, !tbaa !5
  %8679 = call ptr @s2n_strerror(i32 noundef %8678, ptr noundef nonnull @.str.4) #12
  %8680 = load i32, ptr %1847, align 4, !tbaa !5
  %8681 = call ptr @s2n_strerror_debug(i32 noundef %8680, ptr noundef nonnull @.str.4) #12
  %8682 = load i32, ptr %1901, align 4, !tbaa !5
  %8683 = call ptr @strerror(i32 noundef %8682) #12
  %8684 = load i32, ptr %1901, align 4, !tbaa !5
  %8685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8676, ptr noundef nonnull %.str.5.sink4354, i32 noundef %8677, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 585, ptr noundef %8679, ptr noundef %8681, ptr noundef %8683, i32 noundef %8684) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8686:                                             ; preds = %8658
  %8687 = load i32, ptr @test_count, align 4, !tbaa !5
  %8688 = add nsw i32 %8687, 1
  store i32 %8688, ptr @test_count, align 4, !tbaa !5
  %8689 = load ptr, ptr %48, align 8, !tbaa !9
  %8690 = call i64 @s2n_send(ptr noundef %8689, ptr noundef null, i64 noundef 0, ptr noundef nonnull %51) #12
  %8691 = icmp eq i64 %8690, -1
  br i1 %8691, label %8714, label %8692

8692:                                             ; preds = %8686
  %8693 = load i32, ptr %1901, 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
  %.not1108 = icmp eq i32 %8701, 0
  br i1 %.not1108, label %8702, label %8703

8702:                                             ; preds = %8698, %8692
  br label %8703

8703:                                             ; preds = %8698, %8702
  %.str.5.sink4363 = phi ptr [ @.str.5, %8702 ], [ @.str.2, %8698 ]
  store i32 %8693, ptr %1901, 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 %1847, align 4, !tbaa !5
  %8707 = call ptr @s2n_strerror(i32 noundef %8706, ptr noundef nonnull @.str.4) #12
  %8708 = load i32, ptr %1847, align 4, !tbaa !5
  %8709 = call ptr @s2n_strerror_debug(i32 noundef %8708, ptr noundef nonnull @.str.4) #12
  %8710 = load i32, ptr %1901, align 4, !tbaa !5
  %8711 = call ptr @strerror(i32 noundef %8710) #12
  %8712 = load i32, ptr %1901, align 4, !tbaa !5
  %8713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8704, ptr noundef nonnull %.str.5.sink4363, i32 noundef %8705, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 586, ptr noundef %8707, ptr noundef %8709, ptr noundef %8711, i32 noundef %8712) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8714:                                             ; preds = %8686
  %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 i32, ptr %1847, align 4, !tbaa !5
  %8718 = icmp eq i32 %8717, 469762113
  br i1 %8718, label %8741, label %8719

8719:                                             ; preds = %8714
  %8720 = load i32, ptr %1901, align 4, !tbaa !5
  %8721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8722 = call i32 @s2n_print_stacktrace(ptr noundef %8721) #12
  %8723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8724 = trunc nuw i8 %8723 to i1
  br i1 %8724, label %8725, label %8729

8725:                                             ; preds = %8719
  %8726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8727 = call i32 @fileno(ptr noundef %8726) #12
  %8728 = call i32 @isatty(i32 noundef %8727) #12
  %.not1109 = icmp eq i32 %8728, 0
  br i1 %.not1109, label %8729, label %8730

8729:                                             ; preds = %8725, %8719
  br label %8730

8730:                                             ; preds = %8725, %8729
  %.str.5.sink4372 = phi ptr [ @.str.5, %8729 ], [ @.str.2, %8725 ]
  store i32 %8720, ptr %1901, align 4, !tbaa !5
  %8731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8732 = load i32, ptr @test_count, align 4, !tbaa !5
  %8733 = load i32, ptr %1847, align 4, !tbaa !5
  %8734 = call ptr @s2n_strerror(i32 noundef %8733, ptr noundef nonnull @.str.4) #12
  %8735 = load i32, ptr %1847, align 4, !tbaa !5
  %8736 = call ptr @s2n_strerror_debug(i32 noundef %8735, ptr noundef nonnull @.str.4) #12
  %8737 = load i32, ptr %1901, align 4, !tbaa !5
  %8738 = call ptr @strerror(i32 noundef %8737) #12
  %8739 = load i32, ptr %1901, align 4, !tbaa !5
  %8740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8731, ptr noundef nonnull %.str.5.sink4372, i32 noundef %8732, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 586, ptr noundef %8734, ptr noundef %8736, ptr noundef %8738, i32 noundef %8739) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8741:                                             ; preds = %8714
  %8742 = add nsw i32 %8715, 2
  store i32 %8742, ptr @test_count, align 4, !tbaa !5
  %8743 = call ptr @s2n_strerror_debug(i32 noundef 469762113, ptr noundef nonnull @.str.4) #12
  %8744 = icmp eq ptr %8743, null
  br i1 %8744, label %8745, label %8767

8745:                                             ; preds = %8741
  %8746 = load i32, ptr %1901, align 4, !tbaa !5
  %8747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8748 = call i32 @s2n_print_stacktrace(ptr noundef %8747) #12
  %8749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8750 = trunc nuw i8 %8749 to i1
  br i1 %8750, label %8751, label %8755

8751:                                             ; preds = %8745
  %8752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8753 = call i32 @fileno(ptr noundef %8752) #12
  %8754 = call i32 @isatty(i32 noundef %8753) #12
  %.not1262 = icmp eq i32 %8754, 0
  br i1 %.not1262, label %8755, label %8756

8755:                                             ; preds = %8751, %8745
  br label %8756

8756:                                             ; preds = %8751, %8755
  %.str.5.sink4381 = phi ptr [ @.str.5, %8755 ], [ @.str.2, %8751 ]
  store i32 %8746, ptr %1901, align 4, !tbaa !5
  %8757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8758 = load i32, ptr @test_count, align 4, !tbaa !5
  %8759 = load i32, ptr %1847, align 4, !tbaa !5
  %8760 = call ptr @s2n_strerror(i32 noundef %8759, ptr noundef nonnull @.str.4) #12
  %8761 = load i32, ptr %1847, align 4, !tbaa !5
  %8762 = call ptr @s2n_strerror_debug(i32 noundef %8761, ptr noundef nonnull @.str.4) #12
  %8763 = load i32, ptr %1901, align 4, !tbaa !5
  %8764 = call ptr @strerror(i32 noundef %8763) #12
  %8765 = load i32, ptr %1901, align 4, !tbaa !5
  %8766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8757, ptr noundef nonnull %.str.5.sink4381, i32 noundef %8758, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 586, ptr noundef %8760, ptr noundef %8762, ptr noundef %8764, i32 noundef %8765) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8767:                                             ; preds = %8741
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %8768 = load i32, ptr @test_count, align 4, !tbaa !5
  %8769 = add nsw i32 %8768, 1
  store i32 %8769, ptr @test_count, align 4, !tbaa !5
  %8770 = load ptr, ptr %49, align 8, !tbaa !9
  %8771 = load ptr, ptr %48, align 8, !tbaa !9
  %8772 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %8770, ptr noundef %8771, i32 noundef 13) #12
  %8773 = call zeroext i1 @s2n_result_is_error(i32 %8772)
  br i1 %8773, label %8796, label %8774

8774:                                             ; preds = %8767
  %8775 = load i32, ptr %1901, align 4, !tbaa !5
  %8776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8777 = call i32 @s2n_print_stacktrace(ptr noundef %8776) #12
  %8778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8779 = trunc nuw i8 %8778 to i1
  br i1 %8779, label %8780, label %8784

8780:                                             ; preds = %8774
  %8781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8782 = call i32 @fileno(ptr noundef %8781) #12
  %8783 = call i32 @isatty(i32 noundef %8782) #12
  %.not1110 = icmp eq i32 %8783, 0
  br i1 %.not1110, label %8784, label %8785

8784:                                             ; preds = %8780, %8774
  br label %8785

8785:                                             ; preds = %8780, %8784
  %.str.5.sink4390 = phi ptr [ @.str.5, %8784 ], [ @.str.2, %8780 ]
  store i32 %8775, ptr %1901, align 4, !tbaa !5
  %8786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8787 = load i32, ptr @test_count, align 4, !tbaa !5
  %8788 = load i32, ptr %1847, align 4, !tbaa !5
  %8789 = call ptr @s2n_strerror(i32 noundef %8788, ptr noundef nonnull @.str.4) #12
  %8790 = load i32, ptr %1847, align 4, !tbaa !5
  %8791 = call ptr @s2n_strerror_debug(i32 noundef %8790, ptr noundef nonnull @.str.4) #12
  %8792 = load i32, ptr %1901, align 4, !tbaa !5
  %8793 = call ptr @strerror(i32 noundef %8792) #12
  %8794 = load i32, ptr %1901, align 4, !tbaa !5
  %8795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8786, ptr noundef nonnull %.str.5.sink4390, i32 noundef %8787, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 590, ptr noundef %8789, ptr noundef %8791, ptr noundef %8793, i32 noundef %8794) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8796:                                             ; preds = %8767
  %8797 = load i32, ptr @test_count, align 4, !tbaa !5
  %8798 = add nsw i32 %8797, 1
  store i32 %8798, ptr @test_count, align 4, !tbaa !5
  %8799 = load i32, ptr %1847, align 4, !tbaa !5
  %8800 = icmp eq i32 %8799, 201326594
  br i1 %8800, label %8823, label %8801

8801:                                             ; preds = %8796
  %8802 = load i32, ptr %1901, align 4, !tbaa !5
  %8803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8804 = call i32 @s2n_print_stacktrace(ptr noundef %8803) #12
  %8805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8806 = trunc nuw i8 %8805 to i1
  br i1 %8806, label %8807, label %8811

8807:                                             ; preds = %8801
  %8808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8809 = call i32 @fileno(ptr noundef %8808) #12
  %8810 = call i32 @isatty(i32 noundef %8809) #12
  %.not1111 = icmp eq i32 %8810, 0
  br i1 %.not1111, label %8811, label %8812

8811:                                             ; preds = %8807, %8801
  br label %8812

8812:                                             ; preds = %8807, %8811
  %.str.5.sink4399 = phi ptr [ @.str.5, %8811 ], [ @.str.2, %8807 ]
  store i32 %8802, ptr %1901, align 4, !tbaa !5
  %8813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8814 = load i32, ptr @test_count, align 4, !tbaa !5
  %8815 = load i32, ptr %1847, align 4, !tbaa !5
  %8816 = call ptr @s2n_strerror(i32 noundef %8815, ptr noundef nonnull @.str.4) #12
  %8817 = load i32, ptr %1847, align 4, !tbaa !5
  %8818 = call ptr @s2n_strerror_debug(i32 noundef %8817, ptr noundef nonnull @.str.4) #12
  %8819 = load i32, ptr %1901, align 4, !tbaa !5
  %8820 = call ptr @strerror(i32 noundef %8819) #12
  %8821 = load i32, ptr %1901, align 4, !tbaa !5
  %8822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8813, ptr noundef nonnull %.str.5.sink4399, i32 noundef %8814, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 590, ptr noundef %8816, ptr noundef %8818, ptr noundef %8820, i32 noundef %8821) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8823:                                             ; preds = %8796
  %8824 = add nsw i32 %8797, 2
  store i32 %8824, ptr @test_count, align 4, !tbaa !5
  %8825 = call ptr @s2n_strerror_debug(i32 noundef 201326594, ptr noundef nonnull @.str.4) #12
  %8826 = icmp eq ptr %8825, null
  br i1 %8826, label %8827, label %8849

8827:                                             ; preds = %8823
  %8828 = load i32, ptr %1901, align 4, !tbaa !5
  %8829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8830 = call i32 @s2n_print_stacktrace(ptr noundef %8829) #12
  %8831 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8832 = trunc nuw i8 %8831 to i1
  br i1 %8832, label %8833, label %8837

8833:                                             ; preds = %8827
  %8834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8835 = call i32 @fileno(ptr noundef %8834) #12
  %8836 = call i32 @isatty(i32 noundef %8835) #12
  %.not1261 = icmp eq i32 %8836, 0
  br i1 %.not1261, label %8837, label %8838

8837:                                             ; preds = %8833, %8827
  br label %8838

8838:                                             ; preds = %8833, %8837
  %.str.5.sink4408 = phi ptr [ @.str.5, %8837 ], [ @.str.2, %8833 ]
  store i32 %8828, ptr %1901, align 4, !tbaa !5
  %8839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8840 = load i32, ptr @test_count, align 4, !tbaa !5
  %8841 = load i32, ptr %1847, align 4, !tbaa !5
  %8842 = call ptr @s2n_strerror(i32 noundef %8841, ptr noundef nonnull @.str.4) #12
  %8843 = load i32, ptr %1847, align 4, !tbaa !5
  %8844 = call ptr @s2n_strerror_debug(i32 noundef %8843, ptr noundef nonnull @.str.4) #12
  %8845 = load i32, ptr %1901, align 4, !tbaa !5
  %8846 = call ptr @strerror(i32 noundef %8845) #12
  %8847 = load i32, ptr %1901, align 4, !tbaa !5
  %8848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8839, ptr noundef nonnull %.str.5.sink4408, i32 noundef %8840, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 590, ptr noundef %8842, ptr noundef %8844, ptr noundef %8846, i32 noundef %8847) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8849:                                             ; preds = %8823
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %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 %48, align 8, !tbaa !9
  %8853 = call i32 @s2n_conn_get_current_message_type(ptr noundef %8852) #12
  %8854 = icmp eq i32 %8853, 13
  br i1 %8854, label %8877, label %8855

8855:                                             ; preds = %8849
  %8856 = load i32, ptr %1901, align 4, !tbaa !5
  %8857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8858 = call i32 @s2n_print_stacktrace(ptr noundef %8857) #12
  %8859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8860 = trunc nuw i8 %8859 to i1
  br i1 %8860, label %8861, label %8865

8861:                                             ; preds = %8855
  %8862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8863 = call i32 @fileno(ptr noundef %8862) #12
  %8864 = call i32 @isatty(i32 noundef %8863) #12
  %.not1112 = icmp eq i32 %8864, 0
  br i1 %.not1112, label %8865, label %8866

8865:                                             ; preds = %8861, %8855
  br label %8866

8866:                                             ; preds = %8861, %8865
  %.str.5.sink4417 = phi ptr [ @.str.5, %8865 ], [ @.str.2, %8861 ]
  store i32 %8856, ptr %1901, align 4, !tbaa !5
  %8867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8868 = load i32, ptr @test_count, align 4, !tbaa !5
  %8869 = load i32, ptr %1847, align 4, !tbaa !5
  %8870 = call ptr @s2n_strerror(i32 noundef %8869, ptr noundef nonnull @.str.4) #12
  %8871 = load i32, ptr %1847, align 4, !tbaa !5
  %8872 = call ptr @s2n_strerror_debug(i32 noundef %8871, ptr noundef nonnull @.str.4) #12
  %8873 = load i32, ptr %1901, align 4, !tbaa !5
  %8874 = call ptr @strerror(i32 noundef %8873) #12
  %8875 = load i32, ptr %1901, align 4, !tbaa !5
  %8876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8867, ptr noundef nonnull %.str.5.sink4417, i32 noundef %8868, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.1, i32 noundef 591, ptr noundef %8870, ptr noundef %8872, ptr noundef %8874, i32 noundef %8875) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8877:                                             ; preds = %8849
  %8878 = load i32, ptr @test_count, align 4, !tbaa !5
  %8879 = add nsw i32 %8878, 1
  store i32 %8879, ptr @test_count, align 4, !tbaa !5
  %8880 = load ptr, ptr %48, align 8, !tbaa !9
  %8881 = getelementptr inbounds i8, ptr %8880, i64 4088
  %8882 = load i32, ptr %8881, align 8, !tbaa !17
  %8883 = icmp eq i32 %8882, 5
  br i1 %8883, label %8906, label %8884

8884:                                             ; preds = %8877
  %8885 = load i32, ptr %1901, align 4, !tbaa !5
  %8886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8887 = call i32 @s2n_print_stacktrace(ptr noundef %8886) #12
  %8888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8889 = trunc nuw i8 %8888 to i1
  br i1 %8889, label %8890, label %8894

8890:                                             ; preds = %8884
  %8891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8892 = call i32 @fileno(ptr noundef %8891) #12
  %8893 = call i32 @isatty(i32 noundef %8892) #12
  %.not1113 = icmp eq i32 %8893, 0
  br i1 %.not1113, label %8894, label %8895

8894:                                             ; preds = %8890, %8884
  br label %8895

8895:                                             ; preds = %8890, %8894
  %.str.5.sink4426 = phi ptr [ @.str.5, %8894 ], [ @.str.2, %8890 ]
  store i32 %8885, ptr %1901, align 4, !tbaa !5
  %8896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8897 = load i32, ptr @test_count, align 4, !tbaa !5
  %8898 = load i32, ptr %1847, align 4, !tbaa !5
  %8899 = call ptr @s2n_strerror(i32 noundef %8898, ptr noundef nonnull @.str.4) #12
  %8900 = load i32, ptr %1847, align 4, !tbaa !5
  %8901 = call ptr @s2n_strerror_debug(i32 noundef %8900, ptr noundef nonnull @.str.4) #12
  %8902 = load i32, ptr %1901, align 4, !tbaa !5
  %8903 = call ptr @strerror(i32 noundef %8902) #12
  %8904 = load i32, ptr %1901, align 4, !tbaa !5
  %8905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8896, ptr noundef nonnull %.str.5.sink4426, i32 noundef %8897, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.1, i32 noundef 594, ptr noundef %8899, ptr noundef %8901, ptr noundef %8903, i32 noundef %8904) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8906:                                             ; preds = %8877
  %8907 = add nsw i32 %8878, 2
  store i32 %8907, ptr @test_count, align 4, !tbaa !5
  %8908 = call i64 @s2n_send(ptr noundef nonnull %8880, ptr noundef null, i64 noundef 0, ptr noundef nonnull %51) #12
  %8909 = icmp eq i64 %8908, -1
  br i1 %8909, label %8932, label %8910

8910:                                             ; preds = %8906
  %8911 = load i32, ptr %1901, align 4, !tbaa !5
  %8912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8913 = call i32 @s2n_print_stacktrace(ptr noundef %8912) #12
  %8914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8915 = trunc nuw i8 %8914 to i1
  br i1 %8915, label %8916, label %8920

8916:                                             ; preds = %8910
  %8917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8918 = call i32 @fileno(ptr noundef %8917) #12
  %8919 = call i32 @isatty(i32 noundef %8918) #12
  %.not1114 = icmp eq i32 %8919, 0
  br i1 %.not1114, label %8920, label %8921

8920:                                             ; preds = %8916, %8910
  br label %8921

8921:                                             ; preds = %8916, %8920
  %.str.5.sink4435 = phi ptr [ @.str.5, %8920 ], [ @.str.2, %8916 ]
  store i32 %8911, ptr %1901, align 4, !tbaa !5
  %8922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8923 = load i32, ptr @test_count, align 4, !tbaa !5
  %8924 = load i32, ptr %1847, align 4, !tbaa !5
  %8925 = call ptr @s2n_strerror(i32 noundef %8924, ptr noundef nonnull @.str.4) #12
  %8926 = load i32, ptr %1847, align 4, !tbaa !5
  %8927 = call ptr @s2n_strerror_debug(i32 noundef %8926, ptr noundef nonnull @.str.4) #12
  %8928 = load i32, ptr %1901, align 4, !tbaa !5
  %8929 = call ptr @strerror(i32 noundef %8928) #12
  %8930 = load i32, ptr %1901, align 4, !tbaa !5
  %8931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8922, ptr noundef nonnull %.str.5.sink4435, i32 noundef %8923, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 595, ptr noundef %8925, ptr noundef %8927, ptr noundef %8929, i32 noundef %8930) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8932:                                             ; preds = %8906
  %8933 = load i32, ptr @test_count, align 4, !tbaa !5
  %8934 = add nsw i32 %8933, 1
  store i32 %8934, ptr @test_count, align 4, !tbaa !5
  %8935 = load i32, ptr %1847, align 4, !tbaa !5
  %8936 = icmp eq i32 %8935, 469762113
  br i1 %8936, label %8959, label %8937

8937:                                             ; preds = %8932
  %8938 = load i32, ptr %1901, align 4, !tbaa !5
  %8939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8940 = call i32 @s2n_print_stacktrace(ptr noundef %8939) #12
  %8941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8942 = trunc nuw i8 %8941 to i1
  br i1 %8942, label %8943, label %8947

8943:                                             ; preds = %8937
  %8944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8945 = call i32 @fileno(ptr noundef %8944) #12
  %8946 = call i32 @isatty(i32 noundef %8945) #12
  %.not1115 = icmp eq i32 %8946, 0
  br i1 %.not1115, label %8947, label %8948

8947:                                             ; preds = %8943, %8937
  br label %8948

8948:                                             ; preds = %8943, %8947
  %.str.5.sink4444 = phi ptr [ @.str.5, %8947 ], [ @.str.2, %8943 ]
  store i32 %8938, ptr %1901, align 4, !tbaa !5
  %8949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8950 = load i32, ptr @test_count, align 4, !tbaa !5
  %8951 = load i32, ptr %1847, align 4, !tbaa !5
  %8952 = call ptr @s2n_strerror(i32 noundef %8951, ptr noundef nonnull @.str.4) #12
  %8953 = load i32, ptr %1847, align 4, !tbaa !5
  %8954 = call ptr @s2n_strerror_debug(i32 noundef %8953, ptr noundef nonnull @.str.4) #12
  %8955 = load i32, ptr %1901, align 4, !tbaa !5
  %8956 = call ptr @strerror(i32 noundef %8955) #12
  %8957 = load i32, ptr %1901, align 4, !tbaa !5
  %8958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8949, ptr noundef nonnull %.str.5.sink4444, i32 noundef %8950, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 595, ptr noundef %8952, ptr noundef %8954, ptr noundef %8956, i32 noundef %8957) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8959:                                             ; preds = %8932
  %8960 = add nsw i32 %8933, 2
  store i32 %8960, ptr @test_count, align 4, !tbaa !5
  %8961 = call ptr @s2n_strerror_debug(i32 noundef 469762113, ptr noundef nonnull @.str.4) #12
  %8962 = icmp eq ptr %8961, null
  br i1 %8962, label %8963, label %8985

8963:                                             ; preds = %8959
  %8964 = load i32, ptr %1901, align 4, !tbaa !5
  %8965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8966 = call i32 @s2n_print_stacktrace(ptr noundef %8965) #12
  %8967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8968 = trunc nuw i8 %8967 to i1
  br i1 %8968, label %8969, label %8973

8969:                                             ; preds = %8963
  %8970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8971 = call i32 @fileno(ptr noundef %8970) #12
  %8972 = call i32 @isatty(i32 noundef %8971) #12
  %.not1260 = icmp eq i32 %8972, 0
  br i1 %.not1260, label %8973, label %8974

8973:                                             ; preds = %8969, %8963
  br label %8974

8974:                                             ; preds = %8969, %8973
  %.str.5.sink4453 = phi ptr [ @.str.5, %8973 ], [ @.str.2, %8969 ]
  store i32 %8964, ptr %1901, align 4, !tbaa !5
  %8975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8976 = load i32, ptr @test_count, align 4, !tbaa !5
  %8977 = load i32, ptr %1847, align 4, !tbaa !5
  %8978 = call ptr @s2n_strerror(i32 noundef %8977, ptr noundef nonnull @.str.4) #12
  %8979 = load i32, ptr %1847, align 4, !tbaa !5
  %8980 = call ptr @s2n_strerror_debug(i32 noundef %8979, ptr noundef nonnull @.str.4) #12
  %8981 = load i32, ptr %1901, align 4, !tbaa !5
  %8982 = call ptr @strerror(i32 noundef %8981) #12
  %8983 = load i32, ptr %1901, align 4, !tbaa !5
  %8984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8975, ptr noundef nonnull %.str.5.sink4453, i32 noundef %8976, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 595, ptr noundef %8978, ptr noundef %8980, ptr noundef %8982, i32 noundef %8983) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8985:                                             ; preds = %8959
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %8986 = load i32, ptr @test_count, align 4, !tbaa !5
  %8987 = add nsw i32 %8986, 1
  store i32 %8987, ptr @test_count, align 4, !tbaa !5
  %8988 = load ptr, ptr %48, align 8, !tbaa !9
  %8989 = call i32 @s2n_connection_free(ptr noundef %8988) #12
  %8990 = icmp eq i32 %8989, -1
  br i1 %8990, label %8991, label %9013

8991:                                             ; preds = %8985
  %8992 = load i32, ptr %1901, align 4, !tbaa !5
  %8993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8994 = call i32 @s2n_print_stacktrace(ptr noundef %8993) #12
  %8995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8996 = trunc nuw i8 %8995 to i1
  br i1 %8996, label %8997, label %9001

8997:                                             ; preds = %8991
  %8998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8999 = call i32 @fileno(ptr noundef %8998) #12
  %9000 = call i32 @isatty(i32 noundef %8999) #12
  %.not1259 = icmp eq i32 %9000, 0
  br i1 %.not1259, label %9001, label %9002

9001:                                             ; preds = %8997, %8991
  br label %9002

9002:                                             ; preds = %8997, %9001
  %.str.5.sink4462 = phi ptr [ @.str.5, %9001 ], [ @.str.2, %8997 ]
  store i32 %8992, ptr %1901, align 4, !tbaa !5
  %9003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9004 = load i32, ptr @test_count, align 4, !tbaa !5
  %9005 = load i32, ptr %1847, align 4, !tbaa !5
  %9006 = call ptr @s2n_strerror(i32 noundef %9005, ptr noundef nonnull @.str.4) #12
  %9007 = load i32, ptr %1847, align 4, !tbaa !5
  %9008 = call ptr @s2n_strerror_debug(i32 noundef %9007, ptr noundef nonnull @.str.4) #12
  %9009 = load i32, ptr %1901, align 4, !tbaa !5
  %9010 = call ptr @strerror(i32 noundef %9009) #12
  %9011 = load i32, ptr %1901, align 4, !tbaa !5
  %9012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9003, ptr noundef nonnull %.str.5.sink4462, i32 noundef %9004, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 597, ptr noundef %9006, ptr noundef %9008, ptr noundef %9010, i32 noundef %9011) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9013:                                             ; preds = %8985
  %9014 = load i32, ptr @test_count, align 4, !tbaa !5
  %9015 = add nsw i32 %9014, 1
  store i32 %9015, ptr @test_count, align 4, !tbaa !5
  %9016 = load ptr, ptr %49, align 8, !tbaa !9
  %9017 = call i32 @s2n_connection_free(ptr noundef %9016) #12
  %9018 = icmp eq i32 %9017, -1
  br i1 %9018, label %9019, label %9041

9019:                                             ; preds = %9013
  %9020 = load i32, ptr %1901, align 4, !tbaa !5
  %9021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9022 = call i32 @s2n_print_stacktrace(ptr noundef %9021) #12
  %9023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9024 = trunc nuw i8 %9023 to i1
  br i1 %9024, label %9025, label %9029

9025:                                             ; preds = %9019
  %9026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9027 = call i32 @fileno(ptr noundef %9026) #12
  %9028 = call i32 @isatty(i32 noundef %9027) #12
  %.not1258 = icmp eq i32 %9028, 0
  br i1 %.not1258, label %9029, label %9030

9029:                                             ; preds = %9025, %9019
  br label %9030

9030:                                             ; preds = %9025, %9029
  %.str.5.sink4471 = phi ptr [ @.str.5, %9029 ], [ @.str.2, %9025 ]
  store i32 %9020, ptr %1901, align 4, !tbaa !5
  %9031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9032 = load i32, ptr @test_count, align 4, !tbaa !5
  %9033 = load i32, ptr %1847, align 4, !tbaa !5
  %9034 = call ptr @s2n_strerror(i32 noundef %9033, ptr noundef nonnull @.str.4) #12
  %9035 = load i32, ptr %1847, align 4, !tbaa !5
  %9036 = call ptr @s2n_strerror_debug(i32 noundef %9035, ptr noundef nonnull @.str.4) #12
  %9037 = load i32, ptr %1901, align 4, !tbaa !5
  %9038 = call ptr @strerror(i32 noundef %9037) #12
  %9039 = load i32, ptr %1901, align 4, !tbaa !5
  %9040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9031, ptr noundef nonnull %.str.5.sink4471, i32 noundef %9032, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 598, ptr noundef %9034, ptr noundef %9036, ptr noundef %9038, i32 noundef %9039) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9041:                                             ; preds = %9013
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #12
  %9042 = call i32 @s2n_io_pair_close(ptr noundef nonnull %50) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %52) #12
  store ptr null, ptr %52, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #12
  store ptr null, ptr %53, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #12
  store i64 0, ptr %54, align 8
  %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 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %52, ptr noundef nonnull %53, ptr noundef nonnull %54)
  %9046 = call zeroext i1 @s2n_result_is_ok(i32 %9045)
  br i1 %9046, label %9069, label %9047

9047:                                             ; preds = %9041
  %9048 = load i32, ptr %1901, align 4, !tbaa !5
  %9049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9050 = call i32 @s2n_print_stacktrace(ptr noundef %9049) #12
  %9051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9052 = trunc nuw i8 %9051 to i1
  br i1 %9052, label %9053, label %9057

9053:                                             ; preds = %9047
  %9054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9055 = call i32 @fileno(ptr noundef %9054) #12
  %9056 = call i32 @isatty(i32 noundef %9055) #12
  %.not1116 = icmp eq i32 %9056, 0
  br i1 %.not1116, label %9057, label %9058

9057:                                             ; preds = %9053, %9047
  br label %9058

9058:                                             ; preds = %9053, %9057
  %.str.5.sink4480 = phi ptr [ @.str.5, %9057 ], [ @.str.2, %9053 ]
  store i32 %9048, ptr %1901, align 4, !tbaa !5
  %9059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9060 = load i32, ptr @test_count, align 4, !tbaa !5
  %9061 = load i32, ptr %1847, align 4, !tbaa !5
  %9062 = call ptr @s2n_strerror(i32 noundef %9061, ptr noundef nonnull @.str.4) #12
  %9063 = load i32, ptr %1847, align 4, !tbaa !5
  %9064 = call ptr @s2n_strerror_debug(i32 noundef %9063, ptr noundef nonnull @.str.4) #12
  %9065 = load i32, ptr %1901, align 4, !tbaa !5
  %9066 = call ptr @strerror(i32 noundef %9065) #12
  %9067 = load i32, ptr %1901, align 4, !tbaa !5
  %9068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9059, ptr noundef nonnull %.str.5.sink4480, i32 noundef %9060, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 605, ptr noundef %9062, ptr noundef %9064, ptr noundef %9066, i32 noundef %9067) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9069:                                             ; preds = %9041
  %9070 = load i32, ptr @test_count, align 4, !tbaa !5
  %9071 = add nsw i32 %9070, 1
  store i32 %9071, ptr @test_count, align 4, !tbaa !5
  %9072 = load ptr, ptr %52, align 8, !tbaa !9
  %9073 = call i32 @s2n_connection_append_psk(ptr noundef %9072, ptr noundef %6167) #12
  %9074 = icmp eq i32 %9073, -1
  br i1 %9074, label %9075, label %9097

9075:                                             ; preds = %9069
  %9076 = load i32, ptr %1901, align 4, !tbaa !5
  %9077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9078 = call i32 @s2n_print_stacktrace(ptr noundef %9077) #12
  %9079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9080 = trunc nuw i8 %9079 to i1
  br i1 %9080, label %9081, label %9085

9081:                                             ; preds = %9075
  %9082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9083 = call i32 @fileno(ptr noundef %9082) #12
  %9084 = call i32 @isatty(i32 noundef %9083) #12
  %.not1257 = icmp eq i32 %9084, 0
  br i1 %.not1257, label %9085, label %9086

9085:                                             ; preds = %9081, %9075
  br label %9086

9086:                                             ; preds = %9081, %9085
  %.str.5.sink4489 = phi ptr [ @.str.5, %9085 ], [ @.str.2, %9081 ]
  store i32 %9076, ptr %1901, align 4, !tbaa !5
  %9087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9088 = load i32, ptr @test_count, align 4, !tbaa !5
  %9089 = load i32, ptr %1847, align 4, !tbaa !5
  %9090 = call ptr @s2n_strerror(i32 noundef %9089, ptr noundef nonnull @.str.4) #12
  %9091 = load i32, ptr %1847, align 4, !tbaa !5
  %9092 = call ptr @s2n_strerror_debug(i32 noundef %9091, ptr noundef nonnull @.str.4) #12
  %9093 = load i32, ptr %1901, align 4, !tbaa !5
  %9094 = call ptr @strerror(i32 noundef %9093) #12
  %9095 = load i32, ptr %1901, align 4, !tbaa !5
  %9096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9087, ptr noundef nonnull %.str.5.sink4489, i32 noundef %9088, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 607, ptr noundef %9090, ptr noundef %9092, ptr noundef %9094, i32 noundef %9095) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9097:                                             ; preds = %9069
  %9098 = load i32, ptr @test_count, align 4, !tbaa !5
  %9099 = add nsw i32 %9098, 1
  store i32 %9099, ptr @test_count, align 4, !tbaa !5
  %9100 = load ptr, ptr %53, align 8, !tbaa !9
  %9101 = call i32 @s2n_connection_append_psk(ptr noundef %9100, ptr noundef %6167) #12
  %9102 = icmp eq i32 %9101, -1
  br i1 %9102, label %9103, label %9125

9103:                                             ; preds = %9097
  %9104 = load i32, ptr %1901, align 4, !tbaa !5
  %9105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9106 = call i32 @s2n_print_stacktrace(ptr noundef %9105) #12
  %9107 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9108 = trunc nuw i8 %9107 to i1
  br i1 %9108, label %9109, label %9113

9109:                                             ; preds = %9103
  %9110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9111 = call i32 @fileno(ptr noundef %9110) #12
  %9112 = call i32 @isatty(i32 noundef %9111) #12
  %.not1256 = icmp eq i32 %9112, 0
  br i1 %.not1256, label %9113, label %9114

9113:                                             ; preds = %9109, %9103
  br label %9114

9114:                                             ; preds = %9109, %9113
  %.str.5.sink4498 = phi ptr [ @.str.5, %9113 ], [ @.str.2, %9109 ]
  store i32 %9104, ptr %1901, align 4, !tbaa !5
  %9115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9116 = load i32, ptr @test_count, align 4, !tbaa !5
  %9117 = load i32, ptr %1847, align 4, !tbaa !5
  %9118 = call ptr @s2n_strerror(i32 noundef %9117, ptr noundef nonnull @.str.4) #12
  %9119 = load i32, ptr %1847, align 4, !tbaa !5
  %9120 = call ptr @s2n_strerror_debug(i32 noundef %9119, ptr noundef nonnull @.str.4) #12
  %9121 = load i32, ptr %1901, align 4, !tbaa !5
  %9122 = call ptr @strerror(i32 noundef %9121) #12
  %9123 = load i32, ptr %1901, align 4, !tbaa !5
  %9124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9115, ptr noundef nonnull %.str.5.sink4498, i32 noundef %9116, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 608, ptr noundef %9118, ptr noundef %9120, ptr noundef %9122, i32 noundef %9123) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9125:                                             ; preds = %9097
  %9126 = load i32, ptr @test_count, align 4, !tbaa !5
  %9127 = add nsw i32 %9126, 1
  store i32 %9127, ptr @test_count, align 4, !tbaa !5
  %9128 = load ptr, ptr %52, align 8, !tbaa !9
  %9129 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %9128) #12
  %9130 = icmp eq i32 %9129, -1
  br i1 %9130, label %9131, label %9153

9131:                                             ; preds = %9125
  %9132 = load i32, ptr %1901, align 4, !tbaa !5
  %9133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9134 = call i32 @s2n_print_stacktrace(ptr noundef %9133) #12
  %9135 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9136 = trunc nuw i8 %9135 to i1
  br i1 %9136, label %9137, label %9141

9137:                                             ; preds = %9131
  %9138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9139 = call i32 @fileno(ptr noundef %9138) #12
  %9140 = call i32 @isatty(i32 noundef %9139) #12
  %.not1255 = icmp eq i32 %9140, 0
  br i1 %.not1255, label %9141, label %9142

9141:                                             ; preds = %9137, %9131
  br label %9142

9142:                                             ; preds = %9137, %9141
  %.str.5.sink4507 = phi ptr [ @.str.5, %9141 ], [ @.str.2, %9137 ]
  store i32 %9132, ptr %1901, align 4, !tbaa !5
  %9143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9144 = load i32, ptr @test_count, align 4, !tbaa !5
  %9145 = load i32, ptr %1847, align 4, !tbaa !5
  %9146 = call ptr @s2n_strerror(i32 noundef %9145, ptr noundef nonnull @.str.4) #12
  %9147 = load i32, ptr %1847, align 4, !tbaa !5
  %9148 = call ptr @s2n_strerror_debug(i32 noundef %9147, ptr noundef nonnull @.str.4) #12
  %9149 = load i32, ptr %1901, align 4, !tbaa !5
  %9150 = call ptr @strerror(i32 noundef %9149) #12
  %9151 = load i32, ptr %1901, align 4, !tbaa !5
  %9152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9143, ptr noundef nonnull %.str.5.sink4507, i32 noundef %9144, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 609, ptr noundef %9146, ptr noundef %9148, ptr noundef %9150, i32 noundef %9151) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9153:                                             ; preds = %9125
  %9154 = load i32, ptr @test_count, align 4, !tbaa !5
  %9155 = add nsw i32 %9154, 1
  store i32 %9155, ptr @test_count, align 4, !tbaa !5
  %9156 = load ptr, ptr %53, align 8, !tbaa !9
  %9157 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %9156) #12
  %9158 = icmp eq i32 %9157, -1
  br i1 %9158, label %9159, label %9181

9159:                                             ; preds = %9153
  %9160 = load i32, ptr %1901, align 4, !tbaa !5
  %9161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9162 = call i32 @s2n_print_stacktrace(ptr noundef %9161) #12
  %9163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9164 = trunc nuw i8 %9163 to i1
  br i1 %9164, label %9165, label %9169

9165:                                             ; preds = %9159
  %9166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9167 = call i32 @fileno(ptr noundef %9166) #12
  %9168 = call i32 @isatty(i32 noundef %9167) #12
  %.not1254 = icmp eq i32 %9168, 0
  br i1 %.not1254, label %9169, label %9170

9169:                                             ; preds = %9165, %9159
  br label %9170

9170:                                             ; preds = %9165, %9169
  %.str.5.sink4516 = phi ptr [ @.str.5, %9169 ], [ @.str.2, %9165 ]
  store i32 %9160, ptr %1901, align 4, !tbaa !5
  %9171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9172 = load i32, ptr @test_count, align 4, !tbaa !5
  %9173 = load i32, ptr %1847, align 4, !tbaa !5
  %9174 = call ptr @s2n_strerror(i32 noundef %9173, ptr noundef nonnull @.str.4) #12
  %9175 = load i32, ptr %1847, align 4, !tbaa !5
  %9176 = call ptr @s2n_strerror_debug(i32 noundef %9175, ptr noundef nonnull @.str.4) #12
  %9177 = load i32, ptr %1901, align 4, !tbaa !5
  %9178 = call ptr @strerror(i32 noundef %9177) #12
  %9179 = load i32, ptr %1901, align 4, !tbaa !5
  %9180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9171, ptr noundef nonnull %.str.5.sink4516, i32 noundef %9172, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 610, ptr noundef %9174, ptr noundef %9176, ptr noundef %9178, i32 noundef %9179) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9181:                                             ; preds = %9153
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %55) #12
  store i32 0, ptr %55, align 4, !tbaa !5
  %9182 = load i32, ptr @test_count, align 4, !tbaa !5
  %9183 = add nsw i32 %9182, 1
  store i32 %9183, ptr @test_count, align 4, !tbaa !5
  %9184 = load ptr, ptr %53, align 8, !tbaa !9
  %9185 = load ptr, ptr %52, align 8, !tbaa !9
  %9186 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %9184, ptr noundef %9185, i32 noundef 1) #12
  %9187 = call zeroext i1 @s2n_result_is_ok(i32 %9186)
  br i1 %9187, label %9210, label %9188

9188:                                             ; preds = %9181
  %9189 = load i32, ptr %1901, align 4, !tbaa !5
  %9190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9191 = call i32 @s2n_print_stacktrace(ptr noundef %9190) #12
  %9192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9193 = trunc nuw i8 %9192 to i1
  br i1 %9193, label %9194, label %9198

9194:                                             ; preds = %9188
  %9195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9196 = call i32 @fileno(ptr noundef %9195) #12
  %9197 = call i32 @isatty(i32 noundef %9196) #12
  %.not1117 = icmp eq i32 %9197, 0
  br i1 %.not1117, label %9198, label %9199

9198:                                             ; preds = %9194, %9188
  br label %9199

9199:                                             ; preds = %9194, %9198
  %.str.5.sink4525 = phi ptr [ @.str.5, %9198 ], [ @.str.2, %9194 ]
  store i32 %9189, ptr %1901, align 4, !tbaa !5
  %9200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9201 = load i32, ptr @test_count, align 4, !tbaa !5
  %9202 = load i32, ptr %1847, align 4, !tbaa !5
  %9203 = call ptr @s2n_strerror(i32 noundef %9202, ptr noundef nonnull @.str.4) #12
  %9204 = load i32, ptr %1847, align 4, !tbaa !5
  %9205 = call ptr @s2n_strerror_debug(i32 noundef %9204, ptr noundef nonnull @.str.4) #12
  %9206 = load i32, ptr %1901, align 4, !tbaa !5
  %9207 = call ptr @strerror(i32 noundef %9206) #12
  %9208 = load i32, ptr %1901, align 4, !tbaa !5
  %9209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9200, ptr noundef nonnull %.str.5.sink4525, i32 noundef %9201, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 615, ptr noundef %9203, ptr noundef %9205, ptr noundef %9207, i32 noundef %9208) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9210:                                             ; preds = %9181
  %9211 = load i32, ptr @test_count, align 4, !tbaa !5
  %9212 = add nsw i32 %9211, 1
  store i32 %9212, ptr @test_count, align 4, !tbaa !5
  %9213 = load ptr, ptr %52, align 8, !tbaa !9
  %9214 = getelementptr inbounds i8, ptr %9213, i64 4088
  %9215 = load i32, ptr %9214, align 8, !tbaa !17
  %9216 = icmp eq i32 %9215, 1
  br i1 %9216, label %9239, label %9217

9217:                                             ; preds = %9210
  %9218 = load i32, ptr %1901, align 4, !tbaa !5
  %9219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9220 = call i32 @s2n_print_stacktrace(ptr noundef %9219) #12
  %9221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9222 = trunc nuw i8 %9221 to i1
  br i1 %9222, label %9223, label %9227

9223:                                             ; preds = %9217
  %9224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9225 = call i32 @fileno(ptr noundef %9224) #12
  %9226 = call i32 @isatty(i32 noundef %9225) #12
  %.not1118 = icmp eq i32 %9226, 0
  br i1 %.not1118, label %9227, label %9228

9227:                                             ; preds = %9223, %9217
  br label %9228

9228:                                             ; preds = %9223, %9227
  %.str.5.sink4534 = phi ptr [ @.str.5, %9227 ], [ @.str.2, %9223 ]
  store i32 %9218, ptr %1901, align 4, !tbaa !5
  %9229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9230 = load i32, ptr @test_count, align 4, !tbaa !5
  %9231 = load i32, ptr %1847, align 4, !tbaa !5
  %9232 = call ptr @s2n_strerror(i32 noundef %9231, ptr noundef nonnull @.str.4) #12
  %9233 = load i32, ptr %1847, align 4, !tbaa !5
  %9234 = call ptr @s2n_strerror_debug(i32 noundef %9233, ptr noundef nonnull @.str.4) #12
  %9235 = load i32, ptr %1901, align 4, !tbaa !5
  %9236 = call ptr @strerror(i32 noundef %9235) #12
  %9237 = load i32, ptr %1901, align 4, !tbaa !5
  %9238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9229, ptr noundef nonnull %.str.5.sink4534, i32 noundef %9230, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 618, ptr noundef %9232, ptr noundef %9234, ptr noundef %9236, i32 noundef %9237) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9239:                                             ; preds = %9210
  %9240 = add nsw i32 %9211, 2
  store i32 %9240, ptr @test_count, align 4, !tbaa !5
  %9241 = call i64 @s2n_send(ptr noundef nonnull %9213, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %55) #12
  %9242 = icmp eq i64 %9241, 12
  br i1 %9242, label %9265, label %9243

9243:                                             ; preds = %9239
  %9244 = load i32, ptr %1901, align 4, !tbaa !5
  %9245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9246 = call i32 @s2n_print_stacktrace(ptr noundef %9245) #12
  %9247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9248 = trunc nuw i8 %9247 to i1
  br i1 %9248, label %9249, label %9253

9249:                                             ; preds = %9243
  %9250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9251 = call i32 @fileno(ptr noundef %9250) #12
  %9252 = call i32 @isatty(i32 noundef %9251) #12
  %.not1119 = icmp eq i32 %9252, 0
  br i1 %.not1119, label %9253, label %9254

9253:                                             ; preds = %9249, %9243
  br label %9254

9254:                                             ; preds = %9249, %9253
  %.str.5.sink4543 = phi ptr [ @.str.5, %9253 ], [ @.str.2, %9249 ]
  store i32 %9244, ptr %1901, align 4, !tbaa !5
  %9255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9256 = load i32, ptr @test_count, align 4, !tbaa !5
  %9257 = load i32, ptr %1847, align 4, !tbaa !5
  %9258 = call ptr @s2n_strerror(i32 noundef %9257, ptr noundef nonnull @.str.4) #12
  %9259 = load i32, ptr %1847, align 4, !tbaa !5
  %9260 = call ptr @s2n_strerror_debug(i32 noundef %9259, ptr noundef nonnull @.str.4) #12
  %9261 = load i32, ptr %1901, align 4, !tbaa !5
  %9262 = call ptr @strerror(i32 noundef %9261) #12
  %9263 = load i32, ptr %1901, align 4, !tbaa !5
  %9264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9255, ptr noundef nonnull %.str.5.sink4543, i32 noundef %9256, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 619, ptr noundef %9258, ptr noundef %9260, ptr noundef %9262, i32 noundef %9263) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9265:                                             ; preds = %9239
  %9266 = load i32, ptr @test_count, align 4, !tbaa !5
  %9267 = add nsw i32 %9266, 1
  store i32 %9267, ptr @test_count, align 4, !tbaa !5
  %9268 = load ptr, ptr %52, align 8, !tbaa !9
  %9269 = call i32 @s2n_connection_set_end_of_early_data(ptr noundef %9268) #12
  %9270 = icmp eq i32 %9269, -1
  br i1 %9270, label %9271, label %9293

9271:                                             ; preds = %9265
  %9272 = load i32, ptr %1901, align 4, !tbaa !5
  %9273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9274 = call i32 @s2n_print_stacktrace(ptr noundef %9273) #12
  %9275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9276 = trunc nuw i8 %9275 to i1
  br i1 %9276, label %9277, label %9281

9277:                                             ; preds = %9271
  %9278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9279 = call i32 @fileno(ptr noundef %9278) #12
  %9280 = call i32 @isatty(i32 noundef %9279) #12
  %.not1253 = icmp eq i32 %9280, 0
  br i1 %.not1253, label %9281, label %9282

9281:                                             ; preds = %9277, %9271
  br label %9282

9282:                                             ; preds = %9277, %9281
  %.str.5.sink4552 = phi ptr [ @.str.5, %9281 ], [ @.str.2, %9277 ]
  store i32 %9272, ptr %1901, align 4, !tbaa !5
  %9283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9284 = load i32, ptr @test_count, align 4, !tbaa !5
  %9285 = load i32, ptr %1847, align 4, !tbaa !5
  %9286 = call ptr @s2n_strerror(i32 noundef %9285, ptr noundef nonnull @.str.4) #12
  %9287 = load i32, ptr %1847, align 4, !tbaa !5
  %9288 = call ptr @s2n_strerror_debug(i32 noundef %9287, ptr noundef nonnull @.str.4) #12
  %9289 = load i32, ptr %1901, align 4, !tbaa !5
  %9290 = call ptr @strerror(i32 noundef %9289) #12
  %9291 = load i32, ptr %1901, align 4, !tbaa !5
  %9292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9283, ptr noundef nonnull %.str.5.sink4552, i32 noundef %9284, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 622, ptr noundef %9286, ptr noundef %9288, ptr noundef %9290, i32 noundef %9291) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9293:                                             ; preds = %9265
  %9294 = load i32, ptr @test_count, align 4, !tbaa !5
  %9295 = add nsw i32 %9294, 1
  store i32 %9295, ptr @test_count, align 4, !tbaa !5
  %9296 = load ptr, ptr %52, align 8, !tbaa !9
  %9297 = call i64 @s2n_send(ptr noundef %9296, ptr noundef null, i64 noundef 0, ptr noundef nonnull %55) #12
  %9298 = icmp eq i64 %9297, -1
  br i1 %9298, label %9321, label %9299

9299:                                             ; preds = %9293
  %9300 = load i32, ptr %1901, align 4, !tbaa !5
  %9301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9302 = call i32 @s2n_print_stacktrace(ptr noundef %9301) #12
  %9303 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9304 = trunc nuw i8 %9303 to i1
  br i1 %9304, label %9305, label %9309

9305:                                             ; preds = %9299
  %9306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9307 = call i32 @fileno(ptr noundef %9306) #12
  %9308 = call i32 @isatty(i32 noundef %9307) #12
  %.not1120 = icmp eq i32 %9308, 0
  br i1 %.not1120, label %9309, label %9310

9309:                                             ; preds = %9305, %9299
  br label %9310

9310:                                             ; preds = %9305, %9309
  %.str.5.sink4561 = phi ptr [ @.str.5, %9309 ], [ @.str.2, %9305 ]
  store i32 %9300, ptr %1901, align 4, !tbaa !5
  %9311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9312 = load i32, ptr @test_count, align 4, !tbaa !5
  %9313 = load i32, ptr %1847, align 4, !tbaa !5
  %9314 = call ptr @s2n_strerror(i32 noundef %9313, ptr noundef nonnull @.str.4) #12
  %9315 = load i32, ptr %1847, align 4, !tbaa !5
  %9316 = call ptr @s2n_strerror_debug(i32 noundef %9315, ptr noundef nonnull @.str.4) #12
  %9317 = load i32, ptr %1901, align 4, !tbaa !5
  %9318 = call ptr @strerror(i32 noundef %9317) #12
  %9319 = load i32, ptr %1901, align 4, !tbaa !5
  %9320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9311, ptr noundef nonnull %.str.5.sink4561, i32 noundef %9312, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 623, ptr noundef %9314, ptr noundef %9316, ptr noundef %9318, i32 noundef %9319) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9321:                                             ; preds = %9293
  %9322 = load i32, ptr @test_count, align 4, !tbaa !5
  %9323 = add nsw i32 %9322, 1
  store i32 %9323, ptr @test_count, align 4, !tbaa !5
  %9324 = load i32, ptr %1847, align 4, !tbaa !5
  %9325 = icmp eq i32 %9324, 469762113
  br i1 %9325, label %9348, label %9326

9326:                                             ; preds = %9321
  %9327 = load i32, ptr %1901, align 4, !tbaa !5
  %9328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9329 = call i32 @s2n_print_stacktrace(ptr noundef %9328) #12
  %9330 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9331 = trunc nuw i8 %9330 to i1
  br i1 %9331, label %9332, label %9336

9332:                                             ; preds = %9326
  %9333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9334 = call i32 @fileno(ptr noundef %9333) #12
  %9335 = call i32 @isatty(i32 noundef %9334) #12
  %.not1121 = icmp eq i32 %9335, 0
  br i1 %.not1121, label %9336, label %9337

9336:                                             ; preds = %9332, %9326
  br label %9337

9337:                                             ; preds = %9332, %9336
  %.str.5.sink4570 = phi ptr [ @.str.5, %9336 ], [ @.str.2, %9332 ]
  store i32 %9327, ptr %1901, align 4, !tbaa !5
  %9338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9339 = load i32, ptr @test_count, align 4, !tbaa !5
  %9340 = load i32, ptr %1847, align 4, !tbaa !5
  %9341 = call ptr @s2n_strerror(i32 noundef %9340, ptr noundef nonnull @.str.4) #12
  %9342 = load i32, ptr %1847, align 4, !tbaa !5
  %9343 = call ptr @s2n_strerror_debug(i32 noundef %9342, ptr noundef nonnull @.str.4) #12
  %9344 = load i32, ptr %1901, align 4, !tbaa !5
  %9345 = call ptr @strerror(i32 noundef %9344) #12
  %9346 = load i32, ptr %1901, align 4, !tbaa !5
  %9347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9338, ptr noundef nonnull %.str.5.sink4570, i32 noundef %9339, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 623, ptr noundef %9341, ptr noundef %9343, ptr noundef %9345, i32 noundef %9346) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9348:                                             ; preds = %9321
  %9349 = add nsw i32 %9322, 2
  store i32 %9349, ptr @test_count, align 4, !tbaa !5
  %9350 = call ptr @s2n_strerror_debug(i32 noundef 469762113, ptr noundef nonnull @.str.4) #12
  %9351 = icmp eq ptr %9350, null
  br i1 %9351, label %9352, label %9374

9352:                                             ; preds = %9348
  %9353 = load i32, ptr %1901, align 4, !tbaa !5
  %9354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9355 = call i32 @s2n_print_stacktrace(ptr noundef %9354) #12
  %9356 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9357 = trunc nuw i8 %9356 to i1
  br i1 %9357, label %9358, label %9362

9358:                                             ; preds = %9352
  %9359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9360 = call i32 @fileno(ptr noundef %9359) #12
  %9361 = call i32 @isatty(i32 noundef %9360) #12
  %.not1252 = icmp eq i32 %9361, 0
  br i1 %.not1252, label %9362, label %9363

9362:                                             ; preds = %9358, %9352
  br label %9363

9363:                                             ; preds = %9358, %9362
  %.str.5.sink4579 = phi ptr [ @.str.5, %9362 ], [ @.str.2, %9358 ]
  store i32 %9353, ptr %1901, align 4, !tbaa !5
  %9364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9365 = load i32, ptr @test_count, align 4, !tbaa !5
  %9366 = load i32, ptr %1847, align 4, !tbaa !5
  %9367 = call ptr @s2n_strerror(i32 noundef %9366, ptr noundef nonnull @.str.4) #12
  %9368 = load i32, ptr %1847, align 4, !tbaa !5
  %9369 = call ptr @s2n_strerror_debug(i32 noundef %9368, ptr noundef nonnull @.str.4) #12
  %9370 = load i32, ptr %1901, align 4, !tbaa !5
  %9371 = call ptr @strerror(i32 noundef %9370) #12
  %9372 = load i32, ptr %1901, align 4, !tbaa !5
  %9373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9364, ptr noundef nonnull %.str.5.sink4579, i32 noundef %9365, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 623, ptr noundef %9367, ptr noundef %9369, ptr noundef %9371, i32 noundef %9372) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9374:                                             ; preds = %9348
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %9375 = load i32, ptr @test_count, align 4, !tbaa !5
  %9376 = add nsw i32 %9375, 1
  store i32 %9376, ptr @test_count, align 4, !tbaa !5
  %9377 = load ptr, ptr %53, align 8, !tbaa !9
  %9378 = load ptr, ptr %52, align 8, !tbaa !9
  %9379 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %9377, ptr noundef %9378, i32 noundef 13) #12
  %9380 = call zeroext i1 @s2n_result_is_error(i32 %9379)
  br i1 %9380, label %9403, label %9381

9381:                                             ; preds = %9374
  %9382 = load i32, ptr %1901, align 4, !tbaa !5
  %9383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9384 = call i32 @s2n_print_stacktrace(ptr noundef %9383) #12
  %9385 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9386 = trunc nuw i8 %9385 to i1
  br i1 %9386, label %9387, label %9391

9387:                                             ; preds = %9381
  %9388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9389 = call i32 @fileno(ptr noundef %9388) #12
  %9390 = call i32 @isatty(i32 noundef %9389) #12
  %.not1122 = icmp eq i32 %9390, 0
  br i1 %.not1122, label %9391, label %9392

9391:                                             ; preds = %9387, %9381
  br label %9392

9392:                                             ; preds = %9387, %9391
  %.str.5.sink4588 = phi ptr [ @.str.5, %9391 ], [ @.str.2, %9387 ]
  store i32 %9382, ptr %1901, align 4, !tbaa !5
  %9393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9394 = load i32, ptr @test_count, align 4, !tbaa !5
  %9395 = load i32, ptr %1847, align 4, !tbaa !5
  %9396 = call ptr @s2n_strerror(i32 noundef %9395, ptr noundef nonnull @.str.4) #12
  %9397 = load i32, ptr %1847, align 4, !tbaa !5
  %9398 = call ptr @s2n_strerror_debug(i32 noundef %9397, ptr noundef nonnull @.str.4) #12
  %9399 = load i32, ptr %1901, align 4, !tbaa !5
  %9400 = call ptr @strerror(i32 noundef %9399) #12
  %9401 = load i32, ptr %1901, align 4, !tbaa !5
  %9402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9393, ptr noundef nonnull %.str.5.sink4588, i32 noundef %9394, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 627, ptr noundef %9396, ptr noundef %9398, ptr noundef %9400, i32 noundef %9401) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9403:                                             ; preds = %9374
  %9404 = load i32, ptr @test_count, align 4, !tbaa !5
  %9405 = add nsw i32 %9404, 1
  store i32 %9405, ptr @test_count, align 4, !tbaa !5
  %9406 = load i32, ptr %1847, align 4, !tbaa !5
  %9407 = icmp eq i32 %9406, 201326594
  br i1 %9407, label %9430, label %9408

9408:                                             ; preds = %9403
  %9409 = load i32, ptr %1901, align 4, !tbaa !5
  %9410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9411 = call i32 @s2n_print_stacktrace(ptr noundef %9410) #12
  %9412 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9413 = trunc nuw i8 %9412 to i1
  br i1 %9413, label %9414, label %9418

9414:                                             ; preds = %9408
  %9415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9416 = call i32 @fileno(ptr noundef %9415) #12
  %9417 = call i32 @isatty(i32 noundef %9416) #12
  %.not1123 = icmp eq i32 %9417, 0
  br i1 %.not1123, label %9418, label %9419

9418:                                             ; preds = %9414, %9408
  br label %9419

9419:                                             ; preds = %9414, %9418
  %.str.5.sink4597 = phi ptr [ @.str.5, %9418 ], [ @.str.2, %9414 ]
  store i32 %9409, ptr %1901, align 4, !tbaa !5
  %9420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9421 = load i32, ptr @test_count, align 4, !tbaa !5
  %9422 = load i32, ptr %1847, align 4, !tbaa !5
  %9423 = call ptr @s2n_strerror(i32 noundef %9422, ptr noundef nonnull @.str.4) #12
  %9424 = load i32, ptr %1847, align 4, !tbaa !5
  %9425 = call ptr @s2n_strerror_debug(i32 noundef %9424, ptr noundef nonnull @.str.4) #12
  %9426 = load i32, ptr %1901, align 4, !tbaa !5
  %9427 = call ptr @strerror(i32 noundef %9426) #12
  %9428 = load i32, ptr %1901, align 4, !tbaa !5
  %9429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9420, ptr noundef nonnull %.str.5.sink4597, i32 noundef %9421, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 627, ptr noundef %9423, ptr noundef %9425, ptr noundef %9427, i32 noundef %9428) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9430:                                             ; preds = %9403
  %9431 = add nsw i32 %9404, 2
  store i32 %9431, ptr @test_count, align 4, !tbaa !5
  %9432 = call ptr @s2n_strerror_debug(i32 noundef 201326594, ptr noundef nonnull @.str.4) #12
  %9433 = icmp eq ptr %9432, null
  br i1 %9433, label %9434, label %9456

9434:                                             ; preds = %9430
  %9435 = load i32, ptr %1901, align 4, !tbaa !5
  %9436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9437 = call i32 @s2n_print_stacktrace(ptr noundef %9436) #12
  %9438 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9439 = trunc nuw i8 %9438 to i1
  br i1 %9439, label %9440, label %9444

9440:                                             ; preds = %9434
  %9441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9442 = call i32 @fileno(ptr noundef %9441) #12
  %9443 = call i32 @isatty(i32 noundef %9442) #12
  %.not1251 = icmp eq i32 %9443, 0
  br i1 %.not1251, label %9444, label %9445

9444:                                             ; preds = %9440, %9434
  br label %9445

9445:                                             ; preds = %9440, %9444
  %.str.5.sink4606 = phi ptr [ @.str.5, %9444 ], [ @.str.2, %9440 ]
  store i32 %9435, ptr %1901, align 4, !tbaa !5
  %9446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9447 = load i32, ptr @test_count, align 4, !tbaa !5
  %9448 = load i32, ptr %1847, align 4, !tbaa !5
  %9449 = call ptr @s2n_strerror(i32 noundef %9448, ptr noundef nonnull @.str.4) #12
  %9450 = load i32, ptr %1847, align 4, !tbaa !5
  %9451 = call ptr @s2n_strerror_debug(i32 noundef %9450, ptr noundef nonnull @.str.4) #12
  %9452 = load i32, ptr %1901, align 4, !tbaa !5
  %9453 = call ptr @strerror(i32 noundef %9452) #12
  %9454 = load i32, ptr %1901, align 4, !tbaa !5
  %9455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9446, ptr noundef nonnull %.str.5.sink4606, i32 noundef %9447, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 627, ptr noundef %9449, ptr noundef %9451, ptr noundef %9453, i32 noundef %9454) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9456:                                             ; preds = %9430
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %9457 = load i32, ptr @test_count, align 4, !tbaa !5
  %9458 = add nsw i32 %9457, 1
  store i32 %9458, ptr @test_count, align 4, !tbaa !5
  %9459 = load ptr, ptr %52, align 8, !tbaa !9
  %9460 = call i32 @s2n_conn_get_current_message_type(ptr noundef %9459) #12
  %9461 = icmp eq i32 %9460, 13
  br i1 %9461, label %9484, label %9462

9462:                                             ; preds = %9456
  %9463 = load i32, ptr %1901, align 4, !tbaa !5
  %9464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9465 = call i32 @s2n_print_stacktrace(ptr noundef %9464) #12
  %9466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9467 = trunc nuw i8 %9466 to i1
  br i1 %9467, label %9468, label %9472

9468:                                             ; preds = %9462
  %9469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9470 = call i32 @fileno(ptr noundef %9469) #12
  %9471 = call i32 @isatty(i32 noundef %9470) #12
  %.not1124 = icmp eq i32 %9471, 0
  br i1 %.not1124, label %9472, label %9473

9472:                                             ; preds = %9468, %9462
  br label %9473

9473:                                             ; preds = %9468, %9472
  %.str.5.sink4615 = phi ptr [ @.str.5, %9472 ], [ @.str.2, %9468 ]
  store i32 %9463, ptr %1901, align 4, !tbaa !5
  %9474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9475 = load i32, ptr @test_count, align 4, !tbaa !5
  %9476 = load i32, ptr %1847, align 4, !tbaa !5
  %9477 = call ptr @s2n_strerror(i32 noundef %9476, ptr noundef nonnull @.str.4) #12
  %9478 = load i32, ptr %1847, align 4, !tbaa !5
  %9479 = call ptr @s2n_strerror_debug(i32 noundef %9478, ptr noundef nonnull @.str.4) #12
  %9480 = load i32, ptr %1901, align 4, !tbaa !5
  %9481 = call ptr @strerror(i32 noundef %9480) #12
  %9482 = load i32, ptr %1901, align 4, !tbaa !5
  %9483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9474, ptr noundef nonnull %.str.5.sink4615, i32 noundef %9475, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.1, i32 noundef 628, ptr noundef %9477, ptr noundef %9479, ptr noundef %9481, i32 noundef %9482) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9484:                                             ; preds = %9456
  %9485 = load i32, ptr @test_count, align 4, !tbaa !5
  %9486 = add nsw i32 %9485, 1
  store i32 %9486, ptr @test_count, align 4, !tbaa !5
  %9487 = load ptr, ptr %52, align 8, !tbaa !9
  %9488 = getelementptr inbounds i8, ptr %9487, i64 4088
  %9489 = load i32, ptr %9488, align 8, !tbaa !17
  %9490 = icmp eq i32 %9489, 5
  br i1 %9490, label %9513, label %9491

9491:                                             ; preds = %9484
  %9492 = load i32, ptr %1901, align 4, !tbaa !5
  %9493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9494 = call i32 @s2n_print_stacktrace(ptr noundef %9493) #12
  %9495 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9496 = trunc nuw i8 %9495 to i1
  br i1 %9496, label %9497, label %9501

9497:                                             ; preds = %9491
  %9498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9499 = call i32 @fileno(ptr noundef %9498) #12
  %9500 = call i32 @isatty(i32 noundef %9499) #12
  %.not1125 = icmp eq i32 %9500, 0
  br i1 %.not1125, label %9501, label %9502

9501:                                             ; preds = %9497, %9491
  br label %9502

9502:                                             ; preds = %9497, %9501
  %.str.5.sink4624 = phi ptr [ @.str.5, %9501 ], [ @.str.2, %9497 ]
  store i32 %9492, ptr %1901, align 4, !tbaa !5
  %9503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9504 = load i32, ptr @test_count, align 4, !tbaa !5
  %9505 = load i32, ptr %1847, align 4, !tbaa !5
  %9506 = call ptr @s2n_strerror(i32 noundef %9505, ptr noundef nonnull @.str.4) #12
  %9507 = load i32, ptr %1847, align 4, !tbaa !5
  %9508 = call ptr @s2n_strerror_debug(i32 noundef %9507, ptr noundef nonnull @.str.4) #12
  %9509 = load i32, ptr %1901, align 4, !tbaa !5
  %9510 = call ptr @strerror(i32 noundef %9509) #12
  %9511 = load i32, ptr %1901, align 4, !tbaa !5
  %9512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9503, ptr noundef nonnull %.str.5.sink4624, i32 noundef %9504, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.1, i32 noundef 631, ptr noundef %9506, ptr noundef %9508, ptr noundef %9510, i32 noundef %9511) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9513:                                             ; preds = %9484
  %9514 = add nsw i32 %9485, 2
  store i32 %9514, ptr @test_count, align 4, !tbaa !5
  %9515 = call i64 @s2n_send(ptr noundef nonnull %9487, ptr noundef null, i64 noundef 0, ptr noundef nonnull %55) #12
  %9516 = icmp eq i64 %9515, -1
  br i1 %9516, label %9539, label %9517

9517:                                             ; preds = %9513
  %9518 = load i32, ptr %1901, align 4, !tbaa !5
  %9519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9520 = call i32 @s2n_print_stacktrace(ptr noundef %9519) #12
  %9521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9522 = trunc nuw i8 %9521 to i1
  br i1 %9522, label %9523, label %9527

9523:                                             ; preds = %9517
  %9524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9525 = call i32 @fileno(ptr noundef %9524) #12
  %9526 = call i32 @isatty(i32 noundef %9525) #12
  %.not1126 = icmp eq i32 %9526, 0
  br i1 %.not1126, label %9527, label %9528

9527:                                             ; preds = %9523, %9517
  br label %9528

9528:                                             ; preds = %9523, %9527
  %.str.5.sink4633 = phi ptr [ @.str.5, %9527 ], [ @.str.2, %9523 ]
  store i32 %9518, ptr %1901, align 4, !tbaa !5
  %9529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9530 = load i32, ptr @test_count, align 4, !tbaa !5
  %9531 = load i32, ptr %1847, align 4, !tbaa !5
  %9532 = call ptr @s2n_strerror(i32 noundef %9531, ptr noundef nonnull @.str.4) #12
  %9533 = load i32, ptr %1847, align 4, !tbaa !5
  %9534 = call ptr @s2n_strerror_debug(i32 noundef %9533, ptr noundef nonnull @.str.4) #12
  %9535 = load i32, ptr %1901, align 4, !tbaa !5
  %9536 = call ptr @strerror(i32 noundef %9535) #12
  %9537 = load i32, ptr %1901, align 4, !tbaa !5
  %9538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9529, ptr noundef nonnull %.str.5.sink4633, i32 noundef %9530, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 632, ptr noundef %9532, ptr noundef %9534, ptr noundef %9536, i32 noundef %9537) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9539:                                             ; preds = %9513
  %9540 = load i32, ptr @test_count, align 4, !tbaa !5
  %9541 = add nsw i32 %9540, 1
  store i32 %9541, ptr @test_count, align 4, !tbaa !5
  %9542 = load i32, ptr %1847, align 4, !tbaa !5
  %9543 = icmp eq i32 %9542, 469762113
  br i1 %9543, label %9566, label %9544

9544:                                             ; preds = %9539
  %9545 = load i32, ptr %1901, align 4, !tbaa !5
  %9546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9547 = call i32 @s2n_print_stacktrace(ptr noundef %9546) #12
  %9548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9549 = trunc nuw i8 %9548 to i1
  br i1 %9549, label %9550, label %9554

9550:                                             ; preds = %9544
  %9551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9552 = call i32 @fileno(ptr noundef %9551) #12
  %9553 = call i32 @isatty(i32 noundef %9552) #12
  %.not1127 = icmp eq i32 %9553, 0
  br i1 %.not1127, label %9554, label %9555

9554:                                             ; preds = %9550, %9544
  br label %9555

9555:                                             ; preds = %9550, %9554
  %.str.5.sink4642 = phi ptr [ @.str.5, %9554 ], [ @.str.2, %9550 ]
  store i32 %9545, ptr %1901, align 4, !tbaa !5
  %9556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9557 = load i32, ptr @test_count, align 4, !tbaa !5
  %9558 = load i32, ptr %1847, align 4, !tbaa !5
  %9559 = call ptr @s2n_strerror(i32 noundef %9558, ptr noundef nonnull @.str.4) #12
  %9560 = load i32, ptr %1847, align 4, !tbaa !5
  %9561 = call ptr @s2n_strerror_debug(i32 noundef %9560, ptr noundef nonnull @.str.4) #12
  %9562 = load i32, ptr %1901, align 4, !tbaa !5
  %9563 = call ptr @strerror(i32 noundef %9562) #12
  %9564 = load i32, ptr %1901, align 4, !tbaa !5
  %9565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9556, ptr noundef nonnull %.str.5.sink4642, i32 noundef %9557, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 632, ptr noundef %9559, ptr noundef %9561, ptr noundef %9563, i32 noundef %9564) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9566:                                             ; preds = %9539
  %9567 = add nsw i32 %9540, 2
  store i32 %9567, ptr @test_count, align 4, !tbaa !5
  %9568 = call ptr @s2n_strerror_debug(i32 noundef 469762113, ptr noundef nonnull @.str.4) #12
  %9569 = icmp eq ptr %9568, null
  br i1 %9569, label %9570, label %9592

9570:                                             ; preds = %9566
  %9571 = load i32, ptr %1901, align 4, !tbaa !5
  %9572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9573 = call i32 @s2n_print_stacktrace(ptr noundef %9572) #12
  %9574 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9575 = trunc nuw i8 %9574 to i1
  br i1 %9575, label %9576, label %9580

9576:                                             ; preds = %9570
  %9577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9578 = call i32 @fileno(ptr noundef %9577) #12
  %9579 = call i32 @isatty(i32 noundef %9578) #12
  %.not1250 = icmp eq i32 %9579, 0
  br i1 %.not1250, label %9580, label %9581

9580:                                             ; preds = %9576, %9570
  br label %9581

9581:                                             ; preds = %9576, %9580
  %.str.5.sink4651 = phi ptr [ @.str.5, %9580 ], [ @.str.2, %9576 ]
  store i32 %9571, ptr %1901, align 4, !tbaa !5
  %9582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9583 = load i32, ptr @test_count, align 4, !tbaa !5
  %9584 = load i32, ptr %1847, align 4, !tbaa !5
  %9585 = call ptr @s2n_strerror(i32 noundef %9584, ptr noundef nonnull @.str.4) #12
  %9586 = load i32, ptr %1847, align 4, !tbaa !5
  %9587 = call ptr @s2n_strerror_debug(i32 noundef %9586, ptr noundef nonnull @.str.4) #12
  %9588 = load i32, ptr %1901, align 4, !tbaa !5
  %9589 = call ptr @strerror(i32 noundef %9588) #12
  %9590 = load i32, ptr %1901, align 4, !tbaa !5
  %9591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9582, ptr noundef nonnull %.str.5.sink4651, i32 noundef %9583, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 632, ptr noundef %9585, ptr noundef %9587, ptr noundef %9589, i32 noundef %9590) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9592:                                             ; preds = %9566
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %9593 = load i32, ptr @test_count, align 4, !tbaa !5
  %9594 = add nsw i32 %9593, 1
  store i32 %9594, ptr @test_count, align 4, !tbaa !5
  %9595 = load ptr, ptr %52, align 8, !tbaa !9
  %9596 = call i32 @s2n_connection_free(ptr noundef %9595) #12
  %9597 = icmp eq i32 %9596, -1
  br i1 %9597, label %9598, label %9620

9598:                                             ; preds = %9592
  %9599 = load i32, ptr %1901, align 4, !tbaa !5
  %9600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9601 = call i32 @s2n_print_stacktrace(ptr noundef %9600) #12
  %9602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9603 = trunc nuw i8 %9602 to i1
  br i1 %9603, label %9604, label %9608

9604:                                             ; preds = %9598
  %9605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9606 = call i32 @fileno(ptr noundef %9605) #12
  %9607 = call i32 @isatty(i32 noundef %9606) #12
  %.not1249 = icmp eq i32 %9607, 0
  br i1 %.not1249, label %9608, label %9609

9608:                                             ; preds = %9604, %9598
  br label %9609

9609:                                             ; preds = %9604, %9608
  %.str.5.sink4660 = phi ptr [ @.str.5, %9608 ], [ @.str.2, %9604 ]
  store i32 %9599, ptr %1901, align 4, !tbaa !5
  %9610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9611 = load i32, ptr @test_count, align 4, !tbaa !5
  %9612 = load i32, ptr %1847, align 4, !tbaa !5
  %9613 = call ptr @s2n_strerror(i32 noundef %9612, ptr noundef nonnull @.str.4) #12
  %9614 = load i32, ptr %1847, align 4, !tbaa !5
  %9615 = call ptr @s2n_strerror_debug(i32 noundef %9614, ptr noundef nonnull @.str.4) #12
  %9616 = load i32, ptr %1901, align 4, !tbaa !5
  %9617 = call ptr @strerror(i32 noundef %9616) #12
  %9618 = load i32, ptr %1901, align 4, !tbaa !5
  %9619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9610, ptr noundef nonnull %.str.5.sink4660, i32 noundef %9611, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 634, ptr noundef %9613, ptr noundef %9615, ptr noundef %9617, i32 noundef %9618) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9620:                                             ; preds = %9592
  %9621 = load i32, ptr @test_count, align 4, !tbaa !5
  %9622 = add nsw i32 %9621, 1
  store i32 %9622, ptr @test_count, align 4, !tbaa !5
  %9623 = load ptr, ptr %53, align 8, !tbaa !9
  %9624 = call i32 @s2n_connection_free(ptr noundef %9623) #12
  %9625 = icmp eq i32 %9624, -1
  br i1 %9625, label %9626, label %9648

9626:                                             ; preds = %9620
  %9627 = load i32, ptr %1901, align 4, !tbaa !5
  %9628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9629 = call i32 @s2n_print_stacktrace(ptr noundef %9628) #12
  %9630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9631 = trunc nuw i8 %9630 to i1
  br i1 %9631, label %9632, label %9636

9632:                                             ; preds = %9626
  %9633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9634 = call i32 @fileno(ptr noundef %9633) #12
  %9635 = call i32 @isatty(i32 noundef %9634) #12
  %.not1248 = icmp eq i32 %9635, 0
  br i1 %.not1248, label %9636, label %9637

9636:                                             ; preds = %9632, %9626
  br label %9637

9637:                                             ; preds = %9632, %9636
  %.str.5.sink4669 = phi ptr [ @.str.5, %9636 ], [ @.str.2, %9632 ]
  store i32 %9627, ptr %1901, align 4, !tbaa !5
  %9638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9639 = load i32, ptr @test_count, align 4, !tbaa !5
  %9640 = load i32, ptr %1847, align 4, !tbaa !5
  %9641 = call ptr @s2n_strerror(i32 noundef %9640, ptr noundef nonnull @.str.4) #12
  %9642 = load i32, ptr %1847, align 4, !tbaa !5
  %9643 = call ptr @s2n_strerror_debug(i32 noundef %9642, ptr noundef nonnull @.str.4) #12
  %9644 = load i32, ptr %1901, align 4, !tbaa !5
  %9645 = call ptr @strerror(i32 noundef %9644) #12
  %9646 = load i32, ptr %1901, align 4, !tbaa !5
  %9647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9638, ptr noundef nonnull %.str.5.sink4669, i32 noundef %9639, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 635, ptr noundef %9641, ptr noundef %9643, ptr noundef %9645, i32 noundef %9646) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9648:                                             ; preds = %9620
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #12
  %9649 = call i32 @s2n_io_pair_close(ptr noundef nonnull %54) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #12
  store ptr null, ptr %56, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #12
  store ptr null, ptr %57, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #12
  store i64 0, ptr %58, align 8
  %9650 = load i32, ptr @test_count, align 4, !tbaa !5
  %9651 = add nsw i32 %9650, 1
  store i32 %9651, ptr @test_count, align 4, !tbaa !5
  %9652 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %56, ptr noundef nonnull %57, ptr noundef nonnull %58)
  %9653 = call zeroext i1 @s2n_result_is_ok(i32 %9652)
  br i1 %9653, label %9676, label %9654

9654:                                             ; preds = %9648
  %9655 = load i32, ptr %1901, align 4, !tbaa !5
  %9656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9657 = call i32 @s2n_print_stacktrace(ptr noundef %9656) #12
  %9658 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9659 = trunc nuw i8 %9658 to i1
  br i1 %9659, label %9660, label %9664

9660:                                             ; preds = %9654
  %9661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9662 = call i32 @fileno(ptr noundef %9661) #12
  %9663 = call i32 @isatty(i32 noundef %9662) #12
  %.not1128 = icmp eq i32 %9663, 0
  br i1 %.not1128, label %9664, label %9665

9664:                                             ; preds = %9660, %9654
  br label %9665

9665:                                             ; preds = %9660, %9664
  %.str.5.sink4678 = phi ptr [ @.str.5, %9664 ], [ @.str.2, %9660 ]
  store i32 %9655, ptr %1901, align 4, !tbaa !5
  %9666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9667 = load i32, ptr @test_count, align 4, !tbaa !5
  %9668 = load i32, ptr %1847, align 4, !tbaa !5
  %9669 = call ptr @s2n_strerror(i32 noundef %9668, ptr noundef nonnull @.str.4) #12
  %9670 = load i32, ptr %1847, align 4, !tbaa !5
  %9671 = call ptr @s2n_strerror_debug(i32 noundef %9670, ptr noundef nonnull @.str.4) #12
  %9672 = load i32, ptr %1901, align 4, !tbaa !5
  %9673 = call ptr @strerror(i32 noundef %9672) #12
  %9674 = load i32, ptr %1901, align 4, !tbaa !5
  %9675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9666, ptr noundef nonnull %.str.5.sink4678, i32 noundef %9667, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 643, ptr noundef %9669, ptr noundef %9671, ptr noundef %9673, i32 noundef %9674) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9676:                                             ; preds = %9648
  %9677 = load i32, ptr @test_count, align 4, !tbaa !5
  %9678 = add nsw i32 %9677, 1
  store i32 %9678, ptr @test_count, align 4, !tbaa !5
  %9679 = load ptr, ptr %56, align 8, !tbaa !9
  %9680 = call i32 @s2n_connection_append_psk(ptr noundef %9679, ptr noundef %6167) #12
  %9681 = icmp eq i32 %9680, -1
  br i1 %9681, label %9682, label %9704

9682:                                             ; preds = %9676
  %9683 = load i32, ptr %1901, align 4, !tbaa !5
  %9684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9685 = call i32 @s2n_print_stacktrace(ptr noundef %9684) #12
  %9686 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9687 = trunc nuw i8 %9686 to i1
  br i1 %9687, label %9688, label %9692

9688:                                             ; preds = %9682
  %9689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9690 = call i32 @fileno(ptr noundef %9689) #12
  %9691 = call i32 @isatty(i32 noundef %9690) #12
  %.not1247 = icmp eq i32 %9691, 0
  br i1 %.not1247, label %9692, label %9693

9692:                                             ; preds = %9688, %9682
  br label %9693

9693:                                             ; preds = %9688, %9692
  %.str.5.sink4687 = phi ptr [ @.str.5, %9692 ], [ @.str.2, %9688 ]
  store i32 %9683, ptr %1901, align 4, !tbaa !5
  %9694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9695 = load i32, ptr @test_count, align 4, !tbaa !5
  %9696 = load i32, ptr %1847, align 4, !tbaa !5
  %9697 = call ptr @s2n_strerror(i32 noundef %9696, ptr noundef nonnull @.str.4) #12
  %9698 = load i32, ptr %1847, align 4, !tbaa !5
  %9699 = call ptr @s2n_strerror_debug(i32 noundef %9698, ptr noundef nonnull @.str.4) #12
  %9700 = load i32, ptr %1901, align 4, !tbaa !5
  %9701 = call ptr @strerror(i32 noundef %9700) #12
  %9702 = load i32, ptr %1901, align 4, !tbaa !5
  %9703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9694, ptr noundef nonnull %.str.5.sink4687, i32 noundef %9695, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 645, ptr noundef %9697, ptr noundef %9699, ptr noundef %9701, i32 noundef %9702) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9704:                                             ; preds = %9676
  %9705 = load i32, ptr @test_count, align 4, !tbaa !5
  %9706 = add nsw i32 %9705, 1
  store i32 %9706, ptr @test_count, align 4, !tbaa !5
  %9707 = load ptr, ptr %57, align 8, !tbaa !9
  %9708 = call i32 @s2n_connection_append_psk(ptr noundef %9707, ptr noundef %6167) #12
  %9709 = icmp eq i32 %9708, -1
  br i1 %9709, label %9710, label %9732

9710:                                             ; preds = %9704
  %9711 = load i32, ptr %1901, align 4, !tbaa !5
  %9712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9713 = call i32 @s2n_print_stacktrace(ptr noundef %9712) #12
  %9714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9715 = trunc nuw i8 %9714 to i1
  br i1 %9715, label %9716, label %9720

9716:                                             ; preds = %9710
  %9717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9718 = call i32 @fileno(ptr noundef %9717) #12
  %9719 = call i32 @isatty(i32 noundef %9718) #12
  %.not1246 = icmp eq i32 %9719, 0
  br i1 %.not1246, label %9720, label %9721

9720:                                             ; preds = %9716, %9710
  br label %9721

9721:                                             ; preds = %9716, %9720
  %.str.5.sink4696 = phi ptr [ @.str.5, %9720 ], [ @.str.2, %9716 ]
  store i32 %9711, ptr %1901, align 4, !tbaa !5
  %9722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9723 = load i32, ptr @test_count, align 4, !tbaa !5
  %9724 = load i32, ptr %1847, align 4, !tbaa !5
  %9725 = call ptr @s2n_strerror(i32 noundef %9724, ptr noundef nonnull @.str.4) #12
  %9726 = load i32, ptr %1847, align 4, !tbaa !5
  %9727 = call ptr @s2n_strerror_debug(i32 noundef %9726, ptr noundef nonnull @.str.4) #12
  %9728 = load i32, ptr %1901, align 4, !tbaa !5
  %9729 = call ptr @strerror(i32 noundef %9728) #12
  %9730 = load i32, ptr %1901, align 4, !tbaa !5
  %9731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9722, ptr noundef nonnull %.str.5.sink4696, i32 noundef %9723, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 646, ptr noundef %9725, ptr noundef %9727, ptr noundef %9729, i32 noundef %9730) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9732:                                             ; preds = %9704
  %9733 = load i32, ptr @test_count, align 4, !tbaa !5
  %9734 = add nsw i32 %9733, 1
  store i32 %9734, ptr @test_count, align 4, !tbaa !5
  %9735 = load ptr, ptr %56, align 8, !tbaa !9
  %9736 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %9735) #12
  %9737 = icmp eq i32 %9736, -1
  br i1 %9737, label %9738, label %9760

9738:                                             ; preds = %9732
  %9739 = load i32, ptr %1901, align 4, !tbaa !5
  %9740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9741 = call i32 @s2n_print_stacktrace(ptr noundef %9740) #12
  %9742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9743 = trunc nuw i8 %9742 to i1
  br i1 %9743, label %9744, label %9748

9744:                                             ; preds = %9738
  %9745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9746 = call i32 @fileno(ptr noundef %9745) #12
  %9747 = call i32 @isatty(i32 noundef %9746) #12
  %.not1245 = icmp eq i32 %9747, 0
  br i1 %.not1245, label %9748, label %9749

9748:                                             ; preds = %9744, %9738
  br label %9749

9749:                                             ; preds = %9744, %9748
  %.str.5.sink4705 = phi ptr [ @.str.5, %9748 ], [ @.str.2, %9744 ]
  store i32 %9739, ptr %1901, align 4, !tbaa !5
  %9750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9751 = load i32, ptr @test_count, align 4, !tbaa !5
  %9752 = load i32, ptr %1847, align 4, !tbaa !5
  %9753 = call ptr @s2n_strerror(i32 noundef %9752, ptr noundef nonnull @.str.4) #12
  %9754 = load i32, ptr %1847, align 4, !tbaa !5
  %9755 = call ptr @s2n_strerror_debug(i32 noundef %9754, ptr noundef nonnull @.str.4) #12
  %9756 = load i32, ptr %1901, align 4, !tbaa !5
  %9757 = call ptr @strerror(i32 noundef %9756) #12
  %9758 = load i32, ptr %1901, align 4, !tbaa !5
  %9759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9750, ptr noundef nonnull %.str.5.sink4705, i32 noundef %9751, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 647, ptr noundef %9753, ptr noundef %9755, ptr noundef %9757, i32 noundef %9758) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9760:                                             ; preds = %9732
  %9761 = load i32, ptr @test_count, align 4, !tbaa !5
  %9762 = add nsw i32 %9761, 1
  store i32 %9762, ptr @test_count, align 4, !tbaa !5
  %9763 = load ptr, ptr %57, align 8, !tbaa !9
  %9764 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %9763) #12
  %9765 = icmp eq i32 %9764, -1
  br i1 %9765, label %9766, label %9788

9766:                                             ; preds = %9760
  %9767 = load i32, ptr %1901, align 4, !tbaa !5
  %9768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9769 = call i32 @s2n_print_stacktrace(ptr noundef %9768) #12
  %9770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9771 = trunc nuw i8 %9770 to i1
  br i1 %9771, label %9772, label %9776

9772:                                             ; preds = %9766
  %9773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9774 = call i32 @fileno(ptr noundef %9773) #12
  %9775 = call i32 @isatty(i32 noundef %9774) #12
  %.not1244 = icmp eq i32 %9775, 0
  br i1 %.not1244, label %9776, label %9777

9776:                                             ; preds = %9772, %9766
  br label %9777

9777:                                             ; preds = %9772, %9776
  %.str.5.sink4714 = phi ptr [ @.str.5, %9776 ], [ @.str.2, %9772 ]
  store i32 %9767, ptr %1901, align 4, !tbaa !5
  %9778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9779 = load i32, ptr @test_count, align 4, !tbaa !5
  %9780 = load i32, ptr %1847, align 4, !tbaa !5
  %9781 = call ptr @s2n_strerror(i32 noundef %9780, ptr noundef nonnull @.str.4) #12
  %9782 = load i32, ptr %1847, align 4, !tbaa !5
  %9783 = call ptr @s2n_strerror_debug(i32 noundef %9782, ptr noundef nonnull @.str.4) #12
  %9784 = load i32, ptr %1901, align 4, !tbaa !5
  %9785 = call ptr @strerror(i32 noundef %9784) #12
  %9786 = load i32, ptr %1901, align 4, !tbaa !5
  %9787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9778, ptr noundef nonnull %.str.5.sink4714, i32 noundef %9779, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 648, ptr noundef %9781, ptr noundef %9783, ptr noundef %9785, i32 noundef %9786) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9788:                                             ; preds = %9760
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %59) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %59, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %60) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %60, i8 0, i64 40, i1 false)
  %9789 = load i32, ptr @test_count, align 4, !tbaa !5
  %9790 = add nsw i32 %9789, 1
  store i32 %9790, ptr @test_count, align 4, !tbaa !5
  %9791 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %59, i32 noundef 0) #12
  %9792 = icmp eq i32 %9791, -1
  br i1 %9792, label %9793, label %9815

9793:                                             ; preds = %9788
  %9794 = load i32, ptr %1901, align 4, !tbaa !5
  %9795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9796 = call i32 @s2n_print_stacktrace(ptr noundef %9795) #12
  %9797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9798 = trunc nuw i8 %9797 to i1
  br i1 %9798, label %9799, label %9803

9799:                                             ; preds = %9793
  %9800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9801 = call i32 @fileno(ptr noundef %9800) #12
  %9802 = call i32 @isatty(i32 noundef %9801) #12
  %.not1243 = icmp eq i32 %9802, 0
  br i1 %.not1243, label %9803, label %9804

9803:                                             ; preds = %9799, %9793
  br label %9804

9804:                                             ; preds = %9799, %9803
  %.str.5.sink4723 = phi ptr [ @.str.5, %9803 ], [ @.str.2, %9799 ]
  store i32 %9794, ptr %1901, align 4, !tbaa !5
  %9805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9806 = load i32, ptr @test_count, align 4, !tbaa !5
  %9807 = load i32, ptr %1847, align 4, !tbaa !5
  %9808 = call ptr @s2n_strerror(i32 noundef %9807, ptr noundef nonnull @.str.4) #12
  %9809 = load i32, ptr %1847, align 4, !tbaa !5
  %9810 = call ptr @s2n_strerror_debug(i32 noundef %9809, ptr noundef nonnull @.str.4) #12
  %9811 = load i32, ptr %1901, align 4, !tbaa !5
  %9812 = call ptr @strerror(i32 noundef %9811) #12
  %9813 = load i32, ptr %1901, align 4, !tbaa !5
  %9814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9805, ptr noundef nonnull %.str.5.sink4723, i32 noundef %9806, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.1, i32 noundef 655, ptr noundef %9808, ptr noundef %9810, ptr noundef %9812, i32 noundef %9813) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9815:                                             ; preds = %9788
  %9816 = load i32, ptr @test_count, align 4, !tbaa !5
  %9817 = add nsw i32 %9816, 1
  store i32 %9817, ptr @test_count, align 4, !tbaa !5
  %9818 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %60, i32 noundef 0) #12
  %9819 = icmp eq i32 %9818, -1
  br i1 %9819, label %9820, label %9842

9820:                                             ; preds = %9815
  %9821 = load i32, ptr %1901, align 4, !tbaa !5
  %9822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9823 = call i32 @s2n_print_stacktrace(ptr noundef %9822) #12
  %9824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9825 = trunc nuw i8 %9824 to i1
  br i1 %9825, label %9826, label %9830

9826:                                             ; preds = %9820
  %9827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9828 = call i32 @fileno(ptr noundef %9827) #12
  %9829 = call i32 @isatty(i32 noundef %9828) #12
  %.not1242 = icmp eq i32 %9829, 0
  br i1 %.not1242, label %9830, label %9831

9830:                                             ; preds = %9826, %9820
  br label %9831

9831:                                             ; preds = %9826, %9830
  %.str.5.sink4732 = phi ptr [ @.str.5, %9830 ], [ @.str.2, %9826 ]
  store i32 %9821, ptr %1901, align 4, !tbaa !5
  %9832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9833 = load i32, ptr @test_count, align 4, !tbaa !5
  %9834 = load i32, ptr %1847, align 4, !tbaa !5
  %9835 = call ptr @s2n_strerror(i32 noundef %9834, ptr noundef nonnull @.str.4) #12
  %9836 = load i32, ptr %1847, align 4, !tbaa !5
  %9837 = call ptr @s2n_strerror_debug(i32 noundef %9836, ptr noundef nonnull @.str.4) #12
  %9838 = load i32, ptr %1901, align 4, !tbaa !5
  %9839 = call ptr @strerror(i32 noundef %9838) #12
  %9840 = load i32, ptr %1901, align 4, !tbaa !5
  %9841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9832, ptr noundef nonnull %.str.5.sink4732, i32 noundef %9833, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.1, i32 noundef 656, ptr noundef %9835, ptr noundef %9837, ptr noundef %9839, i32 noundef %9840) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9842:                                             ; preds = %9815
  %9843 = load i32, ptr @test_count, align 4, !tbaa !5
  %9844 = add nsw i32 %9843, 1
  store i32 %9844, ptr @test_count, align 4, !tbaa !5
  %9845 = load ptr, ptr %56, align 8, !tbaa !9
  %9846 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %59, ptr noundef nonnull %60, ptr noundef %9845) #12
  %9847 = icmp eq i32 %9846, -1
  br i1 %9847, label %9848, label %9870

9848:                                             ; preds = %9842
  %9849 = load i32, ptr %1901, align 4, !tbaa !5
  %9850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9851 = call i32 @s2n_print_stacktrace(ptr noundef %9850) #12
  %9852 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9853 = trunc nuw i8 %9852 to i1
  br i1 %9853, label %9854, label %9858

9854:                                             ; preds = %9848
  %9855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9856 = call i32 @fileno(ptr noundef %9855) #12
  %9857 = call i32 @isatty(i32 noundef %9856) #12
  %.not1241 = icmp eq i32 %9857, 0
  br i1 %.not1241, label %9858, label %9859

9858:                                             ; preds = %9854, %9848
  br label %9859

9859:                                             ; preds = %9854, %9858
  %.str.5.sink4741 = phi ptr [ @.str.5, %9858 ], [ @.str.2, %9854 ]
  store i32 %9849, ptr %1901, align 4, !tbaa !5
  %9860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9861 = load i32, ptr @test_count, align 4, !tbaa !5
  %9862 = load i32, ptr %1847, align 4, !tbaa !5
  %9863 = call ptr @s2n_strerror(i32 noundef %9862, ptr noundef nonnull @.str.4) #12
  %9864 = load i32, ptr %1847, align 4, !tbaa !5
  %9865 = call ptr @s2n_strerror_debug(i32 noundef %9864, ptr noundef nonnull @.str.4) #12
  %9866 = load i32, ptr %1901, align 4, !tbaa !5
  %9867 = call ptr @strerror(i32 noundef %9866) #12
  %9868 = load i32, ptr %1901, align 4, !tbaa !5
  %9869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9860, ptr noundef nonnull %.str.5.sink4741, i32 noundef %9861, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.1, i32 noundef 657, ptr noundef %9863, ptr noundef %9865, ptr noundef %9867, i32 noundef %9868) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9870:                                             ; preds = %9842
  %9871 = load i32, ptr @test_count, align 4, !tbaa !5
  %9872 = add nsw i32 %9871, 1
  store i32 %9872, ptr @test_count, align 4, !tbaa !5
  %9873 = load ptr, ptr %57, align 8, !tbaa !9
  %9874 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %60, ptr noundef nonnull %59, ptr noundef %9873) #12
  %9875 = icmp eq i32 %9874, -1
  br i1 %9875, label %9876, label %9898

9876:                                             ; preds = %9870
  %9877 = load i32, ptr %1901, align 4, !tbaa !5
  %9878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9879 = call i32 @s2n_print_stacktrace(ptr noundef %9878) #12
  %9880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9881 = trunc nuw i8 %9880 to i1
  br i1 %9881, label %9882, label %9886

9882:                                             ; preds = %9876
  %9883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9884 = call i32 @fileno(ptr noundef %9883) #12
  %9885 = call i32 @isatty(i32 noundef %9884) #12
  %.not1240 = icmp eq i32 %9885, 0
  br i1 %.not1240, label %9886, label %9887

9886:                                             ; preds = %9882, %9876
  br label %9887

9887:                                             ; preds = %9882, %9886
  %.str.5.sink4750 = phi ptr [ @.str.5, %9886 ], [ @.str.2, %9882 ]
  store i32 %9877, ptr %1901, align 4, !tbaa !5
  %9888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9889 = load i32, ptr @test_count, align 4, !tbaa !5
  %9890 = load i32, ptr %1847, align 4, !tbaa !5
  %9891 = call ptr @s2n_strerror(i32 noundef %9890, ptr noundef nonnull @.str.4) #12
  %9892 = load i32, ptr %1847, align 4, !tbaa !5
  %9893 = call ptr @s2n_strerror_debug(i32 noundef %9892, ptr noundef nonnull @.str.4) #12
  %9894 = load i32, ptr %1901, align 4, !tbaa !5
  %9895 = call ptr @strerror(i32 noundef %9894) #12
  %9896 = load i32, ptr %1901, align 4, !tbaa !5
  %9897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9888, ptr noundef nonnull %.str.5.sink4750, i32 noundef %9889, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.1, i32 noundef 658, ptr noundef %9891, ptr noundef %9893, ptr noundef %9895, i32 noundef %9896) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9898:                                             ; preds = %9870
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %61) #12
  store i32 0, ptr %61, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1000, ptr nonnull %62) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(1000) %62, i8 0, i64 1000, i1 false)
  store <4 x i8> <i8 104, i8 101, i8 108, i8 108>, ptr %62, align 16
  %9899 = getelementptr inbounds i8, ptr %62, i64 4
  store i8 111, ptr %9899, align 4
  %9900 = load i32, ptr @test_count, align 4, !tbaa !5
  %9901 = add nsw i32 %9900, 1
  store i32 %9901, ptr @test_count, align 4, !tbaa !5
  %9902 = load ptr, ptr %57, align 8, !tbaa !9
  %9903 = load ptr, ptr %56, align 8, !tbaa !9
  %9904 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %9902, ptr noundef %9903, i32 noundef 19) #12
  %9905 = call zeroext i1 @s2n_result_is_ok(i32 %9904)
  br i1 %9905, label %9928, label %9906

9906:                                             ; preds = %9898
  %9907 = load i32, ptr %1901, align 4, !tbaa !5
  %9908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9909 = call i32 @s2n_print_stacktrace(ptr noundef %9908) #12
  %9910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9911 = trunc nuw i8 %9910 to i1
  br i1 %9911, label %9912, label %9916

9912:                                             ; preds = %9906
  %9913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9914 = call i32 @fileno(ptr noundef %9913) #12
  %9915 = call i32 @isatty(i32 noundef %9914) #12
  %.not1129 = icmp eq i32 %9915, 0
  br i1 %.not1129, label %9916, label %9917

9916:                                             ; preds = %9912, %9906
  br label %9917

9917:                                             ; preds = %9912, %9916
  %.str.5.sink4759 = phi ptr [ @.str.5, %9916 ], [ @.str.2, %9912 ]
  store i32 %9907, ptr %1901, align 4, !tbaa !5
  %9918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9919 = load i32, ptr @test_count, align 4, !tbaa !5
  %9920 = load i32, ptr %1847, align 4, !tbaa !5
  %9921 = call ptr @s2n_strerror(i32 noundef %9920, ptr noundef nonnull @.str.4) #12
  %9922 = load i32, ptr %1847, align 4, !tbaa !5
  %9923 = call ptr @s2n_strerror_debug(i32 noundef %9922, ptr noundef nonnull @.str.4) #12
  %9924 = load i32, ptr %1901, align 4, !tbaa !5
  %9925 = call ptr @strerror(i32 noundef %9924) #12
  %9926 = load i32, ptr %1901, align 4, !tbaa !5
  %9927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9918, ptr noundef nonnull %.str.5.sink4759, i32 noundef %9919, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 664, ptr noundef %9921, ptr noundef %9923, ptr noundef %9925, i32 noundef %9926) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9928:                                             ; preds = %9898
  %9929 = load i32, ptr @test_count, align 4, !tbaa !5
  %9930 = load ptr, ptr %56, align 8, !tbaa !9
  %9931 = getelementptr inbounds i8, ptr %9930, i64 2208
  store i16 100, ptr %9931, align 8, !tbaa !48
  %9932 = add nsw i32 %9929, 2
  store i32 %9932, ptr @test_count, align 4, !tbaa !5
  %9933 = call i32 @s2n_stuffer_free(ptr noundef nonnull %60) #12
  %9934 = icmp eq i32 %9933, -1
  br i1 %9934, label %9935, label %9957

9935:                                             ; preds = %9928
  %9936 = load i32, ptr %1901, align 4, !tbaa !5
  %9937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9938 = call i32 @s2n_print_stacktrace(ptr noundef %9937) #12
  %9939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9940 = trunc nuw i8 %9939 to i1
  br i1 %9940, label %9941, label %9945

9941:                                             ; preds = %9935
  %9942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9943 = call i32 @fileno(ptr noundef %9942) #12
  %9944 = call i32 @isatty(i32 noundef %9943) #12
  %.not1239 = icmp eq i32 %9944, 0
  br i1 %.not1239, label %9945, label %9946

9945:                                             ; preds = %9941, %9935
  br label %9946

9946:                                             ; preds = %9941, %9945
  %.str.5.sink4768 = phi ptr [ @.str.5, %9945 ], [ @.str.2, %9941 ]
  store i32 %9936, ptr %1901, align 4, !tbaa !5
  %9947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9948 = load i32, ptr @test_count, align 4, !tbaa !5
  %9949 = load i32, ptr %1847, align 4, !tbaa !5
  %9950 = call ptr @s2n_strerror(i32 noundef %9949, ptr noundef nonnull @.str.4) #12
  %9951 = load i32, ptr %1847, align 4, !tbaa !5
  %9952 = call ptr @s2n_strerror_debug(i32 noundef %9951, ptr noundef nonnull @.str.4) #12
  %9953 = load i32, ptr %1901, align 4, !tbaa !5
  %9954 = call ptr @strerror(i32 noundef %9953) #12
  %9955 = load i32, ptr %1901, align 4, !tbaa !5
  %9956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9947, ptr noundef nonnull %.str.5.sink4768, i32 noundef %9948, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.1, i32 noundef 670, ptr noundef %9950, ptr noundef %9952, ptr noundef %9954, i32 noundef %9955) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9957:                                             ; preds = %9928
  %9958 = load i32, ptr @test_count, align 4, !tbaa !5
  %9959 = add nsw i32 %9958, 1
  store i32 %9959, ptr @test_count, align 4, !tbaa !5
  %9960 = call i32 @s2n_stuffer_alloc(ptr noundef nonnull %60, i32 noundef 150) #12
  %9961 = icmp eq i32 %9960, -1
  br i1 %9961, label %9962, label %9984

9962:                                             ; preds = %9957
  %9963 = load i32, ptr %1901, align 4, !tbaa !5
  %9964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9965 = call i32 @s2n_print_stacktrace(ptr noundef %9964) #12
  %9966 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9967 = trunc nuw i8 %9966 to i1
  br i1 %9967, label %9968, label %9972

9968:                                             ; preds = %9962
  %9969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9970 = call i32 @fileno(ptr noundef %9969) #12
  %9971 = call i32 @isatty(i32 noundef %9970) #12
  %.not1238 = icmp eq i32 %9971, 0
  br i1 %.not1238, label %9972, label %9973

9972:                                             ; preds = %9968, %9962
  br label %9973

9973:                                             ; preds = %9968, %9972
  %.str.5.sink4777 = phi ptr [ @.str.5, %9972 ], [ @.str.2, %9968 ]
  store i32 %9963, ptr %1901, align 4, !tbaa !5
  %9974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9975 = load i32, ptr @test_count, align 4, !tbaa !5
  %9976 = load i32, ptr %1847, align 4, !tbaa !5
  %9977 = call ptr @s2n_strerror(i32 noundef %9976, ptr noundef nonnull @.str.4) #12
  %9978 = load i32, ptr %1847, align 4, !tbaa !5
  %9979 = call ptr @s2n_strerror_debug(i32 noundef %9978, ptr noundef nonnull @.str.4) #12
  %9980 = load i32, ptr %1901, align 4, !tbaa !5
  %9981 = call ptr @strerror(i32 noundef %9980) #12
  %9982 = load i32, ptr %1901, align 4, !tbaa !5
  %9983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9974, ptr noundef nonnull %.str.5.sink4777, i32 noundef %9975, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.1, i32 noundef 675, ptr noundef %9977, ptr noundef %9979, ptr noundef %9981, i32 noundef %9982) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9984:                                             ; preds = %9957
  %9985 = load ptr, ptr %56, align 8, !tbaa !9
  %9986 = call i64 @s2n_send(ptr noundef %9985, ptr noundef nonnull %62, i64 noundef 200, ptr noundef nonnull %61) #12
  %9987 = load i32, ptr @test_count, align 4, !tbaa !5
  %9988 = add nsw i32 %9987, 1
  store i32 %9988, ptr @test_count, align 4, !tbaa !5
  %9989 = load i32, ptr %61, align 4, !tbaa !5
  %9990 = icmp eq i32 %9989, 2
  br i1 %9990, label %10013, label %9991

9991:                                             ; preds = %9984
  %9992 = load i32, ptr %1901, align 4, !tbaa !5
  %9993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9994 = call i32 @s2n_print_stacktrace(ptr noundef %9993) #12
  %9995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9996 = trunc nuw i8 %9995 to i1
  br i1 %9996, label %9997, label %10001

9997:                                             ; preds = %9991
  %9998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9999 = call i32 @fileno(ptr noundef %9998) #12
  %10000 = call i32 @isatty(i32 noundef %9999) #12
  %.not1130 = icmp eq i32 %10000, 0
  br i1 %.not1130, label %10001, label %10002

10001:                                            ; preds = %9997, %9991
  br label %10002

10002:                                            ; preds = %9997, %10001
  %.str.5.sink4786 = phi ptr [ @.str.5, %10001 ], [ @.str.2, %9997 ]
  store i32 %9992, ptr %1901, align 4, !tbaa !5
  %10003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10004 = load i32, ptr @test_count, align 4, !tbaa !5
  %10005 = load i32, ptr %1847, align 4, !tbaa !5
  %10006 = call ptr @s2n_strerror(i32 noundef %10005, ptr noundef nonnull @.str.4) #12
  %10007 = load i32, ptr %1847, align 4, !tbaa !5
  %10008 = call ptr @s2n_strerror_debug(i32 noundef %10007, ptr noundef nonnull @.str.4) #12
  %10009 = load i32, ptr %1901, align 4, !tbaa !5
  %10010 = call ptr @strerror(i32 noundef %10009) #12
  %10011 = load i32, ptr %1901, align 4, !tbaa !5
  %10012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10003, ptr noundef nonnull %.str.5.sink4786, i32 noundef %10004, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.1, i32 noundef 681, ptr noundef %10006, ptr noundef %10008, ptr noundef %10010, i32 noundef %10011) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10013:                                            ; preds = %9984
  %10014 = add nsw i32 %9987, 2
  store i32 %10014, ptr @test_count, align 4, !tbaa !5
  %10015 = icmp eq i64 %9986, 100
  br i1 %10015, label %10038, label %10016

10016:                                            ; preds = %10013
  %10017 = load i32, ptr %1901, align 4, !tbaa !5
  %10018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10019 = call i32 @s2n_print_stacktrace(ptr noundef %10018) #12
  %10020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10021 = trunc nuw i8 %10020 to i1
  br i1 %10021, label %10022, label %10026

10022:                                            ; preds = %10016
  %10023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10024 = call i32 @fileno(ptr noundef %10023) #12
  %10025 = call i32 @isatty(i32 noundef %10024) #12
  %.not1131 = icmp eq i32 %10025, 0
  br i1 %.not1131, label %10026, label %10027

10026:                                            ; preds = %10022, %10016
  br label %10027

10027:                                            ; preds = %10022, %10026
  %.str.5.sink4795 = phi ptr [ @.str.5, %10026 ], [ @.str.2, %10022 ]
  store i32 %10017, ptr %1901, align 4, !tbaa !5
  %10028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10029 = load i32, ptr @test_count, align 4, !tbaa !5
  %10030 = load i32, ptr %1847, align 4, !tbaa !5
  %10031 = call ptr @s2n_strerror(i32 noundef %10030, ptr noundef nonnull @.str.4) #12
  %10032 = load i32, ptr %1847, align 4, !tbaa !5
  %10033 = call ptr @s2n_strerror_debug(i32 noundef %10032, ptr noundef nonnull @.str.4) #12
  %10034 = load i32, ptr %1901, align 4, !tbaa !5
  %10035 = call ptr @strerror(i32 noundef %10034) #12
  %10036 = load i32, ptr %1901, align 4, !tbaa !5
  %10037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10028, ptr noundef nonnull %.str.5.sink4795, i32 noundef %10029, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.1, i32 noundef 682, ptr noundef %10031, ptr noundef %10033, ptr noundef %10035, i32 noundef %10036) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10038:                                            ; preds = %10013
  %10039 = add nsw i32 %9987, 3
  store i32 %10039, ptr @test_count, align 4, !tbaa !5
  %10040 = load ptr, ptr %56, align 8, !tbaa !9
  %10041 = getelementptr inbounds i8, ptr %10040, i64 2256
  %10042 = load i64, ptr %10041, align 8, !tbaa !45
  %10043 = icmp eq i64 %10042, 100
  br i1 %10043, label %10066, label %10044

10044:                                            ; preds = %10038
  %10045 = load i32, ptr %1901, align 4, !tbaa !5
  %10046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10047 = call i32 @s2n_print_stacktrace(ptr noundef %10046) #12
  %10048 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10049 = trunc nuw i8 %10048 to i1
  br i1 %10049, label %10050, label %10054

10050:                                            ; preds = %10044
  %10051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10052 = call i32 @fileno(ptr noundef %10051) #12
  %10053 = call i32 @isatty(i32 noundef %10052) #12
  %.not1132 = icmp eq i32 %10053, 0
  br i1 %.not1132, label %10054, label %10055

10054:                                            ; preds = %10050, %10044
  br label %10055

10055:                                            ; preds = %10050, %10054
  %.str.5.sink4804 = phi ptr [ @.str.5, %10054 ], [ @.str.2, %10050 ]
  store i32 %10045, ptr %1901, align 4, !tbaa !5
  %10056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10057 = load i32, ptr @test_count, align 4, !tbaa !5
  %10058 = load i32, ptr %1847, align 4, !tbaa !5
  %10059 = call ptr @s2n_strerror(i32 noundef %10058, ptr noundef nonnull @.str.4) #12
  %10060 = load i32, ptr %1847, align 4, !tbaa !5
  %10061 = call ptr @s2n_strerror_debug(i32 noundef %10060, ptr noundef nonnull @.str.4) #12
  %10062 = load i32, ptr %1901, align 4, !tbaa !5
  %10063 = call ptr @strerror(i32 noundef %10062) #12
  %10064 = load i32, ptr %1901, align 4, !tbaa !5
  %10065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10056, ptr noundef nonnull %.str.5.sink4804, i32 noundef %10057, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.1, i32 noundef 683, ptr noundef %10059, ptr noundef %10061, ptr noundef %10063, i32 noundef %10064) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10066:                                            ; preds = %10038
  call void @llvm.lifetime.end.p0(i64 1000, ptr nonnull %62) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %61) #12
  %10067 = call i32 @s2n_stuffer_free(ptr noundef nonnull %60) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %60) #12
  %10068 = call i32 @s2n_stuffer_free(ptr noundef nonnull %59) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %59) #12
  %10069 = call i32 @s2n_io_pair_close(ptr noundef nonnull %58) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #12
  %10070 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %57) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #12
  %10071 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %56) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %63) #12
  store ptr null, ptr %63, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %64) #12
  store ptr null, ptr %64, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %65) #12
  store i64 0, ptr %65, align 8
  %10072 = load i32, ptr @test_count, align 4, !tbaa !5
  %10073 = add nsw i32 %10072, 1
  store i32 %10073, ptr @test_count, align 4, !tbaa !5
  %10074 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %63, ptr noundef nonnull %64, ptr noundef nonnull %65)
  %10075 = call zeroext i1 @s2n_result_is_ok(i32 %10074)
  br i1 %10075, label %10098, label %10076

10076:                                            ; preds = %10066
  %10077 = load i32, ptr %1901, align 4, !tbaa !5
  %10078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10079 = call i32 @s2n_print_stacktrace(ptr noundef %10078) #12
  %10080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10081 = trunc nuw i8 %10080 to i1
  br i1 %10081, label %10082, label %10086

10082:                                            ; preds = %10076
  %10083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10084 = call i32 @fileno(ptr noundef %10083) #12
  %10085 = call i32 @isatty(i32 noundef %10084) #12
  %.not1133 = icmp eq i32 %10085, 0
  br i1 %.not1133, label %10086, label %10087

10086:                                            ; preds = %10082, %10076
  br label %10087

10087:                                            ; preds = %10082, %10086
  %.str.5.sink4813 = phi ptr [ @.str.5, %10086 ], [ @.str.2, %10082 ]
  store i32 %10077, ptr %1901, align 4, !tbaa !5
  %10088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10089 = load i32, ptr @test_count, align 4, !tbaa !5
  %10090 = load i32, ptr %1847, align 4, !tbaa !5
  %10091 = call ptr @s2n_strerror(i32 noundef %10090, ptr noundef nonnull @.str.4) #12
  %10092 = load i32, ptr %1847, align 4, !tbaa !5
  %10093 = call ptr @s2n_strerror_debug(i32 noundef %10092, ptr noundef nonnull @.str.4) #12
  %10094 = load i32, ptr %1901, align 4, !tbaa !5
  %10095 = call ptr @strerror(i32 noundef %10094) #12
  %10096 = load i32, ptr %1901, align 4, !tbaa !5
  %10097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10088, ptr noundef nonnull %.str.5.sink4813, i32 noundef %10089, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 693, ptr noundef %10091, ptr noundef %10093, ptr noundef %10095, i32 noundef %10096) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10098:                                            ; preds = %10066
  %10099 = load i32, ptr @test_count, align 4, !tbaa !5
  %10100 = add nsw i32 %10099, 1
  store i32 %10100, ptr @test_count, align 4, !tbaa !5
  %10101 = load ptr, ptr %63, align 8, !tbaa !9
  %10102 = call i32 @s2n_connection_append_psk(ptr noundef %10101, ptr noundef %6167) #12
  %10103 = icmp eq i32 %10102, -1
  br i1 %10103, label %10104, label %10126

10104:                                            ; preds = %10098
  %10105 = load i32, ptr %1901, align 4, !tbaa !5
  %10106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10107 = call i32 @s2n_print_stacktrace(ptr noundef %10106) #12
  %10108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10109 = trunc nuw i8 %10108 to i1
  br i1 %10109, label %10110, label %10114

10110:                                            ; preds = %10104
  %10111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10112 = call i32 @fileno(ptr noundef %10111) #12
  %10113 = call i32 @isatty(i32 noundef %10112) #12
  %.not1237 = icmp eq i32 %10113, 0
  br i1 %.not1237, label %10114, label %10115

10114:                                            ; preds = %10110, %10104
  br label %10115

10115:                                            ; preds = %10110, %10114
  %.str.5.sink4822 = phi ptr [ @.str.5, %10114 ], [ @.str.2, %10110 ]
  store i32 %10105, ptr %1901, align 4, !tbaa !5
  %10116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10117 = load i32, ptr @test_count, align 4, !tbaa !5
  %10118 = load i32, ptr %1847, align 4, !tbaa !5
  %10119 = call ptr @s2n_strerror(i32 noundef %10118, ptr noundef nonnull @.str.4) #12
  %10120 = load i32, ptr %1847, align 4, !tbaa !5
  %10121 = call ptr @s2n_strerror_debug(i32 noundef %10120, ptr noundef nonnull @.str.4) #12
  %10122 = load i32, ptr %1901, align 4, !tbaa !5
  %10123 = call ptr @strerror(i32 noundef %10122) #12
  %10124 = load i32, ptr %1901, align 4, !tbaa !5
  %10125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10116, ptr noundef nonnull %.str.5.sink4822, i32 noundef %10117, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 695, ptr noundef %10119, ptr noundef %10121, ptr noundef %10123, i32 noundef %10124) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10126:                                            ; preds = %10098
  %10127 = load i32, ptr @test_count, align 4, !tbaa !5
  %10128 = add nsw i32 %10127, 1
  store i32 %10128, ptr @test_count, align 4, !tbaa !5
  %10129 = load ptr, ptr %64, align 8, !tbaa !9
  %10130 = call i32 @s2n_connection_append_psk(ptr noundef %10129, ptr noundef %6167) #12
  %10131 = icmp eq i32 %10130, -1
  br i1 %10131, label %10132, label %10154

10132:                                            ; preds = %10126
  %10133 = load i32, ptr %1901, align 4, !tbaa !5
  %10134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10135 = call i32 @s2n_print_stacktrace(ptr noundef %10134) #12
  %10136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10137 = trunc nuw i8 %10136 to i1
  br i1 %10137, label %10138, label %10142

10138:                                            ; preds = %10132
  %10139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10140 = call i32 @fileno(ptr noundef %10139) #12
  %10141 = call i32 @isatty(i32 noundef %10140) #12
  %.not1236 = icmp eq i32 %10141, 0
  br i1 %.not1236, label %10142, label %10143

10142:                                            ; preds = %10138, %10132
  br label %10143

10143:                                            ; preds = %10138, %10142
  %.str.5.sink4831 = phi ptr [ @.str.5, %10142 ], [ @.str.2, %10138 ]
  store i32 %10133, ptr %1901, align 4, !tbaa !5
  %10144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10145 = load i32, ptr @test_count, align 4, !tbaa !5
  %10146 = load i32, ptr %1847, align 4, !tbaa !5
  %10147 = call ptr @s2n_strerror(i32 noundef %10146, ptr noundef nonnull @.str.4) #12
  %10148 = load i32, ptr %1847, align 4, !tbaa !5
  %10149 = call ptr @s2n_strerror_debug(i32 noundef %10148, ptr noundef nonnull @.str.4) #12
  %10150 = load i32, ptr %1901, align 4, !tbaa !5
  %10151 = call ptr @strerror(i32 noundef %10150) #12
  %10152 = load i32, ptr %1901, align 4, !tbaa !5
  %10153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10144, ptr noundef nonnull %.str.5.sink4831, i32 noundef %10145, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 696, ptr noundef %10147, ptr noundef %10149, ptr noundef %10151, i32 noundef %10152) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10154:                                            ; preds = %10126
  %10155 = load i32, ptr @test_count, align 4, !tbaa !5
  %10156 = add nsw i32 %10155, 1
  store i32 %10156, ptr @test_count, align 4, !tbaa !5
  %10157 = load ptr, ptr %63, align 8, !tbaa !9
  %10158 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %10157) #12
  %10159 = icmp eq i32 %10158, -1
  br i1 %10159, label %10160, label %10182

10160:                                            ; preds = %10154
  %10161 = load i32, ptr %1901, align 4, !tbaa !5
  %10162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10163 = call i32 @s2n_print_stacktrace(ptr noundef %10162) #12
  %10164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10165 = trunc nuw i8 %10164 to i1
  br i1 %10165, label %10166, label %10170

10166:                                            ; preds = %10160
  %10167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10168 = call i32 @fileno(ptr noundef %10167) #12
  %10169 = call i32 @isatty(i32 noundef %10168) #12
  %.not1235 = icmp eq i32 %10169, 0
  br i1 %.not1235, label %10170, label %10171

10170:                                            ; preds = %10166, %10160
  br label %10171

10171:                                            ; preds = %10166, %10170
  %.str.5.sink4840 = phi ptr [ @.str.5, %10170 ], [ @.str.2, %10166 ]
  store i32 %10161, ptr %1901, align 4, !tbaa !5
  %10172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10173 = load i32, ptr @test_count, align 4, !tbaa !5
  %10174 = load i32, ptr %1847, align 4, !tbaa !5
  %10175 = call ptr @s2n_strerror(i32 noundef %10174, ptr noundef nonnull @.str.4) #12
  %10176 = load i32, ptr %1847, align 4, !tbaa !5
  %10177 = call ptr @s2n_strerror_debug(i32 noundef %10176, ptr noundef nonnull @.str.4) #12
  %10178 = load i32, ptr %1901, align 4, !tbaa !5
  %10179 = call ptr @strerror(i32 noundef %10178) #12
  %10180 = load i32, ptr %1901, align 4, !tbaa !5
  %10181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10172, ptr noundef nonnull %.str.5.sink4840, i32 noundef %10173, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 697, ptr noundef %10175, ptr noundef %10177, ptr noundef %10179, i32 noundef %10180) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10182:                                            ; preds = %10154
  %10183 = load i32, ptr @test_count, align 4, !tbaa !5
  %10184 = add nsw i32 %10183, 1
  store i32 %10184, ptr @test_count, align 4, !tbaa !5
  %10185 = load ptr, ptr %64, align 8, !tbaa !9
  %10186 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %10185) #12
  %10187 = icmp eq i32 %10186, -1
  br i1 %10187, label %10188, label %10210

10188:                                            ; preds = %10182
  %10189 = load i32, ptr %1901, align 4, !tbaa !5
  %10190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10191 = call i32 @s2n_print_stacktrace(ptr noundef %10190) #12
  %10192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10193 = trunc nuw i8 %10192 to i1
  br i1 %10193, label %10194, label %10198

10194:                                            ; preds = %10188
  %10195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10196 = call i32 @fileno(ptr noundef %10195) #12
  %10197 = call i32 @isatty(i32 noundef %10196) #12
  %.not1234 = icmp eq i32 %10197, 0
  br i1 %.not1234, label %10198, label %10199

10198:                                            ; preds = %10194, %10188
  br label %10199

10199:                                            ; preds = %10194, %10198
  %.str.5.sink4849 = phi ptr [ @.str.5, %10198 ], [ @.str.2, %10194 ]
  store i32 %10189, ptr %1901, align 4, !tbaa !5
  %10200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10201 = load i32, ptr @test_count, align 4, !tbaa !5
  %10202 = load i32, ptr %1847, align 4, !tbaa !5
  %10203 = call ptr @s2n_strerror(i32 noundef %10202, ptr noundef nonnull @.str.4) #12
  %10204 = load i32, ptr %1847, align 4, !tbaa !5
  %10205 = call ptr @s2n_strerror_debug(i32 noundef %10204, ptr noundef nonnull @.str.4) #12
  %10206 = load i32, ptr %1901, align 4, !tbaa !5
  %10207 = call ptr @strerror(i32 noundef %10206) #12
  %10208 = load i32, ptr %1901, align 4, !tbaa !5
  %10209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10200, ptr noundef nonnull %.str.5.sink4849, i32 noundef %10201, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 698, ptr noundef %10203, ptr noundef %10205, ptr noundef %10207, i32 noundef %10208) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10210:                                            ; preds = %10182
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %66) #12
  store i32 0, ptr %66, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1000, ptr nonnull %67) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(1000) %67, i8 0, i64 1000, i1 false)
  %10211 = load i32, ptr @test_count, align 4, !tbaa !5
  %10212 = add nsw i32 %10211, 1
  store i32 %10212, ptr @test_count, align 4, !tbaa !5
  %10213 = load ptr, ptr %64, align 8, !tbaa !9
  %10214 = getelementptr inbounds i8, ptr %10213, i64 4088
  %10215 = load i32, ptr %10214, align 8, !tbaa !17
  %10216 = icmp eq i32 %10215, 0
  br i1 %10216, label %10239, label %10217

10217:                                            ; preds = %10210
  %10218 = load i32, ptr %1901, align 4, !tbaa !5
  %10219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10220 = call i32 @s2n_print_stacktrace(ptr noundef %10219) #12
  %10221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10222 = trunc nuw i8 %10221 to i1
  br i1 %10222, label %10223, label %10227

10223:                                            ; preds = %10217
  %10224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10225 = call i32 @fileno(ptr noundef %10224) #12
  %10226 = call i32 @isatty(i32 noundef %10225) #12
  %.not1134 = icmp eq i32 %10226, 0
  br i1 %.not1134, label %10227, label %10228

10227:                                            ; preds = %10223, %10217
  br label %10228

10228:                                            ; preds = %10223, %10227
  %.str.5.sink4858 = phi ptr [ @.str.5, %10227 ], [ @.str.2, %10223 ]
  store i32 %10218, ptr %1901, align 4, !tbaa !5
  %10229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10230 = load i32, ptr @test_count, align 4, !tbaa !5
  %10231 = load i32, ptr %1847, align 4, !tbaa !5
  %10232 = call ptr @s2n_strerror(i32 noundef %10231, ptr noundef nonnull @.str.4) #12
  %10233 = load i32, ptr %1847, align 4, !tbaa !5
  %10234 = call ptr @s2n_strerror_debug(i32 noundef %10233, ptr noundef nonnull @.str.4) #12
  %10235 = load i32, ptr %1901, align 4, !tbaa !5
  %10236 = call ptr @strerror(i32 noundef %10235) #12
  %10237 = load i32, ptr %1901, align 4, !tbaa !5
  %10238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10229, ptr noundef nonnull %.str.5.sink4858, i32 noundef %10230, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.1, i32 noundef 704, ptr noundef %10232, ptr noundef %10234, ptr noundef %10236, i32 noundef %10237) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10239:                                            ; preds = %10210
  %10240 = add nsw i32 %10211, 2
  store i32 %10240, ptr @test_count, align 4, !tbaa !5
  %10241 = call i64 @s2n_recv(ptr noundef nonnull %10213, ptr noundef nonnull %67, i64 noundef 1000, ptr noundef nonnull %66) #12
  %10242 = icmp eq i64 %10241, -1
  br i1 %10242, label %10265, label %10243

10243:                                            ; preds = %10239
  %10244 = load i32, ptr %1901, align 4, !tbaa !5
  %10245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10246 = call i32 @s2n_print_stacktrace(ptr noundef %10245) #12
  %10247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10248 = trunc nuw i8 %10247 to i1
  br i1 %10248, label %10249, label %10253

10249:                                            ; preds = %10243
  %10250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10251 = call i32 @fileno(ptr noundef %10250) #12
  %10252 = call i32 @isatty(i32 noundef %10251) #12
  %.not1135 = icmp eq i32 %10252, 0
  br i1 %.not1135, label %10253, label %10254

10253:                                            ; preds = %10249, %10243
  br label %10254

10254:                                            ; preds = %10249, %10253
  %.str.5.sink4867 = phi ptr [ @.str.5, %10253 ], [ @.str.2, %10249 ]
  store i32 %10244, ptr %1901, align 4, !tbaa !5
  %10255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10256 = load i32, ptr @test_count, align 4, !tbaa !5
  %10257 = load i32, ptr %1847, align 4, !tbaa !5
  %10258 = call ptr @s2n_strerror(i32 noundef %10257, ptr noundef nonnull @.str.4) #12
  %10259 = load i32, ptr %1847, align 4, !tbaa !5
  %10260 = call ptr @s2n_strerror_debug(i32 noundef %10259, ptr noundef nonnull @.str.4) #12
  %10261 = load i32, ptr %1901, align 4, !tbaa !5
  %10262 = call ptr @strerror(i32 noundef %10261) #12
  %10263 = load i32, ptr %1901, align 4, !tbaa !5
  %10264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10255, ptr noundef nonnull %.str.5.sink4867, i32 noundef %10256, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.1, i32 noundef 706, ptr noundef %10258, ptr noundef %10260, ptr noundef %10262, i32 noundef %10263) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10265:                                            ; preds = %10239
  %10266 = load i32, ptr @test_count, align 4, !tbaa !5
  %10267 = add nsw i32 %10266, 1
  store i32 %10267, ptr @test_count, align 4, !tbaa !5
  %10268 = load i32, ptr %1847, align 4, !tbaa !5
  %10269 = icmp eq i32 %10268, 469762113
  br i1 %10269, label %10292, label %10270

10270:                                            ; preds = %10265
  %10271 = load i32, ptr %1901, align 4, !tbaa !5
  %10272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10273 = call i32 @s2n_print_stacktrace(ptr noundef %10272) #12
  %10274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10275 = trunc nuw i8 %10274 to i1
  br i1 %10275, label %10276, label %10280

10276:                                            ; preds = %10270
  %10277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10278 = call i32 @fileno(ptr noundef %10277) #12
  %10279 = call i32 @isatty(i32 noundef %10278) #12
  %.not1136 = icmp eq i32 %10279, 0
  br i1 %.not1136, label %10280, label %10281

10280:                                            ; preds = %10276, %10270
  br label %10281

10281:                                            ; preds = %10276, %10280
  %.str.5.sink4876 = phi ptr [ @.str.5, %10280 ], [ @.str.2, %10276 ]
  store i32 %10271, ptr %1901, align 4, !tbaa !5
  %10282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10283 = load i32, ptr @test_count, align 4, !tbaa !5
  %10284 = load i32, ptr %1847, align 4, !tbaa !5
  %10285 = call ptr @s2n_strerror(i32 noundef %10284, ptr noundef nonnull @.str.4) #12
  %10286 = load i32, ptr %1847, align 4, !tbaa !5
  %10287 = call ptr @s2n_strerror_debug(i32 noundef %10286, ptr noundef nonnull @.str.4) #12
  %10288 = load i32, ptr %1901, align 4, !tbaa !5
  %10289 = call ptr @strerror(i32 noundef %10288) #12
  %10290 = load i32, ptr %1901, align 4, !tbaa !5
  %10291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10282, ptr noundef nonnull %.str.5.sink4876, i32 noundef %10283, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 706, ptr noundef %10285, ptr noundef %10287, ptr noundef %10289, i32 noundef %10290) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10292:                                            ; preds = %10265
  %10293 = add nsw i32 %10266, 2
  store i32 %10293, ptr @test_count, align 4, !tbaa !5
  %10294 = call ptr @s2n_strerror_debug(i32 noundef 469762113, ptr noundef nonnull @.str.4) #12
  %10295 = icmp eq ptr %10294, null
  br i1 %10295, label %10296, label %10318

10296:                                            ; preds = %10292
  %10297 = load i32, ptr %1901, align 4, !tbaa !5
  %10298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10299 = call i32 @s2n_print_stacktrace(ptr noundef %10298) #12
  %10300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10301 = trunc nuw i8 %10300 to i1
  br i1 %10301, label %10302, label %10306

10302:                                            ; preds = %10296
  %10303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10304 = call i32 @fileno(ptr noundef %10303) #12
  %10305 = call i32 @isatty(i32 noundef %10304) #12
  %.not1233 = icmp eq i32 %10305, 0
  br i1 %.not1233, label %10306, label %10307

10306:                                            ; preds = %10302, %10296
  br label %10307

10307:                                            ; preds = %10302, %10306
  %.str.5.sink4885 = phi ptr [ @.str.5, %10306 ], [ @.str.2, %10302 ]
  store i32 %10297, ptr %1901, align 4, !tbaa !5
  %10308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10309 = load i32, ptr @test_count, align 4, !tbaa !5
  %10310 = load i32, ptr %1847, align 4, !tbaa !5
  %10311 = call ptr @s2n_strerror(i32 noundef %10310, ptr noundef nonnull @.str.4) #12
  %10312 = load i32, ptr %1847, align 4, !tbaa !5
  %10313 = call ptr @s2n_strerror_debug(i32 noundef %10312, ptr noundef nonnull @.str.4) #12
  %10314 = load i32, ptr %1901, align 4, !tbaa !5
  %10315 = call ptr @strerror(i32 noundef %10314) #12
  %10316 = load i32, ptr %1901, align 4, !tbaa !5
  %10317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10308, ptr noundef nonnull %.str.5.sink4885, i32 noundef %10309, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 706, ptr noundef %10311, ptr noundef %10313, ptr noundef %10315, i32 noundef %10316) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10318:                                            ; preds = %10292
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %10319 = load i32, ptr @test_count, align 4, !tbaa !5
  %10320 = add nsw i32 %10319, 1
  store i32 %10320, ptr @test_count, align 4, !tbaa !5
  %10321 = load ptr, ptr %64, align 8, !tbaa !9
  %10322 = call i64 @s2n_recv(ptr noundef %10321, ptr noundef nonnull %67, i64 noundef 0, ptr noundef nonnull %66) #12
  %10323 = icmp eq i64 %10322, -1
  br i1 %10323, label %10346, label %10324

10324:                                            ; preds = %10318
  %10325 = load i32, ptr %1901, align 4, !tbaa !5
  %10326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10327 = call i32 @s2n_print_stacktrace(ptr noundef %10326) #12
  %10328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10329 = trunc nuw i8 %10328 to i1
  br i1 %10329, label %10330, label %10334

10330:                                            ; preds = %10324
  %10331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10332 = call i32 @fileno(ptr noundef %10331) #12
  %10333 = call i32 @isatty(i32 noundef %10332) #12
  %.not1137 = icmp eq i32 %10333, 0
  br i1 %.not1137, label %10334, label %10335

10334:                                            ; preds = %10330, %10324
  br label %10335

10335:                                            ; preds = %10330, %10334
  %.str.5.sink4894 = phi ptr [ @.str.5, %10334 ], [ @.str.2, %10330 ]
  store i32 %10325, ptr %1901, align 4, !tbaa !5
  %10336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10337 = load i32, ptr @test_count, align 4, !tbaa !5
  %10338 = load i32, ptr %1847, align 4, !tbaa !5
  %10339 = call ptr @s2n_strerror(i32 noundef %10338, ptr noundef nonnull @.str.4) #12
  %10340 = load i32, ptr %1847, align 4, !tbaa !5
  %10341 = call ptr @s2n_strerror_debug(i32 noundef %10340, ptr noundef nonnull @.str.4) #12
  %10342 = load i32, ptr %1901, align 4, !tbaa !5
  %10343 = call ptr @strerror(i32 noundef %10342) #12
  %10344 = load i32, ptr %1901, align 4, !tbaa !5
  %10345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10336, ptr noundef nonnull %.str.5.sink4894, i32 noundef %10337, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.1, i32 noundef 708, ptr noundef %10339, ptr noundef %10341, ptr noundef %10343, i32 noundef %10344) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10346:                                            ; preds = %10318
  %10347 = load i32, ptr @test_count, align 4, !tbaa !5
  %10348 = add nsw i32 %10347, 1
  store i32 %10348, ptr @test_count, align 4, !tbaa !5
  %10349 = load i32, ptr %1847, align 4, !tbaa !5
  %10350 = icmp eq i32 %10349, 469762113
  br i1 %10350, label %10373, label %10351

10351:                                            ; preds = %10346
  %10352 = load i32, ptr %1901, align 4, !tbaa !5
  %10353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10354 = call i32 @s2n_print_stacktrace(ptr noundef %10353) #12
  %10355 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10356 = trunc nuw i8 %10355 to i1
  br i1 %10356, label %10357, label %10361

10357:                                            ; preds = %10351
  %10358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10359 = call i32 @fileno(ptr noundef %10358) #12
  %10360 = call i32 @isatty(i32 noundef %10359) #12
  %.not1138 = icmp eq i32 %10360, 0
  br i1 %.not1138, label %10361, label %10362

10361:                                            ; preds = %10357, %10351
  br label %10362

10362:                                            ; preds = %10357, %10361
  %.str.5.sink4903 = phi ptr [ @.str.5, %10361 ], [ @.str.2, %10357 ]
  store i32 %10352, ptr %1901, align 4, !tbaa !5
  %10363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10364 = load i32, ptr @test_count, align 4, !tbaa !5
  %10365 = load i32, ptr %1847, align 4, !tbaa !5
  %10366 = call ptr @s2n_strerror(i32 noundef %10365, ptr noundef nonnull @.str.4) #12
  %10367 = load i32, ptr %1847, align 4, !tbaa !5
  %10368 = call ptr @s2n_strerror_debug(i32 noundef %10367, ptr noundef nonnull @.str.4) #12
  %10369 = load i32, ptr %1901, align 4, !tbaa !5
  %10370 = call ptr @strerror(i32 noundef %10369) #12
  %10371 = load i32, ptr %1901, align 4, !tbaa !5
  %10372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10363, ptr noundef nonnull %.str.5.sink4903, i32 noundef %10364, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 708, ptr noundef %10366, ptr noundef %10368, ptr noundef %10370, i32 noundef %10371) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10373:                                            ; preds = %10346
  %10374 = add nsw i32 %10347, 2
  store i32 %10374, ptr @test_count, align 4, !tbaa !5
  %10375 = call ptr @s2n_strerror_debug(i32 noundef 469762113, ptr noundef nonnull @.str.4) #12
  %10376 = icmp eq ptr %10375, null
  br i1 %10376, label %10377, label %10399

10377:                                            ; preds = %10373
  %10378 = load i32, ptr %1901, align 4, !tbaa !5
  %10379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10380 = call i32 @s2n_print_stacktrace(ptr noundef %10379) #12
  %10381 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10382 = trunc nuw i8 %10381 to i1
  br i1 %10382, label %10383, label %10387

10383:                                            ; preds = %10377
  %10384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10385 = call i32 @fileno(ptr noundef %10384) #12
  %10386 = call i32 @isatty(i32 noundef %10385) #12
  %.not1232 = icmp eq i32 %10386, 0
  br i1 %.not1232, label %10387, label %10388

10387:                                            ; preds = %10383, %10377
  br label %10388

10388:                                            ; preds = %10383, %10387
  %.str.5.sink4912 = phi ptr [ @.str.5, %10387 ], [ @.str.2, %10383 ]
  store i32 %10378, ptr %1901, align 4, !tbaa !5
  %10389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10390 = load i32, ptr @test_count, align 4, !tbaa !5
  %10391 = load i32, ptr %1847, align 4, !tbaa !5
  %10392 = call ptr @s2n_strerror(i32 noundef %10391, ptr noundef nonnull @.str.4) #12
  %10393 = load i32, ptr %1847, align 4, !tbaa !5
  %10394 = call ptr @s2n_strerror_debug(i32 noundef %10393, ptr noundef nonnull @.str.4) #12
  %10395 = load i32, ptr %1901, align 4, !tbaa !5
  %10396 = call ptr @strerror(i32 noundef %10395) #12
  %10397 = load i32, ptr %1901, align 4, !tbaa !5
  %10398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10389, ptr noundef nonnull %.str.5.sink4912, i32 noundef %10390, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 708, ptr noundef %10392, ptr noundef %10394, ptr noundef %10396, i32 noundef %10397) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10399:                                            ; preds = %10373
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %10400 = load i32, ptr @test_count, align 4, !tbaa !5
  %10401 = add nsw i32 %10400, 1
  store i32 %10401, ptr @test_count, align 4, !tbaa !5
  %10402 = load ptr, ptr %64, align 8, !tbaa !9
  %10403 = load ptr, ptr %63, align 8, !tbaa !9
  %10404 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %10402, ptr noundef %10403, i32 noundef 1) #12
  %10405 = call zeroext i1 @s2n_result_is_ok(i32 %10404)
  br i1 %10405, label %10428, label %10406

10406:                                            ; preds = %10399
  %10407 = load i32, ptr %1901, align 4, !tbaa !5
  %10408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10409 = call i32 @s2n_print_stacktrace(ptr noundef %10408) #12
  %10410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10411 = trunc nuw i8 %10410 to i1
  br i1 %10411, label %10412, label %10416

10412:                                            ; preds = %10406
  %10413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10414 = call i32 @fileno(ptr noundef %10413) #12
  %10415 = call i32 @isatty(i32 noundef %10414) #12
  %.not1139 = icmp eq i32 %10415, 0
  br i1 %.not1139, label %10416, label %10417

10416:                                            ; preds = %10412, %10406
  br label %10417

10417:                                            ; preds = %10412, %10416
  %.str.5.sink4921 = phi ptr [ @.str.5, %10416 ], [ @.str.2, %10412 ]
  store i32 %10407, ptr %1901, align 4, !tbaa !5
  %10418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10419 = load i32, ptr @test_count, align 4, !tbaa !5
  %10420 = load i32, ptr %1847, align 4, !tbaa !5
  %10421 = call ptr @s2n_strerror(i32 noundef %10420, ptr noundef nonnull @.str.4) #12
  %10422 = load i32, ptr %1847, align 4, !tbaa !5
  %10423 = call ptr @s2n_strerror_debug(i32 noundef %10422, ptr noundef nonnull @.str.4) #12
  %10424 = load i32, ptr %1901, align 4, !tbaa !5
  %10425 = call ptr @strerror(i32 noundef %10424) #12
  %10426 = load i32, ptr %1901, align 4, !tbaa !5
  %10427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10418, ptr noundef nonnull %.str.5.sink4921, i32 noundef %10419, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 712, ptr noundef %10421, ptr noundef %10423, ptr noundef %10425, i32 noundef %10426) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10428:                                            ; preds = %10399
  %10429 = load i32, ptr @test_count, align 4, !tbaa !5
  %10430 = add nsw i32 %10429, 1
  store i32 %10430, ptr @test_count, align 4, !tbaa !5
  %10431 = load ptr, ptr %64, align 8, !tbaa !9
  %10432 = call i64 @s2n_recv(ptr noundef %10431, ptr noundef nonnull %67, i64 noundef 0, ptr noundef nonnull %66) #12
  %10433 = icmp eq i64 %10432, -1
  br i1 %10433, label %10456, label %10434

10434:                                            ; preds = %10428
  %10435 = load i32, ptr %1901, align 4, !tbaa !5
  %10436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10437 = call i32 @s2n_print_stacktrace(ptr noundef %10436) #12
  %10438 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10439 = trunc nuw i8 %10438 to i1
  br i1 %10439, label %10440, label %10444

10440:                                            ; preds = %10434
  %10441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10442 = call i32 @fileno(ptr noundef %10441) #12
  %10443 = call i32 @isatty(i32 noundef %10442) #12
  %.not1140 = icmp eq i32 %10443, 0
  br i1 %.not1140, label %10444, label %10445

10444:                                            ; preds = %10440, %10434
  br label %10445

10445:                                            ; preds = %10440, %10444
  %.str.5.sink4930 = phi ptr [ @.str.5, %10444 ], [ @.str.2, %10440 ]
  store i32 %10435, ptr %1901, align 4, !tbaa !5
  %10446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10447 = load i32, ptr @test_count, align 4, !tbaa !5
  %10448 = load i32, ptr %1847, align 4, !tbaa !5
  %10449 = call ptr @s2n_strerror(i32 noundef %10448, ptr noundef nonnull @.str.4) #12
  %10450 = load i32, ptr %1847, align 4, !tbaa !5
  %10451 = call ptr @s2n_strerror_debug(i32 noundef %10450, ptr noundef nonnull @.str.4) #12
  %10452 = load i32, ptr %1901, align 4, !tbaa !5
  %10453 = call ptr @strerror(i32 noundef %10452) #12
  %10454 = load i32, ptr %1901, align 4, !tbaa !5
  %10455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10446, ptr noundef nonnull %.str.5.sink4930, i32 noundef %10447, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.1, i32 noundef 713, ptr noundef %10449, ptr noundef %10451, ptr noundef %10453, i32 noundef %10454) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10456:                                            ; preds = %10428
  %10457 = load i32, ptr @test_count, align 4, !tbaa !5
  %10458 = add nsw i32 %10457, 1
  store i32 %10458, ptr @test_count, align 4, !tbaa !5
  %10459 = load i32, ptr %1847, align 4, !tbaa !5
  %10460 = icmp eq i32 %10459, 469762113
  br i1 %10460, label %10483, label %10461

10461:                                            ; preds = %10456
  %10462 = load i32, ptr %1901, align 4, !tbaa !5
  %10463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10464 = call i32 @s2n_print_stacktrace(ptr noundef %10463) #12
  %10465 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10466 = trunc nuw i8 %10465 to i1
  br i1 %10466, label %10467, label %10471

10467:                                            ; preds = %10461
  %10468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10469 = call i32 @fileno(ptr noundef %10468) #12
  %10470 = call i32 @isatty(i32 noundef %10469) #12
  %.not1141 = icmp eq i32 %10470, 0
  br i1 %.not1141, label %10471, label %10472

10471:                                            ; preds = %10467, %10461
  br label %10472

10472:                                            ; preds = %10467, %10471
  %.str.5.sink4939 = phi ptr [ @.str.5, %10471 ], [ @.str.2, %10467 ]
  store i32 %10462, ptr %1901, align 4, !tbaa !5
  %10473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10474 = load i32, ptr @test_count, align 4, !tbaa !5
  %10475 = load i32, ptr %1847, align 4, !tbaa !5
  %10476 = call ptr @s2n_strerror(i32 noundef %10475, ptr noundef nonnull @.str.4) #12
  %10477 = load i32, ptr %1847, align 4, !tbaa !5
  %10478 = call ptr @s2n_strerror_debug(i32 noundef %10477, ptr noundef nonnull @.str.4) #12
  %10479 = load i32, ptr %1901, align 4, !tbaa !5
  %10480 = call ptr @strerror(i32 noundef %10479) #12
  %10481 = load i32, ptr %1901, align 4, !tbaa !5
  %10482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10473, ptr noundef nonnull %.str.5.sink4939, i32 noundef %10474, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 713, ptr noundef %10476, ptr noundef %10478, ptr noundef %10480, i32 noundef %10481) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10483:                                            ; preds = %10456
  %10484 = add nsw i32 %10457, 2
  store i32 %10484, ptr @test_count, align 4, !tbaa !5
  %10485 = call ptr @s2n_strerror_debug(i32 noundef 469762113, ptr noundef nonnull @.str.4) #12
  %10486 = icmp eq ptr %10485, null
  br i1 %10486, label %10487, label %10509

10487:                                            ; preds = %10483
  %10488 = load i32, ptr %1901, align 4, !tbaa !5
  %10489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10490 = call i32 @s2n_print_stacktrace(ptr noundef %10489) #12
  %10491 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10492 = trunc nuw i8 %10491 to i1
  br i1 %10492, label %10493, label %10497

10493:                                            ; preds = %10487
  %10494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10495 = call i32 @fileno(ptr noundef %10494) #12
  %10496 = call i32 @isatty(i32 noundef %10495) #12
  %.not1231 = icmp eq i32 %10496, 0
  br i1 %.not1231, label %10497, label %10498

10497:                                            ; preds = %10493, %10487
  br label %10498

10498:                                            ; preds = %10493, %10497
  %.str.5.sink4948 = phi ptr [ @.str.5, %10497 ], [ @.str.2, %10493 ]
  store i32 %10488, ptr %1901, align 4, !tbaa !5
  %10499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10500 = load i32, ptr @test_count, align 4, !tbaa !5
  %10501 = load i32, ptr %1847, align 4, !tbaa !5
  %10502 = call ptr @s2n_strerror(i32 noundef %10501, ptr noundef nonnull @.str.4) #12
  %10503 = load i32, ptr %1847, align 4, !tbaa !5
  %10504 = call ptr @s2n_strerror_debug(i32 noundef %10503, ptr noundef nonnull @.str.4) #12
  %10505 = load i32, ptr %1901, align 4, !tbaa !5
  %10506 = call ptr @strerror(i32 noundef %10505) #12
  %10507 = load i32, ptr %1901, align 4, !tbaa !5
  %10508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10499, ptr noundef nonnull %.str.5.sink4948, i32 noundef %10500, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 713, ptr noundef %10502, ptr noundef %10504, ptr noundef %10506, i32 noundef %10507) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10509:                                            ; preds = %10483
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %10510 = load i32, ptr @test_count, align 4, !tbaa !5
  %10511 = add nsw i32 %10510, 1
  store i32 %10511, ptr @test_count, align 4, !tbaa !5
  %10512 = load ptr, ptr %64, align 8, !tbaa !9
  %10513 = load ptr, ptr %63, align 8, !tbaa !9
  %10514 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %10512, ptr noundef %10513, i32 noundef 19) #12
  %10515 = call zeroext i1 @s2n_result_is_ok(i32 %10514)
  br i1 %10515, label %10538, label %10516

10516:                                            ; preds = %10509
  %10517 = load i32, ptr %1901, align 4, !tbaa !5
  %10518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10519 = call i32 @s2n_print_stacktrace(ptr noundef %10518) #12
  %10520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10521 = trunc nuw i8 %10520 to i1
  br i1 %10521, label %10522, label %10526

10522:                                            ; preds = %10516
  %10523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10524 = call i32 @fileno(ptr noundef %10523) #12
  %10525 = call i32 @isatty(i32 noundef %10524) #12
  %.not1142 = icmp eq i32 %10525, 0
  br i1 %.not1142, label %10526, label %10527

10526:                                            ; preds = %10522, %10516
  br label %10527

10527:                                            ; preds = %10522, %10526
  %.str.5.sink4957 = phi ptr [ @.str.5, %10526 ], [ @.str.2, %10522 ]
  store i32 %10517, ptr %1901, align 4, !tbaa !5
  %10528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10529 = load i32, ptr @test_count, align 4, !tbaa !5
  %10530 = load i32, ptr %1847, align 4, !tbaa !5
  %10531 = call ptr @s2n_strerror(i32 noundef %10530, ptr noundef nonnull @.str.4) #12
  %10532 = load i32, ptr %1847, align 4, !tbaa !5
  %10533 = call ptr @s2n_strerror_debug(i32 noundef %10532, ptr noundef nonnull @.str.4) #12
  %10534 = load i32, ptr %1901, align 4, !tbaa !5
  %10535 = call ptr @strerror(i32 noundef %10534) #12
  %10536 = load i32, ptr %1901, align 4, !tbaa !5
  %10537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10528, ptr noundef nonnull %.str.5.sink4957, i32 noundef %10529, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 717, ptr noundef %10531, ptr noundef %10533, ptr noundef %10535, i32 noundef %10536) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10538:                                            ; preds = %10509
  %10539 = load i32, ptr @test_count, align 4, !tbaa !5
  %10540 = add nsw i32 %10539, 1
  store i32 %10540, ptr @test_count, align 4, !tbaa !5
  %10541 = load ptr, ptr %64, align 8, !tbaa !9
  %10542 = call i64 @s2n_recv(ptr noundef %10541, ptr noundef nonnull %67, i64 noundef 0, ptr noundef nonnull %66) #12
  %10543 = icmp eq i64 %10542, 0
  br i1 %10543, label %10566, label %10544

10544:                                            ; preds = %10538
  %10545 = load i32, ptr %1901, align 4, !tbaa !5
  %10546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10547 = call i32 @s2n_print_stacktrace(ptr noundef %10546) #12
  %10548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10549 = trunc nuw i8 %10548 to i1
  br i1 %10549, label %10550, label %10554

10550:                                            ; preds = %10544
  %10551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10552 = call i32 @fileno(ptr noundef %10551) #12
  %10553 = call i32 @isatty(i32 noundef %10552) #12
  %.not1143 = icmp eq i32 %10553, 0
  br i1 %.not1143, label %10554, label %10555

10554:                                            ; preds = %10550, %10544
  br label %10555

10555:                                            ; preds = %10550, %10554
  %.str.5.sink4966 = phi ptr [ @.str.5, %10554 ], [ @.str.2, %10550 ]
  store i32 %10545, ptr %1901, align 4, !tbaa !5
  %10556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10557 = load i32, ptr @test_count, align 4, !tbaa !5
  %10558 = load i32, ptr %1847, align 4, !tbaa !5
  %10559 = call ptr @s2n_strerror(i32 noundef %10558, ptr noundef nonnull @.str.4) #12
  %10560 = load i32, ptr %1847, align 4, !tbaa !5
  %10561 = call ptr @s2n_strerror_debug(i32 noundef %10560, ptr noundef nonnull @.str.4) #12
  %10562 = load i32, ptr %1901, align 4, !tbaa !5
  %10563 = call ptr @strerror(i32 noundef %10562) #12
  %10564 = load i32, ptr %1901, align 4, !tbaa !5
  %10565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10556, ptr noundef nonnull %.str.5.sink4966, i32 noundef %10557, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.1, i32 noundef 718, ptr noundef %10559, ptr noundef %10561, ptr noundef %10563, i32 noundef %10564) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10566:                                            ; preds = %10538
  %10567 = load i32, ptr @test_count, align 4, !tbaa !5
  %10568 = add nsw i32 %10567, 1
  store i32 %10568, ptr @test_count, align 4, !tbaa !5
  %10569 = load ptr, ptr %63, align 8, !tbaa !9
  %10570 = call i64 @s2n_send(ptr noundef %10569, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %66) #12
  %10571 = icmp eq i64 %10570, 12
  br i1 %10571, label %10594, label %10572

10572:                                            ; preds = %10566
  %10573 = load i32, ptr %1901, align 4, !tbaa !5
  %10574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10575 = call i32 @s2n_print_stacktrace(ptr noundef %10574) #12
  %10576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10577 = trunc nuw i8 %10576 to i1
  br i1 %10577, label %10578, label %10582

10578:                                            ; preds = %10572
  %10579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10580 = call i32 @fileno(ptr noundef %10579) #12
  %10581 = call i32 @isatty(i32 noundef %10580) #12
  %.not1144 = icmp eq i32 %10581, 0
  br i1 %.not1144, label %10582, label %10583

10582:                                            ; preds = %10578, %10572
  br label %10583

10583:                                            ; preds = %10578, %10582
  %.str.5.sink4975 = phi ptr [ @.str.5, %10582 ], [ @.str.2, %10578 ]
  store i32 %10573, ptr %1901, align 4, !tbaa !5
  %10584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10585 = load i32, ptr @test_count, align 4, !tbaa !5
  %10586 = load i32, ptr %1847, align 4, !tbaa !5
  %10587 = call ptr @s2n_strerror(i32 noundef %10586, ptr noundef nonnull @.str.4) #12
  %10588 = load i32, ptr %1847, align 4, !tbaa !5
  %10589 = call ptr @s2n_strerror_debug(i32 noundef %10588, ptr noundef nonnull @.str.4) #12
  %10590 = load i32, ptr %1901, align 4, !tbaa !5
  %10591 = call ptr @strerror(i32 noundef %10590) #12
  %10592 = load i32, ptr %1901, align 4, !tbaa !5
  %10593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10584, ptr noundef nonnull %.str.5.sink4975, i32 noundef %10585, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 721, ptr noundef %10587, ptr noundef %10589, ptr noundef %10591, i32 noundef %10592) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10594:                                            ; preds = %10566
  %10595 = load i32, ptr @test_count, align 4, !tbaa !5
  %10596 = add nsw i32 %10595, 1
  store i32 %10596, ptr @test_count, align 4, !tbaa !5
  %10597 = load ptr, ptr %64, align 8, !tbaa !9
  %10598 = call i32 @s2n_negotiate(ptr noundef %10597, ptr noundef nonnull %66) #12
  %10599 = icmp eq i32 %10598, -1
  br i1 %10599, label %10622, label %10600

10600:                                            ; preds = %10594
  %10601 = load i32, ptr %1901, align 4, !tbaa !5
  %10602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10603 = call i32 @s2n_print_stacktrace(ptr noundef %10602) #12
  %10604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10605 = trunc nuw i8 %10604 to i1
  br i1 %10605, label %10606, label %10610

10606:                                            ; preds = %10600
  %10607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10608 = call i32 @fileno(ptr noundef %10607) #12
  %10609 = call i32 @isatty(i32 noundef %10608) #12
  %.not1145 = icmp eq i32 %10609, 0
  br i1 %.not1145, label %10610, label %10611

10610:                                            ; preds = %10606, %10600
  br label %10611

10611:                                            ; preds = %10606, %10610
  %.str.5.sink4984 = phi ptr [ @.str.5, %10610 ], [ @.str.2, %10606 ]
  store i32 %10601, ptr %1901, align 4, !tbaa !5
  %10612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10613 = load i32, ptr @test_count, align 4, !tbaa !5
  %10614 = load i32, ptr %1847, align 4, !tbaa !5
  %10615 = call ptr @s2n_strerror(i32 noundef %10614, ptr noundef nonnull @.str.4) #12
  %10616 = load i32, ptr %1847, align 4, !tbaa !5
  %10617 = call ptr @s2n_strerror_debug(i32 noundef %10616, ptr noundef nonnull @.str.4) #12
  %10618 = load i32, ptr %1901, align 4, !tbaa !5
  %10619 = call ptr @strerror(i32 noundef %10618) #12
  %10620 = load i32, ptr %1901, align 4, !tbaa !5
  %10621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10612, ptr noundef nonnull %.str.5.sink4984, i32 noundef %10613, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 722, ptr noundef %10615, ptr noundef %10617, ptr noundef %10619, i32 noundef %10620) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10622:                                            ; preds = %10594
  %10623 = load i32, ptr @test_count, align 4, !tbaa !5
  %10624 = add nsw i32 %10623, 1
  store i32 %10624, ptr @test_count, align 4, !tbaa !5
  %10625 = load i32, ptr %1847, align 4, !tbaa !5
  %10626 = icmp eq i32 %10625, 201326594
  br i1 %10626, label %10649, label %10627

10627:                                            ; preds = %10622
  %10628 = load i32, ptr %1901, align 4, !tbaa !5
  %10629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10630 = call i32 @s2n_print_stacktrace(ptr noundef %10629) #12
  %10631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10632 = trunc nuw i8 %10631 to i1
  br i1 %10632, label %10633, label %10637

10633:                                            ; preds = %10627
  %10634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10635 = call i32 @fileno(ptr noundef %10634) #12
  %10636 = call i32 @isatty(i32 noundef %10635) #12
  %.not1146 = icmp eq i32 %10636, 0
  br i1 %.not1146, label %10637, label %10638

10637:                                            ; preds = %10633, %10627
  br label %10638

10638:                                            ; preds = %10633, %10637
  %.str.5.sink4993 = phi ptr [ @.str.5, %10637 ], [ @.str.2, %10633 ]
  store i32 %10628, ptr %1901, align 4, !tbaa !5
  %10639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10640 = load i32, ptr @test_count, align 4, !tbaa !5
  %10641 = load i32, ptr %1847, align 4, !tbaa !5
  %10642 = call ptr @s2n_strerror(i32 noundef %10641, ptr noundef nonnull @.str.4) #12
  %10643 = load i32, ptr %1847, align 4, !tbaa !5
  %10644 = call ptr @s2n_strerror_debug(i32 noundef %10643, ptr noundef nonnull @.str.4) #12
  %10645 = load i32, ptr %1901, align 4, !tbaa !5
  %10646 = call ptr @strerror(i32 noundef %10645) #12
  %10647 = load i32, ptr %1901, align 4, !tbaa !5
  %10648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10639, ptr noundef nonnull %.str.5.sink4993, i32 noundef %10640, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 722, ptr noundef %10642, ptr noundef %10644, ptr noundef %10646, i32 noundef %10647) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10649:                                            ; preds = %10622
  %10650 = add nsw i32 %10623, 2
  store i32 %10650, ptr @test_count, align 4, !tbaa !5
  %10651 = call ptr @s2n_strerror_debug(i32 noundef 201326594, ptr noundef nonnull @.str.4) #12
  %10652 = icmp eq ptr %10651, null
  br i1 %10652, label %10653, label %10675

10653:                                            ; preds = %10649
  %10654 = load i32, ptr %1901, align 4, !tbaa !5
  %10655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10656 = call i32 @s2n_print_stacktrace(ptr noundef %10655) #12
  %10657 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10658 = trunc nuw i8 %10657 to i1
  br i1 %10658, label %10659, label %10663

10659:                                            ; preds = %10653
  %10660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10661 = call i32 @fileno(ptr noundef %10660) #12
  %10662 = call i32 @isatty(i32 noundef %10661) #12
  %.not1230 = icmp eq i32 %10662, 0
  br i1 %.not1230, label %10663, label %10664

10663:                                            ; preds = %10659, %10653
  br label %10664

10664:                                            ; preds = %10659, %10663
  %.str.5.sink5002 = phi ptr [ @.str.5, %10663 ], [ @.str.2, %10659 ]
  store i32 %10654, ptr %1901, align 4, !tbaa !5
  %10665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10666 = load i32, ptr @test_count, align 4, !tbaa !5
  %10667 = load i32, ptr %1847, align 4, !tbaa !5
  %10668 = call ptr @s2n_strerror(i32 noundef %10667, ptr noundef nonnull @.str.4) #12
  %10669 = load i32, ptr %1847, align 4, !tbaa !5
  %10670 = call ptr @s2n_strerror_debug(i32 noundef %10669, ptr noundef nonnull @.str.4) #12
  %10671 = load i32, ptr %1901, align 4, !tbaa !5
  %10672 = call ptr @strerror(i32 noundef %10671) #12
  %10673 = load i32, ptr %1901, align 4, !tbaa !5
  %10674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10665, ptr noundef nonnull %.str.5.sink5002, i32 noundef %10666, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 722, ptr noundef %10668, ptr noundef %10670, ptr noundef %10672, i32 noundef %10673) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10675:                                            ; preds = %10649
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %10676 = load i32, ptr @test_count, align 4, !tbaa !5
  %10677 = add nsw i32 %10676, 1
  store i32 %10677, ptr @test_count, align 4, !tbaa !5
  %10678 = load ptr, ptr %64, align 8, !tbaa !9
  %10679 = call i64 @s2n_recv(ptr noundef %10678, ptr noundef nonnull %67, i64 noundef 1000, ptr noundef nonnull %66) #12
  %10680 = icmp eq i64 %10679, 12
  br i1 %10680, label %10703, label %10681

10681:                                            ; preds = %10675
  %10682 = load i32, ptr %1901, align 4, !tbaa !5
  %10683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10684 = call i32 @s2n_print_stacktrace(ptr noundef %10683) #12
  %10685 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10686 = trunc nuw i8 %10685 to i1
  br i1 %10686, label %10687, label %10691

10687:                                            ; preds = %10681
  %10688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10689 = call i32 @fileno(ptr noundef %10688) #12
  %10690 = call i32 @isatty(i32 noundef %10689) #12
  %.not1147 = icmp eq i32 %10690, 0
  br i1 %.not1147, label %10691, label %10692

10691:                                            ; preds = %10687, %10681
  br label %10692

10692:                                            ; preds = %10687, %10691
  %.str.5.sink5011 = phi ptr [ @.str.5, %10691 ], [ @.str.2, %10687 ]
  store i32 %10682, ptr %1901, align 4, !tbaa !5
  %10693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10694 = load i32, ptr @test_count, align 4, !tbaa !5
  %10695 = load i32, ptr %1847, align 4, !tbaa !5
  %10696 = call ptr @s2n_strerror(i32 noundef %10695, ptr noundef nonnull @.str.4) #12
  %10697 = load i32, ptr %1847, align 4, !tbaa !5
  %10698 = call ptr @s2n_strerror_debug(i32 noundef %10697, ptr noundef nonnull @.str.4) #12
  %10699 = load i32, ptr %1901, align 4, !tbaa !5
  %10700 = call ptr @strerror(i32 noundef %10699) #12
  %10701 = load i32, ptr %1901, align 4, !tbaa !5
  %10702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10693, ptr noundef nonnull %.str.5.sink5011, i32 noundef %10694, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.1, i32 noundef 724, ptr noundef %10696, ptr noundef %10698, ptr noundef %10700, i32 noundef %10701) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10703:                                            ; preds = %10675
  %10704 = load i32, ptr @test_count, align 4, !tbaa !5
  %10705 = add nsw i32 %10704, 1
  store i32 %10705, ptr @test_count, align 4, !tbaa !5
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %67, ptr noundef nonnull dereferenceable(12) %3, i64 12)
  %10706 = icmp eq i32 %bcmp, 0
  br i1 %10706, label %10729, label %10707

10707:                                            ; preds = %10703
  %10708 = load i32, ptr %1901, align 4, !tbaa !5
  %10709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10710 = call i32 @s2n_print_stacktrace(ptr noundef %10709) #12
  %10711 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10712 = trunc nuw i8 %10711 to i1
  br i1 %10712, label %10713, label %10717

10713:                                            ; preds = %10707
  %10714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10715 = call i32 @fileno(ptr noundef %10714) #12
  %10716 = call i32 @isatty(i32 noundef %10715) #12
  %.not1148 = icmp eq i32 %10716, 0
  br i1 %.not1148, label %10717, label %10718

10717:                                            ; preds = %10713, %10707
  br label %10718

10718:                                            ; preds = %10713, %10717
  %.str.5.sink5020 = phi ptr [ @.str.5, %10717 ], [ @.str.2, %10713 ]
  store i32 %10708, ptr %1901, align 4, !tbaa !5
  %10719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10720 = load i32, ptr @test_count, align 4, !tbaa !5
  %10721 = load i32, ptr %1847, align 4, !tbaa !5
  %10722 = call ptr @s2n_strerror(i32 noundef %10721, ptr noundef nonnull @.str.4) #12
  %10723 = load i32, ptr %1847, align 4, !tbaa !5
  %10724 = call ptr @s2n_strerror_debug(i32 noundef %10723, ptr noundef nonnull @.str.4) #12
  %10725 = load i32, ptr %1901, align 4, !tbaa !5
  %10726 = call ptr @strerror(i32 noundef %10725) #12
  %10727 = load i32, ptr %1901, align 4, !tbaa !5
  %10728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10719, ptr noundef nonnull %.str.5.sink5020, i32 noundef %10720, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.1, i32 noundef 724, ptr noundef %10722, ptr noundef %10724, ptr noundef %10726, i32 noundef %10727) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10729:                                            ; preds = %10703
  %10730 = add nsw i32 %10704, 3
  store i32 %10730, ptr @test_count, align 4, !tbaa !5
  %10731 = load ptr, ptr %63, align 8, !tbaa !9
  %10732 = call i64 @s2n_send(ptr noundef %10731, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %66) #12
  %10733 = icmp eq i64 %10732, 12
  br i1 %10733, label %10756, label %10734

10734:                                            ; preds = %10729
  %10735 = load i32, ptr %1901, align 4, !tbaa !5
  %10736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10737 = call i32 @s2n_print_stacktrace(ptr noundef %10736) #12
  %10738 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10739 = trunc nuw i8 %10738 to i1
  br i1 %10739, label %10740, label %10744

10740:                                            ; preds = %10734
  %10741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10742 = call i32 @fileno(ptr noundef %10741) #12
  %10743 = call i32 @isatty(i32 noundef %10742) #12
  %.not1151 = icmp eq i32 %10743, 0
  br i1 %.not1151, label %10744, label %10745

10744:                                            ; preds = %10740, %10734
  br label %10745

10745:                                            ; preds = %10740, %10744
  %.str.5.sink5029 = phi ptr [ @.str.5, %10744 ], [ @.str.2, %10740 ]
  store i32 %10735, ptr %1901, align 4, !tbaa !5
  %10746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10747 = load i32, ptr @test_count, align 4, !tbaa !5
  %10748 = load i32, ptr %1847, align 4, !tbaa !5
  %10749 = call ptr @s2n_strerror(i32 noundef %10748, ptr noundef nonnull @.str.4) #12
  %10750 = load i32, ptr %1847, align 4, !tbaa !5
  %10751 = call ptr @s2n_strerror_debug(i32 noundef %10750, ptr noundef nonnull @.str.4) #12
  %10752 = load i32, ptr %1901, align 4, !tbaa !5
  %10753 = call ptr @strerror(i32 noundef %10752) #12
  %10754 = load i32, ptr %1901, align 4, !tbaa !5
  %10755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10746, ptr noundef nonnull %.str.5.sink5029, i32 noundef %10747, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 728, ptr noundef %10749, ptr noundef %10751, ptr noundef %10753, i32 noundef %10754) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10756:                                            ; preds = %10729
  %10757 = load i32, ptr @test_count, align 4, !tbaa !5
  %10758 = add nsw i32 %10757, 1
  store i32 %10758, ptr @test_count, align 4, !tbaa !5
  %10759 = load ptr, ptr %64, align 8, !tbaa !9
  %10760 = call i32 @s2n_negotiate(ptr noundef %10759, ptr noundef nonnull %66) #12
  %10761 = icmp eq i32 %10760, -1
  br i1 %10761, label %10784, label %10762

10762:                                            ; preds = %10756
  %10763 = load i32, ptr %1901, align 4, !tbaa !5
  %10764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10765 = call i32 @s2n_print_stacktrace(ptr noundef %10764) #12
  %10766 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10767 = trunc nuw i8 %10766 to i1
  br i1 %10767, label %10768, label %10772

10768:                                            ; preds = %10762
  %10769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10770 = call i32 @fileno(ptr noundef %10769) #12
  %10771 = call i32 @isatty(i32 noundef %10770) #12
  %.not1152 = icmp eq i32 %10771, 0
  br i1 %.not1152, label %10772, label %10773

10772:                                            ; preds = %10768, %10762
  br label %10773

10773:                                            ; preds = %10768, %10772
  %.str.5.sink5038 = phi ptr [ @.str.5, %10772 ], [ @.str.2, %10768 ]
  store i32 %10763, ptr %1901, align 4, !tbaa !5
  %10774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10775 = load i32, ptr @test_count, align 4, !tbaa !5
  %10776 = load i32, ptr %1847, align 4, !tbaa !5
  %10777 = call ptr @s2n_strerror(i32 noundef %10776, ptr noundef nonnull @.str.4) #12
  %10778 = load i32, ptr %1847, align 4, !tbaa !5
  %10779 = call ptr @s2n_strerror_debug(i32 noundef %10778, ptr noundef nonnull @.str.4) #12
  %10780 = load i32, ptr %1901, align 4, !tbaa !5
  %10781 = call ptr @strerror(i32 noundef %10780) #12
  %10782 = load i32, ptr %1901, align 4, !tbaa !5
  %10783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10774, ptr noundef nonnull %.str.5.sink5038, i32 noundef %10775, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 729, ptr noundef %10777, ptr noundef %10779, ptr noundef %10781, i32 noundef %10782) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10784:                                            ; preds = %10756
  %10785 = load i32, ptr @test_count, align 4, !tbaa !5
  %10786 = add nsw i32 %10785, 1
  store i32 %10786, ptr @test_count, align 4, !tbaa !5
  %10787 = load i32, ptr %1847, align 4, !tbaa !5
  %10788 = icmp eq i32 %10787, 201326594
  br i1 %10788, label %10811, label %10789

10789:                                            ; preds = %10784
  %10790 = load i32, ptr %1901, align 4, !tbaa !5
  %10791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10792 = call i32 @s2n_print_stacktrace(ptr noundef %10791) #12
  %10793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10794 = trunc nuw i8 %10793 to i1
  br i1 %10794, label %10795, label %10799

10795:                                            ; preds = %10789
  %10796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10797 = call i32 @fileno(ptr noundef %10796) #12
  %10798 = call i32 @isatty(i32 noundef %10797) #12
  %.not1153 = icmp eq i32 %10798, 0
  br i1 %.not1153, label %10799, label %10800

10799:                                            ; preds = %10795, %10789
  br label %10800

10800:                                            ; preds = %10795, %10799
  %.str.5.sink5047 = phi ptr [ @.str.5, %10799 ], [ @.str.2, %10795 ]
  store i32 %10790, ptr %1901, align 4, !tbaa !5
  %10801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10802 = load i32, ptr @test_count, align 4, !tbaa !5
  %10803 = load i32, ptr %1847, align 4, !tbaa !5
  %10804 = call ptr @s2n_strerror(i32 noundef %10803, ptr noundef nonnull @.str.4) #12
  %10805 = load i32, ptr %1847, align 4, !tbaa !5
  %10806 = call ptr @s2n_strerror_debug(i32 noundef %10805, ptr noundef nonnull @.str.4) #12
  %10807 = load i32, ptr %1901, align 4, !tbaa !5
  %10808 = call ptr @strerror(i32 noundef %10807) #12
  %10809 = load i32, ptr %1901, align 4, !tbaa !5
  %10810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10801, ptr noundef nonnull %.str.5.sink5047, i32 noundef %10802, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 729, ptr noundef %10804, ptr noundef %10806, ptr noundef %10808, i32 noundef %10809) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10811:                                            ; preds = %10784
  %10812 = add nsw i32 %10785, 2
  store i32 %10812, ptr @test_count, align 4, !tbaa !5
  %10813 = call ptr @s2n_strerror_debug(i32 noundef 201326594, ptr noundef nonnull @.str.4) #12
  %10814 = icmp eq ptr %10813, null
  br i1 %10814, label %10815, label %10837

10815:                                            ; preds = %10811
  %10816 = load i32, ptr %1901, align 4, !tbaa !5
  %10817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10818 = call i32 @s2n_print_stacktrace(ptr noundef %10817) #12
  %10819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10820 = trunc nuw i8 %10819 to i1
  br i1 %10820, label %10821, label %10825

10821:                                            ; preds = %10815
  %10822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10823 = call i32 @fileno(ptr noundef %10822) #12
  %10824 = call i32 @isatty(i32 noundef %10823) #12
  %.not1229 = icmp eq i32 %10824, 0
  br i1 %.not1229, label %10825, label %10826

10825:                                            ; preds = %10821, %10815
  br label %10826

10826:                                            ; preds = %10821, %10825
  %.str.5.sink5056 = phi ptr [ @.str.5, %10825 ], [ @.str.2, %10821 ]
  store i32 %10816, ptr %1901, align 4, !tbaa !5
  %10827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10828 = load i32, ptr @test_count, align 4, !tbaa !5
  %10829 = load i32, ptr %1847, align 4, !tbaa !5
  %10830 = call ptr @s2n_strerror(i32 noundef %10829, ptr noundef nonnull @.str.4) #12
  %10831 = load i32, ptr %1847, align 4, !tbaa !5
  %10832 = call ptr @s2n_strerror_debug(i32 noundef %10831, ptr noundef nonnull @.str.4) #12
  %10833 = load i32, ptr %1901, align 4, !tbaa !5
  %10834 = call ptr @strerror(i32 noundef %10833) #12
  %10835 = load i32, ptr %1901, align 4, !tbaa !5
  %10836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10827, ptr noundef nonnull %.str.5.sink5056, i32 noundef %10828, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 729, ptr noundef %10830, ptr noundef %10832, ptr noundef %10834, i32 noundef %10835) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10837:                                            ; preds = %10811
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %10838 = load i32, ptr @test_count, align 4, !tbaa !5
  %10839 = add nsw i32 %10838, 1
  store i32 %10839, ptr @test_count, align 4, !tbaa !5
  %10840 = load ptr, ptr %64, align 8, !tbaa !9
  %10841 = call i64 @s2n_recv(ptr noundef %10840, ptr noundef nonnull %67, i64 noundef 0, ptr noundef nonnull %66) #12
  %10842 = icmp eq i64 %10841, 0
  br i1 %10842, label %10865, label %10843

10843:                                            ; preds = %10837
  %10844 = load i32, ptr %1901, align 4, !tbaa !5
  %10845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10846 = call i32 @s2n_print_stacktrace(ptr noundef %10845) #12
  %10847 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10848 = trunc nuw i8 %10847 to i1
  br i1 %10848, label %10849, label %10853

10849:                                            ; preds = %10843
  %10850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10851 = call i32 @fileno(ptr noundef %10850) #12
  %10852 = call i32 @isatty(i32 noundef %10851) #12
  %.not1154 = icmp eq i32 %10852, 0
  br i1 %.not1154, label %10853, label %10854

10853:                                            ; preds = %10849, %10843
  br label %10854

10854:                                            ; preds = %10849, %10853
  %.str.5.sink5065 = phi ptr [ @.str.5, %10853 ], [ @.str.2, %10849 ]
  store i32 %10844, ptr %1901, align 4, !tbaa !5
  %10855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10856 = load i32, ptr @test_count, align 4, !tbaa !5
  %10857 = load i32, ptr %1847, align 4, !tbaa !5
  %10858 = call ptr @s2n_strerror(i32 noundef %10857, ptr noundef nonnull @.str.4) #12
  %10859 = load i32, ptr %1847, align 4, !tbaa !5
  %10860 = call ptr @s2n_strerror_debug(i32 noundef %10859, ptr noundef nonnull @.str.4) #12
  %10861 = load i32, ptr %1901, align 4, !tbaa !5
  %10862 = call ptr @strerror(i32 noundef %10861) #12
  %10863 = load i32, ptr %1901, align 4, !tbaa !5
  %10864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10855, ptr noundef nonnull %.str.5.sink5065, i32 noundef %10856, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.1, i32 noundef 730, ptr noundef %10858, ptr noundef %10860, ptr noundef %10862, i32 noundef %10863) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10865:                                            ; preds = %10837
  %10866 = load i32, ptr @test_count, align 4, !tbaa !5
  %10867 = add nsw i32 %10866, 1
  store i32 %10867, ptr @test_count, align 4, !tbaa !5
  %10868 = load ptr, ptr %64, align 8, !tbaa !9
  %10869 = call i64 @s2n_recv(ptr noundef %10868, ptr noundef nonnull %67, i64 noundef 2, ptr noundef nonnull %66) #12
  %10870 = icmp eq i64 %10869, 2
  br i1 %10870, label %10893, label %10871

10871:                                            ; preds = %10865
  %10872 = load i32, ptr %1901, align 4, !tbaa !5
  %10873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10874 = call i32 @s2n_print_stacktrace(ptr noundef %10873) #12
  %10875 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10876 = trunc nuw i8 %10875 to i1
  br i1 %10876, label %10877, label %10881

10877:                                            ; preds = %10871
  %10878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10879 = call i32 @fileno(ptr noundef %10878) #12
  %10880 = call i32 @isatty(i32 noundef %10879) #12
  %.not1155 = icmp eq i32 %10880, 0
  br i1 %.not1155, label %10881, label %10882

10881:                                            ; preds = %10877, %10871
  br label %10882

10882:                                            ; preds = %10877, %10881
  %.str.5.sink5074 = phi ptr [ @.str.5, %10881 ], [ @.str.2, %10877 ]
  store i32 %10872, ptr %1901, align 4, !tbaa !5
  %10883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10884 = load i32, ptr @test_count, align 4, !tbaa !5
  %10885 = load i32, ptr %1847, align 4, !tbaa !5
  %10886 = call ptr @s2n_strerror(i32 noundef %10885, ptr noundef nonnull @.str.4) #12
  %10887 = load i32, ptr %1847, align 4, !tbaa !5
  %10888 = call ptr @s2n_strerror_debug(i32 noundef %10887, ptr noundef nonnull @.str.4) #12
  %10889 = load i32, ptr %1901, align 4, !tbaa !5
  %10890 = call ptr @strerror(i32 noundef %10889) #12
  %10891 = load i32, ptr %1901, align 4, !tbaa !5
  %10892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10883, ptr noundef nonnull %.str.5.sink5074, i32 noundef %10884, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.1, i32 noundef 731, ptr noundef %10886, ptr noundef %10888, ptr noundef %10890, i32 noundef %10891) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10893:                                            ; preds = %10865
  %10894 = load i32, ptr @test_count, align 4, !tbaa !5
  %10895 = add nsw i32 %10894, 1
  store i32 %10895, ptr @test_count, align 4, !tbaa !5
  %bcmp1156 = call i32 @bcmp(ptr noundef nonnull dereferenceable(2) %67, ptr noundef nonnull dereferenceable(2) %3, i64 2)
  %10896 = icmp eq i32 %bcmp1156, 0
  br i1 %10896, label %10919, label %10897

10897:                                            ; preds = %10893
  %10898 = load i32, ptr %1901, align 4, !tbaa !5
  %10899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10900 = call i32 @s2n_print_stacktrace(ptr noundef %10899) #12
  %10901 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10902 = trunc nuw i8 %10901 to i1
  br i1 %10902, label %10903, label %10907

10903:                                            ; preds = %10897
  %10904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10905 = call i32 @fileno(ptr noundef %10904) #12
  %10906 = call i32 @isatty(i32 noundef %10905) #12
  %.not1157 = icmp eq i32 %10906, 0
  br i1 %.not1157, label %10907, label %10908

10907:                                            ; preds = %10903, %10897
  br label %10908

10908:                                            ; preds = %10903, %10907
  %.str.5.sink5083 = phi ptr [ @.str.5, %10907 ], [ @.str.2, %10903 ]
  store i32 %10898, ptr %1901, align 4, !tbaa !5
  %10909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10910 = load i32, ptr @test_count, align 4, !tbaa !5
  %10911 = load i32, ptr %1847, align 4, !tbaa !5
  %10912 = call ptr @s2n_strerror(i32 noundef %10911, ptr noundef nonnull @.str.4) #12
  %10913 = load i32, ptr %1847, align 4, !tbaa !5
  %10914 = call ptr @s2n_strerror_debug(i32 noundef %10913, ptr noundef nonnull @.str.4) #12
  %10915 = load i32, ptr %1901, align 4, !tbaa !5
  %10916 = call ptr @strerror(i32 noundef %10915) #12
  %10917 = load i32, ptr %1901, align 4, !tbaa !5
  %10918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10909, ptr noundef nonnull %.str.5.sink5083, i32 noundef %10910, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.1, i32 noundef 731, ptr noundef %10912, ptr noundef %10914, ptr noundef %10916, i32 noundef %10917) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10919:                                            ; preds = %10893
  %10920 = add nsw i32 %10894, 2
  store i32 %10920, ptr @test_count, align 4, !tbaa !5
  %10921 = load ptr, ptr %64, align 8, !tbaa !9
  %10922 = call i64 @s2n_recv(ptr noundef %10921, ptr noundef nonnull %67, i64 noundef 10, ptr noundef nonnull %66) #12
  %10923 = icmp eq i64 %10922, 10
  br i1 %10923, label %10946, label %10924

10924:                                            ; preds = %10919
  %10925 = load i32, ptr %1901, align 4, !tbaa !5
  %10926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10927 = call i32 @s2n_print_stacktrace(ptr noundef %10926) #12
  %10928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10929 = trunc nuw i8 %10928 to i1
  br i1 %10929, label %10930, label %10934

10930:                                            ; preds = %10924
  %10931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10932 = call i32 @fileno(ptr noundef %10931) #12
  %10933 = call i32 @isatty(i32 noundef %10932) #12
  %.not1158 = icmp eq i32 %10933, 0
  br i1 %.not1158, label %10934, label %10935

10934:                                            ; preds = %10930, %10924
  br label %10935

10935:                                            ; preds = %10930, %10934
  %.str.5.sink5092 = phi ptr [ @.str.5, %10934 ], [ @.str.2, %10930 ]
  store i32 %10925, ptr %1901, align 4, !tbaa !5
  %10936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10937 = load i32, ptr @test_count, align 4, !tbaa !5
  %10938 = load i32, ptr %1847, align 4, !tbaa !5
  %10939 = call ptr @s2n_strerror(i32 noundef %10938, ptr noundef nonnull @.str.4) #12
  %10940 = load i32, ptr %1847, align 4, !tbaa !5
  %10941 = call ptr @s2n_strerror_debug(i32 noundef %10940, ptr noundef nonnull @.str.4) #12
  %10942 = load i32, ptr %1901, align 4, !tbaa !5
  %10943 = call ptr @strerror(i32 noundef %10942) #12
  %10944 = load i32, ptr %1901, align 4, !tbaa !5
  %10945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10936, ptr noundef nonnull %.str.5.sink5092, i32 noundef %10937, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.1, i32 noundef 733, ptr noundef %10939, ptr noundef %10941, ptr noundef %10943, i32 noundef %10944) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10946:                                            ; preds = %10919
  %10947 = load i32, ptr @test_count, align 4, !tbaa !5
  %10948 = add nsw i32 %10947, 1
  store i32 %10948, ptr @test_count, align 4, !tbaa !5
  %10949 = getelementptr inbounds i8, ptr %3, i64 2
  %bcmp1159 = call i32 @bcmp(ptr noundef nonnull dereferenceable(10) %67, ptr noundef nonnull dereferenceable(10) %10949, i64 10)
  %10950 = icmp eq i32 %bcmp1159, 0
  br i1 %10950, label %10973, label %10951

10951:                                            ; preds = %10946
  %10952 = load i32, ptr %1901, align 4, !tbaa !5
  %10953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10954 = call i32 @s2n_print_stacktrace(ptr noundef %10953) #12
  %10955 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10956 = trunc nuw i8 %10955 to i1
  br i1 %10956, label %10957, label %10961

10957:                                            ; preds = %10951
  %10958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10959 = call i32 @fileno(ptr noundef %10958) #12
  %10960 = call i32 @isatty(i32 noundef %10959) #12
  %.not1160 = icmp eq i32 %10960, 0
  br i1 %.not1160, label %10961, label %10962

10961:                                            ; preds = %10957, %10951
  br label %10962

10962:                                            ; preds = %10957, %10961
  %.str.5.sink5101 = phi ptr [ @.str.5, %10961 ], [ @.str.2, %10957 ]
  store i32 %10952, ptr %1901, align 4, !tbaa !5
  %10963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10964 = load i32, ptr @test_count, align 4, !tbaa !5
  %10965 = load i32, ptr %1847, align 4, !tbaa !5
  %10966 = call ptr @s2n_strerror(i32 noundef %10965, ptr noundef nonnull @.str.4) #12
  %10967 = load i32, ptr %1847, align 4, !tbaa !5
  %10968 = call ptr @s2n_strerror_debug(i32 noundef %10967, ptr noundef nonnull @.str.4) #12
  %10969 = load i32, ptr %1901, align 4, !tbaa !5
  %10970 = call ptr @strerror(i32 noundef %10969) #12
  %10971 = load i32, ptr %1901, align 4, !tbaa !5
  %10972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10963, ptr noundef nonnull %.str.5.sink5101, i32 noundef %10964, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.1, i32 noundef 733, ptr noundef %10966, ptr noundef %10968, ptr noundef %10970, i32 noundef %10971) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10973:                                            ; preds = %10946
  %10974 = add nsw i32 %10947, 2
  store i32 %10974, ptr @test_count, align 4, !tbaa !5
  %10975 = load ptr, ptr %63, align 8, !tbaa !9
  %10976 = call i64 @s2n_send(ptr noundef %10975, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %66) #12
  %10977 = icmp eq i64 %10976, 12
  br i1 %10977, label %11000, label %10978

10978:                                            ; preds = %10973
  %10979 = load i32, ptr %1901, align 4, !tbaa !5
  %10980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10981 = call i32 @s2n_print_stacktrace(ptr noundef %10980) #12
  %10982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10983 = trunc nuw i8 %10982 to i1
  br i1 %10983, label %10984, label %10988

10984:                                            ; preds = %10978
  %10985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10986 = call i32 @fileno(ptr noundef %10985) #12
  %10987 = call i32 @isatty(i32 noundef %10986) #12
  %.not1161 = icmp eq i32 %10987, 0
  br i1 %.not1161, label %10988, label %10989

10988:                                            ; preds = %10984, %10978
  br label %10989

10989:                                            ; preds = %10984, %10988
  %.str.5.sink5110 = phi ptr [ @.str.5, %10988 ], [ @.str.2, %10984 ]
  store i32 %10979, ptr %1901, align 4, !tbaa !5
  %10990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10991 = load i32, ptr @test_count, align 4, !tbaa !5
  %10992 = load i32, ptr %1847, align 4, !tbaa !5
  %10993 = call ptr @s2n_strerror(i32 noundef %10992, ptr noundef nonnull @.str.4) #12
  %10994 = load i32, ptr %1847, align 4, !tbaa !5
  %10995 = call ptr @s2n_strerror_debug(i32 noundef %10994, ptr noundef nonnull @.str.4) #12
  %10996 = load i32, ptr %1901, align 4, !tbaa !5
  %10997 = call ptr @strerror(i32 noundef %10996) #12
  %10998 = load i32, ptr %1901, align 4, !tbaa !5
  %10999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10990, ptr noundef nonnull %.str.5.sink5110, i32 noundef %10991, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 736, ptr noundef %10993, ptr noundef %10995, ptr noundef %10997, i32 noundef %10998) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11000:                                            ; preds = %10973
  %11001 = load i32, ptr @test_count, align 4, !tbaa !5
  %11002 = add nsw i32 %11001, 1
  store i32 %11002, ptr @test_count, align 4, !tbaa !5
  %11003 = load ptr, ptr %64, align 8, !tbaa !9
  %11004 = call i32 @s2n_negotiate(ptr noundef %11003, ptr noundef nonnull %66) #12
  %11005 = icmp eq i32 %11004, -1
  br i1 %11005, label %11028, label %11006

11006:                                            ; preds = %11000
  %11007 = load i32, ptr %1901, align 4, !tbaa !5
  %11008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11009 = call i32 @s2n_print_stacktrace(ptr noundef %11008) #12
  %11010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11011 = trunc nuw i8 %11010 to i1
  br i1 %11011, label %11012, label %11016

11012:                                            ; preds = %11006
  %11013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11014 = call i32 @fileno(ptr noundef %11013) #12
  %11015 = call i32 @isatty(i32 noundef %11014) #12
  %.not1162 = icmp eq i32 %11015, 0
  br i1 %.not1162, label %11016, label %11017

11016:                                            ; preds = %11012, %11006
  br label %11017

11017:                                            ; preds = %11012, %11016
  %.str.5.sink5119 = phi ptr [ @.str.5, %11016 ], [ @.str.2, %11012 ]
  store i32 %11007, ptr %1901, align 4, !tbaa !5
  %11018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11019 = load i32, ptr @test_count, align 4, !tbaa !5
  %11020 = load i32, ptr %1847, align 4, !tbaa !5
  %11021 = call ptr @s2n_strerror(i32 noundef %11020, ptr noundef nonnull @.str.4) #12
  %11022 = load i32, ptr %1847, align 4, !tbaa !5
  %11023 = call ptr @s2n_strerror_debug(i32 noundef %11022, ptr noundef nonnull @.str.4) #12
  %11024 = load i32, ptr %1901, align 4, !tbaa !5
  %11025 = call ptr @strerror(i32 noundef %11024) #12
  %11026 = load i32, ptr %1901, align 4, !tbaa !5
  %11027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11018, ptr noundef nonnull %.str.5.sink5119, i32 noundef %11019, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 737, ptr noundef %11021, ptr noundef %11023, ptr noundef %11025, i32 noundef %11026) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11028:                                            ; preds = %11000
  %11029 = load i32, ptr @test_count, align 4, !tbaa !5
  %11030 = add nsw i32 %11029, 1
  store i32 %11030, ptr @test_count, align 4, !tbaa !5
  %11031 = load i32, ptr %1847, align 4, !tbaa !5
  %11032 = icmp eq i32 %11031, 201326594
  br i1 %11032, label %11055, label %11033

11033:                                            ; preds = %11028
  %11034 = load i32, ptr %1901, align 4, !tbaa !5
  %11035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11036 = call i32 @s2n_print_stacktrace(ptr noundef %11035) #12
  %11037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11038 = trunc nuw i8 %11037 to i1
  br i1 %11038, label %11039, label %11043

11039:                                            ; preds = %11033
  %11040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11041 = call i32 @fileno(ptr noundef %11040) #12
  %11042 = call i32 @isatty(i32 noundef %11041) #12
  %.not1163 = icmp eq i32 %11042, 0
  br i1 %.not1163, label %11043, label %11044

11043:                                            ; preds = %11039, %11033
  br label %11044

11044:                                            ; preds = %11039, %11043
  %.str.5.sink5128 = phi ptr [ @.str.5, %11043 ], [ @.str.2, %11039 ]
  store i32 %11034, ptr %1901, align 4, !tbaa !5
  %11045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11046 = load i32, ptr @test_count, align 4, !tbaa !5
  %11047 = load i32, ptr %1847, align 4, !tbaa !5
  %11048 = call ptr @s2n_strerror(i32 noundef %11047, ptr noundef nonnull @.str.4) #12
  %11049 = load i32, ptr %1847, align 4, !tbaa !5
  %11050 = call ptr @s2n_strerror_debug(i32 noundef %11049, ptr noundef nonnull @.str.4) #12
  %11051 = load i32, ptr %1901, align 4, !tbaa !5
  %11052 = call ptr @strerror(i32 noundef %11051) #12
  %11053 = load i32, ptr %1901, align 4, !tbaa !5
  %11054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11045, ptr noundef nonnull %.str.5.sink5128, i32 noundef %11046, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 737, ptr noundef %11048, ptr noundef %11050, ptr noundef %11052, i32 noundef %11053) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11055:                                            ; preds = %11028
  %11056 = add nsw i32 %11029, 2
  store i32 %11056, ptr @test_count, align 4, !tbaa !5
  %11057 = call ptr @s2n_strerror_debug(i32 noundef 201326594, ptr noundef nonnull @.str.4) #12
  %11058 = icmp eq ptr %11057, null
  br i1 %11058, label %11059, label %11081

11059:                                            ; preds = %11055
  %11060 = load i32, ptr %1901, align 4, !tbaa !5
  %11061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11062 = call i32 @s2n_print_stacktrace(ptr noundef %11061) #12
  %11063 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11064 = trunc nuw i8 %11063 to i1
  br i1 %11064, label %11065, label %11069

11065:                                            ; preds = %11059
  %11066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11067 = call i32 @fileno(ptr noundef %11066) #12
  %11068 = call i32 @isatty(i32 noundef %11067) #12
  %.not1228 = icmp eq i32 %11068, 0
  br i1 %.not1228, label %11069, label %11070

11069:                                            ; preds = %11065, %11059
  br label %11070

11070:                                            ; preds = %11065, %11069
  %.str.5.sink5137 = phi ptr [ @.str.5, %11069 ], [ @.str.2, %11065 ]
  store i32 %11060, ptr %1901, align 4, !tbaa !5
  %11071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11072 = load i32, ptr @test_count, align 4, !tbaa !5
  %11073 = load i32, ptr %1847, align 4, !tbaa !5
  %11074 = call ptr @s2n_strerror(i32 noundef %11073, ptr noundef nonnull @.str.4) #12
  %11075 = load i32, ptr %1847, align 4, !tbaa !5
  %11076 = call ptr @s2n_strerror_debug(i32 noundef %11075, ptr noundef nonnull @.str.4) #12
  %11077 = load i32, ptr %1901, align 4, !tbaa !5
  %11078 = call ptr @strerror(i32 noundef %11077) #12
  %11079 = load i32, ptr %1901, align 4, !tbaa !5
  %11080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11071, ptr noundef nonnull %.str.5.sink5137, i32 noundef %11072, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 737, ptr noundef %11074, ptr noundef %11076, ptr noundef %11078, i32 noundef %11079) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11081:                                            ; preds = %11055
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %11082 = load i32, ptr @test_count, align 4, !tbaa !5
  %11083 = add nsw i32 %11082, 1
  store i32 %11083, ptr @test_count, align 4, !tbaa !5
  %11084 = load ptr, ptr %64, align 8, !tbaa !9
  %11085 = call i64 @s2n_recv(ptr noundef %11084, ptr noundef nonnull %67, i64 noundef 2, ptr noundef nonnull %66) #12
  %11086 = icmp eq i64 %11085, 2
  br i1 %11086, label %11109, label %11087

11087:                                            ; preds = %11081
  %11088 = load i32, ptr %1901, align 4, !tbaa !5
  %11089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11090 = call i32 @s2n_print_stacktrace(ptr noundef %11089) #12
  %11091 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11092 = trunc nuw i8 %11091 to i1
  br i1 %11092, label %11093, label %11097

11093:                                            ; preds = %11087
  %11094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11095 = call i32 @fileno(ptr noundef %11094) #12
  %11096 = call i32 @isatty(i32 noundef %11095) #12
  %.not1164 = icmp eq i32 %11096, 0
  br i1 %.not1164, label %11097, label %11098

11097:                                            ; preds = %11093, %11087
  br label %11098

11098:                                            ; preds = %11093, %11097
  %.str.5.sink5146 = phi ptr [ @.str.5, %11097 ], [ @.str.2, %11093 ]
  store i32 %11088, ptr %1901, align 4, !tbaa !5
  %11099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11100 = load i32, ptr @test_count, align 4, !tbaa !5
  %11101 = load i32, ptr %1847, align 4, !tbaa !5
  %11102 = call ptr @s2n_strerror(i32 noundef %11101, ptr noundef nonnull @.str.4) #12
  %11103 = load i32, ptr %1847, align 4, !tbaa !5
  %11104 = call ptr @s2n_strerror_debug(i32 noundef %11103, ptr noundef nonnull @.str.4) #12
  %11105 = load i32, ptr %1901, align 4, !tbaa !5
  %11106 = call ptr @strerror(i32 noundef %11105) #12
  %11107 = load i32, ptr %1901, align 4, !tbaa !5
  %11108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11099, ptr noundef nonnull %.str.5.sink5146, i32 noundef %11100, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.1, i32 noundef 738, ptr noundef %11102, ptr noundef %11104, ptr noundef %11106, i32 noundef %11107) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11109:                                            ; preds = %11081
  %11110 = load i32, ptr @test_count, align 4, !tbaa !5
  %11111 = add nsw i32 %11110, 1
  store i32 %11111, ptr @test_count, align 4, !tbaa !5
  %bcmp1165 = call i32 @bcmp(ptr noundef nonnull dereferenceable(2) %67, ptr noundef nonnull dereferenceable(2) %3, i64 2)
  %11112 = icmp eq i32 %bcmp1165, 0
  br i1 %11112, label %11135, label %11113

11113:                                            ; preds = %11109
  %11114 = load i32, ptr %1901, align 4, !tbaa !5
  %11115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11116 = call i32 @s2n_print_stacktrace(ptr noundef %11115) #12
  %11117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11118 = trunc nuw i8 %11117 to i1
  br i1 %11118, label %11119, label %11123

11119:                                            ; preds = %11113
  %11120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11121 = call i32 @fileno(ptr noundef %11120) #12
  %11122 = call i32 @isatty(i32 noundef %11121) #12
  %.not1166 = icmp eq i32 %11122, 0
  br i1 %.not1166, label %11123, label %11124

11123:                                            ; preds = %11119, %11113
  br label %11124

11124:                                            ; preds = %11119, %11123
  %.str.5.sink5155 = phi ptr [ @.str.5, %11123 ], [ @.str.2, %11119 ]
  store i32 %11114, ptr %1901, align 4, !tbaa !5
  %11125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11126 = load i32, ptr @test_count, align 4, !tbaa !5
  %11127 = load i32, ptr %1847, align 4, !tbaa !5
  %11128 = call ptr @s2n_strerror(i32 noundef %11127, ptr noundef nonnull @.str.4) #12
  %11129 = load i32, ptr %1847, align 4, !tbaa !5
  %11130 = call ptr @s2n_strerror_debug(i32 noundef %11129, ptr noundef nonnull @.str.4) #12
  %11131 = load i32, ptr %1901, align 4, !tbaa !5
  %11132 = call ptr @strerror(i32 noundef %11131) #12
  %11133 = load i32, ptr %1901, align 4, !tbaa !5
  %11134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11125, ptr noundef nonnull %.str.5.sink5155, i32 noundef %11126, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.1, i32 noundef 738, ptr noundef %11128, ptr noundef %11130, ptr noundef %11132, i32 noundef %11133) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11135:                                            ; preds = %11109
  %11136 = add nsw i32 %11110, 2
  store i32 %11136, ptr @test_count, align 4, !tbaa !5
  %11137 = load ptr, ptr %64, align 8, !tbaa !9
  %11138 = call i32 @s2n_negotiate(ptr noundef %11137, ptr noundef nonnull %66) #12
  %11139 = icmp eq i32 %11138, -1
  br i1 %11139, label %11162, label %11140

11140:                                            ; preds = %11135
  %11141 = load i32, ptr %1901, align 4, !tbaa !5
  %11142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11143 = call i32 @s2n_print_stacktrace(ptr noundef %11142) #12
  %11144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11145 = trunc nuw i8 %11144 to i1
  br i1 %11145, label %11146, label %11150

11146:                                            ; preds = %11140
  %11147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11148 = call i32 @fileno(ptr noundef %11147) #12
  %11149 = call i32 @isatty(i32 noundef %11148) #12
  %.not1167 = icmp eq i32 %11149, 0
  br i1 %.not1167, label %11150, label %11151

11150:                                            ; preds = %11146, %11140
  br label %11151

11151:                                            ; preds = %11146, %11150
  %.str.5.sink5164 = phi ptr [ @.str.5, %11150 ], [ @.str.2, %11146 ]
  store i32 %11141, ptr %1901, align 4, !tbaa !5
  %11152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11153 = load i32, ptr @test_count, align 4, !tbaa !5
  %11154 = load i32, ptr %1847, align 4, !tbaa !5
  %11155 = call ptr @s2n_strerror(i32 noundef %11154, ptr noundef nonnull @.str.4) #12
  %11156 = load i32, ptr %1847, align 4, !tbaa !5
  %11157 = call ptr @s2n_strerror_debug(i32 noundef %11156, ptr noundef nonnull @.str.4) #12
  %11158 = load i32, ptr %1901, align 4, !tbaa !5
  %11159 = call ptr @strerror(i32 noundef %11158) #12
  %11160 = load i32, ptr %1901, align 4, !tbaa !5
  %11161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11152, ptr noundef nonnull %.str.5.sink5164, i32 noundef %11153, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 739, ptr noundef %11155, ptr noundef %11157, ptr noundef %11159, i32 noundef %11160) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11162:                                            ; preds = %11135
  %11163 = load i32, ptr @test_count, align 4, !tbaa !5
  %11164 = add nsw i32 %11163, 1
  store i32 %11164, ptr @test_count, align 4, !tbaa !5
  %11165 = load i32, ptr %1847, align 4, !tbaa !5
  %11166 = icmp eq i32 %11165, 201326594
  br i1 %11166, label %11189, label %11167

11167:                                            ; preds = %11162
  %11168 = load i32, ptr %1901, align 4, !tbaa !5
  %11169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11170 = call i32 @s2n_print_stacktrace(ptr noundef %11169) #12
  %11171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11172 = trunc nuw i8 %11171 to i1
  br i1 %11172, label %11173, label %11177

11173:                                            ; preds = %11167
  %11174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11175 = call i32 @fileno(ptr noundef %11174) #12
  %11176 = call i32 @isatty(i32 noundef %11175) #12
  %.not1168 = icmp eq i32 %11176, 0
  br i1 %.not1168, label %11177, label %11178

11177:                                            ; preds = %11173, %11167
  br label %11178

11178:                                            ; preds = %11173, %11177
  %.str.5.sink5173 = phi ptr [ @.str.5, %11177 ], [ @.str.2, %11173 ]
  store i32 %11168, ptr %1901, align 4, !tbaa !5
  %11179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11180 = load i32, ptr @test_count, align 4, !tbaa !5
  %11181 = load i32, ptr %1847, align 4, !tbaa !5
  %11182 = call ptr @s2n_strerror(i32 noundef %11181, ptr noundef nonnull @.str.4) #12
  %11183 = load i32, ptr %1847, align 4, !tbaa !5
  %11184 = call ptr @s2n_strerror_debug(i32 noundef %11183, ptr noundef nonnull @.str.4) #12
  %11185 = load i32, ptr %1901, align 4, !tbaa !5
  %11186 = call ptr @strerror(i32 noundef %11185) #12
  %11187 = load i32, ptr %1901, align 4, !tbaa !5
  %11188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11179, ptr noundef nonnull %.str.5.sink5173, i32 noundef %11180, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 739, ptr noundef %11182, ptr noundef %11184, ptr noundef %11186, i32 noundef %11187) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11189:                                            ; preds = %11162
  %11190 = add nsw i32 %11163, 2
  store i32 %11190, ptr @test_count, align 4, !tbaa !5
  %11191 = call ptr @s2n_strerror_debug(i32 noundef 201326594, ptr noundef nonnull @.str.4) #12
  %11192 = icmp eq ptr %11191, null
  br i1 %11192, label %11193, label %11215

11193:                                            ; preds = %11189
  %11194 = load i32, ptr %1901, align 4, !tbaa !5
  %11195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11196 = call i32 @s2n_print_stacktrace(ptr noundef %11195) #12
  %11197 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11198 = trunc nuw i8 %11197 to i1
  br i1 %11198, label %11199, label %11203

11199:                                            ; preds = %11193
  %11200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11201 = call i32 @fileno(ptr noundef %11200) #12
  %11202 = call i32 @isatty(i32 noundef %11201) #12
  %.not1227 = icmp eq i32 %11202, 0
  br i1 %.not1227, label %11203, label %11204

11203:                                            ; preds = %11199, %11193
  br label %11204

11204:                                            ; preds = %11199, %11203
  %.str.5.sink5182 = phi ptr [ @.str.5, %11203 ], [ @.str.2, %11199 ]
  store i32 %11194, ptr %1901, align 4, !tbaa !5
  %11205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11206 = load i32, ptr @test_count, align 4, !tbaa !5
  %11207 = load i32, ptr %1847, align 4, !tbaa !5
  %11208 = call ptr @s2n_strerror(i32 noundef %11207, ptr noundef nonnull @.str.4) #12
  %11209 = load i32, ptr %1847, align 4, !tbaa !5
  %11210 = call ptr @s2n_strerror_debug(i32 noundef %11209, ptr noundef nonnull @.str.4) #12
  %11211 = load i32, ptr %1901, align 4, !tbaa !5
  %11212 = call ptr @strerror(i32 noundef %11211) #12
  %11213 = load i32, ptr %1901, align 4, !tbaa !5
  %11214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11205, ptr noundef nonnull %.str.5.sink5182, i32 noundef %11206, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 739, ptr noundef %11208, ptr noundef %11210, ptr noundef %11212, i32 noundef %11213) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11215:                                            ; preds = %11189
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %11216 = load i32, ptr @test_count, align 4, !tbaa !5
  %11217 = add nsw i32 %11216, 1
  store i32 %11217, ptr @test_count, align 4, !tbaa !5
  %11218 = load ptr, ptr %64, align 8, !tbaa !9
  %11219 = call i64 @s2n_recv(ptr noundef %11218, ptr noundef nonnull %67, i64 noundef 0, ptr noundef nonnull %66) #12
  %11220 = icmp eq i64 %11219, 0
  br i1 %11220, label %11243, label %11221

11221:                                            ; preds = %11215
  %11222 = load i32, ptr %1901, align 4, !tbaa !5
  %11223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11224 = call i32 @s2n_print_stacktrace(ptr noundef %11223) #12
  %11225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11226 = trunc nuw i8 %11225 to i1
  br i1 %11226, label %11227, label %11231

11227:                                            ; preds = %11221
  %11228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11229 = call i32 @fileno(ptr noundef %11228) #12
  %11230 = call i32 @isatty(i32 noundef %11229) #12
  %.not1169 = icmp eq i32 %11230, 0
  br i1 %.not1169, label %11231, label %11232

11231:                                            ; preds = %11227, %11221
  br label %11232

11232:                                            ; preds = %11227, %11231
  %.str.5.sink5191 = phi ptr [ @.str.5, %11231 ], [ @.str.2, %11227 ]
  store i32 %11222, ptr %1901, align 4, !tbaa !5
  %11233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11234 = load i32, ptr @test_count, align 4, !tbaa !5
  %11235 = load i32, ptr %1847, align 4, !tbaa !5
  %11236 = call ptr @s2n_strerror(i32 noundef %11235, ptr noundef nonnull @.str.4) #12
  %11237 = load i32, ptr %1847, align 4, !tbaa !5
  %11238 = call ptr @s2n_strerror_debug(i32 noundef %11237, ptr noundef nonnull @.str.4) #12
  %11239 = load i32, ptr %1901, align 4, !tbaa !5
  %11240 = call ptr @strerror(i32 noundef %11239) #12
  %11241 = load i32, ptr %1901, align 4, !tbaa !5
  %11242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11233, ptr noundef nonnull %.str.5.sink5191, i32 noundef %11234, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.1, i32 noundef 740, ptr noundef %11236, ptr noundef %11238, ptr noundef %11240, i32 noundef %11241) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11243:                                            ; preds = %11215
  %11244 = load i32, ptr @test_count, align 4, !tbaa !5
  %11245 = add nsw i32 %11244, 1
  store i32 %11245, ptr @test_count, align 4, !tbaa !5
  %11246 = load ptr, ptr %64, align 8, !tbaa !9
  %11247 = call i32 @s2n_negotiate(ptr noundef %11246, ptr noundef nonnull %66) #12
  %11248 = icmp eq i32 %11247, -1
  br i1 %11248, label %11271, label %11249

11249:                                            ; preds = %11243
  %11250 = load i32, ptr %1901, align 4, !tbaa !5
  %11251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11252 = call i32 @s2n_print_stacktrace(ptr noundef %11251) #12
  %11253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11254 = trunc nuw i8 %11253 to i1
  br i1 %11254, label %11255, label %11259

11255:                                            ; preds = %11249
  %11256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11257 = call i32 @fileno(ptr noundef %11256) #12
  %11258 = call i32 @isatty(i32 noundef %11257) #12
  %.not1170 = icmp eq i32 %11258, 0
  br i1 %.not1170, label %11259, label %11260

11259:                                            ; preds = %11255, %11249
  br label %11260

11260:                                            ; preds = %11255, %11259
  %.str.5.sink5200 = phi ptr [ @.str.5, %11259 ], [ @.str.2, %11255 ]
  store i32 %11250, ptr %1901, align 4, !tbaa !5
  %11261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11262 = load i32, ptr @test_count, align 4, !tbaa !5
  %11263 = load i32, ptr %1847, align 4, !tbaa !5
  %11264 = call ptr @s2n_strerror(i32 noundef %11263, ptr noundef nonnull @.str.4) #12
  %11265 = load i32, ptr %1847, align 4, !tbaa !5
  %11266 = call ptr @s2n_strerror_debug(i32 noundef %11265, ptr noundef nonnull @.str.4) #12
  %11267 = load i32, ptr %1901, align 4, !tbaa !5
  %11268 = call ptr @strerror(i32 noundef %11267) #12
  %11269 = load i32, ptr %1901, align 4, !tbaa !5
  %11270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11261, ptr noundef nonnull %.str.5.sink5200, i32 noundef %11262, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 741, ptr noundef %11264, ptr noundef %11266, ptr noundef %11268, i32 noundef %11269) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11271:                                            ; preds = %11243
  %11272 = load i32, ptr @test_count, align 4, !tbaa !5
  %11273 = add nsw i32 %11272, 1
  store i32 %11273, ptr @test_count, align 4, !tbaa !5
  %11274 = load i32, ptr %1847, align 4, !tbaa !5
  %11275 = icmp eq i32 %11274, 201326594
  br i1 %11275, label %11298, label %11276

11276:                                            ; preds = %11271
  %11277 = load i32, ptr %1901, align 4, !tbaa !5
  %11278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11279 = call i32 @s2n_print_stacktrace(ptr noundef %11278) #12
  %11280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11281 = trunc nuw i8 %11280 to i1
  br i1 %11281, label %11282, label %11286

11282:                                            ; preds = %11276
  %11283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11284 = call i32 @fileno(ptr noundef %11283) #12
  %11285 = call i32 @isatty(i32 noundef %11284) #12
  %.not1171 = icmp eq i32 %11285, 0
  br i1 %.not1171, label %11286, label %11287

11286:                                            ; preds = %11282, %11276
  br label %11287

11287:                                            ; preds = %11282, %11286
  %.str.5.sink5209 = phi ptr [ @.str.5, %11286 ], [ @.str.2, %11282 ]
  store i32 %11277, ptr %1901, align 4, !tbaa !5
  %11288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11289 = load i32, ptr @test_count, align 4, !tbaa !5
  %11290 = load i32, ptr %1847, align 4, !tbaa !5
  %11291 = call ptr @s2n_strerror(i32 noundef %11290, ptr noundef nonnull @.str.4) #12
  %11292 = load i32, ptr %1847, align 4, !tbaa !5
  %11293 = call ptr @s2n_strerror_debug(i32 noundef %11292, ptr noundef nonnull @.str.4) #12
  %11294 = load i32, ptr %1901, align 4, !tbaa !5
  %11295 = call ptr @strerror(i32 noundef %11294) #12
  %11296 = load i32, ptr %1901, align 4, !tbaa !5
  %11297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11288, ptr noundef nonnull %.str.5.sink5209, i32 noundef %11289, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 741, ptr noundef %11291, ptr noundef %11293, ptr noundef %11295, i32 noundef %11296) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11298:                                            ; preds = %11271
  %11299 = add nsw i32 %11272, 2
  store i32 %11299, ptr @test_count, align 4, !tbaa !5
  %11300 = call ptr @s2n_strerror_debug(i32 noundef 201326594, ptr noundef nonnull @.str.4) #12
  %11301 = icmp eq ptr %11300, null
  br i1 %11301, label %11302, label %11324

11302:                                            ; preds = %11298
  %11303 = load i32, ptr %1901, align 4, !tbaa !5
  %11304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11305 = call i32 @s2n_print_stacktrace(ptr noundef %11304) #12
  %11306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11307 = trunc nuw i8 %11306 to i1
  br i1 %11307, label %11308, label %11312

11308:                                            ; preds = %11302
  %11309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11310 = call i32 @fileno(ptr noundef %11309) #12
  %11311 = call i32 @isatty(i32 noundef %11310) #12
  %.not1226 = icmp eq i32 %11311, 0
  br i1 %.not1226, label %11312, label %11313

11312:                                            ; preds = %11308, %11302
  br label %11313

11313:                                            ; preds = %11308, %11312
  %.str.5.sink5218 = phi ptr [ @.str.5, %11312 ], [ @.str.2, %11308 ]
  store i32 %11303, ptr %1901, align 4, !tbaa !5
  %11314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11315 = load i32, ptr @test_count, align 4, !tbaa !5
  %11316 = load i32, ptr %1847, align 4, !tbaa !5
  %11317 = call ptr @s2n_strerror(i32 noundef %11316, ptr noundef nonnull @.str.4) #12
  %11318 = load i32, ptr %1847, align 4, !tbaa !5
  %11319 = call ptr @s2n_strerror_debug(i32 noundef %11318, ptr noundef nonnull @.str.4) #12
  %11320 = load i32, ptr %1901, align 4, !tbaa !5
  %11321 = call ptr @strerror(i32 noundef %11320) #12
  %11322 = load i32, ptr %1901, align 4, !tbaa !5
  %11323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11314, ptr noundef nonnull %.str.5.sink5218, i32 noundef %11315, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 741, ptr noundef %11317, ptr noundef %11319, ptr noundef %11321, i32 noundef %11322) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11324:                                            ; preds = %11298
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %11325 = load i32, ptr @test_count, align 4, !tbaa !5
  %11326 = add nsw i32 %11325, 1
  store i32 %11326, ptr @test_count, align 4, !tbaa !5
  %11327 = load ptr, ptr %64, align 8, !tbaa !9
  %11328 = call i64 @s2n_recv(ptr noundef %11327, ptr noundef nonnull %67, i64 noundef 10, ptr noundef nonnull %66) #12
  %11329 = icmp eq i64 %11328, 10
  br i1 %11329, label %11352, label %11330

11330:                                            ; preds = %11324
  %11331 = load i32, ptr %1901, align 4, !tbaa !5
  %11332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11333 = call i32 @s2n_print_stacktrace(ptr noundef %11332) #12
  %11334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11335 = trunc nuw i8 %11334 to i1
  br i1 %11335, label %11336, label %11340

11336:                                            ; preds = %11330
  %11337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11338 = call i32 @fileno(ptr noundef %11337) #12
  %11339 = call i32 @isatty(i32 noundef %11338) #12
  %.not1172 = icmp eq i32 %11339, 0
  br i1 %.not1172, label %11340, label %11341

11340:                                            ; preds = %11336, %11330
  br label %11341

11341:                                            ; preds = %11336, %11340
  %.str.5.sink5227 = phi ptr [ @.str.5, %11340 ], [ @.str.2, %11336 ]
  store i32 %11331, ptr %1901, align 4, !tbaa !5
  %11342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11343 = load i32, ptr @test_count, align 4, !tbaa !5
  %11344 = load i32, ptr %1847, align 4, !tbaa !5
  %11345 = call ptr @s2n_strerror(i32 noundef %11344, ptr noundef nonnull @.str.4) #12
  %11346 = load i32, ptr %1847, align 4, !tbaa !5
  %11347 = call ptr @s2n_strerror_debug(i32 noundef %11346, ptr noundef nonnull @.str.4) #12
  %11348 = load i32, ptr %1901, align 4, !tbaa !5
  %11349 = call ptr @strerror(i32 noundef %11348) #12
  %11350 = load i32, ptr %1901, align 4, !tbaa !5
  %11351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11342, ptr noundef nonnull %.str.5.sink5227, i32 noundef %11343, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.1, i32 noundef 743, ptr noundef %11345, ptr noundef %11347, ptr noundef %11349, i32 noundef %11350) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11352:                                            ; preds = %11324
  %11353 = load i32, ptr @test_count, align 4, !tbaa !5
  %11354 = add nsw i32 %11353, 1
  store i32 %11354, ptr @test_count, align 4, !tbaa !5
  %bcmp1173 = call i32 @bcmp(ptr noundef nonnull dereferenceable(10) %67, ptr noundef nonnull dereferenceable(10) %10949, i64 10)
  %11355 = icmp eq i32 %bcmp1173, 0
  br i1 %11355, label %11378, label %11356

11356:                                            ; preds = %11352
  %11357 = load i32, ptr %1901, align 4, !tbaa !5
  %11358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11359 = call i32 @s2n_print_stacktrace(ptr noundef %11358) #12
  %11360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11361 = trunc nuw i8 %11360 to i1
  br i1 %11361, label %11362, label %11366

11362:                                            ; preds = %11356
  %11363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11364 = call i32 @fileno(ptr noundef %11363) #12
  %11365 = call i32 @isatty(i32 noundef %11364) #12
  %.not1174 = icmp eq i32 %11365, 0
  br i1 %.not1174, label %11366, label %11367

11366:                                            ; preds = %11362, %11356
  br label %11367

11367:                                            ; preds = %11362, %11366
  %.str.5.sink5236 = phi ptr [ @.str.5, %11366 ], [ @.str.2, %11362 ]
  store i32 %11357, ptr %1901, align 4, !tbaa !5
  %11368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11369 = load i32, ptr @test_count, align 4, !tbaa !5
  %11370 = load i32, ptr %1847, align 4, !tbaa !5
  %11371 = call ptr @s2n_strerror(i32 noundef %11370, ptr noundef nonnull @.str.4) #12
  %11372 = load i32, ptr %1847, align 4, !tbaa !5
  %11373 = call ptr @s2n_strerror_debug(i32 noundef %11372, ptr noundef nonnull @.str.4) #12
  %11374 = load i32, ptr %1901, align 4, !tbaa !5
  %11375 = call ptr @strerror(i32 noundef %11374) #12
  %11376 = load i32, ptr %1901, align 4, !tbaa !5
  %11377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11368, ptr noundef nonnull %.str.5.sink5236, i32 noundef %11369, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.1, i32 noundef 743, ptr noundef %11371, ptr noundef %11373, ptr noundef %11375, i32 noundef %11376) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11378:                                            ; preds = %11352
  %11379 = add nsw i32 %11353, 2
  store i32 %11379, ptr @test_count, align 4, !tbaa !5
  %11380 = load ptr, ptr %63, align 8, !tbaa !9
  %11381 = call i32 @s2n_connection_set_end_of_early_data(ptr noundef %11380) #12
  %11382 = icmp eq i32 %11381, -1
  br i1 %11382, label %11383, label %11405

11383:                                            ; preds = %11378
  %11384 = load i32, ptr %1901, align 4, !tbaa !5
  %11385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11386 = call i32 @s2n_print_stacktrace(ptr noundef %11385) #12
  %11387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11388 = trunc nuw i8 %11387 to i1
  br i1 %11388, label %11389, label %11393

11389:                                            ; preds = %11383
  %11390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11391 = call i32 @fileno(ptr noundef %11390) #12
  %11392 = call i32 @isatty(i32 noundef %11391) #12
  %.not1225 = icmp eq i32 %11392, 0
  br i1 %.not1225, label %11393, label %11394

11393:                                            ; preds = %11389, %11383
  br label %11394

11394:                                            ; preds = %11389, %11393
  %.str.5.sink5245 = phi ptr [ @.str.5, %11393 ], [ @.str.2, %11389 ]
  store i32 %11384, ptr %1901, align 4, !tbaa !5
  %11395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11396 = load i32, ptr @test_count, align 4, !tbaa !5
  %11397 = load i32, ptr %1847, align 4, !tbaa !5
  %11398 = call ptr @s2n_strerror(i32 noundef %11397, ptr noundef nonnull @.str.4) #12
  %11399 = load i32, ptr %1847, align 4, !tbaa !5
  %11400 = call ptr @s2n_strerror_debug(i32 noundef %11399, ptr noundef nonnull @.str.4) #12
  %11401 = load i32, ptr %1901, align 4, !tbaa !5
  %11402 = call ptr @strerror(i32 noundef %11401) #12
  %11403 = load i32, ptr %1901, align 4, !tbaa !5
  %11404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11395, ptr noundef nonnull %.str.5.sink5245, i32 noundef %11396, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 746, ptr noundef %11398, ptr noundef %11400, ptr noundef %11402, i32 noundef %11403) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11405:                                            ; preds = %11378
  %11406 = load i32, ptr @test_count, align 4, !tbaa !5
  %11407 = add nsw i32 %11406, 1
  store i32 %11407, ptr @test_count, align 4, !tbaa !5
  %11408 = load ptr, ptr %64, align 8, !tbaa !9
  %11409 = load ptr, ptr %63, align 8, !tbaa !9
  %11410 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %11408, ptr noundef %11409, i32 noundef 13) #12
  %11411 = call zeroext i1 @s2n_result_is_ok(i32 %11410)
  br i1 %11411, label %11434, label %11412

11412:                                            ; preds = %11405
  %11413 = load i32, ptr %1901, align 4, !tbaa !5
  %11414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11415 = call i32 @s2n_print_stacktrace(ptr noundef %11414) #12
  %11416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11417 = trunc nuw i8 %11416 to i1
  br i1 %11417, label %11418, label %11422

11418:                                            ; preds = %11412
  %11419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11420 = call i32 @fileno(ptr noundef %11419) #12
  %11421 = call i32 @isatty(i32 noundef %11420) #12
  %.not1175 = icmp eq i32 %11421, 0
  br i1 %.not1175, label %11422, label %11423

11422:                                            ; preds = %11418, %11412
  br label %11423

11423:                                            ; preds = %11418, %11422
  %.str.5.sink5254 = phi ptr [ @.str.5, %11422 ], [ @.str.2, %11418 ]
  store i32 %11413, ptr %1901, align 4, !tbaa !5
  %11424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11425 = load i32, ptr @test_count, align 4, !tbaa !5
  %11426 = load i32, ptr %1847, align 4, !tbaa !5
  %11427 = call ptr @s2n_strerror(i32 noundef %11426, ptr noundef nonnull @.str.4) #12
  %11428 = load i32, ptr %1847, align 4, !tbaa !5
  %11429 = call ptr @s2n_strerror_debug(i32 noundef %11428, ptr noundef nonnull @.str.4) #12
  %11430 = load i32, ptr %1901, align 4, !tbaa !5
  %11431 = call ptr @strerror(i32 noundef %11430) #12
  %11432 = load i32, ptr %1901, align 4, !tbaa !5
  %11433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11424, ptr noundef nonnull %.str.5.sink5254, i32 noundef %11425, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.1, i32 noundef 747, ptr noundef %11427, ptr noundef %11429, ptr noundef %11431, i32 noundef %11432) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11434:                                            ; preds = %11405
  %11435 = load i32, ptr @test_count, align 4, !tbaa !5
  %11436 = add nsw i32 %11435, 1
  store i32 %11436, ptr @test_count, align 4, !tbaa !5
  %11437 = load ptr, ptr %64, align 8, !tbaa !9
  %11438 = call i64 @s2n_recv(ptr noundef %11437, ptr noundef nonnull %67, i64 noundef 0, ptr noundef nonnull %66) #12
  %11439 = icmp eq i64 %11438, -1
  br i1 %11439, label %11462, label %11440

11440:                                            ; preds = %11434
  %11441 = load i32, ptr %1901, align 4, !tbaa !5
  %11442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11443 = call i32 @s2n_print_stacktrace(ptr noundef %11442) #12
  %11444 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11445 = trunc nuw i8 %11444 to i1
  br i1 %11445, label %11446, label %11450

11446:                                            ; preds = %11440
  %11447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11448 = call i32 @fileno(ptr noundef %11447) #12
  %11449 = call i32 @isatty(i32 noundef %11448) #12
  %.not1176 = icmp eq i32 %11449, 0
  br i1 %.not1176, label %11450, label %11451

11450:                                            ; preds = %11446, %11440
  br label %11451

11451:                                            ; preds = %11446, %11450
  %.str.5.sink5263 = phi ptr [ @.str.5, %11450 ], [ @.str.2, %11446 ]
  store i32 %11441, ptr %1901, align 4, !tbaa !5
  %11452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11453 = load i32, ptr @test_count, align 4, !tbaa !5
  %11454 = load i32, ptr %1847, align 4, !tbaa !5
  %11455 = call ptr @s2n_strerror(i32 noundef %11454, ptr noundef nonnull @.str.4) #12
  %11456 = load i32, ptr %1847, align 4, !tbaa !5
  %11457 = call ptr @s2n_strerror_debug(i32 noundef %11456, ptr noundef nonnull @.str.4) #12
  %11458 = load i32, ptr %1901, align 4, !tbaa !5
  %11459 = call ptr @strerror(i32 noundef %11458) #12
  %11460 = load i32, ptr %1901, align 4, !tbaa !5
  %11461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11452, ptr noundef nonnull %.str.5.sink5263, i32 noundef %11453, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.1, i32 noundef 748, ptr noundef %11455, ptr noundef %11457, ptr noundef %11459, i32 noundef %11460) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11462:                                            ; preds = %11434
  %11463 = load i32, ptr @test_count, align 4, !tbaa !5
  %11464 = add nsw i32 %11463, 1
  store i32 %11464, ptr @test_count, align 4, !tbaa !5
  %11465 = load i32, ptr %1847, align 4, !tbaa !5
  %11466 = icmp eq i32 %11465, 469762113
  br i1 %11466, label %11489, label %11467

11467:                                            ; preds = %11462
  %11468 = load i32, ptr %1901, align 4, !tbaa !5
  %11469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11470 = call i32 @s2n_print_stacktrace(ptr noundef %11469) #12
  %11471 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11472 = trunc nuw i8 %11471 to i1
  br i1 %11472, label %11473, label %11477

11473:                                            ; preds = %11467
  %11474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11475 = call i32 @fileno(ptr noundef %11474) #12
  %11476 = call i32 @isatty(i32 noundef %11475) #12
  %.not1177 = icmp eq i32 %11476, 0
  br i1 %.not1177, label %11477, label %11478

11477:                                            ; preds = %11473, %11467
  br label %11478

11478:                                            ; preds = %11473, %11477
  %.str.5.sink5272 = phi ptr [ @.str.5, %11477 ], [ @.str.2, %11473 ]
  store i32 %11468, ptr %1901, align 4, !tbaa !5
  %11479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11480 = load i32, ptr @test_count, align 4, !tbaa !5
  %11481 = load i32, ptr %1847, align 4, !tbaa !5
  %11482 = call ptr @s2n_strerror(i32 noundef %11481, ptr noundef nonnull @.str.4) #12
  %11483 = load i32, ptr %1847, align 4, !tbaa !5
  %11484 = call ptr @s2n_strerror_debug(i32 noundef %11483, ptr noundef nonnull @.str.4) #12
  %11485 = load i32, ptr %1901, align 4, !tbaa !5
  %11486 = call ptr @strerror(i32 noundef %11485) #12
  %11487 = load i32, ptr %1901, align 4, !tbaa !5
  %11488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11479, ptr noundef nonnull %.str.5.sink5272, i32 noundef %11480, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 748, ptr noundef %11482, ptr noundef %11484, ptr noundef %11486, i32 noundef %11487) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11489:                                            ; preds = %11462
  %11490 = add nsw i32 %11463, 2
  store i32 %11490, ptr @test_count, align 4, !tbaa !5
  %11491 = call ptr @s2n_strerror_debug(i32 noundef 469762113, ptr noundef nonnull @.str.4) #12
  %11492 = icmp eq ptr %11491, null
  br i1 %11492, label %11493, label %11515

11493:                                            ; preds = %11489
  %11494 = load i32, ptr %1901, align 4, !tbaa !5
  %11495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11496 = call i32 @s2n_print_stacktrace(ptr noundef %11495) #12
  %11497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11498 = trunc nuw i8 %11497 to i1
  br i1 %11498, label %11499, label %11503

11499:                                            ; preds = %11493
  %11500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11501 = call i32 @fileno(ptr noundef %11500) #12
  %11502 = call i32 @isatty(i32 noundef %11501) #12
  %.not1224 = icmp eq i32 %11502, 0
  br i1 %.not1224, label %11503, label %11504

11503:                                            ; preds = %11499, %11493
  br label %11504

11504:                                            ; preds = %11499, %11503
  %.str.5.sink5281 = phi ptr [ @.str.5, %11503 ], [ @.str.2, %11499 ]
  store i32 %11494, ptr %1901, align 4, !tbaa !5
  %11505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11506 = load i32, ptr @test_count, align 4, !tbaa !5
  %11507 = load i32, ptr %1847, align 4, !tbaa !5
  %11508 = call ptr @s2n_strerror(i32 noundef %11507, ptr noundef nonnull @.str.4) #12
  %11509 = load i32, ptr %1847, align 4, !tbaa !5
  %11510 = call ptr @s2n_strerror_debug(i32 noundef %11509, ptr noundef nonnull @.str.4) #12
  %11511 = load i32, ptr %1901, align 4, !tbaa !5
  %11512 = call ptr @strerror(i32 noundef %11511) #12
  %11513 = load i32, ptr %1901, align 4, !tbaa !5
  %11514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11505, ptr noundef nonnull %.str.5.sink5281, i32 noundef %11506, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 748, ptr noundef %11508, ptr noundef %11510, ptr noundef %11512, i32 noundef %11513) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11515:                                            ; preds = %11489
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %11516 = load i32, ptr @test_count, align 4, !tbaa !5
  %11517 = add nsw i32 %11516, 1
  store i32 %11517, ptr @test_count, align 4, !tbaa !5
  %11518 = load ptr, ptr %64, align 8, !tbaa !9
  %11519 = load ptr, ptr %63, align 8, !tbaa !9
  %11520 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %11518, ptr noundef %11519) #12
  %11521 = icmp eq i32 %11520, -1
  br i1 %11521, label %11522, label %11544

11522:                                            ; preds = %11515
  %11523 = load i32, ptr %1901, align 4, !tbaa !5
  %11524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11525 = call i32 @s2n_print_stacktrace(ptr noundef %11524) #12
  %11526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11527 = trunc nuw i8 %11526 to i1
  br i1 %11527, label %11528, label %11532

11528:                                            ; preds = %11522
  %11529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11530 = call i32 @fileno(ptr noundef %11529) #12
  %11531 = call i32 @isatty(i32 noundef %11530) #12
  %.not1223 = icmp eq i32 %11531, 0
  br i1 %.not1223, label %11532, label %11533

11532:                                            ; preds = %11528, %11522
  br label %11533

11533:                                            ; preds = %11528, %11532
  %.str.5.sink5290 = phi ptr [ @.str.5, %11532 ], [ @.str.2, %11528 ]
  store i32 %11523, ptr %1901, align 4, !tbaa !5
  %11534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11535 = load i32, ptr @test_count, align 4, !tbaa !5
  %11536 = load i32, ptr %1847, align 4, !tbaa !5
  %11537 = call ptr @s2n_strerror(i32 noundef %11536, ptr noundef nonnull @.str.4) #12
  %11538 = load i32, ptr %1847, align 4, !tbaa !5
  %11539 = call ptr @s2n_strerror_debug(i32 noundef %11538, ptr noundef nonnull @.str.4) #12
  %11540 = load i32, ptr %1901, align 4, !tbaa !5
  %11541 = call ptr @strerror(i32 noundef %11540) #12
  %11542 = load i32, ptr %1901, align 4, !tbaa !5
  %11543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11534, ptr noundef nonnull %.str.5.sink5290, i32 noundef %11535, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 751, ptr noundef %11537, ptr noundef %11539, ptr noundef %11541, i32 noundef %11542) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11544:                                            ; preds = %11515
  %11545 = load i32, ptr @test_count, align 4, !tbaa !5
  %11546 = add nsw i32 %11545, 1
  store i32 %11546, ptr @test_count, align 4, !tbaa !5
  %11547 = load ptr, ptr %63, align 8, !tbaa !9
  %11548 = call i32 @s2n_connection_free(ptr noundef %11547) #12
  %11549 = icmp eq i32 %11548, -1
  br i1 %11549, label %11550, label %11572

11550:                                            ; preds = %11544
  %11551 = load i32, ptr %1901, align 4, !tbaa !5
  %11552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11553 = call i32 @s2n_print_stacktrace(ptr noundef %11552) #12
  %11554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11555 = trunc nuw i8 %11554 to i1
  br i1 %11555, label %11556, label %11560

11556:                                            ; preds = %11550
  %11557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11558 = call i32 @fileno(ptr noundef %11557) #12
  %11559 = call i32 @isatty(i32 noundef %11558) #12
  %.not1222 = icmp eq i32 %11559, 0
  br i1 %.not1222, label %11560, label %11561

11560:                                            ; preds = %11556, %11550
  br label %11561

11561:                                            ; preds = %11556, %11560
  %.str.5.sink5299 = phi ptr [ @.str.5, %11560 ], [ @.str.2, %11556 ]
  store i32 %11551, ptr %1901, align 4, !tbaa !5
  %11562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11563 = load i32, ptr @test_count, align 4, !tbaa !5
  %11564 = load i32, ptr %1847, align 4, !tbaa !5
  %11565 = call ptr @s2n_strerror(i32 noundef %11564, ptr noundef nonnull @.str.4) #12
  %11566 = load i32, ptr %1847, align 4, !tbaa !5
  %11567 = call ptr @s2n_strerror_debug(i32 noundef %11566, ptr noundef nonnull @.str.4) #12
  %11568 = load i32, ptr %1901, align 4, !tbaa !5
  %11569 = call ptr @strerror(i32 noundef %11568) #12
  %11570 = load i32, ptr %1901, align 4, !tbaa !5
  %11571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11562, ptr noundef nonnull %.str.5.sink5299, i32 noundef %11563, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 753, ptr noundef %11565, ptr noundef %11567, ptr noundef %11569, i32 noundef %11570) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11572:                                            ; preds = %11544
  %11573 = load i32, ptr @test_count, align 4, !tbaa !5
  %11574 = add nsw i32 %11573, 1
  store i32 %11574, ptr @test_count, align 4, !tbaa !5
  %11575 = load ptr, ptr %64, align 8, !tbaa !9
  %11576 = call i32 @s2n_connection_free(ptr noundef %11575) #12
  %11577 = icmp eq i32 %11576, -1
  br i1 %11577, label %11578, label %11600

11578:                                            ; preds = %11572
  %11579 = load i32, ptr %1901, align 4, !tbaa !5
  %11580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11581 = call i32 @s2n_print_stacktrace(ptr noundef %11580) #12
  %11582 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11583 = trunc nuw i8 %11582 to i1
  br i1 %11583, label %11584, label %11588

11584:                                            ; preds = %11578
  %11585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11586 = call i32 @fileno(ptr noundef %11585) #12
  %11587 = call i32 @isatty(i32 noundef %11586) #12
  %.not1221 = icmp eq i32 %11587, 0
  br i1 %.not1221, label %11588, label %11589

11588:                                            ; preds = %11584, %11578
  br label %11589

11589:                                            ; preds = %11584, %11588
  %.str.5.sink5308 = phi ptr [ @.str.5, %11588 ], [ @.str.2, %11584 ]
  store i32 %11579, ptr %1901, align 4, !tbaa !5
  %11590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11591 = load i32, ptr @test_count, align 4, !tbaa !5
  %11592 = load i32, ptr %1847, align 4, !tbaa !5
  %11593 = call ptr @s2n_strerror(i32 noundef %11592, ptr noundef nonnull @.str.4) #12
  %11594 = load i32, ptr %1847, align 4, !tbaa !5
  %11595 = call ptr @s2n_strerror_debug(i32 noundef %11594, ptr noundef nonnull @.str.4) #12
  %11596 = load i32, ptr %1901, align 4, !tbaa !5
  %11597 = call ptr @strerror(i32 noundef %11596) #12
  %11598 = load i32, ptr %1901, align 4, !tbaa !5
  %11599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11590, ptr noundef nonnull %.str.5.sink5308, i32 noundef %11591, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 754, ptr noundef %11593, ptr noundef %11595, ptr noundef %11597, i32 noundef %11598) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11600:                                            ; preds = %11572
  call void @llvm.lifetime.end.p0(i64 1000, ptr nonnull %67) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %66) #12
  %11601 = call i32 @s2n_io_pair_close(ptr noundef nonnull %65) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %65) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %68) #12
  store ptr null, ptr %68, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %69) #12
  store ptr null, ptr %69, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %70) #12
  store i64 0, ptr %70, align 8
  %11602 = load i32, ptr @test_count, align 4, !tbaa !5
  %11603 = add nsw i32 %11602, 1
  store i32 %11603, ptr @test_count, align 4, !tbaa !5
  %11604 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %68, ptr noundef nonnull %69, ptr noundef nonnull %70)
  %11605 = call zeroext i1 @s2n_result_is_ok(i32 %11604)
  br i1 %11605, label %11628, label %11606

11606:                                            ; preds = %11600
  %11607 = load i32, ptr %1901, align 4, !tbaa !5
  %11608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11609 = call i32 @s2n_print_stacktrace(ptr noundef %11608) #12
  %11610 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11611 = trunc nuw i8 %11610 to i1
  br i1 %11611, label %11612, label %11616

11612:                                            ; preds = %11606
  %11613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11614 = call i32 @fileno(ptr noundef %11613) #12
  %11615 = call i32 @isatty(i32 noundef %11614) #12
  %.not1178 = icmp eq i32 %11615, 0
  br i1 %.not1178, label %11616, label %11617

11616:                                            ; preds = %11612, %11606
  br label %11617

11617:                                            ; preds = %11612, %11616
  %.str.5.sink5317 = phi ptr [ @.str.5, %11616 ], [ @.str.2, %11612 ]
  store i32 %11607, ptr %1901, align 4, !tbaa !5
  %11618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11619 = load i32, ptr @test_count, align 4, !tbaa !5
  %11620 = load i32, ptr %1847, align 4, !tbaa !5
  %11621 = call ptr @s2n_strerror(i32 noundef %11620, ptr noundef nonnull @.str.4) #12
  %11622 = load i32, ptr %1847, align 4, !tbaa !5
  %11623 = call ptr @s2n_strerror_debug(i32 noundef %11622, ptr noundef nonnull @.str.4) #12
  %11624 = load i32, ptr %1901, align 4, !tbaa !5
  %11625 = call ptr @strerror(i32 noundef %11624) #12
  %11626 = load i32, ptr %1901, align 4, !tbaa !5
  %11627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11618, ptr noundef nonnull %.str.5.sink5317, i32 noundef %11619, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 761, ptr noundef %11621, ptr noundef %11623, ptr noundef %11625, i32 noundef %11626) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11628:                                            ; preds = %11600
  %11629 = load i32, ptr @test_count, align 4, !tbaa !5
  %11630 = add nsw i32 %11629, 1
  store i32 %11630, ptr @test_count, align 4, !tbaa !5
  %11631 = load ptr, ptr %68, align 8, !tbaa !9
  %11632 = load ptr, ptr %4, align 8, !tbaa !9
  %11633 = call i32 @s2n_connection_append_psk(ptr noundef %11631, ptr noundef %11632) #12
  %11634 = icmp eq i32 %11633, -1
  br i1 %11634, label %11635, label %11657

11635:                                            ; preds = %11628
  %11636 = load i32, ptr %1901, align 4, !tbaa !5
  %11637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11638 = call i32 @s2n_print_stacktrace(ptr noundef %11637) #12
  %11639 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11640 = trunc nuw i8 %11639 to i1
  br i1 %11640, label %11641, label %11645

11641:                                            ; preds = %11635
  %11642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11643 = call i32 @fileno(ptr noundef %11642) #12
  %11644 = call i32 @isatty(i32 noundef %11643) #12
  %.not1220 = icmp eq i32 %11644, 0
  br i1 %.not1220, label %11645, label %11646

11645:                                            ; preds = %11641, %11635
  br label %11646

11646:                                            ; preds = %11641, %11645
  %.str.5.sink5326 = phi ptr [ @.str.5, %11645 ], [ @.str.2, %11641 ]
  store i32 %11636, ptr %1901, align 4, !tbaa !5
  %11647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11648 = load i32, ptr @test_count, align 4, !tbaa !5
  %11649 = load i32, ptr %1847, align 4, !tbaa !5
  %11650 = call ptr @s2n_strerror(i32 noundef %11649, ptr noundef nonnull @.str.4) #12
  %11651 = load i32, ptr %1847, align 4, !tbaa !5
  %11652 = call ptr @s2n_strerror_debug(i32 noundef %11651, ptr noundef nonnull @.str.4) #12
  %11653 = load i32, ptr %1901, align 4, !tbaa !5
  %11654 = call ptr @strerror(i32 noundef %11653) #12
  %11655 = load i32, ptr %1901, align 4, !tbaa !5
  %11656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11647, ptr noundef nonnull %.str.5.sink5326, i32 noundef %11648, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 763, ptr noundef %11650, ptr noundef %11652, ptr noundef %11654, i32 noundef %11655) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11657:                                            ; preds = %11628
  %11658 = load i32, ptr @test_count, align 4, !tbaa !5
  %11659 = add nsw i32 %11658, 1
  store i32 %11659, ptr @test_count, align 4, !tbaa !5
  %11660 = load ptr, ptr %69, align 8, !tbaa !9
  %11661 = call i32 @s2n_connection_append_psk(ptr noundef %11660, ptr noundef %11632) #12
  %11662 = icmp eq i32 %11661, -1
  br i1 %11662, label %11663, label %11685

11663:                                            ; preds = %11657
  %11664 = load i32, ptr %1901, align 4, !tbaa !5
  %11665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11666 = call i32 @s2n_print_stacktrace(ptr noundef %11665) #12
  %11667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11668 = trunc nuw i8 %11667 to i1
  br i1 %11668, label %11669, label %11673

11669:                                            ; preds = %11663
  %11670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11671 = call i32 @fileno(ptr noundef %11670) #12
  %11672 = call i32 @isatty(i32 noundef %11671) #12
  %.not1219 = icmp eq i32 %11672, 0
  br i1 %.not1219, label %11673, label %11674

11673:                                            ; preds = %11669, %11663
  br label %11674

11674:                                            ; preds = %11669, %11673
  %.str.5.sink5335 = phi ptr [ @.str.5, %11673 ], [ @.str.2, %11669 ]
  store i32 %11664, ptr %1901, align 4, !tbaa !5
  %11675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11676 = load i32, ptr @test_count, align 4, !tbaa !5
  %11677 = load i32, ptr %1847, align 4, !tbaa !5
  %11678 = call ptr @s2n_strerror(i32 noundef %11677, ptr noundef nonnull @.str.4) #12
  %11679 = load i32, ptr %1847, align 4, !tbaa !5
  %11680 = call ptr @s2n_strerror_debug(i32 noundef %11679, ptr noundef nonnull @.str.4) #12
  %11681 = load i32, ptr %1901, align 4, !tbaa !5
  %11682 = call ptr @strerror(i32 noundef %11681) #12
  %11683 = load i32, ptr %1901, align 4, !tbaa !5
  %11684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11675, ptr noundef nonnull %.str.5.sink5335, i32 noundef %11676, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 764, ptr noundef %11678, ptr noundef %11680, ptr noundef %11682, i32 noundef %11683) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11685:                                            ; preds = %11657
  %11686 = load i32, ptr @test_count, align 4, !tbaa !5
  %11687 = add nsw i32 %11686, 1
  store i32 %11687, ptr @test_count, align 4, !tbaa !5
  %11688 = load ptr, ptr %68, align 8, !tbaa !9
  %11689 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %11688) #12
  %11690 = icmp eq i32 %11689, -1
  br i1 %11690, label %11691, label %11713

11691:                                            ; preds = %11685
  %11692 = load i32, ptr %1901, align 4, !tbaa !5
  %11693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11694 = call i32 @s2n_print_stacktrace(ptr noundef %11693) #12
  %11695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11696 = trunc nuw i8 %11695 to i1
  br i1 %11696, label %11697, label %11701

11697:                                            ; preds = %11691
  %11698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11699 = call i32 @fileno(ptr noundef %11698) #12
  %11700 = call i32 @isatty(i32 noundef %11699) #12
  %.not1218 = icmp eq i32 %11700, 0
  br i1 %.not1218, label %11701, label %11702

11701:                                            ; preds = %11697, %11691
  br label %11702

11702:                                            ; preds = %11697, %11701
  %.str.5.sink5344 = phi ptr [ @.str.5, %11701 ], [ @.str.2, %11697 ]
  store i32 %11692, ptr %1901, align 4, !tbaa !5
  %11703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11704 = load i32, ptr @test_count, align 4, !tbaa !5
  %11705 = load i32, ptr %1847, align 4, !tbaa !5
  %11706 = call ptr @s2n_strerror(i32 noundef %11705, ptr noundef nonnull @.str.4) #12
  %11707 = load i32, ptr %1847, align 4, !tbaa !5
  %11708 = call ptr @s2n_strerror_debug(i32 noundef %11707, ptr noundef nonnull @.str.4) #12
  %11709 = load i32, ptr %1901, align 4, !tbaa !5
  %11710 = call ptr @strerror(i32 noundef %11709) #12
  %11711 = load i32, ptr %1901, align 4, !tbaa !5
  %11712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11703, ptr noundef nonnull %.str.5.sink5344, i32 noundef %11704, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 765, ptr noundef %11706, ptr noundef %11708, ptr noundef %11710, i32 noundef %11711) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11713:                                            ; preds = %11685
  %11714 = load i32, ptr @test_count, align 4, !tbaa !5
  %11715 = add nsw i32 %11714, 1
  store i32 %11715, ptr @test_count, align 4, !tbaa !5
  %11716 = load ptr, ptr %69, align 8, !tbaa !9
  %11717 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %11716) #12
  %11718 = icmp eq i32 %11717, -1
  br i1 %11718, label %11719, label %11741

11719:                                            ; preds = %11713
  %11720 = load i32, ptr %1901, align 4, !tbaa !5
  %11721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11722 = call i32 @s2n_print_stacktrace(ptr noundef %11721) #12
  %11723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11724 = trunc nuw i8 %11723 to i1
  br i1 %11724, label %11725, label %11729

11725:                                            ; preds = %11719
  %11726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11727 = call i32 @fileno(ptr noundef %11726) #12
  %11728 = call i32 @isatty(i32 noundef %11727) #12
  %.not1217 = icmp eq i32 %11728, 0
  br i1 %.not1217, label %11729, label %11730

11729:                                            ; preds = %11725, %11719
  br label %11730

11730:                                            ; preds = %11725, %11729
  %.str.5.sink5353 = phi ptr [ @.str.5, %11729 ], [ @.str.2, %11725 ]
  store i32 %11720, ptr %1901, align 4, !tbaa !5
  %11731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11732 = load i32, ptr @test_count, align 4, !tbaa !5
  %11733 = load i32, ptr %1847, align 4, !tbaa !5
  %11734 = call ptr @s2n_strerror(i32 noundef %11733, ptr noundef nonnull @.str.4) #12
  %11735 = load i32, ptr %1847, align 4, !tbaa !5
  %11736 = call ptr @s2n_strerror_debug(i32 noundef %11735, ptr noundef nonnull @.str.4) #12
  %11737 = load i32, ptr %1901, align 4, !tbaa !5
  %11738 = call ptr @strerror(i32 noundef %11737) #12
  %11739 = load i32, ptr %1901, align 4, !tbaa !5
  %11740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11731, ptr noundef nonnull %.str.5.sink5353, i32 noundef %11732, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 766, ptr noundef %11734, ptr noundef %11736, ptr noundef %11738, i32 noundef %11739) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11741:                                            ; preds = %11713
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %71) #12
  store i32 0, ptr %71, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1000, ptr nonnull %72) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(1000) %72, i8 0, i64 1000, i1 false)
  %11742 = load i32, ptr @test_count, align 4, !tbaa !5
  %11743 = add nsw i32 %11742, 1
  store i32 %11743, ptr @test_count, align 4, !tbaa !5
  %11744 = load ptr, ptr %69, align 8, !tbaa !9
  %11745 = load ptr, ptr %68, align 8, !tbaa !9
  %11746 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %11744, ptr noundef %11745, i32 noundef 19) #12
  %11747 = call zeroext i1 @s2n_result_is_ok(i32 %11746)
  br i1 %11747, label %11770, label %11748

11748:                                            ; preds = %11741
  %11749 = load i32, ptr %1901, align 4, !tbaa !5
  %11750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11751 = call i32 @s2n_print_stacktrace(ptr noundef %11750) #12
  %11752 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11753 = trunc nuw i8 %11752 to i1
  br i1 %11753, label %11754, label %11758

11754:                                            ; preds = %11748
  %11755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11756 = call i32 @fileno(ptr noundef %11755) #12
  %11757 = call i32 @isatty(i32 noundef %11756) #12
  %.not1179 = icmp eq i32 %11757, 0
  br i1 %.not1179, label %11758, label %11759

11758:                                            ; preds = %11754, %11748
  br label %11759

11759:                                            ; preds = %11754, %11758
  %.str.5.sink5362 = phi ptr [ @.str.5, %11758 ], [ @.str.2, %11754 ]
  store i32 %11749, ptr %1901, align 4, !tbaa !5
  %11760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11761 = load i32, ptr @test_count, align 4, !tbaa !5
  %11762 = load i32, ptr %1847, align 4, !tbaa !5
  %11763 = call ptr @s2n_strerror(i32 noundef %11762, ptr noundef nonnull @.str.4) #12
  %11764 = load i32, ptr %1847, align 4, !tbaa !5
  %11765 = call ptr @s2n_strerror_debug(i32 noundef %11764, ptr noundef nonnull @.str.4) #12
  %11766 = load i32, ptr %1901, align 4, !tbaa !5
  %11767 = call ptr @strerror(i32 noundef %11766) #12
  %11768 = load i32, ptr %1901, align 4, !tbaa !5
  %11769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11760, ptr noundef nonnull %.str.5.sink5362, i32 noundef %11761, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 771, ptr noundef %11763, ptr noundef %11765, ptr noundef %11767, i32 noundef %11768) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11770:                                            ; preds = %11741
  %11771 = load i32, ptr @test_count, align 4, !tbaa !5
  %11772 = add nsw i32 %11771, 1
  store i32 %11772, ptr @test_count, align 4, !tbaa !5
  %11773 = load ptr, ptr %68, align 8, !tbaa !9
  %11774 = call i32 @s2n_connection_set_end_of_early_data(ptr noundef %11773) #12
  %11775 = icmp eq i32 %11774, -1
  br i1 %11775, label %11776, label %11798

11776:                                            ; preds = %11770
  %11777 = load i32, ptr %1901, align 4, !tbaa !5
  %11778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11779 = call i32 @s2n_print_stacktrace(ptr noundef %11778) #12
  %11780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11781 = trunc nuw i8 %11780 to i1
  br i1 %11781, label %11782, label %11786

11782:                                            ; preds = %11776
  %11783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11784 = call i32 @fileno(ptr noundef %11783) #12
  %11785 = call i32 @isatty(i32 noundef %11784) #12
  %.not1216 = icmp eq i32 %11785, 0
  br i1 %.not1216, label %11786, label %11787

11786:                                            ; preds = %11782, %11776
  br label %11787

11787:                                            ; preds = %11782, %11786
  %.str.5.sink5371 = phi ptr [ @.str.5, %11786 ], [ @.str.2, %11782 ]
  store i32 %11777, ptr %1901, align 4, !tbaa !5
  %11788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11789 = load i32, ptr @test_count, align 4, !tbaa !5
  %11790 = load i32, ptr %1847, align 4, !tbaa !5
  %11791 = call ptr @s2n_strerror(i32 noundef %11790, ptr noundef nonnull @.str.4) #12
  %11792 = load i32, ptr %1847, align 4, !tbaa !5
  %11793 = call ptr @s2n_strerror_debug(i32 noundef %11792, ptr noundef nonnull @.str.4) #12
  %11794 = load i32, ptr %1901, align 4, !tbaa !5
  %11795 = call ptr @strerror(i32 noundef %11794) #12
  %11796 = load i32, ptr %1901, align 4, !tbaa !5
  %11797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11788, ptr noundef nonnull %.str.5.sink5371, i32 noundef %11789, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 774, ptr noundef %11791, ptr noundef %11793, ptr noundef %11795, i32 noundef %11796) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11798:                                            ; preds = %11770
  %11799 = load i32, ptr @test_count, align 4, !tbaa !5
  %11800 = add nsw i32 %11799, 1
  store i32 %11800, ptr @test_count, align 4, !tbaa !5
  %11801 = load ptr, ptr %68, align 8, !tbaa !9
  %11802 = call i32 @s2n_negotiate(ptr noundef %11801, ptr noundef nonnull %71) #12
  %11803 = icmp eq i32 %11802, -1
  br i1 %11803, label %11804, label %11826

11804:                                            ; preds = %11798
  %11805 = load i32, ptr %1901, align 4, !tbaa !5
  %11806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11807 = call i32 @s2n_print_stacktrace(ptr noundef %11806) #12
  %11808 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11809 = trunc nuw i8 %11808 to i1
  br i1 %11809, label %11810, label %11814

11810:                                            ; preds = %11804
  %11811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11812 = call i32 @fileno(ptr noundef %11811) #12
  %11813 = call i32 @isatty(i32 noundef %11812) #12
  %.not1215 = icmp eq i32 %11813, 0
  br i1 %.not1215, label %11814, label %11815

11814:                                            ; preds = %11810, %11804
  br label %11815

11815:                                            ; preds = %11810, %11814
  %.str.5.sink5380 = phi ptr [ @.str.5, %11814 ], [ @.str.2, %11810 ]
  store i32 %11805, ptr %1901, align 4, !tbaa !5
  %11816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11817 = load i32, ptr @test_count, align 4, !tbaa !5
  %11818 = load i32, ptr %1847, align 4, !tbaa !5
  %11819 = call ptr @s2n_strerror(i32 noundef %11818, ptr noundef nonnull @.str.4) #12
  %11820 = load i32, ptr %1847, align 4, !tbaa !5
  %11821 = call ptr @s2n_strerror_debug(i32 noundef %11820, ptr noundef nonnull @.str.4) #12
  %11822 = load i32, ptr %1901, align 4, !tbaa !5
  %11823 = call ptr @strerror(i32 noundef %11822) #12
  %11824 = load i32, ptr %1901, align 4, !tbaa !5
  %11825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11816, ptr noundef nonnull %.str.5.sink5380, i32 noundef %11817, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.1, i32 noundef 775, ptr noundef %11819, ptr noundef %11821, ptr noundef %11823, i32 noundef %11824) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11826:                                            ; preds = %11798
  %11827 = load i32, ptr @test_count, align 4, !tbaa !5
  %11828 = add nsw i32 %11827, 1
  store i32 %11828, ptr @test_count, align 4, !tbaa !5
  %11829 = load ptr, ptr %69, align 8, !tbaa !9
  %11830 = call i32 @s2n_conn_get_current_message_type(ptr noundef %11829) #12
  %11831 = icmp eq i32 %11830, 19
  br i1 %11831, label %11854, label %11832

11832:                                            ; preds = %11826
  %11833 = load i32, ptr %1901, align 4, !tbaa !5
  %11834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11835 = call i32 @s2n_print_stacktrace(ptr noundef %11834) #12
  %11836 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11837 = trunc nuw i8 %11836 to i1
  br i1 %11837, label %11838, label %11842

11838:                                            ; preds = %11832
  %11839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11840 = call i32 @fileno(ptr noundef %11839) #12
  %11841 = call i32 @isatty(i32 noundef %11840) #12
  %.not1180 = icmp eq i32 %11841, 0
  br i1 %.not1180, label %11842, label %11843

11842:                                            ; preds = %11838, %11832
  br label %11843

11843:                                            ; preds = %11838, %11842
  %.str.5.sink5389 = phi ptr [ @.str.5, %11842 ], [ @.str.2, %11838 ]
  store i32 %11833, ptr %1901, align 4, !tbaa !5
  %11844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11845 = load i32, ptr @test_count, align 4, !tbaa !5
  %11846 = load i32, ptr %1847, align 4, !tbaa !5
  %11847 = call ptr @s2n_strerror(i32 noundef %11846, ptr noundef nonnull @.str.4) #12
  %11848 = load i32, ptr %1847, align 4, !tbaa !5
  %11849 = call ptr @s2n_strerror_debug(i32 noundef %11848, ptr noundef nonnull @.str.4) #12
  %11850 = load i32, ptr %1901, align 4, !tbaa !5
  %11851 = call ptr @strerror(i32 noundef %11850) #12
  %11852 = load i32, ptr %1901, align 4, !tbaa !5
  %11853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11844, ptr noundef nonnull %.str.5.sink5389, i32 noundef %11845, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.1, i32 noundef 782, ptr noundef %11847, ptr noundef %11849, ptr noundef %11851, i32 noundef %11852) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11854:                                            ; preds = %11826
  %11855 = load i32, ptr @test_count, align 4, !tbaa !5
  %11856 = add nsw i32 %11855, 1
  store i32 %11856, ptr @test_count, align 4, !tbaa !5
  %11857 = load ptr, ptr %69, align 8, !tbaa !9
  %11858 = call i64 @s2n_recv(ptr noundef %11857, ptr noundef nonnull %72, i64 noundef 1000, ptr noundef nonnull %71) #12
  %11859 = icmp eq i64 %11858, -1
  br i1 %11859, label %11882, label %11860

11860:                                            ; preds = %11854
  %11861 = load i32, ptr %1901, align 4, !tbaa !5
  %11862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11863 = call i32 @s2n_print_stacktrace(ptr noundef %11862) #12
  %11864 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11865 = trunc nuw i8 %11864 to i1
  br i1 %11865, label %11866, label %11870

11866:                                            ; preds = %11860
  %11867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11868 = call i32 @fileno(ptr noundef %11867) #12
  %11869 = call i32 @isatty(i32 noundef %11868) #12
  %.not1181 = icmp eq i32 %11869, 0
  br i1 %.not1181, label %11870, label %11871

11870:                                            ; preds = %11866, %11860
  br label %11871

11871:                                            ; preds = %11866, %11870
  %.str.5.sink5398 = phi ptr [ @.str.5, %11870 ], [ @.str.2, %11866 ]
  store i32 %11861, ptr %1901, align 4, !tbaa !5
  %11872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11873 = load i32, ptr @test_count, align 4, !tbaa !5
  %11874 = load i32, ptr %1847, align 4, !tbaa !5
  %11875 = call ptr @s2n_strerror(i32 noundef %11874, ptr noundef nonnull @.str.4) #12
  %11876 = load i32, ptr %1847, align 4, !tbaa !5
  %11877 = call ptr @s2n_strerror_debug(i32 noundef %11876, ptr noundef nonnull @.str.4) #12
  %11878 = load i32, ptr %1901, align 4, !tbaa !5
  %11879 = call ptr @strerror(i32 noundef %11878) #12
  %11880 = load i32, ptr %1901, align 4, !tbaa !5
  %11881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11872, ptr noundef nonnull %.str.5.sink5398, i32 noundef %11873, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.1, i32 noundef 784, ptr noundef %11875, ptr noundef %11877, ptr noundef %11879, i32 noundef %11880) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11882:                                            ; preds = %11854
  %11883 = load i32, ptr @test_count, align 4, !tbaa !5
  %11884 = add nsw i32 %11883, 1
  store i32 %11884, ptr @test_count, align 4, !tbaa !5
  %11885 = load i32, ptr %1847, align 4, !tbaa !5
  %11886 = icmp eq i32 %11885, 335544322
  br i1 %11886, label %11909, label %11887

11887:                                            ; preds = %11882
  %11888 = load i32, ptr %1901, align 4, !tbaa !5
  %11889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11890 = call i32 @s2n_print_stacktrace(ptr noundef %11889) #12
  %11891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11892 = trunc nuw i8 %11891 to i1
  br i1 %11892, label %11893, label %11897

11893:                                            ; preds = %11887
  %11894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11895 = call i32 @fileno(ptr noundef %11894) #12
  %11896 = call i32 @isatty(i32 noundef %11895) #12
  %.not1182 = icmp eq i32 %11896, 0
  br i1 %.not1182, label %11897, label %11898

11897:                                            ; preds = %11893, %11887
  br label %11898

11898:                                            ; preds = %11893, %11897
  %.str.5.sink5407 = phi ptr [ @.str.5, %11897 ], [ @.str.2, %11893 ]
  store i32 %11888, ptr %1901, align 4, !tbaa !5
  %11899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11900 = load i32, ptr @test_count, align 4, !tbaa !5
  %11901 = load i32, ptr %1847, align 4, !tbaa !5
  %11902 = call ptr @s2n_strerror(i32 noundef %11901, ptr noundef nonnull @.str.4) #12
  %11903 = load i32, ptr %1847, align 4, !tbaa !5
  %11904 = call ptr @s2n_strerror_debug(i32 noundef %11903, ptr noundef nonnull @.str.4) #12
  %11905 = load i32, ptr %1901, align 4, !tbaa !5
  %11906 = call ptr @strerror(i32 noundef %11905) #12
  %11907 = load i32, ptr %1901, align 4, !tbaa !5
  %11908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11899, ptr noundef nonnull %.str.5.sink5407, i32 noundef %11900, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.1, i32 noundef 784, ptr noundef %11902, ptr noundef %11904, ptr noundef %11906, i32 noundef %11907) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11909:                                            ; preds = %11882
  %11910 = add nsw i32 %11883, 2
  store i32 %11910, ptr @test_count, align 4, !tbaa !5
  %11911 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.4) #12
  %11912 = icmp eq ptr %11911, null
  br i1 %11912, label %11913, label %11935

11913:                                            ; preds = %11909
  %11914 = load i32, ptr %1901, align 4, !tbaa !5
  %11915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11916 = call i32 @s2n_print_stacktrace(ptr noundef %11915) #12
  %11917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11918 = trunc nuw i8 %11917 to i1
  br i1 %11918, label %11919, label %11923

11919:                                            ; preds = %11913
  %11920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11921 = call i32 @fileno(ptr noundef %11920) #12
  %11922 = call i32 @isatty(i32 noundef %11921) #12
  %.not1214 = icmp eq i32 %11922, 0
  br i1 %.not1214, label %11923, label %11924

11923:                                            ; preds = %11919, %11913
  br label %11924

11924:                                            ; preds = %11919, %11923
  %.str.5.sink5416 = phi ptr [ @.str.5, %11923 ], [ @.str.2, %11919 ]
  store i32 %11914, ptr %1901, align 4, !tbaa !5
  %11925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11926 = load i32, ptr @test_count, align 4, !tbaa !5
  %11927 = load i32, ptr %1847, align 4, !tbaa !5
  %11928 = call ptr @s2n_strerror(i32 noundef %11927, ptr noundef nonnull @.str.4) #12
  %11929 = load i32, ptr %1847, align 4, !tbaa !5
  %11930 = call ptr @s2n_strerror_debug(i32 noundef %11929, ptr noundef nonnull @.str.4) #12
  %11931 = load i32, ptr %1901, align 4, !tbaa !5
  %11932 = call ptr @strerror(i32 noundef %11931) #12
  %11933 = load i32, ptr %1901, align 4, !tbaa !5
  %11934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11925, ptr noundef nonnull %.str.5.sink5416, i32 noundef %11926, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 784, ptr noundef %11928, ptr noundef %11930, ptr noundef %11932, i32 noundef %11933) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11935:                                            ; preds = %11909
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %11936 = load i32, ptr @test_count, align 4, !tbaa !5
  %11937 = add nsw i32 %11936, 1
  store i32 %11937, ptr @test_count, align 4, !tbaa !5
  %11938 = load ptr, ptr %68, align 8, !tbaa !9
  %11939 = call i32 @s2n_connection_free(ptr noundef %11938) #12
  %11940 = icmp eq i32 %11939, -1
  br i1 %11940, label %11941, label %11963

11941:                                            ; preds = %11935
  %11942 = load i32, ptr %1901, align 4, !tbaa !5
  %11943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11944 = call i32 @s2n_print_stacktrace(ptr noundef %11943) #12
  %11945 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11946 = trunc nuw i8 %11945 to i1
  br i1 %11946, label %11947, label %11951

11947:                                            ; preds = %11941
  %11948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11949 = call i32 @fileno(ptr noundef %11948) #12
  %11950 = call i32 @isatty(i32 noundef %11949) #12
  %.not1213 = icmp eq i32 %11950, 0
  br i1 %.not1213, label %11951, label %11952

11951:                                            ; preds = %11947, %11941
  br label %11952

11952:                                            ; preds = %11947, %11951
  %.str.5.sink5425 = phi ptr [ @.str.5, %11951 ], [ @.str.2, %11947 ]
  store i32 %11942, ptr %1901, align 4, !tbaa !5
  %11953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11954 = load i32, ptr @test_count, align 4, !tbaa !5
  %11955 = load i32, ptr %1847, align 4, !tbaa !5
  %11956 = call ptr @s2n_strerror(i32 noundef %11955, ptr noundef nonnull @.str.4) #12
  %11957 = load i32, ptr %1847, align 4, !tbaa !5
  %11958 = call ptr @s2n_strerror_debug(i32 noundef %11957, ptr noundef nonnull @.str.4) #12
  %11959 = load i32, ptr %1901, align 4, !tbaa !5
  %11960 = call ptr @strerror(i32 noundef %11959) #12
  %11961 = load i32, ptr %1901, align 4, !tbaa !5
  %11962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11953, ptr noundef nonnull %.str.5.sink5425, i32 noundef %11954, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 786, ptr noundef %11956, ptr noundef %11958, ptr noundef %11960, i32 noundef %11961) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11963:                                            ; preds = %11935
  %11964 = load i32, ptr @test_count, align 4, !tbaa !5
  %11965 = add nsw i32 %11964, 1
  store i32 %11965, ptr @test_count, align 4, !tbaa !5
  %11966 = load ptr, ptr %69, align 8, !tbaa !9
  %11967 = call i32 @s2n_connection_free(ptr noundef %11966) #12
  %11968 = icmp eq i32 %11967, -1
  br i1 %11968, label %11969, label %11991

11969:                                            ; preds = %11963
  %11970 = load i32, ptr %1901, align 4, !tbaa !5
  %11971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11972 = call i32 @s2n_print_stacktrace(ptr noundef %11971) #12
  %11973 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11974 = trunc nuw i8 %11973 to i1
  br i1 %11974, label %11975, label %11979

11975:                                            ; preds = %11969
  %11976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11977 = call i32 @fileno(ptr noundef %11976) #12
  %11978 = call i32 @isatty(i32 noundef %11977) #12
  %.not1212 = icmp eq i32 %11978, 0
  br i1 %.not1212, label %11979, label %11980

11979:                                            ; preds = %11975, %11969
  br label %11980

11980:                                            ; preds = %11975, %11979
  %.str.5.sink5434 = phi ptr [ @.str.5, %11979 ], [ @.str.2, %11975 ]
  store i32 %11970, ptr %1901, align 4, !tbaa !5
  %11981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11982 = load i32, ptr @test_count, align 4, !tbaa !5
  %11983 = load i32, ptr %1847, align 4, !tbaa !5
  %11984 = call ptr @s2n_strerror(i32 noundef %11983, ptr noundef nonnull @.str.4) #12
  %11985 = load i32, ptr %1847, align 4, !tbaa !5
  %11986 = call ptr @s2n_strerror_debug(i32 noundef %11985, ptr noundef nonnull @.str.4) #12
  %11987 = load i32, ptr %1901, align 4, !tbaa !5
  %11988 = call ptr @strerror(i32 noundef %11987) #12
  %11989 = load i32, ptr %1901, align 4, !tbaa !5
  %11990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11981, ptr noundef nonnull %.str.5.sink5434, i32 noundef %11982, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 787, ptr noundef %11984, ptr noundef %11986, ptr noundef %11988, i32 noundef %11989) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11991:                                            ; preds = %11963
  call void @llvm.lifetime.end.p0(i64 1000, ptr nonnull %72) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %71) #12
  %11992 = call i32 @s2n_io_pair_close(ptr noundef nonnull %70) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %73) #12
  store ptr null, ptr %73, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %74) #12
  store ptr null, ptr %74, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %75) #12
  store i64 0, ptr %75, align 8
  %11993 = load i32, ptr @test_count, align 4, !tbaa !5
  %11994 = add nsw i32 %11993, 1
  store i32 %11994, ptr @test_count, align 4, !tbaa !5
  %11995 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %73, ptr noundef nonnull %74, ptr noundef nonnull %75)
  %11996 = call zeroext i1 @s2n_result_is_ok(i32 %11995)
  br i1 %11996, label %12019, label %11997

11997:                                            ; preds = %11991
  %11998 = load i32, ptr %1901, align 4, !tbaa !5
  %11999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12000 = call i32 @s2n_print_stacktrace(ptr noundef %11999) #12
  %12001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12002 = trunc nuw i8 %12001 to i1
  br i1 %12002, label %12003, label %12007

12003:                                            ; preds = %11997
  %12004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12005 = call i32 @fileno(ptr noundef %12004) #12
  %12006 = call i32 @isatty(i32 noundef %12005) #12
  %.not1183 = icmp eq i32 %12006, 0
  br i1 %.not1183, label %12007, label %12008

12007:                                            ; preds = %12003, %11997
  br label %12008

12008:                                            ; preds = %12003, %12007
  %.str.5.sink5443 = phi ptr [ @.str.5, %12007 ], [ @.str.2, %12003 ]
  store i32 %11998, ptr %1901, align 4, !tbaa !5
  %12009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12010 = load i32, ptr @test_count, align 4, !tbaa !5
  %12011 = load i32, ptr %1847, align 4, !tbaa !5
  %12012 = call ptr @s2n_strerror(i32 noundef %12011, ptr noundef nonnull @.str.4) #12
  %12013 = load i32, ptr %1847, align 4, !tbaa !5
  %12014 = call ptr @s2n_strerror_debug(i32 noundef %12013, ptr noundef nonnull @.str.4) #12
  %12015 = load i32, ptr %1901, align 4, !tbaa !5
  %12016 = call ptr @strerror(i32 noundef %12015) #12
  %12017 = load i32, ptr %1901, align 4, !tbaa !5
  %12018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12009, ptr noundef nonnull %.str.5.sink5443, i32 noundef %12010, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 794, ptr noundef %12012, ptr noundef %12014, ptr noundef %12016, i32 noundef %12017) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12019:                                            ; preds = %11991
  %12020 = load i32, ptr @test_count, align 4, !tbaa !5
  %12021 = add nsw i32 %12020, 1
  store i32 %12021, ptr @test_count, align 4, !tbaa !5
  %12022 = load ptr, ptr %73, align 8, !tbaa !9
  %12023 = call i32 @s2n_connection_append_psk(ptr noundef %12022, ptr noundef %11632) #12
  %12024 = icmp eq i32 %12023, -1
  br i1 %12024, label %12025, label %12047

12025:                                            ; preds = %12019
  %12026 = load i32, ptr %1901, align 4, !tbaa !5
  %12027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12028 = call i32 @s2n_print_stacktrace(ptr noundef %12027) #12
  %12029 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12030 = trunc nuw i8 %12029 to i1
  br i1 %12030, label %12031, label %12035

12031:                                            ; preds = %12025
  %12032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12033 = call i32 @fileno(ptr noundef %12032) #12
  %12034 = call i32 @isatty(i32 noundef %12033) #12
  %.not1211 = icmp eq i32 %12034, 0
  br i1 %.not1211, label %12035, label %12036

12035:                                            ; preds = %12031, %12025
  br label %12036

12036:                                            ; preds = %12031, %12035
  %.str.5.sink5452 = phi ptr [ @.str.5, %12035 ], [ @.str.2, %12031 ]
  store i32 %12026, ptr %1901, align 4, !tbaa !5
  %12037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12038 = load i32, ptr @test_count, align 4, !tbaa !5
  %12039 = load i32, ptr %1847, align 4, !tbaa !5
  %12040 = call ptr @s2n_strerror(i32 noundef %12039, ptr noundef nonnull @.str.4) #12
  %12041 = load i32, ptr %1847, align 4, !tbaa !5
  %12042 = call ptr @s2n_strerror_debug(i32 noundef %12041, ptr noundef nonnull @.str.4) #12
  %12043 = load i32, ptr %1901, align 4, !tbaa !5
  %12044 = call ptr @strerror(i32 noundef %12043) #12
  %12045 = load i32, ptr %1901, align 4, !tbaa !5
  %12046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12037, ptr noundef nonnull %.str.5.sink5452, i32 noundef %12038, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 796, ptr noundef %12040, ptr noundef %12042, ptr noundef %12044, i32 noundef %12045) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12047:                                            ; preds = %12019
  %12048 = load i32, ptr @test_count, align 4, !tbaa !5
  %12049 = add nsw i32 %12048, 1
  store i32 %12049, ptr @test_count, align 4, !tbaa !5
  %12050 = load ptr, ptr %74, align 8, !tbaa !9
  %12051 = call i32 @s2n_connection_append_psk(ptr noundef %12050, ptr noundef %11632) #12
  %12052 = icmp eq i32 %12051, -1
  br i1 %12052, label %12053, label %12075

12053:                                            ; preds = %12047
  %12054 = load i32, ptr %1901, align 4, !tbaa !5
  %12055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12056 = call i32 @s2n_print_stacktrace(ptr noundef %12055) #12
  %12057 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12058 = trunc nuw i8 %12057 to i1
  br i1 %12058, label %12059, label %12063

12059:                                            ; preds = %12053
  %12060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12061 = call i32 @fileno(ptr noundef %12060) #12
  %12062 = call i32 @isatty(i32 noundef %12061) #12
  %.not1210 = icmp eq i32 %12062, 0
  br i1 %.not1210, label %12063, label %12064

12063:                                            ; preds = %12059, %12053
  br label %12064

12064:                                            ; preds = %12059, %12063
  %.str.5.sink5461 = phi ptr [ @.str.5, %12063 ], [ @.str.2, %12059 ]
  store i32 %12054, ptr %1901, align 4, !tbaa !5
  %12065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12066 = load i32, ptr @test_count, align 4, !tbaa !5
  %12067 = load i32, ptr %1847, align 4, !tbaa !5
  %12068 = call ptr @s2n_strerror(i32 noundef %12067, ptr noundef nonnull @.str.4) #12
  %12069 = load i32, ptr %1847, align 4, !tbaa !5
  %12070 = call ptr @s2n_strerror_debug(i32 noundef %12069, ptr noundef nonnull @.str.4) #12
  %12071 = load i32, ptr %1901, align 4, !tbaa !5
  %12072 = call ptr @strerror(i32 noundef %12071) #12
  %12073 = load i32, ptr %1901, align 4, !tbaa !5
  %12074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12065, ptr noundef nonnull %.str.5.sink5461, i32 noundef %12066, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 797, ptr noundef %12068, ptr noundef %12070, ptr noundef %12072, i32 noundef %12073) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12075:                                            ; preds = %12047
  %12076 = load i32, ptr @test_count, align 4, !tbaa !5
  %12077 = add nsw i32 %12076, 1
  store i32 %12077, ptr @test_count, align 4, !tbaa !5
  %12078 = load ptr, ptr %73, align 8, !tbaa !9
  %12079 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %12078) #12
  %12080 = icmp eq i32 %12079, -1
  br i1 %12080, label %12081, label %12103

12081:                                            ; preds = %12075
  %12082 = load i32, ptr %1901, align 4, !tbaa !5
  %12083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12084 = call i32 @s2n_print_stacktrace(ptr noundef %12083) #12
  %12085 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12086 = trunc nuw i8 %12085 to i1
  br i1 %12086, label %12087, label %12091

12087:                                            ; preds = %12081
  %12088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12089 = call i32 @fileno(ptr noundef %12088) #12
  %12090 = call i32 @isatty(i32 noundef %12089) #12
  %.not1209 = icmp eq i32 %12090, 0
  br i1 %.not1209, label %12091, label %12092

12091:                                            ; preds = %12087, %12081
  br label %12092

12092:                                            ; preds = %12087, %12091
  %.str.5.sink5470 = phi ptr [ @.str.5, %12091 ], [ @.str.2, %12087 ]
  store i32 %12082, ptr %1901, align 4, !tbaa !5
  %12093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12094 = load i32, ptr @test_count, align 4, !tbaa !5
  %12095 = load i32, ptr %1847, align 4, !tbaa !5
  %12096 = call ptr @s2n_strerror(i32 noundef %12095, ptr noundef nonnull @.str.4) #12
  %12097 = load i32, ptr %1847, align 4, !tbaa !5
  %12098 = call ptr @s2n_strerror_debug(i32 noundef %12097, ptr noundef nonnull @.str.4) #12
  %12099 = load i32, ptr %1901, align 4, !tbaa !5
  %12100 = call ptr @strerror(i32 noundef %12099) #12
  %12101 = load i32, ptr %1901, align 4, !tbaa !5
  %12102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12093, ptr noundef nonnull %.str.5.sink5470, i32 noundef %12094, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 798, ptr noundef %12096, ptr noundef %12098, ptr noundef %12100, i32 noundef %12101) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12103:                                            ; preds = %12075
  %12104 = load i32, ptr @test_count, align 4, !tbaa !5
  %12105 = add nsw i32 %12104, 1
  store i32 %12105, ptr @test_count, align 4, !tbaa !5
  %12106 = load ptr, ptr %74, align 8, !tbaa !9
  %12107 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %12106) #12
  %12108 = icmp eq i32 %12107, -1
  br i1 %12108, label %12109, label %12131

12109:                                            ; preds = %12103
  %12110 = load i32, ptr %1901, align 4, !tbaa !5
  %12111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12112 = call i32 @s2n_print_stacktrace(ptr noundef %12111) #12
  %12113 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12114 = trunc nuw i8 %12113 to i1
  br i1 %12114, label %12115, label %12119

12115:                                            ; preds = %12109
  %12116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12117 = call i32 @fileno(ptr noundef %12116) #12
  %12118 = call i32 @isatty(i32 noundef %12117) #12
  %.not1208 = icmp eq i32 %12118, 0
  br i1 %.not1208, label %12119, label %12120

12119:                                            ; preds = %12115, %12109
  br label %12120

12120:                                            ; preds = %12115, %12119
  %.str.5.sink5479 = phi ptr [ @.str.5, %12119 ], [ @.str.2, %12115 ]
  store i32 %12110, ptr %1901, align 4, !tbaa !5
  %12121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12122 = load i32, ptr @test_count, align 4, !tbaa !5
  %12123 = load i32, ptr %1847, align 4, !tbaa !5
  %12124 = call ptr @s2n_strerror(i32 noundef %12123, ptr noundef nonnull @.str.4) #12
  %12125 = load i32, ptr %1847, align 4, !tbaa !5
  %12126 = call ptr @s2n_strerror_debug(i32 noundef %12125, ptr noundef nonnull @.str.4) #12
  %12127 = load i32, ptr %1901, align 4, !tbaa !5
  %12128 = call ptr @strerror(i32 noundef %12127) #12
  %12129 = load i32, ptr %1901, align 4, !tbaa !5
  %12130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12121, ptr noundef nonnull %.str.5.sink5479, i32 noundef %12122, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 799, ptr noundef %12124, ptr noundef %12126, ptr noundef %12128, i32 noundef %12129) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12131:                                            ; preds = %12103
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %76) #12
  store i32 0, ptr %76, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1000, ptr nonnull %77) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(1000) %77, i8 0, i64 1000, i1 false)
  store <4 x i8> <i8 104, i8 101, i8 108, i8 108>, ptr %77, align 16
  %12132 = getelementptr inbounds i8, ptr %77, i64 4
  store i8 111, ptr %12132, align 4
  call void @llvm.lifetime.start.p0(i64 1000, ptr nonnull %78) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(1000) %78, i8 0, i64 1000, i1 false)
  %12133 = load i32, ptr @test_count, align 4, !tbaa !5
  %12134 = add nsw i32 %12133, 1
  store i32 %12134, ptr @test_count, align 4, !tbaa !5
  %12135 = load ptr, ptr %74, align 8, !tbaa !9
  %12136 = load ptr, ptr %73, align 8, !tbaa !9
  %12137 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %12135, ptr noundef %12136, i32 noundef 19) #12
  %12138 = call zeroext i1 @s2n_result_is_ok(i32 %12137)
  br i1 %12138, label %12161, label %12139

12139:                                            ; preds = %12131
  %12140 = load i32, ptr %1901, align 4, !tbaa !5
  %12141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12142 = call i32 @s2n_print_stacktrace(ptr noundef %12141) #12
  %12143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12144 = trunc nuw i8 %12143 to i1
  br i1 %12144, label %12145, label %12149

12145:                                            ; preds = %12139
  %12146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12147 = call i32 @fileno(ptr noundef %12146) #12
  %12148 = call i32 @isatty(i32 noundef %12147) #12
  %.not1184 = icmp eq i32 %12148, 0
  br i1 %.not1184, label %12149, label %12150

12149:                                            ; preds = %12145, %12139
  br label %12150

12150:                                            ; preds = %12145, %12149
  %.str.5.sink5488 = phi ptr [ @.str.5, %12149 ], [ @.str.2, %12145 ]
  store i32 %12140, ptr %1901, align 4, !tbaa !5
  %12151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12152 = load i32, ptr @test_count, align 4, !tbaa !5
  %12153 = load i32, ptr %1847, align 4, !tbaa !5
  %12154 = call ptr @s2n_strerror(i32 noundef %12153, ptr noundef nonnull @.str.4) #12
  %12155 = load i32, ptr %1847, align 4, !tbaa !5
  %12156 = call ptr @s2n_strerror_debug(i32 noundef %12155, ptr noundef nonnull @.str.4) #12
  %12157 = load i32, ptr %1901, align 4, !tbaa !5
  %12158 = call ptr @strerror(i32 noundef %12157) #12
  %12159 = load i32, ptr %1901, align 4, !tbaa !5
  %12160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12151, ptr noundef nonnull %.str.5.sink5488, i32 noundef %12152, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 806, ptr noundef %12154, ptr noundef %12156, ptr noundef %12158, i32 noundef %12159) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12161:                                            ; preds = %12131
  %12162 = load i32, ptr @test_count, align 4, !tbaa !5
  %12163 = add nsw i32 %12162, 1
  store i32 %12163, ptr @test_count, align 4, !tbaa !5
  %12164 = load ptr, ptr %73, align 8, !tbaa !9
  %12165 = call i64 @s2n_send(ptr noundef %12164, ptr noundef nonnull %77, i64 noundef 1000, ptr noundef nonnull %76) #12
  %12166 = icmp eq i64 %12165, 1000
  br i1 %12166, label %12189, label %12167

12167:                                            ; preds = %12161
  %12168 = load i32, ptr %1901, align 4, !tbaa !5
  %12169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12170 = call i32 @s2n_print_stacktrace(ptr noundef %12169) #12
  %12171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12172 = trunc nuw i8 %12171 to i1
  br i1 %12172, label %12173, label %12177

12173:                                            ; preds = %12167
  %12174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12175 = call i32 @fileno(ptr noundef %12174) #12
  %12176 = call i32 @isatty(i32 noundef %12175) #12
  %.not1185 = icmp eq i32 %12176, 0
  br i1 %.not1185, label %12177, label %12178

12177:                                            ; preds = %12173, %12167
  br label %12178

12178:                                            ; preds = %12173, %12177
  %.str.5.sink5497 = phi ptr [ @.str.5, %12177 ], [ @.str.2, %12173 ]
  store i32 %12168, ptr %1901, align 4, !tbaa !5
  %12179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12180 = load i32, ptr @test_count, align 4, !tbaa !5
  %12181 = load i32, ptr %1847, align 4, !tbaa !5
  %12182 = call ptr @s2n_strerror(i32 noundef %12181, ptr noundef nonnull @.str.4) #12
  %12183 = load i32, ptr %1847, align 4, !tbaa !5
  %12184 = call ptr @s2n_strerror_debug(i32 noundef %12183, ptr noundef nonnull @.str.4) #12
  %12185 = load i32, ptr %1901, align 4, !tbaa !5
  %12186 = call ptr @strerror(i32 noundef %12185) #12
  %12187 = load i32, ptr %1901, align 4, !tbaa !5
  %12188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12179, ptr noundef nonnull %.str.5.sink5497, i32 noundef %12180, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.1, i32 noundef 809, ptr noundef %12182, ptr noundef %12184, ptr noundef %12186, i32 noundef %12187) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12189:                                            ; preds = %12161
  %12190 = load i32, ptr @test_count, align 4, !tbaa !5
  %12191 = add nsw i32 %12190, 1
  store i32 %12191, ptr @test_count, align 4, !tbaa !5
  %12192 = load ptr, ptr %74, align 8, !tbaa !9
  %12193 = call i32 @s2n_negotiate(ptr noundef %12192, ptr noundef nonnull %76) #12
  %12194 = icmp eq i32 %12193, -1
  br i1 %12194, label %12217, label %12195

12195:                                            ; preds = %12189
  %12196 = load i32, ptr %1901, align 4, !tbaa !5
  %12197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12198 = call i32 @s2n_print_stacktrace(ptr noundef %12197) #12
  %12199 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12200 = trunc nuw i8 %12199 to i1
  br i1 %12200, label %12201, label %12205

12201:                                            ; preds = %12195
  %12202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12203 = call i32 @fileno(ptr noundef %12202) #12
  %12204 = call i32 @isatty(i32 noundef %12203) #12
  %.not1186 = icmp eq i32 %12204, 0
  br i1 %.not1186, label %12205, label %12206

12205:                                            ; preds = %12201, %12195
  br label %12206

12206:                                            ; preds = %12201, %12205
  %.str.5.sink5506 = phi ptr [ @.str.5, %12205 ], [ @.str.2, %12201 ]
  store i32 %12196, ptr %1901, align 4, !tbaa !5
  %12207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12208 = load i32, ptr @test_count, align 4, !tbaa !5
  %12209 = load i32, ptr %1847, align 4, !tbaa !5
  %12210 = call ptr @s2n_strerror(i32 noundef %12209, ptr noundef nonnull @.str.4) #12
  %12211 = load i32, ptr %1847, align 4, !tbaa !5
  %12212 = call ptr @s2n_strerror_debug(i32 noundef %12211, ptr noundef nonnull @.str.4) #12
  %12213 = load i32, ptr %1901, align 4, !tbaa !5
  %12214 = call ptr @strerror(i32 noundef %12213) #12
  %12215 = load i32, ptr %1901, align 4, !tbaa !5
  %12216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12207, ptr noundef nonnull %.str.5.sink5506, i32 noundef %12208, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 810, ptr noundef %12210, ptr noundef %12212, ptr noundef %12214, i32 noundef %12215) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12217:                                            ; preds = %12189
  %12218 = load i32, ptr @test_count, align 4, !tbaa !5
  %12219 = add nsw i32 %12218, 1
  store i32 %12219, ptr @test_count, align 4, !tbaa !5
  %12220 = load i32, ptr %1847, align 4, !tbaa !5
  %12221 = icmp eq i32 %12220, 201326594
  br i1 %12221, label %12244, label %12222

12222:                                            ; preds = %12217
  %12223 = load i32, ptr %1901, align 4, !tbaa !5
  %12224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12225 = call i32 @s2n_print_stacktrace(ptr noundef %12224) #12
  %12226 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12227 = trunc nuw i8 %12226 to i1
  br i1 %12227, label %12228, label %12232

12228:                                            ; preds = %12222
  %12229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12230 = call i32 @fileno(ptr noundef %12229) #12
  %12231 = call i32 @isatty(i32 noundef %12230) #12
  %.not1187 = icmp eq i32 %12231, 0
  br i1 %.not1187, label %12232, label %12233

12232:                                            ; preds = %12228, %12222
  br label %12233

12233:                                            ; preds = %12228, %12232
  %.str.5.sink5515 = phi ptr [ @.str.5, %12232 ], [ @.str.2, %12228 ]
  store i32 %12223, ptr %1901, align 4, !tbaa !5
  %12234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12235 = load i32, ptr @test_count, align 4, !tbaa !5
  %12236 = load i32, ptr %1847, align 4, !tbaa !5
  %12237 = call ptr @s2n_strerror(i32 noundef %12236, ptr noundef nonnull @.str.4) #12
  %12238 = load i32, ptr %1847, align 4, !tbaa !5
  %12239 = call ptr @s2n_strerror_debug(i32 noundef %12238, ptr noundef nonnull @.str.4) #12
  %12240 = load i32, ptr %1901, align 4, !tbaa !5
  %12241 = call ptr @strerror(i32 noundef %12240) #12
  %12242 = load i32, ptr %1901, align 4, !tbaa !5
  %12243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12234, ptr noundef nonnull %.str.5.sink5515, i32 noundef %12235, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 810, ptr noundef %12237, ptr noundef %12239, ptr noundef %12241, i32 noundef %12242) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12244:                                            ; preds = %12217
  %12245 = add nsw i32 %12218, 2
  store i32 %12245, ptr @test_count, align 4, !tbaa !5
  %12246 = call ptr @s2n_strerror_debug(i32 noundef 201326594, ptr noundef nonnull @.str.4) #12
  %12247 = icmp eq ptr %12246, null
  br i1 %12247, label %12248, label %12270

12248:                                            ; preds = %12244
  %12249 = load i32, ptr %1901, align 4, !tbaa !5
  %12250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12251 = call i32 @s2n_print_stacktrace(ptr noundef %12250) #12
  %12252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12253 = trunc nuw i8 %12252 to i1
  br i1 %12253, label %12254, label %12258

12254:                                            ; preds = %12248
  %12255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12256 = call i32 @fileno(ptr noundef %12255) #12
  %12257 = call i32 @isatty(i32 noundef %12256) #12
  %.not1207 = icmp eq i32 %12257, 0
  br i1 %.not1207, label %12258, label %12259

12258:                                            ; preds = %12254, %12248
  br label %12259

12259:                                            ; preds = %12254, %12258
  %.str.5.sink5524 = phi ptr [ @.str.5, %12258 ], [ @.str.2, %12254 ]
  store i32 %12249, ptr %1901, align 4, !tbaa !5
  %12260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12261 = load i32, ptr @test_count, align 4, !tbaa !5
  %12262 = load i32, ptr %1847, align 4, !tbaa !5
  %12263 = call ptr @s2n_strerror(i32 noundef %12262, ptr noundef nonnull @.str.4) #12
  %12264 = load i32, ptr %1847, align 4, !tbaa !5
  %12265 = call ptr @s2n_strerror_debug(i32 noundef %12264, ptr noundef nonnull @.str.4) #12
  %12266 = load i32, ptr %1901, align 4, !tbaa !5
  %12267 = call ptr @strerror(i32 noundef %12266) #12
  %12268 = load i32, ptr %1901, align 4, !tbaa !5
  %12269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12260, ptr noundef nonnull %.str.5.sink5524, i32 noundef %12261, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 810, ptr noundef %12263, ptr noundef %12265, ptr noundef %12267, i32 noundef %12268) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12270:                                            ; preds = %12244
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %12271 = load i32, ptr @test_count, align 4, !tbaa !5
  %12272 = add nsw i32 %12271, 1
  store i32 %12272, ptr @test_count, align 4, !tbaa !5
  %12273 = load ptr, ptr %74, align 8, !tbaa !9
  %12274 = call i64 @s2n_recv(ptr noundef %12273, ptr noundef nonnull %78, i64 noundef 1000, ptr noundef nonnull %76) #12
  %12275 = icmp eq i64 %12274, 1000
  br i1 %12275, label %12298, label %12276

12276:                                            ; preds = %12270
  %12277 = load i32, ptr %1901, align 4, !tbaa !5
  %12278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12279 = call i32 @s2n_print_stacktrace(ptr noundef %12278) #12
  %12280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12281 = trunc nuw i8 %12280 to i1
  br i1 %12281, label %12282, label %12286

12282:                                            ; preds = %12276
  %12283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12284 = call i32 @fileno(ptr noundef %12283) #12
  %12285 = call i32 @isatty(i32 noundef %12284) #12
  %.not1188 = icmp eq i32 %12285, 0
  br i1 %.not1188, label %12286, label %12287

12286:                                            ; preds = %12282, %12276
  br label %12287

12287:                                            ; preds = %12282, %12286
  %.str.5.sink5533 = phi ptr [ @.str.5, %12286 ], [ @.str.2, %12282 ]
  store i32 %12277, ptr %1901, align 4, !tbaa !5
  %12288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12289 = load i32, ptr @test_count, align 4, !tbaa !5
  %12290 = load i32, ptr %1847, align 4, !tbaa !5
  %12291 = call ptr @s2n_strerror(i32 noundef %12290, ptr noundef nonnull @.str.4) #12
  %12292 = load i32, ptr %1847, align 4, !tbaa !5
  %12293 = call ptr @s2n_strerror_debug(i32 noundef %12292, ptr noundef nonnull @.str.4) #12
  %12294 = load i32, ptr %1901, align 4, !tbaa !5
  %12295 = call ptr @strerror(i32 noundef %12294) #12
  %12296 = load i32, ptr %1901, align 4, !tbaa !5
  %12297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12288, ptr noundef nonnull %.str.5.sink5533, i32 noundef %12289, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.1, i32 noundef 812, ptr noundef %12291, ptr noundef %12293, ptr noundef %12295, i32 noundef %12296) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12298:                                            ; preds = %12270
  %12299 = load i32, ptr @test_count, align 4, !tbaa !5
  %12300 = add nsw i32 %12299, 1
  store i32 %12300, ptr @test_count, align 4, !tbaa !5
  %bcmp1189 = call i32 @bcmp(ptr noundef nonnull dereferenceable(1000) %78, ptr noundef nonnull dereferenceable(1000) %77, i64 1000)
  %12301 = icmp eq i32 %bcmp1189, 0
  br i1 %12301, label %12324, label %12302

12302:                                            ; preds = %12298
  %12303 = load i32, ptr %1901, align 4, !tbaa !5
  %12304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12305 = call i32 @s2n_print_stacktrace(ptr noundef %12304) #12
  %12306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12307 = trunc nuw i8 %12306 to i1
  br i1 %12307, label %12308, label %12312

12308:                                            ; preds = %12302
  %12309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12310 = call i32 @fileno(ptr noundef %12309) #12
  %12311 = call i32 @isatty(i32 noundef %12310) #12
  %.not1190 = icmp eq i32 %12311, 0
  br i1 %.not1190, label %12312, label %12313

12312:                                            ; preds = %12308, %12302
  br label %12313

12313:                                            ; preds = %12308, %12312
  %.str.5.sink5542 = phi ptr [ @.str.5, %12312 ], [ @.str.2, %12308 ]
  store i32 %12303, ptr %1901, align 4, !tbaa !5
  %12314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12315 = load i32, ptr @test_count, align 4, !tbaa !5
  %12316 = load i32, ptr %1847, align 4, !tbaa !5
  %12317 = call ptr @s2n_strerror(i32 noundef %12316, ptr noundef nonnull @.str.4) #12
  %12318 = load i32, ptr %1847, align 4, !tbaa !5
  %12319 = call ptr @s2n_strerror_debug(i32 noundef %12318, ptr noundef nonnull @.str.4) #12
  %12320 = load i32, ptr %1901, align 4, !tbaa !5
  %12321 = call ptr @strerror(i32 noundef %12320) #12
  %12322 = load i32, ptr %1901, align 4, !tbaa !5
  %12323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12314, ptr noundef nonnull %.str.5.sink5542, i32 noundef %12315, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.1, i32 noundef 812, ptr noundef %12317, ptr noundef %12319, ptr noundef %12321, i32 noundef %12322) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12324:                                            ; preds = %12298
  %12325 = load ptr, ptr %73, align 8, !tbaa !9
  %12326 = getelementptr inbounds i8, ptr %12325, i64 2256
  store i64 0, ptr %12326, align 8, !tbaa !45
  %12327 = add nsw i32 %12299, 2
  store i32 %12327, ptr @test_count, align 4, !tbaa !5
  %12328 = call i64 @s2n_send(ptr noundef %12325, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %76) #12
  %12329 = icmp eq i64 %12328, 12
  br i1 %12329, label %12352, label %12330

12330:                                            ; preds = %12324
  %12331 = load i32, ptr %1901, align 4, !tbaa !5
  %12332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12333 = call i32 @s2n_print_stacktrace(ptr noundef %12332) #12
  %12334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12335 = trunc nuw i8 %12334 to i1
  br i1 %12335, label %12336, label %12340

12336:                                            ; preds = %12330
  %12337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12338 = call i32 @fileno(ptr noundef %12337) #12
  %12339 = call i32 @isatty(i32 noundef %12338) #12
  %.not1191 = icmp eq i32 %12339, 0
  br i1 %.not1191, label %12340, label %12341

12340:                                            ; preds = %12336, %12330
  br label %12341

12341:                                            ; preds = %12336, %12340
  %.str.5.sink5551 = phi ptr [ @.str.5, %12340 ], [ @.str.2, %12336 ]
  store i32 %12331, ptr %1901, align 4, !tbaa !5
  %12342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12343 = load i32, ptr @test_count, align 4, !tbaa !5
  %12344 = load i32, ptr %1847, align 4, !tbaa !5
  %12345 = call ptr @s2n_strerror(i32 noundef %12344, ptr noundef nonnull @.str.4) #12
  %12346 = load i32, ptr %1847, align 4, !tbaa !5
  %12347 = call ptr @s2n_strerror_debug(i32 noundef %12346, ptr noundef nonnull @.str.4) #12
  %12348 = load i32, ptr %1901, align 4, !tbaa !5
  %12349 = call ptr @strerror(i32 noundef %12348) #12
  %12350 = load i32, ptr %1901, align 4, !tbaa !5
  %12351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12342, ptr noundef nonnull %.str.5.sink5551, i32 noundef %12343, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 816, ptr noundef %12345, ptr noundef %12347, ptr noundef %12349, i32 noundef %12350) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12352:                                            ; preds = %12324
  %12353 = load i32, ptr @test_count, align 4, !tbaa !5
  %12354 = add nsw i32 %12353, 1
  store i32 %12354, ptr @test_count, align 4, !tbaa !5
  %12355 = load ptr, ptr %74, align 8, !tbaa !9
  %12356 = call i32 @s2n_negotiate(ptr noundef %12355, ptr noundef nonnull %76) #12
  %12357 = icmp eq i32 %12356, -1
  br i1 %12357, label %12380, label %12358

12358:                                            ; preds = %12352
  %12359 = load i32, ptr %1901, align 4, !tbaa !5
  %12360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12361 = call i32 @s2n_print_stacktrace(ptr noundef %12360) #12
  %12362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12363 = trunc nuw i8 %12362 to i1
  br i1 %12363, label %12364, label %12368

12364:                                            ; preds = %12358
  %12365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12366 = call i32 @fileno(ptr noundef %12365) #12
  %12367 = call i32 @isatty(i32 noundef %12366) #12
  %.not1192 = icmp eq i32 %12367, 0
  br i1 %.not1192, label %12368, label %12369

12368:                                            ; preds = %12364, %12358
  br label %12369

12369:                                            ; preds = %12364, %12368
  %.str.5.sink5560 = phi ptr [ @.str.5, %12368 ], [ @.str.2, %12364 ]
  store i32 %12359, ptr %1901, align 4, !tbaa !5
  %12370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12371 = load i32, ptr @test_count, align 4, !tbaa !5
  %12372 = load i32, ptr %1847, align 4, !tbaa !5
  %12373 = call ptr @s2n_strerror(i32 noundef %12372, ptr noundef nonnull @.str.4) #12
  %12374 = load i32, ptr %1847, align 4, !tbaa !5
  %12375 = call ptr @s2n_strerror_debug(i32 noundef %12374, ptr noundef nonnull @.str.4) #12
  %12376 = load i32, ptr %1901, align 4, !tbaa !5
  %12377 = call ptr @strerror(i32 noundef %12376) #12
  %12378 = load i32, ptr %1901, align 4, !tbaa !5
  %12379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12370, ptr noundef nonnull %.str.5.sink5560, i32 noundef %12371, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 819, ptr noundef %12373, ptr noundef %12375, ptr noundef %12377, i32 noundef %12378) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12380:                                            ; preds = %12352
  %12381 = load i32, ptr @test_count, align 4, !tbaa !5
  %12382 = add nsw i32 %12381, 1
  store i32 %12382, ptr @test_count, align 4, !tbaa !5
  %12383 = load i32, ptr %1847, align 4, !tbaa !5
  %12384 = icmp eq i32 %12383, 201326594
  br i1 %12384, label %12407, label %12385

12385:                                            ; preds = %12380
  %12386 = load i32, ptr %1901, align 4, !tbaa !5
  %12387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12388 = call i32 @s2n_print_stacktrace(ptr noundef %12387) #12
  %12389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12390 = trunc nuw i8 %12389 to i1
  br i1 %12390, label %12391, label %12395

12391:                                            ; preds = %12385
  %12392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12393 = call i32 @fileno(ptr noundef %12392) #12
  %12394 = call i32 @isatty(i32 noundef %12393) #12
  %.not1193 = icmp eq i32 %12394, 0
  br i1 %.not1193, label %12395, label %12396

12395:                                            ; preds = %12391, %12385
  br label %12396

12396:                                            ; preds = %12391, %12395
  %.str.5.sink5569 = phi ptr [ @.str.5, %12395 ], [ @.str.2, %12391 ]
  store i32 %12386, ptr %1901, align 4, !tbaa !5
  %12397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12398 = load i32, ptr @test_count, align 4, !tbaa !5
  %12399 = load i32, ptr %1847, align 4, !tbaa !5
  %12400 = call ptr @s2n_strerror(i32 noundef %12399, ptr noundef nonnull @.str.4) #12
  %12401 = load i32, ptr %1847, align 4, !tbaa !5
  %12402 = call ptr @s2n_strerror_debug(i32 noundef %12401, ptr noundef nonnull @.str.4) #12
  %12403 = load i32, ptr %1901, align 4, !tbaa !5
  %12404 = call ptr @strerror(i32 noundef %12403) #12
  %12405 = load i32, ptr %1901, align 4, !tbaa !5
  %12406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12397, ptr noundef nonnull %.str.5.sink5569, i32 noundef %12398, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 819, ptr noundef %12400, ptr noundef %12402, ptr noundef %12404, i32 noundef %12405) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12407:                                            ; preds = %12380
  %12408 = add nsw i32 %12381, 2
  store i32 %12408, ptr @test_count, align 4, !tbaa !5
  %12409 = call ptr @s2n_strerror_debug(i32 noundef 201326594, ptr noundef nonnull @.str.4) #12
  %12410 = icmp eq ptr %12409, null
  br i1 %12410, label %12411, label %12433

12411:                                            ; preds = %12407
  %12412 = load i32, ptr %1901, align 4, !tbaa !5
  %12413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12414 = call i32 @s2n_print_stacktrace(ptr noundef %12413) #12
  %12415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12416 = trunc nuw i8 %12415 to i1
  br i1 %12416, label %12417, label %12421

12417:                                            ; preds = %12411
  %12418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12419 = call i32 @fileno(ptr noundef %12418) #12
  %12420 = call i32 @isatty(i32 noundef %12419) #12
  %.not1206 = icmp eq i32 %12420, 0
  br i1 %.not1206, label %12421, label %12422

12421:                                            ; preds = %12417, %12411
  br label %12422

12422:                                            ; preds = %12417, %12421
  %.str.5.sink5578 = phi ptr [ @.str.5, %12421 ], [ @.str.2, %12417 ]
  store i32 %12412, ptr %1901, align 4, !tbaa !5
  %12423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12424 = load i32, ptr @test_count, align 4, !tbaa !5
  %12425 = load i32, ptr %1847, align 4, !tbaa !5
  %12426 = call ptr @s2n_strerror(i32 noundef %12425, ptr noundef nonnull @.str.4) #12
  %12427 = load i32, ptr %1847, align 4, !tbaa !5
  %12428 = call ptr @s2n_strerror_debug(i32 noundef %12427, ptr noundef nonnull @.str.4) #12
  %12429 = load i32, ptr %1901, align 4, !tbaa !5
  %12430 = call ptr @strerror(i32 noundef %12429) #12
  %12431 = load i32, ptr %1901, align 4, !tbaa !5
  %12432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12423, ptr noundef nonnull %.str.5.sink5578, i32 noundef %12424, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 819, ptr noundef %12426, ptr noundef %12428, ptr noundef %12430, i32 noundef %12431) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12433:                                            ; preds = %12407
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %12434 = load i32, ptr @test_count, align 4, !tbaa !5
  %12435 = add nsw i32 %12434, 1
  store i32 %12435, ptr @test_count, align 4, !tbaa !5
  %12436 = load ptr, ptr %74, align 8, !tbaa !9
  %12437 = call i64 @s2n_recv(ptr noundef %12436, ptr noundef nonnull %78, i64 noundef 1000, ptr noundef nonnull %76) #12
  %12438 = icmp eq i64 %12437, -1
  br i1 %12438, label %12461, label %12439

12439:                                            ; preds = %12433
  %12440 = load i32, ptr %1901, align 4, !tbaa !5
  %12441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12442 = call i32 @s2n_print_stacktrace(ptr noundef %12441) #12
  %12443 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12444 = trunc nuw i8 %12443 to i1
  br i1 %12444, label %12445, label %12449

12445:                                            ; preds = %12439
  %12446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12447 = call i32 @fileno(ptr noundef %12446) #12
  %12448 = call i32 @isatty(i32 noundef %12447) #12
  %.not1194 = icmp eq i32 %12448, 0
  br i1 %.not1194, label %12449, label %12450

12449:                                            ; preds = %12445, %12439
  br label %12450

12450:                                            ; preds = %12445, %12449
  %.str.5.sink5587 = phi ptr [ @.str.5, %12449 ], [ @.str.2, %12445 ]
  store i32 %12440, ptr %1901, align 4, !tbaa !5
  %12451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12452 = load i32, ptr @test_count, align 4, !tbaa !5
  %12453 = load i32, ptr %1847, align 4, !tbaa !5
  %12454 = call ptr @s2n_strerror(i32 noundef %12453, ptr noundef nonnull @.str.4) #12
  %12455 = load i32, ptr %1847, align 4, !tbaa !5
  %12456 = call ptr @s2n_strerror_debug(i32 noundef %12455, ptr noundef nonnull @.str.4) #12
  %12457 = load i32, ptr %1901, align 4, !tbaa !5
  %12458 = call ptr @strerror(i32 noundef %12457) #12
  %12459 = load i32, ptr %1901, align 4, !tbaa !5
  %12460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12451, ptr noundef nonnull %.str.5.sink5587, i32 noundef %12452, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.1, i32 noundef 821, ptr noundef %12454, ptr noundef %12456, ptr noundef %12458, i32 noundef %12459) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12461:                                            ; preds = %12433
  %12462 = load i32, ptr @test_count, align 4, !tbaa !5
  %12463 = add nsw i32 %12462, 1
  store i32 %12463, ptr @test_count, align 4, !tbaa !5
  %12464 = load i32, ptr %1847, align 4, !tbaa !5
  %12465 = icmp eq i32 %12464, 335544396
  br i1 %12465, label %12488, label %12466

12466:                                            ; preds = %12461
  %12467 = load i32, ptr %1901, align 4, !tbaa !5
  %12468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12469 = call i32 @s2n_print_stacktrace(ptr noundef %12468) #12
  %12470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12471 = trunc nuw i8 %12470 to i1
  br i1 %12471, label %12472, label %12476

12472:                                            ; preds = %12466
  %12473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12474 = call i32 @fileno(ptr noundef %12473) #12
  %12475 = call i32 @isatty(i32 noundef %12474) #12
  %.not1195 = icmp eq i32 %12475, 0
  br i1 %.not1195, label %12476, label %12477

12476:                                            ; preds = %12472, %12466
  br label %12477

12477:                                            ; preds = %12472, %12476
  %.str.5.sink5596 = phi ptr [ @.str.5, %12476 ], [ @.str.2, %12472 ]
  store i32 %12467, ptr %1901, align 4, !tbaa !5
  %12478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12479 = load i32, ptr @test_count, align 4, !tbaa !5
  %12480 = load i32, ptr %1847, align 4, !tbaa !5
  %12481 = call ptr @s2n_strerror(i32 noundef %12480, ptr noundef nonnull @.str.4) #12
  %12482 = load i32, ptr %1847, align 4, !tbaa !5
  %12483 = call ptr @s2n_strerror_debug(i32 noundef %12482, ptr noundef nonnull @.str.4) #12
  %12484 = load i32, ptr %1901, align 4, !tbaa !5
  %12485 = call ptr @strerror(i32 noundef %12484) #12
  %12486 = load i32, ptr %1901, align 4, !tbaa !5
  %12487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12478, ptr noundef nonnull %.str.5.sink5596, i32 noundef %12479, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 821, ptr noundef %12481, ptr noundef %12483, ptr noundef %12485, i32 noundef %12486) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12488:                                            ; preds = %12461
  %12489 = add nsw i32 %12462, 2
  store i32 %12489, ptr @test_count, align 4, !tbaa !5
  %12490 = call ptr @s2n_strerror_debug(i32 noundef 335544396, ptr noundef nonnull @.str.4) #12
  %12491 = icmp eq ptr %12490, null
  br i1 %12491, label %12492, label %12514

12492:                                            ; preds = %12488
  %12493 = load i32, ptr %1901, align 4, !tbaa !5
  %12494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12495 = call i32 @s2n_print_stacktrace(ptr noundef %12494) #12
  %12496 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12497 = trunc nuw i8 %12496 to i1
  br i1 %12497, label %12498, label %12502

12498:                                            ; preds = %12492
  %12499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12500 = call i32 @fileno(ptr noundef %12499) #12
  %12501 = call i32 @isatty(i32 noundef %12500) #12
  %.not1205 = icmp eq i32 %12501, 0
  br i1 %.not1205, label %12502, label %12503

12502:                                            ; preds = %12498, %12492
  br label %12503

12503:                                            ; preds = %12498, %12502
  %.str.5.sink5605 = phi ptr [ @.str.5, %12502 ], [ @.str.2, %12498 ]
  store i32 %12493, ptr %1901, align 4, !tbaa !5
  %12504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12505 = load i32, ptr @test_count, align 4, !tbaa !5
  %12506 = load i32, ptr %1847, align 4, !tbaa !5
  %12507 = call ptr @s2n_strerror(i32 noundef %12506, ptr noundef nonnull @.str.4) #12
  %12508 = load i32, ptr %1847, align 4, !tbaa !5
  %12509 = call ptr @s2n_strerror_debug(i32 noundef %12508, ptr noundef nonnull @.str.4) #12
  %12510 = load i32, ptr %1901, align 4, !tbaa !5
  %12511 = call ptr @strerror(i32 noundef %12510) #12
  %12512 = load i32, ptr %1901, align 4, !tbaa !5
  %12513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12504, ptr noundef nonnull %.str.5.sink5605, i32 noundef %12505, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 821, ptr noundef %12507, ptr noundef %12509, ptr noundef %12511, i32 noundef %12512) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12514:                                            ; preds = %12488
  store i32 0, ptr %1847, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1901, align 4, !tbaa !5
  %12515 = load i32, ptr @test_count, align 4, !tbaa !5
  %12516 = add nsw i32 %12515, 1
  store i32 %12516, ptr @test_count, align 4, !tbaa !5
  %12517 = load ptr, ptr %73, align 8, !tbaa !9
  %12518 = call i32 @s2n_connection_free(ptr noundef %12517) #12
  %12519 = icmp eq i32 %12518, -1
  br i1 %12519, label %12520, label %12542

12520:                                            ; preds = %12514
  %12521 = load i32, ptr %1901, align 4, !tbaa !5
  %12522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12523 = call i32 @s2n_print_stacktrace(ptr noundef %12522) #12
  %12524 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12525 = trunc nuw i8 %12524 to i1
  br i1 %12525, label %12526, label %12530

12526:                                            ; preds = %12520
  %12527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12528 = call i32 @fileno(ptr noundef %12527) #12
  %12529 = call i32 @isatty(i32 noundef %12528) #12
  %.not1204 = icmp eq i32 %12529, 0
  br i1 %.not1204, label %12530, label %12531

12530:                                            ; preds = %12526, %12520
  br label %12531

12531:                                            ; preds = %12526, %12530
  %.str.5.sink5614 = phi ptr [ @.str.5, %12530 ], [ @.str.2, %12526 ]
  store i32 %12521, ptr %1901, align 4, !tbaa !5
  %12532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12533 = load i32, ptr @test_count, align 4, !tbaa !5
  %12534 = load i32, ptr %1847, align 4, !tbaa !5
  %12535 = call ptr @s2n_strerror(i32 noundef %12534, ptr noundef nonnull @.str.4) #12
  %12536 = load i32, ptr %1847, align 4, !tbaa !5
  %12537 = call ptr @s2n_strerror_debug(i32 noundef %12536, ptr noundef nonnull @.str.4) #12
  %12538 = load i32, ptr %1901, align 4, !tbaa !5
  %12539 = call ptr @strerror(i32 noundef %12538) #12
  %12540 = load i32, ptr %1901, align 4, !tbaa !5
  %12541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12532, ptr noundef nonnull %.str.5.sink5614, i32 noundef %12533, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 823, ptr noundef %12535, ptr noundef %12537, ptr noundef %12539, i32 noundef %12540) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12542:                                            ; preds = %12514
  %12543 = load i32, ptr @test_count, align 4, !tbaa !5
  %12544 = add nsw i32 %12543, 1
  store i32 %12544, ptr @test_count, align 4, !tbaa !5
  %12545 = load ptr, ptr %74, align 8, !tbaa !9
  %12546 = call i32 @s2n_connection_free(ptr noundef %12545) #12
  %12547 = icmp eq i32 %12546, -1
  br i1 %12547, label %12548, label %12570

12548:                                            ; preds = %12542
  %12549 = load i32, ptr %1901, align 4, !tbaa !5
  %12550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12551 = call i32 @s2n_print_stacktrace(ptr noundef %12550) #12
  %12552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12553 = trunc nuw i8 %12552 to i1
  br i1 %12553, label %12554, label %12558

12554:                                            ; preds = %12548
  %12555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12556 = call i32 @fileno(ptr noundef %12555) #12
  %12557 = call i32 @isatty(i32 noundef %12556) #12
  %.not1203 = icmp eq i32 %12557, 0
  br i1 %.not1203, label %12558, label %12559

12558:                                            ; preds = %12554, %12548
  br label %12559

12559:                                            ; preds = %12554, %12558
  %.str.5.sink5623 = phi ptr [ @.str.5, %12558 ], [ @.str.2, %12554 ]
  store i32 %12549, ptr %1901, align 4, !tbaa !5
  %12560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12561 = load i32, ptr @test_count, align 4, !tbaa !5
  %12562 = load i32, ptr %1847, align 4, !tbaa !5
  %12563 = call ptr @s2n_strerror(i32 noundef %12562, ptr noundef nonnull @.str.4) #12
  %12564 = load i32, ptr %1847, align 4, !tbaa !5
  %12565 = call ptr @s2n_strerror_debug(i32 noundef %12564, ptr noundef nonnull @.str.4) #12
  %12566 = load i32, ptr %1901, align 4, !tbaa !5
  %12567 = call ptr @strerror(i32 noundef %12566) #12
  %12568 = load i32, ptr %1901, align 4, !tbaa !5
  %12569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12560, ptr noundef nonnull %.str.5.sink5623, i32 noundef %12561, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 824, ptr noundef %12563, ptr noundef %12565, ptr noundef %12567, i32 noundef %12568) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12570:                                            ; preds = %12542
  call void @llvm.lifetime.end.p0(i64 1000, ptr nonnull %78) #12
  call void @llvm.lifetime.end.p0(i64 1000, ptr nonnull %77) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %76) #12
  %12571 = call i32 @s2n_io_pair_close(ptr noundef nonnull %75) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %74) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #12
  %12572 = load i32, ptr @test_count, align 4, !tbaa !5
  %12573 = add nsw i32 %12572, 1
  store i32 %12573, ptr @test_count, align 4, !tbaa !5
  %12574 = call i32 @s2n_config_free(ptr noundef %507) #12
  %12575 = icmp eq i32 %12574, -1
  br i1 %12575, label %12576, label %12598

12576:                                            ; preds = %12570
  %12577 = load i32, ptr %1901, align 4, !tbaa !5
  %12578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12579 = call i32 @s2n_print_stacktrace(ptr noundef %12578) #12
  %12580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12581 = trunc nuw i8 %12580 to i1
  br i1 %12581, label %12582, label %12586

12582:                                            ; preds = %12576
  %12583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12584 = call i32 @fileno(ptr noundef %12583) #12
  %12585 = call i32 @isatty(i32 noundef %12584) #12
  %.not1202 = icmp eq i32 %12585, 0
  br i1 %.not1202, label %12586, label %12587

12586:                                            ; preds = %12582, %12576
  br label %12587

12587:                                            ; preds = %12582, %12586
  %.str.5.sink5632 = phi ptr [ @.str.5, %12586 ], [ @.str.2, %12582 ]
  store i32 %12577, ptr %1901, align 4, !tbaa !5
  %12588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12589 = load i32, ptr @test_count, align 4, !tbaa !5
  %12590 = load i32, ptr %1847, align 4, !tbaa !5
  %12591 = call ptr @s2n_strerror(i32 noundef %12590, ptr noundef nonnull @.str.4) #12
  %12592 = load i32, ptr %1847, align 4, !tbaa !5
  %12593 = call ptr @s2n_strerror_debug(i32 noundef %12592, ptr noundef nonnull @.str.4) #12
  %12594 = load i32, ptr %1901, align 4, !tbaa !5
  %12595 = call ptr @strerror(i32 noundef %12594) #12
  %12596 = load i32, ptr %1901, align 4, !tbaa !5
  %12597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12588, ptr noundef nonnull %.str.5.sink5632, i32 noundef %12589, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.1, i32 noundef 828, ptr noundef %12591, ptr noundef %12593, ptr noundef %12595, i32 noundef %12596) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12598:                                            ; preds = %12570
  %12599 = load i32, ptr @test_count, align 4, !tbaa !5
  %12600 = add nsw i32 %12599, 1
  store i32 %12600, ptr @test_count, align 4, !tbaa !5
  %12601 = load ptr, ptr %7, align 8, !tbaa !9
  %12602 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %12601) #12
  %12603 = icmp eq i32 %12602, -1
  br i1 %12603, label %12604, label %12626

12604:                                            ; preds = %12598
  %12605 = load i32, ptr %1901, align 4, !tbaa !5
  %12606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12607 = call i32 @s2n_print_stacktrace(ptr noundef %12606) #12
  %12608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12609 = trunc nuw i8 %12608 to i1
  br i1 %12609, label %12610, label %12614

12610:                                            ; preds = %12604
  %12611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12612 = call i32 @fileno(ptr noundef %12611) #12
  %12613 = call i32 @isatty(i32 noundef %12612) #12
  %.not1201 = icmp eq i32 %12613, 0
  br i1 %.not1201, label %12614, label %12615

12614:                                            ; preds = %12610, %12604
  br label %12615

12615:                                            ; preds = %12610, %12614
  %.str.5.sink5641 = phi ptr [ @.str.5, %12614 ], [ @.str.2, %12610 ]
  store i32 %12605, ptr %1901, align 4, !tbaa !5
  %12616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12617 = load i32, ptr @test_count, align 4, !tbaa !5
  %12618 = load i32, ptr %1847, align 4, !tbaa !5
  %12619 = call ptr @s2n_strerror(i32 noundef %12618, ptr noundef nonnull @.str.4) #12
  %12620 = load i32, ptr %1847, align 4, !tbaa !5
  %12621 = call ptr @s2n_strerror_debug(i32 noundef %12620, ptr noundef nonnull @.str.4) #12
  %12622 = load i32, ptr %1901, align 4, !tbaa !5
  %12623 = call ptr @strerror(i32 noundef %12622) #12
  %12624 = load i32, ptr %1901, align 4, !tbaa !5
  %12625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12616, ptr noundef nonnull %.str.5.sink5641, i32 noundef %12617, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.1, i32 noundef 829, ptr noundef %12619, ptr noundef %12621, ptr noundef %12623, i32 noundef %12624) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12626:                                            ; preds = %12598
  %12627 = call i32 @s2n_cleanup() #12
  %12628 = icmp eq i32 %12627, -1
  br i1 %12628, label %12629, label %12651

12629:                                            ; preds = %12626
  %12630 = load i32, ptr %1901, align 4, !tbaa !5
  %12631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12632 = call i32 @s2n_print_stacktrace(ptr noundef %12631) #12
  %12633 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12634 = trunc nuw i8 %12633 to i1
  br i1 %12634, label %12635, label %12639

12635:                                            ; preds = %12629
  %12636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12637 = call i32 @fileno(ptr noundef %12636) #12
  %12638 = call i32 @isatty(i32 noundef %12637) #12
  %.not1200 = icmp eq i32 %12638, 0
  br i1 %.not1200, label %12639, label %12640

12639:                                            ; preds = %12635, %12629
  br label %12640

12640:                                            ; preds = %12635, %12639
  %.str.5.sink5650 = phi ptr [ @.str.5, %12639 ], [ @.str.2, %12635 ]
  store i32 %12630, ptr %1901, align 4, !tbaa !5
  %12641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12642 = load i32, ptr @test_count, align 4, !tbaa !5
  %12643 = load i32, ptr %1847, align 4, !tbaa !5
  %12644 = call ptr @s2n_strerror(i32 noundef %12643, ptr noundef nonnull @.str.4) #12
  %12645 = load i32, ptr %1847, align 4, !tbaa !5
  %12646 = call ptr @s2n_strerror_debug(i32 noundef %12645, ptr noundef nonnull @.str.4) #12
  %12647 = load i32, ptr %1901, align 4, !tbaa !5
  %12648 = call ptr @strerror(i32 noundef %12647) #12
  %12649 = load i32, ptr %1901, align 4, !tbaa !5
  %12650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12641, ptr noundef nonnull %.str.5.sink5650, i32 noundef %12642, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 830, ptr noundef %12644, ptr noundef %12646, ptr noundef %12648, i32 noundef %12649) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12651:                                            ; preds = %12626
  %12652 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #12
  %12653 = icmp eq i32 %12652, -1
  br i1 %12653, label %12654, label %12676

12654:                                            ; preds = %12651
  %12655 = load i32, ptr %1901, align 4, !tbaa !5
  %12656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12657 = call i32 @s2n_print_stacktrace(ptr noundef %12656) #12
  %12658 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12659 = trunc nuw i8 %12658 to i1
  br i1 %12659, label %12660, label %12664

12660:                                            ; preds = %12654
  %12661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12662 = call i32 @fileno(ptr noundef %12661) #12
  %12663 = call i32 @isatty(i32 noundef %12662) #12
  %.not1199 = icmp eq i32 %12663, 0
  br i1 %.not1199, label %12664, label %12665

12664:                                            ; preds = %12660, %12654
  br label %12665

12665:                                            ; preds = %12660, %12664
  %.str.5.sink5659 = phi ptr [ @.str.5, %12664 ], [ @.str.2, %12660 ]
  store i32 %12655, ptr %1901, align 4, !tbaa !5
  %12666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12667 = load i32, ptr @test_count, align 4, !tbaa !5
  %12668 = load i32, ptr %1847, align 4, !tbaa !5
  %12669 = call ptr @s2n_strerror(i32 noundef %12668, ptr noundef nonnull @.str.4) #12
  %12670 = load i32, ptr %1847, align 4, !tbaa !5
  %12671 = call ptr @s2n_strerror_debug(i32 noundef %12670, ptr noundef nonnull @.str.4) #12
  %12672 = load i32, ptr %1901, align 4, !tbaa !5
  %12673 = call ptr @strerror(i32 noundef %12672) #12
  %12674 = load i32, ptr %1901, align 4, !tbaa !5
  %12675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12666, ptr noundef nonnull %.str.5.sink5659, i32 noundef %12667, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 830, ptr noundef %12669, ptr noundef %12671, ptr noundef %12673, i32 noundef %12674) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12676:                                            ; preds = %12651
  %12677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12678 = trunc nuw i8 %12677 to i1
  br i1 %12678, label %12679, label %12690

12679:                                            ; preds = %12676
  %12680 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12681 = call i32 @fileno(ptr noundef %12680) #12
  %12682 = call i32 @isatty(i32 noundef %12681) #12
  %.not1196 = icmp eq i32 %12682, 0
  br i1 %.not1196, label %12690, label %12683

12683:                                            ; preds = %12679
  %12684 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1198 = icmp eq i32 %12684, 0
  %12685 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1198, label %12688, label %12686

12686:                                            ; preds = %12683
  %12687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12685, ptr noundef nonnull @.str.10, i32 noundef %12684) #12
  br label %12697

12688:                                            ; preds = %12683
  %12689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12685, ptr noundef nonnull @.str.11) #12
  br label %12697

12690:                                            ; preds = %12679, %12676
  %12691 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1197 = icmp eq i32 %12691, 0
  %12692 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1197, label %12695, label %12693

12693:                                            ; preds = %12690
  %12694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12692, ptr noundef nonnull @.str.12, i32 noundef %12691) #12
  br label %12697

12695:                                            ; preds = %12690
  %12696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12692, ptr noundef nonnull @.str.13) #12
  br label %12697

12697:                                            ; preds = %12693, %12695, %12686, %12688
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #12
  %12698 = call i32 @s2n_psk_free(ptr noundef nonnull %6) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #12
  %12699 = call i32 @s2n_psk_free(ptr noundef nonnull %5) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #12
  %12700 = call i32 @s2n_psk_free(ptr noundef nonnull %4) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #12
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %3) #12
  br label %12701

12701:                                            ; preds = %233, %231, %240, %238, %12697
  ret i32 0
}

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #1

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #1

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #2

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

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #4

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) local_unnamed_addr #5

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #1

declare ptr @s2n_strerror(i32 noundef, ptr noundef) local_unnamed_addr #2

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

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) local_unnamed_addr #5

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #7

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #8

declare ptr @s2n_external_psk_new() local_unnamed_addr #2

declare i32 @s2n_psk_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_psk_set_identity(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_psk_set_secret(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_psk_configure_early_data(ptr noundef, i32 noundef, i8 noundef zeroext, i8 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare ptr @s2n_config_new() local_unnamed_addr #2

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_unsafe_for_testing(ptr 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) #9

declare i32 @s2n_io_pair_close(ptr noundef) local_unnamed_addr #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) local_unnamed_addr #10

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_client_and_server_new(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #0

declare i32 @s2n_connection_append_psk(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_early_data_expected(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_handshake_type_check_tls13_flag(ptr noundef, i32 noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_handshake_type_check_flag(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_conn_get_current_message_type(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_shutdown_test_server_and_client(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_error(i32) local_unnamed_addr #10

declare i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare i32 @s2n_negotiate(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_end_of_early_data(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_early_data_cb(ptr noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_async_early_data_cb(ptr noundef, ptr noundef) #0

declare i32 @s2n_negotiate_until_message(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_offered_early_data_accept(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_offered_early_data_reject(ptr noundef) local_unnamed_addr #2

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_blinding(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connections_set_io_pair(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_wipe(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_growable_alloc(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_io_stuffers(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_alloc(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i64 @s2n_recv(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) 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: readwrite) }
attributes #9 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #10 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #11 = { 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 = distinct !{!15, !16}
!16 = !{!"llvm.loop.mustprogress"}
!17 = !{!18, !6, i64 4088}
!18 = !{!"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, !19, i64 160, !20, i64 168, !20, 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, !21, i64 240, !10, i64 632, !10, i64 640, !22, i64 648, !28, i64 1144, !31, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !34, i64 1776, !34, i64 1816, !34, i64 1856, !34, i64 1896, !6, i64 1936, !20, i64 1944, !7, i64 1952, !34, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !35, i64 2004, !35, i64 2008, !36, i64 2016, !33, i64 2208, !6, i64 2212, !33, i64 2216, !20, i64 2224, !7, i64 2232, !20, i64 2240, !20, i64 2248, !20, i64 2256, !35, i64 2264, !35, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !27, i64 2792, !6, i64 2816, !27, i64 2824, !27, i64 2848, !27, i64 2872, !38, i64 2896, !40, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !27, i64 3784, !6, i64 3808, !42, i64 3816, !7, i64 3848, !34, i64 3992, !27, i64 4032, !27, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !33, i64 4084, !33, i64 4086, !6, i64 4088, !6, i64 4092, !27, i64 4096, !6, i64 4120, !43, i64 4128, !35, i64 4176, !7, i64 4180, !7, i64 4181}
!19 = !{!"s2n_timer", !20, i64 0}
!20 = !{!"long", !7, i64 0}
!21 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!22 = !{!"s2n_kex_parameters", !23, i64 0, !24, i64 8, !7, i64 24, !24, i64 56, !25, i64 72, !25, i64 184, !7, i64 296, !26, i64 360, !27, i64 448, !27, i64 472}
!23 = !{!"s2n_dh_params", !10, i64 0}
!24 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!25 = !{!"s2n_kem_group_params", !10, i64 0, !26, i64 8, !24, i64 96}
!26 = !{!"s2n_kem_params", !10, i64 0, !27, i64 8, !27, i64 32, !27, i64 56, !12, i64 80}
!27 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!28 = !{!"s2n_handshake_parameters", !29, i64 0, !29, i64 48, !27, i64 96, !6, i64 120, !30, 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}
!29 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!30 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!31 = !{!"s2n_psk_parameters", !6, i64 0, !32, i64 8, !33, i64 40, !33, i64 42, !10, i64 48, !6, i64 56}
!32 = !{!"s2n_array", !27, i64 0, !6, i64 24, !6, i64 28}
!33 = !{!"short", !7, i64 0}
!34 = !{!"s2n_stuffer", !27, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!35 = !{!"", !6, i64 0}
!36 = !{!"s2n_handshake", !34, 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, !37, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!37 = !{!"s2n_offered_early_data", !10, i64 0}
!38 = !{!"s2n_client_hello", !27, i64 0, !39, i64 24, !27, i64 728, !27, i64 752, !27, 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}
!39 = !{!"", !7, i64 0, !27, i64 672, !33, i64 696}
!40 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !33, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !41, i64 48, !12, i64 52}
!41 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!42 = !{!"s2n_ticket_fields", !27, i64 0, !6, i64 24}
!43 = !{!"s2n_post_handshake", !34, i64 0, !7, i64 40}
!44 = distinct !{!44, !16}
!45 = !{!18, !20, i64 2256}
!46 = !{!18, !10, i64 16}
!47 = distinct !{!47, !16}
!48 = !{!18, !33, i64 2208}


; Effective O3 passes: CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SCCPPass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass