; LLVM IR from aws/s2n-tls :: tests/unit (s2n_shutdown_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_result = type { i32 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_test_io_stuffer_pair = type { %struct.s2n_stuffer, %struct.s2n_stuffer }
%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_test_ktls_io_stuffer = type { %struct.s2n_stuffer, %struct.s2n_stuffer, i64, i64 }
%struct.s2n_test_ktls_io_stuffer_pair = type { %struct.s2n_test_ktls_io_stuffer, %struct.s2n_test_ktls_io_stuffer }
%struct.s2n_connection = type { i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, [22 x i8], [22 x i8], [22 x i8], i32, i32, %struct.s2n_timer, i64, i64, [32 x i8], i8, i8, i8, i8, i8, i8, i8, ptr, ptr, %struct.s2n_secrets, ptr, ptr, %struct.s2n_kex_parameters, %struct.s2n_handshake_parameters, %struct.s2n_psk_parameters, ptr, i8, i32, [5 x i8], %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, i32, i64, [2 x i8], %struct.s2n_stuffer, i8, i8, i8, i8, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, %struct.s2n_handshake, i16, i32, i16, i64, i8, i64, i64, i64, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, [256 x i8], [256 x i8], i32, %struct.s2n_blob, i32, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_client_hello, %struct.s2n_x509_validator, ptr, ptr, i8, i32, %struct.s2n_blob, i32, %struct.s2n_ticket_fields, [138 x i8], %struct.s2n_stuffer, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8, i16, i16, i32, i32, %struct.s2n_blob, i32, %struct.s2n_post_handshake, %struct.s2n_atomic_flag, i8, i8 }
%struct.s2n_timer = type { i64 }
%struct.s2n_secrets = type { %union.anon, i32 }
%union.anon = type { %struct.s2n_tls13_secrets }
%struct.s2n_tls13_secrets = type { [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], i32 }
%struct.s2n_kex_parameters = type { %struct.s2n_dh_params, %struct.s2n_ecc_evp_params, [4 x ptr], %struct.s2n_ecc_evp_params, %struct.s2n_kem_group_params, %struct.s2n_kem_group_params, [8 x ptr], %struct.s2n_kem_params, %struct.s2n_blob, %struct.s2n_blob }
%struct.s2n_dh_params = type { ptr }
%struct.s2n_ecc_evp_params = type { ptr, ptr }
%struct.s2n_kem_group_params = type { ptr, %struct.s2n_kem_params, %struct.s2n_ecc_evp_params }
%struct.s2n_kem_params = type { ptr, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8 }
%struct.s2n_handshake_parameters = type { %struct.s2n_pkey, %struct.s2n_pkey, %struct.s2n_blob, i32, %struct.s2n_sig_scheme_list, ptr, ptr, ptr, [4 x ptr], [4 x ptr], i8, i8, [32 x i8], [32 x i8] }
%struct.s2n_pkey = type { ptr, ptr, ptr, ptr, ptr, ptr }
%struct.s2n_sig_scheme_list = type { [128 x i16], i8 }
%struct.s2n_psk_parameters = type { i32, %struct.s2n_array, i16, i16, ptr, i32 }
%struct.s2n_array = type { %struct.s2n_blob, i32, i32 }
%struct.s2n_handshake = type { %struct.s2n_stuffer, ptr, [8 x i8], [48 x i8], [48 x i8], i8, i32, i32, i32, i32, %struct.s2n_offered_early_data, i8, i32 }
%struct.s2n_offered_early_data = type { ptr }
%struct.s2n_client_hello = type { %struct.s2n_blob, %struct.s2n_parsed_extensions_list, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8 }
%struct.s2n_parsed_extensions_list = type { [21 x %struct.s2n_parsed_extension], %struct.s2n_blob, i16 }
%struct.s2n_parsed_extension = type { %struct.s2n_blob, i16, i16, i8 }
%struct.s2n_x509_validator = type { ptr, ptr, i8, i8, i16, ptr, i32, ptr, %struct.s2n_cert_validation_info, i8 }
%struct.s2n_cert_validation_info = type { i8, [3 x i8] }
%struct.s2n_ticket_fields = type { %struct.s2n_blob, i32 }
%struct.s2n_post_handshake = type { %struct.s2n_stuffer, [4 x i8] }
%struct.s2n_atomic_flag = type { i32 }

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

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

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

declare zeroext i1 @s2n_atomic_flag_test(ptr noundef) #2

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

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) #4

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

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

declare i32 @s2n_process_alert_fragment(ptr noundef) #2

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca [2 x i8], align 1
  %10 = alloca [5 x i8], align 1
  %11 = alloca i8, align 1
  %12 = alloca ptr, align 8
  %13 = alloca i32, align 4
  %14 = alloca ptr, align 8
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca ptr, align 8
  %19 = alloca i32, align 4
  %20 = alloca %struct.s2n_result, align 4
  %21 = alloca i32, align 4
  %22 = alloca %struct.s2n_stuffer, align 8
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i8, align 1
  %38 = alloca i8, align 1
  %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 %struct.s2n_result, align 4
  %45 = alloca ptr, align 8
  %46 = alloca i32, align 4
  %47 = alloca %struct.s2n_result, align 4
  %48 = alloca i32, align 4
  %49 = alloca %struct.s2n_stuffer, align 8
  %50 = alloca i32, align 4
  %51 = alloca %struct.s2n_stuffer, align 8
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca %struct.s2n_result, 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 %struct.s2n_result, align 4
  %71 = alloca ptr, align 8
  %72 = alloca i32, align 4
  %73 = alloca %struct.s2n_result, align 4
  %74 = alloca i32, align 4
  %75 = alloca %struct.s2n_stuffer, align 8
  %76 = alloca i32, align 4
  %77 = alloca %struct.s2n_stuffer, align 8
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca [1 x i8], align 1
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca i32, 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 i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca %struct.s2n_result, align 4
  %103 = alloca ptr, align 8
  %104 = alloca i32, align 4
  %105 = alloca %struct.s2n_stuffer, align 8
  %106 = alloca i32, align 4
  %107 = alloca %struct.s2n_stuffer, align 8
  %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 %struct.s2n_result, align 4
  %121 = alloca ptr, align 8
  %122 = alloca i32, align 4
  %123 = alloca %struct.s2n_result, align 4
  %124 = alloca i32, align 4
  %125 = alloca %struct.s2n_stuffer, align 8
  %126 = alloca i32, align 4
  %127 = alloca %struct.s2n_stuffer, align 8
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca i32, align 4
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca %struct.s2n_result, align 4
  %144 = alloca ptr, align 8
  %145 = alloca i32, align 4
  %146 = alloca %struct.s2n_result, align 4
  %147 = alloca i32, align 4
  %148 = alloca %struct.s2n_stuffer, align 8
  %149 = alloca i32, align 4
  %150 = alloca %struct.s2n_stuffer, align 8
  %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 i32, align 4
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca i32, 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 %struct.s2n_result, align 4
  %169 = alloca ptr, align 8
  %170 = alloca i32, align 4
  %171 = alloca %struct.s2n_result, align 4
  %172 = alloca i32, align 4
  %173 = alloca %struct.s2n_stuffer, align 8
  %174 = alloca i32, align 4
  %175 = alloca %struct.s2n_stuffer, align 8
  %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 i32, align 4
  %184 = alloca i32, align 4
  %185 = alloca i32, align 4
  %186 = alloca i32, align 4
  %187 = alloca i32, align 4
  %188 = alloca i32, align 4
  %189 = alloca i32, align 4
  %190 = alloca i32, align 4
  %191 = alloca i32, align 4
  %192 = alloca i32, align 4
  %193 = alloca i32, align 4
  %194 = alloca i64, align 8
  %195 = alloca i32, align 4
  %196 = alloca i32, align 4
  %197 = alloca i32, align 4
  %198 = alloca %struct.s2n_result, align 4
  %199 = alloca ptr, align 8
  %200 = alloca i32, align 4
  %201 = alloca %struct.s2n_result, align 4
  %202 = alloca i32, align 4
  %203 = alloca %struct.s2n_stuffer, align 8
  %204 = alloca i32, align 4
  %205 = alloca %struct.s2n_stuffer, align 8
  %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 [6 x i8], align 1
  %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 i32, align 4
  %221 = alloca i32, align 4
  %222 = alloca i32, align 4
  %223 = alloca %struct.s2n_result, align 4
  %224 = alloca ptr, align 8
  %225 = alloca i32, align 4
  %226 = alloca %struct.s2n_result, align 4
  %227 = alloca i32, align 4
  %228 = alloca i32, align 4
  %229 = alloca i32, align 4
  %230 = alloca %struct.s2n_stuffer, align 8
  %231 = alloca i32, align 4
  %232 = alloca %struct.s2n_stuffer, align 8
  %233 = alloca i32, align 4
  %234 = alloca i32, align 4
  %235 = alloca [5 x i8], align 1
  %236 = alloca i32, align 4
  %237 = alloca [1 x i8], align 1
  %238 = alloca i32, align 4
  %239 = alloca i32, align 4
  %240 = alloca i32, align 4
  %241 = alloca i32, align 4
  %242 = alloca i32, align 4
  %243 = alloca i32, align 4
  %244 = alloca %struct.s2n_result, align 4
  %245 = alloca ptr, align 8
  %246 = alloca i32, align 4
  %247 = alloca i32, align 4
  %248 = alloca ptr, align 8
  %249 = alloca i32, align 4
  %250 = alloca i32, align 4
  %251 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %252 = alloca %struct.s2n_result, align 4
  %253 = alloca i32, align 4
  %254 = alloca %struct.s2n_result, align 4
  %255 = alloca i32, align 4
  %256 = alloca i32, align 4
  %257 = alloca i32, align 4
  %258 = alloca [12 x i8], align 1
  %259 = alloca i32, align 4
  %260 = alloca i32, align 4
  %261 = alloca i32, align 4
  %262 = alloca i32, align 4
  %263 = alloca i32, align 4
  %264 = alloca i32, align 4
  %265 = alloca i32, align 4
  %266 = alloca %struct.s2n_result, align 4
  %267 = alloca %struct.s2n_result, align 4
  %268 = alloca %struct.s2n_result, align 4
  %269 = alloca ptr, align 8
  %270 = alloca i32, align 4
  %271 = alloca i32, align 4
  %272 = alloca ptr, align 8
  %273 = alloca i32, align 4
  %274 = alloca i32, align 4
  %275 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %276 = alloca %struct.s2n_result, align 4
  %277 = alloca i32, align 4
  %278 = alloca %struct.s2n_result, align 4
  %279 = alloca i32, align 4
  %280 = alloca i32, align 4
  %281 = alloca i32, align 4
  %282 = alloca i32, align 4
  %283 = alloca i8, align 1
  %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 %struct.s2n_result, align 4
  %291 = alloca %struct.s2n_result, align 4
  %292 = alloca %struct.s2n_result, align 4
  %293 = alloca ptr, align 8
  %294 = alloca i32, align 4
  %295 = alloca i32, align 4
  %296 = alloca ptr, align 8
  %297 = alloca i32, align 4
  %298 = alloca i32, align 4
  %299 = alloca i32, align 4
  %300 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %301 = alloca %struct.s2n_result, align 4
  %302 = alloca i32, align 4
  %303 = alloca %struct.s2n_result, align 4
  %304 = alloca i32, align 4
  %305 = alloca i32, align 4
  %306 = alloca i32, align 4
  %307 = alloca [12 x i8], align 1
  %308 = alloca i32, align 4
  %309 = alloca i8, align 1
  %310 = alloca i32, align 4
  %311 = alloca i32, align 4
  %312 = alloca i32, align 4
  %313 = alloca i32, align 4
  %314 = alloca i32, align 4
  %315 = alloca i32, align 4
  %316 = alloca i32, align 4
  %317 = alloca i32, align 4
  %318 = alloca i32, align 4
  %319 = alloca i32, align 4
  %320 = alloca %struct.s2n_result, align 4
  %321 = alloca %struct.s2n_result, align 4
  %322 = alloca %struct.s2n_result, align 4
  %323 = alloca ptr, align 8
  %324 = alloca i32, align 4
  %325 = alloca i32, align 4
  %326 = alloca ptr, align 8
  %327 = alloca i32, align 4
  %328 = alloca i32, align 4
  %329 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %330 = alloca %struct.s2n_result, align 4
  %331 = alloca i32, align 4
  %332 = alloca %struct.s2n_result, align 4
  %333 = alloca i32, align 4
  %334 = alloca i32, align 4
  %335 = alloca i32, align 4
  %336 = alloca [12 x i8], align 1
  %337 = alloca i32, align 4
  %338 = alloca i32, align 4
  %339 = alloca i32, align 4
  %340 = alloca i32, align 4
  %341 = alloca i32, align 4
  %342 = alloca %struct.s2n_result, align 4
  %343 = alloca %struct.s2n_result, align 4
  %344 = alloca %struct.s2n_result, align 4
  %345 = alloca ptr, align 8
  %346 = alloca i32, align 4
  %347 = alloca %struct.s2n_result, align 4
  %348 = alloca i32, align 4
  %349 = alloca ptr, align 8
  %350 = alloca i32, align 4
  %351 = alloca %struct.s2n_result, align 4
  %352 = alloca i32, align 4
  %353 = alloca %struct.s2n_test_io_pair, 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 i32, align 4
  %361 = alloca i32, align 4
  %362 = alloca i32, align 4
  %363 = alloca i32, align 4
  %364 = alloca i32, align 4
  %365 = alloca %struct.s2n_result, align 4
  %366 = alloca %struct.s2n_result, align 4
  %367 = alloca ptr, align 8
  %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 %struct.s2n_result, align 4
  %377 = alloca ptr, align 8
  %378 = alloca i32, align 4
  %379 = alloca i32, align 4
  %380 = alloca i32, align 4
  %381 = alloca i32, align 4
  %382 = alloca i32, align 4
  %383 = alloca i32, align 4
  %384 = alloca i32, align 4
  %385 = alloca i32, align 4
  %386 = alloca %struct.s2n_result, align 4
  %387 = alloca ptr, align 8
  %388 = alloca i32, align 4
  %389 = alloca i32, align 4
  %390 = alloca %struct.s2n_stuffer, align 8
  %391 = alloca i32, align 4
  %392 = alloca i32, align 4
  %393 = alloca %struct.s2n_result, align 4
  %394 = alloca i32, align 4
  %395 = alloca i32, 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 %struct.s2n_result, align 4
  %402 = alloca ptr, align 8
  %403 = alloca i32, align 4
  %404 = alloca i32, align 4
  %405 = alloca %struct.s2n_stuffer, align 8
  %406 = alloca i32, align 4
  %407 = alloca i64, align 8
  %408 = alloca i32, align 4
  %409 = alloca i32, 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 i32, align 4
  %417 = alloca i32, align 4
  %418 = alloca i32, align 4
  %419 = alloca i32, align 4
  %420 = alloca %struct.s2n_result, align 4
  %421 = alloca ptr, align 8
  %422 = alloca i32, align 4
  %423 = alloca i32, align 4
  %424 = alloca i32, align 4
  %425 = alloca i32, align 4
  %426 = alloca i32, align 4
  %427 = alloca i32, align 4
  %428 = alloca i32, align 4
  %429 = alloca %struct.s2n_result, align 4
  %430 = alloca ptr, align 8
  %431 = alloca i32, align 4
  %432 = alloca %struct.s2n_result, align 4
  %433 = alloca i32, align 4
  %434 = alloca i32, align 4
  %435 = alloca %struct.s2n_stuffer, align 8
  %436 = alloca %struct.s2n_stuffer, align 8
  %437 = alloca i32, align 4
  %438 = alloca i32, align 4
  %439 = alloca i32, align 4
  %440 = alloca i64, align 8
  %441 = alloca i32, align 4
  %442 = alloca i32, align 4
  %443 = alloca i32, align 4
  %444 = alloca i32, align 4
  %445 = alloca i32, align 4
  %446 = alloca i32, align 4
  %447 = alloca i64, align 8
  %448 = alloca i32, align 4
  %449 = alloca i32, align 4
  %450 = alloca i32, align 4
  %451 = alloca i32, align 4
  %452 = alloca i32, align 4
  %453 = alloca i32, align 4
  %454 = alloca i32, align 4
  %455 = alloca i64, align 8
  %456 = alloca i32, align 4
  %457 = alloca i32, align 4
  %458 = alloca i32, align 4
  %459 = alloca i32, align 4
  %460 = alloca i32, align 4
  %461 = alloca i32, align 4
  %462 = alloca %struct.s2n_result, align 4
  %463 = alloca ptr, align 8
  %464 = alloca i32, align 4
  %465 = alloca %struct.s2n_result, align 4
  %466 = alloca i32, align 4
  %467 = alloca i32, align 4
  %468 = alloca %struct.s2n_stuffer, align 8
  %469 = alloca %struct.s2n_stuffer, align 8
  %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 i32, align 4
  %476 = alloca i32, align 4
  %477 = alloca i32, align 4
  %478 = alloca i32, align 4
  %479 = alloca i32, align 4
  %480 = alloca %struct.s2n_result, align 4
  %481 = alloca ptr, align 8
  %482 = alloca i32, align 4
  %483 = alloca %struct.s2n_result, align 4
  %484 = alloca i32, align 4
  %485 = alloca i32, align 4
  %486 = alloca %struct.s2n_stuffer, align 8
  %487 = alloca %struct.s2n_stuffer, align 8
  %488 = alloca i32, 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 [1 x i8], align 1
  %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 %struct.s2n_result, align 4
  %505 = alloca ptr, align 8
  %506 = alloca i32, align 4
  %507 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %508 = alloca %struct.s2n_result, 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 %struct.s2n_result, align 4
  %516 = alloca i32, align 4
  %517 = alloca %struct.s2n_result, align 4
  %518 = alloca i32, align 4
  %519 = alloca i64, align 8
  %520 = alloca i32, align 4
  %521 = alloca i32, align 4
  %522 = alloca i32, align 4
  %523 = alloca i32, align 4
  %524 = alloca %struct.s2n_result, align 4
  %525 = alloca %struct.s2n_result, align 4
  %526 = alloca i64, align 8
  %527 = alloca i64, align 8
  %528 = alloca ptr, align 8
  %529 = alloca i32, align 4
  %530 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %531 = alloca %struct.s2n_result, align 4
  %532 = alloca i32, align 4
  %533 = alloca i32, align 4
  %534 = alloca i32, align 4
  %535 = alloca i64, align 8
  %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 i32, align 4
  %542 = alloca i32, align 4
  %543 = alloca %struct.s2n_result, align 4
  %544 = alloca i32, align 4
  %545 = alloca %struct.s2n_result, 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 %struct.s2n_result, align 4
  %553 = alloca i32, align 4
  %554 = alloca %struct.s2n_result, align 4
  %555 = alloca i32, align 4
  %556 = alloca i64, align 8
  %557 = alloca i32, align 4
  %558 = alloca i32, align 4
  %559 = alloca i32, align 4
  %560 = alloca i32, align 4
  %561 = alloca %struct.s2n_result, align 4
  %562 = alloca %struct.s2n_result, align 4
  %563 = alloca ptr, align 8
  %564 = alloca i32, align 4
  %565 = alloca %struct.s2n_result, align 4
  %566 = alloca i32, align 4
  %567 = alloca ptr, align 8
  %568 = alloca i32, align 4
  %569 = alloca %struct.s2n_result, align 4
  %570 = alloca i32, align 4
  %571 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %572 = alloca %struct.s2n_result, 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 %struct.s2n_result, align 4
  %581 = alloca %struct.s2n_result, align 4
  %582 = alloca %struct.s2n_result, align 4
  %583 = alloca ptr, align 8
  %584 = alloca i32, align 4
  %585 = alloca %struct.s2n_result, align 4
  %586 = alloca i32, align 4
  %587 = alloca ptr, align 8
  %588 = alloca i32, align 4
  %589 = alloca %struct.s2n_result, align 4
  %590 = alloca i32, align 4
  %591 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %592 = alloca %struct.s2n_result, align 4
  %593 = alloca i32, align 4
  %594 = alloca i32, align 4
  %595 = alloca i32, align 4
  %596 = alloca i32, align 4
  %597 = alloca i32, align 4
  %598 = alloca i32, align 4
  %599 = alloca i32, align 4
  %600 = alloca i32, align 4
  %601 = alloca i32, align 4
  %602 = alloca i32, align 4
  %603 = alloca i32, align 4
  %604 = alloca i32, align 4
  %605 = alloca i32, align 4
  %606 = alloca i32, align 4
  %607 = alloca i32, align 4
  %608 = alloca i32, align 4
  %609 = alloca i32, align 4
  %610 = alloca i32, align 4
  %611 = alloca i32, align 4
  %612 = alloca %struct.s2n_result, align 4
  %613 = alloca %struct.s2n_result, align 4
  %614 = alloca %struct.s2n_result, align 4
  %615 = alloca ptr, align 8
  %616 = alloca i32, align 4
  %617 = alloca %struct.s2n_result, align 4
  %618 = alloca i32, align 4
  %619 = alloca ptr, align 8
  %620 = alloca i32, align 4
  %621 = alloca %struct.s2n_result, align 4
  %622 = alloca i32, align 4
  %623 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %624 = alloca %struct.s2n_result, align 4
  %625 = alloca i32, align 4
  %626 = alloca [12 x i8], align 1
  %627 = alloca i64, align 8
  %628 = alloca i32, align 4
  %629 = alloca i64, align 8
  %630 = alloca i64, align 8
  %631 = alloca i32, align 4
  %632 = alloca i32, align 4
  %633 = alloca %struct.s2n_result, align 4
  %634 = alloca i32, align 4
  %635 = alloca %struct.s2n_result, align 4
  %636 = alloca i32, align 4
  %637 = alloca %struct.s2n_result, align 4
  %638 = alloca i32, align 4
  %639 = alloca %struct.s2n_result, align 4
  %640 = alloca i32, align 4
  %641 = alloca i32, align 4
  %642 = alloca i32, align 4
  %643 = alloca i32, align 4
  %644 = alloca i32, align 4
  %645 = alloca i32, align 4
  %646 = alloca i32, align 4
  %647 = alloca i32, align 4
  %648 = alloca %struct.s2n_result, align 4
  %649 = alloca i32, align 4
  %650 = alloca %struct.s2n_result, align 4
  %651 = alloca i32, align 4
  %652 = alloca i32, align 4
  %653 = alloca i32, align 4
  %654 = alloca i32, align 4
  %655 = alloca i32, align 4
  %656 = alloca %struct.s2n_result, align 4
  %657 = alloca i32, align 4
  %658 = alloca %struct.s2n_result, align 4
  %659 = alloca i32, align 4
  %660 = alloca i32, align 4
  %661 = alloca i32, align 4
  %662 = alloca i32, align 4
  %663 = alloca %struct.s2n_result, align 4
  %664 = alloca i32, align 4
  %665 = alloca %struct.s2n_result, align 4
  %666 = alloca i32, align 4
  %667 = alloca %struct.s2n_result, align 4
  %668 = alloca %struct.s2n_result, align 4
  %669 = alloca %struct.s2n_result, align 4
  %670 = alloca i32, align 4
  %671 = alloca i32, align 4
  %672 = alloca i32, align 4
  %673 = alloca %struct.s2n_result, align 4
  %674 = alloca %struct.s2n_result, align 4
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  br label %675

675:                                              ; preds = %2
  br label %676

676:                                              ; preds = %675
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %677 = load ptr, ptr @stdout, align 8, !tbaa !9
  %678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %677, ptr noundef @.str.6, ptr noundef @.str.7) #10
  %679 = load ptr, ptr @stdout, align 8, !tbaa !9
  %680 = call i32 @fflush(ptr noundef %679)
  br label %681

681:                                              ; preds = %676
  %682 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %683 = icmp eq i32 %682, -1
  br i1 %683, label %684, label %735

684:                                              ; preds = %681
  br label %685

685:                                              ; preds = %684
  br label %686

686:                                              ; preds = %685
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #10
  %687 = call ptr @__errno_location() #11
  %688 = load i32, ptr %687, align 4, !tbaa !5
  store i32 %688, ptr %6, align 4, !tbaa !5
  %689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %690 = call i32 @s2n_print_stacktrace(ptr noundef %689)
  %691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %692 = trunc i8 %691 to i1
  br i1 %692, label %693, label %715

693:                                              ; preds = %686
  %694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %695 = call i32 @fileno(ptr noundef %694) #10
  %696 = call i32 @isatty(i32 noundef %695) #10
  %697 = icmp ne i32 %696, 0
  br i1 %697, label %698, label %715

698:                                              ; preds = %693
  %699 = load i32, ptr %6, align 4, !tbaa !5
  %700 = call ptr @__errno_location() #11
  store i32 %699, ptr %700, align 4, !tbaa !5
  %701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %702 = load i32, ptr @test_count, align 4, !tbaa !5
  %703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %704 = load i32, ptr %703, align 4, !tbaa !5
  %705 = call ptr @s2n_strerror(i32 noundef %704, ptr noundef @.str.10)
  %706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %707 = load i32, ptr %706, align 4, !tbaa !5
  %708 = call ptr @s2n_strerror_debug(i32 noundef %707, ptr noundef @.str.10)
  %709 = call ptr @__errno_location() #11
  %710 = load i32, ptr %709, align 4, !tbaa !5
  %711 = call ptr @strerror(i32 noundef %710) #10
  %712 = call ptr @__errno_location() #11
  %713 = load i32, ptr %712, align 4, !tbaa !5
  %714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %701, ptr noundef @.str.8, i32 noundef %702, ptr noundef @.str.9, ptr noundef @.str.7, i32 noundef 28, ptr noundef %705, ptr noundef %708, ptr noundef %711, i32 noundef %713) #10
  br label %732

715:                                              ; preds = %693, %686
  %716 = load i32, ptr %6, align 4, !tbaa !5
  %717 = call ptr @__errno_location() #11
  store i32 %716, ptr %717, align 4, !tbaa !5
  %718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %719 = load i32, ptr @test_count, align 4, !tbaa !5
  %720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %721 = load i32, ptr %720, align 4, !tbaa !5
  %722 = call ptr @s2n_strerror(i32 noundef %721, ptr noundef @.str.10)
  %723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %724 = load i32, ptr %723, align 4, !tbaa !5
  %725 = call ptr @s2n_strerror_debug(i32 noundef %724, ptr noundef @.str.10)
  %726 = call ptr @__errno_location() #11
  %727 = load i32, ptr %726, align 4, !tbaa !5
  %728 = call ptr @strerror(i32 noundef %727) #10
  %729 = call ptr @__errno_location() #11
  %730 = load i32, ptr %729, align 4, !tbaa !5
  %731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %718, ptr noundef @.str.11, i32 noundef %719, ptr noundef @.str.9, ptr noundef @.str.7, i32 noundef 28, ptr noundef %722, ptr noundef %725, ptr noundef %728, i32 noundef %730) #10
  br label %732

732:                                              ; preds = %715, %698
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #10
  br label %733

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

734:                                              ; No predecessors!
  br label %735

735:                                              ; preds = %734, %681
  br label %736

736:                                              ; preds = %735
  br label %737

737:                                              ; preds = %736
  %738 = load i32, ptr @test_count, align 4, !tbaa !5
  %739 = add nsw i32 %738, 1
  store i32 %739, ptr @test_count, align 4, !tbaa !5
  %740 = call i32 @s2n_enable_atexit()
  %741 = icmp eq i32 %740, -1
  br i1 %741, label %742, label %793

742:                                              ; preds = %737
  br label %743

743:                                              ; preds = %742
  br label %744

744:                                              ; preds = %743
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #10
  %745 = call ptr @__errno_location() #11
  %746 = load i32, ptr %745, align 4, !tbaa !5
  store i32 %746, ptr %7, align 4, !tbaa !5
  %747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %748 = call i32 @s2n_print_stacktrace(ptr noundef %747)
  %749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %750 = trunc i8 %749 to i1
  br i1 %750, label %751, label %773

751:                                              ; preds = %744
  %752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %753 = call i32 @fileno(ptr noundef %752) #10
  %754 = call i32 @isatty(i32 noundef %753) #10
  %755 = icmp ne i32 %754, 0
  br i1 %755, label %756, label %773

756:                                              ; preds = %751
  %757 = load i32, ptr %7, align 4, !tbaa !5
  %758 = call ptr @__errno_location() #11
  store i32 %757, ptr %758, align 4, !tbaa !5
  %759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %760 = load i32, ptr @test_count, align 4, !tbaa !5
  %761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %762 = load i32, ptr %761, align 4, !tbaa !5
  %763 = call ptr @s2n_strerror(i32 noundef %762, ptr noundef @.str.10)
  %764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %765 = load i32, ptr %764, align 4, !tbaa !5
  %766 = call ptr @s2n_strerror_debug(i32 noundef %765, ptr noundef @.str.10)
  %767 = call ptr @__errno_location() #11
  %768 = load i32, ptr %767, align 4, !tbaa !5
  %769 = call ptr @strerror(i32 noundef %768) #10
  %770 = call ptr @__errno_location() #11
  %771 = load i32, ptr %770, align 4, !tbaa !5
  %772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %759, ptr noundef @.str.8, i32 noundef %760, ptr noundef @.str.12, ptr noundef @.str.7, i32 noundef 28, ptr noundef %763, ptr noundef %766, ptr noundef %769, i32 noundef %771) #10
  br label %790

773:                                              ; preds = %751, %744
  %774 = load i32, ptr %7, align 4, !tbaa !5
  %775 = call ptr @__errno_location() #11
  store i32 %774, ptr %775, align 4, !tbaa !5
  %776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %777 = load i32, ptr @test_count, align 4, !tbaa !5
  %778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %779 = load i32, ptr %778, align 4, !tbaa !5
  %780 = call ptr @s2n_strerror(i32 noundef %779, ptr noundef @.str.10)
  %781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %782 = load i32, ptr %781, align 4, !tbaa !5
  %783 = call ptr @s2n_strerror_debug(i32 noundef %782, ptr noundef @.str.10)
  %784 = call ptr @__errno_location() #11
  %785 = load i32, ptr %784, align 4, !tbaa !5
  %786 = call ptr @strerror(i32 noundef %785) #10
  %787 = call ptr @__errno_location() #11
  %788 = load i32, ptr %787, align 4, !tbaa !5
  %789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %776, ptr noundef @.str.11, i32 noundef %777, ptr noundef @.str.12, ptr noundef @.str.7, i32 noundef 28, ptr noundef %780, ptr noundef %783, ptr noundef %786, i32 noundef %788) #10
  br label %790

790:                                              ; preds = %773, %756
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #10
  br label %791

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

792:                                              ; No predecessors!
  br label %793

793:                                              ; preds = %792, %737
  br label %794

794:                                              ; preds = %793
  br label %795

795:                                              ; preds = %794
  br label %796

796:                                              ; preds = %795
  %797 = call i32 @s2n_init()
  %798 = icmp eq i32 %797, -1
  br i1 %798, label %799, label %850

799:                                              ; preds = %796
  br label %800

800:                                              ; preds = %799
  br label %801

801:                                              ; preds = %800
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #10
  %802 = call ptr @__errno_location() #11
  %803 = load i32, ptr %802, align 4, !tbaa !5
  store i32 %803, ptr %8, align 4, !tbaa !5
  %804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %805 = call i32 @s2n_print_stacktrace(ptr noundef %804)
  %806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %807 = trunc i8 %806 to i1
  br i1 %807, label %808, label %830

808:                                              ; preds = %801
  %809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %810 = call i32 @fileno(ptr noundef %809) #10
  %811 = call i32 @isatty(i32 noundef %810) #10
  %812 = icmp ne i32 %811, 0
  br i1 %812, label %813, label %830

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

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

847:                                              ; preds = %830, %813
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #10
  br label %848

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

849:                                              ; No predecessors!
  br label %850

850:                                              ; preds = %849, %796
  br label %851

851:                                              ; preds = %850
  br label %852

852:                                              ; preds = %851
  call void @llvm.lifetime.start.p0(i64 2, ptr %9) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %9, ptr align 1 @__const.main.close_notify_alert, i64 2, i1 false)
  call void @llvm.lifetime.start.p0(i64 5, ptr %10) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %10, ptr align 1 @__const.main.alert_record_header, i64 5, i1 false)
  call void @llvm.lifetime.start.p0(i64 1, ptr %11) #10
  store i8 7, ptr %11, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #10
  br label %853

853:                                              ; preds = %852
  %854 = load i32, ptr @test_count, align 4, !tbaa !5
  %855 = add nsw i32 %854, 1
  store i32 %855, ptr @test_count, align 4, !tbaa !5
  %856 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %12, ptr noundef @.str.14, ptr noundef @.str.15)
  %857 = icmp eq i32 %856, -1
  br i1 %857, label %858, label %911

858:                                              ; preds = %853
  br label %859

859:                                              ; preds = %858
  br label %860

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

867:                                              ; preds = %860
  %868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %869 = call i32 @fileno(ptr noundef %868) #10
  %870 = call i32 @isatty(i32 noundef %869) #10
  %871 = icmp ne i32 %870, 0
  br i1 %871, label %872, label %889

872:                                              ; preds = %867
  %873 = load i32, ptr %13, align 4, !tbaa !5
  %874 = call ptr @__errno_location() #11
  store i32 %873, ptr %874, align 4, !tbaa !5
  %875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %876 = load i32, ptr @test_count, align 4, !tbaa !5
  %877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %878 = load i32, ptr %877, align 4, !tbaa !5
  %879 = call ptr @s2n_strerror(i32 noundef %878, ptr noundef @.str.10)
  %880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %881 = load i32, ptr %880, align 4, !tbaa !5
  %882 = call ptr @s2n_strerror_debug(i32 noundef %881, ptr noundef @.str.10)
  %883 = call ptr @__errno_location() #11
  %884 = load i32, ptr %883, align 4, !tbaa !5
  %885 = call ptr @strerror(i32 noundef %884) #10
  %886 = call ptr @__errno_location() #11
  %887 = load i32, ptr %886, align 4, !tbaa !5
  %888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %875, ptr noundef @.str.8, i32 noundef %876, ptr noundef @.str.16, ptr noundef @.str.7, i32 noundef 51, ptr noundef %879, ptr noundef %882, ptr noundef %885, i32 noundef %887) #10
  br label %906

889:                                              ; preds = %867, %860
  %890 = load i32, ptr %13, align 4, !tbaa !5
  %891 = call ptr @__errno_location() #11
  store i32 %890, ptr %891, align 4, !tbaa !5
  %892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %893 = load i32, ptr @test_count, align 4, !tbaa !5
  %894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %895 = load i32, ptr %894, align 4, !tbaa !5
  %896 = call ptr @s2n_strerror(i32 noundef %895, ptr noundef @.str.10)
  %897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %898 = load i32, ptr %897, align 4, !tbaa !5
  %899 = call ptr @s2n_strerror_debug(i32 noundef %898, ptr noundef @.str.10)
  %900 = call ptr @__errno_location() #11
  %901 = load i32, ptr %900, align 4, !tbaa !5
  %902 = call ptr @strerror(i32 noundef %901) #10
  %903 = call ptr @__errno_location() #11
  %904 = load i32, ptr %903, align 4, !tbaa !5
  %905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %892, ptr noundef @.str.11, i32 noundef %893, ptr noundef @.str.16, ptr noundef @.str.7, i32 noundef 51, ptr noundef %896, ptr noundef %899, ptr noundef %902, i32 noundef %904) #10
  br label %906

906:                                              ; preds = %889, %872
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #10
  br label %907

907:                                              ; preds = %906
  br label %908

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

909:                                              ; No predecessors!
  br label %910

910:                                              ; preds = %909
  br label %911

911:                                              ; preds = %910, %853
  br label %912

912:                                              ; preds = %911
  br label %913

913:                                              ; preds = %912
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #10
  %914 = call ptr @s2n_config_new()
  store ptr %914, ptr %14, align 8, !tbaa !9
  br label %915

915:                                              ; preds = %913
  %916 = load i32, ptr @test_count, align 4, !tbaa !5
  %917 = add nsw i32 %916, 1
  store i32 %917, ptr @test_count, align 4, !tbaa !5
  %918 = load ptr, ptr %14, align 8, !tbaa !9
  %919 = load ptr, ptr %12, align 8, !tbaa !9
  %920 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %918, ptr noundef %919)
  %921 = icmp eq i32 %920, -1
  br i1 %921, label %922, label %975

922:                                              ; preds = %915
  br label %923

923:                                              ; preds = %922
  br label %924

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

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

936:                                              ; preds = %931
  %937 = load i32, ptr %15, align 4, !tbaa !5
  %938 = call ptr @__errno_location() #11
  store i32 %937, ptr %938, align 4, !tbaa !5
  %939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %940 = load i32, ptr @test_count, align 4, !tbaa !5
  %941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %942 = load i32, ptr %941, align 4, !tbaa !5
  %943 = call ptr @s2n_strerror(i32 noundef %942, ptr noundef @.str.10)
  %944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %945 = load i32, ptr %944, align 4, !tbaa !5
  %946 = call ptr @s2n_strerror_debug(i32 noundef %945, ptr noundef @.str.10)
  %947 = call ptr @__errno_location() #11
  %948 = load i32, ptr %947, align 4, !tbaa !5
  %949 = call ptr @strerror(i32 noundef %948) #10
  %950 = call ptr @__errno_location() #11
  %951 = load i32, ptr %950, align 4, !tbaa !5
  %952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %939, ptr noundef @.str.8, i32 noundef %940, ptr noundef @.str.17, ptr noundef @.str.7, i32 noundef 55, ptr noundef %943, ptr noundef %946, ptr noundef %949, i32 noundef %951) #10
  br label %970

953:                                              ; preds = %931, %924
  %954 = load i32, ptr %15, align 4, !tbaa !5
  %955 = call ptr @__errno_location() #11
  store i32 %954, ptr %955, align 4, !tbaa !5
  %956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %957 = load i32, ptr @test_count, align 4, !tbaa !5
  %958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %959 = load i32, ptr %958, align 4, !tbaa !5
  %960 = call ptr @s2n_strerror(i32 noundef %959, ptr noundef @.str.10)
  %961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %962 = load i32, ptr %961, align 4, !tbaa !5
  %963 = call ptr @s2n_strerror_debug(i32 noundef %962, ptr noundef @.str.10)
  %964 = call ptr @__errno_location() #11
  %965 = load i32, ptr %964, align 4, !tbaa !5
  %966 = call ptr @strerror(i32 noundef %965) #10
  %967 = call ptr @__errno_location() #11
  %968 = load i32, ptr %967, align 4, !tbaa !5
  %969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %956, ptr noundef @.str.11, i32 noundef %957, ptr noundef @.str.17, ptr noundef @.str.7, i32 noundef 55, ptr noundef %960, ptr noundef %963, ptr noundef %966, i32 noundef %968) #10
  br label %970

970:                                              ; preds = %953, %936
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #10
  br label %971

971:                                              ; preds = %970
  br label %972

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

973:                                              ; No predecessors!
  br label %974

974:                                              ; preds = %973
  br label %975

975:                                              ; preds = %974, %915
  br label %976

976:                                              ; preds = %975
  br label %977

977:                                              ; preds = %976
  br label %978

978:                                              ; preds = %977
  %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 %14, align 8, !tbaa !9
  %982 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %981, ptr noundef @.str.18)
  %983 = icmp eq i32 %982, -1
  br i1 %983, label %984, label %1037

984:                                              ; preds = %978
  br label %985

985:                                              ; preds = %984
  br label %986

986:                                              ; preds = %985
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #10
  %987 = call ptr @__errno_location() #11
  %988 = load i32, ptr %987, align 4, !tbaa !5
  store i32 %988, ptr %16, 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) #10
  %996 = call i32 @isatty(i32 noundef %995) #10
  %997 = icmp ne i32 %996, 0
  br i1 %997, label %998, label %1015

998:                                              ; preds = %993
  %999 = load i32, ptr %16, align 4, !tbaa !5
  %1000 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %1009 = call ptr @__errno_location() #11
  %1010 = load i32, ptr %1009, align 4, !tbaa !5
  %1011 = call ptr @strerror(i32 noundef %1010) #10
  %1012 = call ptr @__errno_location() #11
  %1013 = load i32, ptr %1012, align 4, !tbaa !5
  %1014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1001, ptr noundef @.str.8, i32 noundef %1002, ptr noundef @.str.19, ptr noundef @.str.7, i32 noundef 56, ptr noundef %1005, ptr noundef %1008, ptr noundef %1011, i32 noundef %1013) #10
  br label %1032

1015:                                             ; preds = %993, %986
  %1016 = load i32, ptr %16, align 4, !tbaa !5
  %1017 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %1026 = call ptr @__errno_location() #11
  %1027 = load i32, ptr %1026, align 4, !tbaa !5
  %1028 = call ptr @strerror(i32 noundef %1027) #10
  %1029 = call ptr @__errno_location() #11
  %1030 = load i32, ptr %1029, align 4, !tbaa !5
  %1031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1018, ptr noundef @.str.11, i32 noundef %1019, ptr noundef @.str.19, ptr noundef @.str.7, i32 noundef 56, ptr noundef %1022, ptr noundef %1025, ptr noundef %1028, i32 noundef %1030) #10
  br label %1032

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

1033:                                             ; preds = %1032
  br label %1034

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

1035:                                             ; No predecessors!
  br label %1036

1036:                                             ; preds = %1035
  br label %1037

1037:                                             ; preds = %1036, %978
  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 %14, align 8, !tbaa !9
  %1044 = call i32 @s2n_config_disable_x509_verification(ptr noundef %1043)
  %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 %17) #10
  %1049 = call ptr @__errno_location() #11
  %1050 = load i32, ptr %1049, align 4, !tbaa !5
  store i32 %1050, ptr %17, 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) #10
  %1058 = call i32 @isatty(i32 noundef %1057) #10
  %1059 = icmp ne i32 %1058, 0
  br i1 %1059, label %1060, label %1077

1060:                                             ; preds = %1055
  %1061 = load i32, ptr %17, align 4, !tbaa !5
  %1062 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %1071 = call ptr @__errno_location() #11
  %1072 = load i32, ptr %1071, align 4, !tbaa !5
  %1073 = call ptr @strerror(i32 noundef %1072) #10
  %1074 = call ptr @__errno_location() #11
  %1075 = load i32, ptr %1074, align 4, !tbaa !5
  %1076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1063, ptr noundef @.str.8, i32 noundef %1064, ptr noundef @.str.20, ptr noundef @.str.7, i32 noundef 57, ptr noundef %1067, ptr noundef %1070, ptr noundef %1073, i32 noundef %1075) #10
  br label %1094

1077:                                             ; preds = %1055, %1048
  %1078 = load i32, ptr %17, align 4, !tbaa !5
  %1079 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %1088 = call ptr @__errno_location() #11
  %1089 = load i32, ptr %1088, align 4, !tbaa !5
  %1090 = call ptr @strerror(i32 noundef %1089) #10
  %1091 = call ptr @__errno_location() #11
  %1092 = load i32, ptr %1091, align 4, !tbaa !5
  %1093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1080, ptr noundef @.str.11, i32 noundef %1081, ptr noundef @.str.20, ptr noundef @.str.7, i32 noundef 57, ptr noundef %1084, ptr noundef %1087, ptr noundef %1090, i32 noundef %1092) #10
  br label %1094

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

1095:                                             ; preds = %1094
  br label %1096

1096:                                             ; preds = %1095
  call void @exit(i32 noundef 1) #12
  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 %18) #10
  %1102 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1102, ptr %18, 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 %18, align 8, !tbaa !9
  %1107 = icmp eq ptr %1106, null
  br i1 %1107, label %1108, label %1161

1108:                                             ; preds = %1103
  br label %1109

1109:                                             ; preds = %1108
  br label %1110

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

1117:                                             ; preds = %1110
  %1118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1119 = call i32 @fileno(ptr noundef %1118) #10
  %1120 = call i32 @isatty(i32 noundef %1119) #10
  %1121 = icmp ne i32 %1120, 0
  br i1 %1121, label %1122, label %1139

1122:                                             ; preds = %1117
  %1123 = load i32, ptr %19, align 4, !tbaa !5
  %1124 = call ptr @__errno_location() #11
  store i32 %1123, ptr %1124, align 4, !tbaa !5
  %1125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1126 = load i32, ptr @test_count, align 4, !tbaa !5
  %1127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1128 = load i32, ptr %1127, align 4, !tbaa !5
  %1129 = call ptr @s2n_strerror(i32 noundef %1128, ptr noundef @.str.10)
  %1130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1131 = load i32, ptr %1130, align 4, !tbaa !5
  %1132 = call ptr @s2n_strerror_debug(i32 noundef %1131, ptr noundef @.str.10)
  %1133 = call ptr @__errno_location() #11
  %1134 = load i32, ptr %1133, align 4, !tbaa !5
  %1135 = call ptr @strerror(i32 noundef %1134) #10
  %1136 = call ptr @__errno_location() #11
  %1137 = load i32, ptr %1136, align 4, !tbaa !5
  %1138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1125, ptr noundef @.str.8, i32 noundef %1126, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 63, ptr noundef %1129, ptr noundef %1132, ptr noundef %1135, i32 noundef %1137) #10
  br label %1156

1139:                                             ; preds = %1117, %1110
  %1140 = load i32, ptr %19, align 4, !tbaa !5
  %1141 = call ptr @__errno_location() #11
  store i32 %1140, ptr %1141, align 4, !tbaa !5
  %1142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1143 = load i32, ptr @test_count, align 4, !tbaa !5
  %1144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1145 = load i32, ptr %1144, align 4, !tbaa !5
  %1146 = call ptr @s2n_strerror(i32 noundef %1145, ptr noundef @.str.10)
  %1147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1148 = load i32, ptr %1147, align 4, !tbaa !5
  %1149 = call ptr @s2n_strerror_debug(i32 noundef %1148, ptr noundef @.str.10)
  %1150 = call ptr @__errno_location() #11
  %1151 = load i32, ptr %1150, align 4, !tbaa !5
  %1152 = call ptr @strerror(i32 noundef %1151) #10
  %1153 = call ptr @__errno_location() #11
  %1154 = load i32, ptr %1153, align 4, !tbaa !5
  %1155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1142, ptr noundef @.str.11, i32 noundef %1143, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 63, ptr noundef %1146, ptr noundef %1149, ptr noundef %1152, i32 noundef %1154) #10
  br label %1156

1156:                                             ; preds = %1139, %1122
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #10
  br label %1157

1157:                                             ; preds = %1156
  br label %1158

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

1159:                                             ; No predecessors!
  br label %1160

1160:                                             ; preds = %1159
  br label %1161

1161:                                             ; preds = %1160, %1103
  br label %1162

1162:                                             ; preds = %1161
  br label %1163

1163:                                             ; preds = %1162
  br label %1164

1164:                                             ; preds = %1163
  %1165 = load i32, ptr @test_count, align 4, !tbaa !5
  %1166 = add nsw i32 %1165, 1
  store i32 %1166, ptr @test_count, align 4, !tbaa !5
  %1167 = load ptr, ptr %18, align 8, !tbaa !9
  %1168 = call i32 @s2n_skip_handshake(ptr noundef %1167)
  %1169 = getelementptr inbounds %struct.s2n_result, ptr %20, i32 0, i32 0
  store i32 %1168, ptr %1169, align 4
  %1170 = getelementptr inbounds %struct.s2n_result, ptr %20, i32 0, i32 0
  %1171 = load i32, ptr %1170, align 4
  %1172 = call zeroext i1 @s2n_result_is_ok(i32 %1171)
  br i1 %1172, label %1226, label %1173

1173:                                             ; preds = %1164
  br label %1174

1174:                                             ; preds = %1173
  br label %1175

1175:                                             ; preds = %1174
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #10
  %1176 = call ptr @__errno_location() #11
  %1177 = load i32, ptr %1176, align 4, !tbaa !5
  store i32 %1177, ptr %21, 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) #10
  %1185 = call i32 @isatty(i32 noundef %1184) #10
  %1186 = icmp ne i32 %1185, 0
  br i1 %1186, label %1187, label %1204

1187:                                             ; preds = %1182
  %1188 = load i32, ptr %21, align 4, !tbaa !5
  %1189 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %1198 = call ptr @__errno_location() #11
  %1199 = load i32, ptr %1198, align 4, !tbaa !5
  %1200 = call ptr @strerror(i32 noundef %1199) #10
  %1201 = call ptr @__errno_location() #11
  %1202 = load i32, ptr %1201, align 4, !tbaa !5
  %1203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1190, ptr noundef @.str.8, i32 noundef %1191, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 64, ptr noundef %1194, ptr noundef %1197, ptr noundef %1200, i32 noundef %1202) #10
  br label %1221

1204:                                             ; preds = %1182, %1175
  %1205 = load i32, ptr %21, align 4, !tbaa !5
  %1206 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %1215 = call ptr @__errno_location() #11
  %1216 = load i32, ptr %1215, align 4, !tbaa !5
  %1217 = call ptr @strerror(i32 noundef %1216) #10
  %1218 = call ptr @__errno_location() #11
  %1219 = load i32, ptr %1218, align 4, !tbaa !5
  %1220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1207, ptr noundef @.str.11, i32 noundef %1208, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 64, ptr noundef %1211, ptr noundef %1214, ptr noundef %1217, i32 noundef %1219) #10
  br label %1221

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

1222:                                             ; preds = %1221
  br label %1223

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

1224:                                             ; No predecessors!
  br label %1225

1225:                                             ; preds = %1224
  br label %1226

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

1227:                                             ; preds = %1226
  br label %1228

1228:                                             ; preds = %1227
  call void @llvm.lifetime.start.p0(i64 40, ptr %22) #10
  call void @llvm.memset.p0.i64(ptr align 8 %22, i8 0, i64 40, i1 false)
  br label %1229

1229:                                             ; preds = %1228
  %1230 = load i32, ptr @test_count, align 4, !tbaa !5
  %1231 = add nsw i32 %1230, 1
  store i32 %1231, ptr @test_count, align 4, !tbaa !5
  %1232 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %22, i32 noundef 0)
  %1233 = icmp eq i32 %1232, -1
  br i1 %1233, label %1234, label %1287

1234:                                             ; preds = %1229
  br label %1235

1235:                                             ; preds = %1234
  br label %1236

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

1243:                                             ; preds = %1236
  %1244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1245 = call i32 @fileno(ptr noundef %1244) #10
  %1246 = call i32 @isatty(i32 noundef %1245) #10
  %1247 = icmp ne i32 %1246, 0
  br i1 %1247, label %1248, label %1265

1248:                                             ; preds = %1243
  %1249 = load i32, ptr %23, align 4, !tbaa !5
  %1250 = call ptr @__errno_location() #11
  store i32 %1249, ptr %1250, align 4, !tbaa !5
  %1251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1252 = load i32, ptr @test_count, align 4, !tbaa !5
  %1253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1254 = load i32, ptr %1253, align 4, !tbaa !5
  %1255 = call ptr @s2n_strerror(i32 noundef %1254, ptr noundef @.str.10)
  %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_debug(i32 noundef %1257, ptr noundef @.str.10)
  %1259 = call ptr @__errno_location() #11
  %1260 = load i32, ptr %1259, align 4, !tbaa !5
  %1261 = call ptr @strerror(i32 noundef %1260) #10
  %1262 = call ptr @__errno_location() #11
  %1263 = load i32, ptr %1262, align 4, !tbaa !5
  %1264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1251, ptr noundef @.str.8, i32 noundef %1252, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 68, ptr noundef %1255, ptr noundef %1258, ptr noundef %1261, i32 noundef %1263) #10
  br label %1282

1265:                                             ; preds = %1243, %1236
  %1266 = load i32, ptr %23, align 4, !tbaa !5
  %1267 = call ptr @__errno_location() #11
  store i32 %1266, ptr %1267, 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 @.str.10)
  %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_debug(i32 noundef %1274, ptr noundef @.str.10)
  %1276 = call ptr @__errno_location() #11
  %1277 = load i32, ptr %1276, align 4, !tbaa !5
  %1278 = call ptr @strerror(i32 noundef %1277) #10
  %1279 = call ptr @__errno_location() #11
  %1280 = load i32, ptr %1279, align 4, !tbaa !5
  %1281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1268, ptr noundef @.str.11, i32 noundef %1269, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 68, ptr noundef %1272, ptr noundef %1275, ptr noundef %1278, i32 noundef %1280) #10
  br label %1282

1282:                                             ; preds = %1265, %1248
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #10
  br label %1283

1283:                                             ; preds = %1282
  br label %1284

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

1285:                                             ; No predecessors!
  br label %1286

1286:                                             ; preds = %1285
  br label %1287

1287:                                             ; preds = %1286, %1229
  br label %1288

1288:                                             ; preds = %1287
  br label %1289

1289:                                             ; preds = %1288
  br label %1290

1290:                                             ; preds = %1289
  %1291 = load i32, ptr @test_count, align 4, !tbaa !5
  %1292 = add nsw i32 %1291, 1
  store i32 %1292, ptr @test_count, align 4, !tbaa !5
  %1293 = load ptr, ptr %18, align 8, !tbaa !9
  %1294 = call i32 @s2n_connection_set_send_io_stuffer(ptr noundef %22, ptr noundef %1293)
  %1295 = icmp eq i32 %1294, -1
  br i1 %1295, label %1296, label %1349

1296:                                             ; preds = %1290
  br label %1297

1297:                                             ; preds = %1296
  br label %1298

1298:                                             ; preds = %1297
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #10
  %1299 = call ptr @__errno_location() #11
  %1300 = load i32, ptr %1299, align 4, !tbaa !5
  store i32 %1300, ptr %24, align 4, !tbaa !5
  %1301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1302 = call i32 @s2n_print_stacktrace(ptr noundef %1301)
  %1303 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1304 = trunc i8 %1303 to i1
  br i1 %1304, label %1305, label %1327

1305:                                             ; preds = %1298
  %1306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1307 = call i32 @fileno(ptr noundef %1306) #10
  %1308 = call i32 @isatty(i32 noundef %1307) #10
  %1309 = icmp ne i32 %1308, 0
  br i1 %1309, label %1310, label %1327

1310:                                             ; preds = %1305
  %1311 = load i32, ptr %24, align 4, !tbaa !5
  %1312 = call ptr @__errno_location() #11
  store i32 %1311, ptr %1312, align 4, !tbaa !5
  %1313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1314 = load i32, ptr @test_count, align 4, !tbaa !5
  %1315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1316 = load i32, ptr %1315, align 4, !tbaa !5
  %1317 = call ptr @s2n_strerror(i32 noundef %1316, ptr noundef @.str.10)
  %1318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1319 = load i32, ptr %1318, align 4, !tbaa !5
  %1320 = call ptr @s2n_strerror_debug(i32 noundef %1319, ptr noundef @.str.10)
  %1321 = call ptr @__errno_location() #11
  %1322 = load i32, ptr %1321, align 4, !tbaa !5
  %1323 = call ptr @strerror(i32 noundef %1322) #10
  %1324 = call ptr @__errno_location() #11
  %1325 = load i32, ptr %1324, align 4, !tbaa !5
  %1326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1313, ptr noundef @.str.8, i32 noundef %1314, ptr noundef @.str.24, ptr noundef @.str.7, i32 noundef 69, ptr noundef %1317, ptr noundef %1320, ptr noundef %1323, i32 noundef %1325) #10
  br label %1344

1327:                                             ; preds = %1305, %1298
  %1328 = load i32, ptr %24, align 4, !tbaa !5
  %1329 = call ptr @__errno_location() #11
  store i32 %1328, ptr %1329, align 4, !tbaa !5
  %1330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1331 = load i32, ptr @test_count, align 4, !tbaa !5
  %1332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1333 = load i32, ptr %1332, align 4, !tbaa !5
  %1334 = call ptr @s2n_strerror(i32 noundef %1333, ptr noundef @.str.10)
  %1335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1336 = load i32, ptr %1335, align 4, !tbaa !5
  %1337 = call ptr @s2n_strerror_debug(i32 noundef %1336, ptr noundef @.str.10)
  %1338 = call ptr @__errno_location() #11
  %1339 = load i32, ptr %1338, align 4, !tbaa !5
  %1340 = call ptr @strerror(i32 noundef %1339) #10
  %1341 = call ptr @__errno_location() #11
  %1342 = load i32, ptr %1341, align 4, !tbaa !5
  %1343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1330, ptr noundef @.str.11, i32 noundef %1331, ptr noundef @.str.24, ptr noundef @.str.7, i32 noundef 69, ptr noundef %1334, ptr noundef %1337, ptr noundef %1340, i32 noundef %1342) #10
  br label %1344

1344:                                             ; preds = %1327, %1310
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #10
  br label %1345

1345:                                             ; preds = %1344
  br label %1346

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

1347:                                             ; No predecessors!
  br label %1348

1348:                                             ; preds = %1347
  br label %1349

1349:                                             ; preds = %1348, %1290
  br label %1350

1350:                                             ; preds = %1349
  br label %1351

1351:                                             ; preds = %1350
  br label %1352

1352:                                             ; preds = %1351
  %1353 = load i32, ptr @test_count, align 4, !tbaa !5
  %1354 = add nsw i32 %1353, 1
  store i32 %1354, ptr @test_count, align 4, !tbaa !5
  %1355 = load ptr, ptr %18, align 8, !tbaa !9
  %1356 = call zeroext i1 @s2n_handshake_is_complete(ptr noundef %1355)
  br i1 %1356, label %1410, label %1357

1357:                                             ; preds = %1352
  br label %1358

1358:                                             ; preds = %1357
  br label %1359

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

1366:                                             ; preds = %1359
  %1367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1368 = call i32 @fileno(ptr noundef %1367) #10
  %1369 = call i32 @isatty(i32 noundef %1368) #10
  %1370 = icmp ne i32 %1369, 0
  br i1 %1370, label %1371, label %1388

1371:                                             ; preds = %1366
  %1372 = load i32, ptr %25, align 4, !tbaa !5
  %1373 = call ptr @__errno_location() #11
  store i32 %1372, ptr %1373, align 4, !tbaa !5
  %1374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1375 = load i32, ptr @test_count, align 4, !tbaa !5
  %1376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1377 = load i32, ptr %1376, align 4, !tbaa !5
  %1378 = call ptr @s2n_strerror(i32 noundef %1377, ptr noundef @.str.10)
  %1379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1380 = load i32, ptr %1379, align 4, !tbaa !5
  %1381 = call ptr @s2n_strerror_debug(i32 noundef %1380, ptr noundef @.str.10)
  %1382 = call ptr @__errno_location() #11
  %1383 = load i32, ptr %1382, align 4, !tbaa !5
  %1384 = call ptr @strerror(i32 noundef %1383) #10
  %1385 = call ptr @__errno_location() #11
  %1386 = load i32, ptr %1385, align 4, !tbaa !5
  %1387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1374, ptr noundef @.str.8, i32 noundef %1375, ptr noundef @.str.25, ptr noundef @.str.7, i32 noundef 72, ptr noundef %1378, ptr noundef %1381, ptr noundef %1384, i32 noundef %1386) #10
  br label %1405

1388:                                             ; preds = %1366, %1359
  %1389 = load i32, ptr %25, align 4, !tbaa !5
  %1390 = call ptr @__errno_location() #11
  store i32 %1389, ptr %1390, align 4, !tbaa !5
  %1391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1392 = load i32, ptr @test_count, align 4, !tbaa !5
  %1393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1394 = load i32, ptr %1393, align 4, !tbaa !5
  %1395 = call ptr @s2n_strerror(i32 noundef %1394, ptr noundef @.str.10)
  %1396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1397 = load i32, ptr %1396, align 4, !tbaa !5
  %1398 = call ptr @s2n_strerror_debug(i32 noundef %1397, ptr noundef @.str.10)
  %1399 = call ptr @__errno_location() #11
  %1400 = load i32, ptr %1399, align 4, !tbaa !5
  %1401 = call ptr @strerror(i32 noundef %1400) #10
  %1402 = call ptr @__errno_location() #11
  %1403 = load i32, ptr %1402, align 4, !tbaa !5
  %1404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1391, ptr noundef @.str.11, i32 noundef %1392, ptr noundef @.str.25, ptr noundef @.str.7, i32 noundef 72, ptr noundef %1395, ptr noundef %1398, ptr noundef %1401, i32 noundef %1403) #10
  br label %1405

1405:                                             ; preds = %1388, %1371
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #10
  br label %1406

1406:                                             ; preds = %1405
  br label %1407

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

1408:                                             ; No predecessors!
  br label %1409

1409:                                             ; preds = %1408
  br label %1410

1410:                                             ; preds = %1409, %1352
  br label %1411

1411:                                             ; preds = %1410
  br label %1412

1412:                                             ; preds = %1411
  br label %1413

1413:                                             ; preds = %1412
  %1414 = load i32, ptr @test_count, align 4, !tbaa !5
  %1415 = add nsw i32 %1414, 1
  store i32 %1415, ptr @test_count, align 4, !tbaa !5
  %1416 = load ptr, ptr %18, align 8, !tbaa !9
  %1417 = getelementptr inbounds %struct.s2n_connection, ptr %1416, i32 0, i32 51
  %1418 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %1417)
  br i1 %1418, label %1419, label %1472

1419:                                             ; preds = %1413
  br label %1420

1420:                                             ; preds = %1419
  br label %1421

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

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

1433:                                             ; preds = %1428
  %1434 = load i32, ptr %26, align 4, !tbaa !5
  %1435 = call ptr @__errno_location() #11
  store i32 %1434, ptr %1435, align 4, !tbaa !5
  %1436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1437 = load i32, ptr @test_count, align 4, !tbaa !5
  %1438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1439 = load i32, ptr %1438, align 4, !tbaa !5
  %1440 = call ptr @s2n_strerror(i32 noundef %1439, ptr noundef @.str.10)
  %1441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1442 = load i32, ptr %1441, align 4, !tbaa !5
  %1443 = call ptr @s2n_strerror_debug(i32 noundef %1442, ptr noundef @.str.10)
  %1444 = call ptr @__errno_location() #11
  %1445 = load i32, ptr %1444, align 4, !tbaa !5
  %1446 = call ptr @strerror(i32 noundef %1445) #10
  %1447 = call ptr @__errno_location() #11
  %1448 = load i32, ptr %1447, align 4, !tbaa !5
  %1449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1436, ptr noundef @.str.8, i32 noundef %1437, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 73, ptr noundef %1440, ptr noundef %1443, ptr noundef %1446, i32 noundef %1448) #10
  br label %1467

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

1467:                                             ; preds = %1450, %1433
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #10
  br label %1468

1468:                                             ; preds = %1467
  br label %1469

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

1470:                                             ; No predecessors!
  br label %1471

1471:                                             ; preds = %1470
  br label %1472

1472:                                             ; preds = %1471, %1413
  br label %1473

1473:                                             ; preds = %1472
  br label %1474

1474:                                             ; preds = %1473
  br label %1475

1475:                                             ; preds = %1474
  %1476 = load i32, ptr @test_count, align 4, !tbaa !5
  %1477 = add nsw i32 %1476, 1
  store i32 %1477, ptr @test_count, align 4, !tbaa !5
  %1478 = load ptr, ptr %18, align 8, !tbaa !9
  %1479 = getelementptr inbounds %struct.s2n_connection, ptr %1478, i32 0, i32 49
  %1480 = load i8, ptr %1479, align 1, !tbaa !16, !range !13, !noundef !14
  %1481 = trunc i8 %1480 to i1
  br i1 %1481, label %1482, label %1535

1482:                                             ; preds = %1475
  br label %1483

1483:                                             ; preds = %1482
  br label %1484

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

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

1496:                                             ; preds = %1491
  %1497 = load i32, ptr %27, align 4, !tbaa !5
  %1498 = call ptr @__errno_location() #11
  store i32 %1497, ptr %1498, align 4, !tbaa !5
  %1499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1500 = load i32, ptr @test_count, align 4, !tbaa !5
  %1501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1502 = load i32, ptr %1501, align 4, !tbaa !5
  %1503 = call ptr @s2n_strerror(i32 noundef %1502, ptr noundef @.str.10)
  %1504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1505 = load i32, ptr %1504, align 4, !tbaa !5
  %1506 = call ptr @s2n_strerror_debug(i32 noundef %1505, ptr noundef @.str.10)
  %1507 = call ptr @__errno_location() #11
  %1508 = load i32, ptr %1507, align 4, !tbaa !5
  %1509 = call ptr @strerror(i32 noundef %1508) #10
  %1510 = call ptr @__errno_location() #11
  %1511 = load i32, ptr %1510, align 4, !tbaa !5
  %1512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1499, ptr noundef @.str.8, i32 noundef %1500, ptr noundef @.str.27, ptr noundef @.str.7, i32 noundef 74, ptr noundef %1503, ptr noundef %1506, ptr noundef %1509, i32 noundef %1511) #10
  br label %1530

1513:                                             ; preds = %1491, %1484
  %1514 = load i32, ptr %27, align 4, !tbaa !5
  %1515 = call ptr @__errno_location() #11
  store i32 %1514, ptr %1515, align 4, !tbaa !5
  %1516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1517 = load i32, ptr @test_count, align 4, !tbaa !5
  %1518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1519 = load i32, ptr %1518, align 4, !tbaa !5
  %1520 = call ptr @s2n_strerror(i32 noundef %1519, ptr noundef @.str.10)
  %1521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1522 = load i32, ptr %1521, align 4, !tbaa !5
  %1523 = call ptr @s2n_strerror_debug(i32 noundef %1522, ptr noundef @.str.10)
  %1524 = call ptr @__errno_location() #11
  %1525 = load i32, ptr %1524, align 4, !tbaa !5
  %1526 = call ptr @strerror(i32 noundef %1525) #10
  %1527 = call ptr @__errno_location() #11
  %1528 = load i32, ptr %1527, align 4, !tbaa !5
  %1529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1516, ptr noundef @.str.11, i32 noundef %1517, ptr noundef @.str.27, ptr noundef @.str.7, i32 noundef 74, ptr noundef %1520, ptr noundef %1523, ptr noundef %1526, i32 noundef %1528) #10
  br label %1530

1530:                                             ; preds = %1513, %1496
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #10
  br label %1531

1531:                                             ; preds = %1530
  br label %1532

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

1533:                                             ; No predecessors!
  br label %1534

1534:                                             ; preds = %1533
  br label %1535

1535:                                             ; preds = %1534, %1475
  br label %1536

1536:                                             ; preds = %1535
  br label %1537

1537:                                             ; preds = %1536
  br label %1538

1538:                                             ; preds = %1537
  %1539 = load i32, ptr @test_count, align 4, !tbaa !5
  %1540 = add nsw i32 %1539, 1
  store i32 %1540, ptr @test_count, align 4, !tbaa !5
  %1541 = load ptr, ptr %18, align 8, !tbaa !9
  %1542 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %1541, i32 noundef 2)
  br i1 %1542, label %1596, label %1543

1543:                                             ; preds = %1538
  br label %1544

1544:                                             ; preds = %1543
  br label %1545

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

1552:                                             ; preds = %1545
  %1553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1554 = call i32 @fileno(ptr noundef %1553) #10
  %1555 = call i32 @isatty(i32 noundef %1554) #10
  %1556 = icmp ne i32 %1555, 0
  br i1 %1556, label %1557, label %1574

1557:                                             ; preds = %1552
  %1558 = load i32, ptr %28, align 4, !tbaa !5
  %1559 = call ptr @__errno_location() #11
  store i32 %1558, ptr %1559, align 4, !tbaa !5
  %1560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1561 = load i32, ptr @test_count, align 4, !tbaa !5
  %1562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1563 = load i32, ptr %1562, align 4, !tbaa !5
  %1564 = call ptr @s2n_strerror(i32 noundef %1563, ptr noundef @.str.10)
  %1565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1566 = load i32, ptr %1565, align 4, !tbaa !5
  %1567 = call ptr @s2n_strerror_debug(i32 noundef %1566, ptr noundef @.str.10)
  %1568 = call ptr @__errno_location() #11
  %1569 = load i32, ptr %1568, align 4, !tbaa !5
  %1570 = call ptr @strerror(i32 noundef %1569) #10
  %1571 = call ptr @__errno_location() #11
  %1572 = load i32, ptr %1571, align 4, !tbaa !5
  %1573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1560, ptr noundef @.str.8, i32 noundef %1561, ptr noundef @.str.28, ptr noundef @.str.7, i32 noundef 75, ptr noundef %1564, ptr noundef %1567, ptr noundef %1570, i32 noundef %1572) #10
  br label %1591

1574:                                             ; preds = %1552, %1545
  %1575 = load i32, ptr %28, align 4, !tbaa !5
  %1576 = call ptr @__errno_location() #11
  store i32 %1575, ptr %1576, align 4, !tbaa !5
  %1577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1578 = load i32, ptr @test_count, align 4, !tbaa !5
  %1579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1580 = load i32, ptr %1579, align 4, !tbaa !5
  %1581 = call ptr @s2n_strerror(i32 noundef %1580, ptr noundef @.str.10)
  %1582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1583 = load i32, ptr %1582, align 4, !tbaa !5
  %1584 = call ptr @s2n_strerror_debug(i32 noundef %1583, ptr noundef @.str.10)
  %1585 = call ptr @__errno_location() #11
  %1586 = load i32, ptr %1585, align 4, !tbaa !5
  %1587 = call ptr @strerror(i32 noundef %1586) #10
  %1588 = call ptr @__errno_location() #11
  %1589 = load i32, ptr %1588, align 4, !tbaa !5
  %1590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1577, ptr noundef @.str.11, i32 noundef %1578, ptr noundef @.str.28, ptr noundef @.str.7, i32 noundef 75, ptr noundef %1581, ptr noundef %1584, ptr noundef %1587, i32 noundef %1589) #10
  br label %1591

1591:                                             ; preds = %1574, %1557
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #10
  br label %1592

1592:                                             ; preds = %1591
  br label %1593

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

1594:                                             ; No predecessors!
  br label %1595

1595:                                             ; preds = %1594
  br label %1596

1596:                                             ; preds = %1595, %1538
  br label %1597

1597:                                             ; preds = %1596
  br label %1598

1598:                                             ; preds = %1597
  br label %1599

1599:                                             ; preds = %1598
  %1600 = load i32, ptr @test_count, align 4, !tbaa !5
  %1601 = add nsw i32 %1600, 1
  store i32 %1601, ptr @test_count, align 4, !tbaa !5
  %1602 = load ptr, ptr %18, align 8, !tbaa !9
  %1603 = call i32 @s2n_queue_reader_handshake_failure_alert(ptr noundef %1602)
  %1604 = icmp eq i32 %1603, -1
  br i1 %1604, label %1605, label %1658

1605:                                             ; preds = %1599
  br label %1606

1606:                                             ; preds = %1605
  br label %1607

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

1614:                                             ; preds = %1607
  %1615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1616 = call i32 @fileno(ptr noundef %1615) #10
  %1617 = call i32 @isatty(i32 noundef %1616) #10
  %1618 = icmp ne i32 %1617, 0
  br i1 %1618, label %1619, label %1636

1619:                                             ; preds = %1614
  %1620 = load i32, ptr %29, align 4, !tbaa !5
  %1621 = call ptr @__errno_location() #11
  store i32 %1620, ptr %1621, 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 @.str.10)
  %1627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1628 = load i32, ptr %1627, align 4, !tbaa !5
  %1629 = call ptr @s2n_strerror_debug(i32 noundef %1628, ptr noundef @.str.10)
  %1630 = call ptr @__errno_location() #11
  %1631 = load i32, ptr %1630, align 4, !tbaa !5
  %1632 = call ptr @strerror(i32 noundef %1631) #10
  %1633 = call ptr @__errno_location() #11
  %1634 = load i32, ptr %1633, align 4, !tbaa !5
  %1635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1622, ptr noundef @.str.8, i32 noundef %1623, ptr noundef @.str.29, ptr noundef @.str.7, i32 noundef 78, ptr noundef %1626, ptr noundef %1629, ptr noundef %1632, i32 noundef %1634) #10
  br label %1653

1636:                                             ; preds = %1614, %1607
  %1637 = load i32, ptr %29, align 4, !tbaa !5
  %1638 = call ptr @__errno_location() #11
  store i32 %1637, ptr %1638, align 4, !tbaa !5
  %1639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1640 = load i32, ptr @test_count, align 4, !tbaa !5
  %1641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1642 = load i32, ptr %1641, align 4, !tbaa !5
  %1643 = call ptr @s2n_strerror(i32 noundef %1642, ptr noundef @.str.10)
  %1644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1645 = load i32, ptr %1644, align 4, !tbaa !5
  %1646 = call ptr @s2n_strerror_debug(i32 noundef %1645, ptr noundef @.str.10)
  %1647 = call ptr @__errno_location() #11
  %1648 = load i32, ptr %1647, align 4, !tbaa !5
  %1649 = call ptr @strerror(i32 noundef %1648) #10
  %1650 = call ptr @__errno_location() #11
  %1651 = load i32, ptr %1650, align 4, !tbaa !5
  %1652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1639, ptr noundef @.str.11, i32 noundef %1640, ptr noundef @.str.29, ptr noundef @.str.7, i32 noundef 78, ptr noundef %1643, ptr noundef %1646, ptr noundef %1649, i32 noundef %1651) #10
  br label %1653

1653:                                             ; preds = %1636, %1619
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #10
  br label %1654

1654:                                             ; preds = %1653
  br label %1655

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

1656:                                             ; No predecessors!
  br label %1657

1657:                                             ; preds = %1656
  br label %1658

1658:                                             ; preds = %1657, %1599
  br label %1659

1659:                                             ; preds = %1658
  br label %1660

1660:                                             ; preds = %1659
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #10
  store i32 0, ptr %30, align 4, !tbaa !5
  br label %1661

1661:                                             ; preds = %1660
  %1662 = load i32, ptr @test_count, align 4, !tbaa !5
  %1663 = add nsw i32 %1662, 1
  store i32 %1663, ptr @test_count, align 4, !tbaa !5
  %1664 = load ptr, ptr %18, align 8, !tbaa !9
  %1665 = call i32 @s2n_shutdown(ptr noundef %1664, ptr noundef %30)
  %1666 = icmp eq i32 %1665, -1
  br i1 %1666, label %1667, label %1720

1667:                                             ; preds = %1661
  br label %1668

1668:                                             ; preds = %1667
  br label %1669

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

1676:                                             ; preds = %1669
  %1677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1678 = call i32 @fileno(ptr noundef %1677) #10
  %1679 = call i32 @isatty(i32 noundef %1678) #10
  %1680 = icmp ne i32 %1679, 0
  br i1 %1680, label %1681, label %1698

1681:                                             ; preds = %1676
  %1682 = load i32, ptr %31, align 4, !tbaa !5
  %1683 = call ptr @__errno_location() #11
  store i32 %1682, ptr %1683, align 4, !tbaa !5
  %1684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1685 = load i32, ptr @test_count, align 4, !tbaa !5
  %1686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1687 = load i32, ptr %1686, align 4, !tbaa !5
  %1688 = call ptr @s2n_strerror(i32 noundef %1687, ptr noundef @.str.10)
  %1689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1690 = load i32, ptr %1689, align 4, !tbaa !5
  %1691 = call ptr @s2n_strerror_debug(i32 noundef %1690, ptr noundef @.str.10)
  %1692 = call ptr @__errno_location() #11
  %1693 = load i32, ptr %1692, align 4, !tbaa !5
  %1694 = call ptr @strerror(i32 noundef %1693) #10
  %1695 = call ptr @__errno_location() #11
  %1696 = load i32, ptr %1695, align 4, !tbaa !5
  %1697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1684, ptr noundef @.str.8, i32 noundef %1685, ptr noundef @.str.30, ptr noundef @.str.7, i32 noundef 81, ptr noundef %1688, ptr noundef %1691, ptr noundef %1694, i32 noundef %1696) #10
  br label %1715

1698:                                             ; preds = %1676, %1669
  %1699 = load i32, ptr %31, align 4, !tbaa !5
  %1700 = call ptr @__errno_location() #11
  store i32 %1699, ptr %1700, align 4, !tbaa !5
  %1701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1702 = load i32, ptr @test_count, align 4, !tbaa !5
  %1703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1704 = load i32, ptr %1703, align 4, !tbaa !5
  %1705 = call ptr @s2n_strerror(i32 noundef %1704, ptr noundef @.str.10)
  %1706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1707 = load i32, ptr %1706, align 4, !tbaa !5
  %1708 = call ptr @s2n_strerror_debug(i32 noundef %1707, ptr noundef @.str.10)
  %1709 = call ptr @__errno_location() #11
  %1710 = load i32, ptr %1709, align 4, !tbaa !5
  %1711 = call ptr @strerror(i32 noundef %1710) #10
  %1712 = call ptr @__errno_location() #11
  %1713 = load i32, ptr %1712, align 4, !tbaa !5
  %1714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1701, ptr noundef @.str.11, i32 noundef %1702, ptr noundef @.str.30, ptr noundef @.str.7, i32 noundef 81, ptr noundef %1705, ptr noundef %1708, ptr noundef %1711, i32 noundef %1713) #10
  br label %1715

1715:                                             ; preds = %1698, %1681
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #10
  br label %1716

1716:                                             ; preds = %1715
  br label %1717

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

1718:                                             ; No predecessors!
  br label %1719

1719:                                             ; preds = %1718
  br label %1720

1720:                                             ; preds = %1719, %1661
  br label %1721

1721:                                             ; preds = %1720
  br label %1722

1722:                                             ; preds = %1721
  br label %1723

1723:                                             ; preds = %1722
  %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 %18, align 8, !tbaa !9
  %1727 = call zeroext i1 @s2n_handshake_is_complete(ptr noundef %1726)
  br i1 %1727, label %1781, label %1728

1728:                                             ; preds = %1723
  br label %1729

1729:                                             ; preds = %1728
  br label %1730

1730:                                             ; preds = %1729
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #10
  %1731 = call ptr @__errno_location() #11
  %1732 = load i32, ptr %1731, align 4, !tbaa !5
  store i32 %1732, ptr %32, align 4, !tbaa !5
  %1733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1734 = call i32 @s2n_print_stacktrace(ptr noundef %1733)
  %1735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1736 = trunc i8 %1735 to i1
  br i1 %1736, label %1737, label %1759

1737:                                             ; preds = %1730
  %1738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1739 = call i32 @fileno(ptr noundef %1738) #10
  %1740 = call i32 @isatty(i32 noundef %1739) #10
  %1741 = icmp ne i32 %1740, 0
  br i1 %1741, label %1742, label %1759

1742:                                             ; preds = %1737
  %1743 = load i32, ptr %32, align 4, !tbaa !5
  %1744 = call ptr @__errno_location() #11
  store i32 %1743, ptr %1744, align 4, !tbaa !5
  %1745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1746 = load i32, ptr @test_count, align 4, !tbaa !5
  %1747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1748 = load i32, ptr %1747, align 4, !tbaa !5
  %1749 = call ptr @s2n_strerror(i32 noundef %1748, ptr noundef @.str.10)
  %1750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1751 = load i32, ptr %1750, align 4, !tbaa !5
  %1752 = call ptr @s2n_strerror_debug(i32 noundef %1751, ptr noundef @.str.10)
  %1753 = call ptr @__errno_location() #11
  %1754 = load i32, ptr %1753, align 4, !tbaa !5
  %1755 = call ptr @strerror(i32 noundef %1754) #10
  %1756 = call ptr @__errno_location() #11
  %1757 = load i32, ptr %1756, align 4, !tbaa !5
  %1758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1745, ptr noundef @.str.8, i32 noundef %1746, ptr noundef @.str.25, ptr noundef @.str.7, i32 noundef 84, ptr noundef %1749, ptr noundef %1752, ptr noundef %1755, i32 noundef %1757) #10
  br label %1776

1759:                                             ; preds = %1737, %1730
  %1760 = load i32, ptr %32, align 4, !tbaa !5
  %1761 = call ptr @__errno_location() #11
  store i32 %1760, ptr %1761, align 4, !tbaa !5
  %1762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1763 = load i32, ptr @test_count, align 4, !tbaa !5
  %1764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1765 = load i32, ptr %1764, align 4, !tbaa !5
  %1766 = call ptr @s2n_strerror(i32 noundef %1765, ptr noundef @.str.10)
  %1767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1768 = load i32, ptr %1767, align 4, !tbaa !5
  %1769 = call ptr @s2n_strerror_debug(i32 noundef %1768, ptr noundef @.str.10)
  %1770 = call ptr @__errno_location() #11
  %1771 = load i32, ptr %1770, align 4, !tbaa !5
  %1772 = call ptr @strerror(i32 noundef %1771) #10
  %1773 = call ptr @__errno_location() #11
  %1774 = load i32, ptr %1773, align 4, !tbaa !5
  %1775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1762, ptr noundef @.str.11, i32 noundef %1763, ptr noundef @.str.25, ptr noundef @.str.7, i32 noundef 84, ptr noundef %1766, ptr noundef %1769, ptr noundef %1772, i32 noundef %1774) #10
  br label %1776

1776:                                             ; preds = %1759, %1742
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #10
  br label %1777

1777:                                             ; preds = %1776
  br label %1778

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

1779:                                             ; No predecessors!
  br label %1780

1780:                                             ; preds = %1779
  br label %1781

1781:                                             ; preds = %1780, %1723
  br label %1782

1782:                                             ; preds = %1781
  br label %1783

1783:                                             ; preds = %1782
  br label %1784

1784:                                             ; preds = %1783
  %1785 = load i32, ptr @test_count, align 4, !tbaa !5
  %1786 = add nsw i32 %1785, 1
  store i32 %1786, ptr @test_count, align 4, !tbaa !5
  %1787 = load ptr, ptr %18, align 8, !tbaa !9
  %1788 = getelementptr inbounds %struct.s2n_connection, ptr %1787, i32 0, i32 51
  %1789 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %1788)
  br i1 %1789, label %1790, label %1843

1790:                                             ; preds = %1784
  br label %1791

1791:                                             ; preds = %1790
  br label %1792

1792:                                             ; preds = %1791
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #10
  %1793 = call ptr @__errno_location() #11
  %1794 = load i32, ptr %1793, align 4, !tbaa !5
  store i32 %1794, ptr %33, align 4, !tbaa !5
  %1795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1796 = call i32 @s2n_print_stacktrace(ptr noundef %1795)
  %1797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1798 = trunc i8 %1797 to i1
  br i1 %1798, label %1799, label %1821

1799:                                             ; preds = %1792
  %1800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1801 = call i32 @fileno(ptr noundef %1800) #10
  %1802 = call i32 @isatty(i32 noundef %1801) #10
  %1803 = icmp ne i32 %1802, 0
  br i1 %1803, label %1804, label %1821

1804:                                             ; preds = %1799
  %1805 = load i32, ptr %33, align 4, !tbaa !5
  %1806 = call ptr @__errno_location() #11
  store i32 %1805, ptr %1806, align 4, !tbaa !5
  %1807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1808 = load i32, ptr @test_count, align 4, !tbaa !5
  %1809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1810 = load i32, ptr %1809, align 4, !tbaa !5
  %1811 = call ptr @s2n_strerror(i32 noundef %1810, ptr noundef @.str.10)
  %1812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1813 = load i32, ptr %1812, align 4, !tbaa !5
  %1814 = call ptr @s2n_strerror_debug(i32 noundef %1813, ptr noundef @.str.10)
  %1815 = call ptr @__errno_location() #11
  %1816 = load i32, ptr %1815, align 4, !tbaa !5
  %1817 = call ptr @strerror(i32 noundef %1816) #10
  %1818 = call ptr @__errno_location() #11
  %1819 = load i32, ptr %1818, align 4, !tbaa !5
  %1820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1807, ptr noundef @.str.8, i32 noundef %1808, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 85, ptr noundef %1811, ptr noundef %1814, ptr noundef %1817, i32 noundef %1819) #10
  br label %1838

1821:                                             ; preds = %1799, %1792
  %1822 = load i32, ptr %33, align 4, !tbaa !5
  %1823 = call ptr @__errno_location() #11
  store i32 %1822, ptr %1823, align 4, !tbaa !5
  %1824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1825 = load i32, ptr @test_count, align 4, !tbaa !5
  %1826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1827 = load i32, ptr %1826, align 4, !tbaa !5
  %1828 = call ptr @s2n_strerror(i32 noundef %1827, ptr noundef @.str.10)
  %1829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1830 = load i32, ptr %1829, align 4, !tbaa !5
  %1831 = call ptr @s2n_strerror_debug(i32 noundef %1830, ptr noundef @.str.10)
  %1832 = call ptr @__errno_location() #11
  %1833 = load i32, ptr %1832, align 4, !tbaa !5
  %1834 = call ptr @strerror(i32 noundef %1833) #10
  %1835 = call ptr @__errno_location() #11
  %1836 = load i32, ptr %1835, align 4, !tbaa !5
  %1837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1824, ptr noundef @.str.11, i32 noundef %1825, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 85, ptr noundef %1828, ptr noundef %1831, ptr noundef %1834, i32 noundef %1836) #10
  br label %1838

1838:                                             ; preds = %1821, %1804
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #10
  br label %1839

1839:                                             ; preds = %1838
  br label %1840

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

1841:                                             ; No predecessors!
  br label %1842

1842:                                             ; preds = %1841
  br label %1843

1843:                                             ; preds = %1842, %1784
  br label %1844

1844:                                             ; preds = %1843
  br label %1845

1845:                                             ; preds = %1844
  br label %1846

1846:                                             ; preds = %1845
  %1847 = load i32, ptr @test_count, align 4, !tbaa !5
  %1848 = add nsw i32 %1847, 1
  store i32 %1848, ptr @test_count, align 4, !tbaa !5
  %1849 = load ptr, ptr %18, align 8, !tbaa !9
  %1850 = getelementptr inbounds %struct.s2n_connection, ptr %1849, i32 0, i32 49
  %1851 = load i8, ptr %1850, align 1, !tbaa !16, !range !13, !noundef !14
  %1852 = trunc i8 %1851 to i1
  br i1 %1852, label %1906, label %1853

1853:                                             ; preds = %1846
  br label %1854

1854:                                             ; preds = %1853
  br label %1855

1855:                                             ; preds = %1854
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #10
  %1856 = call ptr @__errno_location() #11
  %1857 = load i32, ptr %1856, align 4, !tbaa !5
  store i32 %1857, ptr %34, align 4, !tbaa !5
  %1858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1859 = call i32 @s2n_print_stacktrace(ptr noundef %1858)
  %1860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1861 = trunc i8 %1860 to i1
  br i1 %1861, label %1862, label %1884

1862:                                             ; preds = %1855
  %1863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1864 = call i32 @fileno(ptr noundef %1863) #10
  %1865 = call i32 @isatty(i32 noundef %1864) #10
  %1866 = icmp ne i32 %1865, 0
  br i1 %1866, label %1867, label %1884

1867:                                             ; preds = %1862
  %1868 = load i32, ptr %34, align 4, !tbaa !5
  %1869 = call ptr @__errno_location() #11
  store i32 %1868, ptr %1869, align 4, !tbaa !5
  %1870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1871 = load i32, ptr @test_count, align 4, !tbaa !5
  %1872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1873 = load i32, ptr %1872, align 4, !tbaa !5
  %1874 = call ptr @s2n_strerror(i32 noundef %1873, ptr noundef @.str.10)
  %1875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1876 = load i32, ptr %1875, align 4, !tbaa !5
  %1877 = call ptr @s2n_strerror_debug(i32 noundef %1876, ptr noundef @.str.10)
  %1878 = call ptr @__errno_location() #11
  %1879 = load i32, ptr %1878, align 4, !tbaa !5
  %1880 = call ptr @strerror(i32 noundef %1879) #10
  %1881 = call ptr @__errno_location() #11
  %1882 = load i32, ptr %1881, align 4, !tbaa !5
  %1883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1870, ptr noundef @.str.8, i32 noundef %1871, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 86, ptr noundef %1874, ptr noundef %1877, ptr noundef %1880, i32 noundef %1882) #10
  br label %1901

1884:                                             ; preds = %1862, %1855
  %1885 = load i32, ptr %34, align 4, !tbaa !5
  %1886 = call ptr @__errno_location() #11
  store i32 %1885, ptr %1886, align 4, !tbaa !5
  %1887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1888 = load i32, ptr @test_count, align 4, !tbaa !5
  %1889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1890 = load i32, ptr %1889, align 4, !tbaa !5
  %1891 = call ptr @s2n_strerror(i32 noundef %1890, ptr noundef @.str.10)
  %1892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1893 = load i32, ptr %1892, align 4, !tbaa !5
  %1894 = call ptr @s2n_strerror_debug(i32 noundef %1893, ptr noundef @.str.10)
  %1895 = call ptr @__errno_location() #11
  %1896 = load i32, ptr %1895, align 4, !tbaa !5
  %1897 = call ptr @strerror(i32 noundef %1896) #10
  %1898 = call ptr @__errno_location() #11
  %1899 = load i32, ptr %1898, align 4, !tbaa !5
  %1900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1887, ptr noundef @.str.11, i32 noundef %1888, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 86, ptr noundef %1891, ptr noundef %1894, ptr noundef %1897, i32 noundef %1899) #10
  br label %1901

1901:                                             ; preds = %1884, %1867
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #10
  br label %1902

1902:                                             ; preds = %1901
  br label %1903

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

1904:                                             ; No predecessors!
  br label %1905

1905:                                             ; preds = %1904
  br label %1906

1906:                                             ; preds = %1905, %1846
  br label %1907

1907:                                             ; preds = %1906
  br label %1908

1908:                                             ; preds = %1907
  br label %1909

1909:                                             ; preds = %1908
  %1910 = load i32, ptr @test_count, align 4, !tbaa !5
  %1911 = add nsw i32 %1910, 1
  store i32 %1911, ptr @test_count, align 4, !tbaa !5
  %1912 = load ptr, ptr %18, align 8, !tbaa !9
  %1913 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %1912, i32 noundef 3)
  br i1 %1913, label %1967, label %1914

1914:                                             ; preds = %1909
  br label %1915

1915:                                             ; preds = %1914
  br label %1916

1916:                                             ; preds = %1915
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #10
  %1917 = call ptr @__errno_location() #11
  %1918 = load i32, ptr %1917, align 4, !tbaa !5
  store i32 %1918, ptr %35, align 4, !tbaa !5
  %1919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1920 = call i32 @s2n_print_stacktrace(ptr noundef %1919)
  %1921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1922 = trunc i8 %1921 to i1
  br i1 %1922, label %1923, label %1945

1923:                                             ; preds = %1916
  %1924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1925 = call i32 @fileno(ptr noundef %1924) #10
  %1926 = call i32 @isatty(i32 noundef %1925) #10
  %1927 = icmp ne i32 %1926, 0
  br i1 %1927, label %1928, label %1945

1928:                                             ; preds = %1923
  %1929 = load i32, ptr %35, align 4, !tbaa !5
  %1930 = call ptr @__errno_location() #11
  store i32 %1929, ptr %1930, align 4, !tbaa !5
  %1931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1932 = load i32, ptr @test_count, align 4, !tbaa !5
  %1933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1934 = load i32, ptr %1933, align 4, !tbaa !5
  %1935 = call ptr @s2n_strerror(i32 noundef %1934, ptr noundef @.str.10)
  %1936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1937 = load i32, ptr %1936, align 4, !tbaa !5
  %1938 = call ptr @s2n_strerror_debug(i32 noundef %1937, ptr noundef @.str.10)
  %1939 = call ptr @__errno_location() #11
  %1940 = load i32, ptr %1939, align 4, !tbaa !5
  %1941 = call ptr @strerror(i32 noundef %1940) #10
  %1942 = call ptr @__errno_location() #11
  %1943 = load i32, ptr %1942, align 4, !tbaa !5
  %1944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1931, ptr noundef @.str.8, i32 noundef %1932, ptr noundef @.str.32, ptr noundef @.str.7, i32 noundef 87, ptr noundef %1935, ptr noundef %1938, ptr noundef %1941, i32 noundef %1943) #10
  br label %1962

1945:                                             ; preds = %1923, %1916
  %1946 = load i32, ptr %35, align 4, !tbaa !5
  %1947 = call ptr @__errno_location() #11
  store i32 %1946, ptr %1947, align 4, !tbaa !5
  %1948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1949 = load i32, ptr @test_count, align 4, !tbaa !5
  %1950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1951 = load i32, ptr %1950, align 4, !tbaa !5
  %1952 = call ptr @s2n_strerror(i32 noundef %1951, ptr noundef @.str.10)
  %1953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1954 = load i32, ptr %1953, align 4, !tbaa !5
  %1955 = call ptr @s2n_strerror_debug(i32 noundef %1954, ptr noundef @.str.10)
  %1956 = call ptr @__errno_location() #11
  %1957 = load i32, ptr %1956, align 4, !tbaa !5
  %1958 = call ptr @strerror(i32 noundef %1957) #10
  %1959 = call ptr @__errno_location() #11
  %1960 = load i32, ptr %1959, align 4, !tbaa !5
  %1961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1948, ptr noundef @.str.11, i32 noundef %1949, ptr noundef @.str.32, ptr noundef @.str.7, i32 noundef 87, ptr noundef %1952, ptr noundef %1955, ptr noundef %1958, i32 noundef %1960) #10
  br label %1962

1962:                                             ; preds = %1945, %1928
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #10
  br label %1963

1963:                                             ; preds = %1962
  br label %1964

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

1965:                                             ; No predecessors!
  br label %1966

1966:                                             ; preds = %1965
  br label %1967

1967:                                             ; preds = %1966, %1909
  br label %1968

1968:                                             ; preds = %1967
  br label %1969

1969:                                             ; preds = %1968
  br label %1970

1970:                                             ; preds = %1969
  %1971 = load i32, ptr @test_count, align 4, !tbaa !5
  %1972 = add nsw i32 %1971, 1
  store i32 %1972, ptr @test_count, align 4, !tbaa !5
  %1973 = getelementptr inbounds %struct.s2n_stuffer, ptr %22, i32 0, i32 2
  %1974 = load i32, ptr %1973, align 4, !tbaa !43
  %1975 = getelementptr inbounds %struct.s2n_stuffer, ptr %22, i32 0, i32 1
  %1976 = load i32, ptr %1975, align 8, !tbaa !44
  %1977 = sub i32 %1974, %1976
  %1978 = icmp eq i32 %1977, 7
  br i1 %1978, label %2032, label %1979

1979:                                             ; preds = %1970
  br label %1980

1980:                                             ; preds = %1979
  br label %1981

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

1988:                                             ; preds = %1981
  %1989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1990 = call i32 @fileno(ptr noundef %1989) #10
  %1991 = call i32 @isatty(i32 noundef %1990) #10
  %1992 = icmp ne i32 %1991, 0
  br i1 %1992, label %1993, label %2010

1993:                                             ; preds = %1988
  %1994 = load i32, ptr %36, align 4, !tbaa !5
  %1995 = call ptr @__errno_location() #11
  store i32 %1994, ptr %1995, align 4, !tbaa !5
  %1996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1997 = load i32, ptr @test_count, align 4, !tbaa !5
  %1998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1999 = load i32, ptr %1998, align 4, !tbaa !5
  %2000 = call ptr @s2n_strerror(i32 noundef %1999, ptr noundef @.str.10)
  %2001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2002 = load i32, ptr %2001, align 4, !tbaa !5
  %2003 = call ptr @s2n_strerror_debug(i32 noundef %2002, ptr noundef @.str.10)
  %2004 = call ptr @__errno_location() #11
  %2005 = load i32, ptr %2004, align 4, !tbaa !5
  %2006 = call ptr @strerror(i32 noundef %2005) #10
  %2007 = call ptr @__errno_location() #11
  %2008 = load i32, ptr %2007, align 4, !tbaa !5
  %2009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1996, ptr noundef @.str.8, i32 noundef %1997, ptr noundef @.str.33, ptr noundef @.str.7, i32 noundef 90, ptr noundef %2000, ptr noundef %2003, ptr noundef %2006, i32 noundef %2008) #10
  br label %2027

2010:                                             ; preds = %1988, %1981
  %2011 = load i32, ptr %36, align 4, !tbaa !5
  %2012 = call ptr @__errno_location() #11
  store i32 %2011, ptr %2012, align 4, !tbaa !5
  %2013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2014 = load i32, ptr @test_count, align 4, !tbaa !5
  %2015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2016 = load i32, ptr %2015, align 4, !tbaa !5
  %2017 = call ptr @s2n_strerror(i32 noundef %2016, ptr noundef @.str.10)
  %2018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2019 = load i32, ptr %2018, align 4, !tbaa !5
  %2020 = call ptr @s2n_strerror_debug(i32 noundef %2019, ptr noundef @.str.10)
  %2021 = call ptr @__errno_location() #11
  %2022 = load i32, ptr %2021, align 4, !tbaa !5
  %2023 = call ptr @strerror(i32 noundef %2022) #10
  %2024 = call ptr @__errno_location() #11
  %2025 = load i32, ptr %2024, align 4, !tbaa !5
  %2026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2013, ptr noundef @.str.11, i32 noundef %2014, ptr noundef @.str.33, ptr noundef @.str.7, i32 noundef 90, ptr noundef %2017, ptr noundef %2020, ptr noundef %2023, i32 noundef %2025) #10
  br label %2027

2027:                                             ; preds = %2010, %1993
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #10
  br label %2028

2028:                                             ; preds = %2027
  br label %2029

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

2030:                                             ; No predecessors!
  br label %2031

2031:                                             ; preds = %2030
  br label %2032

2032:                                             ; preds = %2031, %1970
  br label %2033

2033:                                             ; preds = %2032
  br label %2034

2034:                                             ; preds = %2033
  call void @llvm.lifetime.start.p0(i64 1, ptr %37) #10
  store i8 0, ptr %37, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr %38) #10
  store i8 0, ptr %38, align 1, !tbaa !15
  br label %2035

2035:                                             ; preds = %2034
  %2036 = load i32, ptr @test_count, align 4, !tbaa !5
  %2037 = add nsw i32 %2036, 1
  store i32 %2037, ptr @test_count, align 4, !tbaa !5
  %2038 = call i32 @s2n_stuffer_skip_read(ptr noundef %22, i32 noundef 5)
  %2039 = icmp eq i32 %2038, -1
  br i1 %2039, label %2040, label %2093

2040:                                             ; preds = %2035
  br label %2041

2041:                                             ; preds = %2040
  br label %2042

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

2049:                                             ; preds = %2042
  %2050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2051 = call i32 @fileno(ptr noundef %2050) #10
  %2052 = call i32 @isatty(i32 noundef %2051) #10
  %2053 = icmp ne i32 %2052, 0
  br i1 %2053, label %2054, label %2071

2054:                                             ; preds = %2049
  %2055 = load i32, ptr %39, align 4, !tbaa !5
  %2056 = call ptr @__errno_location() #11
  store i32 %2055, ptr %2056, align 4, !tbaa !5
  %2057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2058 = load i32, ptr @test_count, align 4, !tbaa !5
  %2059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2060 = load i32, ptr %2059, align 4, !tbaa !5
  %2061 = call ptr @s2n_strerror(i32 noundef %2060, ptr noundef @.str.10)
  %2062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2063 = load i32, ptr %2062, align 4, !tbaa !5
  %2064 = call ptr @s2n_strerror_debug(i32 noundef %2063, ptr noundef @.str.10)
  %2065 = call ptr @__errno_location() #11
  %2066 = load i32, ptr %2065, align 4, !tbaa !5
  %2067 = call ptr @strerror(i32 noundef %2066) #10
  %2068 = call ptr @__errno_location() #11
  %2069 = load i32, ptr %2068, align 4, !tbaa !5
  %2070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2057, ptr noundef @.str.8, i32 noundef %2058, ptr noundef @.str.34, ptr noundef @.str.7, i32 noundef 94, ptr noundef %2061, ptr noundef %2064, ptr noundef %2067, i32 noundef %2069) #10
  br label %2088

2071:                                             ; preds = %2049, %2042
  %2072 = load i32, ptr %39, align 4, !tbaa !5
  %2073 = call ptr @__errno_location() #11
  store i32 %2072, ptr %2073, align 4, !tbaa !5
  %2074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2075 = load i32, ptr @test_count, align 4, !tbaa !5
  %2076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2077 = load i32, ptr %2076, align 4, !tbaa !5
  %2078 = call ptr @s2n_strerror(i32 noundef %2077, ptr noundef @.str.10)
  %2079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2080 = load i32, ptr %2079, align 4, !tbaa !5
  %2081 = call ptr @s2n_strerror_debug(i32 noundef %2080, ptr noundef @.str.10)
  %2082 = call ptr @__errno_location() #11
  %2083 = load i32, ptr %2082, align 4, !tbaa !5
  %2084 = call ptr @strerror(i32 noundef %2083) #10
  %2085 = call ptr @__errno_location() #11
  %2086 = load i32, ptr %2085, align 4, !tbaa !5
  %2087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2074, ptr noundef @.str.11, i32 noundef %2075, ptr noundef @.str.34, ptr noundef @.str.7, i32 noundef 94, ptr noundef %2078, ptr noundef %2081, ptr noundef %2084, i32 noundef %2086) #10
  br label %2088

2088:                                             ; preds = %2071, %2054
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #10
  br label %2089

2089:                                             ; preds = %2088
  br label %2090

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

2091:                                             ; No predecessors!
  br label %2092

2092:                                             ; preds = %2091
  br label %2093

2093:                                             ; preds = %2092, %2035
  br label %2094

2094:                                             ; preds = %2093
  br label %2095

2095:                                             ; preds = %2094
  br label %2096

2096:                                             ; preds = %2095
  %2097 = load i32, ptr @test_count, align 4, !tbaa !5
  %2098 = add nsw i32 %2097, 1
  store i32 %2098, ptr @test_count, align 4, !tbaa !5
  %2099 = call i32 @s2n_stuffer_read_uint8(ptr noundef %22, ptr noundef %37)
  %2100 = icmp eq i32 %2099, -1
  br i1 %2100, label %2101, label %2154

2101:                                             ; preds = %2096
  br label %2102

2102:                                             ; preds = %2101
  br label %2103

2103:                                             ; preds = %2102
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #10
  %2104 = call ptr @__errno_location() #11
  %2105 = load i32, ptr %2104, align 4, !tbaa !5
  store i32 %2105, ptr %40, align 4, !tbaa !5
  %2106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2107 = call i32 @s2n_print_stacktrace(ptr noundef %2106)
  %2108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2109 = trunc i8 %2108 to i1
  br i1 %2109, label %2110, label %2132

2110:                                             ; preds = %2103
  %2111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2112 = call i32 @fileno(ptr noundef %2111) #10
  %2113 = call i32 @isatty(i32 noundef %2112) #10
  %2114 = icmp ne i32 %2113, 0
  br i1 %2114, label %2115, label %2132

2115:                                             ; preds = %2110
  %2116 = load i32, ptr %40, align 4, !tbaa !5
  %2117 = call ptr @__errno_location() #11
  store i32 %2116, ptr %2117, align 4, !tbaa !5
  %2118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2119 = load i32, ptr @test_count, align 4, !tbaa !5
  %2120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2121 = load i32, ptr %2120, align 4, !tbaa !5
  %2122 = call ptr @s2n_strerror(i32 noundef %2121, ptr noundef @.str.10)
  %2123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2124 = load i32, ptr %2123, align 4, !tbaa !5
  %2125 = call ptr @s2n_strerror_debug(i32 noundef %2124, ptr noundef @.str.10)
  %2126 = call ptr @__errno_location() #11
  %2127 = load i32, ptr %2126, align 4, !tbaa !5
  %2128 = call ptr @strerror(i32 noundef %2127) #10
  %2129 = call ptr @__errno_location() #11
  %2130 = load i32, ptr %2129, align 4, !tbaa !5
  %2131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2118, ptr noundef @.str.8, i32 noundef %2119, ptr noundef @.str.35, ptr noundef @.str.7, i32 noundef 95, ptr noundef %2122, ptr noundef %2125, ptr noundef %2128, i32 noundef %2130) #10
  br label %2149

2132:                                             ; preds = %2110, %2103
  %2133 = load i32, ptr %40, align 4, !tbaa !5
  %2134 = call ptr @__errno_location() #11
  store i32 %2133, ptr %2134, align 4, !tbaa !5
  %2135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2136 = load i32, ptr @test_count, align 4, !tbaa !5
  %2137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2138 = load i32, ptr %2137, align 4, !tbaa !5
  %2139 = call ptr @s2n_strerror(i32 noundef %2138, ptr noundef @.str.10)
  %2140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2141 = load i32, ptr %2140, align 4, !tbaa !5
  %2142 = call ptr @s2n_strerror_debug(i32 noundef %2141, ptr noundef @.str.10)
  %2143 = call ptr @__errno_location() #11
  %2144 = load i32, ptr %2143, align 4, !tbaa !5
  %2145 = call ptr @strerror(i32 noundef %2144) #10
  %2146 = call ptr @__errno_location() #11
  %2147 = load i32, ptr %2146, align 4, !tbaa !5
  %2148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2135, ptr noundef @.str.11, i32 noundef %2136, ptr noundef @.str.35, ptr noundef @.str.7, i32 noundef 95, ptr noundef %2139, ptr noundef %2142, ptr noundef %2145, i32 noundef %2147) #10
  br label %2149

2149:                                             ; preds = %2132, %2115
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #10
  br label %2150

2150:                                             ; preds = %2149
  br label %2151

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

2152:                                             ; No predecessors!
  br label %2153

2153:                                             ; preds = %2152
  br label %2154

2154:                                             ; preds = %2153, %2096
  br label %2155

2155:                                             ; preds = %2154
  br label %2156

2156:                                             ; preds = %2155
  br label %2157

2157:                                             ; preds = %2156
  %2158 = load i32, ptr @test_count, align 4, !tbaa !5
  %2159 = add nsw i32 %2158, 1
  store i32 %2159, ptr @test_count, align 4, !tbaa !5
  %2160 = load i8, ptr %37, align 1, !tbaa !15
  %2161 = zext i8 %2160 to i32
  %2162 = icmp eq i32 %2161, 2
  br i1 %2162, label %2216, label %2163

2163:                                             ; preds = %2157
  br label %2164

2164:                                             ; preds = %2163
  br label %2165

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

2172:                                             ; preds = %2165
  %2173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2174 = call i32 @fileno(ptr noundef %2173) #10
  %2175 = call i32 @isatty(i32 noundef %2174) #10
  %2176 = icmp ne i32 %2175, 0
  br i1 %2176, label %2177, label %2194

2177:                                             ; preds = %2172
  %2178 = load i32, ptr %41, align 4, !tbaa !5
  %2179 = call ptr @__errno_location() #11
  store i32 %2178, ptr %2179, align 4, !tbaa !5
  %2180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2181 = load i32, ptr @test_count, align 4, !tbaa !5
  %2182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2183 = load i32, ptr %2182, align 4, !tbaa !5
  %2184 = call ptr @s2n_strerror(i32 noundef %2183, ptr noundef @.str.10)
  %2185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2186 = load i32, ptr %2185, align 4, !tbaa !5
  %2187 = call ptr @s2n_strerror_debug(i32 noundef %2186, ptr noundef @.str.10)
  %2188 = call ptr @__errno_location() #11
  %2189 = load i32, ptr %2188, align 4, !tbaa !5
  %2190 = call ptr @strerror(i32 noundef %2189) #10
  %2191 = call ptr @__errno_location() #11
  %2192 = load i32, ptr %2191, align 4, !tbaa !5
  %2193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2180, ptr noundef @.str.8, i32 noundef %2181, ptr noundef @.str.36, ptr noundef @.str.7, i32 noundef 96, ptr noundef %2184, ptr noundef %2187, ptr noundef %2190, i32 noundef %2192) #10
  br label %2211

2194:                                             ; preds = %2172, %2165
  %2195 = load i32, ptr %41, align 4, !tbaa !5
  %2196 = call ptr @__errno_location() #11
  store i32 %2195, ptr %2196, align 4, !tbaa !5
  %2197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2198 = load i32, ptr @test_count, align 4, !tbaa !5
  %2199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2200 = load i32, ptr %2199, align 4, !tbaa !5
  %2201 = call ptr @s2n_strerror(i32 noundef %2200, ptr noundef @.str.10)
  %2202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2203 = load i32, ptr %2202, align 4, !tbaa !5
  %2204 = call ptr @s2n_strerror_debug(i32 noundef %2203, ptr noundef @.str.10)
  %2205 = call ptr @__errno_location() #11
  %2206 = load i32, ptr %2205, align 4, !tbaa !5
  %2207 = call ptr @strerror(i32 noundef %2206) #10
  %2208 = call ptr @__errno_location() #11
  %2209 = load i32, ptr %2208, align 4, !tbaa !5
  %2210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2197, ptr noundef @.str.11, i32 noundef %2198, ptr noundef @.str.36, ptr noundef @.str.7, i32 noundef 96, ptr noundef %2201, ptr noundef %2204, ptr noundef %2207, i32 noundef %2209) #10
  br label %2211

2211:                                             ; preds = %2194, %2177
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #10
  br label %2212

2212:                                             ; preds = %2211
  br label %2213

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

2214:                                             ; No predecessors!
  br label %2215

2215:                                             ; preds = %2214
  br label %2216

2216:                                             ; preds = %2215, %2157
  br label %2217

2217:                                             ; preds = %2216
  br label %2218

2218:                                             ; preds = %2217
  br label %2219

2219:                                             ; preds = %2218
  %2220 = load i32, ptr @test_count, align 4, !tbaa !5
  %2221 = add nsw i32 %2220, 1
  store i32 %2221, ptr @test_count, align 4, !tbaa !5
  %2222 = call i32 @s2n_stuffer_read_uint8(ptr noundef %22, ptr noundef %38)
  %2223 = icmp eq i32 %2222, -1
  br i1 %2223, label %2224, label %2277

2224:                                             ; preds = %2219
  br label %2225

2225:                                             ; preds = %2224
  br label %2226

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

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

2238:                                             ; preds = %2233
  %2239 = load i32, ptr %42, align 4, !tbaa !5
  %2240 = call ptr @__errno_location() #11
  store i32 %2239, ptr %2240, align 4, !tbaa !5
  %2241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2242 = load i32, ptr @test_count, align 4, !tbaa !5
  %2243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2244 = load i32, ptr %2243, align 4, !tbaa !5
  %2245 = call ptr @s2n_strerror(i32 noundef %2244, ptr noundef @.str.10)
  %2246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2247 = load i32, ptr %2246, align 4, !tbaa !5
  %2248 = call ptr @s2n_strerror_debug(i32 noundef %2247, ptr noundef @.str.10)
  %2249 = call ptr @__errno_location() #11
  %2250 = load i32, ptr %2249, align 4, !tbaa !5
  %2251 = call ptr @strerror(i32 noundef %2250) #10
  %2252 = call ptr @__errno_location() #11
  %2253 = load i32, ptr %2252, align 4, !tbaa !5
  %2254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2241, ptr noundef @.str.8, i32 noundef %2242, ptr noundef @.str.37, ptr noundef @.str.7, i32 noundef 97, ptr noundef %2245, ptr noundef %2248, ptr noundef %2251, i32 noundef %2253) #10
  br label %2272

2255:                                             ; preds = %2233, %2226
  %2256 = load i32, ptr %42, align 4, !tbaa !5
  %2257 = call ptr @__errno_location() #11
  store i32 %2256, ptr %2257, align 4, !tbaa !5
  %2258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2259 = load i32, ptr @test_count, align 4, !tbaa !5
  %2260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2261 = load i32, ptr %2260, align 4, !tbaa !5
  %2262 = call ptr @s2n_strerror(i32 noundef %2261, ptr noundef @.str.10)
  %2263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2264 = load i32, ptr %2263, align 4, !tbaa !5
  %2265 = call ptr @s2n_strerror_debug(i32 noundef %2264, ptr noundef @.str.10)
  %2266 = call ptr @__errno_location() #11
  %2267 = load i32, ptr %2266, align 4, !tbaa !5
  %2268 = call ptr @strerror(i32 noundef %2267) #10
  %2269 = call ptr @__errno_location() #11
  %2270 = load i32, ptr %2269, align 4, !tbaa !5
  %2271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2258, ptr noundef @.str.11, i32 noundef %2259, ptr noundef @.str.37, ptr noundef @.str.7, i32 noundef 97, ptr noundef %2262, ptr noundef %2265, ptr noundef %2268, i32 noundef %2270) #10
  br label %2272

2272:                                             ; preds = %2255, %2238
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #10
  br label %2273

2273:                                             ; preds = %2272
  br label %2274

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

2275:                                             ; No predecessors!
  br label %2276

2276:                                             ; preds = %2275
  br label %2277

2277:                                             ; preds = %2276, %2219
  br label %2278

2278:                                             ; preds = %2277
  br label %2279

2279:                                             ; preds = %2278
  br label %2280

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

2286:                                             ; preds = %2280
  br label %2287

2287:                                             ; preds = %2286
  br label %2288

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

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

2300:                                             ; preds = %2295
  %2301 = load i32, ptr %43, align 4, !tbaa !5
  %2302 = call ptr @__errno_location() #11
  store i32 %2301, ptr %2302, align 4, !tbaa !5
  %2303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2304 = load i32, ptr @test_count, align 4, !tbaa !5
  %2305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2306 = load i32, ptr %2305, align 4, !tbaa !5
  %2307 = call ptr @s2n_strerror(i32 noundef %2306, ptr noundef @.str.10)
  %2308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2309 = load i32, ptr %2308, align 4, !tbaa !5
  %2310 = call ptr @s2n_strerror_debug(i32 noundef %2309, ptr noundef @.str.10)
  %2311 = call ptr @__errno_location() #11
  %2312 = load i32, ptr %2311, align 4, !tbaa !5
  %2313 = call ptr @strerror(i32 noundef %2312) #10
  %2314 = call ptr @__errno_location() #11
  %2315 = load i32, ptr %2314, align 4, !tbaa !5
  %2316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2303, ptr noundef @.str.8, i32 noundef %2304, ptr noundef @.str.38, ptr noundef @.str.7, i32 noundef 98, ptr noundef %2307, ptr noundef %2310, ptr noundef %2313, i32 noundef %2315) #10
  br label %2334

2317:                                             ; preds = %2295, %2288
  %2318 = load i32, ptr %43, align 4, !tbaa !5
  %2319 = call ptr @__errno_location() #11
  store i32 %2318, ptr %2319, align 4, !tbaa !5
  %2320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2321 = load i32, ptr @test_count, align 4, !tbaa !5
  %2322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2323 = load i32, ptr %2322, align 4, !tbaa !5
  %2324 = call ptr @s2n_strerror(i32 noundef %2323, ptr noundef @.str.10)
  %2325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2326 = load i32, ptr %2325, align 4, !tbaa !5
  %2327 = call ptr @s2n_strerror_debug(i32 noundef %2326, ptr noundef @.str.10)
  %2328 = call ptr @__errno_location() #11
  %2329 = load i32, ptr %2328, align 4, !tbaa !5
  %2330 = call ptr @strerror(i32 noundef %2329) #10
  %2331 = call ptr @__errno_location() #11
  %2332 = load i32, ptr %2331, align 4, !tbaa !5
  %2333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2320, ptr noundef @.str.11, i32 noundef %2321, ptr noundef @.str.38, ptr noundef @.str.7, i32 noundef 98, ptr noundef %2324, ptr noundef %2327, ptr noundef %2330, i32 noundef %2332) #10
  br label %2334

2334:                                             ; preds = %2317, %2300
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #10
  br label %2335

2335:                                             ; preds = %2334
  br label %2336

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

2337:                                             ; No predecessors!
  br label %2338

2338:                                             ; preds = %2337
  br label %2339

2339:                                             ; preds = %2338, %2280
  br label %2340

2340:                                             ; preds = %2339
  br label %2341

2341:                                             ; preds = %2340
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %37) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #10
  %2342 = call i32 @s2n_stuffer_free(ptr noundef %22)
  call void @llvm.lifetime.end.p0(i64 40, ptr %22) #10
  %2343 = call i32 @s2n_connection_ptr_free(ptr noundef %18)
  %2344 = getelementptr inbounds %struct.s2n_result, ptr %44, i32 0, i32 0
  store i32 %2343, ptr %2344, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #10
  %2345 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2345, ptr %45, align 8, !tbaa !9
  br label %2346

2346:                                             ; preds = %2341
  %2347 = load i32, ptr @test_count, align 4, !tbaa !5
  %2348 = add nsw i32 %2347, 1
  store i32 %2348, ptr @test_count, align 4, !tbaa !5
  %2349 = load ptr, ptr %45, align 8, !tbaa !9
  %2350 = icmp eq ptr %2349, null
  br i1 %2350, label %2351, label %2404

2351:                                             ; preds = %2346
  br label %2352

2352:                                             ; preds = %2351
  br label %2353

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

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

2365:                                             ; preds = %2360
  %2366 = load i32, ptr %46, align 4, !tbaa !5
  %2367 = call ptr @__errno_location() #11
  store i32 %2366, ptr %2367, align 4, !tbaa !5
  %2368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2369 = load i32, ptr @test_count, align 4, !tbaa !5
  %2370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2371 = load i32, ptr %2370, align 4, !tbaa !5
  %2372 = call ptr @s2n_strerror(i32 noundef %2371, ptr noundef @.str.10)
  %2373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2374 = load i32, ptr %2373, align 4, !tbaa !5
  %2375 = call ptr @s2n_strerror_debug(i32 noundef %2374, ptr noundef @.str.10)
  %2376 = call ptr @__errno_location() #11
  %2377 = load i32, ptr %2376, align 4, !tbaa !5
  %2378 = call ptr @strerror(i32 noundef %2377) #10
  %2379 = call ptr @__errno_location() #11
  %2380 = load i32, ptr %2379, align 4, !tbaa !5
  %2381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2368, ptr noundef @.str.8, i32 noundef %2369, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 105, ptr noundef %2372, ptr noundef %2375, ptr noundef %2378, i32 noundef %2380) #10
  br label %2399

2382:                                             ; preds = %2360, %2353
  %2383 = load i32, ptr %46, align 4, !tbaa !5
  %2384 = call ptr @__errno_location() #11
  store i32 %2383, ptr %2384, align 4, !tbaa !5
  %2385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2386 = load i32, ptr @test_count, align 4, !tbaa !5
  %2387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2388 = load i32, ptr %2387, align 4, !tbaa !5
  %2389 = call ptr @s2n_strerror(i32 noundef %2388, ptr noundef @.str.10)
  %2390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2391 = load i32, ptr %2390, align 4, !tbaa !5
  %2392 = call ptr @s2n_strerror_debug(i32 noundef %2391, ptr noundef @.str.10)
  %2393 = call ptr @__errno_location() #11
  %2394 = load i32, ptr %2393, align 4, !tbaa !5
  %2395 = call ptr @strerror(i32 noundef %2394) #10
  %2396 = call ptr @__errno_location() #11
  %2397 = load i32, ptr %2396, align 4, !tbaa !5
  %2398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2385, ptr noundef @.str.11, i32 noundef %2386, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 105, ptr noundef %2389, ptr noundef %2392, ptr noundef %2395, i32 noundef %2397) #10
  br label %2399

2399:                                             ; preds = %2382, %2365
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #10
  br label %2400

2400:                                             ; preds = %2399
  br label %2401

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

2402:                                             ; No predecessors!
  br label %2403

2403:                                             ; preds = %2402
  br label %2404

2404:                                             ; preds = %2403, %2346
  br label %2405

2405:                                             ; preds = %2404
  br label %2406

2406:                                             ; preds = %2405
  br label %2407

2407:                                             ; preds = %2406
  %2408 = load i32, ptr @test_count, align 4, !tbaa !5
  %2409 = add nsw i32 %2408, 1
  store i32 %2409, ptr @test_count, align 4, !tbaa !5
  %2410 = load ptr, ptr %45, align 8, !tbaa !9
  %2411 = call i32 @s2n_skip_handshake(ptr noundef %2410)
  %2412 = getelementptr inbounds %struct.s2n_result, ptr %47, i32 0, i32 0
  store i32 %2411, ptr %2412, align 4
  %2413 = getelementptr inbounds %struct.s2n_result, ptr %47, i32 0, i32 0
  %2414 = load i32, ptr %2413, align 4
  %2415 = call zeroext i1 @s2n_result_is_ok(i32 %2414)
  br i1 %2415, label %2469, label %2416

2416:                                             ; preds = %2407
  br label %2417

2417:                                             ; preds = %2416
  br label %2418

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

2425:                                             ; preds = %2418
  %2426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2427 = call i32 @fileno(ptr noundef %2426) #10
  %2428 = call i32 @isatty(i32 noundef %2427) #10
  %2429 = icmp ne i32 %2428, 0
  br i1 %2429, label %2430, label %2447

2430:                                             ; preds = %2425
  %2431 = load i32, ptr %48, align 4, !tbaa !5
  %2432 = call ptr @__errno_location() #11
  store i32 %2431, ptr %2432, align 4, !tbaa !5
  %2433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2434 = load i32, ptr @test_count, align 4, !tbaa !5
  %2435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2436 = load i32, ptr %2435, align 4, !tbaa !5
  %2437 = call ptr @s2n_strerror(i32 noundef %2436, ptr noundef @.str.10)
  %2438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2439 = load i32, ptr %2438, align 4, !tbaa !5
  %2440 = call ptr @s2n_strerror_debug(i32 noundef %2439, ptr noundef @.str.10)
  %2441 = call ptr @__errno_location() #11
  %2442 = load i32, ptr %2441, align 4, !tbaa !5
  %2443 = call ptr @strerror(i32 noundef %2442) #10
  %2444 = call ptr @__errno_location() #11
  %2445 = load i32, ptr %2444, align 4, !tbaa !5
  %2446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2433, ptr noundef @.str.8, i32 noundef %2434, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 106, ptr noundef %2437, ptr noundef %2440, ptr noundef %2443, i32 noundef %2445) #10
  br label %2464

2447:                                             ; preds = %2425, %2418
  %2448 = load i32, ptr %48, align 4, !tbaa !5
  %2449 = call ptr @__errno_location() #11
  store i32 %2448, ptr %2449, align 4, !tbaa !5
  %2450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2451 = load i32, ptr @test_count, align 4, !tbaa !5
  %2452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2453 = load i32, ptr %2452, align 4, !tbaa !5
  %2454 = call ptr @s2n_strerror(i32 noundef %2453, ptr noundef @.str.10)
  %2455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2456 = load i32, ptr %2455, align 4, !tbaa !5
  %2457 = call ptr @s2n_strerror_debug(i32 noundef %2456, ptr noundef @.str.10)
  %2458 = call ptr @__errno_location() #11
  %2459 = load i32, ptr %2458, align 4, !tbaa !5
  %2460 = call ptr @strerror(i32 noundef %2459) #10
  %2461 = call ptr @__errno_location() #11
  %2462 = load i32, ptr %2461, align 4, !tbaa !5
  %2463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2450, ptr noundef @.str.11, i32 noundef %2451, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 106, ptr noundef %2454, ptr noundef %2457, ptr noundef %2460, i32 noundef %2462) #10
  br label %2464

2464:                                             ; preds = %2447, %2430
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #10
  br label %2465

2465:                                             ; preds = %2464
  br label %2466

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

2467:                                             ; No predecessors!
  br label %2468

2468:                                             ; preds = %2467
  br label %2469

2469:                                             ; preds = %2468, %2407
  br label %2470

2470:                                             ; preds = %2469
  br label %2471

2471:                                             ; preds = %2470
  call void @llvm.lifetime.start.p0(i64 40, ptr %49) #10
  call void @llvm.memset.p0.i64(ptr align 8 %49, i8 0, i64 40, i1 false)
  br label %2472

2472:                                             ; preds = %2471
  %2473 = load i32, ptr @test_count, align 4, !tbaa !5
  %2474 = add nsw i32 %2473, 1
  store i32 %2474, ptr @test_count, align 4, !tbaa !5
  %2475 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %49, i32 noundef 0)
  %2476 = icmp eq i32 %2475, -1
  br i1 %2476, label %2477, label %2530

2477:                                             ; preds = %2472
  br label %2478

2478:                                             ; preds = %2477
  br label %2479

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

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

2491:                                             ; preds = %2486
  %2492 = load i32, ptr %50, align 4, !tbaa !5
  %2493 = call ptr @__errno_location() #11
  store i32 %2492, ptr %2493, align 4, !tbaa !5
  %2494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2495 = load i32, ptr @test_count, align 4, !tbaa !5
  %2496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2497 = load i32, ptr %2496, align 4, !tbaa !5
  %2498 = call ptr @s2n_strerror(i32 noundef %2497, ptr noundef @.str.10)
  %2499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2500 = load i32, ptr %2499, align 4, !tbaa !5
  %2501 = call ptr @s2n_strerror_debug(i32 noundef %2500, ptr noundef @.str.10)
  %2502 = call ptr @__errno_location() #11
  %2503 = load i32, ptr %2502, align 4, !tbaa !5
  %2504 = call ptr @strerror(i32 noundef %2503) #10
  %2505 = call ptr @__errno_location() #11
  %2506 = load i32, ptr %2505, align 4, !tbaa !5
  %2507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2494, ptr noundef @.str.8, i32 noundef %2495, ptr noundef @.str.39, ptr noundef @.str.7, i32 noundef 109, ptr noundef %2498, ptr noundef %2501, ptr noundef %2504, i32 noundef %2506) #10
  br label %2525

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

2525:                                             ; preds = %2508, %2491
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #10
  br label %2526

2526:                                             ; preds = %2525
  br label %2527

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

2528:                                             ; No predecessors!
  br label %2529

2529:                                             ; preds = %2528
  br label %2530

2530:                                             ; preds = %2529, %2472
  br label %2531

2531:                                             ; preds = %2530
  br label %2532

2532:                                             ; preds = %2531
  call void @llvm.lifetime.start.p0(i64 40, ptr %51) #10
  call void @llvm.memset.p0.i64(ptr align 8 %51, i8 0, i64 40, i1 false)
  br label %2533

2533:                                             ; preds = %2532
  %2534 = load i32, ptr @test_count, align 4, !tbaa !5
  %2535 = add nsw i32 %2534, 1
  store i32 %2535, ptr @test_count, align 4, !tbaa !5
  %2536 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %51, i32 noundef 0)
  %2537 = icmp eq i32 %2536, -1
  br i1 %2537, label %2538, label %2591

2538:                                             ; preds = %2533
  br label %2539

2539:                                             ; preds = %2538
  br label %2540

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

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

2552:                                             ; preds = %2547
  %2553 = load i32, ptr %52, align 4, !tbaa !5
  %2554 = call ptr @__errno_location() #11
  store i32 %2553, ptr %2554, align 4, !tbaa !5
  %2555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2556 = load i32, ptr @test_count, align 4, !tbaa !5
  %2557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2558 = load i32, ptr %2557, align 4, !tbaa !5
  %2559 = call ptr @s2n_strerror(i32 noundef %2558, ptr noundef @.str.10)
  %2560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2561 = load i32, ptr %2560, align 4, !tbaa !5
  %2562 = call ptr @s2n_strerror_debug(i32 noundef %2561, ptr noundef @.str.10)
  %2563 = call ptr @__errno_location() #11
  %2564 = load i32, ptr %2563, align 4, !tbaa !5
  %2565 = call ptr @strerror(i32 noundef %2564) #10
  %2566 = call ptr @__errno_location() #11
  %2567 = load i32, ptr %2566, align 4, !tbaa !5
  %2568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2555, ptr noundef @.str.8, i32 noundef %2556, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 111, ptr noundef %2559, ptr noundef %2562, ptr noundef %2565, i32 noundef %2567) #10
  br label %2586

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

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

2587:                                             ; preds = %2586
  br label %2588

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

2589:                                             ; No predecessors!
  br label %2590

2590:                                             ; preds = %2589
  br label %2591

2591:                                             ; preds = %2590, %2533
  br label %2592

2592:                                             ; preds = %2591
  br label %2593

2593:                                             ; preds = %2592
  br label %2594

2594:                                             ; preds = %2593
  %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 %45, align 8, !tbaa !9
  %2598 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %49, ptr noundef %51, ptr noundef %2597)
  %2599 = icmp eq i32 %2598, -1
  br i1 %2599, label %2600, label %2653

2600:                                             ; preds = %2594
  br label %2601

2601:                                             ; preds = %2600
  br label %2602

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

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

2614:                                             ; preds = %2609
  %2615 = load i32, ptr %53, align 4, !tbaa !5
  %2616 = call ptr @__errno_location() #11
  store i32 %2615, ptr %2616, align 4, !tbaa !5
  %2617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2618 = load i32, ptr @test_count, align 4, !tbaa !5
  %2619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2620 = load i32, ptr %2619, align 4, !tbaa !5
  %2621 = call ptr @s2n_strerror(i32 noundef %2620, ptr noundef @.str.10)
  %2622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2623 = load i32, ptr %2622, align 4, !tbaa !5
  %2624 = call ptr @s2n_strerror_debug(i32 noundef %2623, ptr noundef @.str.10)
  %2625 = call ptr @__errno_location() #11
  %2626 = load i32, ptr %2625, align 4, !tbaa !5
  %2627 = call ptr @strerror(i32 noundef %2626) #10
  %2628 = call ptr @__errno_location() #11
  %2629 = load i32, ptr %2628, align 4, !tbaa !5
  %2630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2617, ptr noundef @.str.8, i32 noundef %2618, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 112, ptr noundef %2621, ptr noundef %2624, ptr noundef %2627, i32 noundef %2629) #10
  br label %2648

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

2648:                                             ; preds = %2631, %2614
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #10
  br label %2649

2649:                                             ; preds = %2648
  br label %2650

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

2651:                                             ; No predecessors!
  br label %2652

2652:                                             ; preds = %2651
  br label %2653

2653:                                             ; preds = %2652, %2594
  br label %2654

2654:                                             ; preds = %2653
  br label %2655

2655:                                             ; preds = %2654
  br label %2656

2656:                                             ; preds = %2655
  %2657 = load i32, ptr @test_count, align 4, !tbaa !5
  %2658 = add nsw i32 %2657, 1
  store i32 %2658, ptr @test_count, align 4, !tbaa !5
  %2659 = load ptr, ptr %45, align 8, !tbaa !9
  %2660 = call zeroext i1 @s2n_handshake_is_complete(ptr noundef %2659)
  br i1 %2660, label %2714, label %2661

2661:                                             ; preds = %2656
  br label %2662

2662:                                             ; preds = %2661
  br label %2663

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

2670:                                             ; preds = %2663
  %2671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2672 = call i32 @fileno(ptr noundef %2671) #10
  %2673 = call i32 @isatty(i32 noundef %2672) #10
  %2674 = icmp ne i32 %2673, 0
  br i1 %2674, label %2675, label %2692

2675:                                             ; preds = %2670
  %2676 = load i32, ptr %54, align 4, !tbaa !5
  %2677 = call ptr @__errno_location() #11
  store i32 %2676, ptr %2677, align 4, !tbaa !5
  %2678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2679 = load i32, ptr @test_count, align 4, !tbaa !5
  %2680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2681 = load i32, ptr %2680, align 4, !tbaa !5
  %2682 = call ptr @s2n_strerror(i32 noundef %2681, ptr noundef @.str.10)
  %2683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2684 = load i32, ptr %2683, align 4, !tbaa !5
  %2685 = call ptr @s2n_strerror_debug(i32 noundef %2684, ptr noundef @.str.10)
  %2686 = call ptr @__errno_location() #11
  %2687 = load i32, ptr %2686, align 4, !tbaa !5
  %2688 = call ptr @strerror(i32 noundef %2687) #10
  %2689 = call ptr @__errno_location() #11
  %2690 = load i32, ptr %2689, align 4, !tbaa !5
  %2691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2678, ptr noundef @.str.8, i32 noundef %2679, ptr noundef @.str.25, ptr noundef @.str.7, i32 noundef 115, ptr noundef %2682, ptr noundef %2685, ptr noundef %2688, i32 noundef %2690) #10
  br label %2709

2692:                                             ; preds = %2670, %2663
  %2693 = load i32, ptr %54, align 4, !tbaa !5
  %2694 = call ptr @__errno_location() #11
  store i32 %2693, ptr %2694, align 4, !tbaa !5
  %2695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2696 = load i32, ptr @test_count, align 4, !tbaa !5
  %2697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2698 = load i32, ptr %2697, align 4, !tbaa !5
  %2699 = call ptr @s2n_strerror(i32 noundef %2698, ptr noundef @.str.10)
  %2700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2701 = load i32, ptr %2700, align 4, !tbaa !5
  %2702 = call ptr @s2n_strerror_debug(i32 noundef %2701, ptr noundef @.str.10)
  %2703 = call ptr @__errno_location() #11
  %2704 = load i32, ptr %2703, align 4, !tbaa !5
  %2705 = call ptr @strerror(i32 noundef %2704) #10
  %2706 = call ptr @__errno_location() #11
  %2707 = load i32, ptr %2706, align 4, !tbaa !5
  %2708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2695, ptr noundef @.str.11, i32 noundef %2696, ptr noundef @.str.25, ptr noundef @.str.7, i32 noundef 115, ptr noundef %2699, ptr noundef %2702, ptr noundef %2705, i32 noundef %2707) #10
  br label %2709

2709:                                             ; preds = %2692, %2675
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #10
  br label %2710

2710:                                             ; preds = %2709
  br label %2711

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

2712:                                             ; No predecessors!
  br label %2713

2713:                                             ; preds = %2712
  br label %2714

2714:                                             ; preds = %2713, %2656
  br label %2715

2715:                                             ; preds = %2714
  br label %2716

2716:                                             ; preds = %2715
  br label %2717

2717:                                             ; preds = %2716
  %2718 = load i32, ptr @test_count, align 4, !tbaa !5
  %2719 = add nsw i32 %2718, 1
  store i32 %2719, ptr @test_count, align 4, !tbaa !5
  %2720 = load ptr, ptr %45, align 8, !tbaa !9
  %2721 = getelementptr inbounds %struct.s2n_connection, ptr %2720, i32 0, i32 51
  %2722 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %2721)
  br i1 %2722, label %2723, label %2776

2723:                                             ; preds = %2717
  br label %2724

2724:                                             ; preds = %2723
  br label %2725

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

2732:                                             ; preds = %2725
  %2733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2734 = call i32 @fileno(ptr noundef %2733) #10
  %2735 = call i32 @isatty(i32 noundef %2734) #10
  %2736 = icmp ne i32 %2735, 0
  br i1 %2736, label %2737, label %2754

2737:                                             ; preds = %2732
  %2738 = load i32, ptr %55, align 4, !tbaa !5
  %2739 = call ptr @__errno_location() #11
  store i32 %2738, ptr %2739, align 4, !tbaa !5
  %2740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2741 = load i32, ptr @test_count, align 4, !tbaa !5
  %2742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2743 = load i32, ptr %2742, align 4, !tbaa !5
  %2744 = call ptr @s2n_strerror(i32 noundef %2743, ptr noundef @.str.10)
  %2745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2746 = load i32, ptr %2745, align 4, !tbaa !5
  %2747 = call ptr @s2n_strerror_debug(i32 noundef %2746, ptr noundef @.str.10)
  %2748 = call ptr @__errno_location() #11
  %2749 = load i32, ptr %2748, align 4, !tbaa !5
  %2750 = call ptr @strerror(i32 noundef %2749) #10
  %2751 = call ptr @__errno_location() #11
  %2752 = load i32, ptr %2751, align 4, !tbaa !5
  %2753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2740, ptr noundef @.str.8, i32 noundef %2741, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 116, ptr noundef %2744, ptr noundef %2747, ptr noundef %2750, i32 noundef %2752) #10
  br label %2771

2754:                                             ; preds = %2732, %2725
  %2755 = load i32, ptr %55, align 4, !tbaa !5
  %2756 = call ptr @__errno_location() #11
  store i32 %2755, ptr %2756, align 4, !tbaa !5
  %2757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2758 = load i32, ptr @test_count, align 4, !tbaa !5
  %2759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2760 = load i32, ptr %2759, align 4, !tbaa !5
  %2761 = call ptr @s2n_strerror(i32 noundef %2760, ptr noundef @.str.10)
  %2762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2763 = load i32, ptr %2762, align 4, !tbaa !5
  %2764 = call ptr @s2n_strerror_debug(i32 noundef %2763, ptr noundef @.str.10)
  %2765 = call ptr @__errno_location() #11
  %2766 = load i32, ptr %2765, align 4, !tbaa !5
  %2767 = call ptr @strerror(i32 noundef %2766) #10
  %2768 = call ptr @__errno_location() #11
  %2769 = load i32, ptr %2768, align 4, !tbaa !5
  %2770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2757, ptr noundef @.str.11, i32 noundef %2758, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 116, ptr noundef %2761, ptr noundef %2764, ptr noundef %2767, i32 noundef %2769) #10
  br label %2771

2771:                                             ; preds = %2754, %2737
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #10
  br label %2772

2772:                                             ; preds = %2771
  br label %2773

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

2774:                                             ; No predecessors!
  br label %2775

2775:                                             ; preds = %2774
  br label %2776

2776:                                             ; preds = %2775, %2717
  br label %2777

2777:                                             ; preds = %2776
  br label %2778

2778:                                             ; preds = %2777
  br label %2779

2779:                                             ; preds = %2778
  %2780 = load i32, ptr @test_count, align 4, !tbaa !5
  %2781 = add nsw i32 %2780, 1
  store i32 %2781, ptr @test_count, align 4, !tbaa !5
  %2782 = load ptr, ptr %45, align 8, !tbaa !9
  %2783 = getelementptr inbounds %struct.s2n_connection, ptr %2782, i32 0, i32 49
  %2784 = load i8, ptr %2783, align 1, !tbaa !16, !range !13, !noundef !14
  %2785 = trunc i8 %2784 to i1
  br i1 %2785, label %2786, label %2839

2786:                                             ; preds = %2779
  br label %2787

2787:                                             ; preds = %2786
  br label %2788

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

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

2800:                                             ; preds = %2795
  %2801 = load i32, ptr %56, align 4, !tbaa !5
  %2802 = call ptr @__errno_location() #11
  store i32 %2801, ptr %2802, align 4, !tbaa !5
  %2803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2804 = load i32, ptr @test_count, align 4, !tbaa !5
  %2805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2806 = load i32, ptr %2805, align 4, !tbaa !5
  %2807 = call ptr @s2n_strerror(i32 noundef %2806, ptr noundef @.str.10)
  %2808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2809 = load i32, ptr %2808, align 4, !tbaa !5
  %2810 = call ptr @s2n_strerror_debug(i32 noundef %2809, ptr noundef @.str.10)
  %2811 = call ptr @__errno_location() #11
  %2812 = load i32, ptr %2811, align 4, !tbaa !5
  %2813 = call ptr @strerror(i32 noundef %2812) #10
  %2814 = call ptr @__errno_location() #11
  %2815 = load i32, ptr %2814, align 4, !tbaa !5
  %2816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2803, ptr noundef @.str.8, i32 noundef %2804, ptr noundef @.str.27, ptr noundef @.str.7, i32 noundef 117, ptr noundef %2807, ptr noundef %2810, ptr noundef %2813, i32 noundef %2815) #10
  br label %2834

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

2834:                                             ; preds = %2817, %2800
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #10
  br label %2835

2835:                                             ; preds = %2834
  br label %2836

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

2837:                                             ; No predecessors!
  br label %2838

2838:                                             ; preds = %2837
  br label %2839

2839:                                             ; preds = %2838, %2779
  br label %2840

2840:                                             ; preds = %2839
  br label %2841

2841:                                             ; preds = %2840
  br label %2842

2842:                                             ; preds = %2841
  %2843 = load i32, ptr @test_count, align 4, !tbaa !5
  %2844 = add nsw i32 %2843, 1
  store i32 %2844, ptr @test_count, align 4, !tbaa !5
  %2845 = load ptr, ptr %45, align 8, !tbaa !9
  %2846 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %2845, i32 noundef 2)
  br i1 %2846, label %2900, label %2847

2847:                                             ; preds = %2842
  br label %2848

2848:                                             ; preds = %2847
  br label %2849

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

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

2861:                                             ; preds = %2856
  %2862 = load i32, ptr %57, align 4, !tbaa !5
  %2863 = call ptr @__errno_location() #11
  store i32 %2862, ptr %2863, align 4, !tbaa !5
  %2864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2865 = load i32, ptr @test_count, align 4, !tbaa !5
  %2866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2867 = load i32, ptr %2866, align 4, !tbaa !5
  %2868 = call ptr @s2n_strerror(i32 noundef %2867, ptr noundef @.str.10)
  %2869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2870 = load i32, ptr %2869, align 4, !tbaa !5
  %2871 = call ptr @s2n_strerror_debug(i32 noundef %2870, ptr noundef @.str.10)
  %2872 = call ptr @__errno_location() #11
  %2873 = load i32, ptr %2872, align 4, !tbaa !5
  %2874 = call ptr @strerror(i32 noundef %2873) #10
  %2875 = call ptr @__errno_location() #11
  %2876 = load i32, ptr %2875, align 4, !tbaa !5
  %2877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2864, ptr noundef @.str.8, i32 noundef %2865, ptr noundef @.str.28, ptr noundef @.str.7, i32 noundef 118, ptr noundef %2868, ptr noundef %2871, ptr noundef %2874, i32 noundef %2876) #10
  br label %2895

2878:                                             ; preds = %2856, %2849
  %2879 = load i32, ptr %57, align 4, !tbaa !5
  %2880 = call ptr @__errno_location() #11
  store i32 %2879, ptr %2880, align 4, !tbaa !5
  %2881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2882 = load i32, ptr @test_count, align 4, !tbaa !5
  %2883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2884 = load i32, ptr %2883, align 4, !tbaa !5
  %2885 = call ptr @s2n_strerror(i32 noundef %2884, ptr noundef @.str.10)
  %2886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2887 = load i32, ptr %2886, align 4, !tbaa !5
  %2888 = call ptr @s2n_strerror_debug(i32 noundef %2887, ptr noundef @.str.10)
  %2889 = call ptr @__errno_location() #11
  %2890 = load i32, ptr %2889, align 4, !tbaa !5
  %2891 = call ptr @strerror(i32 noundef %2890) #10
  %2892 = call ptr @__errno_location() #11
  %2893 = load i32, ptr %2892, align 4, !tbaa !5
  %2894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2881, ptr noundef @.str.11, i32 noundef %2882, ptr noundef @.str.28, ptr noundef @.str.7, i32 noundef 118, ptr noundef %2885, ptr noundef %2888, ptr noundef %2891, i32 noundef %2893) #10
  br label %2895

2895:                                             ; preds = %2878, %2861
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #10
  br label %2896

2896:                                             ; preds = %2895
  br label %2897

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

2898:                                             ; No predecessors!
  br label %2899

2899:                                             ; preds = %2898
  br label %2900

2900:                                             ; preds = %2899, %2842
  br label %2901

2901:                                             ; preds = %2900
  br label %2902

2902:                                             ; preds = %2901
  br label %2903

2903:                                             ; preds = %2902
  %2904 = load i32, ptr @test_count, align 4, !tbaa !5
  %2905 = add nsw i32 %2904, 1
  store i32 %2905, ptr @test_count, align 4, !tbaa !5
  %2906 = load ptr, ptr %45, align 8, !tbaa !9
  %2907 = call i32 @s2n_queue_reader_no_renegotiation_alert(ptr noundef %2906)
  %2908 = getelementptr inbounds %struct.s2n_result, ptr %58, i32 0, i32 0
  store i32 %2907, ptr %2908, align 4
  %2909 = getelementptr inbounds %struct.s2n_result, ptr %58, i32 0, i32 0
  %2910 = load i32, ptr %2909, align 4
  %2911 = call zeroext i1 @s2n_result_is_ok(i32 %2910)
  br i1 %2911, label %2965, label %2912

2912:                                             ; preds = %2903
  br label %2913

2913:                                             ; preds = %2912
  br label %2914

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

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

2926:                                             ; preds = %2921
  %2927 = load i32, ptr %59, align 4, !tbaa !5
  %2928 = call ptr @__errno_location() #11
  store i32 %2927, ptr %2928, align 4, !tbaa !5
  %2929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2930 = load i32, ptr @test_count, align 4, !tbaa !5
  %2931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2932 = load i32, ptr %2931, align 4, !tbaa !5
  %2933 = call ptr @s2n_strerror(i32 noundef %2932, ptr noundef @.str.10)
  %2934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2935 = load i32, ptr %2934, align 4, !tbaa !5
  %2936 = call ptr @s2n_strerror_debug(i32 noundef %2935, ptr noundef @.str.10)
  %2937 = call ptr @__errno_location() #11
  %2938 = load i32, ptr %2937, align 4, !tbaa !5
  %2939 = call ptr @strerror(i32 noundef %2938) #10
  %2940 = call ptr @__errno_location() #11
  %2941 = load i32, ptr %2940, align 4, !tbaa !5
  %2942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2929, ptr noundef @.str.8, i32 noundef %2930, ptr noundef @.str.41, ptr noundef @.str.7, i32 noundef 121, ptr noundef %2933, ptr noundef %2936, ptr noundef %2939, i32 noundef %2941) #10
  br label %2960

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

2960:                                             ; preds = %2943, %2926
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #10
  br label %2961

2961:                                             ; preds = %2960
  br label %2962

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

2963:                                             ; No predecessors!
  br label %2964

2964:                                             ; preds = %2963
  br label %2965

2965:                                             ; preds = %2964, %2903
  br label %2966

2966:                                             ; preds = %2965
  br label %2967

2967:                                             ; preds = %2966
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #10
  store i32 0, ptr %60, align 4, !tbaa !5
  br label %2968

2968:                                             ; preds = %2967
  br label %2969

2969:                                             ; preds = %2968
  br label %2970

2970:                                             ; preds = %2969
  %2971 = load i32, ptr @test_count, align 4, !tbaa !5
  %2972 = add nsw i32 %2971, 1
  store i32 %2972, ptr @test_count, align 4, !tbaa !5
  %2973 = load ptr, ptr %45, align 8, !tbaa !9
  %2974 = call i32 @s2n_shutdown(ptr noundef %2973, ptr noundef %60)
  %2975 = icmp eq i32 %2974, -1
  br i1 %2975, label %3029, label %2976

2976:                                             ; preds = %2970
  br label %2977

2977:                                             ; preds = %2976
  br label %2978

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

2985:                                             ; preds = %2978
  %2986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2987 = call i32 @fileno(ptr noundef %2986) #10
  %2988 = call i32 @isatty(i32 noundef %2987) #10
  %2989 = icmp ne i32 %2988, 0
  br i1 %2989, label %2990, label %3007

2990:                                             ; preds = %2985
  %2991 = load i32, ptr %61, align 4, !tbaa !5
  %2992 = call ptr @__errno_location() #11
  store i32 %2991, ptr %2992, align 4, !tbaa !5
  %2993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2994 = load i32, ptr @test_count, align 4, !tbaa !5
  %2995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2996 = load i32, ptr %2995, align 4, !tbaa !5
  %2997 = call ptr @s2n_strerror(i32 noundef %2996, ptr noundef @.str.10)
  %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_debug(i32 noundef %2999, ptr noundef @.str.10)
  %3001 = call ptr @__errno_location() #11
  %3002 = load i32, ptr %3001, align 4, !tbaa !5
  %3003 = call ptr @strerror(i32 noundef %3002) #10
  %3004 = call ptr @__errno_location() #11
  %3005 = load i32, ptr %3004, align 4, !tbaa !5
  %3006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2993, ptr noundef @.str.8, i32 noundef %2994, ptr noundef @.str.42, ptr noundef @.str.7, i32 noundef 125, ptr noundef %2997, ptr noundef %3000, ptr noundef %3003, i32 noundef %3005) #10
  br label %3024

3007:                                             ; preds = %2985, %2978
  %3008 = load i32, ptr %61, align 4, !tbaa !5
  %3009 = call ptr @__errno_location() #11
  store i32 %3008, ptr %3009, align 4, !tbaa !5
  %3010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3011 = load i32, ptr @test_count, align 4, !tbaa !5
  %3012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3013 = load i32, ptr %3012, align 4, !tbaa !5
  %3014 = call ptr @s2n_strerror(i32 noundef %3013, ptr noundef @.str.10)
  %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_debug(i32 noundef %3016, ptr noundef @.str.10)
  %3018 = call ptr @__errno_location() #11
  %3019 = load i32, ptr %3018, align 4, !tbaa !5
  %3020 = call ptr @strerror(i32 noundef %3019) #10
  %3021 = call ptr @__errno_location() #11
  %3022 = load i32, ptr %3021, align 4, !tbaa !5
  %3023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3010, ptr noundef @.str.11, i32 noundef %3011, ptr noundef @.str.42, ptr noundef @.str.7, i32 noundef 125, ptr noundef %3014, ptr noundef %3017, ptr noundef %3020, i32 noundef %3022) #10
  br label %3024

3024:                                             ; preds = %3007, %2990
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #10
  br label %3025

3025:                                             ; preds = %3024
  br label %3026

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

3027:                                             ; No predecessors!
  br label %3028

3028:                                             ; preds = %3027
  br label %3029

3029:                                             ; preds = %3028, %2970
  br label %3030

3030:                                             ; preds = %3029
  br label %3031

3031:                                             ; preds = %3030
  br label %3032

3032:                                             ; preds = %3031
  %3033 = load i32, ptr @test_count, align 4, !tbaa !5
  %3034 = add nsw i32 %3033, 1
  store i32 %3034, ptr @test_count, align 4, !tbaa !5
  %3035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3036 = load i32, ptr %3035, align 4, !tbaa !5
  %3037 = icmp eq i32 %3036, 201326592
  br i1 %3037, label %3091, label %3038

3038:                                             ; preds = %3032
  br label %3039

3039:                                             ; preds = %3038
  br label %3040

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

3047:                                             ; preds = %3040
  %3048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3049 = call i32 @fileno(ptr noundef %3048) #10
  %3050 = call i32 @isatty(i32 noundef %3049) #10
  %3051 = icmp ne i32 %3050, 0
  br i1 %3051, label %3052, label %3069

3052:                                             ; preds = %3047
  %3053 = load i32, ptr %62, align 4, !tbaa !5
  %3054 = call ptr @__errno_location() #11
  store i32 %3053, ptr %3054, align 4, !tbaa !5
  %3055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3056 = load i32, ptr @test_count, align 4, !tbaa !5
  %3057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3058 = load i32, ptr %3057, align 4, !tbaa !5
  %3059 = call ptr @s2n_strerror(i32 noundef %3058, ptr noundef @.str.10)
  %3060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3061 = load i32, ptr %3060, align 4, !tbaa !5
  %3062 = call ptr @s2n_strerror_debug(i32 noundef %3061, ptr noundef @.str.10)
  %3063 = call ptr @__errno_location() #11
  %3064 = load i32, ptr %3063, align 4, !tbaa !5
  %3065 = call ptr @strerror(i32 noundef %3064) #10
  %3066 = call ptr @__errno_location() #11
  %3067 = load i32, ptr %3066, align 4, !tbaa !5
  %3068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3055, ptr noundef @.str.8, i32 noundef %3056, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 125, ptr noundef %3059, ptr noundef %3062, ptr noundef %3065, i32 noundef %3067) #10
  br label %3086

3069:                                             ; preds = %3047, %3040
  %3070 = load i32, ptr %62, align 4, !tbaa !5
  %3071 = call ptr @__errno_location() #11
  store i32 %3070, ptr %3071, align 4, !tbaa !5
  %3072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3073 = load i32, ptr @test_count, align 4, !tbaa !5
  %3074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3075 = load i32, ptr %3074, align 4, !tbaa !5
  %3076 = call ptr @s2n_strerror(i32 noundef %3075, ptr noundef @.str.10)
  %3077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3078 = load i32, ptr %3077, align 4, !tbaa !5
  %3079 = call ptr @s2n_strerror_debug(i32 noundef %3078, ptr noundef @.str.10)
  %3080 = call ptr @__errno_location() #11
  %3081 = load i32, ptr %3080, align 4, !tbaa !5
  %3082 = call ptr @strerror(i32 noundef %3081) #10
  %3083 = call ptr @__errno_location() #11
  %3084 = load i32, ptr %3083, align 4, !tbaa !5
  %3085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3072, ptr noundef @.str.11, i32 noundef %3073, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 125, ptr noundef %3076, ptr noundef %3079, ptr noundef %3082, i32 noundef %3084) #10
  br label %3086

3086:                                             ; preds = %3069, %3052
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #10
  br label %3087

3087:                                             ; preds = %3086
  br label %3088

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

3089:                                             ; No predecessors!
  br label %3090

3090:                                             ; preds = %3089
  br label %3091

3091:                                             ; preds = %3090, %3032
  br label %3092

3092:                                             ; preds = %3091
  br label %3093

3093:                                             ; preds = %3092
  br label %3094

3094:                                             ; preds = %3093
  %3095 = load i32, ptr @test_count, align 4, !tbaa !5
  %3096 = add nsw i32 %3095, 1
  store i32 %3096, ptr @test_count, align 4, !tbaa !5
  %3097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3098 = load i32, ptr %3097, align 4, !tbaa !5
  %3099 = call ptr @s2n_strerror_debug(i32 noundef %3098, ptr noundef @.str.10)
  %3100 = icmp eq ptr %3099, null
  br i1 %3100, label %3101, label %3154

3101:                                             ; preds = %3094
  br label %3102

3102:                                             ; preds = %3101
  br label %3103

3103:                                             ; preds = %3102
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #10
  %3104 = call ptr @__errno_location() #11
  %3105 = load i32, ptr %3104, align 4, !tbaa !5
  store i32 %3105, ptr %63, 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) #10
  %3113 = call i32 @isatty(i32 noundef %3112) #10
  %3114 = icmp ne i32 %3113, 0
  br i1 %3114, label %3115, label %3132

3115:                                             ; preds = %3110
  %3116 = load i32, ptr %63, align 4, !tbaa !5
  %3117 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %3126 = call ptr @__errno_location() #11
  %3127 = load i32, ptr %3126, align 4, !tbaa !5
  %3128 = call ptr @strerror(i32 noundef %3127) #10
  %3129 = call ptr @__errno_location() #11
  %3130 = load i32, ptr %3129, align 4, !tbaa !5
  %3131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3118, ptr noundef @.str.8, i32 noundef %3119, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 125, ptr noundef %3122, ptr noundef %3125, ptr noundef %3128, i32 noundef %3130) #10
  br label %3149

3132:                                             ; preds = %3110, %3103
  %3133 = load i32, ptr %63, align 4, !tbaa !5
  %3134 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %3143 = call ptr @__errno_location() #11
  %3144 = load i32, ptr %3143, align 4, !tbaa !5
  %3145 = call ptr @strerror(i32 noundef %3144) #10
  %3146 = call ptr @__errno_location() #11
  %3147 = load i32, ptr %3146, align 4, !tbaa !5
  %3148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3135, ptr noundef @.str.11, i32 noundef %3136, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 125, ptr noundef %3139, ptr noundef %3142, ptr noundef %3145, i32 noundef %3147) #10
  br label %3149

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

3150:                                             ; preds = %3149
  br label %3151

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

3152:                                             ; No predecessors!
  br label %3153

3153:                                             ; preds = %3152
  br label %3154

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

3155:                                             ; preds = %3154
  br label %3156

3156:                                             ; preds = %3155
  br label %3157

3157:                                             ; preds = %3156
  br label %3158

3158:                                             ; preds = %3157
  br label %3159

3159:                                             ; preds = %3158
  %3160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3160, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3161 = call ptr @__errno_location() #11
  store i32 0, ptr %3161, align 4, !tbaa !5
  br label %3162

3162:                                             ; preds = %3159
  br label %3163

3163:                                             ; preds = %3162
  br label %3164

3164:                                             ; preds = %3163
  br label %3165

3165:                                             ; preds = %3164
  br label %3166

3166:                                             ; preds = %3165
  %3167 = load i32, ptr @test_count, align 4, !tbaa !5
  %3168 = add nsw i32 %3167, 1
  store i32 %3168, ptr @test_count, align 4, !tbaa !5
  %3169 = load i32, ptr %60, align 4, !tbaa !5
  %3170 = icmp eq i32 %3169, 1
  br i1 %3170, label %3224, label %3171

3171:                                             ; preds = %3166
  br label %3172

3172:                                             ; preds = %3171
  br label %3173

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

3180:                                             ; preds = %3173
  %3181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3182 = call i32 @fileno(ptr noundef %3181) #10
  %3183 = call i32 @isatty(i32 noundef %3182) #10
  %3184 = icmp ne i32 %3183, 0
  br i1 %3184, label %3185, label %3202

3185:                                             ; preds = %3180
  %3186 = load i32, ptr %64, align 4, !tbaa !5
  %3187 = call ptr @__errno_location() #11
  store i32 %3186, ptr %3187, align 4, !tbaa !5
  %3188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3189 = load i32, ptr @test_count, align 4, !tbaa !5
  %3190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3191 = load i32, ptr %3190, align 4, !tbaa !5
  %3192 = call ptr @s2n_strerror(i32 noundef %3191, ptr noundef @.str.10)
  %3193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3194 = load i32, ptr %3193, align 4, !tbaa !5
  %3195 = call ptr @s2n_strerror_debug(i32 noundef %3194, ptr noundef @.str.10)
  %3196 = call ptr @__errno_location() #11
  %3197 = load i32, ptr %3196, align 4, !tbaa !5
  %3198 = call ptr @strerror(i32 noundef %3197) #10
  %3199 = call ptr @__errno_location() #11
  %3200 = load i32, ptr %3199, align 4, !tbaa !5
  %3201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3188, ptr noundef @.str.8, i32 noundef %3189, ptr noundef @.str.45, ptr noundef @.str.7, i32 noundef 126, ptr noundef %3192, ptr noundef %3195, ptr noundef %3198, i32 noundef %3200) #10
  br label %3219

3202:                                             ; preds = %3180, %3173
  %3203 = load i32, ptr %64, align 4, !tbaa !5
  %3204 = call ptr @__errno_location() #11
  store i32 %3203, ptr %3204, align 4, !tbaa !5
  %3205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3206 = load i32, ptr @test_count, align 4, !tbaa !5
  %3207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3208 = load i32, ptr %3207, align 4, !tbaa !5
  %3209 = call ptr @s2n_strerror(i32 noundef %3208, ptr noundef @.str.10)
  %3210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3211 = load i32, ptr %3210, align 4, !tbaa !5
  %3212 = call ptr @s2n_strerror_debug(i32 noundef %3211, ptr noundef @.str.10)
  %3213 = call ptr @__errno_location() #11
  %3214 = load i32, ptr %3213, align 4, !tbaa !5
  %3215 = call ptr @strerror(i32 noundef %3214) #10
  %3216 = call ptr @__errno_location() #11
  %3217 = load i32, ptr %3216, align 4, !tbaa !5
  %3218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3205, ptr noundef @.str.11, i32 noundef %3206, ptr noundef @.str.45, ptr noundef @.str.7, i32 noundef 126, ptr noundef %3209, ptr noundef %3212, ptr noundef %3215, i32 noundef %3217) #10
  br label %3219

3219:                                             ; preds = %3202, %3185
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #10
  br label %3220

3220:                                             ; preds = %3219
  br label %3221

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

3222:                                             ; No predecessors!
  br label %3223

3223:                                             ; preds = %3222
  br label %3224

3224:                                             ; preds = %3223, %3166
  br label %3225

3225:                                             ; preds = %3224
  br label %3226

3226:                                             ; preds = %3225
  br label %3227

3227:                                             ; preds = %3226
  %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 %45, align 8, !tbaa !9
  %3231 = call zeroext i1 @s2n_handshake_is_complete(ptr noundef %3230)
  br i1 %3231, label %3285, label %3232

3232:                                             ; preds = %3227
  br label %3233

3233:                                             ; preds = %3232
  br label %3234

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

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

3246:                                             ; preds = %3241
  %3247 = load i32, ptr %65, align 4, !tbaa !5
  %3248 = call ptr @__errno_location() #11
  store i32 %3247, ptr %3248, align 4, !tbaa !5
  %3249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3250 = load i32, ptr @test_count, align 4, !tbaa !5
  %3251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3252 = load i32, ptr %3251, align 4, !tbaa !5
  %3253 = call ptr @s2n_strerror(i32 noundef %3252, ptr noundef @.str.10)
  %3254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3255 = load i32, ptr %3254, align 4, !tbaa !5
  %3256 = call ptr @s2n_strerror_debug(i32 noundef %3255, ptr noundef @.str.10)
  %3257 = call ptr @__errno_location() #11
  %3258 = load i32, ptr %3257, align 4, !tbaa !5
  %3259 = call ptr @strerror(i32 noundef %3258) #10
  %3260 = call ptr @__errno_location() #11
  %3261 = load i32, ptr %3260, align 4, !tbaa !5
  %3262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3249, ptr noundef @.str.8, i32 noundef %3250, ptr noundef @.str.25, ptr noundef @.str.7, i32 noundef 129, ptr noundef %3253, ptr noundef %3256, ptr noundef %3259, i32 noundef %3261) #10
  br label %3280

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

3280:                                             ; preds = %3263, %3246
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #10
  br label %3281

3281:                                             ; preds = %3280
  br label %3282

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

3283:                                             ; No predecessors!
  br label %3284

3284:                                             ; preds = %3283
  br label %3285

3285:                                             ; preds = %3284, %3227
  br label %3286

3286:                                             ; preds = %3285
  br label %3287

3287:                                             ; preds = %3286
  br label %3288

3288:                                             ; preds = %3287
  %3289 = load i32, ptr @test_count, align 4, !tbaa !5
  %3290 = add nsw i32 %3289, 1
  store i32 %3290, ptr @test_count, align 4, !tbaa !5
  %3291 = load ptr, ptr %45, align 8, !tbaa !9
  %3292 = getelementptr inbounds %struct.s2n_connection, ptr %3291, i32 0, i32 51
  %3293 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %3292)
  br i1 %3293, label %3294, label %3347

3294:                                             ; preds = %3288
  br label %3295

3295:                                             ; preds = %3294
  br label %3296

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

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

3308:                                             ; preds = %3303
  %3309 = load i32, ptr %66, align 4, !tbaa !5
  %3310 = call ptr @__errno_location() #11
  store i32 %3309, ptr %3310, align 4, !tbaa !5
  %3311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3312 = load i32, ptr @test_count, align 4, !tbaa !5
  %3313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3314 = load i32, ptr %3313, align 4, !tbaa !5
  %3315 = call ptr @s2n_strerror(i32 noundef %3314, ptr noundef @.str.10)
  %3316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3317 = load i32, ptr %3316, align 4, !tbaa !5
  %3318 = call ptr @s2n_strerror_debug(i32 noundef %3317, ptr noundef @.str.10)
  %3319 = call ptr @__errno_location() #11
  %3320 = load i32, ptr %3319, align 4, !tbaa !5
  %3321 = call ptr @strerror(i32 noundef %3320) #10
  %3322 = call ptr @__errno_location() #11
  %3323 = load i32, ptr %3322, align 4, !tbaa !5
  %3324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3311, ptr noundef @.str.8, i32 noundef %3312, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 130, ptr noundef %3315, ptr noundef %3318, ptr noundef %3321, i32 noundef %3323) #10
  br label %3342

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

3342:                                             ; preds = %3325, %3308
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #10
  br label %3343

3343:                                             ; preds = %3342
  br label %3344

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

3345:                                             ; No predecessors!
  br label %3346

3346:                                             ; preds = %3345
  br label %3347

3347:                                             ; preds = %3346, %3288
  br label %3348

3348:                                             ; preds = %3347
  br label %3349

3349:                                             ; preds = %3348
  br label %3350

3350:                                             ; preds = %3349
  %3351 = load i32, ptr @test_count, align 4, !tbaa !5
  %3352 = add nsw i32 %3351, 1
  store i32 %3352, ptr @test_count, align 4, !tbaa !5
  %3353 = load ptr, ptr %45, align 8, !tbaa !9
  %3354 = getelementptr inbounds %struct.s2n_connection, ptr %3353, i32 0, i32 49
  %3355 = load i8, ptr %3354, align 1, !tbaa !16, !range !13, !noundef !14
  %3356 = trunc i8 %3355 to i1
  br i1 %3356, label %3410, label %3357

3357:                                             ; preds = %3350
  br label %3358

3358:                                             ; preds = %3357
  br label %3359

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

3366:                                             ; preds = %3359
  %3367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3368 = call i32 @fileno(ptr noundef %3367) #10
  %3369 = call i32 @isatty(i32 noundef %3368) #10
  %3370 = icmp ne i32 %3369, 0
  br i1 %3370, label %3371, label %3388

3371:                                             ; preds = %3366
  %3372 = load i32, ptr %67, align 4, !tbaa !5
  %3373 = call ptr @__errno_location() #11
  store i32 %3372, ptr %3373, align 4, !tbaa !5
  %3374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3375 = load i32, ptr @test_count, align 4, !tbaa !5
  %3376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3377 = load i32, ptr %3376, align 4, !tbaa !5
  %3378 = call ptr @s2n_strerror(i32 noundef %3377, ptr noundef @.str.10)
  %3379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3380 = load i32, ptr %3379, align 4, !tbaa !5
  %3381 = call ptr @s2n_strerror_debug(i32 noundef %3380, ptr noundef @.str.10)
  %3382 = call ptr @__errno_location() #11
  %3383 = load i32, ptr %3382, align 4, !tbaa !5
  %3384 = call ptr @strerror(i32 noundef %3383) #10
  %3385 = call ptr @__errno_location() #11
  %3386 = load i32, ptr %3385, align 4, !tbaa !5
  %3387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3374, ptr noundef @.str.8, i32 noundef %3375, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 131, ptr noundef %3378, ptr noundef %3381, ptr noundef %3384, i32 noundef %3386) #10
  br label %3405

3388:                                             ; preds = %3366, %3359
  %3389 = load i32, ptr %67, align 4, !tbaa !5
  %3390 = call ptr @__errno_location() #11
  store i32 %3389, ptr %3390, align 4, !tbaa !5
  %3391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3392 = load i32, ptr @test_count, align 4, !tbaa !5
  %3393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3394 = load i32, ptr %3393, align 4, !tbaa !5
  %3395 = call ptr @s2n_strerror(i32 noundef %3394, ptr noundef @.str.10)
  %3396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3397 = load i32, ptr %3396, align 4, !tbaa !5
  %3398 = call ptr @s2n_strerror_debug(i32 noundef %3397, ptr noundef @.str.10)
  %3399 = call ptr @__errno_location() #11
  %3400 = load i32, ptr %3399, align 4, !tbaa !5
  %3401 = call ptr @strerror(i32 noundef %3400) #10
  %3402 = call ptr @__errno_location() #11
  %3403 = load i32, ptr %3402, align 4, !tbaa !5
  %3404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3391, ptr noundef @.str.11, i32 noundef %3392, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 131, ptr noundef %3395, ptr noundef %3398, ptr noundef %3401, i32 noundef %3403) #10
  br label %3405

3405:                                             ; preds = %3388, %3371
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #10
  br label %3406

3406:                                             ; preds = %3405
  br label %3407

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

3408:                                             ; No predecessors!
  br label %3409

3409:                                             ; preds = %3408
  br label %3410

3410:                                             ; preds = %3409, %3350
  br label %3411

3411:                                             ; preds = %3410
  br label %3412

3412:                                             ; preds = %3411
  br label %3413

3413:                                             ; preds = %3412
  %3414 = load i32, ptr @test_count, align 4, !tbaa !5
  %3415 = add nsw i32 %3414, 1
  store i32 %3415, ptr @test_count, align 4, !tbaa !5
  %3416 = load ptr, ptr %45, align 8, !tbaa !9
  %3417 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %3416, i32 noundef 0)
  br i1 %3417, label %3418, label %3471

3418:                                             ; preds = %3413
  br label %3419

3419:                                             ; preds = %3418
  br label %3420

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

3427:                                             ; preds = %3420
  %3428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3429 = call i32 @fileno(ptr noundef %3428) #10
  %3430 = call i32 @isatty(i32 noundef %3429) #10
  %3431 = icmp ne i32 %3430, 0
  br i1 %3431, label %3432, label %3449

3432:                                             ; preds = %3427
  %3433 = load i32, ptr %68, align 4, !tbaa !5
  %3434 = call ptr @__errno_location() #11
  store i32 %3433, ptr %3434, align 4, !tbaa !5
  %3435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3436 = load i32, ptr @test_count, align 4, !tbaa !5
  %3437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3438 = load i32, ptr %3437, align 4, !tbaa !5
  %3439 = call ptr @s2n_strerror(i32 noundef %3438, ptr noundef @.str.10)
  %3440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3441 = load i32, ptr %3440, align 4, !tbaa !5
  %3442 = call ptr @s2n_strerror_debug(i32 noundef %3441, ptr noundef @.str.10)
  %3443 = call ptr @__errno_location() #11
  %3444 = load i32, ptr %3443, align 4, !tbaa !5
  %3445 = call ptr @strerror(i32 noundef %3444) #10
  %3446 = call ptr @__errno_location() #11
  %3447 = load i32, ptr %3446, align 4, !tbaa !5
  %3448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3435, ptr noundef @.str.8, i32 noundef %3436, ptr noundef @.str.46, ptr noundef @.str.7, i32 noundef 132, ptr noundef %3439, ptr noundef %3442, ptr noundef %3445, i32 noundef %3447) #10
  br label %3466

3449:                                             ; preds = %3427, %3420
  %3450 = load i32, ptr %68, align 4, !tbaa !5
  %3451 = call ptr @__errno_location() #11
  store i32 %3450, ptr %3451, align 4, !tbaa !5
  %3452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3453 = load i32, ptr @test_count, align 4, !tbaa !5
  %3454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3455 = load i32, ptr %3454, align 4, !tbaa !5
  %3456 = call ptr @s2n_strerror(i32 noundef %3455, ptr noundef @.str.10)
  %3457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3458 = load i32, ptr %3457, align 4, !tbaa !5
  %3459 = call ptr @s2n_strerror_debug(i32 noundef %3458, ptr noundef @.str.10)
  %3460 = call ptr @__errno_location() #11
  %3461 = load i32, ptr %3460, align 4, !tbaa !5
  %3462 = call ptr @strerror(i32 noundef %3461) #10
  %3463 = call ptr @__errno_location() #11
  %3464 = load i32, ptr %3463, align 4, !tbaa !5
  %3465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3452, ptr noundef @.str.11, i32 noundef %3453, ptr noundef @.str.46, ptr noundef @.str.7, i32 noundef 132, ptr noundef %3456, ptr noundef %3459, ptr noundef %3462, i32 noundef %3464) #10
  br label %3466

3466:                                             ; preds = %3449, %3432
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #10
  br label %3467

3467:                                             ; preds = %3466
  br label %3468

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

3469:                                             ; No predecessors!
  br label %3470

3470:                                             ; preds = %3469
  br label %3471

3471:                                             ; preds = %3470, %3413
  br label %3472

3472:                                             ; preds = %3471
  br label %3473

3473:                                             ; preds = %3472
  br label %3474

3474:                                             ; preds = %3473
  %3475 = load i32, ptr @test_count, align 4, !tbaa !5
  %3476 = add nsw i32 %3475, 1
  store i32 %3476, ptr @test_count, align 4, !tbaa !5
  %3477 = getelementptr inbounds %struct.s2n_stuffer, ptr %51, i32 0, i32 2
  %3478 = load i32, ptr %3477, align 4, !tbaa !43
  %3479 = getelementptr inbounds %struct.s2n_stuffer, ptr %51, i32 0, i32 1
  %3480 = load i32, ptr %3479, align 8, !tbaa !44
  %3481 = sub i32 %3478, %3480
  %3482 = icmp eq i32 %3481, 14
  br i1 %3482, label %3536, label %3483

3483:                                             ; preds = %3474
  br label %3484

3484:                                             ; preds = %3483
  br label %3485

3485:                                             ; preds = %3484
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #10
  %3486 = call ptr @__errno_location() #11
  %3487 = load i32, ptr %3486, align 4, !tbaa !5
  store i32 %3487, ptr %69, align 4, !tbaa !5
  %3488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3489 = call i32 @s2n_print_stacktrace(ptr noundef %3488)
  %3490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3491 = trunc i8 %3490 to i1
  br i1 %3491, label %3492, label %3514

3492:                                             ; preds = %3485
  %3493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3494 = call i32 @fileno(ptr noundef %3493) #10
  %3495 = call i32 @isatty(i32 noundef %3494) #10
  %3496 = icmp ne i32 %3495, 0
  br i1 %3496, label %3497, label %3514

3497:                                             ; preds = %3492
  %3498 = load i32, ptr %69, align 4, !tbaa !5
  %3499 = call ptr @__errno_location() #11
  store i32 %3498, ptr %3499, align 4, !tbaa !5
  %3500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3501 = load i32, ptr @test_count, align 4, !tbaa !5
  %3502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3503 = load i32, ptr %3502, align 4, !tbaa !5
  %3504 = call ptr @s2n_strerror(i32 noundef %3503, ptr noundef @.str.10)
  %3505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3506 = load i32, ptr %3505, align 4, !tbaa !5
  %3507 = call ptr @s2n_strerror_debug(i32 noundef %3506, ptr noundef @.str.10)
  %3508 = call ptr @__errno_location() #11
  %3509 = load i32, ptr %3508, align 4, !tbaa !5
  %3510 = call ptr @strerror(i32 noundef %3509) #10
  %3511 = call ptr @__errno_location() #11
  %3512 = load i32, ptr %3511, align 4, !tbaa !5
  %3513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3500, ptr noundef @.str.8, i32 noundef %3501, ptr noundef @.str.47, ptr noundef @.str.7, i32 noundef 135, ptr noundef %3504, ptr noundef %3507, ptr noundef %3510, i32 noundef %3512) #10
  br label %3531

3514:                                             ; preds = %3492, %3485
  %3515 = load i32, ptr %69, align 4, !tbaa !5
  %3516 = call ptr @__errno_location() #11
  store i32 %3515, ptr %3516, align 4, !tbaa !5
  %3517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3518 = load i32, ptr @test_count, align 4, !tbaa !5
  %3519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3520 = load i32, ptr %3519, align 4, !tbaa !5
  %3521 = call ptr @s2n_strerror(i32 noundef %3520, ptr noundef @.str.10)
  %3522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3523 = load i32, ptr %3522, align 4, !tbaa !5
  %3524 = call ptr @s2n_strerror_debug(i32 noundef %3523, ptr noundef @.str.10)
  %3525 = call ptr @__errno_location() #11
  %3526 = load i32, ptr %3525, align 4, !tbaa !5
  %3527 = call ptr @strerror(i32 noundef %3526) #10
  %3528 = call ptr @__errno_location() #11
  %3529 = load i32, ptr %3528, align 4, !tbaa !5
  %3530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3517, ptr noundef @.str.11, i32 noundef %3518, ptr noundef @.str.47, ptr noundef @.str.7, i32 noundef 135, ptr noundef %3521, ptr noundef %3524, ptr noundef %3527, i32 noundef %3529) #10
  br label %3531

3531:                                             ; preds = %3514, %3497
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #10
  br label %3532

3532:                                             ; preds = %3531
  br label %3533

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

3534:                                             ; No predecessors!
  br label %3535

3535:                                             ; preds = %3534
  br label %3536

3536:                                             ; preds = %3535, %3474
  br label %3537

3537:                                             ; preds = %3536
  br label %3538

3538:                                             ; preds = %3537
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #10
  %3539 = call i32 @s2n_stuffer_free(ptr noundef %51)
  call void @llvm.lifetime.end.p0(i64 40, ptr %51) #10
  %3540 = call i32 @s2n_stuffer_free(ptr noundef %49)
  call void @llvm.lifetime.end.p0(i64 40, ptr %49) #10
  %3541 = call i32 @s2n_connection_ptr_free(ptr noundef %45)
  %3542 = getelementptr inbounds %struct.s2n_result, ptr %70, i32 0, i32 0
  store i32 %3541, ptr %3542, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #10
  %3543 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %3543, ptr %71, align 8, !tbaa !9
  br label %3544

3544:                                             ; preds = %3538
  %3545 = load i32, ptr @test_count, align 4, !tbaa !5
  %3546 = add nsw i32 %3545, 1
  store i32 %3546, ptr @test_count, align 4, !tbaa !5
  %3547 = load ptr, ptr %71, align 8, !tbaa !9
  %3548 = icmp eq ptr %3547, null
  br i1 %3548, label %3549, label %3602

3549:                                             ; preds = %3544
  br label %3550

3550:                                             ; preds = %3549
  br label %3551

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

3558:                                             ; preds = %3551
  %3559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3560 = call i32 @fileno(ptr noundef %3559) #10
  %3561 = call i32 @isatty(i32 noundef %3560) #10
  %3562 = icmp ne i32 %3561, 0
  br i1 %3562, label %3563, label %3580

3563:                                             ; preds = %3558
  %3564 = load i32, ptr %72, align 4, !tbaa !5
  %3565 = call ptr @__errno_location() #11
  store i32 %3564, ptr %3565, align 4, !tbaa !5
  %3566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3567 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3569, ptr noundef @.str.10)
  %3571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3572 = load i32, ptr %3571, align 4, !tbaa !5
  %3573 = call ptr @s2n_strerror_debug(i32 noundef %3572, ptr noundef @.str.10)
  %3574 = call ptr @__errno_location() #11
  %3575 = load i32, ptr %3574, align 4, !tbaa !5
  %3576 = call ptr @strerror(i32 noundef %3575) #10
  %3577 = call ptr @__errno_location() #11
  %3578 = load i32, ptr %3577, align 4, !tbaa !5
  %3579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3566, ptr noundef @.str.8, i32 noundef %3567, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 142, ptr noundef %3570, ptr noundef %3573, ptr noundef %3576, i32 noundef %3578) #10
  br label %3597

3580:                                             ; preds = %3558, %3551
  %3581 = load i32, ptr %72, align 4, !tbaa !5
  %3582 = call ptr @__errno_location() #11
  store i32 %3581, ptr %3582, align 4, !tbaa !5
  %3583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3584 = load i32, ptr @test_count, align 4, !tbaa !5
  %3585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3586 = load i32, ptr %3585, align 4, !tbaa !5
  %3587 = call ptr @s2n_strerror(i32 noundef %3586, ptr noundef @.str.10)
  %3588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3589 = load i32, ptr %3588, align 4, !tbaa !5
  %3590 = call ptr @s2n_strerror_debug(i32 noundef %3589, ptr noundef @.str.10)
  %3591 = call ptr @__errno_location() #11
  %3592 = load i32, ptr %3591, align 4, !tbaa !5
  %3593 = call ptr @strerror(i32 noundef %3592) #10
  %3594 = call ptr @__errno_location() #11
  %3595 = load i32, ptr %3594, align 4, !tbaa !5
  %3596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3583, ptr noundef @.str.11, i32 noundef %3584, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 142, ptr noundef %3587, ptr noundef %3590, ptr noundef %3593, i32 noundef %3595) #10
  br label %3597

3597:                                             ; preds = %3580, %3563
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #10
  br label %3598

3598:                                             ; preds = %3597
  br label %3599

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

3600:                                             ; No predecessors!
  br label %3601

3601:                                             ; preds = %3600
  br label %3602

3602:                                             ; preds = %3601, %3544
  br label %3603

3603:                                             ; preds = %3602
  br label %3604

3604:                                             ; preds = %3603
  br label %3605

3605:                                             ; preds = %3604
  %3606 = load i32, ptr @test_count, align 4, !tbaa !5
  %3607 = add nsw i32 %3606, 1
  store i32 %3607, ptr @test_count, align 4, !tbaa !5
  %3608 = load ptr, ptr %71, align 8, !tbaa !9
  %3609 = call i32 @s2n_skip_handshake(ptr noundef %3608)
  %3610 = getelementptr inbounds %struct.s2n_result, ptr %73, i32 0, i32 0
  store i32 %3609, ptr %3610, align 4
  %3611 = getelementptr inbounds %struct.s2n_result, ptr %73, i32 0, i32 0
  %3612 = load i32, ptr %3611, align 4
  %3613 = call zeroext i1 @s2n_result_is_ok(i32 %3612)
  br i1 %3613, label %3667, label %3614

3614:                                             ; preds = %3605
  br label %3615

3615:                                             ; preds = %3614
  br label %3616

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

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

3628:                                             ; preds = %3623
  %3629 = load i32, ptr %74, align 4, !tbaa !5
  %3630 = call ptr @__errno_location() #11
  store i32 %3629, ptr %3630, align 4, !tbaa !5
  %3631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3632 = load i32, ptr @test_count, align 4, !tbaa !5
  %3633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3634 = load i32, ptr %3633, align 4, !tbaa !5
  %3635 = call ptr @s2n_strerror(i32 noundef %3634, ptr noundef @.str.10)
  %3636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3637 = load i32, ptr %3636, align 4, !tbaa !5
  %3638 = call ptr @s2n_strerror_debug(i32 noundef %3637, ptr noundef @.str.10)
  %3639 = call ptr @__errno_location() #11
  %3640 = load i32, ptr %3639, align 4, !tbaa !5
  %3641 = call ptr @strerror(i32 noundef %3640) #10
  %3642 = call ptr @__errno_location() #11
  %3643 = load i32, ptr %3642, align 4, !tbaa !5
  %3644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3631, ptr noundef @.str.8, i32 noundef %3632, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 143, ptr noundef %3635, ptr noundef %3638, ptr noundef %3641, i32 noundef %3643) #10
  br label %3662

3645:                                             ; preds = %3623, %3616
  %3646 = load i32, ptr %74, align 4, !tbaa !5
  %3647 = call ptr @__errno_location() #11
  store i32 %3646, ptr %3647, align 4, !tbaa !5
  %3648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3649 = load i32, ptr @test_count, align 4, !tbaa !5
  %3650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3651 = load i32, ptr %3650, align 4, !tbaa !5
  %3652 = call ptr @s2n_strerror(i32 noundef %3651, ptr noundef @.str.10)
  %3653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3654 = load i32, ptr %3653, align 4, !tbaa !5
  %3655 = call ptr @s2n_strerror_debug(i32 noundef %3654, ptr noundef @.str.10)
  %3656 = call ptr @__errno_location() #11
  %3657 = load i32, ptr %3656, align 4, !tbaa !5
  %3658 = call ptr @strerror(i32 noundef %3657) #10
  %3659 = call ptr @__errno_location() #11
  %3660 = load i32, ptr %3659, align 4, !tbaa !5
  %3661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3648, ptr noundef @.str.11, i32 noundef %3649, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 143, ptr noundef %3652, ptr noundef %3655, ptr noundef %3658, i32 noundef %3660) #10
  br label %3662

3662:                                             ; preds = %3645, %3628
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #10
  br label %3663

3663:                                             ; preds = %3662
  br label %3664

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

3665:                                             ; No predecessors!
  br label %3666

3666:                                             ; preds = %3665
  br label %3667

3667:                                             ; preds = %3666, %3605
  br label %3668

3668:                                             ; preds = %3667
  br label %3669

3669:                                             ; preds = %3668
  call void @llvm.lifetime.start.p0(i64 40, ptr %75) #10
  call void @llvm.memset.p0.i64(ptr align 8 %75, i8 0, i64 40, i1 false)
  br label %3670

3670:                                             ; preds = %3669
  %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 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %75, i32 noundef 0)
  %3674 = icmp eq i32 %3673, -1
  br i1 %3674, label %3675, label %3728

3675:                                             ; preds = %3670
  br label %3676

3676:                                             ; preds = %3675
  br label %3677

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

3684:                                             ; preds = %3677
  %3685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3686 = call i32 @fileno(ptr noundef %3685) #10
  %3687 = call i32 @isatty(i32 noundef %3686) #10
  %3688 = icmp ne i32 %3687, 0
  br i1 %3688, label %3689, label %3706

3689:                                             ; preds = %3684
  %3690 = load i32, ptr %76, align 4, !tbaa !5
  %3691 = call ptr @__errno_location() #11
  store i32 %3690, ptr %3691, align 4, !tbaa !5
  %3692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3693 = load i32, ptr @test_count, align 4, !tbaa !5
  %3694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3695 = load i32, ptr %3694, align 4, !tbaa !5
  %3696 = call ptr @s2n_strerror(i32 noundef %3695, ptr noundef @.str.10)
  %3697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3698 = load i32, ptr %3697, align 4, !tbaa !5
  %3699 = call ptr @s2n_strerror_debug(i32 noundef %3698, ptr noundef @.str.10)
  %3700 = call ptr @__errno_location() #11
  %3701 = load i32, ptr %3700, align 4, !tbaa !5
  %3702 = call ptr @strerror(i32 noundef %3701) #10
  %3703 = call ptr @__errno_location() #11
  %3704 = load i32, ptr %3703, align 4, !tbaa !5
  %3705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3692, ptr noundef @.str.8, i32 noundef %3693, ptr noundef @.str.39, ptr noundef @.str.7, i32 noundef 146, ptr noundef %3696, ptr noundef %3699, ptr noundef %3702, i32 noundef %3704) #10
  br label %3723

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

3723:                                             ; preds = %3706, %3689
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #10
  br label %3724

3724:                                             ; preds = %3723
  br label %3725

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

3726:                                             ; No predecessors!
  br label %3727

3727:                                             ; preds = %3726
  br label %3728

3728:                                             ; preds = %3727, %3670
  br label %3729

3729:                                             ; preds = %3728
  br label %3730

3730:                                             ; preds = %3729
  call void @llvm.lifetime.start.p0(i64 40, ptr %77) #10
  call void @llvm.memset.p0.i64(ptr align 8 %77, i8 0, i64 40, i1 false)
  br label %3731

3731:                                             ; preds = %3730
  %3732 = load i32, ptr @test_count, align 4, !tbaa !5
  %3733 = add nsw i32 %3732, 1
  store i32 %3733, ptr @test_count, align 4, !tbaa !5
  %3734 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %77, i32 noundef 0)
  %3735 = icmp eq i32 %3734, -1
  br i1 %3735, label %3736, label %3789

3736:                                             ; preds = %3731
  br label %3737

3737:                                             ; preds = %3736
  br label %3738

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

3745:                                             ; preds = %3738
  %3746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3747 = call i32 @fileno(ptr noundef %3746) #10
  %3748 = call i32 @isatty(i32 noundef %3747) #10
  %3749 = icmp ne i32 %3748, 0
  br i1 %3749, label %3750, label %3767

3750:                                             ; preds = %3745
  %3751 = load i32, ptr %78, align 4, !tbaa !5
  %3752 = call ptr @__errno_location() #11
  store i32 %3751, ptr %3752, align 4, !tbaa !5
  %3753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3754 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3756, ptr noundef @.str.10)
  %3758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3759 = load i32, ptr %3758, align 4, !tbaa !5
  %3760 = call ptr @s2n_strerror_debug(i32 noundef %3759, ptr noundef @.str.10)
  %3761 = call ptr @__errno_location() #11
  %3762 = load i32, ptr %3761, align 4, !tbaa !5
  %3763 = call ptr @strerror(i32 noundef %3762) #10
  %3764 = call ptr @__errno_location() #11
  %3765 = load i32, ptr %3764, align 4, !tbaa !5
  %3766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3753, ptr noundef @.str.8, i32 noundef %3754, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 148, ptr noundef %3757, ptr noundef %3760, ptr noundef %3763, i32 noundef %3765) #10
  br label %3784

3767:                                             ; preds = %3745, %3738
  %3768 = load i32, ptr %78, align 4, !tbaa !5
  %3769 = call ptr @__errno_location() #11
  store i32 %3768, ptr %3769, align 4, !tbaa !5
  %3770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3771 = load i32, ptr @test_count, align 4, !tbaa !5
  %3772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3773 = load i32, ptr %3772, align 4, !tbaa !5
  %3774 = call ptr @s2n_strerror(i32 noundef %3773, ptr noundef @.str.10)
  %3775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3776 = load i32, ptr %3775, align 4, !tbaa !5
  %3777 = call ptr @s2n_strerror_debug(i32 noundef %3776, ptr noundef @.str.10)
  %3778 = call ptr @__errno_location() #11
  %3779 = load i32, ptr %3778, align 4, !tbaa !5
  %3780 = call ptr @strerror(i32 noundef %3779) #10
  %3781 = call ptr @__errno_location() #11
  %3782 = load i32, ptr %3781, align 4, !tbaa !5
  %3783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3770, ptr noundef @.str.11, i32 noundef %3771, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 148, ptr noundef %3774, ptr noundef %3777, ptr noundef %3780, i32 noundef %3782) #10
  br label %3784

3784:                                             ; preds = %3767, %3750
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #10
  br label %3785

3785:                                             ; preds = %3784
  br label %3786

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

3787:                                             ; No predecessors!
  br label %3788

3788:                                             ; preds = %3787
  br label %3789

3789:                                             ; preds = %3788, %3731
  br label %3790

3790:                                             ; preds = %3789
  br label %3791

3791:                                             ; preds = %3790
  br label %3792

3792:                                             ; preds = %3791
  %3793 = load i32, ptr @test_count, align 4, !tbaa !5
  %3794 = add nsw i32 %3793, 1
  store i32 %3794, ptr @test_count, align 4, !tbaa !5
  %3795 = load ptr, ptr %71, align 8, !tbaa !9
  %3796 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %75, ptr noundef %77, ptr noundef %3795)
  %3797 = icmp eq i32 %3796, -1
  br i1 %3797, label %3798, label %3851

3798:                                             ; preds = %3792
  br label %3799

3799:                                             ; preds = %3798
  br label %3800

3800:                                             ; preds = %3799
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #10
  %3801 = call ptr @__errno_location() #11
  %3802 = load i32, ptr %3801, align 4, !tbaa !5
  store i32 %3802, ptr %79, align 4, !tbaa !5
  %3803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3804 = call i32 @s2n_print_stacktrace(ptr noundef %3803)
  %3805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3806 = trunc i8 %3805 to i1
  br i1 %3806, label %3807, label %3829

3807:                                             ; preds = %3800
  %3808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3809 = call i32 @fileno(ptr noundef %3808) #10
  %3810 = call i32 @isatty(i32 noundef %3809) #10
  %3811 = icmp ne i32 %3810, 0
  br i1 %3811, label %3812, label %3829

3812:                                             ; preds = %3807
  %3813 = load i32, ptr %79, align 4, !tbaa !5
  %3814 = call ptr @__errno_location() #11
  store i32 %3813, ptr %3814, align 4, !tbaa !5
  %3815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3816 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3818, ptr noundef @.str.10)
  %3820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3821 = load i32, ptr %3820, align 4, !tbaa !5
  %3822 = call ptr @s2n_strerror_debug(i32 noundef %3821, ptr noundef @.str.10)
  %3823 = call ptr @__errno_location() #11
  %3824 = load i32, ptr %3823, align 4, !tbaa !5
  %3825 = call ptr @strerror(i32 noundef %3824) #10
  %3826 = call ptr @__errno_location() #11
  %3827 = load i32, ptr %3826, align 4, !tbaa !5
  %3828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3815, ptr noundef @.str.8, i32 noundef %3816, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 149, ptr noundef %3819, ptr noundef %3822, ptr noundef %3825, i32 noundef %3827) #10
  br label %3846

3829:                                             ; preds = %3807, %3800
  %3830 = load i32, ptr %79, align 4, !tbaa !5
  %3831 = call ptr @__errno_location() #11
  store i32 %3830, ptr %3831, align 4, !tbaa !5
  %3832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3833 = load i32, ptr @test_count, align 4, !tbaa !5
  %3834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3835 = load i32, ptr %3834, align 4, !tbaa !5
  %3836 = call ptr @s2n_strerror(i32 noundef %3835, ptr noundef @.str.10)
  %3837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3838 = load i32, ptr %3837, align 4, !tbaa !5
  %3839 = call ptr @s2n_strerror_debug(i32 noundef %3838, ptr noundef @.str.10)
  %3840 = call ptr @__errno_location() #11
  %3841 = load i32, ptr %3840, align 4, !tbaa !5
  %3842 = call ptr @strerror(i32 noundef %3841) #10
  %3843 = call ptr @__errno_location() #11
  %3844 = load i32, ptr %3843, align 4, !tbaa !5
  %3845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3832, ptr noundef @.str.11, i32 noundef %3833, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 149, ptr noundef %3836, ptr noundef %3839, ptr noundef %3842, i32 noundef %3844) #10
  br label %3846

3846:                                             ; preds = %3829, %3812
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #10
  br label %3847

3847:                                             ; preds = %3846
  br label %3848

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

3849:                                             ; No predecessors!
  br label %3850

3850:                                             ; preds = %3849
  br label %3851

3851:                                             ; preds = %3850, %3792
  br label %3852

3852:                                             ; preds = %3851
  br label %3853

3853:                                             ; preds = %3852
  br label %3854

3854:                                             ; preds = %3853
  %3855 = load i32, ptr @test_count, align 4, !tbaa !5
  %3856 = add nsw i32 %3855, 1
  store i32 %3856, ptr @test_count, align 4, !tbaa !5
  %3857 = load ptr, ptr %71, align 8, !tbaa !9
  %3858 = call zeroext i1 @s2n_handshake_is_complete(ptr noundef %3857)
  br i1 %3858, label %3912, label %3859

3859:                                             ; preds = %3854
  br label %3860

3860:                                             ; preds = %3859
  br label %3861

3861:                                             ; preds = %3860
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #10
  %3862 = call ptr @__errno_location() #11
  %3863 = load i32, ptr %3862, align 4, !tbaa !5
  store i32 %3863, ptr %80, align 4, !tbaa !5
  %3864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3865 = call i32 @s2n_print_stacktrace(ptr noundef %3864)
  %3866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3867 = trunc i8 %3866 to i1
  br i1 %3867, label %3868, label %3890

3868:                                             ; preds = %3861
  %3869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3870 = call i32 @fileno(ptr noundef %3869) #10
  %3871 = call i32 @isatty(i32 noundef %3870) #10
  %3872 = icmp ne i32 %3871, 0
  br i1 %3872, label %3873, label %3890

3873:                                             ; preds = %3868
  %3874 = load i32, ptr %80, align 4, !tbaa !5
  %3875 = call ptr @__errno_location() #11
  store i32 %3874, ptr %3875, align 4, !tbaa !5
  %3876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3877 = load i32, ptr @test_count, align 4, !tbaa !5
  %3878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3879 = load i32, ptr %3878, align 4, !tbaa !5
  %3880 = call ptr @s2n_strerror(i32 noundef %3879, ptr noundef @.str.10)
  %3881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3882 = load i32, ptr %3881, align 4, !tbaa !5
  %3883 = call ptr @s2n_strerror_debug(i32 noundef %3882, ptr noundef @.str.10)
  %3884 = call ptr @__errno_location() #11
  %3885 = load i32, ptr %3884, align 4, !tbaa !5
  %3886 = call ptr @strerror(i32 noundef %3885) #10
  %3887 = call ptr @__errno_location() #11
  %3888 = load i32, ptr %3887, align 4, !tbaa !5
  %3889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3876, ptr noundef @.str.8, i32 noundef %3877, ptr noundef @.str.25, ptr noundef @.str.7, i32 noundef 152, ptr noundef %3880, ptr noundef %3883, ptr noundef %3886, i32 noundef %3888) #10
  br label %3907

3890:                                             ; preds = %3868, %3861
  %3891 = load i32, ptr %80, align 4, !tbaa !5
  %3892 = call ptr @__errno_location() #11
  store i32 %3891, ptr %3892, align 4, !tbaa !5
  %3893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3894 = load i32, ptr @test_count, align 4, !tbaa !5
  %3895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3896 = load i32, ptr %3895, align 4, !tbaa !5
  %3897 = call ptr @s2n_strerror(i32 noundef %3896, ptr noundef @.str.10)
  %3898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3899 = load i32, ptr %3898, align 4, !tbaa !5
  %3900 = call ptr @s2n_strerror_debug(i32 noundef %3899, ptr noundef @.str.10)
  %3901 = call ptr @__errno_location() #11
  %3902 = load i32, ptr %3901, align 4, !tbaa !5
  %3903 = call ptr @strerror(i32 noundef %3902) #10
  %3904 = call ptr @__errno_location() #11
  %3905 = load i32, ptr %3904, align 4, !tbaa !5
  %3906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3893, ptr noundef @.str.11, i32 noundef %3894, ptr noundef @.str.25, ptr noundef @.str.7, i32 noundef 152, ptr noundef %3897, ptr noundef %3900, ptr noundef %3903, i32 noundef %3905) #10
  br label %3907

3907:                                             ; preds = %3890, %3873
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #10
  br label %3908

3908:                                             ; preds = %3907
  br label %3909

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

3910:                                             ; No predecessors!
  br label %3911

3911:                                             ; preds = %3910
  br label %3912

3912:                                             ; preds = %3911, %3854
  br label %3913

3913:                                             ; preds = %3912
  br label %3914

3914:                                             ; preds = %3913
  br label %3915

3915:                                             ; preds = %3914
  %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 %71, align 8, !tbaa !9
  %3919 = getelementptr inbounds %struct.s2n_connection, ptr %3918, i32 0, i32 51
  %3920 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %3919)
  br i1 %3920, label %3921, label %3974

3921:                                             ; preds = %3915
  br label %3922

3922:                                             ; preds = %3921
  br label %3923

3923:                                             ; preds = %3922
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #10
  %3924 = call ptr @__errno_location() #11
  %3925 = load i32, ptr %3924, align 4, !tbaa !5
  store i32 %3925, ptr %81, align 4, !tbaa !5
  %3926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3927 = call i32 @s2n_print_stacktrace(ptr noundef %3926)
  %3928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3929 = trunc i8 %3928 to i1
  br i1 %3929, label %3930, label %3952

3930:                                             ; preds = %3923
  %3931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3932 = call i32 @fileno(ptr noundef %3931) #10
  %3933 = call i32 @isatty(i32 noundef %3932) #10
  %3934 = icmp ne i32 %3933, 0
  br i1 %3934, label %3935, label %3952

3935:                                             ; preds = %3930
  %3936 = load i32, ptr %81, align 4, !tbaa !5
  %3937 = call ptr @__errno_location() #11
  store i32 %3936, ptr %3937, align 4, !tbaa !5
  %3938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3939 = load i32, ptr @test_count, align 4, !tbaa !5
  %3940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3941 = load i32, ptr %3940, align 4, !tbaa !5
  %3942 = call ptr @s2n_strerror(i32 noundef %3941, ptr noundef @.str.10)
  %3943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3944 = load i32, ptr %3943, align 4, !tbaa !5
  %3945 = call ptr @s2n_strerror_debug(i32 noundef %3944, ptr noundef @.str.10)
  %3946 = call ptr @__errno_location() #11
  %3947 = load i32, ptr %3946, align 4, !tbaa !5
  %3948 = call ptr @strerror(i32 noundef %3947) #10
  %3949 = call ptr @__errno_location() #11
  %3950 = load i32, ptr %3949, align 4, !tbaa !5
  %3951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3938, ptr noundef @.str.8, i32 noundef %3939, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 153, ptr noundef %3942, ptr noundef %3945, ptr noundef %3948, i32 noundef %3950) #10
  br label %3969

3952:                                             ; preds = %3930, %3923
  %3953 = load i32, ptr %81, align 4, !tbaa !5
  %3954 = call ptr @__errno_location() #11
  store i32 %3953, ptr %3954, align 4, !tbaa !5
  %3955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3956 = load i32, ptr @test_count, align 4, !tbaa !5
  %3957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3958 = load i32, ptr %3957, align 4, !tbaa !5
  %3959 = call ptr @s2n_strerror(i32 noundef %3958, ptr noundef @.str.10)
  %3960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3961 = load i32, ptr %3960, align 4, !tbaa !5
  %3962 = call ptr @s2n_strerror_debug(i32 noundef %3961, ptr noundef @.str.10)
  %3963 = call ptr @__errno_location() #11
  %3964 = load i32, ptr %3963, align 4, !tbaa !5
  %3965 = call ptr @strerror(i32 noundef %3964) #10
  %3966 = call ptr @__errno_location() #11
  %3967 = load i32, ptr %3966, align 4, !tbaa !5
  %3968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3955, ptr noundef @.str.11, i32 noundef %3956, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 153, ptr noundef %3959, ptr noundef %3962, ptr noundef %3965, i32 noundef %3967) #10
  br label %3969

3969:                                             ; preds = %3952, %3935
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #10
  br label %3970

3970:                                             ; preds = %3969
  br label %3971

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

3972:                                             ; No predecessors!
  br label %3973

3973:                                             ; preds = %3972
  br label %3974

3974:                                             ; preds = %3973, %3915
  br label %3975

3975:                                             ; preds = %3974
  br label %3976

3976:                                             ; preds = %3975
  br label %3977

3977:                                             ; preds = %3976
  %3978 = load i32, ptr @test_count, align 4, !tbaa !5
  %3979 = add nsw i32 %3978, 1
  store i32 %3979, ptr @test_count, align 4, !tbaa !5
  %3980 = load ptr, ptr %71, align 8, !tbaa !9
  %3981 = getelementptr inbounds %struct.s2n_connection, ptr %3980, i32 0, i32 49
  %3982 = load i8, ptr %3981, align 1, !tbaa !16, !range !13, !noundef !14
  %3983 = trunc i8 %3982 to i1
  br i1 %3983, label %3984, label %4037

3984:                                             ; preds = %3977
  br label %3985

3985:                                             ; preds = %3984
  br label %3986

3986:                                             ; preds = %3985
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #10
  %3987 = call ptr @__errno_location() #11
  %3988 = load i32, ptr %3987, align 4, !tbaa !5
  store i32 %3988, ptr %82, align 4, !tbaa !5
  %3989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3990 = call i32 @s2n_print_stacktrace(ptr noundef %3989)
  %3991 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3992 = trunc i8 %3991 to i1
  br i1 %3992, label %3993, label %4015

3993:                                             ; preds = %3986
  %3994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3995 = call i32 @fileno(ptr noundef %3994) #10
  %3996 = call i32 @isatty(i32 noundef %3995) #10
  %3997 = icmp ne i32 %3996, 0
  br i1 %3997, label %3998, label %4015

3998:                                             ; preds = %3993
  %3999 = load i32, ptr %82, align 4, !tbaa !5
  %4000 = call ptr @__errno_location() #11
  store i32 %3999, ptr %4000, align 4, !tbaa !5
  %4001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4002 = load i32, ptr @test_count, align 4, !tbaa !5
  %4003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4004 = load i32, ptr %4003, align 4, !tbaa !5
  %4005 = call ptr @s2n_strerror(i32 noundef %4004, ptr noundef @.str.10)
  %4006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4007 = load i32, ptr %4006, align 4, !tbaa !5
  %4008 = call ptr @s2n_strerror_debug(i32 noundef %4007, ptr noundef @.str.10)
  %4009 = call ptr @__errno_location() #11
  %4010 = load i32, ptr %4009, align 4, !tbaa !5
  %4011 = call ptr @strerror(i32 noundef %4010) #10
  %4012 = call ptr @__errno_location() #11
  %4013 = load i32, ptr %4012, align 4, !tbaa !5
  %4014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4001, ptr noundef @.str.8, i32 noundef %4002, ptr noundef @.str.27, ptr noundef @.str.7, i32 noundef 154, ptr noundef %4005, ptr noundef %4008, ptr noundef %4011, i32 noundef %4013) #10
  br label %4032

4015:                                             ; preds = %3993, %3986
  %4016 = load i32, ptr %82, align 4, !tbaa !5
  %4017 = call ptr @__errno_location() #11
  store i32 %4016, ptr %4017, align 4, !tbaa !5
  %4018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4019 = load i32, ptr @test_count, align 4, !tbaa !5
  %4020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4021 = load i32, ptr %4020, align 4, !tbaa !5
  %4022 = call ptr @s2n_strerror(i32 noundef %4021, ptr noundef @.str.10)
  %4023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4024 = load i32, ptr %4023, align 4, !tbaa !5
  %4025 = call ptr @s2n_strerror_debug(i32 noundef %4024, ptr noundef @.str.10)
  %4026 = call ptr @__errno_location() #11
  %4027 = load i32, ptr %4026, align 4, !tbaa !5
  %4028 = call ptr @strerror(i32 noundef %4027) #10
  %4029 = call ptr @__errno_location() #11
  %4030 = load i32, ptr %4029, align 4, !tbaa !5
  %4031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4018, ptr noundef @.str.11, i32 noundef %4019, ptr noundef @.str.27, ptr noundef @.str.7, i32 noundef 154, ptr noundef %4022, ptr noundef %4025, ptr noundef %4028, i32 noundef %4030) #10
  br label %4032

4032:                                             ; preds = %4015, %3998
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #10
  br label %4033

4033:                                             ; preds = %4032
  br label %4034

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

4035:                                             ; No predecessors!
  br label %4036

4036:                                             ; preds = %4035
  br label %4037

4037:                                             ; preds = %4036, %3977
  br label %4038

4038:                                             ; preds = %4037
  br label %4039

4039:                                             ; preds = %4038
  br label %4040

4040:                                             ; preds = %4039
  %4041 = load i32, ptr @test_count, align 4, !tbaa !5
  %4042 = add nsw i32 %4041, 1
  store i32 %4042, ptr @test_count, align 4, !tbaa !5
  %4043 = load ptr, ptr %71, align 8, !tbaa !9
  %4044 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %4043, i32 noundef 2)
  br i1 %4044, label %4098, label %4045

4045:                                             ; preds = %4040
  br label %4046

4046:                                             ; preds = %4045
  br label %4047

4047:                                             ; preds = %4046
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #10
  %4048 = call ptr @__errno_location() #11
  %4049 = load i32, ptr %4048, align 4, !tbaa !5
  store i32 %4049, ptr %83, align 4, !tbaa !5
  %4050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4051 = call i32 @s2n_print_stacktrace(ptr noundef %4050)
  %4052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4053 = trunc i8 %4052 to i1
  br i1 %4053, label %4054, label %4076

4054:                                             ; preds = %4047
  %4055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4056 = call i32 @fileno(ptr noundef %4055) #10
  %4057 = call i32 @isatty(i32 noundef %4056) #10
  %4058 = icmp ne i32 %4057, 0
  br i1 %4058, label %4059, label %4076

4059:                                             ; preds = %4054
  %4060 = load i32, ptr %83, align 4, !tbaa !5
  %4061 = call ptr @__errno_location() #11
  store i32 %4060, ptr %4061, align 4, !tbaa !5
  %4062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4063 = load i32, ptr @test_count, align 4, !tbaa !5
  %4064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4065 = load i32, ptr %4064, align 4, !tbaa !5
  %4066 = call ptr @s2n_strerror(i32 noundef %4065, ptr noundef @.str.10)
  %4067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4068 = load i32, ptr %4067, align 4, !tbaa !5
  %4069 = call ptr @s2n_strerror_debug(i32 noundef %4068, ptr noundef @.str.10)
  %4070 = call ptr @__errno_location() #11
  %4071 = load i32, ptr %4070, align 4, !tbaa !5
  %4072 = call ptr @strerror(i32 noundef %4071) #10
  %4073 = call ptr @__errno_location() #11
  %4074 = load i32, ptr %4073, align 4, !tbaa !5
  %4075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4062, ptr noundef @.str.8, i32 noundef %4063, ptr noundef @.str.28, ptr noundef @.str.7, i32 noundef 155, ptr noundef %4066, ptr noundef %4069, ptr noundef %4072, i32 noundef %4074) #10
  br label %4093

4076:                                             ; preds = %4054, %4047
  %4077 = load i32, ptr %83, align 4, !tbaa !5
  %4078 = call ptr @__errno_location() #11
  store i32 %4077, ptr %4078, align 4, !tbaa !5
  %4079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4080 = load i32, ptr @test_count, align 4, !tbaa !5
  %4081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4082 = load i32, ptr %4081, align 4, !tbaa !5
  %4083 = call ptr @s2n_strerror(i32 noundef %4082, ptr noundef @.str.10)
  %4084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4085 = load i32, ptr %4084, align 4, !tbaa !5
  %4086 = call ptr @s2n_strerror_debug(i32 noundef %4085, ptr noundef @.str.10)
  %4087 = call ptr @__errno_location() #11
  %4088 = load i32, ptr %4087, align 4, !tbaa !5
  %4089 = call ptr @strerror(i32 noundef %4088) #10
  %4090 = call ptr @__errno_location() #11
  %4091 = load i32, ptr %4090, align 4, !tbaa !5
  %4092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4079, ptr noundef @.str.11, i32 noundef %4080, ptr noundef @.str.28, ptr noundef @.str.7, i32 noundef 155, ptr noundef %4083, ptr noundef %4086, ptr noundef %4089, i32 noundef %4091) #10
  br label %4093

4093:                                             ; preds = %4076, %4059
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #10
  br label %4094

4094:                                             ; preds = %4093
  br label %4095

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

4096:                                             ; No predecessors!
  br label %4097

4097:                                             ; preds = %4096
  br label %4098

4098:                                             ; preds = %4097, %4040
  br label %4099

4099:                                             ; preds = %4098
  br label %4100

4100:                                             ; preds = %4099
  br label %4101

4101:                                             ; preds = %4100
  %4102 = load i32, ptr @test_count, align 4, !tbaa !5
  %4103 = add nsw i32 %4102, 1
  store i32 %4103, ptr @test_count, align 4, !tbaa !5
  %4104 = getelementptr inbounds [5 x i8], ptr %10, i64 0, i64 0
  %4105 = call i32 @s2n_stuffer_write_bytes(ptr noundef %75, ptr noundef %4104, i32 noundef 5)
  %4106 = icmp eq i32 %4105, -1
  br i1 %4106, label %4107, label %4160

4107:                                             ; preds = %4101
  br label %4108

4108:                                             ; preds = %4107
  br label %4109

4109:                                             ; preds = %4108
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #10
  %4110 = call ptr @__errno_location() #11
  %4111 = load i32, ptr %4110, align 4, !tbaa !5
  store i32 %4111, ptr %84, align 4, !tbaa !5
  %4112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4113 = call i32 @s2n_print_stacktrace(ptr noundef %4112)
  %4114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4115 = trunc i8 %4114 to i1
  br i1 %4115, label %4116, label %4138

4116:                                             ; preds = %4109
  %4117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4118 = call i32 @fileno(ptr noundef %4117) #10
  %4119 = call i32 @isatty(i32 noundef %4118) #10
  %4120 = icmp ne i32 %4119, 0
  br i1 %4120, label %4121, label %4138

4121:                                             ; preds = %4116
  %4122 = load i32, ptr %84, align 4, !tbaa !5
  %4123 = call ptr @__errno_location() #11
  store i32 %4122, ptr %4123, align 4, !tbaa !5
  %4124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4125 = load i32, ptr @test_count, align 4, !tbaa !5
  %4126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4127 = load i32, ptr %4126, align 4, !tbaa !5
  %4128 = call ptr @s2n_strerror(i32 noundef %4127, ptr noundef @.str.10)
  %4129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4130 = load i32, ptr %4129, align 4, !tbaa !5
  %4131 = call ptr @s2n_strerror_debug(i32 noundef %4130, ptr noundef @.str.10)
  %4132 = call ptr @__errno_location() #11
  %4133 = load i32, ptr %4132, align 4, !tbaa !5
  %4134 = call ptr @strerror(i32 noundef %4133) #10
  %4135 = call ptr @__errno_location() #11
  %4136 = load i32, ptr %4135, align 4, !tbaa !5
  %4137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4124, ptr noundef @.str.8, i32 noundef %4125, ptr noundef @.str.48, ptr noundef @.str.7, i32 noundef 159, ptr noundef %4128, ptr noundef %4131, ptr noundef %4134, i32 noundef %4136) #10
  br label %4155

4138:                                             ; preds = %4116, %4109
  %4139 = load i32, ptr %84, align 4, !tbaa !5
  %4140 = call ptr @__errno_location() #11
  store i32 %4139, ptr %4140, align 4, !tbaa !5
  %4141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4142 = load i32, ptr @test_count, align 4, !tbaa !5
  %4143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4144 = load i32, ptr %4143, align 4, !tbaa !5
  %4145 = call ptr @s2n_strerror(i32 noundef %4144, ptr noundef @.str.10)
  %4146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4147 = load i32, ptr %4146, align 4, !tbaa !5
  %4148 = call ptr @s2n_strerror_debug(i32 noundef %4147, ptr noundef @.str.10)
  %4149 = call ptr @__errno_location() #11
  %4150 = load i32, ptr %4149, align 4, !tbaa !5
  %4151 = call ptr @strerror(i32 noundef %4150) #10
  %4152 = call ptr @__errno_location() #11
  %4153 = load i32, ptr %4152, align 4, !tbaa !5
  %4154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4141, ptr noundef @.str.11, i32 noundef %4142, ptr noundef @.str.48, ptr noundef @.str.7, i32 noundef 159, ptr noundef %4145, ptr noundef %4148, ptr noundef %4151, i32 noundef %4153) #10
  br label %4155

4155:                                             ; preds = %4138, %4121
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #10
  br label %4156

4156:                                             ; preds = %4155
  br label %4157

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

4158:                                             ; No predecessors!
  br label %4159

4159:                                             ; preds = %4158
  br label %4160

4160:                                             ; preds = %4159, %4101
  br label %4161

4161:                                             ; preds = %4160
  br label %4162

4162:                                             ; preds = %4161
  br label %4163

4163:                                             ; preds = %4162
  %4164 = load i32, ptr @test_count, align 4, !tbaa !5
  %4165 = add nsw i32 %4164, 1
  store i32 %4165, ptr @test_count, align 4, !tbaa !5
  %4166 = call i32 @s2n_stuffer_write_uint8(ptr noundef %75, i8 noundef zeroext 2)
  %4167 = icmp eq i32 %4166, -1
  br i1 %4167, label %4168, label %4221

4168:                                             ; preds = %4163
  br label %4169

4169:                                             ; preds = %4168
  br label %4170

4170:                                             ; preds = %4169
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #10
  %4171 = call ptr @__errno_location() #11
  %4172 = load i32, ptr %4171, align 4, !tbaa !5
  store i32 %4172, ptr %85, align 4, !tbaa !5
  %4173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4174 = call i32 @s2n_print_stacktrace(ptr noundef %4173)
  %4175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4176 = trunc i8 %4175 to i1
  br i1 %4176, label %4177, label %4199

4177:                                             ; preds = %4170
  %4178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4179 = call i32 @fileno(ptr noundef %4178) #10
  %4180 = call i32 @isatty(i32 noundef %4179) #10
  %4181 = icmp ne i32 %4180, 0
  br i1 %4181, label %4182, label %4199

4182:                                             ; preds = %4177
  %4183 = load i32, ptr %85, align 4, !tbaa !5
  %4184 = call ptr @__errno_location() #11
  store i32 %4183, ptr %4184, align 4, !tbaa !5
  %4185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4186 = load i32, ptr @test_count, align 4, !tbaa !5
  %4187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4188 = load i32, ptr %4187, align 4, !tbaa !5
  %4189 = call ptr @s2n_strerror(i32 noundef %4188, ptr noundef @.str.10)
  %4190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4191 = load i32, ptr %4190, align 4, !tbaa !5
  %4192 = call ptr @s2n_strerror_debug(i32 noundef %4191, ptr noundef @.str.10)
  %4193 = call ptr @__errno_location() #11
  %4194 = load i32, ptr %4193, align 4, !tbaa !5
  %4195 = call ptr @strerror(i32 noundef %4194) #10
  %4196 = call ptr @__errno_location() #11
  %4197 = load i32, ptr %4196, align 4, !tbaa !5
  %4198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4185, ptr noundef @.str.8, i32 noundef %4186, ptr noundef @.str.49, ptr noundef @.str.7, i32 noundef 160, ptr noundef %4189, ptr noundef %4192, ptr noundef %4195, i32 noundef %4197) #10
  br label %4216

4199:                                             ; preds = %4177, %4170
  %4200 = load i32, ptr %85, align 4, !tbaa !5
  %4201 = call ptr @__errno_location() #11
  store i32 %4200, ptr %4201, align 4, !tbaa !5
  %4202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4203 = load i32, ptr @test_count, align 4, !tbaa !5
  %4204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4205 = load i32, ptr %4204, align 4, !tbaa !5
  %4206 = call ptr @s2n_strerror(i32 noundef %4205, ptr noundef @.str.10)
  %4207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4208 = load i32, ptr %4207, align 4, !tbaa !5
  %4209 = call ptr @s2n_strerror_debug(i32 noundef %4208, ptr noundef @.str.10)
  %4210 = call ptr @__errno_location() #11
  %4211 = load i32, ptr %4210, align 4, !tbaa !5
  %4212 = call ptr @strerror(i32 noundef %4211) #10
  %4213 = call ptr @__errno_location() #11
  %4214 = load i32, ptr %4213, align 4, !tbaa !5
  %4215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4202, ptr noundef @.str.11, i32 noundef %4203, ptr noundef @.str.49, ptr noundef @.str.7, i32 noundef 160, ptr noundef %4206, ptr noundef %4209, ptr noundef %4212, i32 noundef %4214) #10
  br label %4216

4216:                                             ; preds = %4199, %4182
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #10
  br label %4217

4217:                                             ; preds = %4216
  br label %4218

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

4219:                                             ; No predecessors!
  br label %4220

4220:                                             ; preds = %4219
  br label %4221

4221:                                             ; preds = %4220, %4163
  br label %4222

4222:                                             ; preds = %4221
  br label %4223

4223:                                             ; preds = %4222
  br label %4224

4224:                                             ; preds = %4223
  %4225 = load i32, ptr @test_count, align 4, !tbaa !5
  %4226 = add nsw i32 %4225, 1
  store i32 %4226, ptr @test_count, align 4, !tbaa !5
  %4227 = call i32 @s2n_stuffer_write_uint8(ptr noundef %75, i8 noundef zeroext 80)
  %4228 = icmp eq i32 %4227, -1
  br i1 %4228, label %4229, label %4282

4229:                                             ; preds = %4224
  br label %4230

4230:                                             ; preds = %4229
  br label %4231

4231:                                             ; preds = %4230
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #10
  %4232 = call ptr @__errno_location() #11
  %4233 = load i32, ptr %4232, align 4, !tbaa !5
  store i32 %4233, ptr %86, align 4, !tbaa !5
  %4234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4235 = call i32 @s2n_print_stacktrace(ptr noundef %4234)
  %4236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4237 = trunc i8 %4236 to i1
  br i1 %4237, label %4238, label %4260

4238:                                             ; preds = %4231
  %4239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4240 = call i32 @fileno(ptr noundef %4239) #10
  %4241 = call i32 @isatty(i32 noundef %4240) #10
  %4242 = icmp ne i32 %4241, 0
  br i1 %4242, label %4243, label %4260

4243:                                             ; preds = %4238
  %4244 = load i32, ptr %86, align 4, !tbaa !5
  %4245 = call ptr @__errno_location() #11
  store i32 %4244, ptr %4245, align 4, !tbaa !5
  %4246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4247 = load i32, ptr @test_count, align 4, !tbaa !5
  %4248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4249 = load i32, ptr %4248, align 4, !tbaa !5
  %4250 = call ptr @s2n_strerror(i32 noundef %4249, ptr noundef @.str.10)
  %4251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4252 = load i32, ptr %4251, align 4, !tbaa !5
  %4253 = call ptr @s2n_strerror_debug(i32 noundef %4252, ptr noundef @.str.10)
  %4254 = call ptr @__errno_location() #11
  %4255 = load i32, ptr %4254, align 4, !tbaa !5
  %4256 = call ptr @strerror(i32 noundef %4255) #10
  %4257 = call ptr @__errno_location() #11
  %4258 = load i32, ptr %4257, align 4, !tbaa !5
  %4259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4246, ptr noundef @.str.8, i32 noundef %4247, ptr noundef @.str.50, ptr noundef @.str.7, i32 noundef 161, ptr noundef %4250, ptr noundef %4253, ptr noundef %4256, i32 noundef %4258) #10
  br label %4277

4260:                                             ; preds = %4238, %4231
  %4261 = load i32, ptr %86, align 4, !tbaa !5
  %4262 = call ptr @__errno_location() #11
  store i32 %4261, ptr %4262, align 4, !tbaa !5
  %4263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4264 = load i32, ptr @test_count, align 4, !tbaa !5
  %4265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4266 = load i32, ptr %4265, align 4, !tbaa !5
  %4267 = call ptr @s2n_strerror(i32 noundef %4266, ptr noundef @.str.10)
  %4268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4269 = load i32, ptr %4268, align 4, !tbaa !5
  %4270 = call ptr @s2n_strerror_debug(i32 noundef %4269, ptr noundef @.str.10)
  %4271 = call ptr @__errno_location() #11
  %4272 = load i32, ptr %4271, align 4, !tbaa !5
  %4273 = call ptr @strerror(i32 noundef %4272) #10
  %4274 = call ptr @__errno_location() #11
  %4275 = load i32, ptr %4274, align 4, !tbaa !5
  %4276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4263, ptr noundef @.str.11, i32 noundef %4264, ptr noundef @.str.50, ptr noundef @.str.7, i32 noundef 161, ptr noundef %4267, ptr noundef %4270, ptr noundef %4273, i32 noundef %4275) #10
  br label %4277

4277:                                             ; preds = %4260, %4243
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #10
  br label %4278

4278:                                             ; preds = %4277
  br label %4279

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

4280:                                             ; No predecessors!
  br label %4281

4281:                                             ; preds = %4280
  br label %4282

4282:                                             ; preds = %4281, %4224
  br label %4283

4283:                                             ; preds = %4282
  br label %4284

4284:                                             ; preds = %4283
  call void @llvm.lifetime.start.p0(i64 1, ptr %87) #10
  call void @llvm.memset.p0.i64(ptr align 1 %87, i8 0, i64 1, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #10
  store i32 0, ptr %88, align 4, !tbaa !5
  br label %4285

4285:                                             ; preds = %4284
  br label %4286

4286:                                             ; preds = %4285
  br label %4287

4287:                                             ; preds = %4286
  %4288 = load i32, ptr @test_count, align 4, !tbaa !5
  %4289 = add nsw i32 %4288, 1
  store i32 %4289, ptr @test_count, align 4, !tbaa !5
  %4290 = load ptr, ptr %71, align 8, !tbaa !9
  %4291 = getelementptr inbounds [1 x i8], ptr %87, i64 0, i64 0
  %4292 = call i64 @s2n_recv(ptr noundef %4290, ptr noundef %4291, i64 noundef 1, ptr noundef %88)
  %4293 = icmp eq i64 %4292, -1
  br i1 %4293, label %4347, label %4294

4294:                                             ; preds = %4287
  br label %4295

4295:                                             ; preds = %4294
  br label %4296

4296:                                             ; preds = %4295
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #10
  %4297 = call ptr @__errno_location() #11
  %4298 = load i32, ptr %4297, align 4, !tbaa !5
  store i32 %4298, ptr %89, align 4, !tbaa !5
  %4299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4300 = call i32 @s2n_print_stacktrace(ptr noundef %4299)
  %4301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4302 = trunc i8 %4301 to i1
  br i1 %4302, label %4303, label %4325

4303:                                             ; preds = %4296
  %4304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4305 = call i32 @fileno(ptr noundef %4304) #10
  %4306 = call i32 @isatty(i32 noundef %4305) #10
  %4307 = icmp ne i32 %4306, 0
  br i1 %4307, label %4308, label %4325

4308:                                             ; preds = %4303
  %4309 = load i32, ptr %89, align 4, !tbaa !5
  %4310 = call ptr @__errno_location() #11
  store i32 %4309, ptr %4310, align 4, !tbaa !5
  %4311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4312 = load i32, ptr @test_count, align 4, !tbaa !5
  %4313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4314 = load i32, ptr %4313, align 4, !tbaa !5
  %4315 = call ptr @s2n_strerror(i32 noundef %4314, ptr noundef @.str.10)
  %4316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4317 = load i32, ptr %4316, align 4, !tbaa !5
  %4318 = call ptr @s2n_strerror_debug(i32 noundef %4317, ptr noundef @.str.10)
  %4319 = call ptr @__errno_location() #11
  %4320 = load i32, ptr %4319, align 4, !tbaa !5
  %4321 = call ptr @strerror(i32 noundef %4320) #10
  %4322 = call ptr @__errno_location() #11
  %4323 = load i32, ptr %4322, align 4, !tbaa !5
  %4324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4311, ptr noundef @.str.8, i32 noundef %4312, ptr noundef @.str.51, ptr noundef @.str.7, i32 noundef 167, ptr noundef %4315, ptr noundef %4318, ptr noundef %4321, i32 noundef %4323) #10
  br label %4342

4325:                                             ; preds = %4303, %4296
  %4326 = load i32, ptr %89, align 4, !tbaa !5
  %4327 = call ptr @__errno_location() #11
  store i32 %4326, ptr %4327, align 4, !tbaa !5
  %4328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4329 = load i32, ptr @test_count, align 4, !tbaa !5
  %4330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4331 = load i32, ptr %4330, align 4, !tbaa !5
  %4332 = call ptr @s2n_strerror(i32 noundef %4331, ptr noundef @.str.10)
  %4333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4334 = load i32, ptr %4333, align 4, !tbaa !5
  %4335 = call ptr @s2n_strerror_debug(i32 noundef %4334, ptr noundef @.str.10)
  %4336 = call ptr @__errno_location() #11
  %4337 = load i32, ptr %4336, align 4, !tbaa !5
  %4338 = call ptr @strerror(i32 noundef %4337) #10
  %4339 = call ptr @__errno_location() #11
  %4340 = load i32, ptr %4339, align 4, !tbaa !5
  %4341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4328, ptr noundef @.str.11, i32 noundef %4329, ptr noundef @.str.51, ptr noundef @.str.7, i32 noundef 167, ptr noundef %4332, ptr noundef %4335, ptr noundef %4338, i32 noundef %4340) #10
  br label %4342

4342:                                             ; preds = %4325, %4308
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #10
  br label %4343

4343:                                             ; preds = %4342
  br label %4344

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

4345:                                             ; No predecessors!
  br label %4346

4346:                                             ; preds = %4345
  br label %4347

4347:                                             ; preds = %4346, %4287
  br label %4348

4348:                                             ; preds = %4347
  br label %4349

4349:                                             ; preds = %4348
  br label %4350

4350:                                             ; preds = %4349
  %4351 = load i32, ptr @test_count, align 4, !tbaa !5
  %4352 = add nsw i32 %4351, 1
  store i32 %4352, ptr @test_count, align 4, !tbaa !5
  %4353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4354 = load i32, ptr %4353, align 4, !tbaa !5
  %4355 = icmp eq i32 %4354, 268435456
  br i1 %4355, label %4409, label %4356

4356:                                             ; preds = %4350
  br label %4357

4357:                                             ; preds = %4356
  br label %4358

4358:                                             ; preds = %4357
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #10
  %4359 = call ptr @__errno_location() #11
  %4360 = load i32, ptr %4359, align 4, !tbaa !5
  store i32 %4360, ptr %90, align 4, !tbaa !5
  %4361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4362 = call i32 @s2n_print_stacktrace(ptr noundef %4361)
  %4363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4364 = trunc i8 %4363 to i1
  br i1 %4364, label %4365, label %4387

4365:                                             ; preds = %4358
  %4366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4367 = call i32 @fileno(ptr noundef %4366) #10
  %4368 = call i32 @isatty(i32 noundef %4367) #10
  %4369 = icmp ne i32 %4368, 0
  br i1 %4369, label %4370, label %4387

4370:                                             ; preds = %4365
  %4371 = load i32, ptr %90, align 4, !tbaa !5
  %4372 = call ptr @__errno_location() #11
  store i32 %4371, ptr %4372, align 4, !tbaa !5
  %4373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4374 = load i32, ptr @test_count, align 4, !tbaa !5
  %4375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4376 = load i32, ptr %4375, align 4, !tbaa !5
  %4377 = call ptr @s2n_strerror(i32 noundef %4376, ptr noundef @.str.10)
  %4378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4379 = load i32, ptr %4378, align 4, !tbaa !5
  %4380 = call ptr @s2n_strerror_debug(i32 noundef %4379, ptr noundef @.str.10)
  %4381 = call ptr @__errno_location() #11
  %4382 = load i32, ptr %4381, align 4, !tbaa !5
  %4383 = call ptr @strerror(i32 noundef %4382) #10
  %4384 = call ptr @__errno_location() #11
  %4385 = load i32, ptr %4384, align 4, !tbaa !5
  %4386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4373, ptr noundef @.str.8, i32 noundef %4374, ptr noundef @.str.52, ptr noundef @.str.7, i32 noundef 167, ptr noundef %4377, ptr noundef %4380, ptr noundef %4383, i32 noundef %4385) #10
  br label %4404

4387:                                             ; preds = %4365, %4358
  %4388 = load i32, ptr %90, align 4, !tbaa !5
  %4389 = call ptr @__errno_location() #11
  store i32 %4388, ptr %4389, align 4, !tbaa !5
  %4390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4391 = load i32, ptr @test_count, align 4, !tbaa !5
  %4392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4393 = load i32, ptr %4392, align 4, !tbaa !5
  %4394 = call ptr @s2n_strerror(i32 noundef %4393, ptr noundef @.str.10)
  %4395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4396 = load i32, ptr %4395, align 4, !tbaa !5
  %4397 = call ptr @s2n_strerror_debug(i32 noundef %4396, ptr noundef @.str.10)
  %4398 = call ptr @__errno_location() #11
  %4399 = load i32, ptr %4398, align 4, !tbaa !5
  %4400 = call ptr @strerror(i32 noundef %4399) #10
  %4401 = call ptr @__errno_location() #11
  %4402 = load i32, ptr %4401, align 4, !tbaa !5
  %4403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4390, ptr noundef @.str.11, i32 noundef %4391, ptr noundef @.str.52, ptr noundef @.str.7, i32 noundef 167, ptr noundef %4394, ptr noundef %4397, ptr noundef %4400, i32 noundef %4402) #10
  br label %4404

4404:                                             ; preds = %4387, %4370
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #10
  br label %4405

4405:                                             ; preds = %4404
  br label %4406

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

4407:                                             ; No predecessors!
  br label %4408

4408:                                             ; preds = %4407
  br label %4409

4409:                                             ; preds = %4408, %4350
  br label %4410

4410:                                             ; preds = %4409
  br label %4411

4411:                                             ; preds = %4410
  br label %4412

4412:                                             ; preds = %4411
  %4413 = load i32, ptr @test_count, align 4, !tbaa !5
  %4414 = add nsw i32 %4413, 1
  store i32 %4414, ptr @test_count, align 4, !tbaa !5
  %4415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4416 = load i32, ptr %4415, align 4, !tbaa !5
  %4417 = call ptr @s2n_strerror_debug(i32 noundef %4416, ptr noundef @.str.10)
  %4418 = icmp eq ptr %4417, null
  br i1 %4418, label %4419, label %4472

4419:                                             ; preds = %4412
  br label %4420

4420:                                             ; preds = %4419
  br label %4421

4421:                                             ; preds = %4420
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #10
  %4422 = call ptr @__errno_location() #11
  %4423 = load i32, ptr %4422, align 4, !tbaa !5
  store i32 %4423, ptr %91, 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) #10
  %4431 = call i32 @isatty(i32 noundef %4430) #10
  %4432 = icmp ne i32 %4431, 0
  br i1 %4432, label %4433, label %4450

4433:                                             ; preds = %4428
  %4434 = load i32, ptr %91, align 4, !tbaa !5
  %4435 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %4444 = call ptr @__errno_location() #11
  %4445 = load i32, ptr %4444, align 4, !tbaa !5
  %4446 = call ptr @strerror(i32 noundef %4445) #10
  %4447 = call ptr @__errno_location() #11
  %4448 = load i32, ptr %4447, align 4, !tbaa !5
  %4449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4436, ptr noundef @.str.8, i32 noundef %4437, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 167, ptr noundef %4440, ptr noundef %4443, ptr noundef %4446, i32 noundef %4448) #10
  br label %4467

4450:                                             ; preds = %4428, %4421
  %4451 = load i32, ptr %91, align 4, !tbaa !5
  %4452 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %4461 = call ptr @__errno_location() #11
  %4462 = load i32, ptr %4461, align 4, !tbaa !5
  %4463 = call ptr @strerror(i32 noundef %4462) #10
  %4464 = call ptr @__errno_location() #11
  %4465 = load i32, ptr %4464, align 4, !tbaa !5
  %4466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4453, ptr noundef @.str.11, i32 noundef %4454, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 167, ptr noundef %4457, ptr noundef %4460, ptr noundef %4463, i32 noundef %4465) #10
  br label %4467

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

4468:                                             ; preds = %4467
  br label %4469

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

4470:                                             ; No predecessors!
  br label %4471

4471:                                             ; preds = %4470
  br label %4472

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

4473:                                             ; preds = %4472
  br label %4474

4474:                                             ; preds = %4473
  br label %4475

4475:                                             ; preds = %4474
  br label %4476

4476:                                             ; preds = %4475
  br label %4477

4477:                                             ; preds = %4476
  %4478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4478, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4479 = call ptr @__errno_location() #11
  store i32 0, ptr %4479, align 4, !tbaa !5
  br label %4480

4480:                                             ; preds = %4477
  br label %4481

4481:                                             ; preds = %4480
  br label %4482

4482:                                             ; preds = %4481
  br label %4483

4483:                                             ; preds = %4482
  br label %4484

4484:                                             ; preds = %4483
  %4485 = load i32, ptr @test_count, align 4, !tbaa !5
  %4486 = add nsw i32 %4485, 1
  store i32 %4486, ptr @test_count, align 4, !tbaa !5
  %4487 = load ptr, ptr %71, align 8, !tbaa !9
  %4488 = call i32 @s2n_connection_get_alert(ptr noundef %4487)
  %4489 = icmp eq i32 %4488, 80
  br i1 %4489, label %4543, label %4490

4490:                                             ; preds = %4484
  br label %4491

4491:                                             ; preds = %4490
  br label %4492

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

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

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

4521:                                             ; preds = %4499, %4492
  %4522 = load i32, ptr %92, align 4, !tbaa !5
  %4523 = call ptr @__errno_location() #11
  store i32 %4522, ptr %4523, align 4, !tbaa !5
  %4524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4525 = load i32, ptr @test_count, align 4, !tbaa !5
  %4526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4527 = load i32, ptr %4526, align 4, !tbaa !5
  %4528 = call ptr @s2n_strerror(i32 noundef %4527, ptr noundef @.str.10)
  %4529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4530 = load i32, ptr %4529, align 4, !tbaa !5
  %4531 = call ptr @s2n_strerror_debug(i32 noundef %4530, ptr noundef @.str.10)
  %4532 = call ptr @__errno_location() #11
  %4533 = load i32, ptr %4532, align 4, !tbaa !5
  %4534 = call ptr @strerror(i32 noundef %4533) #10
  %4535 = call ptr @__errno_location() #11
  %4536 = load i32, ptr %4535, align 4, !tbaa !5
  %4537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4524, ptr noundef @.str.11, i32 noundef %4525, ptr noundef @.str.53, ptr noundef @.str.7, i32 noundef 172, ptr noundef %4528, ptr noundef %4531, ptr noundef %4534, i32 noundef %4536) #10
  br label %4538

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

4539:                                             ; preds = %4538
  br label %4540

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

4541:                                             ; No predecessors!
  br label %4542

4542:                                             ; preds = %4541
  br label %4543

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

4544:                                             ; preds = %4543
  br label %4545

4545:                                             ; preds = %4544
  br label %4546

4546:                                             ; preds = %4545
  br label %4547

4547:                                             ; preds = %4546
  br label %4548

4548:                                             ; preds = %4547
  %4549 = load i32, ptr @test_count, align 4, !tbaa !5
  %4550 = add nsw i32 %4549, 1
  store i32 %4550, ptr @test_count, align 4, !tbaa !5
  %4551 = load ptr, ptr %71, align 8, !tbaa !9
  %4552 = call i32 @s2n_connection_get_alert(ptr noundef %4551)
  %4553 = icmp eq i32 %4552, -1
  br i1 %4553, label %4607, label %4554

4554:                                             ; preds = %4548
  br label %4555

4555:                                             ; preds = %4554
  br label %4556

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

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

4568:                                             ; preds = %4563
  %4569 = load i32, ptr %93, align 4, !tbaa !5
  %4570 = call ptr @__errno_location() #11
  store i32 %4569, ptr %4570, align 4, !tbaa !5
  %4571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4572 = load i32, ptr @test_count, align 4, !tbaa !5
  %4573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4574 = load i32, ptr %4573, align 4, !tbaa !5
  %4575 = call ptr @s2n_strerror(i32 noundef %4574, ptr noundef @.str.10)
  %4576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4577 = load i32, ptr %4576, align 4, !tbaa !5
  %4578 = call ptr @s2n_strerror_debug(i32 noundef %4577, ptr noundef @.str.10)
  %4579 = call ptr @__errno_location() #11
  %4580 = load i32, ptr %4579, align 4, !tbaa !5
  %4581 = call ptr @strerror(i32 noundef %4580) #10
  %4582 = call ptr @__errno_location() #11
  %4583 = load i32, ptr %4582, align 4, !tbaa !5
  %4584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4571, ptr noundef @.str.8, i32 noundef %4572, ptr noundef @.str.54, ptr noundef @.str.7, i32 noundef 173, ptr noundef %4575, ptr noundef %4578, ptr noundef %4581, i32 noundef %4583) #10
  br label %4602

4585:                                             ; preds = %4563, %4556
  %4586 = load i32, ptr %93, align 4, !tbaa !5
  %4587 = call ptr @__errno_location() #11
  store i32 %4586, ptr %4587, align 4, !tbaa !5
  %4588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4589 = load i32, ptr @test_count, align 4, !tbaa !5
  %4590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4591 = load i32, ptr %4590, align 4, !tbaa !5
  %4592 = call ptr @s2n_strerror(i32 noundef %4591, ptr noundef @.str.10)
  %4593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4594 = load i32, ptr %4593, align 4, !tbaa !5
  %4595 = call ptr @s2n_strerror_debug(i32 noundef %4594, ptr noundef @.str.10)
  %4596 = call ptr @__errno_location() #11
  %4597 = load i32, ptr %4596, align 4, !tbaa !5
  %4598 = call ptr @strerror(i32 noundef %4597) #10
  %4599 = call ptr @__errno_location() #11
  %4600 = load i32, ptr %4599, align 4, !tbaa !5
  %4601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4588, ptr noundef @.str.11, i32 noundef %4589, ptr noundef @.str.54, ptr noundef @.str.7, i32 noundef 173, ptr noundef %4592, ptr noundef %4595, ptr noundef %4598, i32 noundef %4600) #10
  br label %4602

4602:                                             ; preds = %4585, %4568
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #10
  br label %4603

4603:                                             ; preds = %4602
  br label %4604

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

4605:                                             ; No predecessors!
  br label %4606

4606:                                             ; preds = %4605
  br label %4607

4607:                                             ; preds = %4606, %4548
  br label %4608

4608:                                             ; preds = %4607
  br label %4609

4609:                                             ; preds = %4608
  br label %4610

4610:                                             ; preds = %4609
  %4611 = load i32, ptr @test_count, align 4, !tbaa !5
  %4612 = add nsw i32 %4611, 1
  store i32 %4612, ptr @test_count, align 4, !tbaa !5
  %4613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4614 = load i32, ptr %4613, align 4, !tbaa !5
  %4615 = icmp eq i32 %4614, 469762048
  br i1 %4615, label %4669, label %4616

4616:                                             ; preds = %4610
  br label %4617

4617:                                             ; preds = %4616
  br label %4618

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

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

4630:                                             ; preds = %4625
  %4631 = load i32, ptr %94, align 4, !tbaa !5
  %4632 = call ptr @__errno_location() #11
  store i32 %4631, ptr %4632, align 4, !tbaa !5
  %4633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4634 = load i32, ptr @test_count, align 4, !tbaa !5
  %4635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4636 = load i32, ptr %4635, align 4, !tbaa !5
  %4637 = call ptr @s2n_strerror(i32 noundef %4636, ptr noundef @.str.10)
  %4638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4639 = load i32, ptr %4638, align 4, !tbaa !5
  %4640 = call ptr @s2n_strerror_debug(i32 noundef %4639, ptr noundef @.str.10)
  %4641 = call ptr @__errno_location() #11
  %4642 = load i32, ptr %4641, align 4, !tbaa !5
  %4643 = call ptr @strerror(i32 noundef %4642) #10
  %4644 = call ptr @__errno_location() #11
  %4645 = load i32, ptr %4644, align 4, !tbaa !5
  %4646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4633, ptr noundef @.str.8, i32 noundef %4634, ptr noundef @.str.55, ptr noundef @.str.7, i32 noundef 173, ptr noundef %4637, ptr noundef %4640, ptr noundef %4643, i32 noundef %4645) #10
  br label %4664

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

4664:                                             ; preds = %4647, %4630
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #10
  br label %4665

4665:                                             ; preds = %4664
  br label %4666

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

4667:                                             ; No predecessors!
  br label %4668

4668:                                             ; preds = %4667
  br label %4669

4669:                                             ; preds = %4668, %4610
  br label %4670

4670:                                             ; preds = %4669
  br label %4671

4671:                                             ; preds = %4670
  br label %4672

4672:                                             ; preds = %4671
  %4673 = load i32, ptr @test_count, align 4, !tbaa !5
  %4674 = add nsw i32 %4673, 1
  store i32 %4674, ptr @test_count, align 4, !tbaa !5
  %4675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4676 = load i32, ptr %4675, align 4, !tbaa !5
  %4677 = call ptr @s2n_strerror_debug(i32 noundef %4676, ptr noundef @.str.10)
  %4678 = icmp eq ptr %4677, null
  br i1 %4678, label %4679, label %4732

4679:                                             ; preds = %4672
  br label %4680

4680:                                             ; preds = %4679
  br label %4681

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

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

4693:                                             ; preds = %4688
  %4694 = load i32, ptr %95, align 4, !tbaa !5
  %4695 = call ptr @__errno_location() #11
  store i32 %4694, ptr %4695, align 4, !tbaa !5
  %4696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4697 = load i32, ptr @test_count, align 4, !tbaa !5
  %4698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4699 = load i32, ptr %4698, align 4, !tbaa !5
  %4700 = call ptr @s2n_strerror(i32 noundef %4699, ptr noundef @.str.10)
  %4701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4702 = load i32, ptr %4701, align 4, !tbaa !5
  %4703 = call ptr @s2n_strerror_debug(i32 noundef %4702, ptr noundef @.str.10)
  %4704 = call ptr @__errno_location() #11
  %4705 = load i32, ptr %4704, align 4, !tbaa !5
  %4706 = call ptr @strerror(i32 noundef %4705) #10
  %4707 = call ptr @__errno_location() #11
  %4708 = load i32, ptr %4707, align 4, !tbaa !5
  %4709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4696, ptr noundef @.str.8, i32 noundef %4697, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 173, ptr noundef %4700, ptr noundef %4703, ptr noundef %4706, i32 noundef %4708) #10
  br label %4727

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

4727:                                             ; preds = %4710, %4693
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #10
  br label %4728

4728:                                             ; preds = %4727
  br label %4729

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

4730:                                             ; No predecessors!
  br label %4731

4731:                                             ; preds = %4730
  br label %4732

4732:                                             ; preds = %4731, %4672
  br label %4733

4733:                                             ; preds = %4732
  br label %4734

4734:                                             ; preds = %4733
  br label %4735

4735:                                             ; preds = %4734
  br label %4736

4736:                                             ; preds = %4735
  br label %4737

4737:                                             ; preds = %4736
  %4738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4738, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4739 = call ptr @__errno_location() #11
  store i32 0, ptr %4739, align 4, !tbaa !5
  br label %4740

4740:                                             ; preds = %4737
  br label %4741

4741:                                             ; preds = %4740
  br label %4742

4742:                                             ; preds = %4741
  br label %4743

4743:                                             ; preds = %4742
  br label %4744

4744:                                             ; preds = %4743
  %4745 = load i32, ptr @test_count, align 4, !tbaa !5
  %4746 = add nsw i32 %4745, 1
  store i32 %4746, ptr @test_count, align 4, !tbaa !5
  %4747 = load ptr, ptr %71, align 8, !tbaa !9
  %4748 = call i32 @s2n_shutdown(ptr noundef %4747, ptr noundef %88)
  %4749 = icmp eq i32 %4748, -1
  br i1 %4749, label %4750, label %4803

4750:                                             ; preds = %4744
  br label %4751

4751:                                             ; preds = %4750
  br label %4752

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

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

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

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

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

4799:                                             ; preds = %4798
  br label %4800

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

4801:                                             ; No predecessors!
  br label %4802

4802:                                             ; preds = %4801
  br label %4803

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

4804:                                             ; preds = %4803
  br label %4805

4805:                                             ; preds = %4804
  br label %4806

4806:                                             ; preds = %4805
  %4807 = load i32, ptr @test_count, align 4, !tbaa !5
  %4808 = add nsw i32 %4807, 1
  store i32 %4808, ptr @test_count, align 4, !tbaa !5
  %4809 = load ptr, ptr %71, align 8, !tbaa !9
  %4810 = call zeroext i1 @s2n_handshake_is_complete(ptr noundef %4809)
  br i1 %4810, label %4864, label %4811

4811:                                             ; preds = %4806
  br label %4812

4812:                                             ; preds = %4811
  br label %4813

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

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

4825:                                             ; preds = %4820
  %4826 = load i32, ptr %97, align 4, !tbaa !5
  %4827 = call ptr @__errno_location() #11
  store i32 %4826, ptr %4827, align 4, !tbaa !5
  %4828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4829 = load i32, ptr @test_count, align 4, !tbaa !5
  %4830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4831 = load i32, ptr %4830, align 4, !tbaa !5
  %4832 = call ptr @s2n_strerror(i32 noundef %4831, ptr noundef @.str.10)
  %4833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4834 = load i32, ptr %4833, align 4, !tbaa !5
  %4835 = call ptr @s2n_strerror_debug(i32 noundef %4834, ptr noundef @.str.10)
  %4836 = call ptr @__errno_location() #11
  %4837 = load i32, ptr %4836, align 4, !tbaa !5
  %4838 = call ptr @strerror(i32 noundef %4837) #10
  %4839 = call ptr @__errno_location() #11
  %4840 = load i32, ptr %4839, align 4, !tbaa !5
  %4841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4828, ptr noundef @.str.8, i32 noundef %4829, ptr noundef @.str.25, ptr noundef @.str.7, i32 noundef 179, ptr noundef %4832, ptr noundef %4835, ptr noundef %4838, i32 noundef %4840) #10
  br label %4859

4842:                                             ; preds = %4820, %4813
  %4843 = load i32, ptr %97, align 4, !tbaa !5
  %4844 = call ptr @__errno_location() #11
  store i32 %4843, ptr %4844, align 4, !tbaa !5
  %4845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4846 = load i32, ptr @test_count, align 4, !tbaa !5
  %4847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4848 = load i32, ptr %4847, align 4, !tbaa !5
  %4849 = call ptr @s2n_strerror(i32 noundef %4848, ptr noundef @.str.10)
  %4850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4851 = load i32, ptr %4850, align 4, !tbaa !5
  %4852 = call ptr @s2n_strerror_debug(i32 noundef %4851, ptr noundef @.str.10)
  %4853 = call ptr @__errno_location() #11
  %4854 = load i32, ptr %4853, align 4, !tbaa !5
  %4855 = call ptr @strerror(i32 noundef %4854) #10
  %4856 = call ptr @__errno_location() #11
  %4857 = load i32, ptr %4856, align 4, !tbaa !5
  %4858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4845, ptr noundef @.str.11, i32 noundef %4846, ptr noundef @.str.25, ptr noundef @.str.7, i32 noundef 179, ptr noundef %4849, ptr noundef %4852, ptr noundef %4855, i32 noundef %4857) #10
  br label %4859

4859:                                             ; preds = %4842, %4825
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #10
  br label %4860

4860:                                             ; preds = %4859
  br label %4861

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

4862:                                             ; No predecessors!
  br label %4863

4863:                                             ; preds = %4862
  br label %4864

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

4865:                                             ; preds = %4864
  br label %4866

4866:                                             ; preds = %4865
  br label %4867

4867:                                             ; preds = %4866
  %4868 = load i32, ptr @test_count, align 4, !tbaa !5
  %4869 = add nsw i32 %4868, 1
  store i32 %4869, ptr @test_count, align 4, !tbaa !5
  %4870 = load ptr, ptr %71, align 8, !tbaa !9
  %4871 = getelementptr inbounds %struct.s2n_connection, ptr %4870, i32 0, i32 51
  %4872 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %4871)
  br i1 %4872, label %4873, label %4926

4873:                                             ; preds = %4867
  br label %4874

4874:                                             ; preds = %4873
  br label %4875

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

4882:                                             ; preds = %4875
  %4883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4884 = call i32 @fileno(ptr noundef %4883) #10
  %4885 = call i32 @isatty(i32 noundef %4884) #10
  %4886 = icmp ne i32 %4885, 0
  br i1 %4886, label %4887, label %4904

4887:                                             ; preds = %4882
  %4888 = load i32, ptr %98, align 4, !tbaa !5
  %4889 = call ptr @__errno_location() #11
  store i32 %4888, ptr %4889, align 4, !tbaa !5
  %4890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4891 = load i32, ptr @test_count, align 4, !tbaa !5
  %4892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4893 = load i32, ptr %4892, align 4, !tbaa !5
  %4894 = call ptr @s2n_strerror(i32 noundef %4893, ptr noundef @.str.10)
  %4895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4896 = load i32, ptr %4895, align 4, !tbaa !5
  %4897 = call ptr @s2n_strerror_debug(i32 noundef %4896, ptr noundef @.str.10)
  %4898 = call ptr @__errno_location() #11
  %4899 = load i32, ptr %4898, align 4, !tbaa !5
  %4900 = call ptr @strerror(i32 noundef %4899) #10
  %4901 = call ptr @__errno_location() #11
  %4902 = load i32, ptr %4901, align 4, !tbaa !5
  %4903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4890, ptr noundef @.str.8, i32 noundef %4891, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 180, ptr noundef %4894, ptr noundef %4897, ptr noundef %4900, i32 noundef %4902) #10
  br label %4921

4904:                                             ; preds = %4882, %4875
  %4905 = load i32, ptr %98, align 4, !tbaa !5
  %4906 = call ptr @__errno_location() #11
  store i32 %4905, ptr %4906, align 4, !tbaa !5
  %4907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4908 = load i32, ptr @test_count, align 4, !tbaa !5
  %4909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4910 = load i32, ptr %4909, align 4, !tbaa !5
  %4911 = call ptr @s2n_strerror(i32 noundef %4910, ptr noundef @.str.10)
  %4912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4913 = load i32, ptr %4912, align 4, !tbaa !5
  %4914 = call ptr @s2n_strerror_debug(i32 noundef %4913, ptr noundef @.str.10)
  %4915 = call ptr @__errno_location() #11
  %4916 = load i32, ptr %4915, align 4, !tbaa !5
  %4917 = call ptr @strerror(i32 noundef %4916) #10
  %4918 = call ptr @__errno_location() #11
  %4919 = load i32, ptr %4918, align 4, !tbaa !5
  %4920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4907, ptr noundef @.str.11, i32 noundef %4908, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 180, ptr noundef %4911, ptr noundef %4914, ptr noundef %4917, i32 noundef %4919) #10
  br label %4921

4921:                                             ; preds = %4904, %4887
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #10
  br label %4922

4922:                                             ; preds = %4921
  br label %4923

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

4924:                                             ; No predecessors!
  br label %4925

4925:                                             ; preds = %4924
  br label %4926

4926:                                             ; preds = %4925, %4867
  br label %4927

4927:                                             ; preds = %4926
  br label %4928

4928:                                             ; preds = %4927
  br label %4929

4929:                                             ; preds = %4928
  %4930 = load i32, ptr @test_count, align 4, !tbaa !5
  %4931 = add nsw i32 %4930, 1
  store i32 %4931, ptr @test_count, align 4, !tbaa !5
  %4932 = load ptr, ptr %71, align 8, !tbaa !9
  %4933 = getelementptr inbounds %struct.s2n_connection, ptr %4932, i32 0, i32 49
  %4934 = load i8, ptr %4933, align 1, !tbaa !16, !range !13, !noundef !14
  %4935 = trunc i8 %4934 to i1
  br i1 %4935, label %4936, label %4989

4936:                                             ; preds = %4929
  br label %4937

4937:                                             ; preds = %4936
  br label %4938

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

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

4950:                                             ; preds = %4945
  %4951 = load i32, ptr %99, align 4, !tbaa !5
  %4952 = call ptr @__errno_location() #11
  store i32 %4951, ptr %4952, align 4, !tbaa !5
  %4953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4954 = load i32, ptr @test_count, align 4, !tbaa !5
  %4955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4956 = load i32, ptr %4955, align 4, !tbaa !5
  %4957 = call ptr @s2n_strerror(i32 noundef %4956, ptr noundef @.str.10)
  %4958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4959 = load i32, ptr %4958, align 4, !tbaa !5
  %4960 = call ptr @s2n_strerror_debug(i32 noundef %4959, ptr noundef @.str.10)
  %4961 = call ptr @__errno_location() #11
  %4962 = load i32, ptr %4961, align 4, !tbaa !5
  %4963 = call ptr @strerror(i32 noundef %4962) #10
  %4964 = call ptr @__errno_location() #11
  %4965 = load i32, ptr %4964, align 4, !tbaa !5
  %4966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4953, ptr noundef @.str.8, i32 noundef %4954, ptr noundef @.str.27, ptr noundef @.str.7, i32 noundef 181, ptr noundef %4957, ptr noundef %4960, ptr noundef %4963, i32 noundef %4965) #10
  br label %4984

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

4984:                                             ; preds = %4967, %4950
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #10
  br label %4985

4985:                                             ; preds = %4984
  br label %4986

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

4987:                                             ; No predecessors!
  br label %4988

4988:                                             ; preds = %4987
  br label %4989

4989:                                             ; preds = %4988, %4929
  br label %4990

4990:                                             ; preds = %4989
  br label %4991

4991:                                             ; preds = %4990
  br label %4992

4992:                                             ; preds = %4991
  %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 %71, align 8, !tbaa !9
  %4996 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %4995, i32 noundef 3)
  br i1 %4996, label %5050, label %4997

4997:                                             ; preds = %4992
  br label %4998

4998:                                             ; preds = %4997
  br label %4999

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

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

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

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

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

5046:                                             ; preds = %5045
  br label %5047

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

5048:                                             ; No predecessors!
  br label %5049

5049:                                             ; preds = %5048
  br label %5050

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

5051:                                             ; preds = %5050
  br label %5052

5052:                                             ; preds = %5051
  br label %5053

5053:                                             ; preds = %5052
  %5054 = load i32, ptr @test_count, align 4, !tbaa !5
  %5055 = add nsw i32 %5054, 1
  store i32 %5055, ptr @test_count, align 4, !tbaa !5
  %5056 = getelementptr inbounds %struct.s2n_stuffer, ptr %77, i32 0, i32 2
  %5057 = load i32, ptr %5056, align 4, !tbaa !43
  %5058 = getelementptr inbounds %struct.s2n_stuffer, ptr %77, i32 0, i32 1
  %5059 = load i32, ptr %5058, align 8, !tbaa !44
  %5060 = sub i32 %5057, %5059
  %5061 = icmp eq i32 %5060, 0
  br i1 %5061, label %5115, label %5062

5062:                                             ; preds = %5053
  br label %5063

5063:                                             ; preds = %5062
  br label %5064

5064:                                             ; preds = %5063
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #10
  %5065 = call ptr @__errno_location() #11
  %5066 = load i32, ptr %5065, align 4, !tbaa !5
  store i32 %5066, ptr %101, align 4, !tbaa !5
  %5067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5068 = call i32 @s2n_print_stacktrace(ptr noundef %5067)
  %5069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5070 = trunc i8 %5069 to i1
  br i1 %5070, label %5071, label %5093

5071:                                             ; preds = %5064
  %5072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5073 = call i32 @fileno(ptr noundef %5072) #10
  %5074 = call i32 @isatty(i32 noundef %5073) #10
  %5075 = icmp ne i32 %5074, 0
  br i1 %5075, label %5076, label %5093

5076:                                             ; preds = %5071
  %5077 = load i32, ptr %101, align 4, !tbaa !5
  %5078 = call ptr @__errno_location() #11
  store i32 %5077, ptr %5078, align 4, !tbaa !5
  %5079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5080 = load i32, ptr @test_count, align 4, !tbaa !5
  %5081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5082 = load i32, ptr %5081, align 4, !tbaa !5
  %5083 = call ptr @s2n_strerror(i32 noundef %5082, ptr noundef @.str.10)
  %5084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5085 = load i32, ptr %5084, align 4, !tbaa !5
  %5086 = call ptr @s2n_strerror_debug(i32 noundef %5085, ptr noundef @.str.10)
  %5087 = call ptr @__errno_location() #11
  %5088 = load i32, ptr %5087, align 4, !tbaa !5
  %5089 = call ptr @strerror(i32 noundef %5088) #10
  %5090 = call ptr @__errno_location() #11
  %5091 = load i32, ptr %5090, align 4, !tbaa !5
  %5092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5079, ptr noundef @.str.8, i32 noundef %5080, ptr noundef @.str.56, ptr noundef @.str.7, i32 noundef 185, ptr noundef %5083, ptr noundef %5086, ptr noundef %5089, i32 noundef %5091) #10
  br label %5110

5093:                                             ; preds = %5071, %5064
  %5094 = load i32, ptr %101, align 4, !tbaa !5
  %5095 = call ptr @__errno_location() #11
  store i32 %5094, ptr %5095, align 4, !tbaa !5
  %5096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5097 = load i32, ptr @test_count, align 4, !tbaa !5
  %5098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5099 = load i32, ptr %5098, align 4, !tbaa !5
  %5100 = call ptr @s2n_strerror(i32 noundef %5099, ptr noundef @.str.10)
  %5101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5102 = load i32, ptr %5101, align 4, !tbaa !5
  %5103 = call ptr @s2n_strerror_debug(i32 noundef %5102, ptr noundef @.str.10)
  %5104 = call ptr @__errno_location() #11
  %5105 = load i32, ptr %5104, align 4, !tbaa !5
  %5106 = call ptr @strerror(i32 noundef %5105) #10
  %5107 = call ptr @__errno_location() #11
  %5108 = load i32, ptr %5107, align 4, !tbaa !5
  %5109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5096, ptr noundef @.str.11, i32 noundef %5097, ptr noundef @.str.56, ptr noundef @.str.7, i32 noundef 185, ptr noundef %5100, ptr noundef %5103, ptr noundef %5106, i32 noundef %5108) #10
  br label %5110

5110:                                             ; preds = %5093, %5076
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #10
  br label %5111

5111:                                             ; preds = %5110
  br label %5112

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

5113:                                             ; No predecessors!
  br label %5114

5114:                                             ; preds = %5113
  br label %5115

5115:                                             ; preds = %5114, %5053
  br label %5116

5116:                                             ; preds = %5115
  br label %5117

5117:                                             ; preds = %5116
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %87) #10
  %5118 = call i32 @s2n_stuffer_free(ptr noundef %77)
  call void @llvm.lifetime.end.p0(i64 40, ptr %77) #10
  %5119 = call i32 @s2n_stuffer_free(ptr noundef %75)
  call void @llvm.lifetime.end.p0(i64 40, ptr %75) #10
  %5120 = call i32 @s2n_connection_ptr_free(ptr noundef %71)
  %5121 = getelementptr inbounds %struct.s2n_result, ptr %102, i32 0, i32 0
  store i32 %5120, ptr %5121, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #10
  %5122 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %5122, ptr %103, align 8, !tbaa !9
  br label %5123

5123:                                             ; preds = %5117
  %5124 = load i32, ptr @test_count, align 4, !tbaa !5
  %5125 = add nsw i32 %5124, 1
  store i32 %5125, ptr @test_count, align 4, !tbaa !5
  %5126 = load ptr, ptr %103, align 8, !tbaa !9
  %5127 = icmp eq ptr %5126, null
  br i1 %5127, label %5128, label %5181

5128:                                             ; preds = %5123
  br label %5129

5129:                                             ; preds = %5128
  br label %5130

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

5137:                                             ; preds = %5130
  %5138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5139 = call i32 @fileno(ptr noundef %5138) #10
  %5140 = call i32 @isatty(i32 noundef %5139) #10
  %5141 = icmp ne i32 %5140, 0
  br i1 %5141, label %5142, label %5159

5142:                                             ; preds = %5137
  %5143 = load i32, ptr %104, align 4, !tbaa !5
  %5144 = call ptr @__errno_location() #11
  store i32 %5143, ptr %5144, align 4, !tbaa !5
  %5145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5146 = load i32, ptr @test_count, align 4, !tbaa !5
  %5147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5148 = load i32, ptr %5147, align 4, !tbaa !5
  %5149 = call ptr @s2n_strerror(i32 noundef %5148, ptr noundef @.str.10)
  %5150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5151 = load i32, ptr %5150, align 4, !tbaa !5
  %5152 = call ptr @s2n_strerror_debug(i32 noundef %5151, ptr noundef @.str.10)
  %5153 = call ptr @__errno_location() #11
  %5154 = load i32, ptr %5153, align 4, !tbaa !5
  %5155 = call ptr @strerror(i32 noundef %5154) #10
  %5156 = call ptr @__errno_location() #11
  %5157 = load i32, ptr %5156, align 4, !tbaa !5
  %5158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5145, ptr noundef @.str.8, i32 noundef %5146, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 192, ptr noundef %5149, ptr noundef %5152, ptr noundef %5155, i32 noundef %5157) #10
  br label %5176

5159:                                             ; preds = %5137, %5130
  %5160 = load i32, ptr %104, align 4, !tbaa !5
  %5161 = call ptr @__errno_location() #11
  store i32 %5160, ptr %5161, align 4, !tbaa !5
  %5162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5163 = load i32, ptr @test_count, align 4, !tbaa !5
  %5164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5165 = load i32, ptr %5164, align 4, !tbaa !5
  %5166 = call ptr @s2n_strerror(i32 noundef %5165, ptr noundef @.str.10)
  %5167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5168 = load i32, ptr %5167, align 4, !tbaa !5
  %5169 = call ptr @s2n_strerror_debug(i32 noundef %5168, ptr noundef @.str.10)
  %5170 = call ptr @__errno_location() #11
  %5171 = load i32, ptr %5170, align 4, !tbaa !5
  %5172 = call ptr @strerror(i32 noundef %5171) #10
  %5173 = call ptr @__errno_location() #11
  %5174 = load i32, ptr %5173, align 4, !tbaa !5
  %5175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5162, ptr noundef @.str.11, i32 noundef %5163, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 192, ptr noundef %5166, ptr noundef %5169, ptr noundef %5172, i32 noundef %5174) #10
  br label %5176

5176:                                             ; preds = %5159, %5142
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #10
  br label %5177

5177:                                             ; preds = %5176
  br label %5178

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

5179:                                             ; No predecessors!
  br label %5180

5180:                                             ; preds = %5179
  br label %5181

5181:                                             ; preds = %5180, %5123
  br label %5182

5182:                                             ; preds = %5181
  br label %5183

5183:                                             ; preds = %5182
  call void @llvm.lifetime.start.p0(i64 40, ptr %105) #10
  call void @llvm.memset.p0.i64(ptr align 8 %105, i8 0, i64 40, i1 false)
  br label %5184

5184:                                             ; preds = %5183
  %5185 = load i32, ptr @test_count, align 4, !tbaa !5
  %5186 = add nsw i32 %5185, 1
  store i32 %5186, ptr @test_count, align 4, !tbaa !5
  %5187 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %105, i32 noundef 0)
  %5188 = icmp eq i32 %5187, -1
  br i1 %5188, label %5189, label %5242

5189:                                             ; preds = %5184
  br label %5190

5190:                                             ; preds = %5189
  br label %5191

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

5198:                                             ; preds = %5191
  %5199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5200 = call i32 @fileno(ptr noundef %5199) #10
  %5201 = call i32 @isatty(i32 noundef %5200) #10
  %5202 = icmp ne i32 %5201, 0
  br i1 %5202, label %5203, label %5220

5203:                                             ; preds = %5198
  %5204 = load i32, ptr %106, align 4, !tbaa !5
  %5205 = call ptr @__errno_location() #11
  store i32 %5204, ptr %5205, align 4, !tbaa !5
  %5206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5207 = load i32, ptr @test_count, align 4, !tbaa !5
  %5208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5209 = load i32, ptr %5208, align 4, !tbaa !5
  %5210 = call ptr @s2n_strerror(i32 noundef %5209, ptr noundef @.str.10)
  %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_debug(i32 noundef %5212, ptr noundef @.str.10)
  %5214 = call ptr @__errno_location() #11
  %5215 = load i32, ptr %5214, align 4, !tbaa !5
  %5216 = call ptr @strerror(i32 noundef %5215) #10
  %5217 = call ptr @__errno_location() #11
  %5218 = load i32, ptr %5217, align 4, !tbaa !5
  %5219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5206, ptr noundef @.str.8, i32 noundef %5207, ptr noundef @.str.39, ptr noundef @.str.7, i32 noundef 195, ptr noundef %5210, ptr noundef %5213, ptr noundef %5216, i32 noundef %5218) #10
  br label %5237

5220:                                             ; preds = %5198, %5191
  %5221 = load i32, ptr %106, align 4, !tbaa !5
  %5222 = call ptr @__errno_location() #11
  store i32 %5221, ptr %5222, align 4, !tbaa !5
  %5223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5224 = load i32, ptr @test_count, align 4, !tbaa !5
  %5225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5226 = load i32, ptr %5225, align 4, !tbaa !5
  %5227 = call ptr @s2n_strerror(i32 noundef %5226, ptr noundef @.str.10)
  %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_debug(i32 noundef %5229, ptr noundef @.str.10)
  %5231 = call ptr @__errno_location() #11
  %5232 = load i32, ptr %5231, align 4, !tbaa !5
  %5233 = call ptr @strerror(i32 noundef %5232) #10
  %5234 = call ptr @__errno_location() #11
  %5235 = load i32, ptr %5234, align 4, !tbaa !5
  %5236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5223, ptr noundef @.str.11, i32 noundef %5224, ptr noundef @.str.39, ptr noundef @.str.7, i32 noundef 195, ptr noundef %5227, ptr noundef %5230, ptr noundef %5233, i32 noundef %5235) #10
  br label %5237

5237:                                             ; preds = %5220, %5203
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #10
  br label %5238

5238:                                             ; preds = %5237
  br label %5239

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

5240:                                             ; No predecessors!
  br label %5241

5241:                                             ; preds = %5240
  br label %5242

5242:                                             ; preds = %5241, %5184
  br label %5243

5243:                                             ; preds = %5242
  br label %5244

5244:                                             ; preds = %5243
  call void @llvm.lifetime.start.p0(i64 40, ptr %107) #10
  call void @llvm.memset.p0.i64(ptr align 8 %107, i8 0, i64 40, i1 false)
  br label %5245

5245:                                             ; preds = %5244
  %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 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %107, i32 noundef 0)
  %5249 = icmp eq i32 %5248, -1
  br i1 %5249, label %5250, label %5303

5250:                                             ; preds = %5245
  br label %5251

5251:                                             ; preds = %5250
  br label %5252

5252:                                             ; preds = %5251
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #10
  %5253 = call ptr @__errno_location() #11
  %5254 = load i32, ptr %5253, align 4, !tbaa !5
  store i32 %5254, ptr %108, align 4, !tbaa !5
  %5255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5256 = call i32 @s2n_print_stacktrace(ptr noundef %5255)
  %5257 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5258 = trunc i8 %5257 to i1
  br i1 %5258, label %5259, label %5281

5259:                                             ; preds = %5252
  %5260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5261 = call i32 @fileno(ptr noundef %5260) #10
  %5262 = call i32 @isatty(i32 noundef %5261) #10
  %5263 = icmp ne i32 %5262, 0
  br i1 %5263, label %5264, label %5281

5264:                                             ; preds = %5259
  %5265 = load i32, ptr %108, align 4, !tbaa !5
  %5266 = call ptr @__errno_location() #11
  store i32 %5265, ptr %5266, align 4, !tbaa !5
  %5267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5268 = load i32, ptr @test_count, align 4, !tbaa !5
  %5269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5270 = load i32, ptr %5269, align 4, !tbaa !5
  %5271 = call ptr @s2n_strerror(i32 noundef %5270, ptr noundef @.str.10)
  %5272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5273 = load i32, ptr %5272, align 4, !tbaa !5
  %5274 = call ptr @s2n_strerror_debug(i32 noundef %5273, ptr noundef @.str.10)
  %5275 = call ptr @__errno_location() #11
  %5276 = load i32, ptr %5275, align 4, !tbaa !5
  %5277 = call ptr @strerror(i32 noundef %5276) #10
  %5278 = call ptr @__errno_location() #11
  %5279 = load i32, ptr %5278, align 4, !tbaa !5
  %5280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5267, ptr noundef @.str.8, i32 noundef %5268, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 197, ptr noundef %5271, ptr noundef %5274, ptr noundef %5277, i32 noundef %5279) #10
  br label %5298

5281:                                             ; preds = %5259, %5252
  %5282 = load i32, ptr %108, align 4, !tbaa !5
  %5283 = call ptr @__errno_location() #11
  store i32 %5282, ptr %5283, align 4, !tbaa !5
  %5284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5285 = load i32, ptr @test_count, align 4, !tbaa !5
  %5286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5287 = load i32, ptr %5286, align 4, !tbaa !5
  %5288 = call ptr @s2n_strerror(i32 noundef %5287, ptr noundef @.str.10)
  %5289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5290 = load i32, ptr %5289, align 4, !tbaa !5
  %5291 = call ptr @s2n_strerror_debug(i32 noundef %5290, ptr noundef @.str.10)
  %5292 = call ptr @__errno_location() #11
  %5293 = load i32, ptr %5292, align 4, !tbaa !5
  %5294 = call ptr @strerror(i32 noundef %5293) #10
  %5295 = call ptr @__errno_location() #11
  %5296 = load i32, ptr %5295, align 4, !tbaa !5
  %5297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5284, ptr noundef @.str.11, i32 noundef %5285, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 197, ptr noundef %5288, ptr noundef %5291, ptr noundef %5294, i32 noundef %5296) #10
  br label %5298

5298:                                             ; preds = %5281, %5264
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #10
  br label %5299

5299:                                             ; preds = %5298
  br label %5300

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

5301:                                             ; No predecessors!
  br label %5302

5302:                                             ; preds = %5301
  br label %5303

5303:                                             ; preds = %5302, %5245
  br label %5304

5304:                                             ; preds = %5303
  br label %5305

5305:                                             ; preds = %5304
  br label %5306

5306:                                             ; preds = %5305
  %5307 = load i32, ptr @test_count, align 4, !tbaa !5
  %5308 = add nsw i32 %5307, 1
  store i32 %5308, ptr @test_count, align 4, !tbaa !5
  %5309 = load ptr, ptr %103, align 8, !tbaa !9
  %5310 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %105, ptr noundef %107, ptr noundef %5309)
  %5311 = icmp eq i32 %5310, -1
  br i1 %5311, label %5312, label %5365

5312:                                             ; preds = %5306
  br label %5313

5313:                                             ; preds = %5312
  br label %5314

5314:                                             ; preds = %5313
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #10
  %5315 = call ptr @__errno_location() #11
  %5316 = load i32, ptr %5315, align 4, !tbaa !5
  store i32 %5316, ptr %109, align 4, !tbaa !5
  %5317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5318 = call i32 @s2n_print_stacktrace(ptr noundef %5317)
  %5319 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5320 = trunc i8 %5319 to i1
  br i1 %5320, label %5321, label %5343

5321:                                             ; preds = %5314
  %5322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5323 = call i32 @fileno(ptr noundef %5322) #10
  %5324 = call i32 @isatty(i32 noundef %5323) #10
  %5325 = icmp ne i32 %5324, 0
  br i1 %5325, label %5326, label %5343

5326:                                             ; preds = %5321
  %5327 = load i32, ptr %109, align 4, !tbaa !5
  %5328 = call ptr @__errno_location() #11
  store i32 %5327, ptr %5328, align 4, !tbaa !5
  %5329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5330 = load i32, ptr @test_count, align 4, !tbaa !5
  %5331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5332 = load i32, ptr %5331, align 4, !tbaa !5
  %5333 = call ptr @s2n_strerror(i32 noundef %5332, ptr noundef @.str.10)
  %5334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5335 = load i32, ptr %5334, align 4, !tbaa !5
  %5336 = call ptr @s2n_strerror_debug(i32 noundef %5335, ptr noundef @.str.10)
  %5337 = call ptr @__errno_location() #11
  %5338 = load i32, ptr %5337, align 4, !tbaa !5
  %5339 = call ptr @strerror(i32 noundef %5338) #10
  %5340 = call ptr @__errno_location() #11
  %5341 = load i32, ptr %5340, align 4, !tbaa !5
  %5342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5329, ptr noundef @.str.8, i32 noundef %5330, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 198, ptr noundef %5333, ptr noundef %5336, ptr noundef %5339, i32 noundef %5341) #10
  br label %5360

5343:                                             ; preds = %5321, %5314
  %5344 = load i32, ptr %109, align 4, !tbaa !5
  %5345 = call ptr @__errno_location() #11
  store i32 %5344, ptr %5345, align 4, !tbaa !5
  %5346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5347 = load i32, ptr @test_count, align 4, !tbaa !5
  %5348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5349 = load i32, ptr %5348, align 4, !tbaa !5
  %5350 = call ptr @s2n_strerror(i32 noundef %5349, ptr noundef @.str.10)
  %5351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5352 = load i32, ptr %5351, align 4, !tbaa !5
  %5353 = call ptr @s2n_strerror_debug(i32 noundef %5352, ptr noundef @.str.10)
  %5354 = call ptr @__errno_location() #11
  %5355 = load i32, ptr %5354, align 4, !tbaa !5
  %5356 = call ptr @strerror(i32 noundef %5355) #10
  %5357 = call ptr @__errno_location() #11
  %5358 = load i32, ptr %5357, align 4, !tbaa !5
  %5359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5346, ptr noundef @.str.11, i32 noundef %5347, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 198, ptr noundef %5350, ptr noundef %5353, ptr noundef %5356, i32 noundef %5358) #10
  br label %5360

5360:                                             ; preds = %5343, %5326
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #10
  br label %5361

5361:                                             ; preds = %5360
  br label %5362

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

5363:                                             ; No predecessors!
  br label %5364

5364:                                             ; preds = %5363
  br label %5365

5365:                                             ; preds = %5364, %5306
  br label %5366

5366:                                             ; preds = %5365
  br label %5367

5367:                                             ; preds = %5366
  br label %5368

5368:                                             ; preds = %5367
  %5369 = load i32, ptr @test_count, align 4, !tbaa !5
  %5370 = add nsw i32 %5369, 1
  store i32 %5370, ptr @test_count, align 4, !tbaa !5
  %5371 = load ptr, ptr %103, align 8, !tbaa !9
  %5372 = call zeroext i1 @s2n_handshake_is_complete(ptr noundef %5371)
  br i1 %5372, label %5373, label %5426

5373:                                             ; preds = %5368
  br label %5374

5374:                                             ; preds = %5373
  br label %5375

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

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

5387:                                             ; preds = %5382
  %5388 = load i32, ptr %110, align 4, !tbaa !5
  %5389 = call ptr @__errno_location() #11
  store i32 %5388, ptr %5389, align 4, !tbaa !5
  %5390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5391 = load i32, ptr @test_count, align 4, !tbaa !5
  %5392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5393 = load i32, ptr %5392, align 4, !tbaa !5
  %5394 = call ptr @s2n_strerror(i32 noundef %5393, ptr noundef @.str.10)
  %5395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5396 = load i32, ptr %5395, align 4, !tbaa !5
  %5397 = call ptr @s2n_strerror_debug(i32 noundef %5396, ptr noundef @.str.10)
  %5398 = call ptr @__errno_location() #11
  %5399 = load i32, ptr %5398, align 4, !tbaa !5
  %5400 = call ptr @strerror(i32 noundef %5399) #10
  %5401 = call ptr @__errno_location() #11
  %5402 = load i32, ptr %5401, align 4, !tbaa !5
  %5403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5390, ptr noundef @.str.8, i32 noundef %5391, ptr noundef @.str.57, ptr noundef @.str.7, i32 noundef 201, ptr noundef %5394, ptr noundef %5397, ptr noundef %5400, i32 noundef %5402) #10
  br label %5421

5404:                                             ; preds = %5382, %5375
  %5405 = load i32, ptr %110, align 4, !tbaa !5
  %5406 = call ptr @__errno_location() #11
  store i32 %5405, ptr %5406, align 4, !tbaa !5
  %5407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5408 = load i32, ptr @test_count, align 4, !tbaa !5
  %5409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5410 = load i32, ptr %5409, align 4, !tbaa !5
  %5411 = call ptr @s2n_strerror(i32 noundef %5410, ptr noundef @.str.10)
  %5412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5413 = load i32, ptr %5412, align 4, !tbaa !5
  %5414 = call ptr @s2n_strerror_debug(i32 noundef %5413, ptr noundef @.str.10)
  %5415 = call ptr @__errno_location() #11
  %5416 = load i32, ptr %5415, align 4, !tbaa !5
  %5417 = call ptr @strerror(i32 noundef %5416) #10
  %5418 = call ptr @__errno_location() #11
  %5419 = load i32, ptr %5418, align 4, !tbaa !5
  %5420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5407, ptr noundef @.str.11, i32 noundef %5408, ptr noundef @.str.57, ptr noundef @.str.7, i32 noundef 201, ptr noundef %5411, ptr noundef %5414, ptr noundef %5417, i32 noundef %5419) #10
  br label %5421

5421:                                             ; preds = %5404, %5387
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #10
  br label %5422

5422:                                             ; preds = %5421
  br label %5423

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

5424:                                             ; No predecessors!
  br label %5425

5425:                                             ; preds = %5424
  br label %5426

5426:                                             ; preds = %5425, %5368
  br label %5427

5427:                                             ; preds = %5426
  br label %5428

5428:                                             ; preds = %5427
  br label %5429

5429:                                             ; preds = %5428
  %5430 = load i32, ptr @test_count, align 4, !tbaa !5
  %5431 = add nsw i32 %5430, 1
  store i32 %5431, ptr @test_count, align 4, !tbaa !5
  %5432 = load ptr, ptr %103, align 8, !tbaa !9
  %5433 = getelementptr inbounds %struct.s2n_connection, ptr %5432, i32 0, i32 51
  %5434 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %5433)
  br i1 %5434, label %5435, label %5488

5435:                                             ; preds = %5429
  br label %5436

5436:                                             ; preds = %5435
  br label %5437

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

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

5449:                                             ; preds = %5444
  %5450 = load i32, ptr %111, align 4, !tbaa !5
  %5451 = call ptr @__errno_location() #11
  store i32 %5450, ptr %5451, align 4, !tbaa !5
  %5452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5453 = load i32, ptr @test_count, align 4, !tbaa !5
  %5454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5455 = load i32, ptr %5454, align 4, !tbaa !5
  %5456 = call ptr @s2n_strerror(i32 noundef %5455, ptr noundef @.str.10)
  %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_debug(i32 noundef %5458, ptr noundef @.str.10)
  %5460 = call ptr @__errno_location() #11
  %5461 = load i32, ptr %5460, align 4, !tbaa !5
  %5462 = call ptr @strerror(i32 noundef %5461) #10
  %5463 = call ptr @__errno_location() #11
  %5464 = load i32, ptr %5463, align 4, !tbaa !5
  %5465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5452, ptr noundef @.str.8, i32 noundef %5453, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 202, ptr noundef %5456, ptr noundef %5459, ptr noundef %5462, i32 noundef %5464) #10
  br label %5483

5466:                                             ; preds = %5444, %5437
  %5467 = load i32, ptr %111, align 4, !tbaa !5
  %5468 = call ptr @__errno_location() #11
  store i32 %5467, ptr %5468, align 4, !tbaa !5
  %5469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5470 = load i32, ptr @test_count, align 4, !tbaa !5
  %5471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5472 = load i32, ptr %5471, align 4, !tbaa !5
  %5473 = call ptr @s2n_strerror(i32 noundef %5472, ptr noundef @.str.10)
  %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_debug(i32 noundef %5475, ptr noundef @.str.10)
  %5477 = call ptr @__errno_location() #11
  %5478 = load i32, ptr %5477, align 4, !tbaa !5
  %5479 = call ptr @strerror(i32 noundef %5478) #10
  %5480 = call ptr @__errno_location() #11
  %5481 = load i32, ptr %5480, align 4, !tbaa !5
  %5482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5469, ptr noundef @.str.11, i32 noundef %5470, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 202, ptr noundef %5473, ptr noundef %5476, ptr noundef %5479, i32 noundef %5481) #10
  br label %5483

5483:                                             ; preds = %5466, %5449
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #10
  br label %5484

5484:                                             ; preds = %5483
  br label %5485

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

5486:                                             ; No predecessors!
  br label %5487

5487:                                             ; preds = %5486
  br label %5488

5488:                                             ; preds = %5487, %5429
  br label %5489

5489:                                             ; preds = %5488
  br label %5490

5490:                                             ; preds = %5489
  br label %5491

5491:                                             ; preds = %5490
  %5492 = load i32, ptr @test_count, align 4, !tbaa !5
  %5493 = add nsw i32 %5492, 1
  store i32 %5493, ptr @test_count, align 4, !tbaa !5
  %5494 = load ptr, ptr %103, align 8, !tbaa !9
  %5495 = getelementptr inbounds %struct.s2n_connection, ptr %5494, i32 0, i32 49
  %5496 = load i8, ptr %5495, align 1, !tbaa !16, !range !13, !noundef !14
  %5497 = trunc i8 %5496 to i1
  br i1 %5497, label %5498, label %5551

5498:                                             ; preds = %5491
  br label %5499

5499:                                             ; preds = %5498
  br label %5500

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

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

5512:                                             ; preds = %5507
  %5513 = load i32, ptr %112, align 4, !tbaa !5
  %5514 = call ptr @__errno_location() #11
  store i32 %5513, ptr %5514, align 4, !tbaa !5
  %5515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5516 = load i32, ptr @test_count, align 4, !tbaa !5
  %5517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5518 = load i32, ptr %5517, align 4, !tbaa !5
  %5519 = call ptr @s2n_strerror(i32 noundef %5518, ptr noundef @.str.10)
  %5520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5521 = load i32, ptr %5520, align 4, !tbaa !5
  %5522 = call ptr @s2n_strerror_debug(i32 noundef %5521, ptr noundef @.str.10)
  %5523 = call ptr @__errno_location() #11
  %5524 = load i32, ptr %5523, align 4, !tbaa !5
  %5525 = call ptr @strerror(i32 noundef %5524) #10
  %5526 = call ptr @__errno_location() #11
  %5527 = load i32, ptr %5526, align 4, !tbaa !5
  %5528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5515, ptr noundef @.str.8, i32 noundef %5516, ptr noundef @.str.27, ptr noundef @.str.7, i32 noundef 203, ptr noundef %5519, ptr noundef %5522, ptr noundef %5525, i32 noundef %5527) #10
  br label %5546

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

5546:                                             ; preds = %5529, %5512
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #10
  br label %5547

5547:                                             ; preds = %5546
  br label %5548

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

5549:                                             ; No predecessors!
  br label %5550

5550:                                             ; preds = %5549
  br label %5551

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

5552:                                             ; preds = %5551
  br label %5553

5553:                                             ; preds = %5552
  br label %5554

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

5559:                                             ; preds = %5554
  br label %5560

5560:                                             ; preds = %5559
  br label %5561

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

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

5573:                                             ; preds = %5568
  %5574 = load i32, ptr %113, align 4, !tbaa !5
  %5575 = call ptr @__errno_location() #11
  store i32 %5574, ptr %5575, align 4, !tbaa !5
  %5576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5577 = load i32, ptr @test_count, align 4, !tbaa !5
  %5578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5579 = load i32, ptr %5578, align 4, !tbaa !5
  %5580 = call ptr @s2n_strerror(i32 noundef %5579, ptr noundef @.str.10)
  %5581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5582 = load i32, ptr %5581, align 4, !tbaa !5
  %5583 = call ptr @s2n_strerror_debug(i32 noundef %5582, ptr noundef @.str.10)
  %5584 = call ptr @__errno_location() #11
  %5585 = load i32, ptr %5584, align 4, !tbaa !5
  %5586 = call ptr @strerror(i32 noundef %5585) #10
  %5587 = call ptr @__errno_location() #11
  %5588 = load i32, ptr %5587, align 4, !tbaa !5
  %5589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5576, ptr noundef @.str.8, i32 noundef %5577, ptr noundef @.str.28, ptr noundef @.str.7, i32 noundef 204, ptr noundef %5580, ptr noundef %5583, ptr noundef %5586, i32 noundef %5588) #10
  br label %5607

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

5607:                                             ; preds = %5590, %5573
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #10
  br label %5608

5608:                                             ; preds = %5607
  br label %5609

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

5610:                                             ; No predecessors!
  br label %5611

5611:                                             ; preds = %5610
  br label %5612

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

5613:                                             ; preds = %5612
  br label %5614

5614:                                             ; preds = %5613
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #10
  store i32 0, ptr %114, align 4, !tbaa !5
  br label %5615

5615:                                             ; preds = %5614
  %5616 = load i32, ptr @test_count, align 4, !tbaa !5
  %5617 = add nsw i32 %5616, 1
  store i32 %5617, ptr @test_count, align 4, !tbaa !5
  %5618 = load ptr, ptr %103, align 8, !tbaa !9
  %5619 = call i32 @s2n_shutdown(ptr noundef %5618, ptr noundef %114)
  %5620 = icmp eq i32 %5619, -1
  br i1 %5620, label %5621, label %5674

5621:                                             ; preds = %5615
  br label %5622

5622:                                             ; preds = %5621
  br label %5623

5623:                                             ; preds = %5622
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #10
  %5624 = call ptr @__errno_location() #11
  %5625 = load i32, ptr %5624, align 4, !tbaa !5
  store i32 %5625, ptr %115, 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) #10
  %5633 = call i32 @isatty(i32 noundef %5632) #10
  %5634 = icmp ne i32 %5633, 0
  br i1 %5634, label %5635, label %5652

5635:                                             ; preds = %5630
  %5636 = load i32, ptr %115, align 4, !tbaa !5
  %5637 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %5646 = call ptr @__errno_location() #11
  %5647 = load i32, ptr %5646, align 4, !tbaa !5
  %5648 = call ptr @strerror(i32 noundef %5647) #10
  %5649 = call ptr @__errno_location() #11
  %5650 = load i32, ptr %5649, align 4, !tbaa !5
  %5651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5638, ptr noundef @.str.8, i32 noundef %5639, ptr noundef @.str.30, ptr noundef @.str.7, i32 noundef 207, ptr noundef %5642, ptr noundef %5645, ptr noundef %5648, i32 noundef %5650) #10
  br label %5669

5652:                                             ; preds = %5630, %5623
  %5653 = load i32, ptr %115, align 4, !tbaa !5
  %5654 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %5663 = call ptr @__errno_location() #11
  %5664 = load i32, ptr %5663, align 4, !tbaa !5
  %5665 = call ptr @strerror(i32 noundef %5664) #10
  %5666 = call ptr @__errno_location() #11
  %5667 = load i32, ptr %5666, align 4, !tbaa !5
  %5668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5655, ptr noundef @.str.11, i32 noundef %5656, ptr noundef @.str.30, ptr noundef @.str.7, i32 noundef 207, ptr noundef %5659, ptr noundef %5662, ptr noundef %5665, i32 noundef %5667) #10
  br label %5669

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

5670:                                             ; preds = %5669
  br label %5671

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

5672:                                             ; No predecessors!
  br label %5673

5673:                                             ; preds = %5672
  br label %5674

5674:                                             ; preds = %5673, %5615
  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 %103, align 8, !tbaa !9
  %5681 = call zeroext i1 @s2n_handshake_is_complete(ptr noundef %5680)
  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 %116) #10
  %5685 = call ptr @__errno_location() #11
  %5686 = load i32, ptr %5685, align 4, !tbaa !5
  store i32 %5686, ptr %116, 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) #10
  %5694 = call i32 @isatty(i32 noundef %5693) #10
  %5695 = icmp ne i32 %5694, 0
  br i1 %5695, label %5696, label %5713

5696:                                             ; preds = %5691
  %5697 = load i32, ptr %116, align 4, !tbaa !5
  %5698 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %5707 = call ptr @__errno_location() #11
  %5708 = load i32, ptr %5707, align 4, !tbaa !5
  %5709 = call ptr @strerror(i32 noundef %5708) #10
  %5710 = call ptr @__errno_location() #11
  %5711 = load i32, ptr %5710, align 4, !tbaa !5
  %5712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5699, ptr noundef @.str.8, i32 noundef %5700, ptr noundef @.str.57, ptr noundef @.str.7, i32 noundef 210, ptr noundef %5703, ptr noundef %5706, ptr noundef %5709, i32 noundef %5711) #10
  br label %5730

5713:                                             ; preds = %5691, %5684
  %5714 = load i32, ptr %116, align 4, !tbaa !5
  %5715 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %5724 = call ptr @__errno_location() #11
  %5725 = load i32, ptr %5724, align 4, !tbaa !5
  %5726 = call ptr @strerror(i32 noundef %5725) #10
  %5727 = call ptr @__errno_location() #11
  %5728 = load i32, ptr %5727, align 4, !tbaa !5
  %5729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5716, ptr noundef @.str.11, i32 noundef %5717, ptr noundef @.str.57, ptr noundef @.str.7, i32 noundef 210, ptr noundef %5720, ptr noundef %5723, ptr noundef %5726, i32 noundef %5728) #10
  br label %5730

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

5731:                                             ; preds = %5730
  br label %5732

5732:                                             ; preds = %5731
  call void @exit(i32 noundef 1) #12
  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 %103, align 8, !tbaa !9
  %5742 = getelementptr inbounds %struct.s2n_connection, ptr %5741, i32 0, i32 51
  %5743 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %5742)
  br i1 %5743, label %5744, label %5797

5744:                                             ; preds = %5738
  br label %5745

5745:                                             ; preds = %5744
  br label %5746

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

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

5758:                                             ; preds = %5753
  %5759 = load i32, ptr %117, align 4, !tbaa !5
  %5760 = call ptr @__errno_location() #11
  store i32 %5759, ptr %5760, align 4, !tbaa !5
  %5761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5762 = load i32, ptr @test_count, align 4, !tbaa !5
  %5763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5764 = load i32, ptr %5763, align 4, !tbaa !5
  %5765 = call ptr @s2n_strerror(i32 noundef %5764, ptr noundef @.str.10)
  %5766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5767 = load i32, ptr %5766, align 4, !tbaa !5
  %5768 = call ptr @s2n_strerror_debug(i32 noundef %5767, ptr noundef @.str.10)
  %5769 = call ptr @__errno_location() #11
  %5770 = load i32, ptr %5769, align 4, !tbaa !5
  %5771 = call ptr @strerror(i32 noundef %5770) #10
  %5772 = call ptr @__errno_location() #11
  %5773 = load i32, ptr %5772, align 4, !tbaa !5
  %5774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5761, ptr noundef @.str.8, i32 noundef %5762, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 211, ptr noundef %5765, ptr noundef %5768, ptr noundef %5771, i32 noundef %5773) #10
  br label %5792

5775:                                             ; preds = %5753, %5746
  %5776 = load i32, ptr %117, align 4, !tbaa !5
  %5777 = call ptr @__errno_location() #11
  store i32 %5776, ptr %5777, align 4, !tbaa !5
  %5778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5779 = load i32, ptr @test_count, align 4, !tbaa !5
  %5780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5781 = load i32, ptr %5780, align 4, !tbaa !5
  %5782 = call ptr @s2n_strerror(i32 noundef %5781, ptr noundef @.str.10)
  %5783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5784 = load i32, ptr %5783, align 4, !tbaa !5
  %5785 = call ptr @s2n_strerror_debug(i32 noundef %5784, ptr noundef @.str.10)
  %5786 = call ptr @__errno_location() #11
  %5787 = load i32, ptr %5786, align 4, !tbaa !5
  %5788 = call ptr @strerror(i32 noundef %5787) #10
  %5789 = call ptr @__errno_location() #11
  %5790 = load i32, ptr %5789, align 4, !tbaa !5
  %5791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5778, ptr noundef @.str.11, i32 noundef %5779, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 211, ptr noundef %5782, ptr noundef %5785, ptr noundef %5788, i32 noundef %5790) #10
  br label %5792

5792:                                             ; preds = %5775, %5758
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #10
  br label %5793

5793:                                             ; preds = %5792
  br label %5794

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

5795:                                             ; No predecessors!
  br label %5796

5796:                                             ; preds = %5795
  br label %5797

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

5798:                                             ; preds = %5797
  br label %5799

5799:                                             ; preds = %5798
  br label %5800

5800:                                             ; preds = %5799
  %5801 = load i32, ptr @test_count, align 4, !tbaa !5
  %5802 = add nsw i32 %5801, 1
  store i32 %5802, ptr @test_count, align 4, !tbaa !5
  %5803 = load ptr, ptr %103, align 8, !tbaa !9
  %5804 = getelementptr inbounds %struct.s2n_connection, ptr %5803, i32 0, i32 49
  %5805 = load i8, ptr %5804, align 1, !tbaa !16, !range !13, !noundef !14
  %5806 = trunc i8 %5805 to i1
  br i1 %5806, label %5860, label %5807

5807:                                             ; preds = %5800
  br label %5808

5808:                                             ; preds = %5807
  br label %5809

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

5816:                                             ; preds = %5809
  %5817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5818 = call i32 @fileno(ptr noundef %5817) #10
  %5819 = call i32 @isatty(i32 noundef %5818) #10
  %5820 = icmp ne i32 %5819, 0
  br i1 %5820, label %5821, label %5838

5821:                                             ; preds = %5816
  %5822 = load i32, ptr %118, align 4, !tbaa !5
  %5823 = call ptr @__errno_location() #11
  store i32 %5822, ptr %5823, align 4, !tbaa !5
  %5824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5825 = load i32, ptr @test_count, align 4, !tbaa !5
  %5826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5827 = load i32, ptr %5826, align 4, !tbaa !5
  %5828 = call ptr @s2n_strerror(i32 noundef %5827, ptr noundef @.str.10)
  %5829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5830 = load i32, ptr %5829, align 4, !tbaa !5
  %5831 = call ptr @s2n_strerror_debug(i32 noundef %5830, ptr noundef @.str.10)
  %5832 = call ptr @__errno_location() #11
  %5833 = load i32, ptr %5832, align 4, !tbaa !5
  %5834 = call ptr @strerror(i32 noundef %5833) #10
  %5835 = call ptr @__errno_location() #11
  %5836 = load i32, ptr %5835, align 4, !tbaa !5
  %5837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5824, ptr noundef @.str.8, i32 noundef %5825, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 212, ptr noundef %5828, ptr noundef %5831, ptr noundef %5834, i32 noundef %5836) #10
  br label %5855

5838:                                             ; preds = %5816, %5809
  %5839 = load i32, ptr %118, align 4, !tbaa !5
  %5840 = call ptr @__errno_location() #11
  store i32 %5839, ptr %5840, align 4, !tbaa !5
  %5841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5842 = load i32, ptr @test_count, align 4, !tbaa !5
  %5843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5844 = load i32, ptr %5843, align 4, !tbaa !5
  %5845 = call ptr @s2n_strerror(i32 noundef %5844, ptr noundef @.str.10)
  %5846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5847 = load i32, ptr %5846, align 4, !tbaa !5
  %5848 = call ptr @s2n_strerror_debug(i32 noundef %5847, ptr noundef @.str.10)
  %5849 = call ptr @__errno_location() #11
  %5850 = load i32, ptr %5849, align 4, !tbaa !5
  %5851 = call ptr @strerror(i32 noundef %5850) #10
  %5852 = call ptr @__errno_location() #11
  %5853 = load i32, ptr %5852, align 4, !tbaa !5
  %5854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5841, ptr noundef @.str.11, i32 noundef %5842, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 212, ptr noundef %5845, ptr noundef %5848, ptr noundef %5851, i32 noundef %5853) #10
  br label %5855

5855:                                             ; preds = %5838, %5821
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #10
  br label %5856

5856:                                             ; preds = %5855
  br label %5857

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

5858:                                             ; No predecessors!
  br label %5859

5859:                                             ; preds = %5858
  br label %5860

5860:                                             ; preds = %5859, %5800
  br label %5861

5861:                                             ; preds = %5860
  br label %5862

5862:                                             ; preds = %5861
  br label %5863

5863:                                             ; preds = %5862
  %5864 = load i32, ptr @test_count, align 4, !tbaa !5
  %5865 = add nsw i32 %5864, 1
  store i32 %5865, ptr @test_count, align 4, !tbaa !5
  %5866 = load ptr, ptr %103, align 8, !tbaa !9
  %5867 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %5866, i32 noundef 3)
  br i1 %5867, label %5921, label %5868

5868:                                             ; preds = %5863
  br label %5869

5869:                                             ; preds = %5868
  br label %5870

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

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

5882:                                             ; preds = %5877
  %5883 = load i32, ptr %119, align 4, !tbaa !5
  %5884 = call ptr @__errno_location() #11
  store i32 %5883, ptr %5884, align 4, !tbaa !5
  %5885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5886 = load i32, ptr @test_count, align 4, !tbaa !5
  %5887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5888 = load i32, ptr %5887, align 4, !tbaa !5
  %5889 = call ptr @s2n_strerror(i32 noundef %5888, ptr noundef @.str.10)
  %5890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5891 = load i32, ptr %5890, align 4, !tbaa !5
  %5892 = call ptr @s2n_strerror_debug(i32 noundef %5891, ptr noundef @.str.10)
  %5893 = call ptr @__errno_location() #11
  %5894 = load i32, ptr %5893, align 4, !tbaa !5
  %5895 = call ptr @strerror(i32 noundef %5894) #10
  %5896 = call ptr @__errno_location() #11
  %5897 = load i32, ptr %5896, align 4, !tbaa !5
  %5898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5885, ptr noundef @.str.8, i32 noundef %5886, ptr noundef @.str.32, ptr noundef @.str.7, i32 noundef 215, ptr noundef %5889, ptr noundef %5892, ptr noundef %5895, i32 noundef %5897) #10
  br label %5916

5899:                                             ; preds = %5877, %5870
  %5900 = load i32, ptr %119, align 4, !tbaa !5
  %5901 = call ptr @__errno_location() #11
  store i32 %5900, ptr %5901, align 4, !tbaa !5
  %5902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5903 = load i32, ptr @test_count, align 4, !tbaa !5
  %5904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5905 = load i32, ptr %5904, align 4, !tbaa !5
  %5906 = call ptr @s2n_strerror(i32 noundef %5905, ptr noundef @.str.10)
  %5907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5908 = load i32, ptr %5907, align 4, !tbaa !5
  %5909 = call ptr @s2n_strerror_debug(i32 noundef %5908, ptr noundef @.str.10)
  %5910 = call ptr @__errno_location() #11
  %5911 = load i32, ptr %5910, align 4, !tbaa !5
  %5912 = call ptr @strerror(i32 noundef %5911) #10
  %5913 = call ptr @__errno_location() #11
  %5914 = load i32, ptr %5913, align 4, !tbaa !5
  %5915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5902, ptr noundef @.str.11, i32 noundef %5903, ptr noundef @.str.32, ptr noundef @.str.7, i32 noundef 215, ptr noundef %5906, ptr noundef %5909, ptr noundef %5912, i32 noundef %5914) #10
  br label %5916

5916:                                             ; preds = %5899, %5882
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #10
  br label %5917

5917:                                             ; preds = %5916
  br label %5918

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

5919:                                             ; No predecessors!
  br label %5920

5920:                                             ; preds = %5919
  br label %5921

5921:                                             ; preds = %5920, %5863
  br label %5922

5922:                                             ; preds = %5921
  br label %5923

5923:                                             ; preds = %5922
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #10
  %5924 = call i32 @s2n_stuffer_free(ptr noundef %107)
  call void @llvm.lifetime.end.p0(i64 40, ptr %107) #10
  %5925 = call i32 @s2n_stuffer_free(ptr noundef %105)
  call void @llvm.lifetime.end.p0(i64 40, ptr %105) #10
  %5926 = call i32 @s2n_connection_ptr_free(ptr noundef %103)
  %5927 = getelementptr inbounds %struct.s2n_result, ptr %120, i32 0, i32 0
  store i32 %5926, ptr %5927, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %121) #10
  %5928 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %5928, ptr %121, align 8, !tbaa !9
  br label %5929

5929:                                             ; preds = %5923
  %5930 = load i32, ptr @test_count, align 4, !tbaa !5
  %5931 = add nsw i32 %5930, 1
  store i32 %5931, ptr @test_count, align 4, !tbaa !5
  %5932 = load ptr, ptr %121, align 8, !tbaa !9
  %5933 = icmp eq ptr %5932, null
  br i1 %5933, label %5934, label %5987

5934:                                             ; preds = %5929
  br label %5935

5935:                                             ; preds = %5934
  br label %5936

5936:                                             ; preds = %5935
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #10
  %5937 = call ptr @__errno_location() #11
  %5938 = load i32, ptr %5937, align 4, !tbaa !5
  store i32 %5938, ptr %122, align 4, !tbaa !5
  %5939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5940 = call i32 @s2n_print_stacktrace(ptr noundef %5939)
  %5941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5942 = trunc i8 %5941 to i1
  br i1 %5942, label %5943, label %5965

5943:                                             ; preds = %5936
  %5944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5945 = call i32 @fileno(ptr noundef %5944) #10
  %5946 = call i32 @isatty(i32 noundef %5945) #10
  %5947 = icmp ne i32 %5946, 0
  br i1 %5947, label %5948, label %5965

5948:                                             ; preds = %5943
  %5949 = load i32, ptr %122, align 4, !tbaa !5
  %5950 = call ptr @__errno_location() #11
  store i32 %5949, ptr %5950, align 4, !tbaa !5
  %5951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5952 = load i32, ptr @test_count, align 4, !tbaa !5
  %5953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5954 = load i32, ptr %5953, align 4, !tbaa !5
  %5955 = call ptr @s2n_strerror(i32 noundef %5954, ptr noundef @.str.10)
  %5956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5957 = load i32, ptr %5956, align 4, !tbaa !5
  %5958 = call ptr @s2n_strerror_debug(i32 noundef %5957, ptr noundef @.str.10)
  %5959 = call ptr @__errno_location() #11
  %5960 = load i32, ptr %5959, align 4, !tbaa !5
  %5961 = call ptr @strerror(i32 noundef %5960) #10
  %5962 = call ptr @__errno_location() #11
  %5963 = load i32, ptr %5962, align 4, !tbaa !5
  %5964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5951, ptr noundef @.str.8, i32 noundef %5952, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 222, ptr noundef %5955, ptr noundef %5958, ptr noundef %5961, i32 noundef %5963) #10
  br label %5982

5965:                                             ; preds = %5943, %5936
  %5966 = load i32, ptr %122, align 4, !tbaa !5
  %5967 = call ptr @__errno_location() #11
  store i32 %5966, ptr %5967, align 4, !tbaa !5
  %5968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5969 = load i32, ptr @test_count, align 4, !tbaa !5
  %5970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5971 = load i32, ptr %5970, align 4, !tbaa !5
  %5972 = call ptr @s2n_strerror(i32 noundef %5971, ptr noundef @.str.10)
  %5973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5974 = load i32, ptr %5973, align 4, !tbaa !5
  %5975 = call ptr @s2n_strerror_debug(i32 noundef %5974, ptr noundef @.str.10)
  %5976 = call ptr @__errno_location() #11
  %5977 = load i32, ptr %5976, align 4, !tbaa !5
  %5978 = call ptr @strerror(i32 noundef %5977) #10
  %5979 = call ptr @__errno_location() #11
  %5980 = load i32, ptr %5979, align 4, !tbaa !5
  %5981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5968, ptr noundef @.str.11, i32 noundef %5969, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 222, ptr noundef %5972, ptr noundef %5975, ptr noundef %5978, i32 noundef %5980) #10
  br label %5982

5982:                                             ; preds = %5965, %5948
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #10
  br label %5983

5983:                                             ; preds = %5982
  br label %5984

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

5985:                                             ; No predecessors!
  br label %5986

5986:                                             ; preds = %5985
  br label %5987

5987:                                             ; preds = %5986, %5929
  br label %5988

5988:                                             ; preds = %5987
  br label %5989

5989:                                             ; preds = %5988
  br label %5990

5990:                                             ; preds = %5989
  %5991 = load i32, ptr @test_count, align 4, !tbaa !5
  %5992 = add nsw i32 %5991, 1
  store i32 %5992, ptr @test_count, align 4, !tbaa !5
  %5993 = load ptr, ptr %121, align 8, !tbaa !9
  %5994 = call i32 @s2n_skip_handshake(ptr noundef %5993)
  %5995 = getelementptr inbounds %struct.s2n_result, ptr %123, i32 0, i32 0
  store i32 %5994, ptr %5995, align 4
  %5996 = getelementptr inbounds %struct.s2n_result, ptr %123, i32 0, i32 0
  %5997 = load i32, ptr %5996, align 4
  %5998 = call zeroext i1 @s2n_result_is_ok(i32 %5997)
  br i1 %5998, label %6052, label %5999

5999:                                             ; preds = %5990
  br label %6000

6000:                                             ; preds = %5999
  br label %6001

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

6008:                                             ; preds = %6001
  %6009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6010 = call i32 @fileno(ptr noundef %6009) #10
  %6011 = call i32 @isatty(i32 noundef %6010) #10
  %6012 = icmp ne i32 %6011, 0
  br i1 %6012, label %6013, label %6030

6013:                                             ; preds = %6008
  %6014 = load i32, ptr %124, align 4, !tbaa !5
  %6015 = call ptr @__errno_location() #11
  store i32 %6014, ptr %6015, align 4, !tbaa !5
  %6016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6017 = load i32, ptr @test_count, align 4, !tbaa !5
  %6018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6019 = load i32, ptr %6018, align 4, !tbaa !5
  %6020 = call ptr @s2n_strerror(i32 noundef %6019, ptr noundef @.str.10)
  %6021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6022 = load i32, ptr %6021, align 4, !tbaa !5
  %6023 = call ptr @s2n_strerror_debug(i32 noundef %6022, ptr noundef @.str.10)
  %6024 = call ptr @__errno_location() #11
  %6025 = load i32, ptr %6024, align 4, !tbaa !5
  %6026 = call ptr @strerror(i32 noundef %6025) #10
  %6027 = call ptr @__errno_location() #11
  %6028 = load i32, ptr %6027, align 4, !tbaa !5
  %6029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6016, ptr noundef @.str.8, i32 noundef %6017, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 223, ptr noundef %6020, ptr noundef %6023, ptr noundef %6026, i32 noundef %6028) #10
  br label %6047

6030:                                             ; preds = %6008, %6001
  %6031 = load i32, ptr %124, align 4, !tbaa !5
  %6032 = call ptr @__errno_location() #11
  store i32 %6031, ptr %6032, align 4, !tbaa !5
  %6033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6034 = load i32, ptr @test_count, align 4, !tbaa !5
  %6035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6036 = load i32, ptr %6035, align 4, !tbaa !5
  %6037 = call ptr @s2n_strerror(i32 noundef %6036, ptr noundef @.str.10)
  %6038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6039 = load i32, ptr %6038, align 4, !tbaa !5
  %6040 = call ptr @s2n_strerror_debug(i32 noundef %6039, ptr noundef @.str.10)
  %6041 = call ptr @__errno_location() #11
  %6042 = load i32, ptr %6041, align 4, !tbaa !5
  %6043 = call ptr @strerror(i32 noundef %6042) #10
  %6044 = call ptr @__errno_location() #11
  %6045 = load i32, ptr %6044, align 4, !tbaa !5
  %6046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6033, ptr noundef @.str.11, i32 noundef %6034, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 223, ptr noundef %6037, ptr noundef %6040, ptr noundef %6043, i32 noundef %6045) #10
  br label %6047

6047:                                             ; preds = %6030, %6013
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #10
  br label %6048

6048:                                             ; preds = %6047
  br label %6049

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

6050:                                             ; No predecessors!
  br label %6051

6051:                                             ; preds = %6050
  br label %6052

6052:                                             ; preds = %6051, %5990
  br label %6053

6053:                                             ; preds = %6052
  br label %6054

6054:                                             ; preds = %6053
  call void @llvm.lifetime.start.p0(i64 40, ptr %125) #10
  call void @llvm.memset.p0.i64(ptr align 8 %125, i8 0, i64 40, i1 false)
  br label %6055

6055:                                             ; preds = %6054
  %6056 = load i32, ptr @test_count, align 4, !tbaa !5
  %6057 = add nsw i32 %6056, 1
  store i32 %6057, ptr @test_count, align 4, !tbaa !5
  %6058 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %125, i32 noundef 0)
  %6059 = icmp eq i32 %6058, -1
  br i1 %6059, label %6060, label %6113

6060:                                             ; preds = %6055
  br label %6061

6061:                                             ; preds = %6060
  br label %6062

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

6069:                                             ; preds = %6062
  %6070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6071 = call i32 @fileno(ptr noundef %6070) #10
  %6072 = call i32 @isatty(i32 noundef %6071) #10
  %6073 = icmp ne i32 %6072, 0
  br i1 %6073, label %6074, label %6091

6074:                                             ; preds = %6069
  %6075 = load i32, ptr %126, align 4, !tbaa !5
  %6076 = call ptr @__errno_location() #11
  store i32 %6075, ptr %6076, align 4, !tbaa !5
  %6077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6078 = load i32, ptr @test_count, align 4, !tbaa !5
  %6079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6080 = load i32, ptr %6079, align 4, !tbaa !5
  %6081 = call ptr @s2n_strerror(i32 noundef %6080, ptr noundef @.str.10)
  %6082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6083 = load i32, ptr %6082, align 4, !tbaa !5
  %6084 = call ptr @s2n_strerror_debug(i32 noundef %6083, ptr noundef @.str.10)
  %6085 = call ptr @__errno_location() #11
  %6086 = load i32, ptr %6085, align 4, !tbaa !5
  %6087 = call ptr @strerror(i32 noundef %6086) #10
  %6088 = call ptr @__errno_location() #11
  %6089 = load i32, ptr %6088, align 4, !tbaa !5
  %6090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6077, ptr noundef @.str.8, i32 noundef %6078, ptr noundef @.str.39, ptr noundef @.str.7, i32 noundef 226, ptr noundef %6081, ptr noundef %6084, ptr noundef %6087, i32 noundef %6089) #10
  br label %6108

6091:                                             ; preds = %6069, %6062
  %6092 = load i32, ptr %126, align 4, !tbaa !5
  %6093 = call ptr @__errno_location() #11
  store i32 %6092, ptr %6093, align 4, !tbaa !5
  %6094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6095 = load i32, ptr @test_count, align 4, !tbaa !5
  %6096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6097 = load i32, ptr %6096, align 4, !tbaa !5
  %6098 = call ptr @s2n_strerror(i32 noundef %6097, ptr noundef @.str.10)
  %6099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6100 = load i32, ptr %6099, align 4, !tbaa !5
  %6101 = call ptr @s2n_strerror_debug(i32 noundef %6100, ptr noundef @.str.10)
  %6102 = call ptr @__errno_location() #11
  %6103 = load i32, ptr %6102, align 4, !tbaa !5
  %6104 = call ptr @strerror(i32 noundef %6103) #10
  %6105 = call ptr @__errno_location() #11
  %6106 = load i32, ptr %6105, align 4, !tbaa !5
  %6107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6094, ptr noundef @.str.11, i32 noundef %6095, ptr noundef @.str.39, ptr noundef @.str.7, i32 noundef 226, ptr noundef %6098, ptr noundef %6101, ptr noundef %6104, i32 noundef %6106) #10
  br label %6108

6108:                                             ; preds = %6091, %6074
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #10
  br label %6109

6109:                                             ; preds = %6108
  br label %6110

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

6111:                                             ; No predecessors!
  br label %6112

6112:                                             ; preds = %6111
  br label %6113

6113:                                             ; preds = %6112, %6055
  br label %6114

6114:                                             ; preds = %6113
  br label %6115

6115:                                             ; preds = %6114
  call void @llvm.lifetime.start.p0(i64 40, ptr %127) #10
  call void @llvm.memset.p0.i64(ptr align 8 %127, i8 0, i64 40, i1 false)
  br label %6116

6116:                                             ; preds = %6115
  %6117 = load i32, ptr @test_count, align 4, !tbaa !5
  %6118 = add nsw i32 %6117, 1
  store i32 %6118, ptr @test_count, align 4, !tbaa !5
  %6119 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %127, i32 noundef 0)
  %6120 = icmp eq i32 %6119, -1
  br i1 %6120, label %6121, label %6174

6121:                                             ; preds = %6116
  br label %6122

6122:                                             ; preds = %6121
  br label %6123

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

6130:                                             ; preds = %6123
  %6131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6132 = call i32 @fileno(ptr noundef %6131) #10
  %6133 = call i32 @isatty(i32 noundef %6132) #10
  %6134 = icmp ne i32 %6133, 0
  br i1 %6134, label %6135, label %6152

6135:                                             ; preds = %6130
  %6136 = load i32, ptr %128, align 4, !tbaa !5
  %6137 = call ptr @__errno_location() #11
  store i32 %6136, ptr %6137, align 4, !tbaa !5
  %6138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6139 = load i32, ptr @test_count, align 4, !tbaa !5
  %6140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6141 = load i32, ptr %6140, align 4, !tbaa !5
  %6142 = call ptr @s2n_strerror(i32 noundef %6141, ptr noundef @.str.10)
  %6143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6144 = load i32, ptr %6143, align 4, !tbaa !5
  %6145 = call ptr @s2n_strerror_debug(i32 noundef %6144, ptr noundef @.str.10)
  %6146 = call ptr @__errno_location() #11
  %6147 = load i32, ptr %6146, align 4, !tbaa !5
  %6148 = call ptr @strerror(i32 noundef %6147) #10
  %6149 = call ptr @__errno_location() #11
  %6150 = load i32, ptr %6149, align 4, !tbaa !5
  %6151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6138, ptr noundef @.str.8, i32 noundef %6139, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 228, ptr noundef %6142, ptr noundef %6145, ptr noundef %6148, i32 noundef %6150) #10
  br label %6169

6152:                                             ; preds = %6130, %6123
  %6153 = load i32, ptr %128, align 4, !tbaa !5
  %6154 = call ptr @__errno_location() #11
  store i32 %6153, ptr %6154, align 4, !tbaa !5
  %6155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6156 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6158, ptr noundef @.str.10)
  %6160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6161 = load i32, ptr %6160, align 4, !tbaa !5
  %6162 = call ptr @s2n_strerror_debug(i32 noundef %6161, ptr noundef @.str.10)
  %6163 = call ptr @__errno_location() #11
  %6164 = load i32, ptr %6163, align 4, !tbaa !5
  %6165 = call ptr @strerror(i32 noundef %6164) #10
  %6166 = call ptr @__errno_location() #11
  %6167 = load i32, ptr %6166, align 4, !tbaa !5
  %6168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6155, ptr noundef @.str.11, i32 noundef %6156, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 228, ptr noundef %6159, ptr noundef %6162, ptr noundef %6165, i32 noundef %6167) #10
  br label %6169

6169:                                             ; preds = %6152, %6135
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #10
  br label %6170

6170:                                             ; preds = %6169
  br label %6171

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

6172:                                             ; No predecessors!
  br label %6173

6173:                                             ; preds = %6172
  br label %6174

6174:                                             ; preds = %6173, %6116
  br label %6175

6175:                                             ; preds = %6174
  br label %6176

6176:                                             ; preds = %6175
  br label %6177

6177:                                             ; preds = %6176
  %6178 = load i32, ptr @test_count, align 4, !tbaa !5
  %6179 = add nsw i32 %6178, 1
  store i32 %6179, ptr @test_count, align 4, !tbaa !5
  %6180 = load ptr, ptr %121, align 8, !tbaa !9
  %6181 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %125, ptr noundef %127, ptr noundef %6180)
  %6182 = icmp eq i32 %6181, -1
  br i1 %6182, label %6183, label %6236

6183:                                             ; preds = %6177
  br label %6184

6184:                                             ; preds = %6183
  br label %6185

6185:                                             ; preds = %6184
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #10
  %6186 = call ptr @__errno_location() #11
  %6187 = load i32, ptr %6186, align 4, !tbaa !5
  store i32 %6187, ptr %129, align 4, !tbaa !5
  %6188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6189 = call i32 @s2n_print_stacktrace(ptr noundef %6188)
  %6190 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6191 = trunc i8 %6190 to i1
  br i1 %6191, label %6192, label %6214

6192:                                             ; preds = %6185
  %6193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6194 = call i32 @fileno(ptr noundef %6193) #10
  %6195 = call i32 @isatty(i32 noundef %6194) #10
  %6196 = icmp ne i32 %6195, 0
  br i1 %6196, label %6197, label %6214

6197:                                             ; preds = %6192
  %6198 = load i32, ptr %129, align 4, !tbaa !5
  %6199 = call ptr @__errno_location() #11
  store i32 %6198, ptr %6199, align 4, !tbaa !5
  %6200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6201 = load i32, ptr @test_count, align 4, !tbaa !5
  %6202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6203 = load i32, ptr %6202, align 4, !tbaa !5
  %6204 = call ptr @s2n_strerror(i32 noundef %6203, ptr noundef @.str.10)
  %6205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6206 = load i32, ptr %6205, align 4, !tbaa !5
  %6207 = call ptr @s2n_strerror_debug(i32 noundef %6206, ptr noundef @.str.10)
  %6208 = call ptr @__errno_location() #11
  %6209 = load i32, ptr %6208, align 4, !tbaa !5
  %6210 = call ptr @strerror(i32 noundef %6209) #10
  %6211 = call ptr @__errno_location() #11
  %6212 = load i32, ptr %6211, align 4, !tbaa !5
  %6213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6200, ptr noundef @.str.8, i32 noundef %6201, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 229, ptr noundef %6204, ptr noundef %6207, ptr noundef %6210, i32 noundef %6212) #10
  br label %6231

6214:                                             ; preds = %6192, %6185
  %6215 = load i32, ptr %129, align 4, !tbaa !5
  %6216 = call ptr @__errno_location() #11
  store i32 %6215, ptr %6216, align 4, !tbaa !5
  %6217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6218 = load i32, ptr @test_count, align 4, !tbaa !5
  %6219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6220 = load i32, ptr %6219, align 4, !tbaa !5
  %6221 = call ptr @s2n_strerror(i32 noundef %6220, ptr noundef @.str.10)
  %6222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6223 = load i32, ptr %6222, align 4, !tbaa !5
  %6224 = call ptr @s2n_strerror_debug(i32 noundef %6223, ptr noundef @.str.10)
  %6225 = call ptr @__errno_location() #11
  %6226 = load i32, ptr %6225, align 4, !tbaa !5
  %6227 = call ptr @strerror(i32 noundef %6226) #10
  %6228 = call ptr @__errno_location() #11
  %6229 = load i32, ptr %6228, align 4, !tbaa !5
  %6230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6217, ptr noundef @.str.11, i32 noundef %6218, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 229, ptr noundef %6221, ptr noundef %6224, ptr noundef %6227, i32 noundef %6229) #10
  br label %6231

6231:                                             ; preds = %6214, %6197
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #10
  br label %6232

6232:                                             ; preds = %6231
  br label %6233

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

6234:                                             ; No predecessors!
  br label %6235

6235:                                             ; preds = %6234
  br label %6236

6236:                                             ; preds = %6235, %6177
  br label %6237

6237:                                             ; preds = %6236
  br label %6238

6238:                                             ; preds = %6237
  br label %6239

6239:                                             ; preds = %6238
  %6240 = load i32, ptr @test_count, align 4, !tbaa !5
  %6241 = add nsw i32 %6240, 1
  store i32 %6241, ptr @test_count, align 4, !tbaa !5
  %6242 = load ptr, ptr %121, align 8, !tbaa !9
  %6243 = getelementptr inbounds %struct.s2n_connection, ptr %6242, i32 0, i32 51
  %6244 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %6243)
  br i1 %6244, label %6245, label %6298

6245:                                             ; preds = %6239
  br label %6246

6246:                                             ; preds = %6245
  br label %6247

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

6254:                                             ; preds = %6247
  %6255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6256 = call i32 @fileno(ptr noundef %6255) #10
  %6257 = call i32 @isatty(i32 noundef %6256) #10
  %6258 = icmp ne i32 %6257, 0
  br i1 %6258, label %6259, label %6276

6259:                                             ; preds = %6254
  %6260 = load i32, ptr %130, align 4, !tbaa !5
  %6261 = call ptr @__errno_location() #11
  store i32 %6260, ptr %6261, align 4, !tbaa !5
  %6262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6263 = load i32, ptr @test_count, align 4, !tbaa !5
  %6264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6265 = load i32, ptr %6264, align 4, !tbaa !5
  %6266 = call ptr @s2n_strerror(i32 noundef %6265, ptr noundef @.str.10)
  %6267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6268 = load i32, ptr %6267, align 4, !tbaa !5
  %6269 = call ptr @s2n_strerror_debug(i32 noundef %6268, ptr noundef @.str.10)
  %6270 = call ptr @__errno_location() #11
  %6271 = load i32, ptr %6270, align 4, !tbaa !5
  %6272 = call ptr @strerror(i32 noundef %6271) #10
  %6273 = call ptr @__errno_location() #11
  %6274 = load i32, ptr %6273, align 4, !tbaa !5
  %6275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6262, ptr noundef @.str.8, i32 noundef %6263, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 232, ptr noundef %6266, ptr noundef %6269, ptr noundef %6272, i32 noundef %6274) #10
  br label %6293

6276:                                             ; preds = %6254, %6247
  %6277 = load i32, ptr %130, align 4, !tbaa !5
  %6278 = call ptr @__errno_location() #11
  store i32 %6277, ptr %6278, align 4, !tbaa !5
  %6279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6280 = load i32, ptr @test_count, align 4, !tbaa !5
  %6281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6282 = load i32, ptr %6281, align 4, !tbaa !5
  %6283 = call ptr @s2n_strerror(i32 noundef %6282, ptr noundef @.str.10)
  %6284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6285 = load i32, ptr %6284, align 4, !tbaa !5
  %6286 = call ptr @s2n_strerror_debug(i32 noundef %6285, ptr noundef @.str.10)
  %6287 = call ptr @__errno_location() #11
  %6288 = load i32, ptr %6287, align 4, !tbaa !5
  %6289 = call ptr @strerror(i32 noundef %6288) #10
  %6290 = call ptr @__errno_location() #11
  %6291 = load i32, ptr %6290, align 4, !tbaa !5
  %6292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6279, ptr noundef @.str.11, i32 noundef %6280, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 232, ptr noundef %6283, ptr noundef %6286, ptr noundef %6289, i32 noundef %6291) #10
  br label %6293

6293:                                             ; preds = %6276, %6259
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #10
  br label %6294

6294:                                             ; preds = %6293
  br label %6295

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

6296:                                             ; No predecessors!
  br label %6297

6297:                                             ; preds = %6296
  br label %6298

6298:                                             ; preds = %6297, %6239
  br label %6299

6299:                                             ; preds = %6298
  br label %6300

6300:                                             ; preds = %6299
  br label %6301

6301:                                             ; preds = %6300
  %6302 = load i32, ptr @test_count, align 4, !tbaa !5
  %6303 = add nsw i32 %6302, 1
  store i32 %6303, ptr @test_count, align 4, !tbaa !5
  %6304 = load ptr, ptr %121, align 8, !tbaa !9
  %6305 = getelementptr inbounds %struct.s2n_connection, ptr %6304, i32 0, i32 49
  %6306 = load i8, ptr %6305, align 1, !tbaa !16, !range !13, !noundef !14
  %6307 = trunc i8 %6306 to i1
  br i1 %6307, label %6308, label %6361

6308:                                             ; preds = %6301
  br label %6309

6309:                                             ; preds = %6308
  br label %6310

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

6317:                                             ; preds = %6310
  %6318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6319 = call i32 @fileno(ptr noundef %6318) #10
  %6320 = call i32 @isatty(i32 noundef %6319) #10
  %6321 = icmp ne i32 %6320, 0
  br i1 %6321, label %6322, label %6339

6322:                                             ; preds = %6317
  %6323 = load i32, ptr %131, align 4, !tbaa !5
  %6324 = call ptr @__errno_location() #11
  store i32 %6323, ptr %6324, align 4, !tbaa !5
  %6325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6326 = load i32, ptr @test_count, align 4, !tbaa !5
  %6327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6328 = load i32, ptr %6327, align 4, !tbaa !5
  %6329 = call ptr @s2n_strerror(i32 noundef %6328, ptr noundef @.str.10)
  %6330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6331 = load i32, ptr %6330, align 4, !tbaa !5
  %6332 = call ptr @s2n_strerror_debug(i32 noundef %6331, ptr noundef @.str.10)
  %6333 = call ptr @__errno_location() #11
  %6334 = load i32, ptr %6333, align 4, !tbaa !5
  %6335 = call ptr @strerror(i32 noundef %6334) #10
  %6336 = call ptr @__errno_location() #11
  %6337 = load i32, ptr %6336, align 4, !tbaa !5
  %6338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6325, ptr noundef @.str.8, i32 noundef %6326, ptr noundef @.str.27, ptr noundef @.str.7, i32 noundef 233, ptr noundef %6329, ptr noundef %6332, ptr noundef %6335, i32 noundef %6337) #10
  br label %6356

6339:                                             ; preds = %6317, %6310
  %6340 = load i32, ptr %131, align 4, !tbaa !5
  %6341 = call ptr @__errno_location() #11
  store i32 %6340, ptr %6341, align 4, !tbaa !5
  %6342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6343 = load i32, ptr @test_count, align 4, !tbaa !5
  %6344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6345 = load i32, ptr %6344, align 4, !tbaa !5
  %6346 = call ptr @s2n_strerror(i32 noundef %6345, ptr noundef @.str.10)
  %6347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6348 = load i32, ptr %6347, align 4, !tbaa !5
  %6349 = call ptr @s2n_strerror_debug(i32 noundef %6348, ptr noundef @.str.10)
  %6350 = call ptr @__errno_location() #11
  %6351 = load i32, ptr %6350, align 4, !tbaa !5
  %6352 = call ptr @strerror(i32 noundef %6351) #10
  %6353 = call ptr @__errno_location() #11
  %6354 = load i32, ptr %6353, align 4, !tbaa !5
  %6355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6342, ptr noundef @.str.11, i32 noundef %6343, ptr noundef @.str.27, ptr noundef @.str.7, i32 noundef 233, ptr noundef %6346, ptr noundef %6349, ptr noundef %6352, i32 noundef %6354) #10
  br label %6356

6356:                                             ; preds = %6339, %6322
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #10
  br label %6357

6357:                                             ; preds = %6356
  br label %6358

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

6359:                                             ; No predecessors!
  br label %6360

6360:                                             ; preds = %6359
  br label %6361

6361:                                             ; preds = %6360, %6301
  br label %6362

6362:                                             ; preds = %6361
  br label %6363

6363:                                             ; preds = %6362
  br label %6364

6364:                                             ; preds = %6363
  %6365 = load i32, ptr @test_count, align 4, !tbaa !5
  %6366 = add nsw i32 %6365, 1
  store i32 %6366, ptr @test_count, align 4, !tbaa !5
  %6367 = load ptr, ptr %121, align 8, !tbaa !9
  %6368 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %6367, i32 noundef 2)
  br i1 %6368, label %6422, label %6369

6369:                                             ; preds = %6364
  br label %6370

6370:                                             ; preds = %6369
  br label %6371

6371:                                             ; preds = %6370
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #10
  %6372 = call ptr @__errno_location() #11
  %6373 = load i32, ptr %6372, align 4, !tbaa !5
  store i32 %6373, ptr %132, 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) #10
  %6381 = call i32 @isatty(i32 noundef %6380) #10
  %6382 = icmp ne i32 %6381, 0
  br i1 %6382, label %6383, label %6400

6383:                                             ; preds = %6378
  %6384 = load i32, ptr %132, align 4, !tbaa !5
  %6385 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %6394 = call ptr @__errno_location() #11
  %6395 = load i32, ptr %6394, align 4, !tbaa !5
  %6396 = call ptr @strerror(i32 noundef %6395) #10
  %6397 = call ptr @__errno_location() #11
  %6398 = load i32, ptr %6397, align 4, !tbaa !5
  %6399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6386, ptr noundef @.str.8, i32 noundef %6387, ptr noundef @.str.28, ptr noundef @.str.7, i32 noundef 234, ptr noundef %6390, ptr noundef %6393, ptr noundef %6396, i32 noundef %6398) #10
  br label %6417

6400:                                             ; preds = %6378, %6371
  %6401 = load i32, ptr %132, align 4, !tbaa !5
  %6402 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %6411 = call ptr @__errno_location() #11
  %6412 = load i32, ptr %6411, align 4, !tbaa !5
  %6413 = call ptr @strerror(i32 noundef %6412) #10
  %6414 = call ptr @__errno_location() #11
  %6415 = load i32, ptr %6414, align 4, !tbaa !5
  %6416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6403, ptr noundef @.str.11, i32 noundef %6404, ptr noundef @.str.28, ptr noundef @.str.7, i32 noundef 234, ptr noundef %6407, ptr noundef %6410, ptr noundef %6413, i32 noundef %6415) #10
  br label %6417

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

6418:                                             ; preds = %6417
  br label %6419

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

6420:                                             ; No predecessors!
  br label %6421

6421:                                             ; preds = %6420
  br label %6422

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

6423:                                             ; preds = %6422
  br label %6424

6424:                                             ; preds = %6423
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #10
  store i32 0, ptr %133, align 4, !tbaa !5
  br label %6425

6425:                                             ; preds = %6424
  br label %6426

6426:                                             ; preds = %6425
  br label %6427

6427:                                             ; preds = %6426
  %6428 = load i32, ptr @test_count, align 4, !tbaa !5
  %6429 = add nsw i32 %6428, 1
  store i32 %6429, ptr @test_count, align 4, !tbaa !5
  %6430 = load ptr, ptr %121, align 8, !tbaa !9
  %6431 = call i32 @s2n_shutdown(ptr noundef %6430, ptr noundef %133)
  %6432 = icmp eq i32 %6431, -1
  br i1 %6432, label %6486, label %6433

6433:                                             ; preds = %6427
  br label %6434

6434:                                             ; preds = %6433
  br label %6435

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

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

6447:                                             ; preds = %6442
  %6448 = load i32, ptr %134, align 4, !tbaa !5
  %6449 = call ptr @__errno_location() #11
  store i32 %6448, ptr %6449, align 4, !tbaa !5
  %6450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6451 = load i32, ptr @test_count, align 4, !tbaa !5
  %6452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6453 = load i32, ptr %6452, align 4, !tbaa !5
  %6454 = call ptr @s2n_strerror(i32 noundef %6453, ptr noundef @.str.10)
  %6455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6456 = load i32, ptr %6455, align 4, !tbaa !5
  %6457 = call ptr @s2n_strerror_debug(i32 noundef %6456, ptr noundef @.str.10)
  %6458 = call ptr @__errno_location() #11
  %6459 = load i32, ptr %6458, align 4, !tbaa !5
  %6460 = call ptr @strerror(i32 noundef %6459) #10
  %6461 = call ptr @__errno_location() #11
  %6462 = load i32, ptr %6461, align 4, !tbaa !5
  %6463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6450, ptr noundef @.str.8, i32 noundef %6451, ptr noundef @.str.42, ptr noundef @.str.7, i32 noundef 237, ptr noundef %6454, ptr noundef %6457, ptr noundef %6460, i32 noundef %6462) #10
  br label %6481

6464:                                             ; preds = %6442, %6435
  %6465 = load i32, ptr %134, align 4, !tbaa !5
  %6466 = call ptr @__errno_location() #11
  store i32 %6465, ptr %6466, align 4, !tbaa !5
  %6467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6468 = load i32, ptr @test_count, align 4, !tbaa !5
  %6469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6470 = load i32, ptr %6469, align 4, !tbaa !5
  %6471 = call ptr @s2n_strerror(i32 noundef %6470, ptr noundef @.str.10)
  %6472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6473 = load i32, ptr %6472, align 4, !tbaa !5
  %6474 = call ptr @s2n_strerror_debug(i32 noundef %6473, ptr noundef @.str.10)
  %6475 = call ptr @__errno_location() #11
  %6476 = load i32, ptr %6475, align 4, !tbaa !5
  %6477 = call ptr @strerror(i32 noundef %6476) #10
  %6478 = call ptr @__errno_location() #11
  %6479 = load i32, ptr %6478, align 4, !tbaa !5
  %6480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6467, ptr noundef @.str.11, i32 noundef %6468, ptr noundef @.str.42, ptr noundef @.str.7, i32 noundef 237, ptr noundef %6471, ptr noundef %6474, ptr noundef %6477, i32 noundef %6479) #10
  br label %6481

6481:                                             ; preds = %6464, %6447
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #10
  br label %6482

6482:                                             ; preds = %6481
  br label %6483

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

6484:                                             ; No predecessors!
  br label %6485

6485:                                             ; preds = %6484
  br label %6486

6486:                                             ; preds = %6485, %6427
  br label %6487

6487:                                             ; preds = %6486
  br label %6488

6488:                                             ; preds = %6487
  br label %6489

6489:                                             ; preds = %6488
  %6490 = load i32, ptr @test_count, align 4, !tbaa !5
  %6491 = add nsw i32 %6490, 1
  store i32 %6491, ptr @test_count, align 4, !tbaa !5
  %6492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6493 = load i32, ptr %6492, align 4, !tbaa !5
  %6494 = icmp eq i32 %6493, 201326592
  br i1 %6494, label %6548, label %6495

6495:                                             ; preds = %6489
  br label %6496

6496:                                             ; preds = %6495
  br label %6497

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

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

6509:                                             ; preds = %6504
  %6510 = load i32, ptr %135, align 4, !tbaa !5
  %6511 = call ptr @__errno_location() #11
  store i32 %6510, ptr %6511, align 4, !tbaa !5
  %6512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6513 = load i32, ptr @test_count, align 4, !tbaa !5
  %6514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6515 = load i32, ptr %6514, align 4, !tbaa !5
  %6516 = call ptr @s2n_strerror(i32 noundef %6515, ptr noundef @.str.10)
  %6517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6518 = load i32, ptr %6517, align 4, !tbaa !5
  %6519 = call ptr @s2n_strerror_debug(i32 noundef %6518, ptr noundef @.str.10)
  %6520 = call ptr @__errno_location() #11
  %6521 = load i32, ptr %6520, align 4, !tbaa !5
  %6522 = call ptr @strerror(i32 noundef %6521) #10
  %6523 = call ptr @__errno_location() #11
  %6524 = load i32, ptr %6523, align 4, !tbaa !5
  %6525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6512, ptr noundef @.str.8, i32 noundef %6513, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 237, ptr noundef %6516, ptr noundef %6519, ptr noundef %6522, i32 noundef %6524) #10
  br label %6543

6526:                                             ; preds = %6504, %6497
  %6527 = load i32, ptr %135, align 4, !tbaa !5
  %6528 = call ptr @__errno_location() #11
  store i32 %6527, ptr %6528, align 4, !tbaa !5
  %6529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6530 = load i32, ptr @test_count, align 4, !tbaa !5
  %6531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6532 = load i32, ptr %6531, align 4, !tbaa !5
  %6533 = call ptr @s2n_strerror(i32 noundef %6532, ptr noundef @.str.10)
  %6534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6535 = load i32, ptr %6534, align 4, !tbaa !5
  %6536 = call ptr @s2n_strerror_debug(i32 noundef %6535, ptr noundef @.str.10)
  %6537 = call ptr @__errno_location() #11
  %6538 = load i32, ptr %6537, align 4, !tbaa !5
  %6539 = call ptr @strerror(i32 noundef %6538) #10
  %6540 = call ptr @__errno_location() #11
  %6541 = load i32, ptr %6540, align 4, !tbaa !5
  %6542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6529, ptr noundef @.str.11, i32 noundef %6530, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 237, ptr noundef %6533, ptr noundef %6536, ptr noundef %6539, i32 noundef %6541) #10
  br label %6543

6543:                                             ; preds = %6526, %6509
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #10
  br label %6544

6544:                                             ; preds = %6543
  br label %6545

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

6546:                                             ; No predecessors!
  br label %6547

6547:                                             ; preds = %6546
  br label %6548

6548:                                             ; preds = %6547, %6489
  br label %6549

6549:                                             ; preds = %6548
  br label %6550

6550:                                             ; preds = %6549
  br label %6551

6551:                                             ; preds = %6550
  %6552 = load i32, ptr @test_count, align 4, !tbaa !5
  %6553 = add nsw i32 %6552, 1
  store i32 %6553, ptr @test_count, align 4, !tbaa !5
  %6554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6555 = load i32, ptr %6554, align 4, !tbaa !5
  %6556 = call ptr @s2n_strerror_debug(i32 noundef %6555, ptr noundef @.str.10)
  %6557 = icmp eq ptr %6556, null
  br i1 %6557, label %6558, label %6611

6558:                                             ; preds = %6551
  br label %6559

6559:                                             ; preds = %6558
  br label %6560

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

6567:                                             ; preds = %6560
  %6568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6569 = call i32 @fileno(ptr noundef %6568) #10
  %6570 = call i32 @isatty(i32 noundef %6569) #10
  %6571 = icmp ne i32 %6570, 0
  br i1 %6571, label %6572, label %6589

6572:                                             ; preds = %6567
  %6573 = load i32, ptr %136, align 4, !tbaa !5
  %6574 = call ptr @__errno_location() #11
  store i32 %6573, ptr %6574, align 4, !tbaa !5
  %6575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6576 = load i32, ptr @test_count, align 4, !tbaa !5
  %6577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6578 = load i32, ptr %6577, align 4, !tbaa !5
  %6579 = call ptr @s2n_strerror(i32 noundef %6578, ptr noundef @.str.10)
  %6580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6581 = load i32, ptr %6580, align 4, !tbaa !5
  %6582 = call ptr @s2n_strerror_debug(i32 noundef %6581, ptr noundef @.str.10)
  %6583 = call ptr @__errno_location() #11
  %6584 = load i32, ptr %6583, align 4, !tbaa !5
  %6585 = call ptr @strerror(i32 noundef %6584) #10
  %6586 = call ptr @__errno_location() #11
  %6587 = load i32, ptr %6586, align 4, !tbaa !5
  %6588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6575, ptr noundef @.str.8, i32 noundef %6576, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 237, ptr noundef %6579, ptr noundef %6582, ptr noundef %6585, i32 noundef %6587) #10
  br label %6606

6589:                                             ; preds = %6567, %6560
  %6590 = load i32, ptr %136, align 4, !tbaa !5
  %6591 = call ptr @__errno_location() #11
  store i32 %6590, ptr %6591, align 4, !tbaa !5
  %6592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6593 = load i32, ptr @test_count, align 4, !tbaa !5
  %6594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6595 = load i32, ptr %6594, align 4, !tbaa !5
  %6596 = call ptr @s2n_strerror(i32 noundef %6595, ptr noundef @.str.10)
  %6597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6598 = load i32, ptr %6597, align 4, !tbaa !5
  %6599 = call ptr @s2n_strerror_debug(i32 noundef %6598, ptr noundef @.str.10)
  %6600 = call ptr @__errno_location() #11
  %6601 = load i32, ptr %6600, align 4, !tbaa !5
  %6602 = call ptr @strerror(i32 noundef %6601) #10
  %6603 = call ptr @__errno_location() #11
  %6604 = load i32, ptr %6603, align 4, !tbaa !5
  %6605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6592, ptr noundef @.str.11, i32 noundef %6593, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 237, ptr noundef %6596, ptr noundef %6599, ptr noundef %6602, i32 noundef %6604) #10
  br label %6606

6606:                                             ; preds = %6589, %6572
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #10
  br label %6607

6607:                                             ; preds = %6606
  br label %6608

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

6609:                                             ; No predecessors!
  br label %6610

6610:                                             ; preds = %6609
  br label %6611

6611:                                             ; preds = %6610, %6551
  br label %6612

6612:                                             ; preds = %6611
  br label %6613

6613:                                             ; preds = %6612
  br label %6614

6614:                                             ; preds = %6613
  br label %6615

6615:                                             ; preds = %6614
  br label %6616

6616:                                             ; preds = %6615
  %6617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6617, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6618 = call ptr @__errno_location() #11
  store i32 0, ptr %6618, align 4, !tbaa !5
  br label %6619

6619:                                             ; preds = %6616
  br label %6620

6620:                                             ; preds = %6619
  br label %6621

6621:                                             ; preds = %6620
  br label %6622

6622:                                             ; preds = %6621
  br label %6623

6623:                                             ; preds = %6622
  %6624 = load i32, ptr @test_count, align 4, !tbaa !5
  %6625 = add nsw i32 %6624, 1
  store i32 %6625, ptr @test_count, align 4, !tbaa !5
  %6626 = load i32, ptr %133, align 4, !tbaa !5
  %6627 = icmp eq i32 %6626, 1
  br i1 %6627, label %6681, label %6628

6628:                                             ; preds = %6623
  br label %6629

6629:                                             ; preds = %6628
  br label %6630

6630:                                             ; preds = %6629
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #10
  %6631 = call ptr @__errno_location() #11
  %6632 = load i32, ptr %6631, align 4, !tbaa !5
  store i32 %6632, ptr %137, align 4, !tbaa !5
  %6633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6634 = call i32 @s2n_print_stacktrace(ptr noundef %6633)
  %6635 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6636 = trunc i8 %6635 to i1
  br i1 %6636, label %6637, label %6659

6637:                                             ; preds = %6630
  %6638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6639 = call i32 @fileno(ptr noundef %6638) #10
  %6640 = call i32 @isatty(i32 noundef %6639) #10
  %6641 = icmp ne i32 %6640, 0
  br i1 %6641, label %6642, label %6659

6642:                                             ; preds = %6637
  %6643 = load i32, ptr %137, align 4, !tbaa !5
  %6644 = call ptr @__errno_location() #11
  store i32 %6643, ptr %6644, align 4, !tbaa !5
  %6645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6646 = load i32, ptr @test_count, align 4, !tbaa !5
  %6647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6648 = load i32, ptr %6647, align 4, !tbaa !5
  %6649 = call ptr @s2n_strerror(i32 noundef %6648, ptr noundef @.str.10)
  %6650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6651 = load i32, ptr %6650, align 4, !tbaa !5
  %6652 = call ptr @s2n_strerror_debug(i32 noundef %6651, ptr noundef @.str.10)
  %6653 = call ptr @__errno_location() #11
  %6654 = load i32, ptr %6653, align 4, !tbaa !5
  %6655 = call ptr @strerror(i32 noundef %6654) #10
  %6656 = call ptr @__errno_location() #11
  %6657 = load i32, ptr %6656, align 4, !tbaa !5
  %6658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6645, ptr noundef @.str.8, i32 noundef %6646, ptr noundef @.str.45, ptr noundef @.str.7, i32 noundef 238, ptr noundef %6649, ptr noundef %6652, ptr noundef %6655, i32 noundef %6657) #10
  br label %6676

6659:                                             ; preds = %6637, %6630
  %6660 = load i32, ptr %137, align 4, !tbaa !5
  %6661 = call ptr @__errno_location() #11
  store i32 %6660, ptr %6661, align 4, !tbaa !5
  %6662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6663 = load i32, ptr @test_count, align 4, !tbaa !5
  %6664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6665 = load i32, ptr %6664, align 4, !tbaa !5
  %6666 = call ptr @s2n_strerror(i32 noundef %6665, ptr noundef @.str.10)
  %6667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6668 = load i32, ptr %6667, align 4, !tbaa !5
  %6669 = call ptr @s2n_strerror_debug(i32 noundef %6668, ptr noundef @.str.10)
  %6670 = call ptr @__errno_location() #11
  %6671 = load i32, ptr %6670, align 4, !tbaa !5
  %6672 = call ptr @strerror(i32 noundef %6671) #10
  %6673 = call ptr @__errno_location() #11
  %6674 = load i32, ptr %6673, align 4, !tbaa !5
  %6675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6662, ptr noundef @.str.11, i32 noundef %6663, ptr noundef @.str.45, ptr noundef @.str.7, i32 noundef 238, ptr noundef %6666, ptr noundef %6669, ptr noundef %6672, i32 noundef %6674) #10
  br label %6676

6676:                                             ; preds = %6659, %6642
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #10
  br label %6677

6677:                                             ; preds = %6676
  br label %6678

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

6679:                                             ; No predecessors!
  br label %6680

6680:                                             ; preds = %6679
  br label %6681

6681:                                             ; preds = %6680, %6623
  br label %6682

6682:                                             ; preds = %6681
  br label %6683

6683:                                             ; preds = %6682
  br label %6684

6684:                                             ; preds = %6683
  %6685 = load i32, ptr @test_count, align 4, !tbaa !5
  %6686 = add nsw i32 %6685, 1
  store i32 %6686, ptr @test_count, align 4, !tbaa !5
  %6687 = load ptr, ptr %121, align 8, !tbaa !9
  %6688 = getelementptr inbounds %struct.s2n_connection, ptr %6687, i32 0, i32 51
  %6689 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %6688)
  br i1 %6689, label %6690, label %6743

6690:                                             ; preds = %6684
  br label %6691

6691:                                             ; preds = %6690
  br label %6692

6692:                                             ; preds = %6691
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #10
  %6693 = call ptr @__errno_location() #11
  %6694 = load i32, ptr %6693, align 4, !tbaa !5
  store i32 %6694, ptr %138, align 4, !tbaa !5
  %6695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6696 = call i32 @s2n_print_stacktrace(ptr noundef %6695)
  %6697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6698 = trunc i8 %6697 to i1
  br i1 %6698, label %6699, label %6721

6699:                                             ; preds = %6692
  %6700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6701 = call i32 @fileno(ptr noundef %6700) #10
  %6702 = call i32 @isatty(i32 noundef %6701) #10
  %6703 = icmp ne i32 %6702, 0
  br i1 %6703, label %6704, label %6721

6704:                                             ; preds = %6699
  %6705 = load i32, ptr %138, align 4, !tbaa !5
  %6706 = call ptr @__errno_location() #11
  store i32 %6705, ptr %6706, align 4, !tbaa !5
  %6707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6708 = load i32, ptr @test_count, align 4, !tbaa !5
  %6709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6710 = load i32, ptr %6709, align 4, !tbaa !5
  %6711 = call ptr @s2n_strerror(i32 noundef %6710, ptr noundef @.str.10)
  %6712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6713 = load i32, ptr %6712, align 4, !tbaa !5
  %6714 = call ptr @s2n_strerror_debug(i32 noundef %6713, ptr noundef @.str.10)
  %6715 = call ptr @__errno_location() #11
  %6716 = load i32, ptr %6715, align 4, !tbaa !5
  %6717 = call ptr @strerror(i32 noundef %6716) #10
  %6718 = call ptr @__errno_location() #11
  %6719 = load i32, ptr %6718, align 4, !tbaa !5
  %6720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6707, ptr noundef @.str.8, i32 noundef %6708, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 241, ptr noundef %6711, ptr noundef %6714, ptr noundef %6717, i32 noundef %6719) #10
  br label %6738

6721:                                             ; preds = %6699, %6692
  %6722 = load i32, ptr %138, align 4, !tbaa !5
  %6723 = call ptr @__errno_location() #11
  store i32 %6722, ptr %6723, align 4, !tbaa !5
  %6724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6725 = load i32, ptr @test_count, align 4, !tbaa !5
  %6726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6727 = load i32, ptr %6726, align 4, !tbaa !5
  %6728 = call ptr @s2n_strerror(i32 noundef %6727, ptr noundef @.str.10)
  %6729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6730 = load i32, ptr %6729, align 4, !tbaa !5
  %6731 = call ptr @s2n_strerror_debug(i32 noundef %6730, ptr noundef @.str.10)
  %6732 = call ptr @__errno_location() #11
  %6733 = load i32, ptr %6732, align 4, !tbaa !5
  %6734 = call ptr @strerror(i32 noundef %6733) #10
  %6735 = call ptr @__errno_location() #11
  %6736 = load i32, ptr %6735, align 4, !tbaa !5
  %6737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6724, ptr noundef @.str.11, i32 noundef %6725, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 241, ptr noundef %6728, ptr noundef %6731, ptr noundef %6734, i32 noundef %6736) #10
  br label %6738

6738:                                             ; preds = %6721, %6704
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #10
  br label %6739

6739:                                             ; preds = %6738
  br label %6740

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

6741:                                             ; No predecessors!
  br label %6742

6742:                                             ; preds = %6741
  br label %6743

6743:                                             ; preds = %6742, %6684
  br label %6744

6744:                                             ; preds = %6743
  br label %6745

6745:                                             ; preds = %6744
  br label %6746

6746:                                             ; preds = %6745
  %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 = load ptr, ptr %121, align 8, !tbaa !9
  %6750 = getelementptr inbounds %struct.s2n_connection, ptr %6749, i32 0, i32 49
  %6751 = load i8, ptr %6750, align 1, !tbaa !16, !range !13, !noundef !14
  %6752 = trunc i8 %6751 to i1
  br i1 %6752, label %6806, label %6753

6753:                                             ; preds = %6746
  br label %6754

6754:                                             ; preds = %6753
  br label %6755

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

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

6767:                                             ; preds = %6762
  %6768 = load i32, ptr %139, align 4, !tbaa !5
  %6769 = call ptr @__errno_location() #11
  store i32 %6768, ptr %6769, align 4, !tbaa !5
  %6770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6771 = load i32, ptr @test_count, align 4, !tbaa !5
  %6772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6773 = load i32, ptr %6772, align 4, !tbaa !5
  %6774 = call ptr @s2n_strerror(i32 noundef %6773, ptr noundef @.str.10)
  %6775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6776 = load i32, ptr %6775, align 4, !tbaa !5
  %6777 = call ptr @s2n_strerror_debug(i32 noundef %6776, ptr noundef @.str.10)
  %6778 = call ptr @__errno_location() #11
  %6779 = load i32, ptr %6778, align 4, !tbaa !5
  %6780 = call ptr @strerror(i32 noundef %6779) #10
  %6781 = call ptr @__errno_location() #11
  %6782 = load i32, ptr %6781, align 4, !tbaa !5
  %6783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6770, ptr noundef @.str.8, i32 noundef %6771, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 242, ptr noundef %6774, ptr noundef %6777, ptr noundef %6780, i32 noundef %6782) #10
  br label %6801

6784:                                             ; preds = %6762, %6755
  %6785 = load i32, ptr %139, align 4, !tbaa !5
  %6786 = call ptr @__errno_location() #11
  store i32 %6785, ptr %6786, align 4, !tbaa !5
  %6787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6788 = load i32, ptr @test_count, align 4, !tbaa !5
  %6789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6790 = load i32, ptr %6789, align 4, !tbaa !5
  %6791 = call ptr @s2n_strerror(i32 noundef %6790, ptr noundef @.str.10)
  %6792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6793 = load i32, ptr %6792, align 4, !tbaa !5
  %6794 = call ptr @s2n_strerror_debug(i32 noundef %6793, ptr noundef @.str.10)
  %6795 = call ptr @__errno_location() #11
  %6796 = load i32, ptr %6795, align 4, !tbaa !5
  %6797 = call ptr @strerror(i32 noundef %6796) #10
  %6798 = call ptr @__errno_location() #11
  %6799 = load i32, ptr %6798, align 4, !tbaa !5
  %6800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6787, ptr noundef @.str.11, i32 noundef %6788, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 242, ptr noundef %6791, ptr noundef %6794, ptr noundef %6797, i32 noundef %6799) #10
  br label %6801

6801:                                             ; preds = %6784, %6767
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #10
  br label %6802

6802:                                             ; preds = %6801
  br label %6803

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

6804:                                             ; No predecessors!
  br label %6805

6805:                                             ; preds = %6804
  br label %6806

6806:                                             ; preds = %6805, %6746
  br label %6807

6807:                                             ; preds = %6806
  br label %6808

6808:                                             ; preds = %6807
  br label %6809

6809:                                             ; preds = %6808
  %6810 = load i32, ptr @test_count, align 4, !tbaa !5
  %6811 = add nsw i32 %6810, 1
  store i32 %6811, ptr @test_count, align 4, !tbaa !5
  %6812 = load ptr, ptr %121, align 8, !tbaa !9
  %6813 = call zeroext i8 @s2n_connection_get_protocol_version(ptr noundef %6812)
  %6814 = zext i8 %6813 to i32
  %6815 = icmp eq i32 %6814, 34
  br i1 %6815, label %6869, label %6816

6816:                                             ; preds = %6809
  br label %6817

6817:                                             ; preds = %6816
  br label %6818

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

6825:                                             ; preds = %6818
  %6826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6827 = call i32 @fileno(ptr noundef %6826) #10
  %6828 = call i32 @isatty(i32 noundef %6827) #10
  %6829 = icmp ne i32 %6828, 0
  br i1 %6829, label %6830, label %6847

6830:                                             ; preds = %6825
  %6831 = load i32, ptr %140, align 4, !tbaa !5
  %6832 = call ptr @__errno_location() #11
  store i32 %6831, ptr %6832, align 4, !tbaa !5
  %6833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6834 = load i32, ptr @test_count, align 4, !tbaa !5
  %6835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6836 = load i32, ptr %6835, align 4, !tbaa !5
  %6837 = call ptr @s2n_strerror(i32 noundef %6836, ptr noundef @.str.10)
  %6838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6839 = load i32, ptr %6838, align 4, !tbaa !5
  %6840 = call ptr @s2n_strerror_debug(i32 noundef %6839, ptr noundef @.str.10)
  %6841 = call ptr @__errno_location() #11
  %6842 = load i32, ptr %6841, align 4, !tbaa !5
  %6843 = call ptr @strerror(i32 noundef %6842) #10
  %6844 = call ptr @__errno_location() #11
  %6845 = load i32, ptr %6844, align 4, !tbaa !5
  %6846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6833, ptr noundef @.str.8, i32 noundef %6834, ptr noundef @.str.58, ptr noundef @.str.7, i32 noundef 245, ptr noundef %6837, ptr noundef %6840, ptr noundef %6843, i32 noundef %6845) #10
  br label %6864

6847:                                             ; preds = %6825, %6818
  %6848 = load i32, ptr %140, align 4, !tbaa !5
  %6849 = call ptr @__errno_location() #11
  store i32 %6848, ptr %6849, align 4, !tbaa !5
  %6850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6851 = load i32, ptr @test_count, align 4, !tbaa !5
  %6852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6853 = load i32, ptr %6852, align 4, !tbaa !5
  %6854 = call ptr @s2n_strerror(i32 noundef %6853, ptr noundef @.str.10)
  %6855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6856 = load i32, ptr %6855, align 4, !tbaa !5
  %6857 = call ptr @s2n_strerror_debug(i32 noundef %6856, ptr noundef @.str.10)
  %6858 = call ptr @__errno_location() #11
  %6859 = load i32, ptr %6858, align 4, !tbaa !5
  %6860 = call ptr @strerror(i32 noundef %6859) #10
  %6861 = call ptr @__errno_location() #11
  %6862 = load i32, ptr %6861, align 4, !tbaa !5
  %6863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6850, ptr noundef @.str.11, i32 noundef %6851, ptr noundef @.str.58, ptr noundef @.str.7, i32 noundef 245, ptr noundef %6854, ptr noundef %6857, ptr noundef %6860, i32 noundef %6862) #10
  br label %6864

6864:                                             ; preds = %6847, %6830
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #10
  br label %6865

6865:                                             ; preds = %6864
  br label %6866

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

6867:                                             ; No predecessors!
  br label %6868

6868:                                             ; preds = %6867
  br label %6869

6869:                                             ; preds = %6868, %6809
  br label %6870

6870:                                             ; preds = %6869
  br label %6871

6871:                                             ; preds = %6870
  br label %6872

6872:                                             ; preds = %6871
  %6873 = load i32, ptr @test_count, align 4, !tbaa !5
  %6874 = add nsw i32 %6873, 1
  store i32 %6874, ptr @test_count, align 4, !tbaa !5
  %6875 = load ptr, ptr %121, align 8, !tbaa !9
  %6876 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %6875, i32 noundef 0)
  br i1 %6876, label %6877, label %6930

6877:                                             ; preds = %6872
  br label %6878

6878:                                             ; preds = %6877
  br label %6879

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

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

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

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

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

6926:                                             ; preds = %6925
  br label %6927

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

6928:                                             ; No predecessors!
  br label %6929

6929:                                             ; preds = %6928
  br label %6930

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

6931:                                             ; preds = %6930
  br label %6932

6932:                                             ; preds = %6931
  br label %6933

6933:                                             ; preds = %6932
  %6934 = load i32, ptr @test_count, align 4, !tbaa !5
  %6935 = add nsw i32 %6934, 1
  store i32 %6935, ptr @test_count, align 4, !tbaa !5
  %6936 = load ptr, ptr %121, align 8, !tbaa !9
  %6937 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %6936, i32 noundef 1)
  br i1 %6937, label %6991, label %6938

6938:                                             ; preds = %6933
  br label %6939

6939:                                             ; preds = %6938
  br label %6940

6940:                                             ; preds = %6939
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #10
  %6941 = call ptr @__errno_location() #11
  %6942 = load i32, ptr %6941, align 4, !tbaa !5
  store i32 %6942, ptr %142, align 4, !tbaa !5
  %6943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6944 = call i32 @s2n_print_stacktrace(ptr noundef %6943)
  %6945 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6946 = trunc i8 %6945 to i1
  br i1 %6946, label %6947, label %6969

6947:                                             ; preds = %6940
  %6948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6949 = call i32 @fileno(ptr noundef %6948) #10
  %6950 = call i32 @isatty(i32 noundef %6949) #10
  %6951 = icmp ne i32 %6950, 0
  br i1 %6951, label %6952, label %6969

6952:                                             ; preds = %6947
  %6953 = load i32, ptr %142, align 4, !tbaa !5
  %6954 = call ptr @__errno_location() #11
  store i32 %6953, ptr %6954, align 4, !tbaa !5
  %6955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6956 = load i32, ptr @test_count, align 4, !tbaa !5
  %6957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6958 = load i32, ptr %6957, align 4, !tbaa !5
  %6959 = call ptr @s2n_strerror(i32 noundef %6958, ptr noundef @.str.10)
  %6960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6961 = load i32, ptr %6960, align 4, !tbaa !5
  %6962 = call ptr @s2n_strerror_debug(i32 noundef %6961, ptr noundef @.str.10)
  %6963 = call ptr @__errno_location() #11
  %6964 = load i32, ptr %6963, align 4, !tbaa !5
  %6965 = call ptr @strerror(i32 noundef %6964) #10
  %6966 = call ptr @__errno_location() #11
  %6967 = load i32, ptr %6966, align 4, !tbaa !5
  %6968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6955, ptr noundef @.str.8, i32 noundef %6956, ptr noundef @.str.59, ptr noundef @.str.7, i32 noundef 247, ptr noundef %6959, ptr noundef %6962, ptr noundef %6965, i32 noundef %6967) #10
  br label %6986

6969:                                             ; preds = %6947, %6940
  %6970 = load i32, ptr %142, align 4, !tbaa !5
  %6971 = call ptr @__errno_location() #11
  store i32 %6970, ptr %6971, align 4, !tbaa !5
  %6972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6973 = load i32, ptr @test_count, align 4, !tbaa !5
  %6974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6975 = load i32, ptr %6974, align 4, !tbaa !5
  %6976 = call ptr @s2n_strerror(i32 noundef %6975, ptr noundef @.str.10)
  %6977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6978 = load i32, ptr %6977, align 4, !tbaa !5
  %6979 = call ptr @s2n_strerror_debug(i32 noundef %6978, ptr noundef @.str.10)
  %6980 = call ptr @__errno_location() #11
  %6981 = load i32, ptr %6980, align 4, !tbaa !5
  %6982 = call ptr @strerror(i32 noundef %6981) #10
  %6983 = call ptr @__errno_location() #11
  %6984 = load i32, ptr %6983, align 4, !tbaa !5
  %6985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6972, ptr noundef @.str.11, i32 noundef %6973, ptr noundef @.str.59, ptr noundef @.str.7, i32 noundef 247, ptr noundef %6976, ptr noundef %6979, ptr noundef %6982, i32 noundef %6984) #10
  br label %6986

6986:                                             ; preds = %6969, %6952
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #10
  br label %6987

6987:                                             ; preds = %6986
  br label %6988

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

6989:                                             ; No predecessors!
  br label %6990

6990:                                             ; preds = %6989
  br label %6991

6991:                                             ; preds = %6990, %6933
  br label %6992

6992:                                             ; preds = %6991
  br label %6993

6993:                                             ; preds = %6992
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #10
  %6994 = call i32 @s2n_stuffer_free(ptr noundef %127)
  call void @llvm.lifetime.end.p0(i64 40, ptr %127) #10
  %6995 = call i32 @s2n_stuffer_free(ptr noundef %125)
  call void @llvm.lifetime.end.p0(i64 40, ptr %125) #10
  %6996 = call i32 @s2n_connection_ptr_free(ptr noundef %121)
  %6997 = getelementptr inbounds %struct.s2n_result, ptr %143, i32 0, i32 0
  store i32 %6996, ptr %6997, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %121) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %144) #10
  %6998 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %6998, ptr %144, align 8, !tbaa !9
  br label %6999

6999:                                             ; preds = %6993
  %7000 = load i32, ptr @test_count, align 4, !tbaa !5
  %7001 = add nsw i32 %7000, 1
  store i32 %7001, ptr @test_count, align 4, !tbaa !5
  %7002 = load ptr, ptr %144, align 8, !tbaa !9
  %7003 = icmp eq ptr %7002, null
  br i1 %7003, label %7004, label %7057

7004:                                             ; preds = %6999
  br label %7005

7005:                                             ; preds = %7004
  br label %7006

7006:                                             ; preds = %7005
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #10
  %7007 = call ptr @__errno_location() #11
  %7008 = load i32, ptr %7007, align 4, !tbaa !5
  store i32 %7008, ptr %145, align 4, !tbaa !5
  %7009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7010 = call i32 @s2n_print_stacktrace(ptr noundef %7009)
  %7011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7012 = trunc i8 %7011 to i1
  br i1 %7012, label %7013, label %7035

7013:                                             ; preds = %7006
  %7014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7015 = call i32 @fileno(ptr noundef %7014) #10
  %7016 = call i32 @isatty(i32 noundef %7015) #10
  %7017 = icmp ne i32 %7016, 0
  br i1 %7017, label %7018, label %7035

7018:                                             ; preds = %7013
  %7019 = load i32, ptr %145, align 4, !tbaa !5
  %7020 = call ptr @__errno_location() #11
  store i32 %7019, ptr %7020, align 4, !tbaa !5
  %7021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7022 = load i32, ptr @test_count, align 4, !tbaa !5
  %7023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7024 = load i32, ptr %7023, align 4, !tbaa !5
  %7025 = call ptr @s2n_strerror(i32 noundef %7024, ptr noundef @.str.10)
  %7026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7027 = load i32, ptr %7026, align 4, !tbaa !5
  %7028 = call ptr @s2n_strerror_debug(i32 noundef %7027, ptr noundef @.str.10)
  %7029 = call ptr @__errno_location() #11
  %7030 = load i32, ptr %7029, align 4, !tbaa !5
  %7031 = call ptr @strerror(i32 noundef %7030) #10
  %7032 = call ptr @__errno_location() #11
  %7033 = load i32, ptr %7032, align 4, !tbaa !5
  %7034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7021, ptr noundef @.str.8, i32 noundef %7022, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 254, ptr noundef %7025, ptr noundef %7028, ptr noundef %7031, i32 noundef %7033) #10
  br label %7052

7035:                                             ; preds = %7013, %7006
  %7036 = load i32, ptr %145, align 4, !tbaa !5
  %7037 = call ptr @__errno_location() #11
  store i32 %7036, ptr %7037, align 4, !tbaa !5
  %7038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7039 = load i32, ptr @test_count, align 4, !tbaa !5
  %7040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7041 = load i32, ptr %7040, align 4, !tbaa !5
  %7042 = call ptr @s2n_strerror(i32 noundef %7041, ptr noundef @.str.10)
  %7043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7044 = load i32, ptr %7043, align 4, !tbaa !5
  %7045 = call ptr @s2n_strerror_debug(i32 noundef %7044, ptr noundef @.str.10)
  %7046 = call ptr @__errno_location() #11
  %7047 = load i32, ptr %7046, align 4, !tbaa !5
  %7048 = call ptr @strerror(i32 noundef %7047) #10
  %7049 = call ptr @__errno_location() #11
  %7050 = load i32, ptr %7049, align 4, !tbaa !5
  %7051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7038, ptr noundef @.str.11, i32 noundef %7039, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 254, ptr noundef %7042, ptr noundef %7045, ptr noundef %7048, i32 noundef %7050) #10
  br label %7052

7052:                                             ; preds = %7035, %7018
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #10
  br label %7053

7053:                                             ; preds = %7052
  br label %7054

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

7055:                                             ; No predecessors!
  br label %7056

7056:                                             ; preds = %7055
  br label %7057

7057:                                             ; preds = %7056, %6999
  br label %7058

7058:                                             ; preds = %7057
  br label %7059

7059:                                             ; preds = %7058
  br label %7060

7060:                                             ; preds = %7059
  %7061 = load i32, ptr @test_count, align 4, !tbaa !5
  %7062 = add nsw i32 %7061, 1
  store i32 %7062, ptr @test_count, align 4, !tbaa !5
  %7063 = load ptr, ptr %144, align 8, !tbaa !9
  %7064 = call i32 @s2n_skip_handshake(ptr noundef %7063)
  %7065 = getelementptr inbounds %struct.s2n_result, ptr %146, i32 0, i32 0
  store i32 %7064, ptr %7065, align 4
  %7066 = getelementptr inbounds %struct.s2n_result, ptr %146, i32 0, i32 0
  %7067 = load i32, ptr %7066, align 4
  %7068 = call zeroext i1 @s2n_result_is_ok(i32 %7067)
  br i1 %7068, label %7122, label %7069

7069:                                             ; preds = %7060
  br label %7070

7070:                                             ; preds = %7069
  br label %7071

7071:                                             ; preds = %7070
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #10
  %7072 = call ptr @__errno_location() #11
  %7073 = load i32, ptr %7072, align 4, !tbaa !5
  store i32 %7073, ptr %147, align 4, !tbaa !5
  %7074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7075 = call i32 @s2n_print_stacktrace(ptr noundef %7074)
  %7076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7077 = trunc i8 %7076 to i1
  br i1 %7077, label %7078, label %7100

7078:                                             ; preds = %7071
  %7079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7080 = call i32 @fileno(ptr noundef %7079) #10
  %7081 = call i32 @isatty(i32 noundef %7080) #10
  %7082 = icmp ne i32 %7081, 0
  br i1 %7082, label %7083, label %7100

7083:                                             ; preds = %7078
  %7084 = load i32, ptr %147, align 4, !tbaa !5
  %7085 = call ptr @__errno_location() #11
  store i32 %7084, ptr %7085, align 4, !tbaa !5
  %7086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7087 = load i32, ptr @test_count, align 4, !tbaa !5
  %7088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7089 = load i32, ptr %7088, align 4, !tbaa !5
  %7090 = call ptr @s2n_strerror(i32 noundef %7089, ptr noundef @.str.10)
  %7091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7092 = load i32, ptr %7091, align 4, !tbaa !5
  %7093 = call ptr @s2n_strerror_debug(i32 noundef %7092, ptr noundef @.str.10)
  %7094 = call ptr @__errno_location() #11
  %7095 = load i32, ptr %7094, align 4, !tbaa !5
  %7096 = call ptr @strerror(i32 noundef %7095) #10
  %7097 = call ptr @__errno_location() #11
  %7098 = load i32, ptr %7097, align 4, !tbaa !5
  %7099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7086, ptr noundef @.str.8, i32 noundef %7087, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 255, ptr noundef %7090, ptr noundef %7093, ptr noundef %7096, i32 noundef %7098) #10
  br label %7117

7100:                                             ; preds = %7078, %7071
  %7101 = load i32, ptr %147, align 4, !tbaa !5
  %7102 = call ptr @__errno_location() #11
  store i32 %7101, ptr %7102, align 4, !tbaa !5
  %7103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7104 = load i32, ptr @test_count, align 4, !tbaa !5
  %7105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7106 = load i32, ptr %7105, align 4, !tbaa !5
  %7107 = call ptr @s2n_strerror(i32 noundef %7106, ptr noundef @.str.10)
  %7108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7109 = load i32, ptr %7108, align 4, !tbaa !5
  %7110 = call ptr @s2n_strerror_debug(i32 noundef %7109, ptr noundef @.str.10)
  %7111 = call ptr @__errno_location() #11
  %7112 = load i32, ptr %7111, align 4, !tbaa !5
  %7113 = call ptr @strerror(i32 noundef %7112) #10
  %7114 = call ptr @__errno_location() #11
  %7115 = load i32, ptr %7114, align 4, !tbaa !5
  %7116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7103, ptr noundef @.str.11, i32 noundef %7104, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 255, ptr noundef %7107, ptr noundef %7110, ptr noundef %7113, i32 noundef %7115) #10
  br label %7117

7117:                                             ; preds = %7100, %7083
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #10
  br label %7118

7118:                                             ; preds = %7117
  br label %7119

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

7120:                                             ; No predecessors!
  br label %7121

7121:                                             ; preds = %7120
  br label %7122

7122:                                             ; preds = %7121, %7060
  br label %7123

7123:                                             ; preds = %7122
  br label %7124

7124:                                             ; preds = %7123
  call void @llvm.lifetime.start.p0(i64 40, ptr %148) #10
  call void @llvm.memset.p0.i64(ptr align 8 %148, i8 0, i64 40, i1 false)
  br label %7125

7125:                                             ; preds = %7124
  %7126 = load i32, ptr @test_count, align 4, !tbaa !5
  %7127 = add nsw i32 %7126, 1
  store i32 %7127, ptr @test_count, align 4, !tbaa !5
  %7128 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %148, i32 noundef 0)
  %7129 = icmp eq i32 %7128, -1
  br i1 %7129, label %7130, label %7183

7130:                                             ; preds = %7125
  br label %7131

7131:                                             ; preds = %7130
  br label %7132

7132:                                             ; preds = %7131
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #10
  %7133 = call ptr @__errno_location() #11
  %7134 = load i32, ptr %7133, align 4, !tbaa !5
  store i32 %7134, ptr %149, align 4, !tbaa !5
  %7135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7136 = call i32 @s2n_print_stacktrace(ptr noundef %7135)
  %7137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7138 = trunc i8 %7137 to i1
  br i1 %7138, label %7139, label %7161

7139:                                             ; preds = %7132
  %7140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7141 = call i32 @fileno(ptr noundef %7140) #10
  %7142 = call i32 @isatty(i32 noundef %7141) #10
  %7143 = icmp ne i32 %7142, 0
  br i1 %7143, label %7144, label %7161

7144:                                             ; preds = %7139
  %7145 = load i32, ptr %149, align 4, !tbaa !5
  %7146 = call ptr @__errno_location() #11
  store i32 %7145, ptr %7146, align 4, !tbaa !5
  %7147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7148 = load i32, ptr @test_count, align 4, !tbaa !5
  %7149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7150 = load i32, ptr %7149, align 4, !tbaa !5
  %7151 = call ptr @s2n_strerror(i32 noundef %7150, ptr noundef @.str.10)
  %7152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7153 = load i32, ptr %7152, align 4, !tbaa !5
  %7154 = call ptr @s2n_strerror_debug(i32 noundef %7153, ptr noundef @.str.10)
  %7155 = call ptr @__errno_location() #11
  %7156 = load i32, ptr %7155, align 4, !tbaa !5
  %7157 = call ptr @strerror(i32 noundef %7156) #10
  %7158 = call ptr @__errno_location() #11
  %7159 = load i32, ptr %7158, align 4, !tbaa !5
  %7160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7147, ptr noundef @.str.8, i32 noundef %7148, ptr noundef @.str.39, ptr noundef @.str.7, i32 noundef 258, ptr noundef %7151, ptr noundef %7154, ptr noundef %7157, i32 noundef %7159) #10
  br label %7178

7161:                                             ; preds = %7139, %7132
  %7162 = load i32, ptr %149, align 4, !tbaa !5
  %7163 = call ptr @__errno_location() #11
  store i32 %7162, ptr %7163, align 4, !tbaa !5
  %7164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7165 = load i32, ptr @test_count, align 4, !tbaa !5
  %7166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7167 = load i32, ptr %7166, align 4, !tbaa !5
  %7168 = call ptr @s2n_strerror(i32 noundef %7167, ptr noundef @.str.10)
  %7169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7170 = load i32, ptr %7169, align 4, !tbaa !5
  %7171 = call ptr @s2n_strerror_debug(i32 noundef %7170, ptr noundef @.str.10)
  %7172 = call ptr @__errno_location() #11
  %7173 = load i32, ptr %7172, align 4, !tbaa !5
  %7174 = call ptr @strerror(i32 noundef %7173) #10
  %7175 = call ptr @__errno_location() #11
  %7176 = load i32, ptr %7175, align 4, !tbaa !5
  %7177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7164, ptr noundef @.str.11, i32 noundef %7165, ptr noundef @.str.39, ptr noundef @.str.7, i32 noundef 258, ptr noundef %7168, ptr noundef %7171, ptr noundef %7174, i32 noundef %7176) #10
  br label %7178

7178:                                             ; preds = %7161, %7144
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #10
  br label %7179

7179:                                             ; preds = %7178
  br label %7180

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

7181:                                             ; No predecessors!
  br label %7182

7182:                                             ; preds = %7181
  br label %7183

7183:                                             ; preds = %7182, %7125
  br label %7184

7184:                                             ; preds = %7183
  br label %7185

7185:                                             ; preds = %7184
  call void @llvm.lifetime.start.p0(i64 40, ptr %150) #10
  call void @llvm.memset.p0.i64(ptr align 8 %150, i8 0, i64 40, i1 false)
  br label %7186

7186:                                             ; preds = %7185
  %7187 = load i32, ptr @test_count, align 4, !tbaa !5
  %7188 = add nsw i32 %7187, 1
  store i32 %7188, ptr @test_count, align 4, !tbaa !5
  %7189 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %150, i32 noundef 0)
  %7190 = icmp eq i32 %7189, -1
  br i1 %7190, label %7191, label %7244

7191:                                             ; preds = %7186
  br label %7192

7192:                                             ; preds = %7191
  br label %7193

7193:                                             ; preds = %7192
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #10
  %7194 = call ptr @__errno_location() #11
  %7195 = load i32, ptr %7194, align 4, !tbaa !5
  store i32 %7195, ptr %151, align 4, !tbaa !5
  %7196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7197 = call i32 @s2n_print_stacktrace(ptr noundef %7196)
  %7198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7199 = trunc i8 %7198 to i1
  br i1 %7199, label %7200, label %7222

7200:                                             ; preds = %7193
  %7201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7202 = call i32 @fileno(ptr noundef %7201) #10
  %7203 = call i32 @isatty(i32 noundef %7202) #10
  %7204 = icmp ne i32 %7203, 0
  br i1 %7204, label %7205, label %7222

7205:                                             ; preds = %7200
  %7206 = load i32, ptr %151, align 4, !tbaa !5
  %7207 = call ptr @__errno_location() #11
  store i32 %7206, ptr %7207, align 4, !tbaa !5
  %7208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7209 = load i32, ptr @test_count, align 4, !tbaa !5
  %7210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7211 = load i32, ptr %7210, align 4, !tbaa !5
  %7212 = call ptr @s2n_strerror(i32 noundef %7211, ptr noundef @.str.10)
  %7213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7214 = load i32, ptr %7213, align 4, !tbaa !5
  %7215 = call ptr @s2n_strerror_debug(i32 noundef %7214, ptr noundef @.str.10)
  %7216 = call ptr @__errno_location() #11
  %7217 = load i32, ptr %7216, align 4, !tbaa !5
  %7218 = call ptr @strerror(i32 noundef %7217) #10
  %7219 = call ptr @__errno_location() #11
  %7220 = load i32, ptr %7219, align 4, !tbaa !5
  %7221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7208, ptr noundef @.str.8, i32 noundef %7209, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 260, ptr noundef %7212, ptr noundef %7215, ptr noundef %7218, i32 noundef %7220) #10
  br label %7239

7222:                                             ; preds = %7200, %7193
  %7223 = load i32, ptr %151, align 4, !tbaa !5
  %7224 = call ptr @__errno_location() #11
  store i32 %7223, ptr %7224, align 4, !tbaa !5
  %7225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7226 = load i32, ptr @test_count, align 4, !tbaa !5
  %7227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7228 = load i32, ptr %7227, align 4, !tbaa !5
  %7229 = call ptr @s2n_strerror(i32 noundef %7228, ptr noundef @.str.10)
  %7230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7231 = load i32, ptr %7230, align 4, !tbaa !5
  %7232 = call ptr @s2n_strerror_debug(i32 noundef %7231, ptr noundef @.str.10)
  %7233 = call ptr @__errno_location() #11
  %7234 = load i32, ptr %7233, align 4, !tbaa !5
  %7235 = call ptr @strerror(i32 noundef %7234) #10
  %7236 = call ptr @__errno_location() #11
  %7237 = load i32, ptr %7236, align 4, !tbaa !5
  %7238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7225, ptr noundef @.str.11, i32 noundef %7226, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 260, ptr noundef %7229, ptr noundef %7232, ptr noundef %7235, i32 noundef %7237) #10
  br label %7239

7239:                                             ; preds = %7222, %7205
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #10
  br label %7240

7240:                                             ; preds = %7239
  br label %7241

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

7242:                                             ; No predecessors!
  br label %7243

7243:                                             ; preds = %7242
  br label %7244

7244:                                             ; preds = %7243, %7186
  br label %7245

7245:                                             ; preds = %7244
  br label %7246

7246:                                             ; preds = %7245
  br label %7247

7247:                                             ; preds = %7246
  %7248 = load i32, ptr @test_count, align 4, !tbaa !5
  %7249 = add nsw i32 %7248, 1
  store i32 %7249, ptr @test_count, align 4, !tbaa !5
  %7250 = load ptr, ptr %144, align 8, !tbaa !9
  %7251 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %148, ptr noundef %150, ptr noundef %7250)
  %7252 = icmp eq i32 %7251, -1
  br i1 %7252, label %7253, label %7306

7253:                                             ; preds = %7247
  br label %7254

7254:                                             ; preds = %7253
  br label %7255

7255:                                             ; preds = %7254
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #10
  %7256 = call ptr @__errno_location() #11
  %7257 = load i32, ptr %7256, align 4, !tbaa !5
  store i32 %7257, ptr %152, align 4, !tbaa !5
  %7258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7259 = call i32 @s2n_print_stacktrace(ptr noundef %7258)
  %7260 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7261 = trunc i8 %7260 to i1
  br i1 %7261, label %7262, label %7284

7262:                                             ; preds = %7255
  %7263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7264 = call i32 @fileno(ptr noundef %7263) #10
  %7265 = call i32 @isatty(i32 noundef %7264) #10
  %7266 = icmp ne i32 %7265, 0
  br i1 %7266, label %7267, label %7284

7267:                                             ; preds = %7262
  %7268 = load i32, ptr %152, align 4, !tbaa !5
  %7269 = call ptr @__errno_location() #11
  store i32 %7268, ptr %7269, align 4, !tbaa !5
  %7270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7271 = load i32, ptr @test_count, align 4, !tbaa !5
  %7272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7273 = load i32, ptr %7272, align 4, !tbaa !5
  %7274 = call ptr @s2n_strerror(i32 noundef %7273, ptr noundef @.str.10)
  %7275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7276 = load i32, ptr %7275, align 4, !tbaa !5
  %7277 = call ptr @s2n_strerror_debug(i32 noundef %7276, ptr noundef @.str.10)
  %7278 = call ptr @__errno_location() #11
  %7279 = load i32, ptr %7278, align 4, !tbaa !5
  %7280 = call ptr @strerror(i32 noundef %7279) #10
  %7281 = call ptr @__errno_location() #11
  %7282 = load i32, ptr %7281, align 4, !tbaa !5
  %7283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7270, ptr noundef @.str.8, i32 noundef %7271, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 261, ptr noundef %7274, ptr noundef %7277, ptr noundef %7280, i32 noundef %7282) #10
  br label %7301

7284:                                             ; preds = %7262, %7255
  %7285 = load i32, ptr %152, align 4, !tbaa !5
  %7286 = call ptr @__errno_location() #11
  store i32 %7285, ptr %7286, align 4, !tbaa !5
  %7287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7288 = load i32, ptr @test_count, align 4, !tbaa !5
  %7289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7290 = load i32, ptr %7289, align 4, !tbaa !5
  %7291 = call ptr @s2n_strerror(i32 noundef %7290, ptr noundef @.str.10)
  %7292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7293 = load i32, ptr %7292, align 4, !tbaa !5
  %7294 = call ptr @s2n_strerror_debug(i32 noundef %7293, ptr noundef @.str.10)
  %7295 = call ptr @__errno_location() #11
  %7296 = load i32, ptr %7295, align 4, !tbaa !5
  %7297 = call ptr @strerror(i32 noundef %7296) #10
  %7298 = call ptr @__errno_location() #11
  %7299 = load i32, ptr %7298, align 4, !tbaa !5
  %7300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7287, ptr noundef @.str.11, i32 noundef %7288, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 261, ptr noundef %7291, ptr noundef %7294, ptr noundef %7297, i32 noundef %7299) #10
  br label %7301

7301:                                             ; preds = %7284, %7267
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #10
  br label %7302

7302:                                             ; preds = %7301
  br label %7303

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

7304:                                             ; No predecessors!
  br label %7305

7305:                                             ; preds = %7304
  br label %7306

7306:                                             ; preds = %7305, %7247
  br label %7307

7307:                                             ; preds = %7306
  br label %7308

7308:                                             ; preds = %7307
  br label %7309

7309:                                             ; preds = %7308
  %7310 = load i32, ptr @test_count, align 4, !tbaa !5
  %7311 = add nsw i32 %7310, 1
  store i32 %7311, ptr @test_count, align 4, !tbaa !5
  %7312 = load ptr, ptr %144, align 8, !tbaa !9
  %7313 = getelementptr inbounds %struct.s2n_connection, ptr %7312, i32 0, i32 51
  %7314 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %7313)
  br i1 %7314, label %7315, label %7368

7315:                                             ; preds = %7309
  br label %7316

7316:                                             ; preds = %7315
  br label %7317

7317:                                             ; preds = %7316
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #10
  %7318 = call ptr @__errno_location() #11
  %7319 = load i32, ptr %7318, align 4, !tbaa !5
  store i32 %7319, ptr %153, align 4, !tbaa !5
  %7320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7321 = call i32 @s2n_print_stacktrace(ptr noundef %7320)
  %7322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7323 = trunc i8 %7322 to i1
  br i1 %7323, label %7324, label %7346

7324:                                             ; preds = %7317
  %7325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7326 = call i32 @fileno(ptr noundef %7325) #10
  %7327 = call i32 @isatty(i32 noundef %7326) #10
  %7328 = icmp ne i32 %7327, 0
  br i1 %7328, label %7329, label %7346

7329:                                             ; preds = %7324
  %7330 = load i32, ptr %153, align 4, !tbaa !5
  %7331 = call ptr @__errno_location() #11
  store i32 %7330, ptr %7331, align 4, !tbaa !5
  %7332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7333 = load i32, ptr @test_count, align 4, !tbaa !5
  %7334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7335 = load i32, ptr %7334, align 4, !tbaa !5
  %7336 = call ptr @s2n_strerror(i32 noundef %7335, ptr noundef @.str.10)
  %7337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7338 = load i32, ptr %7337, align 4, !tbaa !5
  %7339 = call ptr @s2n_strerror_debug(i32 noundef %7338, ptr noundef @.str.10)
  %7340 = call ptr @__errno_location() #11
  %7341 = load i32, ptr %7340, align 4, !tbaa !5
  %7342 = call ptr @strerror(i32 noundef %7341) #10
  %7343 = call ptr @__errno_location() #11
  %7344 = load i32, ptr %7343, align 4, !tbaa !5
  %7345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7332, ptr noundef @.str.8, i32 noundef %7333, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 264, ptr noundef %7336, ptr noundef %7339, ptr noundef %7342, i32 noundef %7344) #10
  br label %7363

7346:                                             ; preds = %7324, %7317
  %7347 = load i32, ptr %153, align 4, !tbaa !5
  %7348 = call ptr @__errno_location() #11
  store i32 %7347, ptr %7348, align 4, !tbaa !5
  %7349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7350 = load i32, ptr @test_count, align 4, !tbaa !5
  %7351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7352 = load i32, ptr %7351, align 4, !tbaa !5
  %7353 = call ptr @s2n_strerror(i32 noundef %7352, ptr noundef @.str.10)
  %7354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7355 = load i32, ptr %7354, align 4, !tbaa !5
  %7356 = call ptr @s2n_strerror_debug(i32 noundef %7355, ptr noundef @.str.10)
  %7357 = call ptr @__errno_location() #11
  %7358 = load i32, ptr %7357, align 4, !tbaa !5
  %7359 = call ptr @strerror(i32 noundef %7358) #10
  %7360 = call ptr @__errno_location() #11
  %7361 = load i32, ptr %7360, align 4, !tbaa !5
  %7362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7349, ptr noundef @.str.11, i32 noundef %7350, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 264, ptr noundef %7353, ptr noundef %7356, ptr noundef %7359, i32 noundef %7361) #10
  br label %7363

7363:                                             ; preds = %7346, %7329
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #10
  br label %7364

7364:                                             ; preds = %7363
  br label %7365

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

7366:                                             ; No predecessors!
  br label %7367

7367:                                             ; preds = %7366
  br label %7368

7368:                                             ; preds = %7367, %7309
  br label %7369

7369:                                             ; preds = %7368
  br label %7370

7370:                                             ; preds = %7369
  br label %7371

7371:                                             ; preds = %7370
  %7372 = load i32, ptr @test_count, align 4, !tbaa !5
  %7373 = add nsw i32 %7372, 1
  store i32 %7373, ptr @test_count, align 4, !tbaa !5
  %7374 = load ptr, ptr %144, align 8, !tbaa !9
  %7375 = getelementptr inbounds %struct.s2n_connection, ptr %7374, i32 0, i32 49
  %7376 = load i8, ptr %7375, align 1, !tbaa !16, !range !13, !noundef !14
  %7377 = trunc i8 %7376 to i1
  br i1 %7377, label %7378, label %7431

7378:                                             ; preds = %7371
  br label %7379

7379:                                             ; preds = %7378
  br label %7380

7380:                                             ; preds = %7379
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #10
  %7381 = call ptr @__errno_location() #11
  %7382 = load i32, ptr %7381, align 4, !tbaa !5
  store i32 %7382, ptr %154, align 4, !tbaa !5
  %7383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7384 = call i32 @s2n_print_stacktrace(ptr noundef %7383)
  %7385 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7386 = trunc i8 %7385 to i1
  br i1 %7386, label %7387, label %7409

7387:                                             ; preds = %7380
  %7388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7389 = call i32 @fileno(ptr noundef %7388) #10
  %7390 = call i32 @isatty(i32 noundef %7389) #10
  %7391 = icmp ne i32 %7390, 0
  br i1 %7391, label %7392, label %7409

7392:                                             ; preds = %7387
  %7393 = load i32, ptr %154, align 4, !tbaa !5
  %7394 = call ptr @__errno_location() #11
  store i32 %7393, ptr %7394, align 4, !tbaa !5
  %7395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7396 = load i32, ptr @test_count, align 4, !tbaa !5
  %7397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7398 = load i32, ptr %7397, align 4, !tbaa !5
  %7399 = call ptr @s2n_strerror(i32 noundef %7398, ptr noundef @.str.10)
  %7400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7401 = load i32, ptr %7400, align 4, !tbaa !5
  %7402 = call ptr @s2n_strerror_debug(i32 noundef %7401, ptr noundef @.str.10)
  %7403 = call ptr @__errno_location() #11
  %7404 = load i32, ptr %7403, align 4, !tbaa !5
  %7405 = call ptr @strerror(i32 noundef %7404) #10
  %7406 = call ptr @__errno_location() #11
  %7407 = load i32, ptr %7406, align 4, !tbaa !5
  %7408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7395, ptr noundef @.str.8, i32 noundef %7396, ptr noundef @.str.27, ptr noundef @.str.7, i32 noundef 265, ptr noundef %7399, ptr noundef %7402, ptr noundef %7405, i32 noundef %7407) #10
  br label %7426

7409:                                             ; preds = %7387, %7380
  %7410 = load i32, ptr %154, align 4, !tbaa !5
  %7411 = call ptr @__errno_location() #11
  store i32 %7410, ptr %7411, align 4, !tbaa !5
  %7412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7413 = load i32, ptr @test_count, align 4, !tbaa !5
  %7414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7415 = load i32, ptr %7414, align 4, !tbaa !5
  %7416 = call ptr @s2n_strerror(i32 noundef %7415, ptr noundef @.str.10)
  %7417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7418 = load i32, ptr %7417, align 4, !tbaa !5
  %7419 = call ptr @s2n_strerror_debug(i32 noundef %7418, ptr noundef @.str.10)
  %7420 = call ptr @__errno_location() #11
  %7421 = load i32, ptr %7420, align 4, !tbaa !5
  %7422 = call ptr @strerror(i32 noundef %7421) #10
  %7423 = call ptr @__errno_location() #11
  %7424 = load i32, ptr %7423, align 4, !tbaa !5
  %7425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7412, ptr noundef @.str.11, i32 noundef %7413, ptr noundef @.str.27, ptr noundef @.str.7, i32 noundef 265, ptr noundef %7416, ptr noundef %7419, ptr noundef %7422, i32 noundef %7424) #10
  br label %7426

7426:                                             ; preds = %7409, %7392
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #10
  br label %7427

7427:                                             ; preds = %7426
  br label %7428

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

7429:                                             ; No predecessors!
  br label %7430

7430:                                             ; preds = %7429
  br label %7431

7431:                                             ; preds = %7430, %7371
  br label %7432

7432:                                             ; preds = %7431
  br label %7433

7433:                                             ; preds = %7432
  br label %7434

7434:                                             ; preds = %7433
  %7435 = load i32, ptr @test_count, align 4, !tbaa !5
  %7436 = add nsw i32 %7435, 1
  store i32 %7436, ptr @test_count, align 4, !tbaa !5
  %7437 = load ptr, ptr %144, align 8, !tbaa !9
  %7438 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %7437, i32 noundef 2)
  br i1 %7438, label %7492, label %7439

7439:                                             ; preds = %7434
  br label %7440

7440:                                             ; preds = %7439
  br label %7441

7441:                                             ; preds = %7440
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #10
  %7442 = call ptr @__errno_location() #11
  %7443 = load i32, ptr %7442, align 4, !tbaa !5
  store i32 %7443, ptr %155, align 4, !tbaa !5
  %7444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7445 = call i32 @s2n_print_stacktrace(ptr noundef %7444)
  %7446 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7447 = trunc i8 %7446 to i1
  br i1 %7447, label %7448, label %7470

7448:                                             ; preds = %7441
  %7449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7450 = call i32 @fileno(ptr noundef %7449) #10
  %7451 = call i32 @isatty(i32 noundef %7450) #10
  %7452 = icmp ne i32 %7451, 0
  br i1 %7452, label %7453, label %7470

7453:                                             ; preds = %7448
  %7454 = load i32, ptr %155, align 4, !tbaa !5
  %7455 = call ptr @__errno_location() #11
  store i32 %7454, ptr %7455, align 4, !tbaa !5
  %7456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7457 = load i32, ptr @test_count, align 4, !tbaa !5
  %7458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7459 = load i32, ptr %7458, align 4, !tbaa !5
  %7460 = call ptr @s2n_strerror(i32 noundef %7459, ptr noundef @.str.10)
  %7461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7462 = load i32, ptr %7461, align 4, !tbaa !5
  %7463 = call ptr @s2n_strerror_debug(i32 noundef %7462, ptr noundef @.str.10)
  %7464 = call ptr @__errno_location() #11
  %7465 = load i32, ptr %7464, align 4, !tbaa !5
  %7466 = call ptr @strerror(i32 noundef %7465) #10
  %7467 = call ptr @__errno_location() #11
  %7468 = load i32, ptr %7467, align 4, !tbaa !5
  %7469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7456, ptr noundef @.str.8, i32 noundef %7457, ptr noundef @.str.28, ptr noundef @.str.7, i32 noundef 266, ptr noundef %7460, ptr noundef %7463, ptr noundef %7466, i32 noundef %7468) #10
  br label %7487

7470:                                             ; preds = %7448, %7441
  %7471 = load i32, ptr %155, align 4, !tbaa !5
  %7472 = call ptr @__errno_location() #11
  store i32 %7471, ptr %7472, align 4, !tbaa !5
  %7473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7474 = load i32, ptr @test_count, align 4, !tbaa !5
  %7475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7476 = load i32, ptr %7475, align 4, !tbaa !5
  %7477 = call ptr @s2n_strerror(i32 noundef %7476, ptr noundef @.str.10)
  %7478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7479 = load i32, ptr %7478, align 4, !tbaa !5
  %7480 = call ptr @s2n_strerror_debug(i32 noundef %7479, ptr noundef @.str.10)
  %7481 = call ptr @__errno_location() #11
  %7482 = load i32, ptr %7481, align 4, !tbaa !5
  %7483 = call ptr @strerror(i32 noundef %7482) #10
  %7484 = call ptr @__errno_location() #11
  %7485 = load i32, ptr %7484, align 4, !tbaa !5
  %7486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7473, ptr noundef @.str.11, i32 noundef %7474, ptr noundef @.str.28, ptr noundef @.str.7, i32 noundef 266, ptr noundef %7477, ptr noundef %7480, ptr noundef %7483, i32 noundef %7485) #10
  br label %7487

7487:                                             ; preds = %7470, %7453
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #10
  br label %7488

7488:                                             ; preds = %7487
  br label %7489

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

7490:                                             ; No predecessors!
  br label %7491

7491:                                             ; preds = %7490
  br label %7492

7492:                                             ; preds = %7491, %7434
  br label %7493

7493:                                             ; preds = %7492
  br label %7494

7494:                                             ; preds = %7493
  br label %7495

7495:                                             ; preds = %7494
  %7496 = load i32, ptr @test_count, align 4, !tbaa !5
  %7497 = add nsw i32 %7496, 1
  store i32 %7497, ptr @test_count, align 4, !tbaa !5
  %7498 = load ptr, ptr %144, align 8, !tbaa !9
  %7499 = getelementptr inbounds %struct.s2n_connection, ptr %7498, i32 0, i32 40
  %7500 = getelementptr inbounds [2 x i8], ptr %9, i64 0, i64 0
  %7501 = call i32 @s2n_stuffer_write_bytes(ptr noundef %7499, ptr noundef %7500, i32 noundef 2)
  %7502 = icmp eq i32 %7501, -1
  br i1 %7502, label %7503, label %7556

7503:                                             ; preds = %7495
  br label %7504

7504:                                             ; preds = %7503
  br label %7505

7505:                                             ; preds = %7504
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #10
  %7506 = call ptr @__errno_location() #11
  %7507 = load i32, ptr %7506, align 4, !tbaa !5
  store i32 %7507, ptr %156, align 4, !tbaa !5
  %7508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7509 = call i32 @s2n_print_stacktrace(ptr noundef %7508)
  %7510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7511 = trunc i8 %7510 to i1
  br i1 %7511, label %7512, label %7534

7512:                                             ; preds = %7505
  %7513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7514 = call i32 @fileno(ptr noundef %7513) #10
  %7515 = call i32 @isatty(i32 noundef %7514) #10
  %7516 = icmp ne i32 %7515, 0
  br i1 %7516, label %7517, label %7534

7517:                                             ; preds = %7512
  %7518 = load i32, ptr %156, align 4, !tbaa !5
  %7519 = call ptr @__errno_location() #11
  store i32 %7518, ptr %7519, align 4, !tbaa !5
  %7520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7521 = load i32, ptr @test_count, align 4, !tbaa !5
  %7522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7523 = load i32, ptr %7522, align 4, !tbaa !5
  %7524 = call ptr @s2n_strerror(i32 noundef %7523, ptr noundef @.str.10)
  %7525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7526 = load i32, ptr %7525, align 4, !tbaa !5
  %7527 = call ptr @s2n_strerror_debug(i32 noundef %7526, ptr noundef @.str.10)
  %7528 = call ptr @__errno_location() #11
  %7529 = load i32, ptr %7528, align 4, !tbaa !5
  %7530 = call ptr @strerror(i32 noundef %7529) #10
  %7531 = call ptr @__errno_location() #11
  %7532 = load i32, ptr %7531, align 4, !tbaa !5
  %7533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7520, ptr noundef @.str.8, i32 noundef %7521, ptr noundef @.str.60, ptr noundef @.str.7, i32 noundef 269, ptr noundef %7524, ptr noundef %7527, ptr noundef %7530, i32 noundef %7532) #10
  br label %7551

7534:                                             ; preds = %7512, %7505
  %7535 = load i32, ptr %156, align 4, !tbaa !5
  %7536 = call ptr @__errno_location() #11
  store i32 %7535, ptr %7536, align 4, !tbaa !5
  %7537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7538 = load i32, ptr @test_count, align 4, !tbaa !5
  %7539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7540 = load i32, ptr %7539, align 4, !tbaa !5
  %7541 = call ptr @s2n_strerror(i32 noundef %7540, ptr noundef @.str.10)
  %7542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7543 = load i32, ptr %7542, align 4, !tbaa !5
  %7544 = call ptr @s2n_strerror_debug(i32 noundef %7543, ptr noundef @.str.10)
  %7545 = call ptr @__errno_location() #11
  %7546 = load i32, ptr %7545, align 4, !tbaa !5
  %7547 = call ptr @strerror(i32 noundef %7546) #10
  %7548 = call ptr @__errno_location() #11
  %7549 = load i32, ptr %7548, align 4, !tbaa !5
  %7550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7537, ptr noundef @.str.11, i32 noundef %7538, ptr noundef @.str.60, ptr noundef @.str.7, i32 noundef 269, ptr noundef %7541, ptr noundef %7544, ptr noundef %7547, i32 noundef %7549) #10
  br label %7551

7551:                                             ; preds = %7534, %7517
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #10
  br label %7552

7552:                                             ; preds = %7551
  br label %7553

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

7554:                                             ; No predecessors!
  br label %7555

7555:                                             ; preds = %7554
  br label %7556

7556:                                             ; preds = %7555, %7495
  br label %7557

7557:                                             ; preds = %7556
  br label %7558

7558:                                             ; preds = %7557
  br label %7559

7559:                                             ; preds = %7558
  %7560 = load i32, ptr @test_count, align 4, !tbaa !5
  %7561 = add nsw i32 %7560, 1
  store i32 %7561, ptr @test_count, align 4, !tbaa !5
  %7562 = load ptr, ptr %144, align 8, !tbaa !9
  %7563 = call i32 @s2n_process_alert_fragment(ptr noundef %7562)
  %7564 = icmp eq i32 %7563, -1
  br i1 %7564, label %7565, label %7618

7565:                                             ; preds = %7559
  br label %7566

7566:                                             ; preds = %7565
  br label %7567

7567:                                             ; preds = %7566
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #10
  %7568 = call ptr @__errno_location() #11
  %7569 = load i32, ptr %7568, align 4, !tbaa !5
  store i32 %7569, ptr %157, align 4, !tbaa !5
  %7570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7571 = call i32 @s2n_print_stacktrace(ptr noundef %7570)
  %7572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7573 = trunc i8 %7572 to i1
  br i1 %7573, label %7574, label %7596

7574:                                             ; preds = %7567
  %7575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7576 = call i32 @fileno(ptr noundef %7575) #10
  %7577 = call i32 @isatty(i32 noundef %7576) #10
  %7578 = icmp ne i32 %7577, 0
  br i1 %7578, label %7579, label %7596

7579:                                             ; preds = %7574
  %7580 = load i32, ptr %157, align 4, !tbaa !5
  %7581 = call ptr @__errno_location() #11
  store i32 %7580, ptr %7581, align 4, !tbaa !5
  %7582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7583 = load i32, ptr @test_count, align 4, !tbaa !5
  %7584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7585 = load i32, ptr %7584, align 4, !tbaa !5
  %7586 = call ptr @s2n_strerror(i32 noundef %7585, ptr noundef @.str.10)
  %7587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7588 = load i32, ptr %7587, align 4, !tbaa !5
  %7589 = call ptr @s2n_strerror_debug(i32 noundef %7588, ptr noundef @.str.10)
  %7590 = call ptr @__errno_location() #11
  %7591 = load i32, ptr %7590, align 4, !tbaa !5
  %7592 = call ptr @strerror(i32 noundef %7591) #10
  %7593 = call ptr @__errno_location() #11
  %7594 = load i32, ptr %7593, align 4, !tbaa !5
  %7595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7582, ptr noundef @.str.8, i32 noundef %7583, ptr noundef @.str.61, ptr noundef @.str.7, i32 noundef 270, ptr noundef %7586, ptr noundef %7589, ptr noundef %7592, i32 noundef %7594) #10
  br label %7613

7596:                                             ; preds = %7574, %7567
  %7597 = load i32, ptr %157, align 4, !tbaa !5
  %7598 = call ptr @__errno_location() #11
  store i32 %7597, ptr %7598, align 4, !tbaa !5
  %7599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7600 = load i32, ptr @test_count, align 4, !tbaa !5
  %7601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7602 = load i32, ptr %7601, align 4, !tbaa !5
  %7603 = call ptr @s2n_strerror(i32 noundef %7602, ptr noundef @.str.10)
  %7604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7605 = load i32, ptr %7604, align 4, !tbaa !5
  %7606 = call ptr @s2n_strerror_debug(i32 noundef %7605, ptr noundef @.str.10)
  %7607 = call ptr @__errno_location() #11
  %7608 = load i32, ptr %7607, align 4, !tbaa !5
  %7609 = call ptr @strerror(i32 noundef %7608) #10
  %7610 = call ptr @__errno_location() #11
  %7611 = load i32, ptr %7610, align 4, !tbaa !5
  %7612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7599, ptr noundef @.str.11, i32 noundef %7600, ptr noundef @.str.61, ptr noundef @.str.7, i32 noundef 270, ptr noundef %7603, ptr noundef %7606, ptr noundef %7609, i32 noundef %7611) #10
  br label %7613

7613:                                             ; preds = %7596, %7579
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #10
  br label %7614

7614:                                             ; preds = %7613
  br label %7615

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

7616:                                             ; No predecessors!
  br label %7617

7617:                                             ; preds = %7616
  br label %7618

7618:                                             ; preds = %7617, %7559
  br label %7619

7619:                                             ; preds = %7618
  br label %7620

7620:                                             ; preds = %7619
  br label %7621

7621:                                             ; preds = %7620
  %7622 = load i32, ptr @test_count, align 4, !tbaa !5
  %7623 = add nsw i32 %7622, 1
  store i32 %7623, ptr @test_count, align 4, !tbaa !5
  %7624 = load ptr, ptr %144, align 8, !tbaa !9
  %7625 = getelementptr inbounds %struct.s2n_connection, ptr %7624, i32 0, i32 51
  %7626 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %7625)
  br i1 %7626, label %7680, label %7627

7627:                                             ; preds = %7621
  br label %7628

7628:                                             ; preds = %7627
  br label %7629

7629:                                             ; preds = %7628
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #10
  %7630 = call ptr @__errno_location() #11
  %7631 = load i32, ptr %7630, align 4, !tbaa !5
  store i32 %7631, ptr %158, align 4, !tbaa !5
  %7632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7633 = call i32 @s2n_print_stacktrace(ptr noundef %7632)
  %7634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7635 = trunc i8 %7634 to i1
  br i1 %7635, label %7636, label %7658

7636:                                             ; preds = %7629
  %7637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7638 = call i32 @fileno(ptr noundef %7637) #10
  %7639 = call i32 @isatty(i32 noundef %7638) #10
  %7640 = icmp ne i32 %7639, 0
  br i1 %7640, label %7641, label %7658

7641:                                             ; preds = %7636
  %7642 = load i32, ptr %158, align 4, !tbaa !5
  %7643 = call ptr @__errno_location() #11
  store i32 %7642, ptr %7643, align 4, !tbaa !5
  %7644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7645 = load i32, ptr @test_count, align 4, !tbaa !5
  %7646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7647 = load i32, ptr %7646, align 4, !tbaa !5
  %7648 = call ptr @s2n_strerror(i32 noundef %7647, ptr noundef @.str.10)
  %7649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7650 = load i32, ptr %7649, align 4, !tbaa !5
  %7651 = call ptr @s2n_strerror_debug(i32 noundef %7650, ptr noundef @.str.10)
  %7652 = call ptr @__errno_location() #11
  %7653 = load i32, ptr %7652, align 4, !tbaa !5
  %7654 = call ptr @strerror(i32 noundef %7653) #10
  %7655 = call ptr @__errno_location() #11
  %7656 = load i32, ptr %7655, align 4, !tbaa !5
  %7657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7644, ptr noundef @.str.8, i32 noundef %7645, ptr noundef @.str.62, ptr noundef @.str.7, i32 noundef 273, ptr noundef %7648, ptr noundef %7651, ptr noundef %7654, i32 noundef %7656) #10
  br label %7675

7658:                                             ; preds = %7636, %7629
  %7659 = load i32, ptr %158, align 4, !tbaa !5
  %7660 = call ptr @__errno_location() #11
  store i32 %7659, ptr %7660, align 4, !tbaa !5
  %7661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7662 = load i32, ptr @test_count, align 4, !tbaa !5
  %7663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7664 = load i32, ptr %7663, align 4, !tbaa !5
  %7665 = call ptr @s2n_strerror(i32 noundef %7664, ptr noundef @.str.10)
  %7666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7667 = load i32, ptr %7666, align 4, !tbaa !5
  %7668 = call ptr @s2n_strerror_debug(i32 noundef %7667, ptr noundef @.str.10)
  %7669 = call ptr @__errno_location() #11
  %7670 = load i32, ptr %7669, align 4, !tbaa !5
  %7671 = call ptr @strerror(i32 noundef %7670) #10
  %7672 = call ptr @__errno_location() #11
  %7673 = load i32, ptr %7672, align 4, !tbaa !5
  %7674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7661, ptr noundef @.str.11, i32 noundef %7662, ptr noundef @.str.62, ptr noundef @.str.7, i32 noundef 273, ptr noundef %7665, ptr noundef %7668, ptr noundef %7671, i32 noundef %7673) #10
  br label %7675

7675:                                             ; preds = %7658, %7641
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #10
  br label %7676

7676:                                             ; preds = %7675
  br label %7677

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

7678:                                             ; No predecessors!
  br label %7679

7679:                                             ; preds = %7678
  br label %7680

7680:                                             ; preds = %7679, %7621
  br label %7681

7681:                                             ; preds = %7680
  br label %7682

7682:                                             ; preds = %7681
  br label %7683

7683:                                             ; preds = %7682
  %7684 = load i32, ptr @test_count, align 4, !tbaa !5
  %7685 = add nsw i32 %7684, 1
  store i32 %7685, ptr @test_count, align 4, !tbaa !5
  %7686 = load ptr, ptr %144, align 8, !tbaa !9
  %7687 = getelementptr inbounds %struct.s2n_connection, ptr %7686, i32 0, i32 49
  %7688 = load i8, ptr %7687, align 1, !tbaa !16, !range !13, !noundef !14
  %7689 = trunc i8 %7688 to i1
  br i1 %7689, label %7690, label %7743

7690:                                             ; preds = %7683
  br label %7691

7691:                                             ; preds = %7690
  br label %7692

7692:                                             ; preds = %7691
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #10
  %7693 = call ptr @__errno_location() #11
  %7694 = load i32, ptr %7693, align 4, !tbaa !5
  store i32 %7694, ptr %159, align 4, !tbaa !5
  %7695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7696 = call i32 @s2n_print_stacktrace(ptr noundef %7695)
  %7697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7698 = trunc i8 %7697 to i1
  br i1 %7698, label %7699, label %7721

7699:                                             ; preds = %7692
  %7700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7701 = call i32 @fileno(ptr noundef %7700) #10
  %7702 = call i32 @isatty(i32 noundef %7701) #10
  %7703 = icmp ne i32 %7702, 0
  br i1 %7703, label %7704, label %7721

7704:                                             ; preds = %7699
  %7705 = load i32, ptr %159, align 4, !tbaa !5
  %7706 = call ptr @__errno_location() #11
  store i32 %7705, ptr %7706, align 4, !tbaa !5
  %7707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7708 = load i32, ptr @test_count, align 4, !tbaa !5
  %7709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7710 = load i32, ptr %7709, align 4, !tbaa !5
  %7711 = call ptr @s2n_strerror(i32 noundef %7710, ptr noundef @.str.10)
  %7712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7713 = load i32, ptr %7712, align 4, !tbaa !5
  %7714 = call ptr @s2n_strerror_debug(i32 noundef %7713, ptr noundef @.str.10)
  %7715 = call ptr @__errno_location() #11
  %7716 = load i32, ptr %7715, align 4, !tbaa !5
  %7717 = call ptr @strerror(i32 noundef %7716) #10
  %7718 = call ptr @__errno_location() #11
  %7719 = load i32, ptr %7718, align 4, !tbaa !5
  %7720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7707, ptr noundef @.str.8, i32 noundef %7708, ptr noundef @.str.27, ptr noundef @.str.7, i32 noundef 274, ptr noundef %7711, ptr noundef %7714, ptr noundef %7717, i32 noundef %7719) #10
  br label %7738

7721:                                             ; preds = %7699, %7692
  %7722 = load i32, ptr %159, align 4, !tbaa !5
  %7723 = call ptr @__errno_location() #11
  store i32 %7722, ptr %7723, align 4, !tbaa !5
  %7724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7725 = load i32, ptr @test_count, align 4, !tbaa !5
  %7726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7727 = load i32, ptr %7726, align 4, !tbaa !5
  %7728 = call ptr @s2n_strerror(i32 noundef %7727, ptr noundef @.str.10)
  %7729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7730 = load i32, ptr %7729, align 4, !tbaa !5
  %7731 = call ptr @s2n_strerror_debug(i32 noundef %7730, ptr noundef @.str.10)
  %7732 = call ptr @__errno_location() #11
  %7733 = load i32, ptr %7732, align 4, !tbaa !5
  %7734 = call ptr @strerror(i32 noundef %7733) #10
  %7735 = call ptr @__errno_location() #11
  %7736 = load i32, ptr %7735, align 4, !tbaa !5
  %7737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7724, ptr noundef @.str.11, i32 noundef %7725, ptr noundef @.str.27, ptr noundef @.str.7, i32 noundef 274, ptr noundef %7728, ptr noundef %7731, ptr noundef %7734, i32 noundef %7736) #10
  br label %7738

7738:                                             ; preds = %7721, %7704
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #10
  br label %7739

7739:                                             ; preds = %7738
  br label %7740

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

7741:                                             ; No predecessors!
  br label %7742

7742:                                             ; preds = %7741
  br label %7743

7743:                                             ; preds = %7742, %7683
  br label %7744

7744:                                             ; preds = %7743
  br label %7745

7745:                                             ; preds = %7744
  br label %7746

7746:                                             ; preds = %7745
  %7747 = load i32, ptr @test_count, align 4, !tbaa !5
  %7748 = add nsw i32 %7747, 1
  store i32 %7748, ptr @test_count, align 4, !tbaa !5
  %7749 = load ptr, ptr %144, align 8, !tbaa !9
  %7750 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %7749, i32 noundef 0)
  br i1 %7750, label %7804, label %7751

7751:                                             ; preds = %7746
  br label %7752

7752:                                             ; preds = %7751
  br label %7753

7753:                                             ; preds = %7752
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #10
  %7754 = call ptr @__errno_location() #11
  %7755 = load i32, ptr %7754, align 4, !tbaa !5
  store i32 %7755, ptr %160, align 4, !tbaa !5
  %7756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7757 = call i32 @s2n_print_stacktrace(ptr noundef %7756)
  %7758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7759 = trunc i8 %7758 to i1
  br i1 %7759, label %7760, label %7782

7760:                                             ; preds = %7753
  %7761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7762 = call i32 @fileno(ptr noundef %7761) #10
  %7763 = call i32 @isatty(i32 noundef %7762) #10
  %7764 = icmp ne i32 %7763, 0
  br i1 %7764, label %7765, label %7782

7765:                                             ; preds = %7760
  %7766 = load i32, ptr %160, align 4, !tbaa !5
  %7767 = call ptr @__errno_location() #11
  store i32 %7766, ptr %7767, align 4, !tbaa !5
  %7768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7769 = load i32, ptr @test_count, align 4, !tbaa !5
  %7770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7771 = load i32, ptr %7770, align 4, !tbaa !5
  %7772 = call ptr @s2n_strerror(i32 noundef %7771, ptr noundef @.str.10)
  %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_debug(i32 noundef %7774, ptr noundef @.str.10)
  %7776 = call ptr @__errno_location() #11
  %7777 = load i32, ptr %7776, align 4, !tbaa !5
  %7778 = call ptr @strerror(i32 noundef %7777) #10
  %7779 = call ptr @__errno_location() #11
  %7780 = load i32, ptr %7779, align 4, !tbaa !5
  %7781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7768, ptr noundef @.str.8, i32 noundef %7769, ptr noundef @.str.63, ptr noundef @.str.7, i32 noundef 275, ptr noundef %7772, ptr noundef %7775, ptr noundef %7778, i32 noundef %7780) #10
  br label %7799

7782:                                             ; preds = %7760, %7753
  %7783 = load i32, ptr %160, align 4, !tbaa !5
  %7784 = call ptr @__errno_location() #11
  store i32 %7783, ptr %7784, align 4, !tbaa !5
  %7785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7786 = load i32, ptr @test_count, align 4, !tbaa !5
  %7787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7788 = load i32, ptr %7787, align 4, !tbaa !5
  %7789 = call ptr @s2n_strerror(i32 noundef %7788, ptr noundef @.str.10)
  %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_debug(i32 noundef %7791, ptr noundef @.str.10)
  %7793 = call ptr @__errno_location() #11
  %7794 = load i32, ptr %7793, align 4, !tbaa !5
  %7795 = call ptr @strerror(i32 noundef %7794) #10
  %7796 = call ptr @__errno_location() #11
  %7797 = load i32, ptr %7796, align 4, !tbaa !5
  %7798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7785, ptr noundef @.str.11, i32 noundef %7786, ptr noundef @.str.63, ptr noundef @.str.7, i32 noundef 275, ptr noundef %7789, ptr noundef %7792, ptr noundef %7795, i32 noundef %7797) #10
  br label %7799

7799:                                             ; preds = %7782, %7765
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #10
  br label %7800

7800:                                             ; preds = %7799
  br label %7801

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

7802:                                             ; No predecessors!
  br label %7803

7803:                                             ; preds = %7802
  br label %7804

7804:                                             ; preds = %7803, %7746
  br label %7805

7805:                                             ; preds = %7804
  br label %7806

7806:                                             ; preds = %7805
  br label %7807

7807:                                             ; preds = %7806
  %7808 = load i32, ptr @test_count, align 4, !tbaa !5
  %7809 = add nsw i32 %7808, 1
  store i32 %7809, ptr @test_count, align 4, !tbaa !5
  %7810 = load ptr, ptr %144, align 8, !tbaa !9
  %7811 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %7810, i32 noundef 1)
  br i1 %7811, label %7812, label %7865

7812:                                             ; preds = %7807
  br label %7813

7813:                                             ; preds = %7812
  br label %7814

7814:                                             ; preds = %7813
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #10
  %7815 = call ptr @__errno_location() #11
  %7816 = load i32, ptr %7815, align 4, !tbaa !5
  store i32 %7816, ptr %161, align 4, !tbaa !5
  %7817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7818 = call i32 @s2n_print_stacktrace(ptr noundef %7817)
  %7819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7820 = trunc i8 %7819 to i1
  br i1 %7820, label %7821, label %7843

7821:                                             ; preds = %7814
  %7822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7823 = call i32 @fileno(ptr noundef %7822) #10
  %7824 = call i32 @isatty(i32 noundef %7823) #10
  %7825 = icmp ne i32 %7824, 0
  br i1 %7825, label %7826, label %7843

7826:                                             ; preds = %7821
  %7827 = load i32, ptr %161, align 4, !tbaa !5
  %7828 = call ptr @__errno_location() #11
  store i32 %7827, ptr %7828, align 4, !tbaa !5
  %7829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7830 = load i32, ptr @test_count, align 4, !tbaa !5
  %7831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7832 = load i32, ptr %7831, align 4, !tbaa !5
  %7833 = call ptr @s2n_strerror(i32 noundef %7832, ptr noundef @.str.10)
  %7834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7835 = load i32, ptr %7834, align 4, !tbaa !5
  %7836 = call ptr @s2n_strerror_debug(i32 noundef %7835, ptr noundef @.str.10)
  %7837 = call ptr @__errno_location() #11
  %7838 = load i32, ptr %7837, align 4, !tbaa !5
  %7839 = call ptr @strerror(i32 noundef %7838) #10
  %7840 = call ptr @__errno_location() #11
  %7841 = load i32, ptr %7840, align 4, !tbaa !5
  %7842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7829, ptr noundef @.str.8, i32 noundef %7830, ptr noundef @.str.64, ptr noundef @.str.7, i32 noundef 276, ptr noundef %7833, ptr noundef %7836, ptr noundef %7839, i32 noundef %7841) #10
  br label %7860

7843:                                             ; preds = %7821, %7814
  %7844 = load i32, ptr %161, align 4, !tbaa !5
  %7845 = call ptr @__errno_location() #11
  store i32 %7844, ptr %7845, align 4, !tbaa !5
  %7846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7847 = load i32, ptr @test_count, align 4, !tbaa !5
  %7848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7849 = load i32, ptr %7848, align 4, !tbaa !5
  %7850 = call ptr @s2n_strerror(i32 noundef %7849, ptr noundef @.str.10)
  %7851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7852 = load i32, ptr %7851, align 4, !tbaa !5
  %7853 = call ptr @s2n_strerror_debug(i32 noundef %7852, ptr noundef @.str.10)
  %7854 = call ptr @__errno_location() #11
  %7855 = load i32, ptr %7854, align 4, !tbaa !5
  %7856 = call ptr @strerror(i32 noundef %7855) #10
  %7857 = call ptr @__errno_location() #11
  %7858 = load i32, ptr %7857, align 4, !tbaa !5
  %7859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7846, ptr noundef @.str.11, i32 noundef %7847, ptr noundef @.str.64, ptr noundef @.str.7, i32 noundef 276, ptr noundef %7850, ptr noundef %7853, ptr noundef %7856, i32 noundef %7858) #10
  br label %7860

7860:                                             ; preds = %7843, %7826
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #10
  br label %7861

7861:                                             ; preds = %7860
  br label %7862

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

7863:                                             ; No predecessors!
  br label %7864

7864:                                             ; preds = %7863
  br label %7865

7865:                                             ; preds = %7864, %7807
  br label %7866

7866:                                             ; preds = %7865
  br label %7867

7867:                                             ; preds = %7866
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #10
  store i32 0, ptr %162, align 4, !tbaa !5
  br label %7868

7868:                                             ; preds = %7867
  %7869 = load i32, ptr @test_count, align 4, !tbaa !5
  %7870 = add nsw i32 %7869, 1
  store i32 %7870, ptr @test_count, align 4, !tbaa !5
  %7871 = load ptr, ptr %144, align 8, !tbaa !9
  %7872 = call i32 @s2n_shutdown(ptr noundef %7871, ptr noundef %162)
  %7873 = icmp eq i32 %7872, -1
  br i1 %7873, label %7874, label %7927

7874:                                             ; preds = %7868
  br label %7875

7875:                                             ; preds = %7874
  br label %7876

7876:                                             ; preds = %7875
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #10
  %7877 = call ptr @__errno_location() #11
  %7878 = load i32, ptr %7877, align 4, !tbaa !5
  store i32 %7878, ptr %163, align 4, !tbaa !5
  %7879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7880 = call i32 @s2n_print_stacktrace(ptr noundef %7879)
  %7881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7882 = trunc i8 %7881 to i1
  br i1 %7882, label %7883, label %7905

7883:                                             ; preds = %7876
  %7884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7885 = call i32 @fileno(ptr noundef %7884) #10
  %7886 = call i32 @isatty(i32 noundef %7885) #10
  %7887 = icmp ne i32 %7886, 0
  br i1 %7887, label %7888, label %7905

7888:                                             ; preds = %7883
  %7889 = load i32, ptr %163, align 4, !tbaa !5
  %7890 = call ptr @__errno_location() #11
  store i32 %7889, ptr %7890, align 4, !tbaa !5
  %7891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7892 = load i32, ptr @test_count, align 4, !tbaa !5
  %7893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7894 = load i32, ptr %7893, align 4, !tbaa !5
  %7895 = call ptr @s2n_strerror(i32 noundef %7894, ptr noundef @.str.10)
  %7896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7897 = load i32, ptr %7896, align 4, !tbaa !5
  %7898 = call ptr @s2n_strerror_debug(i32 noundef %7897, ptr noundef @.str.10)
  %7899 = call ptr @__errno_location() #11
  %7900 = load i32, ptr %7899, align 4, !tbaa !5
  %7901 = call ptr @strerror(i32 noundef %7900) #10
  %7902 = call ptr @__errno_location() #11
  %7903 = load i32, ptr %7902, align 4, !tbaa !5
  %7904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7891, ptr noundef @.str.8, i32 noundef %7892, ptr noundef @.str.30, ptr noundef @.str.7, i32 noundef 279, ptr noundef %7895, ptr noundef %7898, ptr noundef %7901, i32 noundef %7903) #10
  br label %7922

7905:                                             ; preds = %7883, %7876
  %7906 = load i32, ptr %163, align 4, !tbaa !5
  %7907 = call ptr @__errno_location() #11
  store i32 %7906, ptr %7907, align 4, !tbaa !5
  %7908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7909 = load i32, ptr @test_count, align 4, !tbaa !5
  %7910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7911 = load i32, ptr %7910, align 4, !tbaa !5
  %7912 = call ptr @s2n_strerror(i32 noundef %7911, ptr noundef @.str.10)
  %7913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7914 = load i32, ptr %7913, align 4, !tbaa !5
  %7915 = call ptr @s2n_strerror_debug(i32 noundef %7914, ptr noundef @.str.10)
  %7916 = call ptr @__errno_location() #11
  %7917 = load i32, ptr %7916, align 4, !tbaa !5
  %7918 = call ptr @strerror(i32 noundef %7917) #10
  %7919 = call ptr @__errno_location() #11
  %7920 = load i32, ptr %7919, align 4, !tbaa !5
  %7921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7908, ptr noundef @.str.11, i32 noundef %7909, ptr noundef @.str.30, ptr noundef @.str.7, i32 noundef 279, ptr noundef %7912, ptr noundef %7915, ptr noundef %7918, i32 noundef %7920) #10
  br label %7922

7922:                                             ; preds = %7905, %7888
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #10
  br label %7923

7923:                                             ; preds = %7922
  br label %7924

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

7925:                                             ; No predecessors!
  br label %7926

7926:                                             ; preds = %7925
  br label %7927

7927:                                             ; preds = %7926, %7868
  br label %7928

7928:                                             ; preds = %7927
  br label %7929

7929:                                             ; preds = %7928
  br label %7930

7930:                                             ; preds = %7929
  %7931 = load i32, ptr @test_count, align 4, !tbaa !5
  %7932 = add nsw i32 %7931, 1
  store i32 %7932, ptr @test_count, align 4, !tbaa !5
  %7933 = load i32, ptr %162, align 4, !tbaa !5
  %7934 = icmp eq i32 %7933, 0
  br i1 %7934, label %7988, label %7935

7935:                                             ; preds = %7930
  br label %7936

7936:                                             ; preds = %7935
  br label %7937

7937:                                             ; preds = %7936
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #10
  %7938 = call ptr @__errno_location() #11
  %7939 = load i32, ptr %7938, align 4, !tbaa !5
  store i32 %7939, ptr %164, align 4, !tbaa !5
  %7940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7941 = call i32 @s2n_print_stacktrace(ptr noundef %7940)
  %7942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7943 = trunc i8 %7942 to i1
  br i1 %7943, label %7944, label %7966

7944:                                             ; preds = %7937
  %7945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7946 = call i32 @fileno(ptr noundef %7945) #10
  %7947 = call i32 @isatty(i32 noundef %7946) #10
  %7948 = icmp ne i32 %7947, 0
  br i1 %7948, label %7949, label %7966

7949:                                             ; preds = %7944
  %7950 = load i32, ptr %164, align 4, !tbaa !5
  %7951 = call ptr @__errno_location() #11
  store i32 %7950, ptr %7951, align 4, !tbaa !5
  %7952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7953 = load i32, ptr @test_count, align 4, !tbaa !5
  %7954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7955 = load i32, ptr %7954, align 4, !tbaa !5
  %7956 = call ptr @s2n_strerror(i32 noundef %7955, ptr noundef @.str.10)
  %7957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7958 = load i32, ptr %7957, align 4, !tbaa !5
  %7959 = call ptr @s2n_strerror_debug(i32 noundef %7958, ptr noundef @.str.10)
  %7960 = call ptr @__errno_location() #11
  %7961 = load i32, ptr %7960, align 4, !tbaa !5
  %7962 = call ptr @strerror(i32 noundef %7961) #10
  %7963 = call ptr @__errno_location() #11
  %7964 = load i32, ptr %7963, align 4, !tbaa !5
  %7965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7952, ptr noundef @.str.8, i32 noundef %7953, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 280, ptr noundef %7956, ptr noundef %7959, ptr noundef %7962, i32 noundef %7964) #10
  br label %7983

7966:                                             ; preds = %7944, %7937
  %7967 = load i32, ptr %164, align 4, !tbaa !5
  %7968 = call ptr @__errno_location() #11
  store i32 %7967, ptr %7968, align 4, !tbaa !5
  %7969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7970 = load i32, ptr @test_count, align 4, !tbaa !5
  %7971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7972 = load i32, ptr %7971, align 4, !tbaa !5
  %7973 = call ptr @s2n_strerror(i32 noundef %7972, ptr noundef @.str.10)
  %7974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7975 = load i32, ptr %7974, align 4, !tbaa !5
  %7976 = call ptr @s2n_strerror_debug(i32 noundef %7975, ptr noundef @.str.10)
  %7977 = call ptr @__errno_location() #11
  %7978 = load i32, ptr %7977, align 4, !tbaa !5
  %7979 = call ptr @strerror(i32 noundef %7978) #10
  %7980 = call ptr @__errno_location() #11
  %7981 = load i32, ptr %7980, align 4, !tbaa !5
  %7982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7969, ptr noundef @.str.11, i32 noundef %7970, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 280, ptr noundef %7973, ptr noundef %7976, ptr noundef %7979, i32 noundef %7981) #10
  br label %7983

7983:                                             ; preds = %7966, %7949
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #10
  br label %7984

7984:                                             ; preds = %7983
  br label %7985

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

7986:                                             ; No predecessors!
  br label %7987

7987:                                             ; preds = %7986
  br label %7988

7988:                                             ; preds = %7987, %7930
  br label %7989

7989:                                             ; preds = %7988
  br label %7990

7990:                                             ; preds = %7989
  br label %7991

7991:                                             ; preds = %7990
  %7992 = load i32, ptr @test_count, align 4, !tbaa !5
  %7993 = add nsw i32 %7992, 1
  store i32 %7993, ptr @test_count, align 4, !tbaa !5
  %7994 = load ptr, ptr %144, align 8, !tbaa !9
  %7995 = getelementptr inbounds %struct.s2n_connection, ptr %7994, i32 0, i32 51
  %7996 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %7995)
  br i1 %7996, label %8050, label %7997

7997:                                             ; preds = %7991
  br label %7998

7998:                                             ; preds = %7997
  br label %7999

7999:                                             ; preds = %7998
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #10
  %8000 = call ptr @__errno_location() #11
  %8001 = load i32, ptr %8000, align 4, !tbaa !5
  store i32 %8001, ptr %165, align 4, !tbaa !5
  %8002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8003 = call i32 @s2n_print_stacktrace(ptr noundef %8002)
  %8004 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8005 = trunc i8 %8004 to i1
  br i1 %8005, label %8006, label %8028

8006:                                             ; preds = %7999
  %8007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8008 = call i32 @fileno(ptr noundef %8007) #10
  %8009 = call i32 @isatty(i32 noundef %8008) #10
  %8010 = icmp ne i32 %8009, 0
  br i1 %8010, label %8011, label %8028

8011:                                             ; preds = %8006
  %8012 = load i32, ptr %165, align 4, !tbaa !5
  %8013 = call ptr @__errno_location() #11
  store i32 %8012, ptr %8013, align 4, !tbaa !5
  %8014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8015 = load i32, ptr @test_count, align 4, !tbaa !5
  %8016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8017 = load i32, ptr %8016, align 4, !tbaa !5
  %8018 = call ptr @s2n_strerror(i32 noundef %8017, ptr noundef @.str.10)
  %8019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8020 = load i32, ptr %8019, align 4, !tbaa !5
  %8021 = call ptr @s2n_strerror_debug(i32 noundef %8020, ptr noundef @.str.10)
  %8022 = call ptr @__errno_location() #11
  %8023 = load i32, ptr %8022, align 4, !tbaa !5
  %8024 = call ptr @strerror(i32 noundef %8023) #10
  %8025 = call ptr @__errno_location() #11
  %8026 = load i32, ptr %8025, align 4, !tbaa !5
  %8027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8014, ptr noundef @.str.8, i32 noundef %8015, ptr noundef @.str.62, ptr noundef @.str.7, i32 noundef 283, ptr noundef %8018, ptr noundef %8021, ptr noundef %8024, i32 noundef %8026) #10
  br label %8045

8028:                                             ; preds = %8006, %7999
  %8029 = load i32, ptr %165, align 4, !tbaa !5
  %8030 = call ptr @__errno_location() #11
  store i32 %8029, ptr %8030, align 4, !tbaa !5
  %8031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8032 = load i32, ptr @test_count, align 4, !tbaa !5
  %8033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8034 = load i32, ptr %8033, align 4, !tbaa !5
  %8035 = call ptr @s2n_strerror(i32 noundef %8034, ptr noundef @.str.10)
  %8036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8037 = load i32, ptr %8036, align 4, !tbaa !5
  %8038 = call ptr @s2n_strerror_debug(i32 noundef %8037, ptr noundef @.str.10)
  %8039 = call ptr @__errno_location() #11
  %8040 = load i32, ptr %8039, align 4, !tbaa !5
  %8041 = call ptr @strerror(i32 noundef %8040) #10
  %8042 = call ptr @__errno_location() #11
  %8043 = load i32, ptr %8042, align 4, !tbaa !5
  %8044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8031, ptr noundef @.str.11, i32 noundef %8032, ptr noundef @.str.62, ptr noundef @.str.7, i32 noundef 283, ptr noundef %8035, ptr noundef %8038, ptr noundef %8041, i32 noundef %8043) #10
  br label %8045

8045:                                             ; preds = %8028, %8011
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #10
  br label %8046

8046:                                             ; preds = %8045
  br label %8047

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

8048:                                             ; No predecessors!
  br label %8049

8049:                                             ; preds = %8048
  br label %8050

8050:                                             ; preds = %8049, %7991
  br label %8051

8051:                                             ; preds = %8050
  br label %8052

8052:                                             ; preds = %8051
  br label %8053

8053:                                             ; preds = %8052
  %8054 = load i32, ptr @test_count, align 4, !tbaa !5
  %8055 = add nsw i32 %8054, 1
  store i32 %8055, ptr @test_count, align 4, !tbaa !5
  %8056 = load ptr, ptr %144, align 8, !tbaa !9
  %8057 = getelementptr inbounds %struct.s2n_connection, ptr %8056, i32 0, i32 49
  %8058 = load i8, ptr %8057, align 1, !tbaa !16, !range !13, !noundef !14
  %8059 = trunc i8 %8058 to i1
  br i1 %8059, label %8113, label %8060

8060:                                             ; preds = %8053
  br label %8061

8061:                                             ; preds = %8060
  br label %8062

8062:                                             ; preds = %8061
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #10
  %8063 = call ptr @__errno_location() #11
  %8064 = load i32, ptr %8063, align 4, !tbaa !5
  store i32 %8064, ptr %166, align 4, !tbaa !5
  %8065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8066 = call i32 @s2n_print_stacktrace(ptr noundef %8065)
  %8067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8068 = trunc i8 %8067 to i1
  br i1 %8068, label %8069, label %8091

8069:                                             ; preds = %8062
  %8070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8071 = call i32 @fileno(ptr noundef %8070) #10
  %8072 = call i32 @isatty(i32 noundef %8071) #10
  %8073 = icmp ne i32 %8072, 0
  br i1 %8073, label %8074, label %8091

8074:                                             ; preds = %8069
  %8075 = load i32, ptr %166, align 4, !tbaa !5
  %8076 = call ptr @__errno_location() #11
  store i32 %8075, ptr %8076, align 4, !tbaa !5
  %8077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8078 = load i32, ptr @test_count, align 4, !tbaa !5
  %8079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8080 = load i32, ptr %8079, align 4, !tbaa !5
  %8081 = call ptr @s2n_strerror(i32 noundef %8080, ptr noundef @.str.10)
  %8082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8083 = load i32, ptr %8082, align 4, !tbaa !5
  %8084 = call ptr @s2n_strerror_debug(i32 noundef %8083, ptr noundef @.str.10)
  %8085 = call ptr @__errno_location() #11
  %8086 = load i32, ptr %8085, align 4, !tbaa !5
  %8087 = call ptr @strerror(i32 noundef %8086) #10
  %8088 = call ptr @__errno_location() #11
  %8089 = load i32, ptr %8088, align 4, !tbaa !5
  %8090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8077, ptr noundef @.str.8, i32 noundef %8078, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 284, ptr noundef %8081, ptr noundef %8084, ptr noundef %8087, i32 noundef %8089) #10
  br label %8108

8091:                                             ; preds = %8069, %8062
  %8092 = load i32, ptr %166, align 4, !tbaa !5
  %8093 = call ptr @__errno_location() #11
  store i32 %8092, ptr %8093, align 4, !tbaa !5
  %8094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8095 = load i32, ptr @test_count, align 4, !tbaa !5
  %8096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8097 = load i32, ptr %8096, align 4, !tbaa !5
  %8098 = call ptr @s2n_strerror(i32 noundef %8097, ptr noundef @.str.10)
  %8099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8100 = load i32, ptr %8099, align 4, !tbaa !5
  %8101 = call ptr @s2n_strerror_debug(i32 noundef %8100, ptr noundef @.str.10)
  %8102 = call ptr @__errno_location() #11
  %8103 = load i32, ptr %8102, align 4, !tbaa !5
  %8104 = call ptr @strerror(i32 noundef %8103) #10
  %8105 = call ptr @__errno_location() #11
  %8106 = load i32, ptr %8105, align 4, !tbaa !5
  %8107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8094, ptr noundef @.str.11, i32 noundef %8095, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 284, ptr noundef %8098, ptr noundef %8101, ptr noundef %8104, i32 noundef %8106) #10
  br label %8108

8108:                                             ; preds = %8091, %8074
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #10
  br label %8109

8109:                                             ; preds = %8108
  br label %8110

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

8111:                                             ; No predecessors!
  br label %8112

8112:                                             ; preds = %8111
  br label %8113

8113:                                             ; preds = %8112, %8053
  br label %8114

8114:                                             ; preds = %8113
  br label %8115

8115:                                             ; preds = %8114
  br label %8116

8116:                                             ; preds = %8115
  %8117 = load i32, ptr @test_count, align 4, !tbaa !5
  %8118 = add nsw i32 %8117, 1
  store i32 %8118, ptr @test_count, align 4, !tbaa !5
  %8119 = load ptr, ptr %144, align 8, !tbaa !9
  %8120 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8119, i32 noundef 3)
  br i1 %8120, label %8174, label %8121

8121:                                             ; preds = %8116
  br label %8122

8122:                                             ; preds = %8121
  br label %8123

8123:                                             ; preds = %8122
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #10
  %8124 = call ptr @__errno_location() #11
  %8125 = load i32, ptr %8124, align 4, !tbaa !5
  store i32 %8125, ptr %167, align 4, !tbaa !5
  %8126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8127 = call i32 @s2n_print_stacktrace(ptr noundef %8126)
  %8128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8129 = trunc i8 %8128 to i1
  br i1 %8129, label %8130, label %8152

8130:                                             ; preds = %8123
  %8131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8132 = call i32 @fileno(ptr noundef %8131) #10
  %8133 = call i32 @isatty(i32 noundef %8132) #10
  %8134 = icmp ne i32 %8133, 0
  br i1 %8134, label %8135, label %8152

8135:                                             ; preds = %8130
  %8136 = load i32, ptr %167, align 4, !tbaa !5
  %8137 = call ptr @__errno_location() #11
  store i32 %8136, ptr %8137, align 4, !tbaa !5
  %8138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8139 = load i32, ptr @test_count, align 4, !tbaa !5
  %8140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8141 = load i32, ptr %8140, align 4, !tbaa !5
  %8142 = call ptr @s2n_strerror(i32 noundef %8141, ptr noundef @.str.10)
  %8143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8144 = load i32, ptr %8143, align 4, !tbaa !5
  %8145 = call ptr @s2n_strerror_debug(i32 noundef %8144, ptr noundef @.str.10)
  %8146 = call ptr @__errno_location() #11
  %8147 = load i32, ptr %8146, align 4, !tbaa !5
  %8148 = call ptr @strerror(i32 noundef %8147) #10
  %8149 = call ptr @__errno_location() #11
  %8150 = load i32, ptr %8149, align 4, !tbaa !5
  %8151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8138, ptr noundef @.str.8, i32 noundef %8139, ptr noundef @.str.32, ptr noundef @.str.7, i32 noundef 285, ptr noundef %8142, ptr noundef %8145, ptr noundef %8148, i32 noundef %8150) #10
  br label %8169

8152:                                             ; preds = %8130, %8123
  %8153 = load i32, ptr %167, align 4, !tbaa !5
  %8154 = call ptr @__errno_location() #11
  store i32 %8153, ptr %8154, align 4, !tbaa !5
  %8155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8156 = load i32, ptr @test_count, align 4, !tbaa !5
  %8157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8158 = load i32, ptr %8157, align 4, !tbaa !5
  %8159 = call ptr @s2n_strerror(i32 noundef %8158, ptr noundef @.str.10)
  %8160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8161 = load i32, ptr %8160, align 4, !tbaa !5
  %8162 = call ptr @s2n_strerror_debug(i32 noundef %8161, ptr noundef @.str.10)
  %8163 = call ptr @__errno_location() #11
  %8164 = load i32, ptr %8163, align 4, !tbaa !5
  %8165 = call ptr @strerror(i32 noundef %8164) #10
  %8166 = call ptr @__errno_location() #11
  %8167 = load i32, ptr %8166, align 4, !tbaa !5
  %8168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8155, ptr noundef @.str.11, i32 noundef %8156, ptr noundef @.str.32, ptr noundef @.str.7, i32 noundef 285, ptr noundef %8159, ptr noundef %8162, ptr noundef %8165, i32 noundef %8167) #10
  br label %8169

8169:                                             ; preds = %8152, %8135
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #10
  br label %8170

8170:                                             ; preds = %8169
  br label %8171

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

8172:                                             ; No predecessors!
  br label %8173

8173:                                             ; preds = %8172
  br label %8174

8174:                                             ; preds = %8173, %8116
  br label %8175

8175:                                             ; preds = %8174
  br label %8176

8176:                                             ; preds = %8175
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #10
  %8177 = call i32 @s2n_stuffer_free(ptr noundef %150)
  call void @llvm.lifetime.end.p0(i64 40, ptr %150) #10
  %8178 = call i32 @s2n_stuffer_free(ptr noundef %148)
  call void @llvm.lifetime.end.p0(i64 40, ptr %148) #10
  %8179 = call i32 @s2n_connection_ptr_free(ptr noundef %144)
  %8180 = getelementptr inbounds %struct.s2n_result, ptr %168, i32 0, i32 0
  store i32 %8179, ptr %8180, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %144) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %169) #10
  %8181 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %8181, ptr %169, align 8, !tbaa !9
  br label %8182

8182:                                             ; preds = %8176
  %8183 = load i32, ptr @test_count, align 4, !tbaa !5
  %8184 = add nsw i32 %8183, 1
  store i32 %8184, ptr @test_count, align 4, !tbaa !5
  %8185 = load ptr, ptr %169, align 8, !tbaa !9
  %8186 = icmp eq ptr %8185, null
  br i1 %8186, label %8187, label %8240

8187:                                             ; preds = %8182
  br label %8188

8188:                                             ; preds = %8187
  br label %8189

8189:                                             ; preds = %8188
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #10
  %8190 = call ptr @__errno_location() #11
  %8191 = load i32, ptr %8190, align 4, !tbaa !5
  store i32 %8191, ptr %170, align 4, !tbaa !5
  %8192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8193 = call i32 @s2n_print_stacktrace(ptr noundef %8192)
  %8194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8195 = trunc i8 %8194 to i1
  br i1 %8195, label %8196, label %8218

8196:                                             ; preds = %8189
  %8197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8198 = call i32 @fileno(ptr noundef %8197) #10
  %8199 = call i32 @isatty(i32 noundef %8198) #10
  %8200 = icmp ne i32 %8199, 0
  br i1 %8200, label %8201, label %8218

8201:                                             ; preds = %8196
  %8202 = load i32, ptr %170, align 4, !tbaa !5
  %8203 = call ptr @__errno_location() #11
  store i32 %8202, ptr %8203, align 4, !tbaa !5
  %8204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8205 = load i32, ptr @test_count, align 4, !tbaa !5
  %8206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8207 = load i32, ptr %8206, align 4, !tbaa !5
  %8208 = call ptr @s2n_strerror(i32 noundef %8207, ptr noundef @.str.10)
  %8209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8210 = load i32, ptr %8209, align 4, !tbaa !5
  %8211 = call ptr @s2n_strerror_debug(i32 noundef %8210, ptr noundef @.str.10)
  %8212 = call ptr @__errno_location() #11
  %8213 = load i32, ptr %8212, align 4, !tbaa !5
  %8214 = call ptr @strerror(i32 noundef %8213) #10
  %8215 = call ptr @__errno_location() #11
  %8216 = load i32, ptr %8215, align 4, !tbaa !5
  %8217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8204, ptr noundef @.str.8, i32 noundef %8205, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 292, ptr noundef %8208, ptr noundef %8211, ptr noundef %8214, i32 noundef %8216) #10
  br label %8235

8218:                                             ; preds = %8196, %8189
  %8219 = load i32, ptr %170, align 4, !tbaa !5
  %8220 = call ptr @__errno_location() #11
  store i32 %8219, ptr %8220, align 4, !tbaa !5
  %8221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8222 = load i32, ptr @test_count, align 4, !tbaa !5
  %8223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8224 = load i32, ptr %8223, align 4, !tbaa !5
  %8225 = call ptr @s2n_strerror(i32 noundef %8224, ptr noundef @.str.10)
  %8226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8227 = load i32, ptr %8226, align 4, !tbaa !5
  %8228 = call ptr @s2n_strerror_debug(i32 noundef %8227, ptr noundef @.str.10)
  %8229 = call ptr @__errno_location() #11
  %8230 = load i32, ptr %8229, align 4, !tbaa !5
  %8231 = call ptr @strerror(i32 noundef %8230) #10
  %8232 = call ptr @__errno_location() #11
  %8233 = load i32, ptr %8232, align 4, !tbaa !5
  %8234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8221, ptr noundef @.str.11, i32 noundef %8222, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 292, ptr noundef %8225, ptr noundef %8228, ptr noundef %8231, i32 noundef %8233) #10
  br label %8235

8235:                                             ; preds = %8218, %8201
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #10
  br label %8236

8236:                                             ; preds = %8235
  br label %8237

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

8238:                                             ; No predecessors!
  br label %8239

8239:                                             ; preds = %8238
  br label %8240

8240:                                             ; preds = %8239, %8182
  br label %8241

8241:                                             ; preds = %8240
  br label %8242

8242:                                             ; preds = %8241
  br label %8243

8243:                                             ; preds = %8242
  %8244 = load i32, ptr @test_count, align 4, !tbaa !5
  %8245 = add nsw i32 %8244, 1
  store i32 %8245, ptr @test_count, align 4, !tbaa !5
  %8246 = load ptr, ptr %169, align 8, !tbaa !9
  %8247 = call i32 @s2n_skip_handshake(ptr noundef %8246)
  %8248 = getelementptr inbounds %struct.s2n_result, ptr %171, i32 0, i32 0
  store i32 %8247, ptr %8248, align 4
  %8249 = getelementptr inbounds %struct.s2n_result, ptr %171, i32 0, i32 0
  %8250 = load i32, ptr %8249, align 4
  %8251 = call zeroext i1 @s2n_result_is_ok(i32 %8250)
  br i1 %8251, label %8305, label %8252

8252:                                             ; preds = %8243
  br label %8253

8253:                                             ; preds = %8252
  br label %8254

8254:                                             ; preds = %8253
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #10
  %8255 = call ptr @__errno_location() #11
  %8256 = load i32, ptr %8255, align 4, !tbaa !5
  store i32 %8256, ptr %172, align 4, !tbaa !5
  %8257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8258 = call i32 @s2n_print_stacktrace(ptr noundef %8257)
  %8259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8260 = trunc i8 %8259 to i1
  br i1 %8260, label %8261, label %8283

8261:                                             ; preds = %8254
  %8262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8263 = call i32 @fileno(ptr noundef %8262) #10
  %8264 = call i32 @isatty(i32 noundef %8263) #10
  %8265 = icmp ne i32 %8264, 0
  br i1 %8265, label %8266, label %8283

8266:                                             ; preds = %8261
  %8267 = load i32, ptr %172, align 4, !tbaa !5
  %8268 = call ptr @__errno_location() #11
  store i32 %8267, ptr %8268, align 4, !tbaa !5
  %8269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8270 = load i32, ptr @test_count, align 4, !tbaa !5
  %8271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8272 = load i32, ptr %8271, align 4, !tbaa !5
  %8273 = call ptr @s2n_strerror(i32 noundef %8272, ptr noundef @.str.10)
  %8274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8275 = load i32, ptr %8274, align 4, !tbaa !5
  %8276 = call ptr @s2n_strerror_debug(i32 noundef %8275, ptr noundef @.str.10)
  %8277 = call ptr @__errno_location() #11
  %8278 = load i32, ptr %8277, align 4, !tbaa !5
  %8279 = call ptr @strerror(i32 noundef %8278) #10
  %8280 = call ptr @__errno_location() #11
  %8281 = load i32, ptr %8280, align 4, !tbaa !5
  %8282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8269, ptr noundef @.str.8, i32 noundef %8270, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 293, ptr noundef %8273, ptr noundef %8276, ptr noundef %8279, i32 noundef %8281) #10
  br label %8300

8283:                                             ; preds = %8261, %8254
  %8284 = load i32, ptr %172, align 4, !tbaa !5
  %8285 = call ptr @__errno_location() #11
  store i32 %8284, ptr %8285, align 4, !tbaa !5
  %8286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8287 = load i32, ptr @test_count, align 4, !tbaa !5
  %8288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8289 = load i32, ptr %8288, align 4, !tbaa !5
  %8290 = call ptr @s2n_strerror(i32 noundef %8289, ptr noundef @.str.10)
  %8291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8292 = load i32, ptr %8291, align 4, !tbaa !5
  %8293 = call ptr @s2n_strerror_debug(i32 noundef %8292, ptr noundef @.str.10)
  %8294 = call ptr @__errno_location() #11
  %8295 = load i32, ptr %8294, align 4, !tbaa !5
  %8296 = call ptr @strerror(i32 noundef %8295) #10
  %8297 = call ptr @__errno_location() #11
  %8298 = load i32, ptr %8297, align 4, !tbaa !5
  %8299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8286, ptr noundef @.str.11, i32 noundef %8287, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 293, ptr noundef %8290, ptr noundef %8293, ptr noundef %8296, i32 noundef %8298) #10
  br label %8300

8300:                                             ; preds = %8283, %8266
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #10
  br label %8301

8301:                                             ; preds = %8300
  br label %8302

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

8303:                                             ; No predecessors!
  br label %8304

8304:                                             ; preds = %8303
  br label %8305

8305:                                             ; preds = %8304, %8243
  br label %8306

8306:                                             ; preds = %8305
  br label %8307

8307:                                             ; preds = %8306
  call void @llvm.lifetime.start.p0(i64 40, ptr %173) #10
  call void @llvm.memset.p0.i64(ptr align 8 %173, i8 0, i64 40, i1 false)
  br label %8308

8308:                                             ; preds = %8307
  %8309 = load i32, ptr @test_count, align 4, !tbaa !5
  %8310 = add nsw i32 %8309, 1
  store i32 %8310, ptr @test_count, align 4, !tbaa !5
  %8311 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %173, i32 noundef 0)
  %8312 = icmp eq i32 %8311, -1
  br i1 %8312, label %8313, label %8366

8313:                                             ; preds = %8308
  br label %8314

8314:                                             ; preds = %8313
  br label %8315

8315:                                             ; preds = %8314
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #10
  %8316 = call ptr @__errno_location() #11
  %8317 = load i32, ptr %8316, align 4, !tbaa !5
  store i32 %8317, ptr %174, align 4, !tbaa !5
  %8318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8319 = call i32 @s2n_print_stacktrace(ptr noundef %8318)
  %8320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8321 = trunc i8 %8320 to i1
  br i1 %8321, label %8322, label %8344

8322:                                             ; preds = %8315
  %8323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8324 = call i32 @fileno(ptr noundef %8323) #10
  %8325 = call i32 @isatty(i32 noundef %8324) #10
  %8326 = icmp ne i32 %8325, 0
  br i1 %8326, label %8327, label %8344

8327:                                             ; preds = %8322
  %8328 = load i32, ptr %174, align 4, !tbaa !5
  %8329 = call ptr @__errno_location() #11
  store i32 %8328, ptr %8329, align 4, !tbaa !5
  %8330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8331 = load i32, ptr @test_count, align 4, !tbaa !5
  %8332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8333 = load i32, ptr %8332, align 4, !tbaa !5
  %8334 = call ptr @s2n_strerror(i32 noundef %8333, ptr noundef @.str.10)
  %8335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8336 = load i32, ptr %8335, align 4, !tbaa !5
  %8337 = call ptr @s2n_strerror_debug(i32 noundef %8336, ptr noundef @.str.10)
  %8338 = call ptr @__errno_location() #11
  %8339 = load i32, ptr %8338, align 4, !tbaa !5
  %8340 = call ptr @strerror(i32 noundef %8339) #10
  %8341 = call ptr @__errno_location() #11
  %8342 = load i32, ptr %8341, align 4, !tbaa !5
  %8343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8330, ptr noundef @.str.8, i32 noundef %8331, ptr noundef @.str.39, ptr noundef @.str.7, i32 noundef 296, ptr noundef %8334, ptr noundef %8337, ptr noundef %8340, i32 noundef %8342) #10
  br label %8361

8344:                                             ; preds = %8322, %8315
  %8345 = load i32, ptr %174, align 4, !tbaa !5
  %8346 = call ptr @__errno_location() #11
  store i32 %8345, ptr %8346, align 4, !tbaa !5
  %8347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8348 = load i32, ptr @test_count, align 4, !tbaa !5
  %8349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8350 = load i32, ptr %8349, align 4, !tbaa !5
  %8351 = call ptr @s2n_strerror(i32 noundef %8350, ptr noundef @.str.10)
  %8352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8353 = load i32, ptr %8352, align 4, !tbaa !5
  %8354 = call ptr @s2n_strerror_debug(i32 noundef %8353, ptr noundef @.str.10)
  %8355 = call ptr @__errno_location() #11
  %8356 = load i32, ptr %8355, align 4, !tbaa !5
  %8357 = call ptr @strerror(i32 noundef %8356) #10
  %8358 = call ptr @__errno_location() #11
  %8359 = load i32, ptr %8358, align 4, !tbaa !5
  %8360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8347, ptr noundef @.str.11, i32 noundef %8348, ptr noundef @.str.39, ptr noundef @.str.7, i32 noundef 296, ptr noundef %8351, ptr noundef %8354, ptr noundef %8357, i32 noundef %8359) #10
  br label %8361

8361:                                             ; preds = %8344, %8327
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #10
  br label %8362

8362:                                             ; preds = %8361
  br label %8363

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

8364:                                             ; No predecessors!
  br label %8365

8365:                                             ; preds = %8364
  br label %8366

8366:                                             ; preds = %8365, %8308
  br label %8367

8367:                                             ; preds = %8366
  br label %8368

8368:                                             ; preds = %8367
  call void @llvm.lifetime.start.p0(i64 40, ptr %175) #10
  call void @llvm.memset.p0.i64(ptr align 8 %175, i8 0, i64 40, i1 false)
  br label %8369

8369:                                             ; preds = %8368
  %8370 = load i32, ptr @test_count, align 4, !tbaa !5
  %8371 = add nsw i32 %8370, 1
  store i32 %8371, ptr @test_count, align 4, !tbaa !5
  %8372 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %175, i32 noundef 0)
  %8373 = icmp eq i32 %8372, -1
  br i1 %8373, label %8374, label %8427

8374:                                             ; preds = %8369
  br label %8375

8375:                                             ; preds = %8374
  br label %8376

8376:                                             ; preds = %8375
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #10
  %8377 = call ptr @__errno_location() #11
  %8378 = load i32, ptr %8377, align 4, !tbaa !5
  store i32 %8378, ptr %176, align 4, !tbaa !5
  %8379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8380 = call i32 @s2n_print_stacktrace(ptr noundef %8379)
  %8381 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8382 = trunc i8 %8381 to i1
  br i1 %8382, label %8383, label %8405

8383:                                             ; preds = %8376
  %8384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8385 = call i32 @fileno(ptr noundef %8384) #10
  %8386 = call i32 @isatty(i32 noundef %8385) #10
  %8387 = icmp ne i32 %8386, 0
  br i1 %8387, label %8388, label %8405

8388:                                             ; preds = %8383
  %8389 = load i32, ptr %176, align 4, !tbaa !5
  %8390 = call ptr @__errno_location() #11
  store i32 %8389, ptr %8390, align 4, !tbaa !5
  %8391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8392 = load i32, ptr @test_count, align 4, !tbaa !5
  %8393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8394 = load i32, ptr %8393, align 4, !tbaa !5
  %8395 = call ptr @s2n_strerror(i32 noundef %8394, ptr noundef @.str.10)
  %8396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8397 = load i32, ptr %8396, align 4, !tbaa !5
  %8398 = call ptr @s2n_strerror_debug(i32 noundef %8397, ptr noundef @.str.10)
  %8399 = call ptr @__errno_location() #11
  %8400 = load i32, ptr %8399, align 4, !tbaa !5
  %8401 = call ptr @strerror(i32 noundef %8400) #10
  %8402 = call ptr @__errno_location() #11
  %8403 = load i32, ptr %8402, align 4, !tbaa !5
  %8404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8391, ptr noundef @.str.8, i32 noundef %8392, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 298, ptr noundef %8395, ptr noundef %8398, ptr noundef %8401, i32 noundef %8403) #10
  br label %8422

8405:                                             ; preds = %8383, %8376
  %8406 = load i32, ptr %176, align 4, !tbaa !5
  %8407 = call ptr @__errno_location() #11
  store i32 %8406, ptr %8407, align 4, !tbaa !5
  %8408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8409 = load i32, ptr @test_count, align 4, !tbaa !5
  %8410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8411 = load i32, ptr %8410, align 4, !tbaa !5
  %8412 = call ptr @s2n_strerror(i32 noundef %8411, ptr noundef @.str.10)
  %8413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8414 = load i32, ptr %8413, align 4, !tbaa !5
  %8415 = call ptr @s2n_strerror_debug(i32 noundef %8414, ptr noundef @.str.10)
  %8416 = call ptr @__errno_location() #11
  %8417 = load i32, ptr %8416, align 4, !tbaa !5
  %8418 = call ptr @strerror(i32 noundef %8417) #10
  %8419 = call ptr @__errno_location() #11
  %8420 = load i32, ptr %8419, align 4, !tbaa !5
  %8421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8408, ptr noundef @.str.11, i32 noundef %8409, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 298, ptr noundef %8412, ptr noundef %8415, ptr noundef %8418, i32 noundef %8420) #10
  br label %8422

8422:                                             ; preds = %8405, %8388
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #10
  br label %8423

8423:                                             ; preds = %8422
  br label %8424

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

8425:                                             ; No predecessors!
  br label %8426

8426:                                             ; preds = %8425
  br label %8427

8427:                                             ; preds = %8426, %8369
  br label %8428

8428:                                             ; preds = %8427
  br label %8429

8429:                                             ; preds = %8428
  br label %8430

8430:                                             ; preds = %8429
  %8431 = load i32, ptr @test_count, align 4, !tbaa !5
  %8432 = add nsw i32 %8431, 1
  store i32 %8432, ptr @test_count, align 4, !tbaa !5
  %8433 = load ptr, ptr %169, align 8, !tbaa !9
  %8434 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %173, ptr noundef %175, ptr noundef %8433)
  %8435 = icmp eq i32 %8434, -1
  br i1 %8435, label %8436, label %8489

8436:                                             ; preds = %8430
  br label %8437

8437:                                             ; preds = %8436
  br label %8438

8438:                                             ; preds = %8437
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #10
  %8439 = call ptr @__errno_location() #11
  %8440 = load i32, ptr %8439, align 4, !tbaa !5
  store i32 %8440, ptr %177, align 4, !tbaa !5
  %8441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8442 = call i32 @s2n_print_stacktrace(ptr noundef %8441)
  %8443 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8444 = trunc i8 %8443 to i1
  br i1 %8444, label %8445, label %8467

8445:                                             ; preds = %8438
  %8446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8447 = call i32 @fileno(ptr noundef %8446) #10
  %8448 = call i32 @isatty(i32 noundef %8447) #10
  %8449 = icmp ne i32 %8448, 0
  br i1 %8449, label %8450, label %8467

8450:                                             ; preds = %8445
  %8451 = load i32, ptr %177, align 4, !tbaa !5
  %8452 = call ptr @__errno_location() #11
  store i32 %8451, ptr %8452, align 4, !tbaa !5
  %8453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8454 = load i32, ptr @test_count, align 4, !tbaa !5
  %8455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8456 = load i32, ptr %8455, align 4, !tbaa !5
  %8457 = call ptr @s2n_strerror(i32 noundef %8456, ptr noundef @.str.10)
  %8458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8459 = load i32, ptr %8458, align 4, !tbaa !5
  %8460 = call ptr @s2n_strerror_debug(i32 noundef %8459, ptr noundef @.str.10)
  %8461 = call ptr @__errno_location() #11
  %8462 = load i32, ptr %8461, align 4, !tbaa !5
  %8463 = call ptr @strerror(i32 noundef %8462) #10
  %8464 = call ptr @__errno_location() #11
  %8465 = load i32, ptr %8464, align 4, !tbaa !5
  %8466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8453, ptr noundef @.str.8, i32 noundef %8454, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 299, ptr noundef %8457, ptr noundef %8460, ptr noundef %8463, i32 noundef %8465) #10
  br label %8484

8467:                                             ; preds = %8445, %8438
  %8468 = load i32, ptr %177, align 4, !tbaa !5
  %8469 = call ptr @__errno_location() #11
  store i32 %8468, ptr %8469, align 4, !tbaa !5
  %8470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8471 = load i32, ptr @test_count, align 4, !tbaa !5
  %8472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8473 = load i32, ptr %8472, align 4, !tbaa !5
  %8474 = call ptr @s2n_strerror(i32 noundef %8473, ptr noundef @.str.10)
  %8475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8476 = load i32, ptr %8475, align 4, !tbaa !5
  %8477 = call ptr @s2n_strerror_debug(i32 noundef %8476, ptr noundef @.str.10)
  %8478 = call ptr @__errno_location() #11
  %8479 = load i32, ptr %8478, align 4, !tbaa !5
  %8480 = call ptr @strerror(i32 noundef %8479) #10
  %8481 = call ptr @__errno_location() #11
  %8482 = load i32, ptr %8481, align 4, !tbaa !5
  %8483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8470, ptr noundef @.str.11, i32 noundef %8471, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 299, ptr noundef %8474, ptr noundef %8477, ptr noundef %8480, i32 noundef %8482) #10
  br label %8484

8484:                                             ; preds = %8467, %8450
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #10
  br label %8485

8485:                                             ; preds = %8484
  br label %8486

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

8487:                                             ; No predecessors!
  br label %8488

8488:                                             ; preds = %8487
  br label %8489

8489:                                             ; preds = %8488, %8430
  br label %8490

8490:                                             ; preds = %8489
  br label %8491

8491:                                             ; preds = %8490
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #10
  store i32 0, ptr %178, align 4, !tbaa !5
  br label %8492

8492:                                             ; preds = %8491
  br label %8493

8493:                                             ; preds = %8492
  br label %8494

8494:                                             ; preds = %8493
  %8495 = load i32, ptr @test_count, align 4, !tbaa !5
  %8496 = add nsw i32 %8495, 1
  store i32 %8496, ptr @test_count, align 4, !tbaa !5
  %8497 = load ptr, ptr %169, align 8, !tbaa !9
  %8498 = call i32 @s2n_shutdown(ptr noundef %8497, ptr noundef %178)
  %8499 = icmp eq i32 %8498, -1
  br i1 %8499, label %8553, label %8500

8500:                                             ; preds = %8494
  br label %8501

8501:                                             ; preds = %8500
  br label %8502

8502:                                             ; preds = %8501
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #10
  %8503 = call ptr @__errno_location() #11
  %8504 = load i32, ptr %8503, align 4, !tbaa !5
  store i32 %8504, ptr %179, align 4, !tbaa !5
  %8505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8506 = call i32 @s2n_print_stacktrace(ptr noundef %8505)
  %8507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8508 = trunc i8 %8507 to i1
  br i1 %8508, label %8509, label %8531

8509:                                             ; preds = %8502
  %8510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8511 = call i32 @fileno(ptr noundef %8510) #10
  %8512 = call i32 @isatty(i32 noundef %8511) #10
  %8513 = icmp ne i32 %8512, 0
  br i1 %8513, label %8514, label %8531

8514:                                             ; preds = %8509
  %8515 = load i32, ptr %179, align 4, !tbaa !5
  %8516 = call ptr @__errno_location() #11
  store i32 %8515, ptr %8516, align 4, !tbaa !5
  %8517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8518 = load i32, ptr @test_count, align 4, !tbaa !5
  %8519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8520 = load i32, ptr %8519, align 4, !tbaa !5
  %8521 = call ptr @s2n_strerror(i32 noundef %8520, ptr noundef @.str.10)
  %8522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8523 = load i32, ptr %8522, align 4, !tbaa !5
  %8524 = call ptr @s2n_strerror_debug(i32 noundef %8523, ptr noundef @.str.10)
  %8525 = call ptr @__errno_location() #11
  %8526 = load i32, ptr %8525, align 4, !tbaa !5
  %8527 = call ptr @strerror(i32 noundef %8526) #10
  %8528 = call ptr @__errno_location() #11
  %8529 = load i32, ptr %8528, align 4, !tbaa !5
  %8530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8517, ptr noundef @.str.8, i32 noundef %8518, ptr noundef @.str.42, ptr noundef @.str.7, i32 noundef 303, ptr noundef %8521, ptr noundef %8524, ptr noundef %8527, i32 noundef %8529) #10
  br label %8548

8531:                                             ; preds = %8509, %8502
  %8532 = load i32, ptr %179, align 4, !tbaa !5
  %8533 = call ptr @__errno_location() #11
  store i32 %8532, ptr %8533, align 4, !tbaa !5
  %8534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8535 = load i32, ptr @test_count, align 4, !tbaa !5
  %8536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8537 = load i32, ptr %8536, align 4, !tbaa !5
  %8538 = call ptr @s2n_strerror(i32 noundef %8537, ptr noundef @.str.10)
  %8539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8540 = load i32, ptr %8539, align 4, !tbaa !5
  %8541 = call ptr @s2n_strerror_debug(i32 noundef %8540, ptr noundef @.str.10)
  %8542 = call ptr @__errno_location() #11
  %8543 = load i32, ptr %8542, align 4, !tbaa !5
  %8544 = call ptr @strerror(i32 noundef %8543) #10
  %8545 = call ptr @__errno_location() #11
  %8546 = load i32, ptr %8545, align 4, !tbaa !5
  %8547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8534, ptr noundef @.str.11, i32 noundef %8535, ptr noundef @.str.42, ptr noundef @.str.7, i32 noundef 303, ptr noundef %8538, ptr noundef %8541, ptr noundef %8544, i32 noundef %8546) #10
  br label %8548

8548:                                             ; preds = %8531, %8514
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #10
  br label %8549

8549:                                             ; preds = %8548
  br label %8550

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

8551:                                             ; No predecessors!
  br label %8552

8552:                                             ; preds = %8551
  br label %8553

8553:                                             ; preds = %8552, %8494
  br label %8554

8554:                                             ; preds = %8553
  br label %8555

8555:                                             ; preds = %8554
  br label %8556

8556:                                             ; preds = %8555
  %8557 = load i32, ptr @test_count, align 4, !tbaa !5
  %8558 = add nsw i32 %8557, 1
  store i32 %8558, ptr @test_count, align 4, !tbaa !5
  %8559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8560 = load i32, ptr %8559, align 4, !tbaa !5
  %8561 = icmp eq i32 %8560, 201326592
  br i1 %8561, label %8615, label %8562

8562:                                             ; preds = %8556
  br label %8563

8563:                                             ; preds = %8562
  br label %8564

8564:                                             ; preds = %8563
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #10
  %8565 = call ptr @__errno_location() #11
  %8566 = load i32, ptr %8565, align 4, !tbaa !5
  store i32 %8566, ptr %180, align 4, !tbaa !5
  %8567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8568 = call i32 @s2n_print_stacktrace(ptr noundef %8567)
  %8569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8570 = trunc i8 %8569 to i1
  br i1 %8570, label %8571, label %8593

8571:                                             ; preds = %8564
  %8572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8573 = call i32 @fileno(ptr noundef %8572) #10
  %8574 = call i32 @isatty(i32 noundef %8573) #10
  %8575 = icmp ne i32 %8574, 0
  br i1 %8575, label %8576, label %8593

8576:                                             ; preds = %8571
  %8577 = load i32, ptr %180, align 4, !tbaa !5
  %8578 = call ptr @__errno_location() #11
  store i32 %8577, ptr %8578, align 4, !tbaa !5
  %8579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8580 = load i32, ptr @test_count, align 4, !tbaa !5
  %8581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8582 = load i32, ptr %8581, align 4, !tbaa !5
  %8583 = call ptr @s2n_strerror(i32 noundef %8582, ptr noundef @.str.10)
  %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_debug(i32 noundef %8585, ptr noundef @.str.10)
  %8587 = call ptr @__errno_location() #11
  %8588 = load i32, ptr %8587, align 4, !tbaa !5
  %8589 = call ptr @strerror(i32 noundef %8588) #10
  %8590 = call ptr @__errno_location() #11
  %8591 = load i32, ptr %8590, align 4, !tbaa !5
  %8592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8579, ptr noundef @.str.8, i32 noundef %8580, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 303, ptr noundef %8583, ptr noundef %8586, ptr noundef %8589, i32 noundef %8591) #10
  br label %8610

8593:                                             ; preds = %8571, %8564
  %8594 = load i32, ptr %180, align 4, !tbaa !5
  %8595 = call ptr @__errno_location() #11
  store i32 %8594, ptr %8595, align 4, !tbaa !5
  %8596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8597 = load i32, ptr @test_count, align 4, !tbaa !5
  %8598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8599 = load i32, ptr %8598, align 4, !tbaa !5
  %8600 = call ptr @s2n_strerror(i32 noundef %8599, ptr noundef @.str.10)
  %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_debug(i32 noundef %8602, ptr noundef @.str.10)
  %8604 = call ptr @__errno_location() #11
  %8605 = load i32, ptr %8604, align 4, !tbaa !5
  %8606 = call ptr @strerror(i32 noundef %8605) #10
  %8607 = call ptr @__errno_location() #11
  %8608 = load i32, ptr %8607, align 4, !tbaa !5
  %8609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8596, ptr noundef @.str.11, i32 noundef %8597, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 303, ptr noundef %8600, ptr noundef %8603, ptr noundef %8606, i32 noundef %8608) #10
  br label %8610

8610:                                             ; preds = %8593, %8576
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #10
  br label %8611

8611:                                             ; preds = %8610
  br label %8612

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

8613:                                             ; No predecessors!
  br label %8614

8614:                                             ; preds = %8613
  br label %8615

8615:                                             ; preds = %8614, %8556
  br label %8616

8616:                                             ; preds = %8615
  br label %8617

8617:                                             ; preds = %8616
  br label %8618

8618:                                             ; preds = %8617
  %8619 = load i32, ptr @test_count, align 4, !tbaa !5
  %8620 = add nsw i32 %8619, 1
  store i32 %8620, ptr @test_count, align 4, !tbaa !5
  %8621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8622 = load i32, ptr %8621, align 4, !tbaa !5
  %8623 = call ptr @s2n_strerror_debug(i32 noundef %8622, ptr noundef @.str.10)
  %8624 = icmp eq ptr %8623, null
  br i1 %8624, label %8625, label %8678

8625:                                             ; preds = %8618
  br label %8626

8626:                                             ; preds = %8625
  br label %8627

8627:                                             ; preds = %8626
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #10
  %8628 = call ptr @__errno_location() #11
  %8629 = load i32, ptr %8628, align 4, !tbaa !5
  store i32 %8629, ptr %181, align 4, !tbaa !5
  %8630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8631 = call i32 @s2n_print_stacktrace(ptr noundef %8630)
  %8632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8633 = trunc i8 %8632 to i1
  br i1 %8633, label %8634, label %8656

8634:                                             ; preds = %8627
  %8635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8636 = call i32 @fileno(ptr noundef %8635) #10
  %8637 = call i32 @isatty(i32 noundef %8636) #10
  %8638 = icmp ne i32 %8637, 0
  br i1 %8638, label %8639, label %8656

8639:                                             ; preds = %8634
  %8640 = load i32, ptr %181, align 4, !tbaa !5
  %8641 = call ptr @__errno_location() #11
  store i32 %8640, ptr %8641, align 4, !tbaa !5
  %8642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8643 = load i32, ptr @test_count, align 4, !tbaa !5
  %8644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8645 = load i32, ptr %8644, align 4, !tbaa !5
  %8646 = call ptr @s2n_strerror(i32 noundef %8645, ptr noundef @.str.10)
  %8647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8648 = load i32, ptr %8647, align 4, !tbaa !5
  %8649 = call ptr @s2n_strerror_debug(i32 noundef %8648, ptr noundef @.str.10)
  %8650 = call ptr @__errno_location() #11
  %8651 = load i32, ptr %8650, align 4, !tbaa !5
  %8652 = call ptr @strerror(i32 noundef %8651) #10
  %8653 = call ptr @__errno_location() #11
  %8654 = load i32, ptr %8653, align 4, !tbaa !5
  %8655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8642, ptr noundef @.str.8, i32 noundef %8643, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 303, ptr noundef %8646, ptr noundef %8649, ptr noundef %8652, i32 noundef %8654) #10
  br label %8673

8656:                                             ; preds = %8634, %8627
  %8657 = load i32, ptr %181, align 4, !tbaa !5
  %8658 = call ptr @__errno_location() #11
  store i32 %8657, ptr %8658, align 4, !tbaa !5
  %8659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8660 = load i32, ptr @test_count, align 4, !tbaa !5
  %8661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8662 = load i32, ptr %8661, align 4, !tbaa !5
  %8663 = call ptr @s2n_strerror(i32 noundef %8662, ptr noundef @.str.10)
  %8664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8665 = load i32, ptr %8664, align 4, !tbaa !5
  %8666 = call ptr @s2n_strerror_debug(i32 noundef %8665, ptr noundef @.str.10)
  %8667 = call ptr @__errno_location() #11
  %8668 = load i32, ptr %8667, align 4, !tbaa !5
  %8669 = call ptr @strerror(i32 noundef %8668) #10
  %8670 = call ptr @__errno_location() #11
  %8671 = load i32, ptr %8670, align 4, !tbaa !5
  %8672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8659, ptr noundef @.str.11, i32 noundef %8660, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 303, ptr noundef %8663, ptr noundef %8666, ptr noundef %8669, i32 noundef %8671) #10
  br label %8673

8673:                                             ; preds = %8656, %8639
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #10
  br label %8674

8674:                                             ; preds = %8673
  br label %8675

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

8676:                                             ; No predecessors!
  br label %8677

8677:                                             ; preds = %8676
  br label %8678

8678:                                             ; preds = %8677, %8618
  br label %8679

8679:                                             ; preds = %8678
  br label %8680

8680:                                             ; preds = %8679
  br label %8681

8681:                                             ; preds = %8680
  br label %8682

8682:                                             ; preds = %8681
  br label %8683

8683:                                             ; preds = %8682
  %8684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8684, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8685 = call ptr @__errno_location() #11
  store i32 0, ptr %8685, align 4, !tbaa !5
  br label %8686

8686:                                             ; preds = %8683
  br label %8687

8687:                                             ; preds = %8686
  br label %8688

8688:                                             ; preds = %8687
  br label %8689

8689:                                             ; preds = %8688
  br label %8690

8690:                                             ; preds = %8689
  %8691 = load i32, ptr @test_count, align 4, !tbaa !5
  %8692 = add nsw i32 %8691, 1
  store i32 %8692, ptr @test_count, align 4, !tbaa !5
  %8693 = load i32, ptr %178, align 4, !tbaa !5
  %8694 = icmp eq i32 %8693, 1
  br i1 %8694, label %8748, label %8695

8695:                                             ; preds = %8690
  br label %8696

8696:                                             ; preds = %8695
  br label %8697

8697:                                             ; preds = %8696
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #10
  %8698 = call ptr @__errno_location() #11
  %8699 = load i32, ptr %8698, align 4, !tbaa !5
  store i32 %8699, ptr %182, align 4, !tbaa !5
  %8700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8701 = call i32 @s2n_print_stacktrace(ptr noundef %8700)
  %8702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8703 = trunc i8 %8702 to i1
  br i1 %8703, label %8704, label %8726

8704:                                             ; preds = %8697
  %8705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8706 = call i32 @fileno(ptr noundef %8705) #10
  %8707 = call i32 @isatty(i32 noundef %8706) #10
  %8708 = icmp ne i32 %8707, 0
  br i1 %8708, label %8709, label %8726

8709:                                             ; preds = %8704
  %8710 = load i32, ptr %182, align 4, !tbaa !5
  %8711 = call ptr @__errno_location() #11
  store i32 %8710, ptr %8711, align 4, !tbaa !5
  %8712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8713 = load i32, ptr @test_count, align 4, !tbaa !5
  %8714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8715 = load i32, ptr %8714, align 4, !tbaa !5
  %8716 = call ptr @s2n_strerror(i32 noundef %8715, ptr noundef @.str.10)
  %8717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8718 = load i32, ptr %8717, align 4, !tbaa !5
  %8719 = call ptr @s2n_strerror_debug(i32 noundef %8718, ptr noundef @.str.10)
  %8720 = call ptr @__errno_location() #11
  %8721 = load i32, ptr %8720, align 4, !tbaa !5
  %8722 = call ptr @strerror(i32 noundef %8721) #10
  %8723 = call ptr @__errno_location() #11
  %8724 = load i32, ptr %8723, align 4, !tbaa !5
  %8725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8712, ptr noundef @.str.8, i32 noundef %8713, ptr noundef @.str.45, ptr noundef @.str.7, i32 noundef 304, ptr noundef %8716, ptr noundef %8719, ptr noundef %8722, i32 noundef %8724) #10
  br label %8743

8726:                                             ; preds = %8704, %8697
  %8727 = load i32, ptr %182, align 4, !tbaa !5
  %8728 = call ptr @__errno_location() #11
  store i32 %8727, ptr %8728, align 4, !tbaa !5
  %8729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8730 = load i32, ptr @test_count, align 4, !tbaa !5
  %8731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8732 = load i32, ptr %8731, align 4, !tbaa !5
  %8733 = call ptr @s2n_strerror(i32 noundef %8732, ptr noundef @.str.10)
  %8734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8735 = load i32, ptr %8734, align 4, !tbaa !5
  %8736 = call ptr @s2n_strerror_debug(i32 noundef %8735, ptr noundef @.str.10)
  %8737 = call ptr @__errno_location() #11
  %8738 = load i32, ptr %8737, align 4, !tbaa !5
  %8739 = call ptr @strerror(i32 noundef %8738) #10
  %8740 = call ptr @__errno_location() #11
  %8741 = load i32, ptr %8740, align 4, !tbaa !5
  %8742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8729, ptr noundef @.str.11, i32 noundef %8730, ptr noundef @.str.45, ptr noundef @.str.7, i32 noundef 304, ptr noundef %8733, ptr noundef %8736, ptr noundef %8739, i32 noundef %8741) #10
  br label %8743

8743:                                             ; preds = %8726, %8709
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #10
  br label %8744

8744:                                             ; preds = %8743
  br label %8745

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

8746:                                             ; No predecessors!
  br label %8747

8747:                                             ; preds = %8746
  br label %8748

8748:                                             ; preds = %8747, %8690
  br label %8749

8749:                                             ; preds = %8748
  br label %8750

8750:                                             ; preds = %8749
  br label %8751

8751:                                             ; preds = %8750
  %8752 = load i32, ptr @test_count, align 4, !tbaa !5
  %8753 = add nsw i32 %8752, 1
  store i32 %8753, ptr @test_count, align 4, !tbaa !5
  %8754 = load ptr, ptr %169, align 8, !tbaa !9
  %8755 = getelementptr inbounds %struct.s2n_connection, ptr %8754, i32 0, i32 49
  %8756 = load i8, ptr %8755, align 1, !tbaa !16, !range !13, !noundef !14
  %8757 = trunc i8 %8756 to i1
  br i1 %8757, label %8811, label %8758

8758:                                             ; preds = %8751
  br label %8759

8759:                                             ; preds = %8758
  br label %8760

8760:                                             ; preds = %8759
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #10
  %8761 = call ptr @__errno_location() #11
  %8762 = load i32, ptr %8761, align 4, !tbaa !5
  store i32 %8762, ptr %183, align 4, !tbaa !5
  %8763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8764 = call i32 @s2n_print_stacktrace(ptr noundef %8763)
  %8765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8766 = trunc i8 %8765 to i1
  br i1 %8766, label %8767, label %8789

8767:                                             ; preds = %8760
  %8768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8769 = call i32 @fileno(ptr noundef %8768) #10
  %8770 = call i32 @isatty(i32 noundef %8769) #10
  %8771 = icmp ne i32 %8770, 0
  br i1 %8771, label %8772, label %8789

8772:                                             ; preds = %8767
  %8773 = load i32, ptr %183, align 4, !tbaa !5
  %8774 = call ptr @__errno_location() #11
  store i32 %8773, ptr %8774, align 4, !tbaa !5
  %8775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8776 = load i32, ptr @test_count, align 4, !tbaa !5
  %8777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8778 = load i32, ptr %8777, align 4, !tbaa !5
  %8779 = call ptr @s2n_strerror(i32 noundef %8778, ptr noundef @.str.10)
  %8780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8781 = load i32, ptr %8780, align 4, !tbaa !5
  %8782 = call ptr @s2n_strerror_debug(i32 noundef %8781, ptr noundef @.str.10)
  %8783 = call ptr @__errno_location() #11
  %8784 = load i32, ptr %8783, align 4, !tbaa !5
  %8785 = call ptr @strerror(i32 noundef %8784) #10
  %8786 = call ptr @__errno_location() #11
  %8787 = load i32, ptr %8786, align 4, !tbaa !5
  %8788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8775, ptr noundef @.str.8, i32 noundef %8776, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 305, ptr noundef %8779, ptr noundef %8782, ptr noundef %8785, i32 noundef %8787) #10
  br label %8806

8789:                                             ; preds = %8767, %8760
  %8790 = load i32, ptr %183, align 4, !tbaa !5
  %8791 = call ptr @__errno_location() #11
  store i32 %8790, ptr %8791, align 4, !tbaa !5
  %8792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8793 = load i32, ptr @test_count, align 4, !tbaa !5
  %8794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8795 = load i32, ptr %8794, align 4, !tbaa !5
  %8796 = call ptr @s2n_strerror(i32 noundef %8795, ptr noundef @.str.10)
  %8797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8798 = load i32, ptr %8797, align 4, !tbaa !5
  %8799 = call ptr @s2n_strerror_debug(i32 noundef %8798, ptr noundef @.str.10)
  %8800 = call ptr @__errno_location() #11
  %8801 = load i32, ptr %8800, align 4, !tbaa !5
  %8802 = call ptr @strerror(i32 noundef %8801) #10
  %8803 = call ptr @__errno_location() #11
  %8804 = load i32, ptr %8803, align 4, !tbaa !5
  %8805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8792, ptr noundef @.str.11, i32 noundef %8793, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 305, ptr noundef %8796, ptr noundef %8799, ptr noundef %8802, i32 noundef %8804) #10
  br label %8806

8806:                                             ; preds = %8789, %8772
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #10
  br label %8807

8807:                                             ; preds = %8806
  br label %8808

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

8809:                                             ; No predecessors!
  br label %8810

8810:                                             ; preds = %8809
  br label %8811

8811:                                             ; preds = %8810, %8751
  br label %8812

8812:                                             ; preds = %8811
  br label %8813

8813:                                             ; preds = %8812
  br label %8814

8814:                                             ; preds = %8813
  %8815 = load i32, ptr @test_count, align 4, !tbaa !5
  %8816 = add nsw i32 %8815, 1
  store i32 %8816, ptr @test_count, align 4, !tbaa !5
  %8817 = getelementptr inbounds [5 x i8], ptr %10, i64 0, i64 0
  %8818 = call i32 @s2n_stuffer_write_bytes(ptr noundef %173, ptr noundef %8817, i32 noundef 5)
  %8819 = icmp eq i32 %8818, -1
  br i1 %8819, label %8820, label %8873

8820:                                             ; preds = %8814
  br label %8821

8821:                                             ; preds = %8820
  br label %8822

8822:                                             ; preds = %8821
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #10
  %8823 = call ptr @__errno_location() #11
  %8824 = load i32, ptr %8823, align 4, !tbaa !5
  store i32 %8824, ptr %184, align 4, !tbaa !5
  %8825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8826 = call i32 @s2n_print_stacktrace(ptr noundef %8825)
  %8827 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8828 = trunc i8 %8827 to i1
  br i1 %8828, label %8829, label %8851

8829:                                             ; preds = %8822
  %8830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8831 = call i32 @fileno(ptr noundef %8830) #10
  %8832 = call i32 @isatty(i32 noundef %8831) #10
  %8833 = icmp ne i32 %8832, 0
  br i1 %8833, label %8834, label %8851

8834:                                             ; preds = %8829
  %8835 = load i32, ptr %184, align 4, !tbaa !5
  %8836 = call ptr @__errno_location() #11
  store i32 %8835, ptr %8836, align 4, !tbaa !5
  %8837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8838 = load i32, ptr @test_count, align 4, !tbaa !5
  %8839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8840 = load i32, ptr %8839, align 4, !tbaa !5
  %8841 = call ptr @s2n_strerror(i32 noundef %8840, ptr noundef @.str.10)
  %8842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8843 = load i32, ptr %8842, align 4, !tbaa !5
  %8844 = call ptr @s2n_strerror_debug(i32 noundef %8843, ptr noundef @.str.10)
  %8845 = call ptr @__errno_location() #11
  %8846 = load i32, ptr %8845, align 4, !tbaa !5
  %8847 = call ptr @strerror(i32 noundef %8846) #10
  %8848 = call ptr @__errno_location() #11
  %8849 = load i32, ptr %8848, align 4, !tbaa !5
  %8850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8837, ptr noundef @.str.8, i32 noundef %8838, ptr noundef @.str.48, ptr noundef @.str.7, i32 noundef 308, ptr noundef %8841, ptr noundef %8844, ptr noundef %8847, i32 noundef %8849) #10
  br label %8868

8851:                                             ; preds = %8829, %8822
  %8852 = load i32, ptr %184, align 4, !tbaa !5
  %8853 = call ptr @__errno_location() #11
  store i32 %8852, ptr %8853, align 4, !tbaa !5
  %8854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8855 = load i32, ptr @test_count, align 4, !tbaa !5
  %8856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8857 = load i32, ptr %8856, align 4, !tbaa !5
  %8858 = call ptr @s2n_strerror(i32 noundef %8857, ptr noundef @.str.10)
  %8859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8860 = load i32, ptr %8859, align 4, !tbaa !5
  %8861 = call ptr @s2n_strerror_debug(i32 noundef %8860, ptr noundef @.str.10)
  %8862 = call ptr @__errno_location() #11
  %8863 = load i32, ptr %8862, align 4, !tbaa !5
  %8864 = call ptr @strerror(i32 noundef %8863) #10
  %8865 = call ptr @__errno_location() #11
  %8866 = load i32, ptr %8865, align 4, !tbaa !5
  %8867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8854, ptr noundef @.str.11, i32 noundef %8855, ptr noundef @.str.48, ptr noundef @.str.7, i32 noundef 308, ptr noundef %8858, ptr noundef %8861, ptr noundef %8864, i32 noundef %8866) #10
  br label %8868

8868:                                             ; preds = %8851, %8834
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #10
  br label %8869

8869:                                             ; preds = %8868
  br label %8870

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

8871:                                             ; No predecessors!
  br label %8872

8872:                                             ; preds = %8871
  br label %8873

8873:                                             ; preds = %8872, %8814
  br label %8874

8874:                                             ; preds = %8873
  br label %8875

8875:                                             ; preds = %8874
  br label %8876

8876:                                             ; preds = %8875
  %8877 = load i32, ptr @test_count, align 4, !tbaa !5
  %8878 = add nsw i32 %8877, 1
  store i32 %8878, ptr @test_count, align 4, !tbaa !5
  %8879 = call i32 @s2n_stuffer_write_uint8(ptr noundef %173, i8 noundef zeroext 2)
  %8880 = icmp eq i32 %8879, -1
  br i1 %8880, label %8881, label %8934

8881:                                             ; preds = %8876
  br label %8882

8882:                                             ; preds = %8881
  br label %8883

8883:                                             ; preds = %8882
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #10
  %8884 = call ptr @__errno_location() #11
  %8885 = load i32, ptr %8884, align 4, !tbaa !5
  store i32 %8885, ptr %185, align 4, !tbaa !5
  %8886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8887 = call i32 @s2n_print_stacktrace(ptr noundef %8886)
  %8888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8889 = trunc i8 %8888 to i1
  br i1 %8889, label %8890, label %8912

8890:                                             ; preds = %8883
  %8891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8892 = call i32 @fileno(ptr noundef %8891) #10
  %8893 = call i32 @isatty(i32 noundef %8892) #10
  %8894 = icmp ne i32 %8893, 0
  br i1 %8894, label %8895, label %8912

8895:                                             ; preds = %8890
  %8896 = load i32, ptr %185, align 4, !tbaa !5
  %8897 = call ptr @__errno_location() #11
  store i32 %8896, ptr %8897, align 4, !tbaa !5
  %8898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8899 = load i32, ptr @test_count, align 4, !tbaa !5
  %8900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8901 = load i32, ptr %8900, align 4, !tbaa !5
  %8902 = call ptr @s2n_strerror(i32 noundef %8901, ptr noundef @.str.10)
  %8903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8904 = load i32, ptr %8903, align 4, !tbaa !5
  %8905 = call ptr @s2n_strerror_debug(i32 noundef %8904, ptr noundef @.str.10)
  %8906 = call ptr @__errno_location() #11
  %8907 = load i32, ptr %8906, align 4, !tbaa !5
  %8908 = call ptr @strerror(i32 noundef %8907) #10
  %8909 = call ptr @__errno_location() #11
  %8910 = load i32, ptr %8909, align 4, !tbaa !5
  %8911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8898, ptr noundef @.str.8, i32 noundef %8899, ptr noundef @.str.49, ptr noundef @.str.7, i32 noundef 309, ptr noundef %8902, ptr noundef %8905, ptr noundef %8908, i32 noundef %8910) #10
  br label %8929

8912:                                             ; preds = %8890, %8883
  %8913 = load i32, ptr %185, align 4, !tbaa !5
  %8914 = call ptr @__errno_location() #11
  store i32 %8913, ptr %8914, align 4, !tbaa !5
  %8915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8916 = load i32, ptr @test_count, align 4, !tbaa !5
  %8917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8918 = load i32, ptr %8917, align 4, !tbaa !5
  %8919 = call ptr @s2n_strerror(i32 noundef %8918, ptr noundef @.str.10)
  %8920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8921 = load i32, ptr %8920, align 4, !tbaa !5
  %8922 = call ptr @s2n_strerror_debug(i32 noundef %8921, ptr noundef @.str.10)
  %8923 = call ptr @__errno_location() #11
  %8924 = load i32, ptr %8923, align 4, !tbaa !5
  %8925 = call ptr @strerror(i32 noundef %8924) #10
  %8926 = call ptr @__errno_location() #11
  %8927 = load i32, ptr %8926, align 4, !tbaa !5
  %8928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8915, ptr noundef @.str.11, i32 noundef %8916, ptr noundef @.str.49, ptr noundef @.str.7, i32 noundef 309, ptr noundef %8919, ptr noundef %8922, ptr noundef %8925, i32 noundef %8927) #10
  br label %8929

8929:                                             ; preds = %8912, %8895
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #10
  br label %8930

8930:                                             ; preds = %8929
  br label %8931

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

8932:                                             ; No predecessors!
  br label %8933

8933:                                             ; preds = %8932
  br label %8934

8934:                                             ; preds = %8933, %8876
  br label %8935

8935:                                             ; preds = %8934
  br label %8936

8936:                                             ; preds = %8935
  br label %8937

8937:                                             ; preds = %8936
  %8938 = load i32, ptr @test_count, align 4, !tbaa !5
  %8939 = add nsw i32 %8938, 1
  store i32 %8939, ptr @test_count, align 4, !tbaa !5
  %8940 = call i32 @s2n_stuffer_write_uint8(ptr noundef %173, i8 noundef zeroext 80)
  %8941 = icmp eq i32 %8940, -1
  br i1 %8941, label %8942, label %8995

8942:                                             ; preds = %8937
  br label %8943

8943:                                             ; preds = %8942
  br label %8944

8944:                                             ; preds = %8943
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #10
  %8945 = call ptr @__errno_location() #11
  %8946 = load i32, ptr %8945, align 4, !tbaa !5
  store i32 %8946, ptr %186, align 4, !tbaa !5
  %8947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8948 = call i32 @s2n_print_stacktrace(ptr noundef %8947)
  %8949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8950 = trunc i8 %8949 to i1
  br i1 %8950, label %8951, label %8973

8951:                                             ; preds = %8944
  %8952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8953 = call i32 @fileno(ptr noundef %8952) #10
  %8954 = call i32 @isatty(i32 noundef %8953) #10
  %8955 = icmp ne i32 %8954, 0
  br i1 %8955, label %8956, label %8973

8956:                                             ; preds = %8951
  %8957 = load i32, ptr %186, align 4, !tbaa !5
  %8958 = call ptr @__errno_location() #11
  store i32 %8957, ptr %8958, align 4, !tbaa !5
  %8959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8960 = load i32, ptr @test_count, align 4, !tbaa !5
  %8961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8962 = load i32, ptr %8961, align 4, !tbaa !5
  %8963 = call ptr @s2n_strerror(i32 noundef %8962, ptr noundef @.str.10)
  %8964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8965 = load i32, ptr %8964, align 4, !tbaa !5
  %8966 = call ptr @s2n_strerror_debug(i32 noundef %8965, ptr noundef @.str.10)
  %8967 = call ptr @__errno_location() #11
  %8968 = load i32, ptr %8967, align 4, !tbaa !5
  %8969 = call ptr @strerror(i32 noundef %8968) #10
  %8970 = call ptr @__errno_location() #11
  %8971 = load i32, ptr %8970, align 4, !tbaa !5
  %8972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8959, ptr noundef @.str.8, i32 noundef %8960, ptr noundef @.str.50, ptr noundef @.str.7, i32 noundef 310, ptr noundef %8963, ptr noundef %8966, ptr noundef %8969, i32 noundef %8971) #10
  br label %8990

8973:                                             ; preds = %8951, %8944
  %8974 = load i32, ptr %186, align 4, !tbaa !5
  %8975 = call ptr @__errno_location() #11
  store i32 %8974, ptr %8975, align 4, !tbaa !5
  %8976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8977 = load i32, ptr @test_count, align 4, !tbaa !5
  %8978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8979 = load i32, ptr %8978, align 4, !tbaa !5
  %8980 = call ptr @s2n_strerror(i32 noundef %8979, ptr noundef @.str.10)
  %8981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8982 = load i32, ptr %8981, align 4, !tbaa !5
  %8983 = call ptr @s2n_strerror_debug(i32 noundef %8982, ptr noundef @.str.10)
  %8984 = call ptr @__errno_location() #11
  %8985 = load i32, ptr %8984, align 4, !tbaa !5
  %8986 = call ptr @strerror(i32 noundef %8985) #10
  %8987 = call ptr @__errno_location() #11
  %8988 = load i32, ptr %8987, align 4, !tbaa !5
  %8989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8976, ptr noundef @.str.11, i32 noundef %8977, ptr noundef @.str.50, ptr noundef @.str.7, i32 noundef 310, ptr noundef %8980, ptr noundef %8983, ptr noundef %8986, i32 noundef %8988) #10
  br label %8990

8990:                                             ; preds = %8973, %8956
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #10
  br label %8991

8991:                                             ; preds = %8990
  br label %8992

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

8993:                                             ; No predecessors!
  br label %8994

8994:                                             ; preds = %8993
  br label %8995

8995:                                             ; preds = %8994, %8937
  br label %8996

8996:                                             ; preds = %8995
  br label %8997

8997:                                             ; preds = %8996
  br label %8998

8998:                                             ; preds = %8997
  br label %8999

8999:                                             ; preds = %8998
  br label %9000

9000:                                             ; preds = %8999
  %9001 = load i32, ptr @test_count, align 4, !tbaa !5
  %9002 = add nsw i32 %9001, 1
  store i32 %9002, ptr @test_count, align 4, !tbaa !5
  %9003 = load ptr, ptr %169, align 8, !tbaa !9
  %9004 = call i32 @s2n_shutdown(ptr noundef %9003, ptr noundef %178)
  %9005 = icmp eq i32 %9004, -1
  br i1 %9005, label %9059, label %9006

9006:                                             ; preds = %9000
  br label %9007

9007:                                             ; preds = %9006
  br label %9008

9008:                                             ; preds = %9007
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #10
  %9009 = call ptr @__errno_location() #11
  %9010 = load i32, ptr %9009, align 4, !tbaa !5
  store i32 %9010, ptr %187, align 4, !tbaa !5
  %9011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9012 = call i32 @s2n_print_stacktrace(ptr noundef %9011)
  %9013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9014 = trunc i8 %9013 to i1
  br i1 %9014, label %9015, label %9037

9015:                                             ; preds = %9008
  %9016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9017 = call i32 @fileno(ptr noundef %9016) #10
  %9018 = call i32 @isatty(i32 noundef %9017) #10
  %9019 = icmp ne i32 %9018, 0
  br i1 %9019, label %9020, label %9037

9020:                                             ; preds = %9015
  %9021 = load i32, ptr %187, align 4, !tbaa !5
  %9022 = call ptr @__errno_location() #11
  store i32 %9021, ptr %9022, align 4, !tbaa !5
  %9023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9024 = load i32, ptr @test_count, align 4, !tbaa !5
  %9025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9026 = load i32, ptr %9025, align 4, !tbaa !5
  %9027 = call ptr @s2n_strerror(i32 noundef %9026, ptr noundef @.str.10)
  %9028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9029 = load i32, ptr %9028, align 4, !tbaa !5
  %9030 = call ptr @s2n_strerror_debug(i32 noundef %9029, ptr noundef @.str.10)
  %9031 = call ptr @__errno_location() #11
  %9032 = load i32, ptr %9031, align 4, !tbaa !5
  %9033 = call ptr @strerror(i32 noundef %9032) #10
  %9034 = call ptr @__errno_location() #11
  %9035 = load i32, ptr %9034, align 4, !tbaa !5
  %9036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9023, ptr noundef @.str.8, i32 noundef %9024, ptr noundef @.str.42, ptr noundef @.str.7, i32 noundef 313, ptr noundef %9027, ptr noundef %9030, ptr noundef %9033, i32 noundef %9035) #10
  br label %9054

9037:                                             ; preds = %9015, %9008
  %9038 = load i32, ptr %187, align 4, !tbaa !5
  %9039 = call ptr @__errno_location() #11
  store i32 %9038, ptr %9039, align 4, !tbaa !5
  %9040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9041 = load i32, ptr @test_count, align 4, !tbaa !5
  %9042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9043 = load i32, ptr %9042, align 4, !tbaa !5
  %9044 = call ptr @s2n_strerror(i32 noundef %9043, ptr noundef @.str.10)
  %9045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9046 = load i32, ptr %9045, align 4, !tbaa !5
  %9047 = call ptr @s2n_strerror_debug(i32 noundef %9046, ptr noundef @.str.10)
  %9048 = call ptr @__errno_location() #11
  %9049 = load i32, ptr %9048, align 4, !tbaa !5
  %9050 = call ptr @strerror(i32 noundef %9049) #10
  %9051 = call ptr @__errno_location() #11
  %9052 = load i32, ptr %9051, align 4, !tbaa !5
  %9053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9040, ptr noundef @.str.11, i32 noundef %9041, ptr noundef @.str.42, ptr noundef @.str.7, i32 noundef 313, ptr noundef %9044, ptr noundef %9047, ptr noundef %9050, i32 noundef %9052) #10
  br label %9054

9054:                                             ; preds = %9037, %9020
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #10
  br label %9055

9055:                                             ; preds = %9054
  br label %9056

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

9057:                                             ; No predecessors!
  br label %9058

9058:                                             ; preds = %9057
  br label %9059

9059:                                             ; preds = %9058, %9000
  br label %9060

9060:                                             ; preds = %9059
  br label %9061

9061:                                             ; preds = %9060
  br label %9062

9062:                                             ; preds = %9061
  %9063 = load i32, ptr @test_count, align 4, !tbaa !5
  %9064 = add nsw i32 %9063, 1
  store i32 %9064, ptr @test_count, align 4, !tbaa !5
  %9065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9066 = load i32, ptr %9065, align 4, !tbaa !5
  %9067 = icmp eq i32 %9066, 268435456
  br i1 %9067, label %9121, label %9068

9068:                                             ; preds = %9062
  br label %9069

9069:                                             ; preds = %9068
  br label %9070

9070:                                             ; preds = %9069
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #10
  %9071 = call ptr @__errno_location() #11
  %9072 = load i32, ptr %9071, align 4, !tbaa !5
  store i32 %9072, ptr %188, align 4, !tbaa !5
  %9073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9074 = call i32 @s2n_print_stacktrace(ptr noundef %9073)
  %9075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9076 = trunc i8 %9075 to i1
  br i1 %9076, label %9077, label %9099

9077:                                             ; preds = %9070
  %9078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9079 = call i32 @fileno(ptr noundef %9078) #10
  %9080 = call i32 @isatty(i32 noundef %9079) #10
  %9081 = icmp ne i32 %9080, 0
  br i1 %9081, label %9082, label %9099

9082:                                             ; preds = %9077
  %9083 = load i32, ptr %188, align 4, !tbaa !5
  %9084 = call ptr @__errno_location() #11
  store i32 %9083, ptr %9084, align 4, !tbaa !5
  %9085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9086 = load i32, ptr @test_count, align 4, !tbaa !5
  %9087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9088 = load i32, ptr %9087, align 4, !tbaa !5
  %9089 = call ptr @s2n_strerror(i32 noundef %9088, ptr noundef @.str.10)
  %9090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9091 = load i32, ptr %9090, align 4, !tbaa !5
  %9092 = call ptr @s2n_strerror_debug(i32 noundef %9091, ptr noundef @.str.10)
  %9093 = call ptr @__errno_location() #11
  %9094 = load i32, ptr %9093, align 4, !tbaa !5
  %9095 = call ptr @strerror(i32 noundef %9094) #10
  %9096 = call ptr @__errno_location() #11
  %9097 = load i32, ptr %9096, align 4, !tbaa !5
  %9098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9085, ptr noundef @.str.8, i32 noundef %9086, ptr noundef @.str.52, ptr noundef @.str.7, i32 noundef 313, ptr noundef %9089, ptr noundef %9092, ptr noundef %9095, i32 noundef %9097) #10
  br label %9116

9099:                                             ; preds = %9077, %9070
  %9100 = load i32, ptr %188, align 4, !tbaa !5
  %9101 = call ptr @__errno_location() #11
  store i32 %9100, ptr %9101, align 4, !tbaa !5
  %9102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9103 = load i32, ptr @test_count, align 4, !tbaa !5
  %9104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9105 = load i32, ptr %9104, align 4, !tbaa !5
  %9106 = call ptr @s2n_strerror(i32 noundef %9105, ptr noundef @.str.10)
  %9107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9108 = load i32, ptr %9107, align 4, !tbaa !5
  %9109 = call ptr @s2n_strerror_debug(i32 noundef %9108, ptr noundef @.str.10)
  %9110 = call ptr @__errno_location() #11
  %9111 = load i32, ptr %9110, align 4, !tbaa !5
  %9112 = call ptr @strerror(i32 noundef %9111) #10
  %9113 = call ptr @__errno_location() #11
  %9114 = load i32, ptr %9113, align 4, !tbaa !5
  %9115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9102, ptr noundef @.str.11, i32 noundef %9103, ptr noundef @.str.52, ptr noundef @.str.7, i32 noundef 313, ptr noundef %9106, ptr noundef %9109, ptr noundef %9112, i32 noundef %9114) #10
  br label %9116

9116:                                             ; preds = %9099, %9082
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #10
  br label %9117

9117:                                             ; preds = %9116
  br label %9118

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

9119:                                             ; No predecessors!
  br label %9120

9120:                                             ; preds = %9119
  br label %9121

9121:                                             ; preds = %9120, %9062
  br label %9122

9122:                                             ; preds = %9121
  br label %9123

9123:                                             ; preds = %9122
  br label %9124

9124:                                             ; preds = %9123
  %9125 = load i32, ptr @test_count, align 4, !tbaa !5
  %9126 = add nsw i32 %9125, 1
  store i32 %9126, ptr @test_count, align 4, !tbaa !5
  %9127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9128 = load i32, ptr %9127, align 4, !tbaa !5
  %9129 = call ptr @s2n_strerror_debug(i32 noundef %9128, ptr noundef @.str.10)
  %9130 = icmp eq ptr %9129, null
  br i1 %9130, label %9131, label %9184

9131:                                             ; preds = %9124
  br label %9132

9132:                                             ; preds = %9131
  br label %9133

9133:                                             ; preds = %9132
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #10
  %9134 = call ptr @__errno_location() #11
  %9135 = load i32, ptr %9134, align 4, !tbaa !5
  store i32 %9135, ptr %189, align 4, !tbaa !5
  %9136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9137 = call i32 @s2n_print_stacktrace(ptr noundef %9136)
  %9138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9139 = trunc i8 %9138 to i1
  br i1 %9139, label %9140, label %9162

9140:                                             ; preds = %9133
  %9141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9142 = call i32 @fileno(ptr noundef %9141) #10
  %9143 = call i32 @isatty(i32 noundef %9142) #10
  %9144 = icmp ne i32 %9143, 0
  br i1 %9144, label %9145, label %9162

9145:                                             ; preds = %9140
  %9146 = load i32, ptr %189, align 4, !tbaa !5
  %9147 = call ptr @__errno_location() #11
  store i32 %9146, ptr %9147, align 4, !tbaa !5
  %9148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9149 = load i32, ptr @test_count, align 4, !tbaa !5
  %9150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9151 = load i32, ptr %9150, align 4, !tbaa !5
  %9152 = call ptr @s2n_strerror(i32 noundef %9151, ptr noundef @.str.10)
  %9153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9154 = load i32, ptr %9153, align 4, !tbaa !5
  %9155 = call ptr @s2n_strerror_debug(i32 noundef %9154, ptr noundef @.str.10)
  %9156 = call ptr @__errno_location() #11
  %9157 = load i32, ptr %9156, align 4, !tbaa !5
  %9158 = call ptr @strerror(i32 noundef %9157) #10
  %9159 = call ptr @__errno_location() #11
  %9160 = load i32, ptr %9159, align 4, !tbaa !5
  %9161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9148, ptr noundef @.str.8, i32 noundef %9149, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 313, ptr noundef %9152, ptr noundef %9155, ptr noundef %9158, i32 noundef %9160) #10
  br label %9179

9162:                                             ; preds = %9140, %9133
  %9163 = load i32, ptr %189, align 4, !tbaa !5
  %9164 = call ptr @__errno_location() #11
  store i32 %9163, ptr %9164, align 4, !tbaa !5
  %9165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9166 = load i32, ptr @test_count, align 4, !tbaa !5
  %9167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9168 = load i32, ptr %9167, align 4, !tbaa !5
  %9169 = call ptr @s2n_strerror(i32 noundef %9168, ptr noundef @.str.10)
  %9170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9171 = load i32, ptr %9170, align 4, !tbaa !5
  %9172 = call ptr @s2n_strerror_debug(i32 noundef %9171, ptr noundef @.str.10)
  %9173 = call ptr @__errno_location() #11
  %9174 = load i32, ptr %9173, align 4, !tbaa !5
  %9175 = call ptr @strerror(i32 noundef %9174) #10
  %9176 = call ptr @__errno_location() #11
  %9177 = load i32, ptr %9176, align 4, !tbaa !5
  %9178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9165, ptr noundef @.str.11, i32 noundef %9166, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 313, ptr noundef %9169, ptr noundef %9172, ptr noundef %9175, i32 noundef %9177) #10
  br label %9179

9179:                                             ; preds = %9162, %9145
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #10
  br label %9180

9180:                                             ; preds = %9179
  br label %9181

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

9182:                                             ; No predecessors!
  br label %9183

9183:                                             ; preds = %9182
  br label %9184

9184:                                             ; preds = %9183, %9124
  br label %9185

9185:                                             ; preds = %9184
  br label %9186

9186:                                             ; preds = %9185
  br label %9187

9187:                                             ; preds = %9186
  br label %9188

9188:                                             ; preds = %9187
  br label %9189

9189:                                             ; preds = %9188
  %9190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9190, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9191 = call ptr @__errno_location() #11
  store i32 0, ptr %9191, align 4, !tbaa !5
  br label %9192

9192:                                             ; preds = %9189
  br label %9193

9193:                                             ; preds = %9192
  br label %9194

9194:                                             ; preds = %9193
  br label %9195

9195:                                             ; preds = %9194
  br label %9196

9196:                                             ; preds = %9195
  %9197 = load i32, ptr @test_count, align 4, !tbaa !5
  %9198 = add nsw i32 %9197, 1
  store i32 %9198, ptr @test_count, align 4, !tbaa !5
  %9199 = load ptr, ptr %169, align 8, !tbaa !9
  %9200 = getelementptr inbounds %struct.s2n_connection, ptr %9199, i32 0, i32 51
  %9201 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %9200)
  br i1 %9201, label %9202, label %9255

9202:                                             ; preds = %9196
  br label %9203

9203:                                             ; preds = %9202
  br label %9204

9204:                                             ; preds = %9203
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #10
  %9205 = call ptr @__errno_location() #11
  %9206 = load i32, ptr %9205, align 4, !tbaa !5
  store i32 %9206, ptr %190, align 4, !tbaa !5
  %9207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9208 = call i32 @s2n_print_stacktrace(ptr noundef %9207)
  %9209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9210 = trunc i8 %9209 to i1
  br i1 %9210, label %9211, label %9233

9211:                                             ; preds = %9204
  %9212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9213 = call i32 @fileno(ptr noundef %9212) #10
  %9214 = call i32 @isatty(i32 noundef %9213) #10
  %9215 = icmp ne i32 %9214, 0
  br i1 %9215, label %9216, label %9233

9216:                                             ; preds = %9211
  %9217 = load i32, ptr %190, align 4, !tbaa !5
  %9218 = call ptr @__errno_location() #11
  store i32 %9217, ptr %9218, align 4, !tbaa !5
  %9219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9220 = load i32, ptr @test_count, align 4, !tbaa !5
  %9221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9222 = load i32, ptr %9221, align 4, !tbaa !5
  %9223 = call ptr @s2n_strerror(i32 noundef %9222, ptr noundef @.str.10)
  %9224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9225 = load i32, ptr %9224, align 4, !tbaa !5
  %9226 = call ptr @s2n_strerror_debug(i32 noundef %9225, ptr noundef @.str.10)
  %9227 = call ptr @__errno_location() #11
  %9228 = load i32, ptr %9227, align 4, !tbaa !5
  %9229 = call ptr @strerror(i32 noundef %9228) #10
  %9230 = call ptr @__errno_location() #11
  %9231 = load i32, ptr %9230, align 4, !tbaa !5
  %9232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9219, ptr noundef @.str.8, i32 noundef %9220, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 316, ptr noundef %9223, ptr noundef %9226, ptr noundef %9229, i32 noundef %9231) #10
  br label %9250

9233:                                             ; preds = %9211, %9204
  %9234 = load i32, ptr %190, align 4, !tbaa !5
  %9235 = call ptr @__errno_location() #11
  store i32 %9234, ptr %9235, align 4, !tbaa !5
  %9236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9237 = load i32, ptr @test_count, align 4, !tbaa !5
  %9238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9239 = load i32, ptr %9238, align 4, !tbaa !5
  %9240 = call ptr @s2n_strerror(i32 noundef %9239, ptr noundef @.str.10)
  %9241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9242 = load i32, ptr %9241, align 4, !tbaa !5
  %9243 = call ptr @s2n_strerror_debug(i32 noundef %9242, ptr noundef @.str.10)
  %9244 = call ptr @__errno_location() #11
  %9245 = load i32, ptr %9244, align 4, !tbaa !5
  %9246 = call ptr @strerror(i32 noundef %9245) #10
  %9247 = call ptr @__errno_location() #11
  %9248 = load i32, ptr %9247, align 4, !tbaa !5
  %9249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9236, ptr noundef @.str.11, i32 noundef %9237, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 316, ptr noundef %9240, ptr noundef %9243, ptr noundef %9246, i32 noundef %9248) #10
  br label %9250

9250:                                             ; preds = %9233, %9216
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #10
  br label %9251

9251:                                             ; preds = %9250
  br label %9252

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

9253:                                             ; No predecessors!
  br label %9254

9254:                                             ; preds = %9253
  br label %9255

9255:                                             ; preds = %9254, %9196
  br label %9256

9256:                                             ; preds = %9255
  br label %9257

9257:                                             ; preds = %9256
  br label %9258

9258:                                             ; preds = %9257
  %9259 = load i32, ptr @test_count, align 4, !tbaa !5
  %9260 = add nsw i32 %9259, 1
  store i32 %9260, ptr @test_count, align 4, !tbaa !5
  %9261 = load ptr, ptr %169, align 8, !tbaa !9
  %9262 = getelementptr inbounds %struct.s2n_connection, ptr %9261, i32 0, i32 49
  %9263 = load i8, ptr %9262, align 1, !tbaa !16, !range !13, !noundef !14
  %9264 = trunc i8 %9263 to i1
  br i1 %9264, label %9318, label %9265

9265:                                             ; preds = %9258
  br label %9266

9266:                                             ; preds = %9265
  br label %9267

9267:                                             ; preds = %9266
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #10
  %9268 = call ptr @__errno_location() #11
  %9269 = load i32, ptr %9268, align 4, !tbaa !5
  store i32 %9269, ptr %191, align 4, !tbaa !5
  %9270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9271 = call i32 @s2n_print_stacktrace(ptr noundef %9270)
  %9272 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9273 = trunc i8 %9272 to i1
  br i1 %9273, label %9274, label %9296

9274:                                             ; preds = %9267
  %9275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9276 = call i32 @fileno(ptr noundef %9275) #10
  %9277 = call i32 @isatty(i32 noundef %9276) #10
  %9278 = icmp ne i32 %9277, 0
  br i1 %9278, label %9279, label %9296

9279:                                             ; preds = %9274
  %9280 = load i32, ptr %191, align 4, !tbaa !5
  %9281 = call ptr @__errno_location() #11
  store i32 %9280, ptr %9281, align 4, !tbaa !5
  %9282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9283 = load i32, ptr @test_count, align 4, !tbaa !5
  %9284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9285 = load i32, ptr %9284, align 4, !tbaa !5
  %9286 = call ptr @s2n_strerror(i32 noundef %9285, ptr noundef @.str.10)
  %9287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9288 = load i32, ptr %9287, align 4, !tbaa !5
  %9289 = call ptr @s2n_strerror_debug(i32 noundef %9288, ptr noundef @.str.10)
  %9290 = call ptr @__errno_location() #11
  %9291 = load i32, ptr %9290, align 4, !tbaa !5
  %9292 = call ptr @strerror(i32 noundef %9291) #10
  %9293 = call ptr @__errno_location() #11
  %9294 = load i32, ptr %9293, align 4, !tbaa !5
  %9295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9282, ptr noundef @.str.8, i32 noundef %9283, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 317, ptr noundef %9286, ptr noundef %9289, ptr noundef %9292, i32 noundef %9294) #10
  br label %9313

9296:                                             ; preds = %9274, %9267
  %9297 = load i32, ptr %191, align 4, !tbaa !5
  %9298 = call ptr @__errno_location() #11
  store i32 %9297, ptr %9298, align 4, !tbaa !5
  %9299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9300 = load i32, ptr @test_count, align 4, !tbaa !5
  %9301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9302 = load i32, ptr %9301, align 4, !tbaa !5
  %9303 = call ptr @s2n_strerror(i32 noundef %9302, ptr noundef @.str.10)
  %9304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9305 = load i32, ptr %9304, align 4, !tbaa !5
  %9306 = call ptr @s2n_strerror_debug(i32 noundef %9305, ptr noundef @.str.10)
  %9307 = call ptr @__errno_location() #11
  %9308 = load i32, ptr %9307, align 4, !tbaa !5
  %9309 = call ptr @strerror(i32 noundef %9308) #10
  %9310 = call ptr @__errno_location() #11
  %9311 = load i32, ptr %9310, align 4, !tbaa !5
  %9312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9299, ptr noundef @.str.11, i32 noundef %9300, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 317, ptr noundef %9303, ptr noundef %9306, ptr noundef %9309, i32 noundef %9311) #10
  br label %9313

9313:                                             ; preds = %9296, %9279
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #10
  br label %9314

9314:                                             ; preds = %9313
  br label %9315

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

9316:                                             ; No predecessors!
  br label %9317

9317:                                             ; preds = %9316
  br label %9318

9318:                                             ; preds = %9317, %9258
  br label %9319

9319:                                             ; preds = %9318
  br label %9320

9320:                                             ; preds = %9319
  br label %9321

9321:                                             ; preds = %9320
  %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 ptr, ptr %169, align 8, !tbaa !9
  %9325 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9324, i32 noundef 3)
  br i1 %9325, label %9379, label %9326

9326:                                             ; preds = %9321
  br label %9327

9327:                                             ; preds = %9326
  br label %9328

9328:                                             ; preds = %9327
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #10
  %9329 = call ptr @__errno_location() #11
  %9330 = load i32, ptr %9329, align 4, !tbaa !5
  store i32 %9330, ptr %192, align 4, !tbaa !5
  %9331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9332 = call i32 @s2n_print_stacktrace(ptr noundef %9331)
  %9333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9334 = trunc i8 %9333 to i1
  br i1 %9334, label %9335, label %9357

9335:                                             ; preds = %9328
  %9336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9337 = call i32 @fileno(ptr noundef %9336) #10
  %9338 = call i32 @isatty(i32 noundef %9337) #10
  %9339 = icmp ne i32 %9338, 0
  br i1 %9339, label %9340, label %9357

9340:                                             ; preds = %9335
  %9341 = load i32, ptr %192, align 4, !tbaa !5
  %9342 = call ptr @__errno_location() #11
  store i32 %9341, ptr %9342, align 4, !tbaa !5
  %9343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9344 = load i32, ptr @test_count, align 4, !tbaa !5
  %9345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9346 = load i32, ptr %9345, align 4, !tbaa !5
  %9347 = call ptr @s2n_strerror(i32 noundef %9346, ptr noundef @.str.10)
  %9348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9349 = load i32, ptr %9348, align 4, !tbaa !5
  %9350 = call ptr @s2n_strerror_debug(i32 noundef %9349, ptr noundef @.str.10)
  %9351 = call ptr @__errno_location() #11
  %9352 = load i32, ptr %9351, align 4, !tbaa !5
  %9353 = call ptr @strerror(i32 noundef %9352) #10
  %9354 = call ptr @__errno_location() #11
  %9355 = load i32, ptr %9354, align 4, !tbaa !5
  %9356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9343, ptr noundef @.str.8, i32 noundef %9344, ptr noundef @.str.32, ptr noundef @.str.7, i32 noundef 318, ptr noundef %9347, ptr noundef %9350, ptr noundef %9353, i32 noundef %9355) #10
  br label %9374

9357:                                             ; preds = %9335, %9328
  %9358 = load i32, ptr %192, align 4, !tbaa !5
  %9359 = call ptr @__errno_location() #11
  store i32 %9358, ptr %9359, align 4, !tbaa !5
  %9360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9361 = load i32, ptr @test_count, align 4, !tbaa !5
  %9362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9363 = load i32, ptr %9362, align 4, !tbaa !5
  %9364 = call ptr @s2n_strerror(i32 noundef %9363, ptr noundef @.str.10)
  %9365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9366 = load i32, ptr %9365, align 4, !tbaa !5
  %9367 = call ptr @s2n_strerror_debug(i32 noundef %9366, ptr noundef @.str.10)
  %9368 = call ptr @__errno_location() #11
  %9369 = load i32, ptr %9368, align 4, !tbaa !5
  %9370 = call ptr @strerror(i32 noundef %9369) #10
  %9371 = call ptr @__errno_location() #11
  %9372 = load i32, ptr %9371, align 4, !tbaa !5
  %9373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9360, ptr noundef @.str.11, i32 noundef %9361, ptr noundef @.str.32, ptr noundef @.str.7, i32 noundef 318, ptr noundef %9364, ptr noundef %9367, ptr noundef %9370, i32 noundef %9372) #10
  br label %9374

9374:                                             ; preds = %9357, %9340
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #10
  br label %9375

9375:                                             ; preds = %9374
  br label %9376

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

9377:                                             ; No predecessors!
  br label %9378

9378:                                             ; preds = %9377
  br label %9379

9379:                                             ; preds = %9378, %9321
  br label %9380

9380:                                             ; preds = %9379
  br label %9381

9381:                                             ; preds = %9380
  br label %9382

9382:                                             ; preds = %9381
  %9383 = load i32, ptr @test_count, align 4, !tbaa !5
  %9384 = add nsw i32 %9383, 1
  store i32 %9384, ptr @test_count, align 4, !tbaa !5
  %9385 = getelementptr inbounds %struct.s2n_stuffer, ptr %175, i32 0, i32 2
  %9386 = load i32, ptr %9385, align 4, !tbaa !43
  %9387 = getelementptr inbounds %struct.s2n_stuffer, ptr %175, i32 0, i32 1
  %9388 = load i32, ptr %9387, align 8, !tbaa !44
  %9389 = sub i32 %9386, %9388
  %9390 = icmp eq i32 %9389, 7
  br i1 %9390, label %9444, label %9391

9391:                                             ; preds = %9382
  br label %9392

9392:                                             ; preds = %9391
  br label %9393

9393:                                             ; preds = %9392
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #10
  %9394 = call ptr @__errno_location() #11
  %9395 = load i32, ptr %9394, align 4, !tbaa !5
  store i32 %9395, ptr %193, align 4, !tbaa !5
  %9396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9397 = call i32 @s2n_print_stacktrace(ptr noundef %9396)
  %9398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9399 = trunc i8 %9398 to i1
  br i1 %9399, label %9400, label %9422

9400:                                             ; preds = %9393
  %9401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9402 = call i32 @fileno(ptr noundef %9401) #10
  %9403 = call i32 @isatty(i32 noundef %9402) #10
  %9404 = icmp ne i32 %9403, 0
  br i1 %9404, label %9405, label %9422

9405:                                             ; preds = %9400
  %9406 = load i32, ptr %193, align 4, !tbaa !5
  %9407 = call ptr @__errno_location() #11
  store i32 %9406, ptr %9407, align 4, !tbaa !5
  %9408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9409 = load i32, ptr @test_count, align 4, !tbaa !5
  %9410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9411 = load i32, ptr %9410, align 4, !tbaa !5
  %9412 = call ptr @s2n_strerror(i32 noundef %9411, ptr noundef @.str.10)
  %9413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9414 = load i32, ptr %9413, align 4, !tbaa !5
  %9415 = call ptr @s2n_strerror_debug(i32 noundef %9414, ptr noundef @.str.10)
  %9416 = call ptr @__errno_location() #11
  %9417 = load i32, ptr %9416, align 4, !tbaa !5
  %9418 = call ptr @strerror(i32 noundef %9417) #10
  %9419 = call ptr @__errno_location() #11
  %9420 = load i32, ptr %9419, align 4, !tbaa !5
  %9421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9408, ptr noundef @.str.8, i32 noundef %9409, ptr noundef @.str.33, ptr noundef @.str.7, i32 noundef 319, ptr noundef %9412, ptr noundef %9415, ptr noundef %9418, i32 noundef %9420) #10
  br label %9439

9422:                                             ; preds = %9400, %9393
  %9423 = load i32, ptr %193, align 4, !tbaa !5
  %9424 = call ptr @__errno_location() #11
  store i32 %9423, ptr %9424, align 4, !tbaa !5
  %9425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9426 = load i32, ptr @test_count, align 4, !tbaa !5
  %9427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9428 = load i32, ptr %9427, align 4, !tbaa !5
  %9429 = call ptr @s2n_strerror(i32 noundef %9428, ptr noundef @.str.10)
  %9430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9431 = load i32, ptr %9430, align 4, !tbaa !5
  %9432 = call ptr @s2n_strerror_debug(i32 noundef %9431, ptr noundef @.str.10)
  %9433 = call ptr @__errno_location() #11
  %9434 = load i32, ptr %9433, align 4, !tbaa !5
  %9435 = call ptr @strerror(i32 noundef %9434) #10
  %9436 = call ptr @__errno_location() #11
  %9437 = load i32, ptr %9436, align 4, !tbaa !5
  %9438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9425, ptr noundef @.str.11, i32 noundef %9426, ptr noundef @.str.33, ptr noundef @.str.7, i32 noundef 319, ptr noundef %9429, ptr noundef %9432, ptr noundef %9435, i32 noundef %9437) #10
  br label %9439

9439:                                             ; preds = %9422, %9405
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #10
  br label %9440

9440:                                             ; preds = %9439
  br label %9441

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

9442:                                             ; No predecessors!
  br label %9443

9443:                                             ; preds = %9442
  br label %9444

9444:                                             ; preds = %9443, %9382
  br label %9445

9445:                                             ; preds = %9444
  br label %9446

9446:                                             ; preds = %9445
  call void @llvm.lifetime.start.p0(i64 8, ptr %194) #10
  store i64 0, ptr %194, align 8, !tbaa !45
  br label %9447

9447:                                             ; preds = %9639, %9446
  %9448 = load i64, ptr %194, align 8, !tbaa !45
  %9449 = icmp ult i64 %9448, 5
  br i1 %9449, label %9451, label %9450

9450:                                             ; preds = %9447
  call void @llvm.lifetime.end.p0(i64 8, ptr %194) #10
  br label %9642

9451:                                             ; preds = %9447
  br label %9452

9452:                                             ; preds = %9451
  %9453 = load i32, ptr @test_count, align 4, !tbaa !5
  %9454 = add nsw i32 %9453, 1
  store i32 %9454, ptr @test_count, align 4, !tbaa !5
  %9455 = load ptr, ptr %169, align 8, !tbaa !9
  %9456 = call i32 @s2n_shutdown(ptr noundef %9455, ptr noundef %178)
  %9457 = icmp eq i32 %9456, -1
  br i1 %9457, label %9458, label %9511

9458:                                             ; preds = %9452
  br label %9459

9459:                                             ; preds = %9458
  br label %9460

9460:                                             ; preds = %9459
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #10
  %9461 = call ptr @__errno_location() #11
  %9462 = load i32, ptr %9461, align 4, !tbaa !5
  store i32 %9462, ptr %195, align 4, !tbaa !5
  %9463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9464 = call i32 @s2n_print_stacktrace(ptr noundef %9463)
  %9465 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9466 = trunc i8 %9465 to i1
  br i1 %9466, label %9467, label %9489

9467:                                             ; preds = %9460
  %9468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9469 = call i32 @fileno(ptr noundef %9468) #10
  %9470 = call i32 @isatty(i32 noundef %9469) #10
  %9471 = icmp ne i32 %9470, 0
  br i1 %9471, label %9472, label %9489

9472:                                             ; preds = %9467
  %9473 = load i32, ptr %195, align 4, !tbaa !5
  %9474 = call ptr @__errno_location() #11
  store i32 %9473, ptr %9474, align 4, !tbaa !5
  %9475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9476 = load i32, ptr @test_count, align 4, !tbaa !5
  %9477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9478 = load i32, ptr %9477, align 4, !tbaa !5
  %9479 = call ptr @s2n_strerror(i32 noundef %9478, ptr noundef @.str.10)
  %9480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9481 = load i32, ptr %9480, align 4, !tbaa !5
  %9482 = call ptr @s2n_strerror_debug(i32 noundef %9481, ptr noundef @.str.10)
  %9483 = call ptr @__errno_location() #11
  %9484 = load i32, ptr %9483, align 4, !tbaa !5
  %9485 = call ptr @strerror(i32 noundef %9484) #10
  %9486 = call ptr @__errno_location() #11
  %9487 = load i32, ptr %9486, align 4, !tbaa !5
  %9488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9475, ptr noundef @.str.8, i32 noundef %9476, ptr noundef @.str.30, ptr noundef @.str.7, i32 noundef 323, ptr noundef %9479, ptr noundef %9482, ptr noundef %9485, i32 noundef %9487) #10
  br label %9506

9489:                                             ; preds = %9467, %9460
  %9490 = load i32, ptr %195, align 4, !tbaa !5
  %9491 = call ptr @__errno_location() #11
  store i32 %9490, ptr %9491, align 4, !tbaa !5
  %9492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9493 = load i32, ptr @test_count, align 4, !tbaa !5
  %9494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9495 = load i32, ptr %9494, align 4, !tbaa !5
  %9496 = call ptr @s2n_strerror(i32 noundef %9495, ptr noundef @.str.10)
  %9497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9498 = load i32, ptr %9497, align 4, !tbaa !5
  %9499 = call ptr @s2n_strerror_debug(i32 noundef %9498, ptr noundef @.str.10)
  %9500 = call ptr @__errno_location() #11
  %9501 = load i32, ptr %9500, align 4, !tbaa !5
  %9502 = call ptr @strerror(i32 noundef %9501) #10
  %9503 = call ptr @__errno_location() #11
  %9504 = load i32, ptr %9503, align 4, !tbaa !5
  %9505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9492, ptr noundef @.str.11, i32 noundef %9493, ptr noundef @.str.30, ptr noundef @.str.7, i32 noundef 323, ptr noundef %9496, ptr noundef %9499, ptr noundef %9502, i32 noundef %9504) #10
  br label %9506

9506:                                             ; preds = %9489, %9472
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #10
  br label %9507

9507:                                             ; preds = %9506
  br label %9508

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

9509:                                             ; No predecessors!
  br label %9510

9510:                                             ; preds = %9509
  br label %9511

9511:                                             ; preds = %9510, %9452
  br label %9512

9512:                                             ; preds = %9511
  br label %9513

9513:                                             ; preds = %9512
  br label %9514

9514:                                             ; preds = %9513
  %9515 = load i32, ptr @test_count, align 4, !tbaa !5
  %9516 = add nsw i32 %9515, 1
  store i32 %9516, ptr @test_count, align 4, !tbaa !5
  %9517 = load ptr, ptr %169, align 8, !tbaa !9
  %9518 = getelementptr inbounds %struct.s2n_connection, ptr %9517, i32 0, i32 51
  %9519 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %9518)
  br i1 %9519, label %9520, label %9573

9520:                                             ; preds = %9514
  br label %9521

9521:                                             ; preds = %9520
  br label %9522

9522:                                             ; preds = %9521
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #10
  %9523 = call ptr @__errno_location() #11
  %9524 = load i32, ptr %9523, align 4, !tbaa !5
  store i32 %9524, ptr %196, align 4, !tbaa !5
  %9525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9526 = call i32 @s2n_print_stacktrace(ptr noundef %9525)
  %9527 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9528 = trunc i8 %9527 to i1
  br i1 %9528, label %9529, label %9551

9529:                                             ; preds = %9522
  %9530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9531 = call i32 @fileno(ptr noundef %9530) #10
  %9532 = call i32 @isatty(i32 noundef %9531) #10
  %9533 = icmp ne i32 %9532, 0
  br i1 %9533, label %9534, label %9551

9534:                                             ; preds = %9529
  %9535 = load i32, ptr %196, align 4, !tbaa !5
  %9536 = call ptr @__errno_location() #11
  store i32 %9535, ptr %9536, align 4, !tbaa !5
  %9537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9538 = load i32, ptr @test_count, align 4, !tbaa !5
  %9539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9540 = load i32, ptr %9539, align 4, !tbaa !5
  %9541 = call ptr @s2n_strerror(i32 noundef %9540, ptr noundef @.str.10)
  %9542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9543 = load i32, ptr %9542, align 4, !tbaa !5
  %9544 = call ptr @s2n_strerror_debug(i32 noundef %9543, ptr noundef @.str.10)
  %9545 = call ptr @__errno_location() #11
  %9546 = load i32, ptr %9545, align 4, !tbaa !5
  %9547 = call ptr @strerror(i32 noundef %9546) #10
  %9548 = call ptr @__errno_location() #11
  %9549 = load i32, ptr %9548, align 4, !tbaa !5
  %9550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9537, ptr noundef @.str.8, i32 noundef %9538, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 324, ptr noundef %9541, ptr noundef %9544, ptr noundef %9547, i32 noundef %9549) #10
  br label %9568

9551:                                             ; preds = %9529, %9522
  %9552 = load i32, ptr %196, align 4, !tbaa !5
  %9553 = call ptr @__errno_location() #11
  store i32 %9552, ptr %9553, align 4, !tbaa !5
  %9554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9555 = load i32, ptr @test_count, align 4, !tbaa !5
  %9556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9557 = load i32, ptr %9556, align 4, !tbaa !5
  %9558 = call ptr @s2n_strerror(i32 noundef %9557, ptr noundef @.str.10)
  %9559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9560 = load i32, ptr %9559, align 4, !tbaa !5
  %9561 = call ptr @s2n_strerror_debug(i32 noundef %9560, ptr noundef @.str.10)
  %9562 = call ptr @__errno_location() #11
  %9563 = load i32, ptr %9562, align 4, !tbaa !5
  %9564 = call ptr @strerror(i32 noundef %9563) #10
  %9565 = call ptr @__errno_location() #11
  %9566 = load i32, ptr %9565, align 4, !tbaa !5
  %9567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9554, ptr noundef @.str.11, i32 noundef %9555, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 324, ptr noundef %9558, ptr noundef %9561, ptr noundef %9564, i32 noundef %9566) #10
  br label %9568

9568:                                             ; preds = %9551, %9534
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #10
  br label %9569

9569:                                             ; preds = %9568
  br label %9570

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

9571:                                             ; No predecessors!
  br label %9572

9572:                                             ; preds = %9571
  br label %9573

9573:                                             ; preds = %9572, %9514
  br label %9574

9574:                                             ; preds = %9573
  br label %9575

9575:                                             ; preds = %9574
  br label %9576

9576:                                             ; preds = %9575
  %9577 = load i32, ptr @test_count, align 4, !tbaa !5
  %9578 = add nsw i32 %9577, 1
  store i32 %9578, ptr @test_count, align 4, !tbaa !5
  %9579 = load ptr, ptr %169, align 8, !tbaa !9
  %9580 = getelementptr inbounds %struct.s2n_connection, ptr %9579, i32 0, i32 49
  %9581 = load i8, ptr %9580, align 1, !tbaa !16, !range !13, !noundef !14
  %9582 = trunc i8 %9581 to i1
  br i1 %9582, label %9636, label %9583

9583:                                             ; preds = %9576
  br label %9584

9584:                                             ; preds = %9583
  br label %9585

9585:                                             ; preds = %9584
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #10
  %9586 = call ptr @__errno_location() #11
  %9587 = load i32, ptr %9586, align 4, !tbaa !5
  store i32 %9587, ptr %197, align 4, !tbaa !5
  %9588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9589 = call i32 @s2n_print_stacktrace(ptr noundef %9588)
  %9590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9591 = trunc i8 %9590 to i1
  br i1 %9591, label %9592, label %9614

9592:                                             ; preds = %9585
  %9593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9594 = call i32 @fileno(ptr noundef %9593) #10
  %9595 = call i32 @isatty(i32 noundef %9594) #10
  %9596 = icmp ne i32 %9595, 0
  br i1 %9596, label %9597, label %9614

9597:                                             ; preds = %9592
  %9598 = load i32, ptr %197, align 4, !tbaa !5
  %9599 = call ptr @__errno_location() #11
  store i32 %9598, ptr %9599, align 4, !tbaa !5
  %9600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9601 = load i32, ptr @test_count, align 4, !tbaa !5
  %9602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9603 = load i32, ptr %9602, align 4, !tbaa !5
  %9604 = call ptr @s2n_strerror(i32 noundef %9603, ptr noundef @.str.10)
  %9605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9606 = load i32, ptr %9605, align 4, !tbaa !5
  %9607 = call ptr @s2n_strerror_debug(i32 noundef %9606, ptr noundef @.str.10)
  %9608 = call ptr @__errno_location() #11
  %9609 = load i32, ptr %9608, align 4, !tbaa !5
  %9610 = call ptr @strerror(i32 noundef %9609) #10
  %9611 = call ptr @__errno_location() #11
  %9612 = load i32, ptr %9611, align 4, !tbaa !5
  %9613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9600, ptr noundef @.str.8, i32 noundef %9601, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 325, ptr noundef %9604, ptr noundef %9607, ptr noundef %9610, i32 noundef %9612) #10
  br label %9631

9614:                                             ; preds = %9592, %9585
  %9615 = load i32, ptr %197, align 4, !tbaa !5
  %9616 = call ptr @__errno_location() #11
  store i32 %9615, ptr %9616, align 4, !tbaa !5
  %9617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9618 = load i32, ptr @test_count, align 4, !tbaa !5
  %9619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9620 = load i32, ptr %9619, align 4, !tbaa !5
  %9621 = call ptr @s2n_strerror(i32 noundef %9620, ptr noundef @.str.10)
  %9622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9623 = load i32, ptr %9622, align 4, !tbaa !5
  %9624 = call ptr @s2n_strerror_debug(i32 noundef %9623, ptr noundef @.str.10)
  %9625 = call ptr @__errno_location() #11
  %9626 = load i32, ptr %9625, align 4, !tbaa !5
  %9627 = call ptr @strerror(i32 noundef %9626) #10
  %9628 = call ptr @__errno_location() #11
  %9629 = load i32, ptr %9628, align 4, !tbaa !5
  %9630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9617, ptr noundef @.str.11, i32 noundef %9618, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 325, ptr noundef %9621, ptr noundef %9624, ptr noundef %9627, i32 noundef %9629) #10
  br label %9631

9631:                                             ; preds = %9614, %9597
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #10
  br label %9632

9632:                                             ; preds = %9631
  br label %9633

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

9634:                                             ; No predecessors!
  br label %9635

9635:                                             ; preds = %9634
  br label %9636

9636:                                             ; preds = %9635, %9576
  br label %9637

9637:                                             ; preds = %9636
  br label %9638

9638:                                             ; preds = %9637
  br label %9639

9639:                                             ; preds = %9638
  %9640 = load i64, ptr %194, align 8, !tbaa !45
  %9641 = add i64 %9640, 1
  store i64 %9641, ptr %194, align 8, !tbaa !45
  br label %9447, !llvm.loop !46

9642:                                             ; preds = %9450
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #10
  %9643 = call i32 @s2n_stuffer_free(ptr noundef %175)
  call void @llvm.lifetime.end.p0(i64 40, ptr %175) #10
  %9644 = call i32 @s2n_stuffer_free(ptr noundef %173)
  call void @llvm.lifetime.end.p0(i64 40, ptr %173) #10
  %9645 = call i32 @s2n_connection_ptr_free(ptr noundef %169)
  %9646 = getelementptr inbounds %struct.s2n_result, ptr %198, i32 0, i32 0
  store i32 %9645, ptr %9646, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %169) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %199) #10
  %9647 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %9647, ptr %199, align 8, !tbaa !9
  br label %9648

9648:                                             ; preds = %9642
  %9649 = load i32, ptr @test_count, align 4, !tbaa !5
  %9650 = add nsw i32 %9649, 1
  store i32 %9650, ptr @test_count, align 4, !tbaa !5
  %9651 = load ptr, ptr %199, align 8, !tbaa !9
  %9652 = icmp eq ptr %9651, null
  br i1 %9652, label %9653, label %9706

9653:                                             ; preds = %9648
  br label %9654

9654:                                             ; preds = %9653
  br label %9655

9655:                                             ; preds = %9654
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #10
  %9656 = call ptr @__errno_location() #11
  %9657 = load i32, ptr %9656, align 4, !tbaa !5
  store i32 %9657, ptr %200, align 4, !tbaa !5
  %9658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9659 = call i32 @s2n_print_stacktrace(ptr noundef %9658)
  %9660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9661 = trunc i8 %9660 to i1
  br i1 %9661, label %9662, label %9684

9662:                                             ; preds = %9655
  %9663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9664 = call i32 @fileno(ptr noundef %9663) #10
  %9665 = call i32 @isatty(i32 noundef %9664) #10
  %9666 = icmp ne i32 %9665, 0
  br i1 %9666, label %9667, label %9684

9667:                                             ; preds = %9662
  %9668 = load i32, ptr %200, align 4, !tbaa !5
  %9669 = call ptr @__errno_location() #11
  store i32 %9668, ptr %9669, align 4, !tbaa !5
  %9670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9671 = load i32, ptr @test_count, align 4, !tbaa !5
  %9672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9673 = load i32, ptr %9672, align 4, !tbaa !5
  %9674 = call ptr @s2n_strerror(i32 noundef %9673, ptr noundef @.str.10)
  %9675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9676 = load i32, ptr %9675, align 4, !tbaa !5
  %9677 = call ptr @s2n_strerror_debug(i32 noundef %9676, ptr noundef @.str.10)
  %9678 = call ptr @__errno_location() #11
  %9679 = load i32, ptr %9678, align 4, !tbaa !5
  %9680 = call ptr @strerror(i32 noundef %9679) #10
  %9681 = call ptr @__errno_location() #11
  %9682 = load i32, ptr %9681, align 4, !tbaa !5
  %9683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9670, ptr noundef @.str.8, i32 noundef %9671, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 333, ptr noundef %9674, ptr noundef %9677, ptr noundef %9680, i32 noundef %9682) #10
  br label %9701

9684:                                             ; preds = %9662, %9655
  %9685 = load i32, ptr %200, align 4, !tbaa !5
  %9686 = call ptr @__errno_location() #11
  store i32 %9685, ptr %9686, align 4, !tbaa !5
  %9687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9688 = load i32, ptr @test_count, align 4, !tbaa !5
  %9689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9690 = load i32, ptr %9689, align 4, !tbaa !5
  %9691 = call ptr @s2n_strerror(i32 noundef %9690, ptr noundef @.str.10)
  %9692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9693 = load i32, ptr %9692, align 4, !tbaa !5
  %9694 = call ptr @s2n_strerror_debug(i32 noundef %9693, ptr noundef @.str.10)
  %9695 = call ptr @__errno_location() #11
  %9696 = load i32, ptr %9695, align 4, !tbaa !5
  %9697 = call ptr @strerror(i32 noundef %9696) #10
  %9698 = call ptr @__errno_location() #11
  %9699 = load i32, ptr %9698, align 4, !tbaa !5
  %9700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9687, ptr noundef @.str.11, i32 noundef %9688, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 333, ptr noundef %9691, ptr noundef %9694, ptr noundef %9697, i32 noundef %9699) #10
  br label %9701

9701:                                             ; preds = %9684, %9667
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #10
  br label %9702

9702:                                             ; preds = %9701
  br label %9703

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

9704:                                             ; No predecessors!
  br label %9705

9705:                                             ; preds = %9704
  br label %9706

9706:                                             ; preds = %9705, %9648
  br label %9707

9707:                                             ; preds = %9706
  br label %9708

9708:                                             ; preds = %9707
  br label %9709

9709:                                             ; preds = %9708
  %9710 = load i32, ptr @test_count, align 4, !tbaa !5
  %9711 = add nsw i32 %9710, 1
  store i32 %9711, ptr @test_count, align 4, !tbaa !5
  %9712 = load ptr, ptr %199, align 8, !tbaa !9
  %9713 = call i32 @s2n_skip_handshake(ptr noundef %9712)
  %9714 = getelementptr inbounds %struct.s2n_result, ptr %201, i32 0, i32 0
  store i32 %9713, ptr %9714, align 4
  %9715 = getelementptr inbounds %struct.s2n_result, ptr %201, i32 0, i32 0
  %9716 = load i32, ptr %9715, align 4
  %9717 = call zeroext i1 @s2n_result_is_ok(i32 %9716)
  br i1 %9717, label %9771, label %9718

9718:                                             ; preds = %9709
  br label %9719

9719:                                             ; preds = %9718
  br label %9720

9720:                                             ; preds = %9719
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #10
  %9721 = call ptr @__errno_location() #11
  %9722 = load i32, ptr %9721, align 4, !tbaa !5
  store i32 %9722, ptr %202, align 4, !tbaa !5
  %9723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9724 = call i32 @s2n_print_stacktrace(ptr noundef %9723)
  %9725 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9726 = trunc i8 %9725 to i1
  br i1 %9726, label %9727, label %9749

9727:                                             ; preds = %9720
  %9728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9729 = call i32 @fileno(ptr noundef %9728) #10
  %9730 = call i32 @isatty(i32 noundef %9729) #10
  %9731 = icmp ne i32 %9730, 0
  br i1 %9731, label %9732, label %9749

9732:                                             ; preds = %9727
  %9733 = load i32, ptr %202, align 4, !tbaa !5
  %9734 = call ptr @__errno_location() #11
  store i32 %9733, ptr %9734, align 4, !tbaa !5
  %9735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9736 = load i32, ptr @test_count, align 4, !tbaa !5
  %9737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9738 = load i32, ptr %9737, align 4, !tbaa !5
  %9739 = call ptr @s2n_strerror(i32 noundef %9738, ptr noundef @.str.10)
  %9740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9741 = load i32, ptr %9740, align 4, !tbaa !5
  %9742 = call ptr @s2n_strerror_debug(i32 noundef %9741, ptr noundef @.str.10)
  %9743 = call ptr @__errno_location() #11
  %9744 = load i32, ptr %9743, align 4, !tbaa !5
  %9745 = call ptr @strerror(i32 noundef %9744) #10
  %9746 = call ptr @__errno_location() #11
  %9747 = load i32, ptr %9746, align 4, !tbaa !5
  %9748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9735, ptr noundef @.str.8, i32 noundef %9736, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 334, ptr noundef %9739, ptr noundef %9742, ptr noundef %9745, i32 noundef %9747) #10
  br label %9766

9749:                                             ; preds = %9727, %9720
  %9750 = load i32, ptr %202, align 4, !tbaa !5
  %9751 = call ptr @__errno_location() #11
  store i32 %9750, ptr %9751, align 4, !tbaa !5
  %9752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9753 = load i32, ptr @test_count, align 4, !tbaa !5
  %9754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9755 = load i32, ptr %9754, align 4, !tbaa !5
  %9756 = call ptr @s2n_strerror(i32 noundef %9755, ptr noundef @.str.10)
  %9757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9758 = load i32, ptr %9757, align 4, !tbaa !5
  %9759 = call ptr @s2n_strerror_debug(i32 noundef %9758, ptr noundef @.str.10)
  %9760 = call ptr @__errno_location() #11
  %9761 = load i32, ptr %9760, align 4, !tbaa !5
  %9762 = call ptr @strerror(i32 noundef %9761) #10
  %9763 = call ptr @__errno_location() #11
  %9764 = load i32, ptr %9763, align 4, !tbaa !5
  %9765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9752, ptr noundef @.str.11, i32 noundef %9753, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 334, ptr noundef %9756, ptr noundef %9759, ptr noundef %9762, i32 noundef %9764) #10
  br label %9766

9766:                                             ; preds = %9749, %9732
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #10
  br label %9767

9767:                                             ; preds = %9766
  br label %9768

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

9769:                                             ; No predecessors!
  br label %9770

9770:                                             ; preds = %9769
  br label %9771

9771:                                             ; preds = %9770, %9709
  br label %9772

9772:                                             ; preds = %9771
  br label %9773

9773:                                             ; preds = %9772
  call void @llvm.lifetime.start.p0(i64 40, ptr %203) #10
  call void @llvm.memset.p0.i64(ptr align 8 %203, i8 0, i64 40, i1 false)
  br label %9774

9774:                                             ; preds = %9773
  %9775 = load i32, ptr @test_count, align 4, !tbaa !5
  %9776 = add nsw i32 %9775, 1
  store i32 %9776, ptr @test_count, align 4, !tbaa !5
  %9777 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %203, i32 noundef 0)
  %9778 = icmp eq i32 %9777, -1
  br i1 %9778, label %9779, label %9832

9779:                                             ; preds = %9774
  br label %9780

9780:                                             ; preds = %9779
  br label %9781

9781:                                             ; preds = %9780
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #10
  %9782 = call ptr @__errno_location() #11
  %9783 = load i32, ptr %9782, align 4, !tbaa !5
  store i32 %9783, ptr %204, align 4, !tbaa !5
  %9784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9785 = call i32 @s2n_print_stacktrace(ptr noundef %9784)
  %9786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9787 = trunc i8 %9786 to i1
  br i1 %9787, label %9788, label %9810

9788:                                             ; preds = %9781
  %9789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9790 = call i32 @fileno(ptr noundef %9789) #10
  %9791 = call i32 @isatty(i32 noundef %9790) #10
  %9792 = icmp ne i32 %9791, 0
  br i1 %9792, label %9793, label %9810

9793:                                             ; preds = %9788
  %9794 = load i32, ptr %204, align 4, !tbaa !5
  %9795 = call ptr @__errno_location() #11
  store i32 %9794, ptr %9795, align 4, !tbaa !5
  %9796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9797 = load i32, ptr @test_count, align 4, !tbaa !5
  %9798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9799 = load i32, ptr %9798, align 4, !tbaa !5
  %9800 = call ptr @s2n_strerror(i32 noundef %9799, ptr noundef @.str.10)
  %9801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9802 = load i32, ptr %9801, align 4, !tbaa !5
  %9803 = call ptr @s2n_strerror_debug(i32 noundef %9802, ptr noundef @.str.10)
  %9804 = call ptr @__errno_location() #11
  %9805 = load i32, ptr %9804, align 4, !tbaa !5
  %9806 = call ptr @strerror(i32 noundef %9805) #10
  %9807 = call ptr @__errno_location() #11
  %9808 = load i32, ptr %9807, align 4, !tbaa !5
  %9809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9796, ptr noundef @.str.8, i32 noundef %9797, ptr noundef @.str.39, ptr noundef @.str.7, i32 noundef 337, ptr noundef %9800, ptr noundef %9803, ptr noundef %9806, i32 noundef %9808) #10
  br label %9827

9810:                                             ; preds = %9788, %9781
  %9811 = load i32, ptr %204, align 4, !tbaa !5
  %9812 = call ptr @__errno_location() #11
  store i32 %9811, ptr %9812, align 4, !tbaa !5
  %9813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9814 = load i32, ptr @test_count, align 4, !tbaa !5
  %9815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9816 = load i32, ptr %9815, align 4, !tbaa !5
  %9817 = call ptr @s2n_strerror(i32 noundef %9816, ptr noundef @.str.10)
  %9818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9819 = load i32, ptr %9818, align 4, !tbaa !5
  %9820 = call ptr @s2n_strerror_debug(i32 noundef %9819, ptr noundef @.str.10)
  %9821 = call ptr @__errno_location() #11
  %9822 = load i32, ptr %9821, align 4, !tbaa !5
  %9823 = call ptr @strerror(i32 noundef %9822) #10
  %9824 = call ptr @__errno_location() #11
  %9825 = load i32, ptr %9824, align 4, !tbaa !5
  %9826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9813, ptr noundef @.str.11, i32 noundef %9814, ptr noundef @.str.39, ptr noundef @.str.7, i32 noundef 337, ptr noundef %9817, ptr noundef %9820, ptr noundef %9823, i32 noundef %9825) #10
  br label %9827

9827:                                             ; preds = %9810, %9793
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #10
  br label %9828

9828:                                             ; preds = %9827
  br label %9829

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

9830:                                             ; No predecessors!
  br label %9831

9831:                                             ; preds = %9830
  br label %9832

9832:                                             ; preds = %9831, %9774
  br label %9833

9833:                                             ; preds = %9832
  br label %9834

9834:                                             ; preds = %9833
  call void @llvm.lifetime.start.p0(i64 40, ptr %205) #10
  call void @llvm.memset.p0.i64(ptr align 8 %205, i8 0, i64 40, i1 false)
  br label %9835

9835:                                             ; preds = %9834
  %9836 = load i32, ptr @test_count, align 4, !tbaa !5
  %9837 = add nsw i32 %9836, 1
  store i32 %9837, ptr @test_count, align 4, !tbaa !5
  %9838 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %205, i32 noundef 0)
  %9839 = icmp eq i32 %9838, -1
  br i1 %9839, label %9840, label %9893

9840:                                             ; preds = %9835
  br label %9841

9841:                                             ; preds = %9840
  br label %9842

9842:                                             ; preds = %9841
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #10
  %9843 = call ptr @__errno_location() #11
  %9844 = load i32, ptr %9843, align 4, !tbaa !5
  store i32 %9844, ptr %206, align 4, !tbaa !5
  %9845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9846 = call i32 @s2n_print_stacktrace(ptr noundef %9845)
  %9847 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9848 = trunc i8 %9847 to i1
  br i1 %9848, label %9849, label %9871

9849:                                             ; preds = %9842
  %9850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9851 = call i32 @fileno(ptr noundef %9850) #10
  %9852 = call i32 @isatty(i32 noundef %9851) #10
  %9853 = icmp ne i32 %9852, 0
  br i1 %9853, label %9854, label %9871

9854:                                             ; preds = %9849
  %9855 = load i32, ptr %206, align 4, !tbaa !5
  %9856 = call ptr @__errno_location() #11
  store i32 %9855, ptr %9856, align 4, !tbaa !5
  %9857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9858 = load i32, ptr @test_count, align 4, !tbaa !5
  %9859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9860 = load i32, ptr %9859, align 4, !tbaa !5
  %9861 = call ptr @s2n_strerror(i32 noundef %9860, ptr noundef @.str.10)
  %9862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9863 = load i32, ptr %9862, align 4, !tbaa !5
  %9864 = call ptr @s2n_strerror_debug(i32 noundef %9863, ptr noundef @.str.10)
  %9865 = call ptr @__errno_location() #11
  %9866 = load i32, ptr %9865, align 4, !tbaa !5
  %9867 = call ptr @strerror(i32 noundef %9866) #10
  %9868 = call ptr @__errno_location() #11
  %9869 = load i32, ptr %9868, align 4, !tbaa !5
  %9870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9857, ptr noundef @.str.8, i32 noundef %9858, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 339, ptr noundef %9861, ptr noundef %9864, ptr noundef %9867, i32 noundef %9869) #10
  br label %9888

9871:                                             ; preds = %9849, %9842
  %9872 = load i32, ptr %206, align 4, !tbaa !5
  %9873 = call ptr @__errno_location() #11
  store i32 %9872, ptr %9873, align 4, !tbaa !5
  %9874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9875 = load i32, ptr @test_count, align 4, !tbaa !5
  %9876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9877 = load i32, ptr %9876, align 4, !tbaa !5
  %9878 = call ptr @s2n_strerror(i32 noundef %9877, ptr noundef @.str.10)
  %9879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9880 = load i32, ptr %9879, align 4, !tbaa !5
  %9881 = call ptr @s2n_strerror_debug(i32 noundef %9880, ptr noundef @.str.10)
  %9882 = call ptr @__errno_location() #11
  %9883 = load i32, ptr %9882, align 4, !tbaa !5
  %9884 = call ptr @strerror(i32 noundef %9883) #10
  %9885 = call ptr @__errno_location() #11
  %9886 = load i32, ptr %9885, align 4, !tbaa !5
  %9887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9874, ptr noundef @.str.11, i32 noundef %9875, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 339, ptr noundef %9878, ptr noundef %9881, ptr noundef %9884, i32 noundef %9886) #10
  br label %9888

9888:                                             ; preds = %9871, %9854
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #10
  br label %9889

9889:                                             ; preds = %9888
  br label %9890

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

9891:                                             ; No predecessors!
  br label %9892

9892:                                             ; preds = %9891
  br label %9893

9893:                                             ; preds = %9892, %9835
  br label %9894

9894:                                             ; preds = %9893
  br label %9895

9895:                                             ; preds = %9894
  br label %9896

9896:                                             ; preds = %9895
  %9897 = load i32, ptr @test_count, align 4, !tbaa !5
  %9898 = add nsw i32 %9897, 1
  store i32 %9898, ptr @test_count, align 4, !tbaa !5
  %9899 = load ptr, ptr %199, align 8, !tbaa !9
  %9900 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %203, ptr noundef %205, ptr noundef %9899)
  %9901 = icmp eq i32 %9900, -1
  br i1 %9901, label %9902, label %9955

9902:                                             ; preds = %9896
  br label %9903

9903:                                             ; preds = %9902
  br label %9904

9904:                                             ; preds = %9903
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #10
  %9905 = call ptr @__errno_location() #11
  %9906 = load i32, ptr %9905, align 4, !tbaa !5
  store i32 %9906, ptr %207, align 4, !tbaa !5
  %9907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9908 = call i32 @s2n_print_stacktrace(ptr noundef %9907)
  %9909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9910 = trunc i8 %9909 to i1
  br i1 %9910, label %9911, label %9933

9911:                                             ; preds = %9904
  %9912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9913 = call i32 @fileno(ptr noundef %9912) #10
  %9914 = call i32 @isatty(i32 noundef %9913) #10
  %9915 = icmp ne i32 %9914, 0
  br i1 %9915, label %9916, label %9933

9916:                                             ; preds = %9911
  %9917 = load i32, ptr %207, align 4, !tbaa !5
  %9918 = call ptr @__errno_location() #11
  store i32 %9917, ptr %9918, align 4, !tbaa !5
  %9919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9920 = load i32, ptr @test_count, align 4, !tbaa !5
  %9921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9922 = load i32, ptr %9921, align 4, !tbaa !5
  %9923 = call ptr @s2n_strerror(i32 noundef %9922, ptr noundef @.str.10)
  %9924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9925 = load i32, ptr %9924, align 4, !tbaa !5
  %9926 = call ptr @s2n_strerror_debug(i32 noundef %9925, ptr noundef @.str.10)
  %9927 = call ptr @__errno_location() #11
  %9928 = load i32, ptr %9927, align 4, !tbaa !5
  %9929 = call ptr @strerror(i32 noundef %9928) #10
  %9930 = call ptr @__errno_location() #11
  %9931 = load i32, ptr %9930, align 4, !tbaa !5
  %9932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9919, ptr noundef @.str.8, i32 noundef %9920, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 340, ptr noundef %9923, ptr noundef %9926, ptr noundef %9929, i32 noundef %9931) #10
  br label %9950

9933:                                             ; preds = %9911, %9904
  %9934 = load i32, ptr %207, align 4, !tbaa !5
  %9935 = call ptr @__errno_location() #11
  store i32 %9934, ptr %9935, align 4, !tbaa !5
  %9936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9937 = load i32, ptr @test_count, align 4, !tbaa !5
  %9938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9939 = load i32, ptr %9938, align 4, !tbaa !5
  %9940 = call ptr @s2n_strerror(i32 noundef %9939, ptr noundef @.str.10)
  %9941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9942 = load i32, ptr %9941, align 4, !tbaa !5
  %9943 = call ptr @s2n_strerror_debug(i32 noundef %9942, ptr noundef @.str.10)
  %9944 = call ptr @__errno_location() #11
  %9945 = load i32, ptr %9944, align 4, !tbaa !5
  %9946 = call ptr @strerror(i32 noundef %9945) #10
  %9947 = call ptr @__errno_location() #11
  %9948 = load i32, ptr %9947, align 4, !tbaa !5
  %9949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9936, ptr noundef @.str.11, i32 noundef %9937, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 340, ptr noundef %9940, ptr noundef %9943, ptr noundef %9946, i32 noundef %9948) #10
  br label %9950

9950:                                             ; preds = %9933, %9916
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #10
  br label %9951

9951:                                             ; preds = %9950
  br label %9952

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

9953:                                             ; No predecessors!
  br label %9954

9954:                                             ; preds = %9953
  br label %9955

9955:                                             ; preds = %9954, %9896
  br label %9956

9956:                                             ; preds = %9955
  br label %9957

9957:                                             ; preds = %9956
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #10
  store i32 0, ptr %208, align 4, !tbaa !5
  br label %9958

9958:                                             ; preds = %9957
  br label %9959

9959:                                             ; preds = %9958
  br label %9960

9960:                                             ; preds = %9959
  %9961 = load i32, ptr @test_count, align 4, !tbaa !5
  %9962 = add nsw i32 %9961, 1
  store i32 %9962, ptr @test_count, align 4, !tbaa !5
  %9963 = load ptr, ptr %199, align 8, !tbaa !9
  %9964 = call i32 @s2n_shutdown(ptr noundef %9963, ptr noundef %208)
  %9965 = icmp eq i32 %9964, -1
  br i1 %9965, label %10019, label %9966

9966:                                             ; preds = %9960
  br label %9967

9967:                                             ; preds = %9966
  br label %9968

9968:                                             ; preds = %9967
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #10
  %9969 = call ptr @__errno_location() #11
  %9970 = load i32, ptr %9969, align 4, !tbaa !5
  store i32 %9970, ptr %209, align 4, !tbaa !5
  %9971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9972 = call i32 @s2n_print_stacktrace(ptr noundef %9971)
  %9973 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9974 = trunc i8 %9973 to i1
  br i1 %9974, label %9975, label %9997

9975:                                             ; preds = %9968
  %9976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9977 = call i32 @fileno(ptr noundef %9976) #10
  %9978 = call i32 @isatty(i32 noundef %9977) #10
  %9979 = icmp ne i32 %9978, 0
  br i1 %9979, label %9980, label %9997

9980:                                             ; preds = %9975
  %9981 = load i32, ptr %209, align 4, !tbaa !5
  %9982 = call ptr @__errno_location() #11
  store i32 %9981, ptr %9982, align 4, !tbaa !5
  %9983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9984 = load i32, ptr @test_count, align 4, !tbaa !5
  %9985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9986 = load i32, ptr %9985, align 4, !tbaa !5
  %9987 = call ptr @s2n_strerror(i32 noundef %9986, ptr noundef @.str.10)
  %9988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9989 = load i32, ptr %9988, align 4, !tbaa !5
  %9990 = call ptr @s2n_strerror_debug(i32 noundef %9989, ptr noundef @.str.10)
  %9991 = call ptr @__errno_location() #11
  %9992 = load i32, ptr %9991, align 4, !tbaa !5
  %9993 = call ptr @strerror(i32 noundef %9992) #10
  %9994 = call ptr @__errno_location() #11
  %9995 = load i32, ptr %9994, align 4, !tbaa !5
  %9996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9983, ptr noundef @.str.8, i32 noundef %9984, ptr noundef @.str.42, ptr noundef @.str.7, i32 noundef 343, ptr noundef %9987, ptr noundef %9990, ptr noundef %9993, i32 noundef %9995) #10
  br label %10014

9997:                                             ; preds = %9975, %9968
  %9998 = load i32, ptr %209, align 4, !tbaa !5
  %9999 = call ptr @__errno_location() #11
  store i32 %9998, ptr %9999, align 4, !tbaa !5
  %10000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10001 = load i32, ptr @test_count, align 4, !tbaa !5
  %10002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10003 = load i32, ptr %10002, align 4, !tbaa !5
  %10004 = call ptr @s2n_strerror(i32 noundef %10003, ptr noundef @.str.10)
  %10005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10006 = load i32, ptr %10005, align 4, !tbaa !5
  %10007 = call ptr @s2n_strerror_debug(i32 noundef %10006, ptr noundef @.str.10)
  %10008 = call ptr @__errno_location() #11
  %10009 = load i32, ptr %10008, align 4, !tbaa !5
  %10010 = call ptr @strerror(i32 noundef %10009) #10
  %10011 = call ptr @__errno_location() #11
  %10012 = load i32, ptr %10011, align 4, !tbaa !5
  %10013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10000, ptr noundef @.str.11, i32 noundef %10001, ptr noundef @.str.42, ptr noundef @.str.7, i32 noundef 343, ptr noundef %10004, ptr noundef %10007, ptr noundef %10010, i32 noundef %10012) #10
  br label %10014

10014:                                            ; preds = %9997, %9980
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #10
  br label %10015

10015:                                            ; preds = %10014
  br label %10016

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

10017:                                            ; No predecessors!
  br label %10018

10018:                                            ; preds = %10017
  br label %10019

10019:                                            ; preds = %10018, %9960
  br label %10020

10020:                                            ; preds = %10019
  br label %10021

10021:                                            ; preds = %10020
  br label %10022

10022:                                            ; preds = %10021
  %10023 = load i32, ptr @test_count, align 4, !tbaa !5
  %10024 = add nsw i32 %10023, 1
  store i32 %10024, ptr @test_count, align 4, !tbaa !5
  %10025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10026 = load i32, ptr %10025, align 4, !tbaa !5
  %10027 = icmp eq i32 %10026, 201326592
  br i1 %10027, label %10081, label %10028

10028:                                            ; preds = %10022
  br label %10029

10029:                                            ; preds = %10028
  br label %10030

10030:                                            ; preds = %10029
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #10
  %10031 = call ptr @__errno_location() #11
  %10032 = load i32, ptr %10031, align 4, !tbaa !5
  store i32 %10032, ptr %210, align 4, !tbaa !5
  %10033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10034 = call i32 @s2n_print_stacktrace(ptr noundef %10033)
  %10035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10036 = trunc i8 %10035 to i1
  br i1 %10036, label %10037, label %10059

10037:                                            ; preds = %10030
  %10038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10039 = call i32 @fileno(ptr noundef %10038) #10
  %10040 = call i32 @isatty(i32 noundef %10039) #10
  %10041 = icmp ne i32 %10040, 0
  br i1 %10041, label %10042, label %10059

10042:                                            ; preds = %10037
  %10043 = load i32, ptr %210, align 4, !tbaa !5
  %10044 = call ptr @__errno_location() #11
  store i32 %10043, ptr %10044, align 4, !tbaa !5
  %10045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10046 = load i32, ptr @test_count, align 4, !tbaa !5
  %10047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10048 = load i32, ptr %10047, align 4, !tbaa !5
  %10049 = call ptr @s2n_strerror(i32 noundef %10048, ptr noundef @.str.10)
  %10050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10051 = load i32, ptr %10050, align 4, !tbaa !5
  %10052 = call ptr @s2n_strerror_debug(i32 noundef %10051, ptr noundef @.str.10)
  %10053 = call ptr @__errno_location() #11
  %10054 = load i32, ptr %10053, align 4, !tbaa !5
  %10055 = call ptr @strerror(i32 noundef %10054) #10
  %10056 = call ptr @__errno_location() #11
  %10057 = load i32, ptr %10056, align 4, !tbaa !5
  %10058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10045, ptr noundef @.str.8, i32 noundef %10046, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 343, ptr noundef %10049, ptr noundef %10052, ptr noundef %10055, i32 noundef %10057) #10
  br label %10076

10059:                                            ; preds = %10037, %10030
  %10060 = load i32, ptr %210, align 4, !tbaa !5
  %10061 = call ptr @__errno_location() #11
  store i32 %10060, ptr %10061, align 4, !tbaa !5
  %10062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10063 = load i32, ptr @test_count, align 4, !tbaa !5
  %10064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10065 = load i32, ptr %10064, align 4, !tbaa !5
  %10066 = call ptr @s2n_strerror(i32 noundef %10065, ptr noundef @.str.10)
  %10067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10068 = load i32, ptr %10067, align 4, !tbaa !5
  %10069 = call ptr @s2n_strerror_debug(i32 noundef %10068, ptr noundef @.str.10)
  %10070 = call ptr @__errno_location() #11
  %10071 = load i32, ptr %10070, align 4, !tbaa !5
  %10072 = call ptr @strerror(i32 noundef %10071) #10
  %10073 = call ptr @__errno_location() #11
  %10074 = load i32, ptr %10073, align 4, !tbaa !5
  %10075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10062, ptr noundef @.str.11, i32 noundef %10063, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 343, ptr noundef %10066, ptr noundef %10069, ptr noundef %10072, i32 noundef %10074) #10
  br label %10076

10076:                                            ; preds = %10059, %10042
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #10
  br label %10077

10077:                                            ; preds = %10076
  br label %10078

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

10079:                                            ; No predecessors!
  br label %10080

10080:                                            ; preds = %10079
  br label %10081

10081:                                            ; preds = %10080, %10022
  br label %10082

10082:                                            ; preds = %10081
  br label %10083

10083:                                            ; preds = %10082
  br label %10084

10084:                                            ; preds = %10083
  %10085 = load i32, ptr @test_count, align 4, !tbaa !5
  %10086 = add nsw i32 %10085, 1
  store i32 %10086, ptr @test_count, align 4, !tbaa !5
  %10087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10088 = load i32, ptr %10087, align 4, !tbaa !5
  %10089 = call ptr @s2n_strerror_debug(i32 noundef %10088, ptr noundef @.str.10)
  %10090 = icmp eq ptr %10089, null
  br i1 %10090, label %10091, label %10144

10091:                                            ; preds = %10084
  br label %10092

10092:                                            ; preds = %10091
  br label %10093

10093:                                            ; preds = %10092
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #10
  %10094 = call ptr @__errno_location() #11
  %10095 = load i32, ptr %10094, align 4, !tbaa !5
  store i32 %10095, ptr %211, align 4, !tbaa !5
  %10096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10097 = call i32 @s2n_print_stacktrace(ptr noundef %10096)
  %10098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10099 = trunc i8 %10098 to i1
  br i1 %10099, label %10100, label %10122

10100:                                            ; preds = %10093
  %10101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10102 = call i32 @fileno(ptr noundef %10101) #10
  %10103 = call i32 @isatty(i32 noundef %10102) #10
  %10104 = icmp ne i32 %10103, 0
  br i1 %10104, label %10105, label %10122

10105:                                            ; preds = %10100
  %10106 = load i32, ptr %211, align 4, !tbaa !5
  %10107 = call ptr @__errno_location() #11
  store i32 %10106, ptr %10107, align 4, !tbaa !5
  %10108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10109 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10111, ptr noundef @.str.10)
  %10113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10114 = load i32, ptr %10113, align 4, !tbaa !5
  %10115 = call ptr @s2n_strerror_debug(i32 noundef %10114, ptr noundef @.str.10)
  %10116 = call ptr @__errno_location() #11
  %10117 = load i32, ptr %10116, align 4, !tbaa !5
  %10118 = call ptr @strerror(i32 noundef %10117) #10
  %10119 = call ptr @__errno_location() #11
  %10120 = load i32, ptr %10119, align 4, !tbaa !5
  %10121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10108, ptr noundef @.str.8, i32 noundef %10109, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 343, ptr noundef %10112, ptr noundef %10115, ptr noundef %10118, i32 noundef %10120) #10
  br label %10139

10122:                                            ; preds = %10100, %10093
  %10123 = load i32, ptr %211, align 4, !tbaa !5
  %10124 = call ptr @__errno_location() #11
  store i32 %10123, ptr %10124, align 4, !tbaa !5
  %10125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10126 = load i32, ptr @test_count, align 4, !tbaa !5
  %10127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10128 = load i32, ptr %10127, align 4, !tbaa !5
  %10129 = call ptr @s2n_strerror(i32 noundef %10128, ptr noundef @.str.10)
  %10130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10131 = load i32, ptr %10130, align 4, !tbaa !5
  %10132 = call ptr @s2n_strerror_debug(i32 noundef %10131, ptr noundef @.str.10)
  %10133 = call ptr @__errno_location() #11
  %10134 = load i32, ptr %10133, align 4, !tbaa !5
  %10135 = call ptr @strerror(i32 noundef %10134) #10
  %10136 = call ptr @__errno_location() #11
  %10137 = load i32, ptr %10136, align 4, !tbaa !5
  %10138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10125, ptr noundef @.str.11, i32 noundef %10126, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 343, ptr noundef %10129, ptr noundef %10132, ptr noundef %10135, i32 noundef %10137) #10
  br label %10139

10139:                                            ; preds = %10122, %10105
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #10
  br label %10140

10140:                                            ; preds = %10139
  br label %10141

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

10142:                                            ; No predecessors!
  br label %10143

10143:                                            ; preds = %10142
  br label %10144

10144:                                            ; preds = %10143, %10084
  br label %10145

10145:                                            ; preds = %10144
  br label %10146

10146:                                            ; preds = %10145
  br label %10147

10147:                                            ; preds = %10146
  br label %10148

10148:                                            ; preds = %10147
  br label %10149

10149:                                            ; preds = %10148
  %10150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10150, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10151 = call ptr @__errno_location() #11
  store i32 0, ptr %10151, align 4, !tbaa !5
  br label %10152

10152:                                            ; preds = %10149
  br label %10153

10153:                                            ; preds = %10152
  br label %10154

10154:                                            ; preds = %10153
  br label %10155

10155:                                            ; preds = %10154
  br label %10156

10156:                                            ; preds = %10155
  %10157 = load i32, ptr @test_count, align 4, !tbaa !5
  %10158 = add nsw i32 %10157, 1
  store i32 %10158, ptr @test_count, align 4, !tbaa !5
  %10159 = load i32, ptr %208, align 4, !tbaa !5
  %10160 = icmp eq i32 %10159, 1
  br i1 %10160, label %10214, label %10161

10161:                                            ; preds = %10156
  br label %10162

10162:                                            ; preds = %10161
  br label %10163

10163:                                            ; preds = %10162
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #10
  %10164 = call ptr @__errno_location() #11
  %10165 = load i32, ptr %10164, align 4, !tbaa !5
  store i32 %10165, ptr %212, align 4, !tbaa !5
  %10166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10167 = call i32 @s2n_print_stacktrace(ptr noundef %10166)
  %10168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10169 = trunc i8 %10168 to i1
  br i1 %10169, label %10170, label %10192

10170:                                            ; preds = %10163
  %10171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10172 = call i32 @fileno(ptr noundef %10171) #10
  %10173 = call i32 @isatty(i32 noundef %10172) #10
  %10174 = icmp ne i32 %10173, 0
  br i1 %10174, label %10175, label %10192

10175:                                            ; preds = %10170
  %10176 = load i32, ptr %212, align 4, !tbaa !5
  %10177 = call ptr @__errno_location() #11
  store i32 %10176, ptr %10177, align 4, !tbaa !5
  %10178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10179 = load i32, ptr @test_count, align 4, !tbaa !5
  %10180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10181 = load i32, ptr %10180, align 4, !tbaa !5
  %10182 = call ptr @s2n_strerror(i32 noundef %10181, ptr noundef @.str.10)
  %10183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10184 = load i32, ptr %10183, align 4, !tbaa !5
  %10185 = call ptr @s2n_strerror_debug(i32 noundef %10184, ptr noundef @.str.10)
  %10186 = call ptr @__errno_location() #11
  %10187 = load i32, ptr %10186, align 4, !tbaa !5
  %10188 = call ptr @strerror(i32 noundef %10187) #10
  %10189 = call ptr @__errno_location() #11
  %10190 = load i32, ptr %10189, align 4, !tbaa !5
  %10191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10178, ptr noundef @.str.8, i32 noundef %10179, ptr noundef @.str.45, ptr noundef @.str.7, i32 noundef 344, ptr noundef %10182, ptr noundef %10185, ptr noundef %10188, i32 noundef %10190) #10
  br label %10209

10192:                                            ; preds = %10170, %10163
  %10193 = load i32, ptr %212, align 4, !tbaa !5
  %10194 = call ptr @__errno_location() #11
  store i32 %10193, ptr %10194, align 4, !tbaa !5
  %10195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10196 = load i32, ptr @test_count, align 4, !tbaa !5
  %10197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10198 = load i32, ptr %10197, align 4, !tbaa !5
  %10199 = call ptr @s2n_strerror(i32 noundef %10198, ptr noundef @.str.10)
  %10200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10201 = load i32, ptr %10200, align 4, !tbaa !5
  %10202 = call ptr @s2n_strerror_debug(i32 noundef %10201, ptr noundef @.str.10)
  %10203 = call ptr @__errno_location() #11
  %10204 = load i32, ptr %10203, align 4, !tbaa !5
  %10205 = call ptr @strerror(i32 noundef %10204) #10
  %10206 = call ptr @__errno_location() #11
  %10207 = load i32, ptr %10206, align 4, !tbaa !5
  %10208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10195, ptr noundef @.str.11, i32 noundef %10196, ptr noundef @.str.45, ptr noundef @.str.7, i32 noundef 344, ptr noundef %10199, ptr noundef %10202, ptr noundef %10205, i32 noundef %10207) #10
  br label %10209

10209:                                            ; preds = %10192, %10175
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #10
  br label %10210

10210:                                            ; preds = %10209
  br label %10211

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

10212:                                            ; No predecessors!
  br label %10213

10213:                                            ; preds = %10212
  br label %10214

10214:                                            ; preds = %10213, %10156
  br label %10215

10215:                                            ; preds = %10214
  br label %10216

10216:                                            ; preds = %10215
  br label %10217

10217:                                            ; preds = %10216
  %10218 = load i32, ptr @test_count, align 4, !tbaa !5
  %10219 = add nsw i32 %10218, 1
  store i32 %10219, ptr @test_count, align 4, !tbaa !5
  %10220 = load ptr, ptr %199, align 8, !tbaa !9
  %10221 = getelementptr inbounds %struct.s2n_connection, ptr %10220, i32 0, i32 49
  %10222 = load i8, ptr %10221, align 1, !tbaa !16, !range !13, !noundef !14
  %10223 = trunc i8 %10222 to i1
  br i1 %10223, label %10277, label %10224

10224:                                            ; preds = %10217
  br label %10225

10225:                                            ; preds = %10224
  br label %10226

10226:                                            ; preds = %10225
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #10
  %10227 = call ptr @__errno_location() #11
  %10228 = load i32, ptr %10227, align 4, !tbaa !5
  store i32 %10228, ptr %213, align 4, !tbaa !5
  %10229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10230 = call i32 @s2n_print_stacktrace(ptr noundef %10229)
  %10231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10232 = trunc i8 %10231 to i1
  br i1 %10232, label %10233, label %10255

10233:                                            ; preds = %10226
  %10234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10235 = call i32 @fileno(ptr noundef %10234) #10
  %10236 = call i32 @isatty(i32 noundef %10235) #10
  %10237 = icmp ne i32 %10236, 0
  br i1 %10237, label %10238, label %10255

10238:                                            ; preds = %10233
  %10239 = load i32, ptr %213, align 4, !tbaa !5
  %10240 = call ptr @__errno_location() #11
  store i32 %10239, ptr %10240, align 4, !tbaa !5
  %10241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10242 = load i32, ptr @test_count, align 4, !tbaa !5
  %10243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10244 = load i32, ptr %10243, align 4, !tbaa !5
  %10245 = call ptr @s2n_strerror(i32 noundef %10244, ptr noundef @.str.10)
  %10246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10247 = load i32, ptr %10246, align 4, !tbaa !5
  %10248 = call ptr @s2n_strerror_debug(i32 noundef %10247, ptr noundef @.str.10)
  %10249 = call ptr @__errno_location() #11
  %10250 = load i32, ptr %10249, align 4, !tbaa !5
  %10251 = call ptr @strerror(i32 noundef %10250) #10
  %10252 = call ptr @__errno_location() #11
  %10253 = load i32, ptr %10252, align 4, !tbaa !5
  %10254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10241, ptr noundef @.str.8, i32 noundef %10242, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 345, ptr noundef %10245, ptr noundef %10248, ptr noundef %10251, i32 noundef %10253) #10
  br label %10272

10255:                                            ; preds = %10233, %10226
  %10256 = load i32, ptr %213, align 4, !tbaa !5
  %10257 = call ptr @__errno_location() #11
  store i32 %10256, ptr %10257, align 4, !tbaa !5
  %10258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10259 = load i32, ptr @test_count, align 4, !tbaa !5
  %10260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10261 = load i32, ptr %10260, align 4, !tbaa !5
  %10262 = call ptr @s2n_strerror(i32 noundef %10261, ptr noundef @.str.10)
  %10263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10264 = load i32, ptr %10263, align 4, !tbaa !5
  %10265 = call ptr @s2n_strerror_debug(i32 noundef %10264, ptr noundef @.str.10)
  %10266 = call ptr @__errno_location() #11
  %10267 = load i32, ptr %10266, align 4, !tbaa !5
  %10268 = call ptr @strerror(i32 noundef %10267) #10
  %10269 = call ptr @__errno_location() #11
  %10270 = load i32, ptr %10269, align 4, !tbaa !5
  %10271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10258, ptr noundef @.str.11, i32 noundef %10259, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 345, ptr noundef %10262, ptr noundef %10265, ptr noundef %10268, i32 noundef %10270) #10
  br label %10272

10272:                                            ; preds = %10255, %10238
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #10
  br label %10273

10273:                                            ; preds = %10272
  br label %10274

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

10275:                                            ; No predecessors!
  br label %10276

10276:                                            ; preds = %10275
  br label %10277

10277:                                            ; preds = %10276, %10217
  br label %10278

10278:                                            ; preds = %10277
  br label %10279

10279:                                            ; preds = %10278
  call void @llvm.lifetime.start.p0(i64 6, ptr %214) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %214, ptr align 1 @__const.main.record_bytes, i64 6, i1 false)
  br label %10280

10280:                                            ; preds = %10279
  %10281 = load i32, ptr @test_count, align 4, !tbaa !5
  %10282 = add nsw i32 %10281, 1
  store i32 %10282, ptr @test_count, align 4, !tbaa !5
  %10283 = getelementptr inbounds [6 x i8], ptr %214, i64 0, i64 0
  %10284 = call i32 @s2n_stuffer_write_bytes(ptr noundef %203, ptr noundef %10283, i32 noundef 6)
  %10285 = icmp eq i32 %10284, -1
  br i1 %10285, label %10286, label %10339

10286:                                            ; preds = %10280
  br label %10287

10287:                                            ; preds = %10286
  br label %10288

10288:                                            ; preds = %10287
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #10
  %10289 = call ptr @__errno_location() #11
  %10290 = load i32, ptr %10289, align 4, !tbaa !5
  store i32 %10290, ptr %215, align 4, !tbaa !5
  %10291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10292 = call i32 @s2n_print_stacktrace(ptr noundef %10291)
  %10293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10294 = trunc i8 %10293 to i1
  br i1 %10294, label %10295, label %10317

10295:                                            ; preds = %10288
  %10296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10297 = call i32 @fileno(ptr noundef %10296) #10
  %10298 = call i32 @isatty(i32 noundef %10297) #10
  %10299 = icmp ne i32 %10298, 0
  br i1 %10299, label %10300, label %10317

10300:                                            ; preds = %10295
  %10301 = load i32, ptr %215, align 4, !tbaa !5
  %10302 = call ptr @__errno_location() #11
  store i32 %10301, ptr %10302, align 4, !tbaa !5
  %10303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10304 = load i32, ptr @test_count, align 4, !tbaa !5
  %10305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10306 = load i32, ptr %10305, align 4, !tbaa !5
  %10307 = call ptr @s2n_strerror(i32 noundef %10306, ptr noundef @.str.10)
  %10308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10309 = load i32, ptr %10308, align 4, !tbaa !5
  %10310 = call ptr @s2n_strerror_debug(i32 noundef %10309, ptr noundef @.str.10)
  %10311 = call ptr @__errno_location() #11
  %10312 = load i32, ptr %10311, align 4, !tbaa !5
  %10313 = call ptr @strerror(i32 noundef %10312) #10
  %10314 = call ptr @__errno_location() #11
  %10315 = load i32, ptr %10314, align 4, !tbaa !5
  %10316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10303, ptr noundef @.str.8, i32 noundef %10304, ptr noundef @.str.66, ptr noundef @.str.7, i32 noundef 360, ptr noundef %10307, ptr noundef %10310, ptr noundef %10313, i32 noundef %10315) #10
  br label %10334

10317:                                            ; preds = %10295, %10288
  %10318 = load i32, ptr %215, align 4, !tbaa !5
  %10319 = call ptr @__errno_location() #11
  store i32 %10318, ptr %10319, align 4, !tbaa !5
  %10320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10321 = load i32, ptr @test_count, align 4, !tbaa !5
  %10322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10323 = load i32, ptr %10322, align 4, !tbaa !5
  %10324 = call ptr @s2n_strerror(i32 noundef %10323, ptr noundef @.str.10)
  %10325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10326 = load i32, ptr %10325, align 4, !tbaa !5
  %10327 = call ptr @s2n_strerror_debug(i32 noundef %10326, ptr noundef @.str.10)
  %10328 = call ptr @__errno_location() #11
  %10329 = load i32, ptr %10328, align 4, !tbaa !5
  %10330 = call ptr @strerror(i32 noundef %10329) #10
  %10331 = call ptr @__errno_location() #11
  %10332 = load i32, ptr %10331, align 4, !tbaa !5
  %10333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10320, ptr noundef @.str.11, i32 noundef %10321, ptr noundef @.str.66, ptr noundef @.str.7, i32 noundef 360, ptr noundef %10324, ptr noundef %10327, ptr noundef %10330, i32 noundef %10332) #10
  br label %10334

10334:                                            ; preds = %10317, %10300
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #10
  br label %10335

10335:                                            ; preds = %10334
  br label %10336

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

10337:                                            ; No predecessors!
  br label %10338

10338:                                            ; preds = %10337
  br label %10339

10339:                                            ; preds = %10338, %10280
  br label %10340

10340:                                            ; preds = %10339
  br label %10341

10341:                                            ; preds = %10340
  br label %10342

10342:                                            ; preds = %10341
  br label %10343

10343:                                            ; preds = %10342
  br label %10344

10344:                                            ; preds = %10343
  %10345 = load i32, ptr @test_count, align 4, !tbaa !5
  %10346 = add nsw i32 %10345, 1
  store i32 %10346, ptr @test_count, align 4, !tbaa !5
  %10347 = load ptr, ptr %199, align 8, !tbaa !9
  %10348 = call i32 @s2n_shutdown(ptr noundef %10347, ptr noundef %208)
  %10349 = icmp eq i32 %10348, -1
  br i1 %10349, label %10403, label %10350

10350:                                            ; preds = %10344
  br label %10351

10351:                                            ; preds = %10350
  br label %10352

10352:                                            ; preds = %10351
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #10
  %10353 = call ptr @__errno_location() #11
  %10354 = load i32, ptr %10353, align 4, !tbaa !5
  store i32 %10354, ptr %216, align 4, !tbaa !5
  %10355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10356 = call i32 @s2n_print_stacktrace(ptr noundef %10355)
  %10357 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10358 = trunc i8 %10357 to i1
  br i1 %10358, label %10359, label %10381

10359:                                            ; preds = %10352
  %10360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10361 = call i32 @fileno(ptr noundef %10360) #10
  %10362 = call i32 @isatty(i32 noundef %10361) #10
  %10363 = icmp ne i32 %10362, 0
  br i1 %10363, label %10364, label %10381

10364:                                            ; preds = %10359
  %10365 = load i32, ptr %216, align 4, !tbaa !5
  %10366 = call ptr @__errno_location() #11
  store i32 %10365, ptr %10366, align 4, !tbaa !5
  %10367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10368 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10370, ptr noundef @.str.10)
  %10372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10373 = load i32, ptr %10372, align 4, !tbaa !5
  %10374 = call ptr @s2n_strerror_debug(i32 noundef %10373, ptr noundef @.str.10)
  %10375 = call ptr @__errno_location() #11
  %10376 = load i32, ptr %10375, align 4, !tbaa !5
  %10377 = call ptr @strerror(i32 noundef %10376) #10
  %10378 = call ptr @__errno_location() #11
  %10379 = load i32, ptr %10378, align 4, !tbaa !5
  %10380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10367, ptr noundef @.str.8, i32 noundef %10368, ptr noundef @.str.42, ptr noundef @.str.7, i32 noundef 361, ptr noundef %10371, ptr noundef %10374, ptr noundef %10377, i32 noundef %10379) #10
  br label %10398

10381:                                            ; preds = %10359, %10352
  %10382 = load i32, ptr %216, align 4, !tbaa !5
  %10383 = call ptr @__errno_location() #11
  store i32 %10382, ptr %10383, align 4, !tbaa !5
  %10384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10385 = load i32, ptr @test_count, align 4, !tbaa !5
  %10386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10387 = load i32, ptr %10386, align 4, !tbaa !5
  %10388 = call ptr @s2n_strerror(i32 noundef %10387, ptr noundef @.str.10)
  %10389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10390 = load i32, ptr %10389, align 4, !tbaa !5
  %10391 = call ptr @s2n_strerror_debug(i32 noundef %10390, ptr noundef @.str.10)
  %10392 = call ptr @__errno_location() #11
  %10393 = load i32, ptr %10392, align 4, !tbaa !5
  %10394 = call ptr @strerror(i32 noundef %10393) #10
  %10395 = call ptr @__errno_location() #11
  %10396 = load i32, ptr %10395, align 4, !tbaa !5
  %10397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10384, ptr noundef @.str.11, i32 noundef %10385, ptr noundef @.str.42, ptr noundef @.str.7, i32 noundef 361, ptr noundef %10388, ptr noundef %10391, ptr noundef %10394, i32 noundef %10396) #10
  br label %10398

10398:                                            ; preds = %10381, %10364
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #10
  br label %10399

10399:                                            ; preds = %10398
  br label %10400

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

10401:                                            ; No predecessors!
  br label %10402

10402:                                            ; preds = %10401
  br label %10403

10403:                                            ; preds = %10402, %10344
  br label %10404

10404:                                            ; preds = %10403
  br label %10405

10405:                                            ; preds = %10404
  br label %10406

10406:                                            ; preds = %10405
  %10407 = load i32, ptr @test_count, align 4, !tbaa !5
  %10408 = add nsw i32 %10407, 1
  store i32 %10408, ptr @test_count, align 4, !tbaa !5
  %10409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10410 = load i32, ptr %10409, align 4, !tbaa !5
  %10411 = icmp eq i32 %10410, 201326592
  br i1 %10411, label %10465, label %10412

10412:                                            ; preds = %10406
  br label %10413

10413:                                            ; preds = %10412
  br label %10414

10414:                                            ; preds = %10413
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #10
  %10415 = call ptr @__errno_location() #11
  %10416 = load i32, ptr %10415, align 4, !tbaa !5
  store i32 %10416, ptr %217, align 4, !tbaa !5
  %10417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10418 = call i32 @s2n_print_stacktrace(ptr noundef %10417)
  %10419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10420 = trunc i8 %10419 to i1
  br i1 %10420, label %10421, label %10443

10421:                                            ; preds = %10414
  %10422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10423 = call i32 @fileno(ptr noundef %10422) #10
  %10424 = call i32 @isatty(i32 noundef %10423) #10
  %10425 = icmp ne i32 %10424, 0
  br i1 %10425, label %10426, label %10443

10426:                                            ; preds = %10421
  %10427 = load i32, ptr %217, align 4, !tbaa !5
  %10428 = call ptr @__errno_location() #11
  store i32 %10427, ptr %10428, align 4, !tbaa !5
  %10429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10430 = load i32, ptr @test_count, align 4, !tbaa !5
  %10431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10432 = load i32, ptr %10431, align 4, !tbaa !5
  %10433 = call ptr @s2n_strerror(i32 noundef %10432, ptr noundef @.str.10)
  %10434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10435 = load i32, ptr %10434, align 4, !tbaa !5
  %10436 = call ptr @s2n_strerror_debug(i32 noundef %10435, ptr noundef @.str.10)
  %10437 = call ptr @__errno_location() #11
  %10438 = load i32, ptr %10437, align 4, !tbaa !5
  %10439 = call ptr @strerror(i32 noundef %10438) #10
  %10440 = call ptr @__errno_location() #11
  %10441 = load i32, ptr %10440, align 4, !tbaa !5
  %10442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10429, ptr noundef @.str.8, i32 noundef %10430, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 361, ptr noundef %10433, ptr noundef %10436, ptr noundef %10439, i32 noundef %10441) #10
  br label %10460

10443:                                            ; preds = %10421, %10414
  %10444 = load i32, ptr %217, align 4, !tbaa !5
  %10445 = call ptr @__errno_location() #11
  store i32 %10444, ptr %10445, align 4, !tbaa !5
  %10446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10447 = load i32, ptr @test_count, align 4, !tbaa !5
  %10448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10449 = load i32, ptr %10448, align 4, !tbaa !5
  %10450 = call ptr @s2n_strerror(i32 noundef %10449, ptr noundef @.str.10)
  %10451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10452 = load i32, ptr %10451, align 4, !tbaa !5
  %10453 = call ptr @s2n_strerror_debug(i32 noundef %10452, ptr noundef @.str.10)
  %10454 = call ptr @__errno_location() #11
  %10455 = load i32, ptr %10454, align 4, !tbaa !5
  %10456 = call ptr @strerror(i32 noundef %10455) #10
  %10457 = call ptr @__errno_location() #11
  %10458 = load i32, ptr %10457, align 4, !tbaa !5
  %10459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10446, ptr noundef @.str.11, i32 noundef %10447, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 361, ptr noundef %10450, ptr noundef %10453, ptr noundef %10456, i32 noundef %10458) #10
  br label %10460

10460:                                            ; preds = %10443, %10426
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #10
  br label %10461

10461:                                            ; preds = %10460
  br label %10462

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

10463:                                            ; No predecessors!
  br label %10464

10464:                                            ; preds = %10463
  br label %10465

10465:                                            ; preds = %10464, %10406
  br label %10466

10466:                                            ; preds = %10465
  br label %10467

10467:                                            ; preds = %10466
  br label %10468

10468:                                            ; preds = %10467
  %10469 = load i32, ptr @test_count, align 4, !tbaa !5
  %10470 = add nsw i32 %10469, 1
  store i32 %10470, 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_debug(i32 noundef %10472, ptr noundef @.str.10)
  %10474 = icmp eq ptr %10473, null
  br i1 %10474, label %10475, label %10528

10475:                                            ; preds = %10468
  br label %10476

10476:                                            ; preds = %10475
  br label %10477

10477:                                            ; preds = %10476
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #10
  %10478 = call ptr @__errno_location() #11
  %10479 = load i32, ptr %10478, align 4, !tbaa !5
  store i32 %10479, ptr %218, align 4, !tbaa !5
  %10480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10481 = call i32 @s2n_print_stacktrace(ptr noundef %10480)
  %10482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10483 = trunc i8 %10482 to i1
  br i1 %10483, label %10484, label %10506

10484:                                            ; preds = %10477
  %10485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10486 = call i32 @fileno(ptr noundef %10485) #10
  %10487 = call i32 @isatty(i32 noundef %10486) #10
  %10488 = icmp ne i32 %10487, 0
  br i1 %10488, label %10489, label %10506

10489:                                            ; preds = %10484
  %10490 = load i32, ptr %218, align 4, !tbaa !5
  %10491 = call ptr @__errno_location() #11
  store i32 %10490, ptr %10491, align 4, !tbaa !5
  %10492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10493 = load i32, ptr @test_count, align 4, !tbaa !5
  %10494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10495 = load i32, ptr %10494, align 4, !tbaa !5
  %10496 = call ptr @s2n_strerror(i32 noundef %10495, ptr noundef @.str.10)
  %10497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10498 = load i32, ptr %10497, align 4, !tbaa !5
  %10499 = call ptr @s2n_strerror_debug(i32 noundef %10498, ptr noundef @.str.10)
  %10500 = call ptr @__errno_location() #11
  %10501 = load i32, ptr %10500, align 4, !tbaa !5
  %10502 = call ptr @strerror(i32 noundef %10501) #10
  %10503 = call ptr @__errno_location() #11
  %10504 = load i32, ptr %10503, align 4, !tbaa !5
  %10505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10492, ptr noundef @.str.8, i32 noundef %10493, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 361, ptr noundef %10496, ptr noundef %10499, ptr noundef %10502, i32 noundef %10504) #10
  br label %10523

10506:                                            ; preds = %10484, %10477
  %10507 = load i32, ptr %218, align 4, !tbaa !5
  %10508 = call ptr @__errno_location() #11
  store i32 %10507, ptr %10508, align 4, !tbaa !5
  %10509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10510 = load i32, ptr @test_count, align 4, !tbaa !5
  %10511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10512 = load i32, ptr %10511, align 4, !tbaa !5
  %10513 = call ptr @s2n_strerror(i32 noundef %10512, ptr noundef @.str.10)
  %10514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10515 = load i32, ptr %10514, align 4, !tbaa !5
  %10516 = call ptr @s2n_strerror_debug(i32 noundef %10515, ptr noundef @.str.10)
  %10517 = call ptr @__errno_location() #11
  %10518 = load i32, ptr %10517, align 4, !tbaa !5
  %10519 = call ptr @strerror(i32 noundef %10518) #10
  %10520 = call ptr @__errno_location() #11
  %10521 = load i32, ptr %10520, align 4, !tbaa !5
  %10522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10509, ptr noundef @.str.11, i32 noundef %10510, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 361, ptr noundef %10513, ptr noundef %10516, ptr noundef %10519, i32 noundef %10521) #10
  br label %10523

10523:                                            ; preds = %10506, %10489
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #10
  br label %10524

10524:                                            ; preds = %10523
  br label %10525

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

10526:                                            ; No predecessors!
  br label %10527

10527:                                            ; preds = %10526
  br label %10528

10528:                                            ; preds = %10527, %10468
  br label %10529

10529:                                            ; preds = %10528
  br label %10530

10530:                                            ; preds = %10529
  br label %10531

10531:                                            ; preds = %10530
  br label %10532

10532:                                            ; preds = %10531
  br label %10533

10533:                                            ; preds = %10532
  %10534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10534, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10535 = call ptr @__errno_location() #11
  store i32 0, ptr %10535, align 4, !tbaa !5
  br label %10536

10536:                                            ; preds = %10533
  br label %10537

10537:                                            ; preds = %10536
  br label %10538

10538:                                            ; preds = %10537
  br label %10539

10539:                                            ; preds = %10538
  br label %10540

10540:                                            ; preds = %10539
  %10541 = load i32, ptr @test_count, align 4, !tbaa !5
  %10542 = add nsw i32 %10541, 1
  store i32 %10542, ptr @test_count, align 4, !tbaa !5
  %10543 = load i32, ptr %208, align 4, !tbaa !5
  %10544 = icmp eq i32 %10543, 1
  br i1 %10544, label %10598, label %10545

10545:                                            ; preds = %10540
  br label %10546

10546:                                            ; preds = %10545
  br label %10547

10547:                                            ; preds = %10546
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #10
  %10548 = call ptr @__errno_location() #11
  %10549 = load i32, ptr %10548, align 4, !tbaa !5
  store i32 %10549, ptr %219, align 4, !tbaa !5
  %10550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10551 = call i32 @s2n_print_stacktrace(ptr noundef %10550)
  %10552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10553 = trunc i8 %10552 to i1
  br i1 %10553, label %10554, label %10576

10554:                                            ; preds = %10547
  %10555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10556 = call i32 @fileno(ptr noundef %10555) #10
  %10557 = call i32 @isatty(i32 noundef %10556) #10
  %10558 = icmp ne i32 %10557, 0
  br i1 %10558, label %10559, label %10576

10559:                                            ; preds = %10554
  %10560 = load i32, ptr %219, align 4, !tbaa !5
  %10561 = call ptr @__errno_location() #11
  store i32 %10560, ptr %10561, align 4, !tbaa !5
  %10562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10563 = load i32, ptr @test_count, align 4, !tbaa !5
  %10564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10565 = load i32, ptr %10564, align 4, !tbaa !5
  %10566 = call ptr @s2n_strerror(i32 noundef %10565, ptr noundef @.str.10)
  %10567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10568 = load i32, ptr %10567, align 4, !tbaa !5
  %10569 = call ptr @s2n_strerror_debug(i32 noundef %10568, ptr noundef @.str.10)
  %10570 = call ptr @__errno_location() #11
  %10571 = load i32, ptr %10570, align 4, !tbaa !5
  %10572 = call ptr @strerror(i32 noundef %10571) #10
  %10573 = call ptr @__errno_location() #11
  %10574 = load i32, ptr %10573, align 4, !tbaa !5
  %10575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10562, ptr noundef @.str.8, i32 noundef %10563, ptr noundef @.str.45, ptr noundef @.str.7, i32 noundef 362, ptr noundef %10566, ptr noundef %10569, ptr noundef %10572, i32 noundef %10574) #10
  br label %10593

10576:                                            ; preds = %10554, %10547
  %10577 = load i32, ptr %219, align 4, !tbaa !5
  %10578 = call ptr @__errno_location() #11
  store i32 %10577, ptr %10578, align 4, !tbaa !5
  %10579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10580 = load i32, ptr @test_count, align 4, !tbaa !5
  %10581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10582 = load i32, ptr %10581, align 4, !tbaa !5
  %10583 = call ptr @s2n_strerror(i32 noundef %10582, ptr noundef @.str.10)
  %10584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10585 = load i32, ptr %10584, align 4, !tbaa !5
  %10586 = call ptr @s2n_strerror_debug(i32 noundef %10585, ptr noundef @.str.10)
  %10587 = call ptr @__errno_location() #11
  %10588 = load i32, ptr %10587, align 4, !tbaa !5
  %10589 = call ptr @strerror(i32 noundef %10588) #10
  %10590 = call ptr @__errno_location() #11
  %10591 = load i32, ptr %10590, align 4, !tbaa !5
  %10592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10579, ptr noundef @.str.11, i32 noundef %10580, ptr noundef @.str.45, ptr noundef @.str.7, i32 noundef 362, ptr noundef %10583, ptr noundef %10586, ptr noundef %10589, i32 noundef %10591) #10
  br label %10593

10593:                                            ; preds = %10576, %10559
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #10
  br label %10594

10594:                                            ; preds = %10593
  br label %10595

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

10596:                                            ; No predecessors!
  br label %10597

10597:                                            ; preds = %10596
  br label %10598

10598:                                            ; preds = %10597, %10540
  br label %10599

10599:                                            ; preds = %10598
  br label %10600

10600:                                            ; preds = %10599
  br label %10601

10601:                                            ; preds = %10600
  %10602 = load i32, ptr @test_count, align 4, !tbaa !5
  %10603 = add nsw i32 %10602, 1
  store i32 %10603, ptr @test_count, align 4, !tbaa !5
  %10604 = getelementptr inbounds [5 x i8], ptr %10, i64 0, i64 0
  %10605 = call i32 @s2n_stuffer_write_bytes(ptr noundef %203, ptr noundef %10604, i32 noundef 5)
  %10606 = icmp eq i32 %10605, -1
  br i1 %10606, label %10607, label %10660

10607:                                            ; preds = %10601
  br label %10608

10608:                                            ; preds = %10607
  br label %10609

10609:                                            ; preds = %10608
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #10
  %10610 = call ptr @__errno_location() #11
  %10611 = load i32, ptr %10610, align 4, !tbaa !5
  store i32 %10611, ptr %220, align 4, !tbaa !5
  %10612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10613 = call i32 @s2n_print_stacktrace(ptr noundef %10612)
  %10614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10615 = trunc i8 %10614 to i1
  br i1 %10615, label %10616, label %10638

10616:                                            ; preds = %10609
  %10617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10618 = call i32 @fileno(ptr noundef %10617) #10
  %10619 = call i32 @isatty(i32 noundef %10618) #10
  %10620 = icmp ne i32 %10619, 0
  br i1 %10620, label %10621, label %10638

10621:                                            ; preds = %10616
  %10622 = load i32, ptr %220, align 4, !tbaa !5
  %10623 = call ptr @__errno_location() #11
  store i32 %10622, ptr %10623, align 4, !tbaa !5
  %10624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10625 = load i32, ptr @test_count, align 4, !tbaa !5
  %10626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10627 = load i32, ptr %10626, align 4, !tbaa !5
  %10628 = call ptr @s2n_strerror(i32 noundef %10627, ptr noundef @.str.10)
  %10629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10630 = load i32, ptr %10629, align 4, !tbaa !5
  %10631 = call ptr @s2n_strerror_debug(i32 noundef %10630, ptr noundef @.str.10)
  %10632 = call ptr @__errno_location() #11
  %10633 = load i32, ptr %10632, align 4, !tbaa !5
  %10634 = call ptr @strerror(i32 noundef %10633) #10
  %10635 = call ptr @__errno_location() #11
  %10636 = load i32, ptr %10635, align 4, !tbaa !5
  %10637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10624, ptr noundef @.str.8, i32 noundef %10625, ptr noundef @.str.48, ptr noundef @.str.7, i32 noundef 365, ptr noundef %10628, ptr noundef %10631, ptr noundef %10634, i32 noundef %10636) #10
  br label %10655

10638:                                            ; preds = %10616, %10609
  %10639 = load i32, ptr %220, align 4, !tbaa !5
  %10640 = call ptr @__errno_location() #11
  store i32 %10639, ptr %10640, align 4, !tbaa !5
  %10641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10642 = load i32, ptr @test_count, align 4, !tbaa !5
  %10643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10644 = load i32, ptr %10643, align 4, !tbaa !5
  %10645 = call ptr @s2n_strerror(i32 noundef %10644, ptr noundef @.str.10)
  %10646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10647 = load i32, ptr %10646, align 4, !tbaa !5
  %10648 = call ptr @s2n_strerror_debug(i32 noundef %10647, ptr noundef @.str.10)
  %10649 = call ptr @__errno_location() #11
  %10650 = load i32, ptr %10649, align 4, !tbaa !5
  %10651 = call ptr @strerror(i32 noundef %10650) #10
  %10652 = call ptr @__errno_location() #11
  %10653 = load i32, ptr %10652, align 4, !tbaa !5
  %10654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10641, ptr noundef @.str.11, i32 noundef %10642, ptr noundef @.str.48, ptr noundef @.str.7, i32 noundef 365, ptr noundef %10645, ptr noundef %10648, ptr noundef %10651, i32 noundef %10653) #10
  br label %10655

10655:                                            ; preds = %10638, %10621
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #10
  br label %10656

10656:                                            ; preds = %10655
  br label %10657

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

10658:                                            ; No predecessors!
  br label %10659

10659:                                            ; preds = %10658
  br label %10660

10660:                                            ; preds = %10659, %10601
  br label %10661

10661:                                            ; preds = %10660
  br label %10662

10662:                                            ; preds = %10661
  br label %10663

10663:                                            ; preds = %10662
  %10664 = load i32, ptr @test_count, align 4, !tbaa !5
  %10665 = add nsw i32 %10664, 1
  store i32 %10665, ptr @test_count, align 4, !tbaa !5
  %10666 = getelementptr inbounds [2 x i8], ptr %9, i64 0, i64 0
  %10667 = call i32 @s2n_stuffer_write_bytes(ptr noundef %203, ptr noundef %10666, i32 noundef 2)
  %10668 = icmp eq i32 %10667, -1
  br i1 %10668, label %10669, label %10722

10669:                                            ; preds = %10663
  br label %10670

10670:                                            ; preds = %10669
  br label %10671

10671:                                            ; preds = %10670
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #10
  %10672 = call ptr @__errno_location() #11
  %10673 = load i32, ptr %10672, align 4, !tbaa !5
  store i32 %10673, ptr %221, align 4, !tbaa !5
  %10674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10675 = call i32 @s2n_print_stacktrace(ptr noundef %10674)
  %10676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10677 = trunc i8 %10676 to i1
  br i1 %10677, label %10678, label %10700

10678:                                            ; preds = %10671
  %10679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10680 = call i32 @fileno(ptr noundef %10679) #10
  %10681 = call i32 @isatty(i32 noundef %10680) #10
  %10682 = icmp ne i32 %10681, 0
  br i1 %10682, label %10683, label %10700

10683:                                            ; preds = %10678
  %10684 = load i32, ptr %221, align 4, !tbaa !5
  %10685 = call ptr @__errno_location() #11
  store i32 %10684, ptr %10685, align 4, !tbaa !5
  %10686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10687 = load i32, ptr @test_count, align 4, !tbaa !5
  %10688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10689 = load i32, ptr %10688, align 4, !tbaa !5
  %10690 = call ptr @s2n_strerror(i32 noundef %10689, ptr noundef @.str.10)
  %10691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10692 = load i32, ptr %10691, align 4, !tbaa !5
  %10693 = call ptr @s2n_strerror_debug(i32 noundef %10692, ptr noundef @.str.10)
  %10694 = call ptr @__errno_location() #11
  %10695 = load i32, ptr %10694, align 4, !tbaa !5
  %10696 = call ptr @strerror(i32 noundef %10695) #10
  %10697 = call ptr @__errno_location() #11
  %10698 = load i32, ptr %10697, align 4, !tbaa !5
  %10699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10686, ptr noundef @.str.8, i32 noundef %10687, ptr noundef @.str.67, ptr noundef @.str.7, i32 noundef 366, ptr noundef %10690, ptr noundef %10693, ptr noundef %10696, i32 noundef %10698) #10
  br label %10717

10700:                                            ; preds = %10678, %10671
  %10701 = load i32, ptr %221, align 4, !tbaa !5
  %10702 = call ptr @__errno_location() #11
  store i32 %10701, ptr %10702, align 4, !tbaa !5
  %10703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10704 = load i32, ptr @test_count, align 4, !tbaa !5
  %10705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10706 = load i32, ptr %10705, align 4, !tbaa !5
  %10707 = call ptr @s2n_strerror(i32 noundef %10706, ptr noundef @.str.10)
  %10708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10709 = load i32, ptr %10708, align 4, !tbaa !5
  %10710 = call ptr @s2n_strerror_debug(i32 noundef %10709, ptr noundef @.str.10)
  %10711 = call ptr @__errno_location() #11
  %10712 = load i32, ptr %10711, align 4, !tbaa !5
  %10713 = call ptr @strerror(i32 noundef %10712) #10
  %10714 = call ptr @__errno_location() #11
  %10715 = load i32, ptr %10714, align 4, !tbaa !5
  %10716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10703, ptr noundef @.str.11, i32 noundef %10704, ptr noundef @.str.67, ptr noundef @.str.7, i32 noundef 366, ptr noundef %10707, ptr noundef %10710, ptr noundef %10713, i32 noundef %10715) #10
  br label %10717

10717:                                            ; preds = %10700, %10683
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #10
  br label %10718

10718:                                            ; preds = %10717
  br label %10719

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

10720:                                            ; No predecessors!
  br label %10721

10721:                                            ; preds = %10720
  br label %10722

10722:                                            ; preds = %10721, %10663
  br label %10723

10723:                                            ; preds = %10722
  br label %10724

10724:                                            ; preds = %10723
  br label %10725

10725:                                            ; preds = %10724
  %10726 = load i32, ptr @test_count, align 4, !tbaa !5
  %10727 = add nsw i32 %10726, 1
  store i32 %10727, ptr @test_count, align 4, !tbaa !5
  %10728 = load ptr, ptr %199, align 8, !tbaa !9
  %10729 = call i32 @s2n_shutdown(ptr noundef %10728, ptr noundef %208)
  %10730 = icmp eq i32 %10729, -1
  br i1 %10730, label %10731, label %10784

10731:                                            ; preds = %10725
  br label %10732

10732:                                            ; preds = %10731
  br label %10733

10733:                                            ; preds = %10732
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #10
  %10734 = call ptr @__errno_location() #11
  %10735 = load i32, ptr %10734, align 4, !tbaa !5
  store i32 %10735, ptr %222, align 4, !tbaa !5
  %10736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10737 = call i32 @s2n_print_stacktrace(ptr noundef %10736)
  %10738 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10739 = trunc i8 %10738 to i1
  br i1 %10739, label %10740, label %10762

10740:                                            ; preds = %10733
  %10741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10742 = call i32 @fileno(ptr noundef %10741) #10
  %10743 = call i32 @isatty(i32 noundef %10742) #10
  %10744 = icmp ne i32 %10743, 0
  br i1 %10744, label %10745, label %10762

10745:                                            ; preds = %10740
  %10746 = load i32, ptr %222, align 4, !tbaa !5
  %10747 = call ptr @__errno_location() #11
  store i32 %10746, ptr %10747, align 4, !tbaa !5
  %10748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10749 = load i32, ptr @test_count, align 4, !tbaa !5
  %10750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10751 = load i32, ptr %10750, align 4, !tbaa !5
  %10752 = call ptr @s2n_strerror(i32 noundef %10751, ptr noundef @.str.10)
  %10753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10754 = load i32, ptr %10753, align 4, !tbaa !5
  %10755 = call ptr @s2n_strerror_debug(i32 noundef %10754, ptr noundef @.str.10)
  %10756 = call ptr @__errno_location() #11
  %10757 = load i32, ptr %10756, align 4, !tbaa !5
  %10758 = call ptr @strerror(i32 noundef %10757) #10
  %10759 = call ptr @__errno_location() #11
  %10760 = load i32, ptr %10759, align 4, !tbaa !5
  %10761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10748, ptr noundef @.str.8, i32 noundef %10749, ptr noundef @.str.30, ptr noundef @.str.7, i32 noundef 367, ptr noundef %10752, ptr noundef %10755, ptr noundef %10758, i32 noundef %10760) #10
  br label %10779

10762:                                            ; preds = %10740, %10733
  %10763 = load i32, ptr %222, align 4, !tbaa !5
  %10764 = call ptr @__errno_location() #11
  store i32 %10763, ptr %10764, align 4, !tbaa !5
  %10765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10766 = load i32, ptr @test_count, align 4, !tbaa !5
  %10767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10768 = load i32, ptr %10767, align 4, !tbaa !5
  %10769 = call ptr @s2n_strerror(i32 noundef %10768, ptr noundef @.str.10)
  %10770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10771 = load i32, ptr %10770, align 4, !tbaa !5
  %10772 = call ptr @s2n_strerror_debug(i32 noundef %10771, ptr noundef @.str.10)
  %10773 = call ptr @__errno_location() #11
  %10774 = load i32, ptr %10773, align 4, !tbaa !5
  %10775 = call ptr @strerror(i32 noundef %10774) #10
  %10776 = call ptr @__errno_location() #11
  %10777 = load i32, ptr %10776, align 4, !tbaa !5
  %10778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10765, ptr noundef @.str.11, i32 noundef %10766, ptr noundef @.str.30, ptr noundef @.str.7, i32 noundef 367, ptr noundef %10769, ptr noundef %10772, ptr noundef %10775, i32 noundef %10777) #10
  br label %10779

10779:                                            ; preds = %10762, %10745
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #10
  br label %10780

10780:                                            ; preds = %10779
  br label %10781

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

10782:                                            ; No predecessors!
  br label %10783

10783:                                            ; preds = %10782
  br label %10784

10784:                                            ; preds = %10783, %10725
  br label %10785

10785:                                            ; preds = %10784
  br label %10786

10786:                                            ; preds = %10785
  call void @llvm.lifetime.end.p0(i64 6, ptr %214) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #10
  %10787 = call i32 @s2n_stuffer_free(ptr noundef %205)
  call void @llvm.lifetime.end.p0(i64 40, ptr %205) #10
  %10788 = call i32 @s2n_stuffer_free(ptr noundef %203)
  call void @llvm.lifetime.end.p0(i64 40, ptr %203) #10
  %10789 = call i32 @s2n_connection_ptr_free(ptr noundef %199)
  %10790 = getelementptr inbounds %struct.s2n_result, ptr %223, i32 0, i32 0
  store i32 %10789, ptr %10790, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %199) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %224) #10
  %10791 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %10791, ptr %224, align 8, !tbaa !9
  br label %10792

10792:                                            ; preds = %10786
  %10793 = load i32, ptr @test_count, align 4, !tbaa !5
  %10794 = add nsw i32 %10793, 1
  store i32 %10794, ptr @test_count, align 4, !tbaa !5
  %10795 = load ptr, ptr %224, align 8, !tbaa !9
  %10796 = icmp eq ptr %10795, null
  br i1 %10796, label %10797, label %10850

10797:                                            ; preds = %10792
  br label %10798

10798:                                            ; preds = %10797
  br label %10799

10799:                                            ; preds = %10798
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #10
  %10800 = call ptr @__errno_location() #11
  %10801 = load i32, ptr %10800, align 4, !tbaa !5
  store i32 %10801, ptr %225, align 4, !tbaa !5
  %10802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10803 = call i32 @s2n_print_stacktrace(ptr noundef %10802)
  %10804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10805 = trunc i8 %10804 to i1
  br i1 %10805, label %10806, label %10828

10806:                                            ; preds = %10799
  %10807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10808 = call i32 @fileno(ptr noundef %10807) #10
  %10809 = call i32 @isatty(i32 noundef %10808) #10
  %10810 = icmp ne i32 %10809, 0
  br i1 %10810, label %10811, label %10828

10811:                                            ; preds = %10806
  %10812 = load i32, ptr %225, align 4, !tbaa !5
  %10813 = call ptr @__errno_location() #11
  store i32 %10812, ptr %10813, align 4, !tbaa !5
  %10814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10815 = load i32, ptr @test_count, align 4, !tbaa !5
  %10816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10817 = load i32, ptr %10816, align 4, !tbaa !5
  %10818 = call ptr @s2n_strerror(i32 noundef %10817, ptr noundef @.str.10)
  %10819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10820 = load i32, ptr %10819, align 4, !tbaa !5
  %10821 = call ptr @s2n_strerror_debug(i32 noundef %10820, ptr noundef @.str.10)
  %10822 = call ptr @__errno_location() #11
  %10823 = load i32, ptr %10822, align 4, !tbaa !5
  %10824 = call ptr @strerror(i32 noundef %10823) #10
  %10825 = call ptr @__errno_location() #11
  %10826 = load i32, ptr %10825, align 4, !tbaa !5
  %10827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10814, ptr noundef @.str.8, i32 noundef %10815, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 374, ptr noundef %10818, ptr noundef %10821, ptr noundef %10824, i32 noundef %10826) #10
  br label %10845

10828:                                            ; preds = %10806, %10799
  %10829 = load i32, ptr %225, align 4, !tbaa !5
  %10830 = call ptr @__errno_location() #11
  store i32 %10829, ptr %10830, align 4, !tbaa !5
  %10831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10832 = load i32, ptr @test_count, align 4, !tbaa !5
  %10833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10834 = load i32, ptr %10833, align 4, !tbaa !5
  %10835 = call ptr @s2n_strerror(i32 noundef %10834, ptr noundef @.str.10)
  %10836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10837 = load i32, ptr %10836, align 4, !tbaa !5
  %10838 = call ptr @s2n_strerror_debug(i32 noundef %10837, ptr noundef @.str.10)
  %10839 = call ptr @__errno_location() #11
  %10840 = load i32, ptr %10839, align 4, !tbaa !5
  %10841 = call ptr @strerror(i32 noundef %10840) #10
  %10842 = call ptr @__errno_location() #11
  %10843 = load i32, ptr %10842, align 4, !tbaa !5
  %10844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10831, ptr noundef @.str.11, i32 noundef %10832, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 374, ptr noundef %10835, ptr noundef %10838, ptr noundef %10841, i32 noundef %10843) #10
  br label %10845

10845:                                            ; preds = %10828, %10811
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #10
  br label %10846

10846:                                            ; preds = %10845
  br label %10847

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

10848:                                            ; No predecessors!
  br label %10849

10849:                                            ; preds = %10848
  br label %10850

10850:                                            ; preds = %10849, %10792
  br label %10851

10851:                                            ; preds = %10850
  br label %10852

10852:                                            ; preds = %10851
  br label %10853

10853:                                            ; preds = %10852
  %10854 = load i32, ptr @test_count, align 4, !tbaa !5
  %10855 = add nsw i32 %10854, 1
  store i32 %10855, ptr @test_count, align 4, !tbaa !5
  %10856 = load ptr, ptr %224, align 8, !tbaa !9
  %10857 = call i32 @s2n_skip_handshake(ptr noundef %10856)
  %10858 = getelementptr inbounds %struct.s2n_result, ptr %226, i32 0, i32 0
  store i32 %10857, ptr %10858, align 4
  %10859 = getelementptr inbounds %struct.s2n_result, ptr %226, i32 0, i32 0
  %10860 = load i32, ptr %10859, align 4
  %10861 = call zeroext i1 @s2n_result_is_ok(i32 %10860)
  br i1 %10861, label %10915, label %10862

10862:                                            ; preds = %10853
  br label %10863

10863:                                            ; preds = %10862
  br label %10864

10864:                                            ; preds = %10863
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #10
  %10865 = call ptr @__errno_location() #11
  %10866 = load i32, ptr %10865, align 4, !tbaa !5
  store i32 %10866, ptr %227, align 4, !tbaa !5
  %10867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10868 = call i32 @s2n_print_stacktrace(ptr noundef %10867)
  %10869 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10870 = trunc i8 %10869 to i1
  br i1 %10870, label %10871, label %10893

10871:                                            ; preds = %10864
  %10872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10873 = call i32 @fileno(ptr noundef %10872) #10
  %10874 = call i32 @isatty(i32 noundef %10873) #10
  %10875 = icmp ne i32 %10874, 0
  br i1 %10875, label %10876, label %10893

10876:                                            ; preds = %10871
  %10877 = load i32, ptr %227, align 4, !tbaa !5
  %10878 = call ptr @__errno_location() #11
  store i32 %10877, ptr %10878, align 4, !tbaa !5
  %10879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10880 = load i32, ptr @test_count, align 4, !tbaa !5
  %10881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10882 = load i32, ptr %10881, align 4, !tbaa !5
  %10883 = call ptr @s2n_strerror(i32 noundef %10882, ptr noundef @.str.10)
  %10884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10885 = load i32, ptr %10884, align 4, !tbaa !5
  %10886 = call ptr @s2n_strerror_debug(i32 noundef %10885, ptr noundef @.str.10)
  %10887 = call ptr @__errno_location() #11
  %10888 = load i32, ptr %10887, align 4, !tbaa !5
  %10889 = call ptr @strerror(i32 noundef %10888) #10
  %10890 = call ptr @__errno_location() #11
  %10891 = load i32, ptr %10890, align 4, !tbaa !5
  %10892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10879, ptr noundef @.str.8, i32 noundef %10880, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 375, ptr noundef %10883, ptr noundef %10886, ptr noundef %10889, i32 noundef %10891) #10
  br label %10910

10893:                                            ; preds = %10871, %10864
  %10894 = load i32, ptr %227, align 4, !tbaa !5
  %10895 = call ptr @__errno_location() #11
  store i32 %10894, ptr %10895, align 4, !tbaa !5
  %10896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10897 = load i32, ptr @test_count, align 4, !tbaa !5
  %10898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10899 = load i32, ptr %10898, align 4, !tbaa !5
  %10900 = call ptr @s2n_strerror(i32 noundef %10899, ptr noundef @.str.10)
  %10901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10902 = load i32, ptr %10901, align 4, !tbaa !5
  %10903 = call ptr @s2n_strerror_debug(i32 noundef %10902, ptr noundef @.str.10)
  %10904 = call ptr @__errno_location() #11
  %10905 = load i32, ptr %10904, align 4, !tbaa !5
  %10906 = call ptr @strerror(i32 noundef %10905) #10
  %10907 = call ptr @__errno_location() #11
  %10908 = load i32, ptr %10907, align 4, !tbaa !5
  %10909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10896, ptr noundef @.str.11, i32 noundef %10897, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 375, ptr noundef %10900, ptr noundef %10903, ptr noundef %10906, i32 noundef %10908) #10
  br label %10910

10910:                                            ; preds = %10893, %10876
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #10
  br label %10911

10911:                                            ; preds = %10910
  br label %10912

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

10913:                                            ; No predecessors!
  br label %10914

10914:                                            ; preds = %10913
  br label %10915

10915:                                            ; preds = %10914, %10853
  br label %10916

10916:                                            ; preds = %10915
  br label %10917

10917:                                            ; preds = %10916
  br label %10918

10918:                                            ; preds = %10917
  %10919 = load i32, ptr @test_count, align 4, !tbaa !5
  %10920 = add nsw i32 %10919, 1
  store i32 %10920, ptr @test_count, align 4, !tbaa !5
  %10921 = load ptr, ptr %224, align 8, !tbaa !9
  %10922 = call i32 @s2n_connection_set_blinding(ptr noundef %10921, i32 noundef 1)
  %10923 = icmp eq i32 %10922, -1
  br i1 %10923, label %10924, label %10977

10924:                                            ; preds = %10918
  br label %10925

10925:                                            ; preds = %10924
  br label %10926

10926:                                            ; preds = %10925
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #10
  %10927 = call ptr @__errno_location() #11
  %10928 = load i32, ptr %10927, align 4, !tbaa !5
  store i32 %10928, ptr %228, align 4, !tbaa !5
  %10929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10930 = call i32 @s2n_print_stacktrace(ptr noundef %10929)
  %10931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10932 = trunc i8 %10931 to i1
  br i1 %10932, label %10933, label %10955

10933:                                            ; preds = %10926
  %10934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10935 = call i32 @fileno(ptr noundef %10934) #10
  %10936 = call i32 @isatty(i32 noundef %10935) #10
  %10937 = icmp ne i32 %10936, 0
  br i1 %10937, label %10938, label %10955

10938:                                            ; preds = %10933
  %10939 = load i32, ptr %228, align 4, !tbaa !5
  %10940 = call ptr @__errno_location() #11
  store i32 %10939, ptr %10940, align 4, !tbaa !5
  %10941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10942 = load i32, ptr @test_count, align 4, !tbaa !5
  %10943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10944 = load i32, ptr %10943, align 4, !tbaa !5
  %10945 = call ptr @s2n_strerror(i32 noundef %10944, ptr noundef @.str.10)
  %10946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10947 = load i32, ptr %10946, align 4, !tbaa !5
  %10948 = call ptr @s2n_strerror_debug(i32 noundef %10947, ptr noundef @.str.10)
  %10949 = call ptr @__errno_location() #11
  %10950 = load i32, ptr %10949, align 4, !tbaa !5
  %10951 = call ptr @strerror(i32 noundef %10950) #10
  %10952 = call ptr @__errno_location() #11
  %10953 = load i32, ptr %10952, align 4, !tbaa !5
  %10954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10941, ptr noundef @.str.8, i32 noundef %10942, ptr noundef @.str.68, ptr noundef @.str.7, i32 noundef 376, ptr noundef %10945, ptr noundef %10948, ptr noundef %10951, i32 noundef %10953) #10
  br label %10972

10955:                                            ; preds = %10933, %10926
  %10956 = load i32, ptr %228, align 4, !tbaa !5
  %10957 = call ptr @__errno_location() #11
  store i32 %10956, ptr %10957, align 4, !tbaa !5
  %10958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10959 = load i32, ptr @test_count, align 4, !tbaa !5
  %10960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10961 = load i32, ptr %10960, align 4, !tbaa !5
  %10962 = call ptr @s2n_strerror(i32 noundef %10961, ptr noundef @.str.10)
  %10963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10964 = load i32, ptr %10963, align 4, !tbaa !5
  %10965 = call ptr @s2n_strerror_debug(i32 noundef %10964, ptr noundef @.str.10)
  %10966 = call ptr @__errno_location() #11
  %10967 = load i32, ptr %10966, align 4, !tbaa !5
  %10968 = call ptr @strerror(i32 noundef %10967) #10
  %10969 = call ptr @__errno_location() #11
  %10970 = load i32, ptr %10969, align 4, !tbaa !5
  %10971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10958, ptr noundef @.str.11, i32 noundef %10959, ptr noundef @.str.68, ptr noundef @.str.7, i32 noundef 376, ptr noundef %10962, ptr noundef %10965, ptr noundef %10968, i32 noundef %10970) #10
  br label %10972

10972:                                            ; preds = %10955, %10938
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #10
  br label %10973

10973:                                            ; preds = %10972
  br label %10974

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

10975:                                            ; No predecessors!
  br label %10976

10976:                                            ; preds = %10975
  br label %10977

10977:                                            ; preds = %10976, %10918
  br label %10978

10978:                                            ; preds = %10977
  br label %10979

10979:                                            ; preds = %10978
  %10980 = load ptr, ptr %224, align 8, !tbaa !9
  %10981 = getelementptr inbounds %struct.s2n_connection, ptr %10980, i32 0, i32 25
  store i8 1, ptr %10981, align 2, !tbaa !48
  %10982 = load ptr, ptr %224, align 8, !tbaa !9
  %10983 = getelementptr inbounds %struct.s2n_connection, ptr %10982, i32 0, i32 23
  store i8 34, ptr %10983, align 4, !tbaa !49
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #10
  store i32 0, ptr %229, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr %230) #10
  call void @llvm.memset.p0.i64(ptr align 8 %230, i8 0, i64 40, i1 false)
  br label %10984

10984:                                            ; preds = %10979
  %10985 = load i32, ptr @test_count, align 4, !tbaa !5
  %10986 = add nsw i32 %10985, 1
  store i32 %10986, ptr @test_count, align 4, !tbaa !5
  %10987 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %230, i32 noundef 0)
  %10988 = icmp eq i32 %10987, -1
  br i1 %10988, label %10989, label %11042

10989:                                            ; preds = %10984
  br label %10990

10990:                                            ; preds = %10989
  br label %10991

10991:                                            ; preds = %10990
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #10
  %10992 = call ptr @__errno_location() #11
  %10993 = load i32, ptr %10992, align 4, !tbaa !5
  store i32 %10993, ptr %231, align 4, !tbaa !5
  %10994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10995 = call i32 @s2n_print_stacktrace(ptr noundef %10994)
  %10996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10997 = trunc i8 %10996 to i1
  br i1 %10997, label %10998, label %11020

10998:                                            ; preds = %10991
  %10999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11000 = call i32 @fileno(ptr noundef %10999) #10
  %11001 = call i32 @isatty(i32 noundef %11000) #10
  %11002 = icmp ne i32 %11001, 0
  br i1 %11002, label %11003, label %11020

11003:                                            ; preds = %10998
  %11004 = load i32, ptr %231, align 4, !tbaa !5
  %11005 = call ptr @__errno_location() #11
  store i32 %11004, ptr %11005, align 4, !tbaa !5
  %11006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11007 = load i32, ptr @test_count, align 4, !tbaa !5
  %11008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11009 = load i32, ptr %11008, align 4, !tbaa !5
  %11010 = call ptr @s2n_strerror(i32 noundef %11009, ptr noundef @.str.10)
  %11011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11012 = load i32, ptr %11011, align 4, !tbaa !5
  %11013 = call ptr @s2n_strerror_debug(i32 noundef %11012, ptr noundef @.str.10)
  %11014 = call ptr @__errno_location() #11
  %11015 = load i32, ptr %11014, align 4, !tbaa !5
  %11016 = call ptr @strerror(i32 noundef %11015) #10
  %11017 = call ptr @__errno_location() #11
  %11018 = load i32, ptr %11017, align 4, !tbaa !5
  %11019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11006, ptr noundef @.str.8, i32 noundef %11007, ptr noundef @.str.39, ptr noundef @.str.7, i32 noundef 386, ptr noundef %11010, ptr noundef %11013, ptr noundef %11016, i32 noundef %11018) #10
  br label %11037

11020:                                            ; preds = %10998, %10991
  %11021 = load i32, ptr %231, align 4, !tbaa !5
  %11022 = call ptr @__errno_location() #11
  store i32 %11021, ptr %11022, align 4, !tbaa !5
  %11023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11024 = load i32, ptr @test_count, align 4, !tbaa !5
  %11025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11026 = load i32, ptr %11025, align 4, !tbaa !5
  %11027 = call ptr @s2n_strerror(i32 noundef %11026, ptr noundef @.str.10)
  %11028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11029 = load i32, ptr %11028, align 4, !tbaa !5
  %11030 = call ptr @s2n_strerror_debug(i32 noundef %11029, ptr noundef @.str.10)
  %11031 = call ptr @__errno_location() #11
  %11032 = load i32, ptr %11031, align 4, !tbaa !5
  %11033 = call ptr @strerror(i32 noundef %11032) #10
  %11034 = call ptr @__errno_location() #11
  %11035 = load i32, ptr %11034, align 4, !tbaa !5
  %11036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11023, ptr noundef @.str.11, i32 noundef %11024, ptr noundef @.str.39, ptr noundef @.str.7, i32 noundef 386, ptr noundef %11027, ptr noundef %11030, ptr noundef %11033, i32 noundef %11035) #10
  br label %11037

11037:                                            ; preds = %11020, %11003
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #10
  br label %11038

11038:                                            ; preds = %11037
  br label %11039

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

11040:                                            ; No predecessors!
  br label %11041

11041:                                            ; preds = %11040
  br label %11042

11042:                                            ; preds = %11041, %10984
  br label %11043

11043:                                            ; preds = %11042
  br label %11044

11044:                                            ; preds = %11043
  call void @llvm.lifetime.start.p0(i64 40, ptr %232) #10
  call void @llvm.memset.p0.i64(ptr align 8 %232, i8 0, i64 40, i1 false)
  br label %11045

11045:                                            ; preds = %11044
  %11046 = load i32, ptr @test_count, align 4, !tbaa !5
  %11047 = add nsw i32 %11046, 1
  store i32 %11047, ptr @test_count, align 4, !tbaa !5
  %11048 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %232, i32 noundef 0)
  %11049 = icmp eq i32 %11048, -1
  br i1 %11049, label %11050, label %11103

11050:                                            ; preds = %11045
  br label %11051

11051:                                            ; preds = %11050
  br label %11052

11052:                                            ; preds = %11051
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #10
  %11053 = call ptr @__errno_location() #11
  %11054 = load i32, ptr %11053, align 4, !tbaa !5
  store i32 %11054, ptr %233, align 4, !tbaa !5
  %11055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11056 = call i32 @s2n_print_stacktrace(ptr noundef %11055)
  %11057 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11058 = trunc i8 %11057 to i1
  br i1 %11058, label %11059, label %11081

11059:                                            ; preds = %11052
  %11060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11061 = call i32 @fileno(ptr noundef %11060) #10
  %11062 = call i32 @isatty(i32 noundef %11061) #10
  %11063 = icmp ne i32 %11062, 0
  br i1 %11063, label %11064, label %11081

11064:                                            ; preds = %11059
  %11065 = load i32, ptr %233, align 4, !tbaa !5
  %11066 = call ptr @__errno_location() #11
  store i32 %11065, ptr %11066, align 4, !tbaa !5
  %11067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11068 = load i32, ptr @test_count, align 4, !tbaa !5
  %11069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11070 = load i32, ptr %11069, align 4, !tbaa !5
  %11071 = call ptr @s2n_strerror(i32 noundef %11070, ptr noundef @.str.10)
  %11072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11073 = load i32, ptr %11072, align 4, !tbaa !5
  %11074 = call ptr @s2n_strerror_debug(i32 noundef %11073, ptr noundef @.str.10)
  %11075 = call ptr @__errno_location() #11
  %11076 = load i32, ptr %11075, align 4, !tbaa !5
  %11077 = call ptr @strerror(i32 noundef %11076) #10
  %11078 = call ptr @__errno_location() #11
  %11079 = load i32, ptr %11078, align 4, !tbaa !5
  %11080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11067, ptr noundef @.str.8, i32 noundef %11068, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 388, ptr noundef %11071, ptr noundef %11074, ptr noundef %11077, i32 noundef %11079) #10
  br label %11098

11081:                                            ; preds = %11059, %11052
  %11082 = load i32, ptr %233, align 4, !tbaa !5
  %11083 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %11092 = call ptr @__errno_location() #11
  %11093 = load i32, ptr %11092, align 4, !tbaa !5
  %11094 = call ptr @strerror(i32 noundef %11093) #10
  %11095 = call ptr @__errno_location() #11
  %11096 = load i32, ptr %11095, align 4, !tbaa !5
  %11097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11084, ptr noundef @.str.11, i32 noundef %11085, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 388, ptr noundef %11088, ptr noundef %11091, ptr noundef %11094, i32 noundef %11096) #10
  br label %11098

11098:                                            ; preds = %11081, %11064
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #10
  br label %11099

11099:                                            ; preds = %11098
  br label %11100

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

11101:                                            ; No predecessors!
  br label %11102

11102:                                            ; preds = %11101
  br label %11103

11103:                                            ; preds = %11102, %11045
  br label %11104

11104:                                            ; preds = %11103
  br label %11105

11105:                                            ; preds = %11104
  br label %11106

11106:                                            ; preds = %11105
  %11107 = load i32, ptr @test_count, align 4, !tbaa !5
  %11108 = add nsw i32 %11107, 1
  store i32 %11108, ptr @test_count, align 4, !tbaa !5
  %11109 = load ptr, ptr %224, align 8, !tbaa !9
  %11110 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %230, ptr noundef %232, ptr noundef %11109)
  %11111 = icmp eq i32 %11110, -1
  br i1 %11111, label %11112, label %11165

11112:                                            ; preds = %11106
  br label %11113

11113:                                            ; preds = %11112
  br label %11114

11114:                                            ; preds = %11113
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #10
  %11115 = call ptr @__errno_location() #11
  %11116 = load i32, ptr %11115, align 4, !tbaa !5
  store i32 %11116, ptr %234, align 4, !tbaa !5
  %11117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11118 = call i32 @s2n_print_stacktrace(ptr noundef %11117)
  %11119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11120 = trunc i8 %11119 to i1
  br i1 %11120, label %11121, label %11143

11121:                                            ; preds = %11114
  %11122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11123 = call i32 @fileno(ptr noundef %11122) #10
  %11124 = call i32 @isatty(i32 noundef %11123) #10
  %11125 = icmp ne i32 %11124, 0
  br i1 %11125, label %11126, label %11143

11126:                                            ; preds = %11121
  %11127 = load i32, ptr %234, align 4, !tbaa !5
  %11128 = call ptr @__errno_location() #11
  store i32 %11127, ptr %11128, align 4, !tbaa !5
  %11129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11130 = load i32, ptr @test_count, align 4, !tbaa !5
  %11131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11132 = load i32, ptr %11131, align 4, !tbaa !5
  %11133 = call ptr @s2n_strerror(i32 noundef %11132, ptr noundef @.str.10)
  %11134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11135 = load i32, ptr %11134, align 4, !tbaa !5
  %11136 = call ptr @s2n_strerror_debug(i32 noundef %11135, ptr noundef @.str.10)
  %11137 = call ptr @__errno_location() #11
  %11138 = load i32, ptr %11137, align 4, !tbaa !5
  %11139 = call ptr @strerror(i32 noundef %11138) #10
  %11140 = call ptr @__errno_location() #11
  %11141 = load i32, ptr %11140, align 4, !tbaa !5
  %11142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11129, ptr noundef @.str.8, i32 noundef %11130, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 389, ptr noundef %11133, ptr noundef %11136, ptr noundef %11139, i32 noundef %11141) #10
  br label %11160

11143:                                            ; preds = %11121, %11114
  %11144 = load i32, ptr %234, align 4, !tbaa !5
  %11145 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %11154 = call ptr @__errno_location() #11
  %11155 = load i32, ptr %11154, align 4, !tbaa !5
  %11156 = call ptr @strerror(i32 noundef %11155) #10
  %11157 = call ptr @__errno_location() #11
  %11158 = load i32, ptr %11157, align 4, !tbaa !5
  %11159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11146, ptr noundef @.str.11, i32 noundef %11147, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 389, ptr noundef %11150, ptr noundef %11153, ptr noundef %11156, i32 noundef %11158) #10
  br label %11160

11160:                                            ; preds = %11143, %11126
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #10
  br label %11161

11161:                                            ; preds = %11160
  br label %11162

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

11163:                                            ; No predecessors!
  br label %11164

11164:                                            ; preds = %11163
  br label %11165

11165:                                            ; preds = %11164, %11106
  br label %11166

11166:                                            ; preds = %11165
  br label %11167

11167:                                            ; preds = %11166
  call void @llvm.lifetime.start.p0(i64 5, ptr %235) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %235, ptr align 1 @__const.main.header_bytes, i64 5, i1 false)
  br label %11168

11168:                                            ; preds = %11167
  %11169 = load i32, ptr @test_count, align 4, !tbaa !5
  %11170 = add nsw i32 %11169, 1
  store i32 %11170, ptr @test_count, align 4, !tbaa !5
  %11171 = getelementptr inbounds [5 x i8], ptr %235, i64 0, i64 0
  %11172 = call i32 @s2n_stuffer_write_bytes(ptr noundef %230, ptr noundef %11171, i32 noundef 5)
  %11173 = icmp eq i32 %11172, -1
  br i1 %11173, label %11174, label %11227

11174:                                            ; preds = %11168
  br label %11175

11175:                                            ; preds = %11174
  br label %11176

11176:                                            ; preds = %11175
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #10
  %11177 = call ptr @__errno_location() #11
  %11178 = load i32, ptr %11177, align 4, !tbaa !5
  store i32 %11178, ptr %236, align 4, !tbaa !5
  %11179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11180 = call i32 @s2n_print_stacktrace(ptr noundef %11179)
  %11181 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11182 = trunc i8 %11181 to i1
  br i1 %11182, label %11183, label %11205

11183:                                            ; preds = %11176
  %11184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11185 = call i32 @fileno(ptr noundef %11184) #10
  %11186 = call i32 @isatty(i32 noundef %11185) #10
  %11187 = icmp ne i32 %11186, 0
  br i1 %11187, label %11188, label %11205

11188:                                            ; preds = %11183
  %11189 = load i32, ptr %236, align 4, !tbaa !5
  %11190 = call ptr @__errno_location() #11
  store i32 %11189, ptr %11190, align 4, !tbaa !5
  %11191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11192 = load i32, ptr @test_count, align 4, !tbaa !5
  %11193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11194 = load i32, ptr %11193, align 4, !tbaa !5
  %11195 = call ptr @s2n_strerror(i32 noundef %11194, ptr noundef @.str.10)
  %11196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11197 = load i32, ptr %11196, align 4, !tbaa !5
  %11198 = call ptr @s2n_strerror_debug(i32 noundef %11197, ptr noundef @.str.10)
  %11199 = call ptr @__errno_location() #11
  %11200 = load i32, ptr %11199, align 4, !tbaa !5
  %11201 = call ptr @strerror(i32 noundef %11200) #10
  %11202 = call ptr @__errno_location() #11
  %11203 = load i32, ptr %11202, align 4, !tbaa !5
  %11204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11191, ptr noundef @.str.8, i32 noundef %11192, ptr noundef @.str.69, ptr noundef @.str.7, i32 noundef 404, ptr noundef %11195, ptr noundef %11198, ptr noundef %11201, i32 noundef %11203) #10
  br label %11222

11205:                                            ; preds = %11183, %11176
  %11206 = load i32, ptr %236, align 4, !tbaa !5
  %11207 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %11216 = call ptr @__errno_location() #11
  %11217 = load i32, ptr %11216, align 4, !tbaa !5
  %11218 = call ptr @strerror(i32 noundef %11217) #10
  %11219 = call ptr @__errno_location() #11
  %11220 = load i32, ptr %11219, align 4, !tbaa !5
  %11221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11208, ptr noundef @.str.11, i32 noundef %11209, ptr noundef @.str.69, ptr noundef @.str.7, i32 noundef 404, ptr noundef %11212, ptr noundef %11215, ptr noundef %11218, i32 noundef %11220) #10
  br label %11222

11222:                                            ; preds = %11205, %11188
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #10
  br label %11223

11223:                                            ; preds = %11222
  br label %11224

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

11225:                                            ; No predecessors!
  br label %11226

11226:                                            ; preds = %11225
  br label %11227

11227:                                            ; preds = %11226, %11168
  br label %11228

11228:                                            ; preds = %11227
  br label %11229

11229:                                            ; preds = %11228
  call void @llvm.lifetime.start.p0(i64 1, ptr %237) #10
  call void @llvm.memset.p0.i64(ptr align 1 %237, i8 0, i64 1, i1 false)
  br label %11230

11230:                                            ; preds = %11229
  br label %11231

11231:                                            ; preds = %11230
  br label %11232

11232:                                            ; preds = %11231
  %11233 = load i32, ptr @test_count, align 4, !tbaa !5
  %11234 = add nsw i32 %11233, 1
  store i32 %11234, ptr @test_count, align 4, !tbaa !5
  %11235 = load ptr, ptr %224, align 8, !tbaa !9
  %11236 = getelementptr inbounds [1 x i8], ptr %237, i64 0, i64 0
  %11237 = call i64 @s2n_recv(ptr noundef %11235, ptr noundef %11236, i64 noundef 1, ptr noundef %229)
  %11238 = icmp eq i64 %11237, -1
  br i1 %11238, label %11292, label %11239

11239:                                            ; preds = %11232
  br label %11240

11240:                                            ; preds = %11239
  br label %11241

11241:                                            ; preds = %11240
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #10
  %11242 = call ptr @__errno_location() #11
  %11243 = load i32, ptr %11242, align 4, !tbaa !5
  store i32 %11243, ptr %238, align 4, !tbaa !5
  %11244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11245 = call i32 @s2n_print_stacktrace(ptr noundef %11244)
  %11246 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11247 = trunc i8 %11246 to i1
  br i1 %11247, label %11248, label %11270

11248:                                            ; preds = %11241
  %11249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11250 = call i32 @fileno(ptr noundef %11249) #10
  %11251 = call i32 @isatty(i32 noundef %11250) #10
  %11252 = icmp ne i32 %11251, 0
  br i1 %11252, label %11253, label %11270

11253:                                            ; preds = %11248
  %11254 = load i32, ptr %238, align 4, !tbaa !5
  %11255 = call ptr @__errno_location() #11
  store i32 %11254, ptr %11255, align 4, !tbaa !5
  %11256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11257 = load i32, ptr @test_count, align 4, !tbaa !5
  %11258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11259 = load i32, ptr %11258, align 4, !tbaa !5
  %11260 = call ptr @s2n_strerror(i32 noundef %11259, ptr noundef @.str.10)
  %11261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11262 = load i32, ptr %11261, align 4, !tbaa !5
  %11263 = call ptr @s2n_strerror_debug(i32 noundef %11262, ptr noundef @.str.10)
  %11264 = call ptr @__errno_location() #11
  %11265 = load i32, ptr %11264, align 4, !tbaa !5
  %11266 = call ptr @strerror(i32 noundef %11265) #10
  %11267 = call ptr @__errno_location() #11
  %11268 = load i32, ptr %11267, align 4, !tbaa !5
  %11269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11256, ptr noundef @.str.8, i32 noundef %11257, ptr noundef @.str.70, ptr noundef @.str.7, i32 noundef 408, ptr noundef %11260, ptr noundef %11263, ptr noundef %11266, i32 noundef %11268) #10
  br label %11287

11270:                                            ; preds = %11248, %11241
  %11271 = load i32, ptr %238, align 4, !tbaa !5
  %11272 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %11281 = call ptr @__errno_location() #11
  %11282 = load i32, ptr %11281, align 4, !tbaa !5
  %11283 = call ptr @strerror(i32 noundef %11282) #10
  %11284 = call ptr @__errno_location() #11
  %11285 = load i32, ptr %11284, align 4, !tbaa !5
  %11286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11273, ptr noundef @.str.11, i32 noundef %11274, ptr noundef @.str.70, ptr noundef @.str.7, i32 noundef 408, ptr noundef %11277, ptr noundef %11280, ptr noundef %11283, i32 noundef %11285) #10
  br label %11287

11287:                                            ; preds = %11270, %11253
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #10
  br label %11288

11288:                                            ; preds = %11287
  br label %11289

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

11290:                                            ; No predecessors!
  br label %11291

11291:                                            ; preds = %11290
  br label %11292

11292:                                            ; preds = %11291, %11232
  br label %11293

11293:                                            ; preds = %11292
  br label %11294

11294:                                            ; preds = %11293
  br label %11295

11295:                                            ; preds = %11294
  %11296 = load i32, ptr @test_count, align 4, !tbaa !5
  %11297 = add nsw i32 %11296, 1
  store i32 %11297, ptr @test_count, align 4, !tbaa !5
  %11298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11299 = load i32, ptr %11298, align 4, !tbaa !5
  %11300 = icmp eq i32 %11299, 335544322
  br i1 %11300, label %11354, label %11301

11301:                                            ; preds = %11295
  br label %11302

11302:                                            ; preds = %11301
  br label %11303

11303:                                            ; preds = %11302
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #10
  %11304 = call ptr @__errno_location() #11
  %11305 = load i32, ptr %11304, align 4, !tbaa !5
  store i32 %11305, ptr %239, align 4, !tbaa !5
  %11306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11307 = call i32 @s2n_print_stacktrace(ptr noundef %11306)
  %11308 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11309 = trunc i8 %11308 to i1
  br i1 %11309, label %11310, label %11332

11310:                                            ; preds = %11303
  %11311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11312 = call i32 @fileno(ptr noundef %11311) #10
  %11313 = call i32 @isatty(i32 noundef %11312) #10
  %11314 = icmp ne i32 %11313, 0
  br i1 %11314, label %11315, label %11332

11315:                                            ; preds = %11310
  %11316 = load i32, ptr %239, align 4, !tbaa !5
  %11317 = call ptr @__errno_location() #11
  store i32 %11316, ptr %11317, align 4, !tbaa !5
  %11318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11319 = load i32, ptr @test_count, align 4, !tbaa !5
  %11320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11321 = load i32, ptr %11320, align 4, !tbaa !5
  %11322 = call ptr @s2n_strerror(i32 noundef %11321, ptr noundef @.str.10)
  %11323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11324 = load i32, ptr %11323, align 4, !tbaa !5
  %11325 = call ptr @s2n_strerror_debug(i32 noundef %11324, ptr noundef @.str.10)
  %11326 = call ptr @__errno_location() #11
  %11327 = load i32, ptr %11326, align 4, !tbaa !5
  %11328 = call ptr @strerror(i32 noundef %11327) #10
  %11329 = call ptr @__errno_location() #11
  %11330 = load i32, ptr %11329, align 4, !tbaa !5
  %11331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11318, ptr noundef @.str.8, i32 noundef %11319, ptr noundef @.str.71, ptr noundef @.str.7, i32 noundef 408, ptr noundef %11322, ptr noundef %11325, ptr noundef %11328, i32 noundef %11330) #10
  br label %11349

11332:                                            ; preds = %11310, %11303
  %11333 = load i32, ptr %239, align 4, !tbaa !5
  %11334 = call ptr @__errno_location() #11
  store i32 %11333, ptr %11334, align 4, !tbaa !5
  %11335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11336 = load i32, ptr @test_count, align 4, !tbaa !5
  %11337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11338 = load i32, ptr %11337, align 4, !tbaa !5
  %11339 = call ptr @s2n_strerror(i32 noundef %11338, ptr noundef @.str.10)
  %11340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11341 = load i32, ptr %11340, align 4, !tbaa !5
  %11342 = call ptr @s2n_strerror_debug(i32 noundef %11341, ptr noundef @.str.10)
  %11343 = call ptr @__errno_location() #11
  %11344 = load i32, ptr %11343, align 4, !tbaa !5
  %11345 = call ptr @strerror(i32 noundef %11344) #10
  %11346 = call ptr @__errno_location() #11
  %11347 = load i32, ptr %11346, align 4, !tbaa !5
  %11348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11335, ptr noundef @.str.11, i32 noundef %11336, ptr noundef @.str.71, ptr noundef @.str.7, i32 noundef 408, ptr noundef %11339, ptr noundef %11342, ptr noundef %11345, i32 noundef %11347) #10
  br label %11349

11349:                                            ; preds = %11332, %11315
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #10
  br label %11350

11350:                                            ; preds = %11349
  br label %11351

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

11352:                                            ; No predecessors!
  br label %11353

11353:                                            ; preds = %11352
  br label %11354

11354:                                            ; preds = %11353, %11295
  br label %11355

11355:                                            ; preds = %11354
  br label %11356

11356:                                            ; preds = %11355
  br label %11357

11357:                                            ; preds = %11356
  %11358 = load i32, ptr @test_count, align 4, !tbaa !5
  %11359 = add nsw i32 %11358, 1
  store i32 %11359, ptr @test_count, align 4, !tbaa !5
  %11360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11361 = load i32, ptr %11360, align 4, !tbaa !5
  %11362 = call ptr @s2n_strerror_debug(i32 noundef %11361, ptr noundef @.str.10)
  %11363 = icmp eq ptr %11362, null
  br i1 %11363, label %11364, label %11417

11364:                                            ; preds = %11357
  br label %11365

11365:                                            ; preds = %11364
  br label %11366

11366:                                            ; preds = %11365
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #10
  %11367 = call ptr @__errno_location() #11
  %11368 = load i32, ptr %11367, align 4, !tbaa !5
  store i32 %11368, ptr %240, align 4, !tbaa !5
  %11369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11370 = call i32 @s2n_print_stacktrace(ptr noundef %11369)
  %11371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11372 = trunc i8 %11371 to i1
  br i1 %11372, label %11373, label %11395

11373:                                            ; preds = %11366
  %11374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11375 = call i32 @fileno(ptr noundef %11374) #10
  %11376 = call i32 @isatty(i32 noundef %11375) #10
  %11377 = icmp ne i32 %11376, 0
  br i1 %11377, label %11378, label %11395

11378:                                            ; preds = %11373
  %11379 = load i32, ptr %240, align 4, !tbaa !5
  %11380 = call ptr @__errno_location() #11
  store i32 %11379, ptr %11380, align 4, !tbaa !5
  %11381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11382 = load i32, ptr @test_count, align 4, !tbaa !5
  %11383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11384 = load i32, ptr %11383, align 4, !tbaa !5
  %11385 = call ptr @s2n_strerror(i32 noundef %11384, ptr noundef @.str.10)
  %11386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11387 = load i32, ptr %11386, align 4, !tbaa !5
  %11388 = call ptr @s2n_strerror_debug(i32 noundef %11387, ptr noundef @.str.10)
  %11389 = call ptr @__errno_location() #11
  %11390 = load i32, ptr %11389, align 4, !tbaa !5
  %11391 = call ptr @strerror(i32 noundef %11390) #10
  %11392 = call ptr @__errno_location() #11
  %11393 = load i32, ptr %11392, align 4, !tbaa !5
  %11394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11381, ptr noundef @.str.8, i32 noundef %11382, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 408, ptr noundef %11385, ptr noundef %11388, ptr noundef %11391, i32 noundef %11393) #10
  br label %11412

11395:                                            ; preds = %11373, %11366
  %11396 = load i32, ptr %240, align 4, !tbaa !5
  %11397 = call ptr @__errno_location() #11
  store i32 %11396, ptr %11397, align 4, !tbaa !5
  %11398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11399 = load i32, ptr @test_count, align 4, !tbaa !5
  %11400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11401 = load i32, ptr %11400, align 4, !tbaa !5
  %11402 = call ptr @s2n_strerror(i32 noundef %11401, ptr noundef @.str.10)
  %11403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11404 = load i32, ptr %11403, align 4, !tbaa !5
  %11405 = call ptr @s2n_strerror_debug(i32 noundef %11404, ptr noundef @.str.10)
  %11406 = call ptr @__errno_location() #11
  %11407 = load i32, ptr %11406, align 4, !tbaa !5
  %11408 = call ptr @strerror(i32 noundef %11407) #10
  %11409 = call ptr @__errno_location() #11
  %11410 = load i32, ptr %11409, align 4, !tbaa !5
  %11411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11398, ptr noundef @.str.11, i32 noundef %11399, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 408, ptr noundef %11402, ptr noundef %11405, ptr noundef %11408, i32 noundef %11410) #10
  br label %11412

11412:                                            ; preds = %11395, %11378
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #10
  br label %11413

11413:                                            ; preds = %11412
  br label %11414

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

11415:                                            ; No predecessors!
  br label %11416

11416:                                            ; preds = %11415
  br label %11417

11417:                                            ; preds = %11416, %11357
  br label %11418

11418:                                            ; preds = %11417
  br label %11419

11419:                                            ; preds = %11418
  br label %11420

11420:                                            ; preds = %11419
  br label %11421

11421:                                            ; preds = %11420
  br label %11422

11422:                                            ; preds = %11421
  %11423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11423, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11424 = call ptr @__errno_location() #11
  store i32 0, ptr %11424, align 4, !tbaa !5
  br label %11425

11425:                                            ; preds = %11422
  br label %11426

11426:                                            ; preds = %11425
  br label %11427

11427:                                            ; preds = %11426
  br label %11428

11428:                                            ; preds = %11427
  br label %11429

11429:                                            ; preds = %11428
  %11430 = load i32, ptr @test_count, align 4, !tbaa !5
  %11431 = add nsw i32 %11430, 1
  store i32 %11431, ptr @test_count, align 4, !tbaa !5
  %11432 = load ptr, ptr %224, align 8, !tbaa !9
  %11433 = getelementptr inbounds %struct.s2n_connection, ptr %11432, i32 0, i32 17
  %11434 = load i64, ptr %11433, align 8, !tbaa !50
  %11435 = icmp ugt i64 %11434, 0
  br i1 %11435, label %11489, label %11436

11436:                                            ; preds = %11429
  br label %11437

11437:                                            ; preds = %11436
  br label %11438

11438:                                            ; preds = %11437
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #10
  %11439 = call ptr @__errno_location() #11
  %11440 = load i32, ptr %11439, align 4, !tbaa !5
  store i32 %11440, ptr %241, align 4, !tbaa !5
  %11441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11442 = call i32 @s2n_print_stacktrace(ptr noundef %11441)
  %11443 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11444 = trunc i8 %11443 to i1
  br i1 %11444, label %11445, label %11467

11445:                                            ; preds = %11438
  %11446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11447 = call i32 @fileno(ptr noundef %11446) #10
  %11448 = call i32 @isatty(i32 noundef %11447) #10
  %11449 = icmp ne i32 %11448, 0
  br i1 %11449, label %11450, label %11467

11450:                                            ; preds = %11445
  %11451 = load i32, ptr %241, align 4, !tbaa !5
  %11452 = call ptr @__errno_location() #11
  store i32 %11451, ptr %11452, align 4, !tbaa !5
  %11453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11454 = load i32, ptr @test_count, align 4, !tbaa !5
  %11455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11456 = load i32, ptr %11455, align 4, !tbaa !5
  %11457 = call ptr @s2n_strerror(i32 noundef %11456, ptr noundef @.str.10)
  %11458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11459 = load i32, ptr %11458, align 4, !tbaa !5
  %11460 = call ptr @s2n_strerror_debug(i32 noundef %11459, ptr noundef @.str.10)
  %11461 = call ptr @__errno_location() #11
  %11462 = load i32, ptr %11461, align 4, !tbaa !5
  %11463 = call ptr @strerror(i32 noundef %11462) #10
  %11464 = call ptr @__errno_location() #11
  %11465 = load i32, ptr %11464, align 4, !tbaa !5
  %11466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11453, ptr noundef @.str.8, i32 noundef %11454, ptr noundef @.str.72, ptr noundef @.str.7, i32 noundef 411, ptr noundef %11457, ptr noundef %11460, ptr noundef %11463, i32 noundef %11465) #10
  br label %11484

11467:                                            ; preds = %11445, %11438
  %11468 = load i32, ptr %241, align 4, !tbaa !5
  %11469 = call ptr @__errno_location() #11
  store i32 %11468, ptr %11469, align 4, !tbaa !5
  %11470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11471 = load i32, ptr @test_count, align 4, !tbaa !5
  %11472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11473 = load i32, ptr %11472, align 4, !tbaa !5
  %11474 = call ptr @s2n_strerror(i32 noundef %11473, ptr noundef @.str.10)
  %11475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11476 = load i32, ptr %11475, align 4, !tbaa !5
  %11477 = call ptr @s2n_strerror_debug(i32 noundef %11476, ptr noundef @.str.10)
  %11478 = call ptr @__errno_location() #11
  %11479 = load i32, ptr %11478, align 4, !tbaa !5
  %11480 = call ptr @strerror(i32 noundef %11479) #10
  %11481 = call ptr @__errno_location() #11
  %11482 = load i32, ptr %11481, align 4, !tbaa !5
  %11483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11470, ptr noundef @.str.11, i32 noundef %11471, ptr noundef @.str.72, ptr noundef @.str.7, i32 noundef 411, ptr noundef %11474, ptr noundef %11477, ptr noundef %11480, i32 noundef %11482) #10
  br label %11484

11484:                                            ; preds = %11467, %11450
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #10
  br label %11485

11485:                                            ; preds = %11484
  br label %11486

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

11487:                                            ; No predecessors!
  br label %11488

11488:                                            ; preds = %11487
  br label %11489

11489:                                            ; preds = %11488, %11429
  br label %11490

11490:                                            ; preds = %11489
  br label %11491

11491:                                            ; preds = %11490
  %11492 = load ptr, ptr %224, align 8, !tbaa !9
  %11493 = getelementptr inbounds %struct.s2n_connection, ptr %11492, i32 0, i32 15
  %11494 = getelementptr inbounds %struct.s2n_timer, ptr %11493, i32 0, i32 0
  store i64 0, ptr %11494, align 8, !tbaa !51
  br label %11495

11495:                                            ; preds = %11491
  %11496 = load i32, ptr @test_count, align 4, !tbaa !5
  %11497 = add nsw i32 %11496, 1
  store i32 %11497, ptr @test_count, align 4, !tbaa !5
  %11498 = load ptr, ptr %224, align 8, !tbaa !9
  %11499 = call i32 @s2n_shutdown(ptr noundef %11498, ptr noundef %229)
  %11500 = icmp eq i32 %11499, -1
  br i1 %11500, label %11501, label %11554

11501:                                            ; preds = %11495
  br label %11502

11502:                                            ; preds = %11501
  br label %11503

11503:                                            ; preds = %11502
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #10
  %11504 = call ptr @__errno_location() #11
  %11505 = load i32, ptr %11504, align 4, !tbaa !5
  store i32 %11505, ptr %242, align 4, !tbaa !5
  %11506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11507 = call i32 @s2n_print_stacktrace(ptr noundef %11506)
  %11508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11509 = trunc i8 %11508 to i1
  br i1 %11509, label %11510, label %11532

11510:                                            ; preds = %11503
  %11511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11512 = call i32 @fileno(ptr noundef %11511) #10
  %11513 = call i32 @isatty(i32 noundef %11512) #10
  %11514 = icmp ne i32 %11513, 0
  br i1 %11514, label %11515, label %11532

11515:                                            ; preds = %11510
  %11516 = load i32, ptr %242, align 4, !tbaa !5
  %11517 = call ptr @__errno_location() #11
  store i32 %11516, ptr %11517, align 4, !tbaa !5
  %11518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11519 = load i32, ptr @test_count, align 4, !tbaa !5
  %11520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11521 = load i32, ptr %11520, align 4, !tbaa !5
  %11522 = call ptr @s2n_strerror(i32 noundef %11521, ptr noundef @.str.10)
  %11523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11524 = load i32, ptr %11523, align 4, !tbaa !5
  %11525 = call ptr @s2n_strerror_debug(i32 noundef %11524, ptr noundef @.str.10)
  %11526 = call ptr @__errno_location() #11
  %11527 = load i32, ptr %11526, align 4, !tbaa !5
  %11528 = call ptr @strerror(i32 noundef %11527) #10
  %11529 = call ptr @__errno_location() #11
  %11530 = load i32, ptr %11529, align 4, !tbaa !5
  %11531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11518, ptr noundef @.str.8, i32 noundef %11519, ptr noundef @.str.30, ptr noundef @.str.7, i32 noundef 415, ptr noundef %11522, ptr noundef %11525, ptr noundef %11528, i32 noundef %11530) #10
  br label %11549

11532:                                            ; preds = %11510, %11503
  %11533 = load i32, ptr %242, align 4, !tbaa !5
  %11534 = call ptr @__errno_location() #11
  store i32 %11533, ptr %11534, align 4, !tbaa !5
  %11535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11536 = load i32, ptr @test_count, align 4, !tbaa !5
  %11537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11538 = load i32, ptr %11537, align 4, !tbaa !5
  %11539 = call ptr @s2n_strerror(i32 noundef %11538, ptr noundef @.str.10)
  %11540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11541 = load i32, ptr %11540, align 4, !tbaa !5
  %11542 = call ptr @s2n_strerror_debug(i32 noundef %11541, ptr noundef @.str.10)
  %11543 = call ptr @__errno_location() #11
  %11544 = load i32, ptr %11543, align 4, !tbaa !5
  %11545 = call ptr @strerror(i32 noundef %11544) #10
  %11546 = call ptr @__errno_location() #11
  %11547 = load i32, ptr %11546, align 4, !tbaa !5
  %11548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11535, ptr noundef @.str.11, i32 noundef %11536, ptr noundef @.str.30, ptr noundef @.str.7, i32 noundef 415, ptr noundef %11539, ptr noundef %11542, ptr noundef %11545, i32 noundef %11547) #10
  br label %11549

11549:                                            ; preds = %11532, %11515
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #10
  br label %11550

11550:                                            ; preds = %11549
  br label %11551

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

11552:                                            ; No predecessors!
  br label %11553

11553:                                            ; preds = %11552
  br label %11554

11554:                                            ; preds = %11553, %11495
  br label %11555

11555:                                            ; preds = %11554
  br label %11556

11556:                                            ; preds = %11555
  br label %11557

11557:                                            ; preds = %11556
  %11558 = load i32, ptr @test_count, align 4, !tbaa !5
  %11559 = add nsw i32 %11558, 1
  store i32 %11559, ptr @test_count, align 4, !tbaa !5
  %11560 = load ptr, ptr %224, align 8, !tbaa !9
  %11561 = getelementptr inbounds %struct.s2n_connection, ptr %11560, i32 0, i32 51
  %11562 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %11561)
  br i1 %11562, label %11563, label %11616

11563:                                            ; preds = %11557
  br label %11564

11564:                                            ; preds = %11563
  br label %11565

11565:                                            ; preds = %11564
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #10
  %11566 = call ptr @__errno_location() #11
  %11567 = load i32, ptr %11566, align 4, !tbaa !5
  store i32 %11567, ptr %243, align 4, !tbaa !5
  %11568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11569 = call i32 @s2n_print_stacktrace(ptr noundef %11568)
  %11570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11571 = trunc i8 %11570 to i1
  br i1 %11571, label %11572, label %11594

11572:                                            ; preds = %11565
  %11573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11574 = call i32 @fileno(ptr noundef %11573) #10
  %11575 = call i32 @isatty(i32 noundef %11574) #10
  %11576 = icmp ne i32 %11575, 0
  br i1 %11576, label %11577, label %11594

11577:                                            ; preds = %11572
  %11578 = load i32, ptr %243, align 4, !tbaa !5
  %11579 = call ptr @__errno_location() #11
  store i32 %11578, ptr %11579, align 4, !tbaa !5
  %11580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11581 = load i32, ptr @test_count, align 4, !tbaa !5
  %11582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11583 = load i32, ptr %11582, align 4, !tbaa !5
  %11584 = call ptr @s2n_strerror(i32 noundef %11583, ptr noundef @.str.10)
  %11585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11586 = load i32, ptr %11585, align 4, !tbaa !5
  %11587 = call ptr @s2n_strerror_debug(i32 noundef %11586, ptr noundef @.str.10)
  %11588 = call ptr @__errno_location() #11
  %11589 = load i32, ptr %11588, align 4, !tbaa !5
  %11590 = call ptr @strerror(i32 noundef %11589) #10
  %11591 = call ptr @__errno_location() #11
  %11592 = load i32, ptr %11591, align 4, !tbaa !5
  %11593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11580, ptr noundef @.str.8, i32 noundef %11581, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 416, ptr noundef %11584, ptr noundef %11587, ptr noundef %11590, i32 noundef %11592) #10
  br label %11611

11594:                                            ; preds = %11572, %11565
  %11595 = load i32, ptr %243, align 4, !tbaa !5
  %11596 = call ptr @__errno_location() #11
  store i32 %11595, ptr %11596, align 4, !tbaa !5
  %11597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11598 = load i32, ptr @test_count, align 4, !tbaa !5
  %11599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11600 = load i32, ptr %11599, align 4, !tbaa !5
  %11601 = call ptr @s2n_strerror(i32 noundef %11600, ptr noundef @.str.10)
  %11602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11603 = load i32, ptr %11602, align 4, !tbaa !5
  %11604 = call ptr @s2n_strerror_debug(i32 noundef %11603, ptr noundef @.str.10)
  %11605 = call ptr @__errno_location() #11
  %11606 = load i32, ptr %11605, align 4, !tbaa !5
  %11607 = call ptr @strerror(i32 noundef %11606) #10
  %11608 = call ptr @__errno_location() #11
  %11609 = load i32, ptr %11608, align 4, !tbaa !5
  %11610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11597, ptr noundef @.str.11, i32 noundef %11598, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 416, ptr noundef %11601, ptr noundef %11604, ptr noundef %11607, i32 noundef %11609) #10
  br label %11611

11611:                                            ; preds = %11594, %11577
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #10
  br label %11612

11612:                                            ; preds = %11611
  br label %11613

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

11614:                                            ; No predecessors!
  br label %11615

11615:                                            ; preds = %11614
  br label %11616

11616:                                            ; preds = %11615, %11557
  br label %11617

11617:                                            ; preds = %11616
  br label %11618

11618:                                            ; preds = %11617
  call void @llvm.lifetime.end.p0(i64 1, ptr %237) #10
  call void @llvm.lifetime.end.p0(i64 5, ptr %235) #10
  %11619 = call i32 @s2n_stuffer_free(ptr noundef %232)
  call void @llvm.lifetime.end.p0(i64 40, ptr %232) #10
  %11620 = call i32 @s2n_stuffer_free(ptr noundef %230)
  call void @llvm.lifetime.end.p0(i64 40, ptr %230) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #10
  %11621 = call i32 @s2n_connection_ptr_free(ptr noundef %224)
  %11622 = getelementptr inbounds %struct.s2n_result, ptr %244, i32 0, i32 0
  store i32 %11621, ptr %11622, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %224) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %245) #10
  %11623 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %11623, ptr %245, align 8, !tbaa !9
  br label %11624

11624:                                            ; preds = %11618
  %11625 = load i32, ptr @test_count, align 4, !tbaa !5
  %11626 = add nsw i32 %11625, 1
  store i32 %11626, ptr @test_count, align 4, !tbaa !5
  %11627 = load ptr, ptr %245, align 8, !tbaa !9
  %11628 = icmp eq ptr %11627, null
  br i1 %11628, label %11629, label %11682

11629:                                            ; preds = %11624
  br label %11630

11630:                                            ; preds = %11629
  br label %11631

11631:                                            ; preds = %11630
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #10
  %11632 = call ptr @__errno_location() #11
  %11633 = load i32, ptr %11632, align 4, !tbaa !5
  store i32 %11633, ptr %246, align 4, !tbaa !5
  %11634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11635 = call i32 @s2n_print_stacktrace(ptr noundef %11634)
  %11636 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11637 = trunc i8 %11636 to i1
  br i1 %11637, label %11638, label %11660

11638:                                            ; preds = %11631
  %11639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11640 = call i32 @fileno(ptr noundef %11639) #10
  %11641 = call i32 @isatty(i32 noundef %11640) #10
  %11642 = icmp ne i32 %11641, 0
  br i1 %11642, label %11643, label %11660

11643:                                            ; preds = %11638
  %11644 = load i32, ptr %246, align 4, !tbaa !5
  %11645 = call ptr @__errno_location() #11
  store i32 %11644, ptr %11645, align 4, !tbaa !5
  %11646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11647 = load i32, ptr @test_count, align 4, !tbaa !5
  %11648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11649 = load i32, ptr %11648, align 4, !tbaa !5
  %11650 = call ptr @s2n_strerror(i32 noundef %11649, ptr noundef @.str.10)
  %11651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11652 = load i32, ptr %11651, align 4, !tbaa !5
  %11653 = call ptr @s2n_strerror_debug(i32 noundef %11652, ptr noundef @.str.10)
  %11654 = call ptr @__errno_location() #11
  %11655 = load i32, ptr %11654, align 4, !tbaa !5
  %11656 = call ptr @strerror(i32 noundef %11655) #10
  %11657 = call ptr @__errno_location() #11
  %11658 = load i32, ptr %11657, align 4, !tbaa !5
  %11659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11646, ptr noundef @.str.8, i32 noundef %11647, ptr noundef @.str.73, ptr noundef @.str.7, i32 noundef 423, ptr noundef %11650, ptr noundef %11653, ptr noundef %11656, i32 noundef %11658) #10
  br label %11677

11660:                                            ; preds = %11638, %11631
  %11661 = load i32, ptr %246, align 4, !tbaa !5
  %11662 = call ptr @__errno_location() #11
  store i32 %11661, ptr %11662, align 4, !tbaa !5
  %11663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11664 = load i32, ptr @test_count, align 4, !tbaa !5
  %11665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11666 = load i32, ptr %11665, align 4, !tbaa !5
  %11667 = call ptr @s2n_strerror(i32 noundef %11666, ptr noundef @.str.10)
  %11668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11669 = load i32, ptr %11668, align 4, !tbaa !5
  %11670 = call ptr @s2n_strerror_debug(i32 noundef %11669, ptr noundef @.str.10)
  %11671 = call ptr @__errno_location() #11
  %11672 = load i32, ptr %11671, align 4, !tbaa !5
  %11673 = call ptr @strerror(i32 noundef %11672) #10
  %11674 = call ptr @__errno_location() #11
  %11675 = load i32, ptr %11674, align 4, !tbaa !5
  %11676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11663, ptr noundef @.str.11, i32 noundef %11664, ptr noundef @.str.73, ptr noundef @.str.7, i32 noundef 423, ptr noundef %11667, ptr noundef %11670, ptr noundef %11673, i32 noundef %11675) #10
  br label %11677

11677:                                            ; preds = %11660, %11643
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #10
  br label %11678

11678:                                            ; preds = %11677
  br label %11679

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

11680:                                            ; No predecessors!
  br label %11681

11681:                                            ; preds = %11680
  br label %11682

11682:                                            ; preds = %11681, %11624
  br label %11683

11683:                                            ; preds = %11682
  br label %11684

11684:                                            ; preds = %11683
  br label %11685

11685:                                            ; preds = %11684
  %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 %245, align 8, !tbaa !9
  %11689 = load ptr, ptr %14, align 8, !tbaa !9
  %11690 = call i32 @s2n_connection_set_config(ptr noundef %11688, ptr noundef %11689)
  %11691 = icmp eq i32 %11690, -1
  br i1 %11691, label %11692, label %11745

11692:                                            ; preds = %11685
  br label %11693

11693:                                            ; preds = %11692
  br label %11694

11694:                                            ; preds = %11693
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #10
  %11695 = call ptr @__errno_location() #11
  %11696 = load i32, ptr %11695, align 4, !tbaa !5
  store i32 %11696, ptr %247, align 4, !tbaa !5
  %11697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11698 = call i32 @s2n_print_stacktrace(ptr noundef %11697)
  %11699 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11700 = trunc i8 %11699 to i1
  br i1 %11700, label %11701, label %11723

11701:                                            ; preds = %11694
  %11702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11703 = call i32 @fileno(ptr noundef %11702) #10
  %11704 = call i32 @isatty(i32 noundef %11703) #10
  %11705 = icmp ne i32 %11704, 0
  br i1 %11705, label %11706, label %11723

11706:                                            ; preds = %11701
  %11707 = load i32, ptr %247, align 4, !tbaa !5
  %11708 = call ptr @__errno_location() #11
  store i32 %11707, ptr %11708, align 4, !tbaa !5
  %11709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11710 = load i32, ptr @test_count, align 4, !tbaa !5
  %11711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11712 = load i32, ptr %11711, align 4, !tbaa !5
  %11713 = call ptr @s2n_strerror(i32 noundef %11712, ptr noundef @.str.10)
  %11714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11715 = load i32, ptr %11714, align 4, !tbaa !5
  %11716 = call ptr @s2n_strerror_debug(i32 noundef %11715, ptr noundef @.str.10)
  %11717 = call ptr @__errno_location() #11
  %11718 = load i32, ptr %11717, align 4, !tbaa !5
  %11719 = call ptr @strerror(i32 noundef %11718) #10
  %11720 = call ptr @__errno_location() #11
  %11721 = load i32, ptr %11720, align 4, !tbaa !5
  %11722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11709, ptr noundef @.str.8, i32 noundef %11710, ptr noundef @.str.74, ptr noundef @.str.7, i32 noundef 424, ptr noundef %11713, ptr noundef %11716, ptr noundef %11719, i32 noundef %11721) #10
  br label %11740

11723:                                            ; preds = %11701, %11694
  %11724 = load i32, ptr %247, align 4, !tbaa !5
  %11725 = call ptr @__errno_location() #11
  store i32 %11724, ptr %11725, align 4, !tbaa !5
  %11726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11727 = load i32, ptr @test_count, align 4, !tbaa !5
  %11728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11729 = load i32, ptr %11728, align 4, !tbaa !5
  %11730 = call ptr @s2n_strerror(i32 noundef %11729, ptr noundef @.str.10)
  %11731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11732 = load i32, ptr %11731, align 4, !tbaa !5
  %11733 = call ptr @s2n_strerror_debug(i32 noundef %11732, ptr noundef @.str.10)
  %11734 = call ptr @__errno_location() #11
  %11735 = load i32, ptr %11734, align 4, !tbaa !5
  %11736 = call ptr @strerror(i32 noundef %11735) #10
  %11737 = call ptr @__errno_location() #11
  %11738 = load i32, ptr %11737, align 4, !tbaa !5
  %11739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11726, ptr noundef @.str.11, i32 noundef %11727, ptr noundef @.str.74, ptr noundef @.str.7, i32 noundef 424, ptr noundef %11730, ptr noundef %11733, ptr noundef %11736, i32 noundef %11738) #10
  br label %11740

11740:                                            ; preds = %11723, %11706
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #10
  br label %11741

11741:                                            ; preds = %11740
  br label %11742

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

11743:                                            ; No predecessors!
  br label %11744

11744:                                            ; preds = %11743
  br label %11745

11745:                                            ; preds = %11744, %11685
  br label %11746

11746:                                            ; preds = %11745
  br label %11747

11747:                                            ; preds = %11746
  call void @llvm.lifetime.start.p0(i64 8, ptr %248) #10
  %11748 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %11748, ptr %248, align 8, !tbaa !9
  br label %11749

11749:                                            ; preds = %11747
  %11750 = load i32, ptr @test_count, align 4, !tbaa !5
  %11751 = add nsw i32 %11750, 1
  store i32 %11751, ptr @test_count, align 4, !tbaa !5
  %11752 = load ptr, ptr %248, align 8, !tbaa !9
  %11753 = icmp eq ptr %11752, null
  br i1 %11753, label %11754, label %11807

11754:                                            ; preds = %11749
  br label %11755

11755:                                            ; preds = %11754
  br label %11756

11756:                                            ; preds = %11755
  call void @llvm.lifetime.start.p0(i64 4, ptr %249) #10
  %11757 = call ptr @__errno_location() #11
  %11758 = load i32, ptr %11757, align 4, !tbaa !5
  store i32 %11758, ptr %249, align 4, !tbaa !5
  %11759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11760 = call i32 @s2n_print_stacktrace(ptr noundef %11759)
  %11761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11762 = trunc i8 %11761 to i1
  br i1 %11762, label %11763, label %11785

11763:                                            ; preds = %11756
  %11764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11765 = call i32 @fileno(ptr noundef %11764) #10
  %11766 = call i32 @isatty(i32 noundef %11765) #10
  %11767 = icmp ne i32 %11766, 0
  br i1 %11767, label %11768, label %11785

11768:                                            ; preds = %11763
  %11769 = load i32, ptr %249, align 4, !tbaa !5
  %11770 = call ptr @__errno_location() #11
  store i32 %11769, ptr %11770, align 4, !tbaa !5
  %11771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11772 = load i32, ptr @test_count, align 4, !tbaa !5
  %11773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11774 = load i32, ptr %11773, align 4, !tbaa !5
  %11775 = call ptr @s2n_strerror(i32 noundef %11774, ptr noundef @.str.10)
  %11776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11777 = load i32, ptr %11776, align 4, !tbaa !5
  %11778 = call ptr @s2n_strerror_debug(i32 noundef %11777, ptr noundef @.str.10)
  %11779 = call ptr @__errno_location() #11
  %11780 = load i32, ptr %11779, align 4, !tbaa !5
  %11781 = call ptr @strerror(i32 noundef %11780) #10
  %11782 = call ptr @__errno_location() #11
  %11783 = load i32, ptr %11782, align 4, !tbaa !5
  %11784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11771, ptr noundef @.str.8, i32 noundef %11772, ptr noundef @.str.75, ptr noundef @.str.7, i32 noundef 428, ptr noundef %11775, ptr noundef %11778, ptr noundef %11781, i32 noundef %11783) #10
  br label %11802

11785:                                            ; preds = %11763, %11756
  %11786 = load i32, ptr %249, align 4, !tbaa !5
  %11787 = call ptr @__errno_location() #11
  store i32 %11786, ptr %11787, align 4, !tbaa !5
  %11788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11789 = load i32, ptr @test_count, align 4, !tbaa !5
  %11790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11791 = load i32, ptr %11790, align 4, !tbaa !5
  %11792 = call ptr @s2n_strerror(i32 noundef %11791, ptr noundef @.str.10)
  %11793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11794 = load i32, ptr %11793, align 4, !tbaa !5
  %11795 = call ptr @s2n_strerror_debug(i32 noundef %11794, ptr noundef @.str.10)
  %11796 = call ptr @__errno_location() #11
  %11797 = load i32, ptr %11796, align 4, !tbaa !5
  %11798 = call ptr @strerror(i32 noundef %11797) #10
  %11799 = call ptr @__errno_location() #11
  %11800 = load i32, ptr %11799, align 4, !tbaa !5
  %11801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11788, ptr noundef @.str.11, i32 noundef %11789, ptr noundef @.str.75, ptr noundef @.str.7, i32 noundef 428, ptr noundef %11792, ptr noundef %11795, ptr noundef %11798, i32 noundef %11800) #10
  br label %11802

11802:                                            ; preds = %11785, %11768
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #10
  br label %11803

11803:                                            ; preds = %11802
  br label %11804

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

11805:                                            ; No predecessors!
  br label %11806

11806:                                            ; preds = %11805
  br label %11807

11807:                                            ; preds = %11806, %11749
  br label %11808

11808:                                            ; preds = %11807
  br label %11809

11809:                                            ; preds = %11808
  br label %11810

11810:                                            ; preds = %11809
  %11811 = load i32, ptr @test_count, align 4, !tbaa !5
  %11812 = add nsw i32 %11811, 1
  store i32 %11812, ptr @test_count, align 4, !tbaa !5
  %11813 = load ptr, ptr %248, align 8, !tbaa !9
  %11814 = load ptr, ptr %14, align 8, !tbaa !9
  %11815 = call i32 @s2n_connection_set_config(ptr noundef %11813, ptr noundef %11814)
  %11816 = icmp eq i32 %11815, -1
  br i1 %11816, label %11817, label %11870

11817:                                            ; preds = %11810
  br label %11818

11818:                                            ; preds = %11817
  br label %11819

11819:                                            ; preds = %11818
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #10
  %11820 = call ptr @__errno_location() #11
  %11821 = load i32, ptr %11820, align 4, !tbaa !5
  store i32 %11821, ptr %250, align 4, !tbaa !5
  %11822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11823 = call i32 @s2n_print_stacktrace(ptr noundef %11822)
  %11824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11825 = trunc i8 %11824 to i1
  br i1 %11825, label %11826, label %11848

11826:                                            ; preds = %11819
  %11827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11828 = call i32 @fileno(ptr noundef %11827) #10
  %11829 = call i32 @isatty(i32 noundef %11828) #10
  %11830 = icmp ne i32 %11829, 0
  br i1 %11830, label %11831, label %11848

11831:                                            ; preds = %11826
  %11832 = load i32, ptr %250, align 4, !tbaa !5
  %11833 = call ptr @__errno_location() #11
  store i32 %11832, ptr %11833, align 4, !tbaa !5
  %11834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11835 = load i32, ptr @test_count, align 4, !tbaa !5
  %11836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11837 = load i32, ptr %11836, align 4, !tbaa !5
  %11838 = call ptr @s2n_strerror(i32 noundef %11837, ptr noundef @.str.10)
  %11839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11840 = load i32, ptr %11839, align 4, !tbaa !5
  %11841 = call ptr @s2n_strerror_debug(i32 noundef %11840, ptr noundef @.str.10)
  %11842 = call ptr @__errno_location() #11
  %11843 = load i32, ptr %11842, align 4, !tbaa !5
  %11844 = call ptr @strerror(i32 noundef %11843) #10
  %11845 = call ptr @__errno_location() #11
  %11846 = load i32, ptr %11845, align 4, !tbaa !5
  %11847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11834, ptr noundef @.str.8, i32 noundef %11835, ptr noundef @.str.76, ptr noundef @.str.7, i32 noundef 429, ptr noundef %11838, ptr noundef %11841, ptr noundef %11844, i32 noundef %11846) #10
  br label %11865

11848:                                            ; preds = %11826, %11819
  %11849 = load i32, ptr %250, align 4, !tbaa !5
  %11850 = call ptr @__errno_location() #11
  store i32 %11849, ptr %11850, align 4, !tbaa !5
  %11851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11852 = load i32, ptr @test_count, align 4, !tbaa !5
  %11853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11854 = load i32, ptr %11853, align 4, !tbaa !5
  %11855 = call ptr @s2n_strerror(i32 noundef %11854, ptr noundef @.str.10)
  %11856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11857 = load i32, ptr %11856, align 4, !tbaa !5
  %11858 = call ptr @s2n_strerror_debug(i32 noundef %11857, ptr noundef @.str.10)
  %11859 = call ptr @__errno_location() #11
  %11860 = load i32, ptr %11859, align 4, !tbaa !5
  %11861 = call ptr @strerror(i32 noundef %11860) #10
  %11862 = call ptr @__errno_location() #11
  %11863 = load i32, ptr %11862, align 4, !tbaa !5
  %11864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11851, ptr noundef @.str.11, i32 noundef %11852, ptr noundef @.str.76, ptr noundef @.str.7, i32 noundef 429, ptr noundef %11855, ptr noundef %11858, ptr noundef %11861, i32 noundef %11863) #10
  br label %11865

11865:                                            ; preds = %11848, %11831
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #10
  br label %11866

11866:                                            ; preds = %11865
  br label %11867

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

11868:                                            ; No predecessors!
  br label %11869

11869:                                            ; preds = %11868
  br label %11870

11870:                                            ; preds = %11869, %11810
  br label %11871

11871:                                            ; preds = %11870
  br label %11872

11872:                                            ; preds = %11871
  call void @llvm.lifetime.start.p0(i64 80, ptr %251) #10
  call void @llvm.memset.p0.i64(ptr align 8 %251, i8 0, i64 80, i1 false)
  br label %11873

11873:                                            ; preds = %11872
  %11874 = load i32, ptr @test_count, align 4, !tbaa !5
  %11875 = add nsw i32 %11874, 1
  store i32 %11875, ptr @test_count, align 4, !tbaa !5
  %11876 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %251)
  %11877 = getelementptr inbounds %struct.s2n_result, ptr %252, i32 0, i32 0
  store i32 %11876, ptr %11877, align 4
  %11878 = getelementptr inbounds %struct.s2n_result, ptr %252, i32 0, i32 0
  %11879 = load i32, ptr %11878, align 4
  %11880 = call zeroext i1 @s2n_result_is_ok(i32 %11879)
  br i1 %11880, label %11934, label %11881

11881:                                            ; preds = %11873
  br label %11882

11882:                                            ; preds = %11881
  br label %11883

11883:                                            ; preds = %11882
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #10
  %11884 = call ptr @__errno_location() #11
  %11885 = load i32, ptr %11884, align 4, !tbaa !5
  store i32 %11885, ptr %253, align 4, !tbaa !5
  %11886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11887 = call i32 @s2n_print_stacktrace(ptr noundef %11886)
  %11888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11889 = trunc i8 %11888 to i1
  br i1 %11889, label %11890, label %11912

11890:                                            ; preds = %11883
  %11891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11892 = call i32 @fileno(ptr noundef %11891) #10
  %11893 = call i32 @isatty(i32 noundef %11892) #10
  %11894 = icmp ne i32 %11893, 0
  br i1 %11894, label %11895, label %11912

11895:                                            ; preds = %11890
  %11896 = load i32, ptr %253, align 4, !tbaa !5
  %11897 = call ptr @__errno_location() #11
  store i32 %11896, ptr %11897, align 4, !tbaa !5
  %11898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11899 = load i32, ptr @test_count, align 4, !tbaa !5
  %11900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11901 = load i32, ptr %11900, align 4, !tbaa !5
  %11902 = call ptr @s2n_strerror(i32 noundef %11901, ptr noundef @.str.10)
  %11903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11904 = load i32, ptr %11903, align 4, !tbaa !5
  %11905 = call ptr @s2n_strerror_debug(i32 noundef %11904, ptr noundef @.str.10)
  %11906 = call ptr @__errno_location() #11
  %11907 = load i32, ptr %11906, align 4, !tbaa !5
  %11908 = call ptr @strerror(i32 noundef %11907) #10
  %11909 = call ptr @__errno_location() #11
  %11910 = load i32, ptr %11909, align 4, !tbaa !5
  %11911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11898, ptr noundef @.str.8, i32 noundef %11899, ptr noundef @.str.77, ptr noundef @.str.7, i32 noundef 433, ptr noundef %11902, ptr noundef %11905, ptr noundef %11908, i32 noundef %11910) #10
  br label %11929

11912:                                            ; preds = %11890, %11883
  %11913 = load i32, ptr %253, align 4, !tbaa !5
  %11914 = call ptr @__errno_location() #11
  store i32 %11913, ptr %11914, align 4, !tbaa !5
  %11915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11916 = load i32, ptr @test_count, align 4, !tbaa !5
  %11917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11918 = load i32, ptr %11917, align 4, !tbaa !5
  %11919 = call ptr @s2n_strerror(i32 noundef %11918, ptr noundef @.str.10)
  %11920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11921 = load i32, ptr %11920, align 4, !tbaa !5
  %11922 = call ptr @s2n_strerror_debug(i32 noundef %11921, ptr noundef @.str.10)
  %11923 = call ptr @__errno_location() #11
  %11924 = load i32, ptr %11923, align 4, !tbaa !5
  %11925 = call ptr @strerror(i32 noundef %11924) #10
  %11926 = call ptr @__errno_location() #11
  %11927 = load i32, ptr %11926, align 4, !tbaa !5
  %11928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11915, ptr noundef @.str.11, i32 noundef %11916, ptr noundef @.str.77, ptr noundef @.str.7, i32 noundef 433, ptr noundef %11919, ptr noundef %11922, ptr noundef %11925, i32 noundef %11927) #10
  br label %11929

11929:                                            ; preds = %11912, %11895
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #10
  br label %11930

11930:                                            ; preds = %11929
  br label %11931

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

11932:                                            ; No predecessors!
  br label %11933

11933:                                            ; preds = %11932
  br label %11934

11934:                                            ; preds = %11933, %11873
  br label %11935

11935:                                            ; preds = %11934
  br label %11936

11936:                                            ; preds = %11935
  br label %11937

11937:                                            ; preds = %11936
  %11938 = load i32, ptr @test_count, align 4, !tbaa !5
  %11939 = add nsw i32 %11938, 1
  store i32 %11939, ptr @test_count, align 4, !tbaa !5
  %11940 = load ptr, ptr %245, align 8, !tbaa !9
  %11941 = load ptr, ptr %248, align 8, !tbaa !9
  %11942 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %11940, ptr noundef %11941, ptr noundef %251)
  %11943 = getelementptr inbounds %struct.s2n_result, ptr %254, i32 0, i32 0
  store i32 %11942, ptr %11943, align 4
  %11944 = getelementptr inbounds %struct.s2n_result, ptr %254, i32 0, i32 0
  %11945 = load i32, ptr %11944, align 4
  %11946 = call zeroext i1 @s2n_result_is_ok(i32 %11945)
  br i1 %11946, label %12000, label %11947

11947:                                            ; preds = %11937
  br label %11948

11948:                                            ; preds = %11947
  br label %11949

11949:                                            ; preds = %11948
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #10
  %11950 = call ptr @__errno_location() #11
  %11951 = load i32, ptr %11950, align 4, !tbaa !5
  store i32 %11951, ptr %255, align 4, !tbaa !5
  %11952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11953 = call i32 @s2n_print_stacktrace(ptr noundef %11952)
  %11954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11955 = trunc i8 %11954 to i1
  br i1 %11955, label %11956, label %11978

11956:                                            ; preds = %11949
  %11957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11958 = call i32 @fileno(ptr noundef %11957) #10
  %11959 = call i32 @isatty(i32 noundef %11958) #10
  %11960 = icmp ne i32 %11959, 0
  br i1 %11960, label %11961, label %11978

11961:                                            ; preds = %11956
  %11962 = load i32, ptr %255, align 4, !tbaa !5
  %11963 = call ptr @__errno_location() #11
  store i32 %11962, ptr %11963, align 4, !tbaa !5
  %11964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11965 = load i32, ptr @test_count, align 4, !tbaa !5
  %11966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11967 = load i32, ptr %11966, align 4, !tbaa !5
  %11968 = call ptr @s2n_strerror(i32 noundef %11967, ptr noundef @.str.10)
  %11969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11970 = load i32, ptr %11969, align 4, !tbaa !5
  %11971 = call ptr @s2n_strerror_debug(i32 noundef %11970, ptr noundef @.str.10)
  %11972 = call ptr @__errno_location() #11
  %11973 = load i32, ptr %11972, align 4, !tbaa !5
  %11974 = call ptr @strerror(i32 noundef %11973) #10
  %11975 = call ptr @__errno_location() #11
  %11976 = load i32, ptr %11975, align 4, !tbaa !5
  %11977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11964, ptr noundef @.str.8, i32 noundef %11965, ptr noundef @.str.78, ptr noundef @.str.7, i32 noundef 434, ptr noundef %11968, ptr noundef %11971, ptr noundef %11974, i32 noundef %11976) #10
  br label %11995

11978:                                            ; preds = %11956, %11949
  %11979 = load i32, ptr %255, align 4, !tbaa !5
  %11980 = call ptr @__errno_location() #11
  store i32 %11979, ptr %11980, align 4, !tbaa !5
  %11981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11982 = load i32, ptr @test_count, align 4, !tbaa !5
  %11983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11984 = load i32, ptr %11983, align 4, !tbaa !5
  %11985 = call ptr @s2n_strerror(i32 noundef %11984, ptr noundef @.str.10)
  %11986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11987 = load i32, ptr %11986, align 4, !tbaa !5
  %11988 = call ptr @s2n_strerror_debug(i32 noundef %11987, ptr noundef @.str.10)
  %11989 = call ptr @__errno_location() #11
  %11990 = load i32, ptr %11989, align 4, !tbaa !5
  %11991 = call ptr @strerror(i32 noundef %11990) #10
  %11992 = call ptr @__errno_location() #11
  %11993 = load i32, ptr %11992, align 4, !tbaa !5
  %11994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11981, ptr noundef @.str.11, i32 noundef %11982, ptr noundef @.str.78, ptr noundef @.str.7, i32 noundef 434, ptr noundef %11985, ptr noundef %11988, ptr noundef %11991, i32 noundef %11993) #10
  br label %11995

11995:                                            ; preds = %11978, %11961
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #10
  br label %11996

11996:                                            ; preds = %11995
  br label %11997

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

11998:                                            ; No predecessors!
  br label %11999

11999:                                            ; preds = %11998
  br label %12000

12000:                                            ; preds = %11999, %11937
  br label %12001

12001:                                            ; preds = %12000
  br label %12002

12002:                                            ; preds = %12001
  br label %12003

12003:                                            ; preds = %12002
  %12004 = load i32, ptr @test_count, align 4, !tbaa !5
  %12005 = add nsw i32 %12004, 1
  store i32 %12005, ptr @test_count, align 4, !tbaa !5
  %12006 = load ptr, ptr %248, align 8, !tbaa !9
  %12007 = load ptr, ptr %245, align 8, !tbaa !9
  %12008 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %12006, ptr noundef %12007)
  %12009 = icmp eq i32 %12008, -1
  br i1 %12009, label %12010, label %12063

12010:                                            ; preds = %12003
  br label %12011

12011:                                            ; preds = %12010
  br label %12012

12012:                                            ; preds = %12011
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #10
  %12013 = call ptr @__errno_location() #11
  %12014 = load i32, ptr %12013, align 4, !tbaa !5
  store i32 %12014, ptr %256, 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) #10
  %12022 = call i32 @isatty(i32 noundef %12021) #10
  %12023 = icmp ne i32 %12022, 0
  br i1 %12023, label %12024, label %12041

12024:                                            ; preds = %12019
  %12025 = load i32, ptr %256, align 4, !tbaa !5
  %12026 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %12035 = call ptr @__errno_location() #11
  %12036 = load i32, ptr %12035, align 4, !tbaa !5
  %12037 = call ptr @strerror(i32 noundef %12036) #10
  %12038 = call ptr @__errno_location() #11
  %12039 = load i32, ptr %12038, align 4, !tbaa !5
  %12040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12027, ptr noundef @.str.8, i32 noundef %12028, ptr noundef @.str.79, ptr noundef @.str.7, i32 noundef 435, ptr noundef %12031, ptr noundef %12034, ptr noundef %12037, i32 noundef %12039) #10
  br label %12058

12041:                                            ; preds = %12019, %12012
  %12042 = load i32, ptr %256, align 4, !tbaa !5
  %12043 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %12052 = call ptr @__errno_location() #11
  %12053 = load i32, ptr %12052, align 4, !tbaa !5
  %12054 = call ptr @strerror(i32 noundef %12053) #10
  %12055 = call ptr @__errno_location() #11
  %12056 = load i32, ptr %12055, align 4, !tbaa !5
  %12057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12044, ptr noundef @.str.11, i32 noundef %12045, ptr noundef @.str.79, ptr noundef @.str.7, i32 noundef 435, ptr noundef %12048, ptr noundef %12051, ptr noundef %12054, i32 noundef %12056) #10
  br label %12058

12058:                                            ; preds = %12041, %12024
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #10
  br label %12059

12059:                                            ; preds = %12058
  br label %12060

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

12061:                                            ; No predecessors!
  br label %12062

12062:                                            ; preds = %12061
  br label %12063

12063:                                            ; preds = %12062, %12003
  br label %12064

12064:                                            ; preds = %12063
  br label %12065

12065:                                            ; preds = %12064
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #10
  store i32 0, ptr %257, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 12, ptr %258) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %258, ptr align 1 @__const.main.test_data, i64 12, i1 false)
  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 %245, align 8, !tbaa !9
  %12070 = getelementptr inbounds [12 x i8], ptr %258, i64 0, i64 0
  %12071 = call i64 @s2n_send(ptr noundef %12069, ptr noundef %12070, i64 noundef 12, ptr noundef %257)
  %12072 = icmp eq i64 %12071, 12
  br i1 %12072, label %12126, label %12073

12073:                                            ; preds = %12066
  br label %12074

12074:                                            ; preds = %12073
  br label %12075

12075:                                            ; preds = %12074
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #10
  %12076 = call ptr @__errno_location() #11
  %12077 = load i32, ptr %12076, align 4, !tbaa !5
  store i32 %12077, ptr %259, align 4, !tbaa !5
  %12078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12079 = call i32 @s2n_print_stacktrace(ptr noundef %12078)
  %12080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12081 = trunc i8 %12080 to i1
  br i1 %12081, label %12082, label %12104

12082:                                            ; preds = %12075
  %12083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12084 = call i32 @fileno(ptr noundef %12083) #10
  %12085 = call i32 @isatty(i32 noundef %12084) #10
  %12086 = icmp ne i32 %12085, 0
  br i1 %12086, label %12087, label %12104

12087:                                            ; preds = %12082
  %12088 = load i32, ptr %259, align 4, !tbaa !5
  %12089 = call ptr @__errno_location() #11
  store i32 %12088, ptr %12089, align 4, !tbaa !5
  %12090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12091 = load i32, ptr @test_count, align 4, !tbaa !5
  %12092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12093 = load i32, ptr %12092, align 4, !tbaa !5
  %12094 = call ptr @s2n_strerror(i32 noundef %12093, ptr noundef @.str.10)
  %12095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12096 = load i32, ptr %12095, align 4, !tbaa !5
  %12097 = call ptr @s2n_strerror_debug(i32 noundef %12096, ptr noundef @.str.10)
  %12098 = call ptr @__errno_location() #11
  %12099 = load i32, ptr %12098, align 4, !tbaa !5
  %12100 = call ptr @strerror(i32 noundef %12099) #10
  %12101 = call ptr @__errno_location() #11
  %12102 = load i32, ptr %12101, align 4, !tbaa !5
  %12103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12090, ptr noundef @.str.8, i32 noundef %12091, ptr noundef @.str.80, ptr noundef @.str.7, i32 noundef 441, ptr noundef %12094, ptr noundef %12097, ptr noundef %12100, i32 noundef %12102) #10
  br label %12121

12104:                                            ; preds = %12082, %12075
  %12105 = load i32, ptr %259, align 4, !tbaa !5
  %12106 = call ptr @__errno_location() #11
  store i32 %12105, ptr %12106, align 4, !tbaa !5
  %12107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12108 = load i32, ptr @test_count, align 4, !tbaa !5
  %12109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12110 = load i32, ptr %12109, align 4, !tbaa !5
  %12111 = call ptr @s2n_strerror(i32 noundef %12110, ptr noundef @.str.10)
  %12112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12113 = load i32, ptr %12112, align 4, !tbaa !5
  %12114 = call ptr @s2n_strerror_debug(i32 noundef %12113, ptr noundef @.str.10)
  %12115 = call ptr @__errno_location() #11
  %12116 = load i32, ptr %12115, align 4, !tbaa !5
  %12117 = call ptr @strerror(i32 noundef %12116) #10
  %12118 = call ptr @__errno_location() #11
  %12119 = load i32, ptr %12118, align 4, !tbaa !5
  %12120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12107, ptr noundef @.str.11, i32 noundef %12108, ptr noundef @.str.80, ptr noundef @.str.7, i32 noundef 441, ptr noundef %12111, ptr noundef %12114, ptr noundef %12117, i32 noundef %12119) #10
  br label %12121

12121:                                            ; preds = %12104, %12087
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #10
  br label %12122

12122:                                            ; preds = %12121
  br label %12123

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

12124:                                            ; No predecessors!
  br label %12125

12125:                                            ; preds = %12124
  br label %12126

12126:                                            ; preds = %12125, %12066
  br label %12127

12127:                                            ; preds = %12126
  br label %12128

12128:                                            ; preds = %12127
  %12129 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %251, i32 0, i32 1
  %12130 = getelementptr inbounds %struct.s2n_stuffer, ptr %12129, i32 0, i32 2
  %12131 = load i32, ptr %12130, align 4, !tbaa !52
  %12132 = add i32 %12131, -1
  store i32 %12132, ptr %12130, align 4, !tbaa !52
  br label %12133

12133:                                            ; preds = %12128
  br label %12134

12134:                                            ; preds = %12133
  br label %12135

12135:                                            ; preds = %12134
  %12136 = load i32, ptr @test_count, align 4, !tbaa !5
  %12137 = add nsw i32 %12136, 1
  store i32 %12137, ptr @test_count, align 4, !tbaa !5
  %12138 = load ptr, ptr %248, align 8, !tbaa !9
  %12139 = getelementptr inbounds [12 x i8], ptr %258, i64 0, i64 0
  %12140 = call i64 @s2n_recv(ptr noundef %12138, ptr noundef %12139, i64 noundef 12, ptr noundef %257)
  %12141 = icmp eq i64 %12140, -1
  br i1 %12141, label %12195, label %12142

12142:                                            ; preds = %12135
  br label %12143

12143:                                            ; preds = %12142
  br label %12144

12144:                                            ; preds = %12143
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #10
  %12145 = call ptr @__errno_location() #11
  %12146 = load i32, ptr %12145, align 4, !tbaa !5
  store i32 %12146, ptr %260, align 4, !tbaa !5
  %12147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12148 = call i32 @s2n_print_stacktrace(ptr noundef %12147)
  %12149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12150 = trunc i8 %12149 to i1
  br i1 %12150, label %12151, label %12173

12151:                                            ; preds = %12144
  %12152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12153 = call i32 @fileno(ptr noundef %12152) #10
  %12154 = call i32 @isatty(i32 noundef %12153) #10
  %12155 = icmp ne i32 %12154, 0
  br i1 %12155, label %12156, label %12173

12156:                                            ; preds = %12151
  %12157 = load i32, ptr %260, align 4, !tbaa !5
  %12158 = call ptr @__errno_location() #11
  store i32 %12157, ptr %12158, align 4, !tbaa !5
  %12159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12160 = load i32, ptr @test_count, align 4, !tbaa !5
  %12161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12162 = load i32, ptr %12161, align 4, !tbaa !5
  %12163 = call ptr @s2n_strerror(i32 noundef %12162, ptr noundef @.str.10)
  %12164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12165 = load i32, ptr %12164, align 4, !tbaa !5
  %12166 = call ptr @s2n_strerror_debug(i32 noundef %12165, ptr noundef @.str.10)
  %12167 = call ptr @__errno_location() #11
  %12168 = load i32, ptr %12167, align 4, !tbaa !5
  %12169 = call ptr @strerror(i32 noundef %12168) #10
  %12170 = call ptr @__errno_location() #11
  %12171 = load i32, ptr %12170, align 4, !tbaa !5
  %12172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12159, ptr noundef @.str.8, i32 noundef %12160, ptr noundef @.str.81, ptr noundef @.str.7, i32 noundef 446, ptr noundef %12163, ptr noundef %12166, ptr noundef %12169, i32 noundef %12171) #10
  br label %12190

12173:                                            ; preds = %12151, %12144
  %12174 = load i32, ptr %260, align 4, !tbaa !5
  %12175 = call ptr @__errno_location() #11
  store i32 %12174, ptr %12175, align 4, !tbaa !5
  %12176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12177 = load i32, ptr @test_count, align 4, !tbaa !5
  %12178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12179 = load i32, ptr %12178, align 4, !tbaa !5
  %12180 = call ptr @s2n_strerror(i32 noundef %12179, ptr noundef @.str.10)
  %12181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12182 = load i32, ptr %12181, align 4, !tbaa !5
  %12183 = call ptr @s2n_strerror_debug(i32 noundef %12182, ptr noundef @.str.10)
  %12184 = call ptr @__errno_location() #11
  %12185 = load i32, ptr %12184, align 4, !tbaa !5
  %12186 = call ptr @strerror(i32 noundef %12185) #10
  %12187 = call ptr @__errno_location() #11
  %12188 = load i32, ptr %12187, align 4, !tbaa !5
  %12189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12176, ptr noundef @.str.11, i32 noundef %12177, ptr noundef @.str.81, ptr noundef @.str.7, i32 noundef 446, ptr noundef %12180, ptr noundef %12183, ptr noundef %12186, i32 noundef %12188) #10
  br label %12190

12190:                                            ; preds = %12173, %12156
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #10
  br label %12191

12191:                                            ; preds = %12190
  br label %12192

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

12193:                                            ; No predecessors!
  br label %12194

12194:                                            ; preds = %12193
  br label %12195

12195:                                            ; preds = %12194, %12135
  br label %12196

12196:                                            ; preds = %12195
  br label %12197

12197:                                            ; preds = %12196
  br label %12198

12198:                                            ; preds = %12197
  %12199 = load i32, ptr @test_count, align 4, !tbaa !5
  %12200 = add nsw i32 %12199, 1
  store i32 %12200, ptr @test_count, align 4, !tbaa !5
  %12201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12202 = load i32, ptr %12201, align 4, !tbaa !5
  %12203 = icmp eq i32 %12202, 201326592
  br i1 %12203, label %12257, label %12204

12204:                                            ; preds = %12198
  br label %12205

12205:                                            ; preds = %12204
  br label %12206

12206:                                            ; preds = %12205
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #10
  %12207 = call ptr @__errno_location() #11
  %12208 = load i32, ptr %12207, align 4, !tbaa !5
  store i32 %12208, ptr %261, align 4, !tbaa !5
  %12209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12210 = call i32 @s2n_print_stacktrace(ptr noundef %12209)
  %12211 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12212 = trunc i8 %12211 to i1
  br i1 %12212, label %12213, label %12235

12213:                                            ; preds = %12206
  %12214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12215 = call i32 @fileno(ptr noundef %12214) #10
  %12216 = call i32 @isatty(i32 noundef %12215) #10
  %12217 = icmp ne i32 %12216, 0
  br i1 %12217, label %12218, label %12235

12218:                                            ; preds = %12213
  %12219 = load i32, ptr %261, align 4, !tbaa !5
  %12220 = call ptr @__errno_location() #11
  store i32 %12219, ptr %12220, align 4, !tbaa !5
  %12221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12222 = load i32, ptr @test_count, align 4, !tbaa !5
  %12223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12224 = load i32, ptr %12223, align 4, !tbaa !5
  %12225 = call ptr @s2n_strerror(i32 noundef %12224, ptr noundef @.str.10)
  %12226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12227 = load i32, ptr %12226, align 4, !tbaa !5
  %12228 = call ptr @s2n_strerror_debug(i32 noundef %12227, ptr noundef @.str.10)
  %12229 = call ptr @__errno_location() #11
  %12230 = load i32, ptr %12229, align 4, !tbaa !5
  %12231 = call ptr @strerror(i32 noundef %12230) #10
  %12232 = call ptr @__errno_location() #11
  %12233 = load i32, ptr %12232, align 4, !tbaa !5
  %12234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12221, ptr noundef @.str.8, i32 noundef %12222, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 446, ptr noundef %12225, ptr noundef %12228, ptr noundef %12231, i32 noundef %12233) #10
  br label %12252

12235:                                            ; preds = %12213, %12206
  %12236 = load i32, ptr %261, align 4, !tbaa !5
  %12237 = call ptr @__errno_location() #11
  store i32 %12236, ptr %12237, align 4, !tbaa !5
  %12238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12239 = load i32, ptr @test_count, align 4, !tbaa !5
  %12240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12241 = load i32, ptr %12240, align 4, !tbaa !5
  %12242 = call ptr @s2n_strerror(i32 noundef %12241, ptr noundef @.str.10)
  %12243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12244 = load i32, ptr %12243, align 4, !tbaa !5
  %12245 = call ptr @s2n_strerror_debug(i32 noundef %12244, ptr noundef @.str.10)
  %12246 = call ptr @__errno_location() #11
  %12247 = load i32, ptr %12246, align 4, !tbaa !5
  %12248 = call ptr @strerror(i32 noundef %12247) #10
  %12249 = call ptr @__errno_location() #11
  %12250 = load i32, ptr %12249, align 4, !tbaa !5
  %12251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12238, ptr noundef @.str.11, i32 noundef %12239, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 446, ptr noundef %12242, ptr noundef %12245, ptr noundef %12248, i32 noundef %12250) #10
  br label %12252

12252:                                            ; preds = %12235, %12218
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #10
  br label %12253

12253:                                            ; preds = %12252
  br label %12254

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

12255:                                            ; No predecessors!
  br label %12256

12256:                                            ; preds = %12255
  br label %12257

12257:                                            ; preds = %12256, %12198
  br label %12258

12258:                                            ; preds = %12257
  br label %12259

12259:                                            ; preds = %12258
  br label %12260

12260:                                            ; preds = %12259
  %12261 = load i32, ptr @test_count, align 4, !tbaa !5
  %12262 = add nsw i32 %12261, 1
  store i32 %12262, ptr @test_count, align 4, !tbaa !5
  %12263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12264 = load i32, ptr %12263, align 4, !tbaa !5
  %12265 = call ptr @s2n_strerror_debug(i32 noundef %12264, ptr noundef @.str.10)
  %12266 = icmp eq ptr %12265, null
  br i1 %12266, label %12267, label %12320

12267:                                            ; preds = %12260
  br label %12268

12268:                                            ; preds = %12267
  br label %12269

12269:                                            ; preds = %12268
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #10
  %12270 = call ptr @__errno_location() #11
  %12271 = load i32, ptr %12270, align 4, !tbaa !5
  store i32 %12271, ptr %262, align 4, !tbaa !5
  %12272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12273 = call i32 @s2n_print_stacktrace(ptr noundef %12272)
  %12274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12275 = trunc i8 %12274 to i1
  br i1 %12275, label %12276, label %12298

12276:                                            ; preds = %12269
  %12277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12278 = call i32 @fileno(ptr noundef %12277) #10
  %12279 = call i32 @isatty(i32 noundef %12278) #10
  %12280 = icmp ne i32 %12279, 0
  br i1 %12280, label %12281, label %12298

12281:                                            ; preds = %12276
  %12282 = load i32, ptr %262, align 4, !tbaa !5
  %12283 = call ptr @__errno_location() #11
  store i32 %12282, ptr %12283, align 4, !tbaa !5
  %12284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12285 = load i32, ptr @test_count, align 4, !tbaa !5
  %12286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12287 = load i32, ptr %12286, align 4, !tbaa !5
  %12288 = call ptr @s2n_strerror(i32 noundef %12287, ptr noundef @.str.10)
  %12289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12290 = load i32, ptr %12289, align 4, !tbaa !5
  %12291 = call ptr @s2n_strerror_debug(i32 noundef %12290, ptr noundef @.str.10)
  %12292 = call ptr @__errno_location() #11
  %12293 = load i32, ptr %12292, align 4, !tbaa !5
  %12294 = call ptr @strerror(i32 noundef %12293) #10
  %12295 = call ptr @__errno_location() #11
  %12296 = load i32, ptr %12295, align 4, !tbaa !5
  %12297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12284, ptr noundef @.str.8, i32 noundef %12285, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 446, ptr noundef %12288, ptr noundef %12291, ptr noundef %12294, i32 noundef %12296) #10
  br label %12315

12298:                                            ; preds = %12276, %12269
  %12299 = load i32, ptr %262, align 4, !tbaa !5
  %12300 = call ptr @__errno_location() #11
  store i32 %12299, ptr %12300, align 4, !tbaa !5
  %12301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12302 = load i32, ptr @test_count, align 4, !tbaa !5
  %12303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12304 = load i32, ptr %12303, align 4, !tbaa !5
  %12305 = call ptr @s2n_strerror(i32 noundef %12304, ptr noundef @.str.10)
  %12306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12307 = load i32, ptr %12306, align 4, !tbaa !5
  %12308 = call ptr @s2n_strerror_debug(i32 noundef %12307, ptr noundef @.str.10)
  %12309 = call ptr @__errno_location() #11
  %12310 = load i32, ptr %12309, align 4, !tbaa !5
  %12311 = call ptr @strerror(i32 noundef %12310) #10
  %12312 = call ptr @__errno_location() #11
  %12313 = load i32, ptr %12312, align 4, !tbaa !5
  %12314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12301, ptr noundef @.str.11, i32 noundef %12302, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 446, ptr noundef %12305, ptr noundef %12308, ptr noundef %12311, i32 noundef %12313) #10
  br label %12315

12315:                                            ; preds = %12298, %12281
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #10
  br label %12316

12316:                                            ; preds = %12315
  br label %12317

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

12318:                                            ; No predecessors!
  br label %12319

12319:                                            ; preds = %12318
  br label %12320

12320:                                            ; preds = %12319, %12260
  br label %12321

12321:                                            ; preds = %12320
  br label %12322

12322:                                            ; preds = %12321
  br label %12323

12323:                                            ; preds = %12322
  br label %12324

12324:                                            ; preds = %12323
  br label %12325

12325:                                            ; preds = %12324
  %12326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12326, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12327 = call ptr @__errno_location() #11
  store i32 0, ptr %12327, align 4, !tbaa !5
  br label %12328

12328:                                            ; preds = %12325
  br label %12329

12329:                                            ; preds = %12328
  br label %12330

12330:                                            ; preds = %12329
  br label %12331

12331:                                            ; preds = %12330
  %12332 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %251, i32 0, i32 1
  %12333 = getelementptr inbounds %struct.s2n_stuffer, ptr %12332, i32 0, i32 2
  %12334 = load i32, ptr %12333, align 4, !tbaa !52
  %12335 = add i32 %12334, 1
  store i32 %12335, ptr %12333, align 4, !tbaa !52
  br label %12336

12336:                                            ; preds = %12331
  %12337 = load i32, ptr @test_count, align 4, !tbaa !5
  %12338 = add nsw i32 %12337, 1
  store i32 %12338, ptr @test_count, align 4, !tbaa !5
  %12339 = load ptr, ptr %245, align 8, !tbaa !9
  %12340 = call i32 @s2n_shutdown_send(ptr noundef %12339, ptr noundef %257)
  %12341 = icmp eq i32 %12340, -1
  br i1 %12341, label %12342, label %12395

12342:                                            ; preds = %12336
  br label %12343

12343:                                            ; preds = %12342
  br label %12344

12344:                                            ; preds = %12343
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #10
  %12345 = call ptr @__errno_location() #11
  %12346 = load i32, ptr %12345, align 4, !tbaa !5
  store i32 %12346, ptr %263, align 4, !tbaa !5
  %12347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12348 = call i32 @s2n_print_stacktrace(ptr noundef %12347)
  %12349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12350 = trunc i8 %12349 to i1
  br i1 %12350, label %12351, label %12373

12351:                                            ; preds = %12344
  %12352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12353 = call i32 @fileno(ptr noundef %12352) #10
  %12354 = call i32 @isatty(i32 noundef %12353) #10
  %12355 = icmp ne i32 %12354, 0
  br i1 %12355, label %12356, label %12373

12356:                                            ; preds = %12351
  %12357 = load i32, ptr %263, align 4, !tbaa !5
  %12358 = call ptr @__errno_location() #11
  store i32 %12357, ptr %12358, align 4, !tbaa !5
  %12359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12360 = load i32, ptr @test_count, align 4, !tbaa !5
  %12361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12362 = load i32, ptr %12361, align 4, !tbaa !5
  %12363 = call ptr @s2n_strerror(i32 noundef %12362, ptr noundef @.str.10)
  %12364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12365 = load i32, ptr %12364, align 4, !tbaa !5
  %12366 = call ptr @s2n_strerror_debug(i32 noundef %12365, ptr noundef @.str.10)
  %12367 = call ptr @__errno_location() #11
  %12368 = load i32, ptr %12367, align 4, !tbaa !5
  %12369 = call ptr @strerror(i32 noundef %12368) #10
  %12370 = call ptr @__errno_location() #11
  %12371 = load i32, ptr %12370, align 4, !tbaa !5
  %12372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12359, ptr noundef @.str.8, i32 noundef %12360, ptr noundef @.str.82, ptr noundef @.str.7, i32 noundef 450, ptr noundef %12363, ptr noundef %12366, ptr noundef %12369, i32 noundef %12371) #10
  br label %12390

12373:                                            ; preds = %12351, %12344
  %12374 = load i32, ptr %263, align 4, !tbaa !5
  %12375 = call ptr @__errno_location() #11
  store i32 %12374, ptr %12375, align 4, !tbaa !5
  %12376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12377 = load i32, ptr @test_count, align 4, !tbaa !5
  %12378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12379 = load i32, ptr %12378, align 4, !tbaa !5
  %12380 = call ptr @s2n_strerror(i32 noundef %12379, ptr noundef @.str.10)
  %12381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12382 = load i32, ptr %12381, align 4, !tbaa !5
  %12383 = call ptr @s2n_strerror_debug(i32 noundef %12382, ptr noundef @.str.10)
  %12384 = call ptr @__errno_location() #11
  %12385 = load i32, ptr %12384, align 4, !tbaa !5
  %12386 = call ptr @strerror(i32 noundef %12385) #10
  %12387 = call ptr @__errno_location() #11
  %12388 = load i32, ptr %12387, align 4, !tbaa !5
  %12389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12376, ptr noundef @.str.11, i32 noundef %12377, ptr noundef @.str.82, ptr noundef @.str.7, i32 noundef 450, ptr noundef %12380, ptr noundef %12383, ptr noundef %12386, i32 noundef %12388) #10
  br label %12390

12390:                                            ; preds = %12373, %12356
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #10
  br label %12391

12391:                                            ; preds = %12390
  br label %12392

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

12393:                                            ; No predecessors!
  br label %12394

12394:                                            ; preds = %12393
  br label %12395

12395:                                            ; preds = %12394, %12336
  br label %12396

12396:                                            ; preds = %12395
  br label %12397

12397:                                            ; preds = %12396
  br label %12398

12398:                                            ; preds = %12397
  %12399 = load i32, ptr @test_count, align 4, !tbaa !5
  %12400 = add nsw i32 %12399, 1
  store i32 %12400, ptr @test_count, align 4, !tbaa !5
  %12401 = load ptr, ptr %248, align 8, !tbaa !9
  %12402 = call i32 @s2n_shutdown(ptr noundef %12401, ptr noundef %257)
  %12403 = icmp eq i32 %12402, -1
  br i1 %12403, label %12404, label %12457

12404:                                            ; preds = %12398
  br label %12405

12405:                                            ; preds = %12404
  br label %12406

12406:                                            ; preds = %12405
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #10
  %12407 = call ptr @__errno_location() #11
  %12408 = load i32, ptr %12407, align 4, !tbaa !5
  store i32 %12408, ptr %264, align 4, !tbaa !5
  %12409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12410 = call i32 @s2n_print_stacktrace(ptr noundef %12409)
  %12411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12412 = trunc i8 %12411 to i1
  br i1 %12412, label %12413, label %12435

12413:                                            ; preds = %12406
  %12414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12415 = call i32 @fileno(ptr noundef %12414) #10
  %12416 = call i32 @isatty(i32 noundef %12415) #10
  %12417 = icmp ne i32 %12416, 0
  br i1 %12417, label %12418, label %12435

12418:                                            ; preds = %12413
  %12419 = load i32, ptr %264, align 4, !tbaa !5
  %12420 = call ptr @__errno_location() #11
  store i32 %12419, ptr %12420, align 4, !tbaa !5
  %12421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12422 = load i32, ptr @test_count, align 4, !tbaa !5
  %12423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12424 = load i32, ptr %12423, align 4, !tbaa !5
  %12425 = call ptr @s2n_strerror(i32 noundef %12424, ptr noundef @.str.10)
  %12426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12427 = load i32, ptr %12426, align 4, !tbaa !5
  %12428 = call ptr @s2n_strerror_debug(i32 noundef %12427, ptr noundef @.str.10)
  %12429 = call ptr @__errno_location() #11
  %12430 = load i32, ptr %12429, align 4, !tbaa !5
  %12431 = call ptr @strerror(i32 noundef %12430) #10
  %12432 = call ptr @__errno_location() #11
  %12433 = load i32, ptr %12432, align 4, !tbaa !5
  %12434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12421, ptr noundef @.str.8, i32 noundef %12422, ptr noundef @.str.83, ptr noundef @.str.7, i32 noundef 455, ptr noundef %12425, ptr noundef %12428, ptr noundef %12431, i32 noundef %12433) #10
  br label %12452

12435:                                            ; preds = %12413, %12406
  %12436 = load i32, ptr %264, align 4, !tbaa !5
  %12437 = call ptr @__errno_location() #11
  store i32 %12436, ptr %12437, align 4, !tbaa !5
  %12438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12439 = load i32, ptr @test_count, align 4, !tbaa !5
  %12440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12441 = load i32, ptr %12440, align 4, !tbaa !5
  %12442 = call ptr @s2n_strerror(i32 noundef %12441, ptr noundef @.str.10)
  %12443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12444 = load i32, ptr %12443, align 4, !tbaa !5
  %12445 = call ptr @s2n_strerror_debug(i32 noundef %12444, ptr noundef @.str.10)
  %12446 = call ptr @__errno_location() #11
  %12447 = load i32, ptr %12446, align 4, !tbaa !5
  %12448 = call ptr @strerror(i32 noundef %12447) #10
  %12449 = call ptr @__errno_location() #11
  %12450 = load i32, ptr %12449, align 4, !tbaa !5
  %12451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12438, ptr noundef @.str.11, i32 noundef %12439, ptr noundef @.str.83, ptr noundef @.str.7, i32 noundef 455, ptr noundef %12442, ptr noundef %12445, ptr noundef %12448, i32 noundef %12450) #10
  br label %12452

12452:                                            ; preds = %12435, %12418
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #10
  br label %12453

12453:                                            ; preds = %12452
  br label %12454

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

12455:                                            ; No predecessors!
  br label %12456

12456:                                            ; preds = %12455
  br label %12457

12457:                                            ; preds = %12456, %12398
  br label %12458

12458:                                            ; preds = %12457
  br label %12459

12459:                                            ; preds = %12458
  br label %12460

12460:                                            ; preds = %12459
  %12461 = load i32, ptr @test_count, align 4, !tbaa !5
  %12462 = add nsw i32 %12461, 1
  store i32 %12462, ptr @test_count, align 4, !tbaa !5
  %12463 = load ptr, ptr %248, align 8, !tbaa !9
  %12464 = getelementptr inbounds %struct.s2n_connection, ptr %12463, i32 0, i32 51
  %12465 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %12464)
  br i1 %12465, label %12519, label %12466

12466:                                            ; preds = %12460
  br label %12467

12467:                                            ; preds = %12466
  br label %12468

12468:                                            ; preds = %12467
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #10
  %12469 = call ptr @__errno_location() #11
  %12470 = load i32, ptr %12469, align 4, !tbaa !5
  store i32 %12470, ptr %265, align 4, !tbaa !5
  %12471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12472 = call i32 @s2n_print_stacktrace(ptr noundef %12471)
  %12473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12474 = trunc i8 %12473 to i1
  br i1 %12474, label %12475, label %12497

12475:                                            ; preds = %12468
  %12476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12477 = call i32 @fileno(ptr noundef %12476) #10
  %12478 = call i32 @isatty(i32 noundef %12477) #10
  %12479 = icmp ne i32 %12478, 0
  br i1 %12479, label %12480, label %12497

12480:                                            ; preds = %12475
  %12481 = load i32, ptr %265, align 4, !tbaa !5
  %12482 = call ptr @__errno_location() #11
  store i32 %12481, ptr %12482, align 4, !tbaa !5
  %12483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12484 = load i32, ptr @test_count, align 4, !tbaa !5
  %12485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12486 = load i32, ptr %12485, align 4, !tbaa !5
  %12487 = call ptr @s2n_strerror(i32 noundef %12486, ptr noundef @.str.10)
  %12488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12489 = load i32, ptr %12488, align 4, !tbaa !5
  %12490 = call ptr @s2n_strerror_debug(i32 noundef %12489, ptr noundef @.str.10)
  %12491 = call ptr @__errno_location() #11
  %12492 = load i32, ptr %12491, align 4, !tbaa !5
  %12493 = call ptr @strerror(i32 noundef %12492) #10
  %12494 = call ptr @__errno_location() #11
  %12495 = load i32, ptr %12494, align 4, !tbaa !5
  %12496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12483, ptr noundef @.str.8, i32 noundef %12484, ptr noundef @.str.84, ptr noundef @.str.7, i32 noundef 456, ptr noundef %12487, ptr noundef %12490, ptr noundef %12493, i32 noundef %12495) #10
  br label %12514

12497:                                            ; preds = %12475, %12468
  %12498 = load i32, ptr %265, align 4, !tbaa !5
  %12499 = call ptr @__errno_location() #11
  store i32 %12498, ptr %12499, align 4, !tbaa !5
  %12500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12501 = load i32, ptr @test_count, align 4, !tbaa !5
  %12502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12503 = load i32, ptr %12502, align 4, !tbaa !5
  %12504 = call ptr @s2n_strerror(i32 noundef %12503, ptr noundef @.str.10)
  %12505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12506 = load i32, ptr %12505, align 4, !tbaa !5
  %12507 = call ptr @s2n_strerror_debug(i32 noundef %12506, ptr noundef @.str.10)
  %12508 = call ptr @__errno_location() #11
  %12509 = load i32, ptr %12508, align 4, !tbaa !5
  %12510 = call ptr @strerror(i32 noundef %12509) #10
  %12511 = call ptr @__errno_location() #11
  %12512 = load i32, ptr %12511, align 4, !tbaa !5
  %12513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12500, ptr noundef @.str.11, i32 noundef %12501, ptr noundef @.str.84, ptr noundef @.str.7, i32 noundef 456, ptr noundef %12504, ptr noundef %12507, ptr noundef %12510, i32 noundef %12512) #10
  br label %12514

12514:                                            ; preds = %12497, %12480
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #10
  br label %12515

12515:                                            ; preds = %12514
  br label %12516

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

12517:                                            ; No predecessors!
  br label %12518

12518:                                            ; preds = %12517
  br label %12519

12519:                                            ; preds = %12518, %12460
  br label %12520

12520:                                            ; preds = %12519
  br label %12521

12521:                                            ; preds = %12520
  call void @llvm.lifetime.end.p0(i64 12, ptr %258) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #10
  %12522 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %251)
  %12523 = getelementptr inbounds %struct.s2n_result, ptr %266, i32 0, i32 0
  store i32 %12522, ptr %12523, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %251) #10
  %12524 = call i32 @s2n_connection_ptr_free(ptr noundef %248)
  %12525 = getelementptr inbounds %struct.s2n_result, ptr %267, i32 0, i32 0
  store i32 %12524, ptr %12525, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %248) #10
  %12526 = call i32 @s2n_connection_ptr_free(ptr noundef %245)
  %12527 = getelementptr inbounds %struct.s2n_result, ptr %268, i32 0, i32 0
  store i32 %12526, ptr %12527, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %245) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %269) #10
  %12528 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %12528, ptr %269, align 8, !tbaa !9
  br label %12529

12529:                                            ; preds = %12521
  %12530 = load i32, ptr @test_count, align 4, !tbaa !5
  %12531 = add nsw i32 %12530, 1
  store i32 %12531, ptr @test_count, align 4, !tbaa !5
  %12532 = load ptr, ptr %269, align 8, !tbaa !9
  %12533 = icmp eq ptr %12532, null
  br i1 %12533, label %12534, label %12587

12534:                                            ; preds = %12529
  br label %12535

12535:                                            ; preds = %12534
  br label %12536

12536:                                            ; preds = %12535
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #10
  %12537 = call ptr @__errno_location() #11
  %12538 = load i32, ptr %12537, align 4, !tbaa !5
  store i32 %12538, ptr %270, align 4, !tbaa !5
  %12539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12540 = call i32 @s2n_print_stacktrace(ptr noundef %12539)
  %12541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12542 = trunc i8 %12541 to i1
  br i1 %12542, label %12543, label %12565

12543:                                            ; preds = %12536
  %12544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12545 = call i32 @fileno(ptr noundef %12544) #10
  %12546 = call i32 @isatty(i32 noundef %12545) #10
  %12547 = icmp ne i32 %12546, 0
  br i1 %12547, label %12548, label %12565

12548:                                            ; preds = %12543
  %12549 = load i32, ptr %270, align 4, !tbaa !5
  %12550 = call ptr @__errno_location() #11
  store i32 %12549, ptr %12550, align 4, !tbaa !5
  %12551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12552 = load i32, ptr @test_count, align 4, !tbaa !5
  %12553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12554 = load i32, ptr %12553, align 4, !tbaa !5
  %12555 = call ptr @s2n_strerror(i32 noundef %12554, ptr noundef @.str.10)
  %12556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12557 = load i32, ptr %12556, align 4, !tbaa !5
  %12558 = call ptr @s2n_strerror_debug(i32 noundef %12557, ptr noundef @.str.10)
  %12559 = call ptr @__errno_location() #11
  %12560 = load i32, ptr %12559, align 4, !tbaa !5
  %12561 = call ptr @strerror(i32 noundef %12560) #10
  %12562 = call ptr @__errno_location() #11
  %12563 = load i32, ptr %12562, align 4, !tbaa !5
  %12564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12551, ptr noundef @.str.8, i32 noundef %12552, ptr noundef @.str.73, ptr noundef @.str.7, i32 noundef 463, ptr noundef %12555, ptr noundef %12558, ptr noundef %12561, i32 noundef %12563) #10
  br label %12582

12565:                                            ; preds = %12543, %12536
  %12566 = load i32, ptr %270, align 4, !tbaa !5
  %12567 = call ptr @__errno_location() #11
  store i32 %12566, ptr %12567, align 4, !tbaa !5
  %12568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12569 = load i32, ptr @test_count, align 4, !tbaa !5
  %12570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12571 = load i32, ptr %12570, align 4, !tbaa !5
  %12572 = call ptr @s2n_strerror(i32 noundef %12571, ptr noundef @.str.10)
  %12573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12574 = load i32, ptr %12573, align 4, !tbaa !5
  %12575 = call ptr @s2n_strerror_debug(i32 noundef %12574, ptr noundef @.str.10)
  %12576 = call ptr @__errno_location() #11
  %12577 = load i32, ptr %12576, align 4, !tbaa !5
  %12578 = call ptr @strerror(i32 noundef %12577) #10
  %12579 = call ptr @__errno_location() #11
  %12580 = load i32, ptr %12579, align 4, !tbaa !5
  %12581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12568, ptr noundef @.str.11, i32 noundef %12569, ptr noundef @.str.73, ptr noundef @.str.7, i32 noundef 463, ptr noundef %12572, ptr noundef %12575, ptr noundef %12578, i32 noundef %12580) #10
  br label %12582

12582:                                            ; preds = %12565, %12548
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #10
  br label %12583

12583:                                            ; preds = %12582
  br label %12584

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

12585:                                            ; No predecessors!
  br label %12586

12586:                                            ; preds = %12585
  br label %12587

12587:                                            ; preds = %12586, %12529
  br label %12588

12588:                                            ; preds = %12587
  br label %12589

12589:                                            ; preds = %12588
  br label %12590

12590:                                            ; preds = %12589
  %12591 = load i32, ptr @test_count, align 4, !tbaa !5
  %12592 = add nsw i32 %12591, 1
  store i32 %12592, ptr @test_count, align 4, !tbaa !5
  %12593 = load ptr, ptr %269, align 8, !tbaa !9
  %12594 = load ptr, ptr %14, align 8, !tbaa !9
  %12595 = call i32 @s2n_connection_set_config(ptr noundef %12593, ptr noundef %12594)
  %12596 = icmp eq i32 %12595, -1
  br i1 %12596, label %12597, label %12650

12597:                                            ; preds = %12590
  br label %12598

12598:                                            ; preds = %12597
  br label %12599

12599:                                            ; preds = %12598
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #10
  %12600 = call ptr @__errno_location() #11
  %12601 = load i32, ptr %12600, align 4, !tbaa !5
  store i32 %12601, ptr %271, align 4, !tbaa !5
  %12602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12603 = call i32 @s2n_print_stacktrace(ptr noundef %12602)
  %12604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12605 = trunc i8 %12604 to i1
  br i1 %12605, label %12606, label %12628

12606:                                            ; preds = %12599
  %12607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12608 = call i32 @fileno(ptr noundef %12607) #10
  %12609 = call i32 @isatty(i32 noundef %12608) #10
  %12610 = icmp ne i32 %12609, 0
  br i1 %12610, label %12611, label %12628

12611:                                            ; preds = %12606
  %12612 = load i32, ptr %271, align 4, !tbaa !5
  %12613 = call ptr @__errno_location() #11
  store i32 %12612, ptr %12613, align 4, !tbaa !5
  %12614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12615 = load i32, ptr @test_count, align 4, !tbaa !5
  %12616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12617 = load i32, ptr %12616, align 4, !tbaa !5
  %12618 = call ptr @s2n_strerror(i32 noundef %12617, ptr noundef @.str.10)
  %12619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12620 = load i32, ptr %12619, align 4, !tbaa !5
  %12621 = call ptr @s2n_strerror_debug(i32 noundef %12620, ptr noundef @.str.10)
  %12622 = call ptr @__errno_location() #11
  %12623 = load i32, ptr %12622, align 4, !tbaa !5
  %12624 = call ptr @strerror(i32 noundef %12623) #10
  %12625 = call ptr @__errno_location() #11
  %12626 = load i32, ptr %12625, align 4, !tbaa !5
  %12627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12614, ptr noundef @.str.8, i32 noundef %12615, ptr noundef @.str.74, ptr noundef @.str.7, i32 noundef 464, ptr noundef %12618, ptr noundef %12621, ptr noundef %12624, i32 noundef %12626) #10
  br label %12645

12628:                                            ; preds = %12606, %12599
  %12629 = load i32, ptr %271, align 4, !tbaa !5
  %12630 = call ptr @__errno_location() #11
  store i32 %12629, ptr %12630, align 4, !tbaa !5
  %12631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12632 = load i32, ptr @test_count, align 4, !tbaa !5
  %12633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12634 = load i32, ptr %12633, align 4, !tbaa !5
  %12635 = call ptr @s2n_strerror(i32 noundef %12634, ptr noundef @.str.10)
  %12636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12637 = load i32, ptr %12636, align 4, !tbaa !5
  %12638 = call ptr @s2n_strerror_debug(i32 noundef %12637, ptr noundef @.str.10)
  %12639 = call ptr @__errno_location() #11
  %12640 = load i32, ptr %12639, align 4, !tbaa !5
  %12641 = call ptr @strerror(i32 noundef %12640) #10
  %12642 = call ptr @__errno_location() #11
  %12643 = load i32, ptr %12642, align 4, !tbaa !5
  %12644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12631, ptr noundef @.str.11, i32 noundef %12632, ptr noundef @.str.74, ptr noundef @.str.7, i32 noundef 464, ptr noundef %12635, ptr noundef %12638, ptr noundef %12641, i32 noundef %12643) #10
  br label %12645

12645:                                            ; preds = %12628, %12611
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #10
  br label %12646

12646:                                            ; preds = %12645
  br label %12647

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

12648:                                            ; No predecessors!
  br label %12649

12649:                                            ; preds = %12648
  br label %12650

12650:                                            ; preds = %12649, %12590
  br label %12651

12651:                                            ; preds = %12650
  br label %12652

12652:                                            ; preds = %12651
  call void @llvm.lifetime.start.p0(i64 8, ptr %272) #10
  %12653 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %12653, ptr %272, align 8, !tbaa !9
  br label %12654

12654:                                            ; preds = %12652
  %12655 = load i32, ptr @test_count, align 4, !tbaa !5
  %12656 = add nsw i32 %12655, 1
  store i32 %12656, ptr @test_count, align 4, !tbaa !5
  %12657 = load ptr, ptr %272, align 8, !tbaa !9
  %12658 = icmp eq ptr %12657, null
  br i1 %12658, label %12659, label %12712

12659:                                            ; preds = %12654
  br label %12660

12660:                                            ; preds = %12659
  br label %12661

12661:                                            ; preds = %12660
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #10
  %12662 = call ptr @__errno_location() #11
  %12663 = load i32, ptr %12662, align 4, !tbaa !5
  store i32 %12663, ptr %273, align 4, !tbaa !5
  %12664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12665 = call i32 @s2n_print_stacktrace(ptr noundef %12664)
  %12666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12667 = trunc i8 %12666 to i1
  br i1 %12667, label %12668, label %12690

12668:                                            ; preds = %12661
  %12669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12670 = call i32 @fileno(ptr noundef %12669) #10
  %12671 = call i32 @isatty(i32 noundef %12670) #10
  %12672 = icmp ne i32 %12671, 0
  br i1 %12672, label %12673, label %12690

12673:                                            ; preds = %12668
  %12674 = load i32, ptr %273, align 4, !tbaa !5
  %12675 = call ptr @__errno_location() #11
  store i32 %12674, ptr %12675, align 4, !tbaa !5
  %12676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12677 = load i32, ptr @test_count, align 4, !tbaa !5
  %12678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12679 = load i32, ptr %12678, align 4, !tbaa !5
  %12680 = call ptr @s2n_strerror(i32 noundef %12679, ptr noundef @.str.10)
  %12681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12682 = load i32, ptr %12681, align 4, !tbaa !5
  %12683 = call ptr @s2n_strerror_debug(i32 noundef %12682, ptr noundef @.str.10)
  %12684 = call ptr @__errno_location() #11
  %12685 = load i32, ptr %12684, align 4, !tbaa !5
  %12686 = call ptr @strerror(i32 noundef %12685) #10
  %12687 = call ptr @__errno_location() #11
  %12688 = load i32, ptr %12687, align 4, !tbaa !5
  %12689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12676, ptr noundef @.str.8, i32 noundef %12677, ptr noundef @.str.75, ptr noundef @.str.7, i32 noundef 468, ptr noundef %12680, ptr noundef %12683, ptr noundef %12686, i32 noundef %12688) #10
  br label %12707

12690:                                            ; preds = %12668, %12661
  %12691 = load i32, ptr %273, align 4, !tbaa !5
  %12692 = call ptr @__errno_location() #11
  store i32 %12691, ptr %12692, align 4, !tbaa !5
  %12693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12694 = load i32, ptr @test_count, align 4, !tbaa !5
  %12695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12696 = load i32, ptr %12695, align 4, !tbaa !5
  %12697 = call ptr @s2n_strerror(i32 noundef %12696, ptr noundef @.str.10)
  %12698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12699 = load i32, ptr %12698, align 4, !tbaa !5
  %12700 = call ptr @s2n_strerror_debug(i32 noundef %12699, ptr noundef @.str.10)
  %12701 = call ptr @__errno_location() #11
  %12702 = load i32, ptr %12701, align 4, !tbaa !5
  %12703 = call ptr @strerror(i32 noundef %12702) #10
  %12704 = call ptr @__errno_location() #11
  %12705 = load i32, ptr %12704, align 4, !tbaa !5
  %12706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12693, ptr noundef @.str.11, i32 noundef %12694, ptr noundef @.str.75, ptr noundef @.str.7, i32 noundef 468, ptr noundef %12697, ptr noundef %12700, ptr noundef %12703, i32 noundef %12705) #10
  br label %12707

12707:                                            ; preds = %12690, %12673
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #10
  br label %12708

12708:                                            ; preds = %12707
  br label %12709

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

12710:                                            ; No predecessors!
  br label %12711

12711:                                            ; preds = %12710
  br label %12712

12712:                                            ; preds = %12711, %12654
  br label %12713

12713:                                            ; preds = %12712
  br label %12714

12714:                                            ; preds = %12713
  br label %12715

12715:                                            ; preds = %12714
  %12716 = load i32, ptr @test_count, align 4, !tbaa !5
  %12717 = add nsw i32 %12716, 1
  store i32 %12717, ptr @test_count, align 4, !tbaa !5
  %12718 = load ptr, ptr %272, align 8, !tbaa !9
  %12719 = load ptr, ptr %14, align 8, !tbaa !9
  %12720 = call i32 @s2n_connection_set_config(ptr noundef %12718, ptr noundef %12719)
  %12721 = icmp eq i32 %12720, -1
  br i1 %12721, label %12722, label %12775

12722:                                            ; preds = %12715
  br label %12723

12723:                                            ; preds = %12722
  br label %12724

12724:                                            ; preds = %12723
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #10
  %12725 = call ptr @__errno_location() #11
  %12726 = load i32, ptr %12725, align 4, !tbaa !5
  store i32 %12726, ptr %274, align 4, !tbaa !5
  %12727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12728 = call i32 @s2n_print_stacktrace(ptr noundef %12727)
  %12729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12730 = trunc i8 %12729 to i1
  br i1 %12730, label %12731, label %12753

12731:                                            ; preds = %12724
  %12732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12733 = call i32 @fileno(ptr noundef %12732) #10
  %12734 = call i32 @isatty(i32 noundef %12733) #10
  %12735 = icmp ne i32 %12734, 0
  br i1 %12735, label %12736, label %12753

12736:                                            ; preds = %12731
  %12737 = load i32, ptr %274, align 4, !tbaa !5
  %12738 = call ptr @__errno_location() #11
  store i32 %12737, ptr %12738, align 4, !tbaa !5
  %12739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12740 = load i32, ptr @test_count, align 4, !tbaa !5
  %12741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12742 = load i32, ptr %12741, align 4, !tbaa !5
  %12743 = call ptr @s2n_strerror(i32 noundef %12742, ptr noundef @.str.10)
  %12744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12745 = load i32, ptr %12744, align 4, !tbaa !5
  %12746 = call ptr @s2n_strerror_debug(i32 noundef %12745, ptr noundef @.str.10)
  %12747 = call ptr @__errno_location() #11
  %12748 = load i32, ptr %12747, align 4, !tbaa !5
  %12749 = call ptr @strerror(i32 noundef %12748) #10
  %12750 = call ptr @__errno_location() #11
  %12751 = load i32, ptr %12750, align 4, !tbaa !5
  %12752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12739, ptr noundef @.str.8, i32 noundef %12740, ptr noundef @.str.76, ptr noundef @.str.7, i32 noundef 469, ptr noundef %12743, ptr noundef %12746, ptr noundef %12749, i32 noundef %12751) #10
  br label %12770

12753:                                            ; preds = %12731, %12724
  %12754 = load i32, ptr %274, align 4, !tbaa !5
  %12755 = call ptr @__errno_location() #11
  store i32 %12754, ptr %12755, align 4, !tbaa !5
  %12756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12757 = load i32, ptr @test_count, align 4, !tbaa !5
  %12758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12759 = load i32, ptr %12758, align 4, !tbaa !5
  %12760 = call ptr @s2n_strerror(i32 noundef %12759, ptr noundef @.str.10)
  %12761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12762 = load i32, ptr %12761, align 4, !tbaa !5
  %12763 = call ptr @s2n_strerror_debug(i32 noundef %12762, ptr noundef @.str.10)
  %12764 = call ptr @__errno_location() #11
  %12765 = load i32, ptr %12764, align 4, !tbaa !5
  %12766 = call ptr @strerror(i32 noundef %12765) #10
  %12767 = call ptr @__errno_location() #11
  %12768 = load i32, ptr %12767, align 4, !tbaa !5
  %12769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12756, ptr noundef @.str.11, i32 noundef %12757, ptr noundef @.str.76, ptr noundef @.str.7, i32 noundef 469, ptr noundef %12760, ptr noundef %12763, ptr noundef %12766, i32 noundef %12768) #10
  br label %12770

12770:                                            ; preds = %12753, %12736
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #10
  br label %12771

12771:                                            ; preds = %12770
  br label %12772

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

12773:                                            ; No predecessors!
  br label %12774

12774:                                            ; preds = %12773
  br label %12775

12775:                                            ; preds = %12774, %12715
  br label %12776

12776:                                            ; preds = %12775
  br label %12777

12777:                                            ; preds = %12776
  call void @llvm.lifetime.start.p0(i64 80, ptr %275) #10
  call void @llvm.memset.p0.i64(ptr align 8 %275, i8 0, i64 80, i1 false)
  br label %12778

12778:                                            ; preds = %12777
  %12779 = load i32, ptr @test_count, align 4, !tbaa !5
  %12780 = add nsw i32 %12779, 1
  store i32 %12780, ptr @test_count, align 4, !tbaa !5
  %12781 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %275)
  %12782 = getelementptr inbounds %struct.s2n_result, ptr %276, i32 0, i32 0
  store i32 %12781, ptr %12782, align 4
  %12783 = getelementptr inbounds %struct.s2n_result, ptr %276, i32 0, i32 0
  %12784 = load i32, ptr %12783, align 4
  %12785 = call zeroext i1 @s2n_result_is_ok(i32 %12784)
  br i1 %12785, label %12839, label %12786

12786:                                            ; preds = %12778
  br label %12787

12787:                                            ; preds = %12786
  br label %12788

12788:                                            ; preds = %12787
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #10
  %12789 = call ptr @__errno_location() #11
  %12790 = load i32, ptr %12789, align 4, !tbaa !5
  store i32 %12790, ptr %277, align 4, !tbaa !5
  %12791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12792 = call i32 @s2n_print_stacktrace(ptr noundef %12791)
  %12793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12794 = trunc i8 %12793 to i1
  br i1 %12794, label %12795, label %12817

12795:                                            ; preds = %12788
  %12796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12797 = call i32 @fileno(ptr noundef %12796) #10
  %12798 = call i32 @isatty(i32 noundef %12797) #10
  %12799 = icmp ne i32 %12798, 0
  br i1 %12799, label %12800, label %12817

12800:                                            ; preds = %12795
  %12801 = load i32, ptr %277, align 4, !tbaa !5
  %12802 = call ptr @__errno_location() #11
  store i32 %12801, ptr %12802, align 4, !tbaa !5
  %12803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12804 = load i32, ptr @test_count, align 4, !tbaa !5
  %12805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12806 = load i32, ptr %12805, align 4, !tbaa !5
  %12807 = call ptr @s2n_strerror(i32 noundef %12806, ptr noundef @.str.10)
  %12808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12809 = load i32, ptr %12808, align 4, !tbaa !5
  %12810 = call ptr @s2n_strerror_debug(i32 noundef %12809, ptr noundef @.str.10)
  %12811 = call ptr @__errno_location() #11
  %12812 = load i32, ptr %12811, align 4, !tbaa !5
  %12813 = call ptr @strerror(i32 noundef %12812) #10
  %12814 = call ptr @__errno_location() #11
  %12815 = load i32, ptr %12814, align 4, !tbaa !5
  %12816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12803, ptr noundef @.str.8, i32 noundef %12804, ptr noundef @.str.77, ptr noundef @.str.7, i32 noundef 473, ptr noundef %12807, ptr noundef %12810, ptr noundef %12813, i32 noundef %12815) #10
  br label %12834

12817:                                            ; preds = %12795, %12788
  %12818 = load i32, ptr %277, align 4, !tbaa !5
  %12819 = call ptr @__errno_location() #11
  store i32 %12818, ptr %12819, align 4, !tbaa !5
  %12820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12821 = load i32, ptr @test_count, align 4, !tbaa !5
  %12822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12823 = load i32, ptr %12822, align 4, !tbaa !5
  %12824 = call ptr @s2n_strerror(i32 noundef %12823, ptr noundef @.str.10)
  %12825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12826 = load i32, ptr %12825, align 4, !tbaa !5
  %12827 = call ptr @s2n_strerror_debug(i32 noundef %12826, ptr noundef @.str.10)
  %12828 = call ptr @__errno_location() #11
  %12829 = load i32, ptr %12828, align 4, !tbaa !5
  %12830 = call ptr @strerror(i32 noundef %12829) #10
  %12831 = call ptr @__errno_location() #11
  %12832 = load i32, ptr %12831, align 4, !tbaa !5
  %12833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12820, ptr noundef @.str.11, i32 noundef %12821, ptr noundef @.str.77, ptr noundef @.str.7, i32 noundef 473, ptr noundef %12824, ptr noundef %12827, ptr noundef %12830, i32 noundef %12832) #10
  br label %12834

12834:                                            ; preds = %12817, %12800
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #10
  br label %12835

12835:                                            ; preds = %12834
  br label %12836

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

12837:                                            ; No predecessors!
  br label %12838

12838:                                            ; preds = %12837
  br label %12839

12839:                                            ; preds = %12838, %12778
  br label %12840

12840:                                            ; preds = %12839
  br label %12841

12841:                                            ; preds = %12840
  br label %12842

12842:                                            ; preds = %12841
  %12843 = load i32, ptr @test_count, align 4, !tbaa !5
  %12844 = add nsw i32 %12843, 1
  store i32 %12844, ptr @test_count, align 4, !tbaa !5
  %12845 = load ptr, ptr %269, align 8, !tbaa !9
  %12846 = load ptr, ptr %272, align 8, !tbaa !9
  %12847 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %12845, ptr noundef %12846, ptr noundef %275)
  %12848 = getelementptr inbounds %struct.s2n_result, ptr %278, i32 0, i32 0
  store i32 %12847, ptr %12848, align 4
  %12849 = getelementptr inbounds %struct.s2n_result, ptr %278, i32 0, i32 0
  %12850 = load i32, ptr %12849, align 4
  %12851 = call zeroext i1 @s2n_result_is_ok(i32 %12850)
  br i1 %12851, label %12905, label %12852

12852:                                            ; preds = %12842
  br label %12853

12853:                                            ; preds = %12852
  br label %12854

12854:                                            ; preds = %12853
  call void @llvm.lifetime.start.p0(i64 4, ptr %279) #10
  %12855 = call ptr @__errno_location() #11
  %12856 = load i32, ptr %12855, align 4, !tbaa !5
  store i32 %12856, ptr %279, align 4, !tbaa !5
  %12857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12858 = call i32 @s2n_print_stacktrace(ptr noundef %12857)
  %12859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12860 = trunc i8 %12859 to i1
  br i1 %12860, label %12861, label %12883

12861:                                            ; preds = %12854
  %12862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12863 = call i32 @fileno(ptr noundef %12862) #10
  %12864 = call i32 @isatty(i32 noundef %12863) #10
  %12865 = icmp ne i32 %12864, 0
  br i1 %12865, label %12866, label %12883

12866:                                            ; preds = %12861
  %12867 = load i32, ptr %279, align 4, !tbaa !5
  %12868 = call ptr @__errno_location() #11
  store i32 %12867, ptr %12868, align 4, !tbaa !5
  %12869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12870 = load i32, ptr @test_count, align 4, !tbaa !5
  %12871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12872 = load i32, ptr %12871, align 4, !tbaa !5
  %12873 = call ptr @s2n_strerror(i32 noundef %12872, ptr noundef @.str.10)
  %12874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12875 = load i32, ptr %12874, align 4, !tbaa !5
  %12876 = call ptr @s2n_strerror_debug(i32 noundef %12875, ptr noundef @.str.10)
  %12877 = call ptr @__errno_location() #11
  %12878 = load i32, ptr %12877, align 4, !tbaa !5
  %12879 = call ptr @strerror(i32 noundef %12878) #10
  %12880 = call ptr @__errno_location() #11
  %12881 = load i32, ptr %12880, align 4, !tbaa !5
  %12882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12869, ptr noundef @.str.8, i32 noundef %12870, ptr noundef @.str.78, ptr noundef @.str.7, i32 noundef 474, ptr noundef %12873, ptr noundef %12876, ptr noundef %12879, i32 noundef %12881) #10
  br label %12900

12883:                                            ; preds = %12861, %12854
  %12884 = load i32, ptr %279, align 4, !tbaa !5
  %12885 = call ptr @__errno_location() #11
  store i32 %12884, ptr %12885, align 4, !tbaa !5
  %12886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12887 = load i32, ptr @test_count, align 4, !tbaa !5
  %12888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12889 = load i32, ptr %12888, align 4, !tbaa !5
  %12890 = call ptr @s2n_strerror(i32 noundef %12889, ptr noundef @.str.10)
  %12891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12892 = load i32, ptr %12891, align 4, !tbaa !5
  %12893 = call ptr @s2n_strerror_debug(i32 noundef %12892, ptr noundef @.str.10)
  %12894 = call ptr @__errno_location() #11
  %12895 = load i32, ptr %12894, align 4, !tbaa !5
  %12896 = call ptr @strerror(i32 noundef %12895) #10
  %12897 = call ptr @__errno_location() #11
  %12898 = load i32, ptr %12897, align 4, !tbaa !5
  %12899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12886, ptr noundef @.str.11, i32 noundef %12887, ptr noundef @.str.78, ptr noundef @.str.7, i32 noundef 474, ptr noundef %12890, ptr noundef %12893, ptr noundef %12896, i32 noundef %12898) #10
  br label %12900

12900:                                            ; preds = %12883, %12866
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #10
  br label %12901

12901:                                            ; preds = %12900
  br label %12902

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

12903:                                            ; No predecessors!
  br label %12904

12904:                                            ; preds = %12903
  br label %12905

12905:                                            ; preds = %12904, %12842
  br label %12906

12906:                                            ; preds = %12905
  br label %12907

12907:                                            ; preds = %12906
  br label %12908

12908:                                            ; preds = %12907
  %12909 = load i32, ptr @test_count, align 4, !tbaa !5
  %12910 = add nsw i32 %12909, 1
  store i32 %12910, ptr @test_count, align 4, !tbaa !5
  %12911 = load ptr, ptr %272, align 8, !tbaa !9
  %12912 = load ptr, ptr %269, align 8, !tbaa !9
  %12913 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %12911, ptr noundef %12912)
  %12914 = icmp eq i32 %12913, -1
  br i1 %12914, label %12915, label %12968

12915:                                            ; preds = %12908
  br label %12916

12916:                                            ; preds = %12915
  br label %12917

12917:                                            ; preds = %12916
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #10
  %12918 = call ptr @__errno_location() #11
  %12919 = load i32, ptr %12918, align 4, !tbaa !5
  store i32 %12919, ptr %280, align 4, !tbaa !5
  %12920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12921 = call i32 @s2n_print_stacktrace(ptr noundef %12920)
  %12922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12923 = trunc i8 %12922 to i1
  br i1 %12923, label %12924, label %12946

12924:                                            ; preds = %12917
  %12925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12926 = call i32 @fileno(ptr noundef %12925) #10
  %12927 = call i32 @isatty(i32 noundef %12926) #10
  %12928 = icmp ne i32 %12927, 0
  br i1 %12928, label %12929, label %12946

12929:                                            ; preds = %12924
  %12930 = load i32, ptr %280, align 4, !tbaa !5
  %12931 = call ptr @__errno_location() #11
  store i32 %12930, ptr %12931, align 4, !tbaa !5
  %12932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12933 = load i32, ptr @test_count, align 4, !tbaa !5
  %12934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12935 = load i32, ptr %12934, align 4, !tbaa !5
  %12936 = call ptr @s2n_strerror(i32 noundef %12935, ptr noundef @.str.10)
  %12937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12938 = load i32, ptr %12937, align 4, !tbaa !5
  %12939 = call ptr @s2n_strerror_debug(i32 noundef %12938, ptr noundef @.str.10)
  %12940 = call ptr @__errno_location() #11
  %12941 = load i32, ptr %12940, align 4, !tbaa !5
  %12942 = call ptr @strerror(i32 noundef %12941) #10
  %12943 = call ptr @__errno_location() #11
  %12944 = load i32, ptr %12943, align 4, !tbaa !5
  %12945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12932, ptr noundef @.str.8, i32 noundef %12933, ptr noundef @.str.79, ptr noundef @.str.7, i32 noundef 475, ptr noundef %12936, ptr noundef %12939, ptr noundef %12942, i32 noundef %12944) #10
  br label %12963

12946:                                            ; preds = %12924, %12917
  %12947 = load i32, ptr %280, align 4, !tbaa !5
  %12948 = call ptr @__errno_location() #11
  store i32 %12947, ptr %12948, align 4, !tbaa !5
  %12949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12950 = load i32, ptr @test_count, align 4, !tbaa !5
  %12951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12952 = load i32, ptr %12951, align 4, !tbaa !5
  %12953 = call ptr @s2n_strerror(i32 noundef %12952, ptr noundef @.str.10)
  %12954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12955 = load i32, ptr %12954, align 4, !tbaa !5
  %12956 = call ptr @s2n_strerror_debug(i32 noundef %12955, ptr noundef @.str.10)
  %12957 = call ptr @__errno_location() #11
  %12958 = load i32, ptr %12957, align 4, !tbaa !5
  %12959 = call ptr @strerror(i32 noundef %12958) #10
  %12960 = call ptr @__errno_location() #11
  %12961 = load i32, ptr %12960, align 4, !tbaa !5
  %12962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12949, ptr noundef @.str.11, i32 noundef %12950, ptr noundef @.str.79, ptr noundef @.str.7, i32 noundef 475, ptr noundef %12953, ptr noundef %12956, ptr noundef %12959, i32 noundef %12961) #10
  br label %12963

12963:                                            ; preds = %12946, %12929
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #10
  br label %12964

12964:                                            ; preds = %12963
  br label %12965

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

12966:                                            ; No predecessors!
  br label %12967

12967:                                            ; preds = %12966
  br label %12968

12968:                                            ; preds = %12967, %12908
  br label %12969

12969:                                            ; preds = %12968
  br label %12970

12970:                                            ; preds = %12969
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #10
  store i32 0, ptr %281, align 4, !tbaa !5
  br label %12971

12971:                                            ; preds = %12970
  %12972 = load i32, ptr @test_count, align 4, !tbaa !5
  %12973 = add nsw i32 %12972, 1
  store i32 %12973, ptr @test_count, align 4, !tbaa !5
  %12974 = load ptr, ptr %269, align 8, !tbaa !9
  %12975 = call i32 @s2n_shutdown_send(ptr noundef %12974, ptr noundef %281)
  %12976 = icmp eq i32 %12975, -1
  br i1 %12976, label %12977, label %13030

12977:                                            ; preds = %12971
  br label %12978

12978:                                            ; preds = %12977
  br label %12979

12979:                                            ; preds = %12978
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #10
  %12980 = call ptr @__errno_location() #11
  %12981 = load i32, ptr %12980, align 4, !tbaa !5
  store i32 %12981, ptr %282, align 4, !tbaa !5
  %12982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12983 = call i32 @s2n_print_stacktrace(ptr noundef %12982)
  %12984 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12985 = trunc i8 %12984 to i1
  br i1 %12985, label %12986, label %13008

12986:                                            ; preds = %12979
  %12987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12988 = call i32 @fileno(ptr noundef %12987) #10
  %12989 = call i32 @isatty(i32 noundef %12988) #10
  %12990 = icmp ne i32 %12989, 0
  br i1 %12990, label %12991, label %13008

12991:                                            ; preds = %12986
  %12992 = load i32, ptr %282, align 4, !tbaa !5
  %12993 = call ptr @__errno_location() #11
  store i32 %12992, ptr %12993, align 4, !tbaa !5
  %12994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12995 = load i32, ptr @test_count, align 4, !tbaa !5
  %12996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12997 = load i32, ptr %12996, align 4, !tbaa !5
  %12998 = call ptr @s2n_strerror(i32 noundef %12997, ptr noundef @.str.10)
  %12999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13000 = load i32, ptr %12999, align 4, !tbaa !5
  %13001 = call ptr @s2n_strerror_debug(i32 noundef %13000, ptr noundef @.str.10)
  %13002 = call ptr @__errno_location() #11
  %13003 = load i32, ptr %13002, align 4, !tbaa !5
  %13004 = call ptr @strerror(i32 noundef %13003) #10
  %13005 = call ptr @__errno_location() #11
  %13006 = load i32, ptr %13005, align 4, !tbaa !5
  %13007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12994, ptr noundef @.str.8, i32 noundef %12995, ptr noundef @.str.82, ptr noundef @.str.7, i32 noundef 480, ptr noundef %12998, ptr noundef %13001, ptr noundef %13004, i32 noundef %13006) #10
  br label %13025

13008:                                            ; preds = %12986, %12979
  %13009 = load i32, ptr %282, align 4, !tbaa !5
  %13010 = call ptr @__errno_location() #11
  store i32 %13009, ptr %13010, align 4, !tbaa !5
  %13011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13012 = load i32, ptr @test_count, align 4, !tbaa !5
  %13013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13014 = load i32, ptr %13013, align 4, !tbaa !5
  %13015 = call ptr @s2n_strerror(i32 noundef %13014, ptr noundef @.str.10)
  %13016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13017 = load i32, ptr %13016, align 4, !tbaa !5
  %13018 = call ptr @s2n_strerror_debug(i32 noundef %13017, ptr noundef @.str.10)
  %13019 = call ptr @__errno_location() #11
  %13020 = load i32, ptr %13019, align 4, !tbaa !5
  %13021 = call ptr @strerror(i32 noundef %13020) #10
  %13022 = call ptr @__errno_location() #11
  %13023 = load i32, ptr %13022, align 4, !tbaa !5
  %13024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13011, ptr noundef @.str.11, i32 noundef %13012, ptr noundef @.str.82, ptr noundef @.str.7, i32 noundef 480, ptr noundef %13015, ptr noundef %13018, ptr noundef %13021, i32 noundef %13023) #10
  br label %13025

13025:                                            ; preds = %13008, %12991
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #10
  br label %13026

13026:                                            ; preds = %13025
  br label %13027

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

13028:                                            ; No predecessors!
  br label %13029

13029:                                            ; preds = %13028
  br label %13030

13030:                                            ; preds = %13029, %12971
  br label %13031

13031:                                            ; preds = %13030
  br label %13032

13032:                                            ; preds = %13031
  call void @llvm.lifetime.start.p0(i64 1, ptr %283) #10
  store i8 0, ptr %283, align 1, !tbaa !15
  %13033 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %275, i32 0, i32 1
  %13034 = getelementptr inbounds %struct.s2n_stuffer, ptr %13033, i32 0, i32 2
  %13035 = load i32, ptr %13034, align 4, !tbaa !52
  %13036 = add i32 %13035, -1
  store i32 %13036, ptr %13034, align 4, !tbaa !52
  br label %13037

13037:                                            ; preds = %13032
  br label %13038

13038:                                            ; preds = %13037
  br label %13039

13039:                                            ; preds = %13038
  %13040 = load i32, ptr @test_count, align 4, !tbaa !5
  %13041 = add nsw i32 %13040, 1
  store i32 %13041, ptr @test_count, align 4, !tbaa !5
  %13042 = load ptr, ptr %272, align 8, !tbaa !9
  %13043 = call i64 @s2n_recv(ptr noundef %13042, ptr noundef %283, i64 noundef 1, ptr noundef %281)
  %13044 = icmp eq i64 %13043, -1
  br i1 %13044, label %13098, label %13045

13045:                                            ; preds = %13039
  br label %13046

13046:                                            ; preds = %13045
  br label %13047

13047:                                            ; preds = %13046
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #10
  %13048 = call ptr @__errno_location() #11
  %13049 = load i32, ptr %13048, align 4, !tbaa !5
  store i32 %13049, ptr %284, align 4, !tbaa !5
  %13050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13051 = call i32 @s2n_print_stacktrace(ptr noundef %13050)
  %13052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13053 = trunc i8 %13052 to i1
  br i1 %13053, label %13054, label %13076

13054:                                            ; preds = %13047
  %13055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13056 = call i32 @fileno(ptr noundef %13055) #10
  %13057 = call i32 @isatty(i32 noundef %13056) #10
  %13058 = icmp ne i32 %13057, 0
  br i1 %13058, label %13059, label %13076

13059:                                            ; preds = %13054
  %13060 = load i32, ptr %284, align 4, !tbaa !5
  %13061 = call ptr @__errno_location() #11
  store i32 %13060, ptr %13061, align 4, !tbaa !5
  %13062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13063 = load i32, ptr @test_count, align 4, !tbaa !5
  %13064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13065 = load i32, ptr %13064, align 4, !tbaa !5
  %13066 = call ptr @s2n_strerror(i32 noundef %13065, ptr noundef @.str.10)
  %13067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13068 = load i32, ptr %13067, align 4, !tbaa !5
  %13069 = call ptr @s2n_strerror_debug(i32 noundef %13068, ptr noundef @.str.10)
  %13070 = call ptr @__errno_location() #11
  %13071 = load i32, ptr %13070, align 4, !tbaa !5
  %13072 = call ptr @strerror(i32 noundef %13071) #10
  %13073 = call ptr @__errno_location() #11
  %13074 = load i32, ptr %13073, align 4, !tbaa !5
  %13075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13062, ptr noundef @.str.8, i32 noundef %13063, ptr noundef @.str.85, ptr noundef @.str.7, i32 noundef 485, ptr noundef %13066, ptr noundef %13069, ptr noundef %13072, i32 noundef %13074) #10
  br label %13093

13076:                                            ; preds = %13054, %13047
  %13077 = load i32, ptr %284, align 4, !tbaa !5
  %13078 = call ptr @__errno_location() #11
  store i32 %13077, ptr %13078, align 4, !tbaa !5
  %13079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13080 = load i32, ptr @test_count, align 4, !tbaa !5
  %13081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13082 = load i32, ptr %13081, align 4, !tbaa !5
  %13083 = call ptr @s2n_strerror(i32 noundef %13082, ptr noundef @.str.10)
  %13084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13085 = load i32, ptr %13084, align 4, !tbaa !5
  %13086 = call ptr @s2n_strerror_debug(i32 noundef %13085, ptr noundef @.str.10)
  %13087 = call ptr @__errno_location() #11
  %13088 = load i32, ptr %13087, align 4, !tbaa !5
  %13089 = call ptr @strerror(i32 noundef %13088) #10
  %13090 = call ptr @__errno_location() #11
  %13091 = load i32, ptr %13090, align 4, !tbaa !5
  %13092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13079, ptr noundef @.str.11, i32 noundef %13080, ptr noundef @.str.85, ptr noundef @.str.7, i32 noundef 485, ptr noundef %13083, ptr noundef %13086, ptr noundef %13089, i32 noundef %13091) #10
  br label %13093

13093:                                            ; preds = %13076, %13059
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #10
  br label %13094

13094:                                            ; preds = %13093
  br label %13095

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

13096:                                            ; No predecessors!
  br label %13097

13097:                                            ; preds = %13096
  br label %13098

13098:                                            ; preds = %13097, %13039
  br label %13099

13099:                                            ; preds = %13098
  br label %13100

13100:                                            ; preds = %13099
  br label %13101

13101:                                            ; preds = %13100
  %13102 = load i32, ptr @test_count, align 4, !tbaa !5
  %13103 = add nsw i32 %13102, 1
  store i32 %13103, ptr @test_count, align 4, !tbaa !5
  %13104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13105 = load i32, ptr %13104, align 4, !tbaa !5
  %13106 = icmp eq i32 %13105, 201326592
  br i1 %13106, label %13160, label %13107

13107:                                            ; preds = %13101
  br label %13108

13108:                                            ; preds = %13107
  br label %13109

13109:                                            ; preds = %13108
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #10
  %13110 = call ptr @__errno_location() #11
  %13111 = load i32, ptr %13110, align 4, !tbaa !5
  store i32 %13111, ptr %285, align 4, !tbaa !5
  %13112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13113 = call i32 @s2n_print_stacktrace(ptr noundef %13112)
  %13114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13115 = trunc i8 %13114 to i1
  br i1 %13115, label %13116, label %13138

13116:                                            ; preds = %13109
  %13117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13118 = call i32 @fileno(ptr noundef %13117) #10
  %13119 = call i32 @isatty(i32 noundef %13118) #10
  %13120 = icmp ne i32 %13119, 0
  br i1 %13120, label %13121, label %13138

13121:                                            ; preds = %13116
  %13122 = load i32, ptr %285, align 4, !tbaa !5
  %13123 = call ptr @__errno_location() #11
  store i32 %13122, ptr %13123, align 4, !tbaa !5
  %13124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13125 = load i32, ptr @test_count, align 4, !tbaa !5
  %13126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13127 = load i32, ptr %13126, align 4, !tbaa !5
  %13128 = call ptr @s2n_strerror(i32 noundef %13127, ptr noundef @.str.10)
  %13129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13130 = load i32, ptr %13129, align 4, !tbaa !5
  %13131 = call ptr @s2n_strerror_debug(i32 noundef %13130, ptr noundef @.str.10)
  %13132 = call ptr @__errno_location() #11
  %13133 = load i32, ptr %13132, align 4, !tbaa !5
  %13134 = call ptr @strerror(i32 noundef %13133) #10
  %13135 = call ptr @__errno_location() #11
  %13136 = load i32, ptr %13135, align 4, !tbaa !5
  %13137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13124, ptr noundef @.str.8, i32 noundef %13125, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 485, ptr noundef %13128, ptr noundef %13131, ptr noundef %13134, i32 noundef %13136) #10
  br label %13155

13138:                                            ; preds = %13116, %13109
  %13139 = load i32, ptr %285, align 4, !tbaa !5
  %13140 = call ptr @__errno_location() #11
  store i32 %13139, ptr %13140, align 4, !tbaa !5
  %13141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13142 = load i32, ptr @test_count, align 4, !tbaa !5
  %13143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13144 = load i32, ptr %13143, align 4, !tbaa !5
  %13145 = call ptr @s2n_strerror(i32 noundef %13144, ptr noundef @.str.10)
  %13146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13147 = load i32, ptr %13146, align 4, !tbaa !5
  %13148 = call ptr @s2n_strerror_debug(i32 noundef %13147, ptr noundef @.str.10)
  %13149 = call ptr @__errno_location() #11
  %13150 = load i32, ptr %13149, align 4, !tbaa !5
  %13151 = call ptr @strerror(i32 noundef %13150) #10
  %13152 = call ptr @__errno_location() #11
  %13153 = load i32, ptr %13152, align 4, !tbaa !5
  %13154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13141, ptr noundef @.str.11, i32 noundef %13142, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 485, ptr noundef %13145, ptr noundef %13148, ptr noundef %13151, i32 noundef %13153) #10
  br label %13155

13155:                                            ; preds = %13138, %13121
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #10
  br label %13156

13156:                                            ; preds = %13155
  br label %13157

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

13158:                                            ; No predecessors!
  br label %13159

13159:                                            ; preds = %13158
  br label %13160

13160:                                            ; preds = %13159, %13101
  br label %13161

13161:                                            ; preds = %13160
  br label %13162

13162:                                            ; preds = %13161
  br label %13163

13163:                                            ; preds = %13162
  %13164 = load i32, ptr @test_count, align 4, !tbaa !5
  %13165 = add nsw i32 %13164, 1
  store i32 %13165, ptr @test_count, align 4, !tbaa !5
  %13166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13167 = load i32, ptr %13166, align 4, !tbaa !5
  %13168 = call ptr @s2n_strerror_debug(i32 noundef %13167, ptr noundef @.str.10)
  %13169 = icmp eq ptr %13168, null
  br i1 %13169, label %13170, label %13223

13170:                                            ; preds = %13163
  br label %13171

13171:                                            ; preds = %13170
  br label %13172

13172:                                            ; preds = %13171
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #10
  %13173 = call ptr @__errno_location() #11
  %13174 = load i32, ptr %13173, align 4, !tbaa !5
  store i32 %13174, ptr %286, align 4, !tbaa !5
  %13175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13176 = call i32 @s2n_print_stacktrace(ptr noundef %13175)
  %13177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13178 = trunc i8 %13177 to i1
  br i1 %13178, label %13179, label %13201

13179:                                            ; preds = %13172
  %13180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13181 = call i32 @fileno(ptr noundef %13180) #10
  %13182 = call i32 @isatty(i32 noundef %13181) #10
  %13183 = icmp ne i32 %13182, 0
  br i1 %13183, label %13184, label %13201

13184:                                            ; preds = %13179
  %13185 = load i32, ptr %286, align 4, !tbaa !5
  %13186 = call ptr @__errno_location() #11
  store i32 %13185, ptr %13186, align 4, !tbaa !5
  %13187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13188 = load i32, ptr @test_count, align 4, !tbaa !5
  %13189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13190 = load i32, ptr %13189, align 4, !tbaa !5
  %13191 = call ptr @s2n_strerror(i32 noundef %13190, ptr noundef @.str.10)
  %13192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13193 = load i32, ptr %13192, align 4, !tbaa !5
  %13194 = call ptr @s2n_strerror_debug(i32 noundef %13193, ptr noundef @.str.10)
  %13195 = call ptr @__errno_location() #11
  %13196 = load i32, ptr %13195, align 4, !tbaa !5
  %13197 = call ptr @strerror(i32 noundef %13196) #10
  %13198 = call ptr @__errno_location() #11
  %13199 = load i32, ptr %13198, align 4, !tbaa !5
  %13200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13187, ptr noundef @.str.8, i32 noundef %13188, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 485, ptr noundef %13191, ptr noundef %13194, ptr noundef %13197, i32 noundef %13199) #10
  br label %13218

13201:                                            ; preds = %13179, %13172
  %13202 = load i32, ptr %286, align 4, !tbaa !5
  %13203 = call ptr @__errno_location() #11
  store i32 %13202, ptr %13203, align 4, !tbaa !5
  %13204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13205 = load i32, ptr @test_count, align 4, !tbaa !5
  %13206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13207 = load i32, ptr %13206, align 4, !tbaa !5
  %13208 = call ptr @s2n_strerror(i32 noundef %13207, ptr noundef @.str.10)
  %13209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13210 = load i32, ptr %13209, align 4, !tbaa !5
  %13211 = call ptr @s2n_strerror_debug(i32 noundef %13210, ptr noundef @.str.10)
  %13212 = call ptr @__errno_location() #11
  %13213 = load i32, ptr %13212, align 4, !tbaa !5
  %13214 = call ptr @strerror(i32 noundef %13213) #10
  %13215 = call ptr @__errno_location() #11
  %13216 = load i32, ptr %13215, align 4, !tbaa !5
  %13217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13204, ptr noundef @.str.11, i32 noundef %13205, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 485, ptr noundef %13208, ptr noundef %13211, ptr noundef %13214, i32 noundef %13216) #10
  br label %13218

13218:                                            ; preds = %13201, %13184
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #10
  br label %13219

13219:                                            ; preds = %13218
  br label %13220

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

13221:                                            ; No predecessors!
  br label %13222

13222:                                            ; preds = %13221
  br label %13223

13223:                                            ; preds = %13222, %13163
  br label %13224

13224:                                            ; preds = %13223
  br label %13225

13225:                                            ; preds = %13224
  br label %13226

13226:                                            ; preds = %13225
  br label %13227

13227:                                            ; preds = %13226
  br label %13228

13228:                                            ; preds = %13227
  %13229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13229, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13230 = call ptr @__errno_location() #11
  store i32 0, ptr %13230, align 4, !tbaa !5
  br label %13231

13231:                                            ; preds = %13228
  br label %13232

13232:                                            ; preds = %13231
  br label %13233

13233:                                            ; preds = %13232
  br label %13234

13234:                                            ; preds = %13233
  br label %13235

13235:                                            ; preds = %13234
  %13236 = load i32, ptr @test_count, align 4, !tbaa !5
  %13237 = add nsw i32 %13236, 1
  store i32 %13237, ptr @test_count, align 4, !tbaa !5
  %13238 = load ptr, ptr %272, align 8, !tbaa !9
  %13239 = getelementptr inbounds %struct.s2n_connection, ptr %13238, i32 0, i32 51
  %13240 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %13239)
  br i1 %13240, label %13241, label %13294

13241:                                            ; preds = %13235
  br label %13242

13242:                                            ; preds = %13241
  br label %13243

13243:                                            ; preds = %13242
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #10
  %13244 = call ptr @__errno_location() #11
  %13245 = load i32, ptr %13244, align 4, !tbaa !5
  store i32 %13245, ptr %287, align 4, !tbaa !5
  %13246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13247 = call i32 @s2n_print_stacktrace(ptr noundef %13246)
  %13248 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13249 = trunc i8 %13248 to i1
  br i1 %13249, label %13250, label %13272

13250:                                            ; preds = %13243
  %13251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13252 = call i32 @fileno(ptr noundef %13251) #10
  %13253 = call i32 @isatty(i32 noundef %13252) #10
  %13254 = icmp ne i32 %13253, 0
  br i1 %13254, label %13255, label %13272

13255:                                            ; preds = %13250
  %13256 = load i32, ptr %287, align 4, !tbaa !5
  %13257 = call ptr @__errno_location() #11
  store i32 %13256, ptr %13257, align 4, !tbaa !5
  %13258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13259 = load i32, ptr @test_count, align 4, !tbaa !5
  %13260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13261 = load i32, ptr %13260, align 4, !tbaa !5
  %13262 = call ptr @s2n_strerror(i32 noundef %13261, ptr noundef @.str.10)
  %13263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13264 = load i32, ptr %13263, align 4, !tbaa !5
  %13265 = call ptr @s2n_strerror_debug(i32 noundef %13264, ptr noundef @.str.10)
  %13266 = call ptr @__errno_location() #11
  %13267 = load i32, ptr %13266, align 4, !tbaa !5
  %13268 = call ptr @strerror(i32 noundef %13267) #10
  %13269 = call ptr @__errno_location() #11
  %13270 = load i32, ptr %13269, align 4, !tbaa !5
  %13271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13258, ptr noundef @.str.8, i32 noundef %13259, ptr noundef @.str.86, ptr noundef @.str.7, i32 noundef 486, ptr noundef %13262, ptr noundef %13265, ptr noundef %13268, i32 noundef %13270) #10
  br label %13289

13272:                                            ; preds = %13250, %13243
  %13273 = load i32, ptr %287, align 4, !tbaa !5
  %13274 = call ptr @__errno_location() #11
  store i32 %13273, ptr %13274, align 4, !tbaa !5
  %13275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13276 = load i32, ptr @test_count, align 4, !tbaa !5
  %13277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13278 = load i32, ptr %13277, align 4, !tbaa !5
  %13279 = call ptr @s2n_strerror(i32 noundef %13278, ptr noundef @.str.10)
  %13280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13281 = load i32, ptr %13280, align 4, !tbaa !5
  %13282 = call ptr @s2n_strerror_debug(i32 noundef %13281, ptr noundef @.str.10)
  %13283 = call ptr @__errno_location() #11
  %13284 = load i32, ptr %13283, align 4, !tbaa !5
  %13285 = call ptr @strerror(i32 noundef %13284) #10
  %13286 = call ptr @__errno_location() #11
  %13287 = load i32, ptr %13286, align 4, !tbaa !5
  %13288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13275, ptr noundef @.str.11, i32 noundef %13276, ptr noundef @.str.86, ptr noundef @.str.7, i32 noundef 486, ptr noundef %13279, ptr noundef %13282, ptr noundef %13285, i32 noundef %13287) #10
  br label %13289

13289:                                            ; preds = %13272, %13255
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #10
  br label %13290

13290:                                            ; preds = %13289
  br label %13291

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

13292:                                            ; No predecessors!
  br label %13293

13293:                                            ; preds = %13292
  br label %13294

13294:                                            ; preds = %13293, %13235
  br label %13295

13295:                                            ; preds = %13294
  br label %13296

13296:                                            ; preds = %13295
  %13297 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %275, i32 0, i32 1
  %13298 = getelementptr inbounds %struct.s2n_stuffer, ptr %13297, i32 0, i32 2
  %13299 = load i32, ptr %13298, align 4, !tbaa !52
  %13300 = add i32 %13299, 1
  store i32 %13300, ptr %13298, align 4, !tbaa !52
  br label %13301

13301:                                            ; preds = %13296
  %13302 = load i32, ptr @test_count, align 4, !tbaa !5
  %13303 = add nsw i32 %13302, 1
  store i32 %13303, ptr @test_count, align 4, !tbaa !5
  %13304 = load ptr, ptr %272, align 8, !tbaa !9
  %13305 = call i32 @s2n_shutdown(ptr noundef %13304, ptr noundef %281)
  %13306 = icmp eq i32 %13305, -1
  br i1 %13306, label %13307, label %13360

13307:                                            ; preds = %13301
  br label %13308

13308:                                            ; preds = %13307
  br label %13309

13309:                                            ; preds = %13308
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #10
  %13310 = call ptr @__errno_location() #11
  %13311 = load i32, ptr %13310, align 4, !tbaa !5
  store i32 %13311, ptr %288, align 4, !tbaa !5
  %13312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13313 = call i32 @s2n_print_stacktrace(ptr noundef %13312)
  %13314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13315 = trunc i8 %13314 to i1
  br i1 %13315, label %13316, label %13338

13316:                                            ; preds = %13309
  %13317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13318 = call i32 @fileno(ptr noundef %13317) #10
  %13319 = call i32 @isatty(i32 noundef %13318) #10
  %13320 = icmp ne i32 %13319, 0
  br i1 %13320, label %13321, label %13338

13321:                                            ; preds = %13316
  %13322 = load i32, ptr %288, align 4, !tbaa !5
  %13323 = call ptr @__errno_location() #11
  store i32 %13322, ptr %13323, align 4, !tbaa !5
  %13324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13325 = load i32, ptr @test_count, align 4, !tbaa !5
  %13326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13327 = load i32, ptr %13326, align 4, !tbaa !5
  %13328 = call ptr @s2n_strerror(i32 noundef %13327, ptr noundef @.str.10)
  %13329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13330 = load i32, ptr %13329, align 4, !tbaa !5
  %13331 = call ptr @s2n_strerror_debug(i32 noundef %13330, ptr noundef @.str.10)
  %13332 = call ptr @__errno_location() #11
  %13333 = load i32, ptr %13332, align 4, !tbaa !5
  %13334 = call ptr @strerror(i32 noundef %13333) #10
  %13335 = call ptr @__errno_location() #11
  %13336 = load i32, ptr %13335, align 4, !tbaa !5
  %13337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13324, ptr noundef @.str.8, i32 noundef %13325, ptr noundef @.str.83, ptr noundef @.str.7, i32 noundef 490, ptr noundef %13328, ptr noundef %13331, ptr noundef %13334, i32 noundef %13336) #10
  br label %13355

13338:                                            ; preds = %13316, %13309
  %13339 = load i32, ptr %288, align 4, !tbaa !5
  %13340 = call ptr @__errno_location() #11
  store i32 %13339, ptr %13340, align 4, !tbaa !5
  %13341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13342 = load i32, ptr @test_count, align 4, !tbaa !5
  %13343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13344 = load i32, ptr %13343, align 4, !tbaa !5
  %13345 = call ptr @s2n_strerror(i32 noundef %13344, ptr noundef @.str.10)
  %13346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13347 = load i32, ptr %13346, align 4, !tbaa !5
  %13348 = call ptr @s2n_strerror_debug(i32 noundef %13347, ptr noundef @.str.10)
  %13349 = call ptr @__errno_location() #11
  %13350 = load i32, ptr %13349, align 4, !tbaa !5
  %13351 = call ptr @strerror(i32 noundef %13350) #10
  %13352 = call ptr @__errno_location() #11
  %13353 = load i32, ptr %13352, align 4, !tbaa !5
  %13354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13341, ptr noundef @.str.11, i32 noundef %13342, ptr noundef @.str.83, ptr noundef @.str.7, i32 noundef 490, ptr noundef %13345, ptr noundef %13348, ptr noundef %13351, i32 noundef %13353) #10
  br label %13355

13355:                                            ; preds = %13338, %13321
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #10
  br label %13356

13356:                                            ; preds = %13355
  br label %13357

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

13358:                                            ; No predecessors!
  br label %13359

13359:                                            ; preds = %13358
  br label %13360

13360:                                            ; preds = %13359, %13301
  br label %13361

13361:                                            ; preds = %13360
  br label %13362

13362:                                            ; preds = %13361
  br label %13363

13363:                                            ; preds = %13362
  %13364 = load i32, ptr @test_count, align 4, !tbaa !5
  %13365 = add nsw i32 %13364, 1
  store i32 %13365, ptr @test_count, align 4, !tbaa !5
  %13366 = load ptr, ptr %272, align 8, !tbaa !9
  %13367 = getelementptr inbounds %struct.s2n_connection, ptr %13366, i32 0, i32 51
  %13368 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %13367)
  br i1 %13368, label %13422, label %13369

13369:                                            ; preds = %13363
  br label %13370

13370:                                            ; preds = %13369
  br label %13371

13371:                                            ; preds = %13370
  call void @llvm.lifetime.start.p0(i64 4, ptr %289) #10
  %13372 = call ptr @__errno_location() #11
  %13373 = load i32, ptr %13372, align 4, !tbaa !5
  store i32 %13373, ptr %289, align 4, !tbaa !5
  %13374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13375 = call i32 @s2n_print_stacktrace(ptr noundef %13374)
  %13376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13377 = trunc i8 %13376 to i1
  br i1 %13377, label %13378, label %13400

13378:                                            ; preds = %13371
  %13379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13380 = call i32 @fileno(ptr noundef %13379) #10
  %13381 = call i32 @isatty(i32 noundef %13380) #10
  %13382 = icmp ne i32 %13381, 0
  br i1 %13382, label %13383, label %13400

13383:                                            ; preds = %13378
  %13384 = load i32, ptr %289, align 4, !tbaa !5
  %13385 = call ptr @__errno_location() #11
  store i32 %13384, ptr %13385, align 4, !tbaa !5
  %13386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13387 = load i32, ptr @test_count, align 4, !tbaa !5
  %13388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13389 = load i32, ptr %13388, align 4, !tbaa !5
  %13390 = call ptr @s2n_strerror(i32 noundef %13389, ptr noundef @.str.10)
  %13391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13392 = load i32, ptr %13391, align 4, !tbaa !5
  %13393 = call ptr @s2n_strerror_debug(i32 noundef %13392, ptr noundef @.str.10)
  %13394 = call ptr @__errno_location() #11
  %13395 = load i32, ptr %13394, align 4, !tbaa !5
  %13396 = call ptr @strerror(i32 noundef %13395) #10
  %13397 = call ptr @__errno_location() #11
  %13398 = load i32, ptr %13397, align 4, !tbaa !5
  %13399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13386, ptr noundef @.str.8, i32 noundef %13387, ptr noundef @.str.84, ptr noundef @.str.7, i32 noundef 491, ptr noundef %13390, ptr noundef %13393, ptr noundef %13396, i32 noundef %13398) #10
  br label %13417

13400:                                            ; preds = %13378, %13371
  %13401 = load i32, ptr %289, align 4, !tbaa !5
  %13402 = call ptr @__errno_location() #11
  store i32 %13401, ptr %13402, align 4, !tbaa !5
  %13403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13404 = load i32, ptr @test_count, align 4, !tbaa !5
  %13405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13406 = load i32, ptr %13405, align 4, !tbaa !5
  %13407 = call ptr @s2n_strerror(i32 noundef %13406, ptr noundef @.str.10)
  %13408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13409 = load i32, ptr %13408, align 4, !tbaa !5
  %13410 = call ptr @s2n_strerror_debug(i32 noundef %13409, ptr noundef @.str.10)
  %13411 = call ptr @__errno_location() #11
  %13412 = load i32, ptr %13411, align 4, !tbaa !5
  %13413 = call ptr @strerror(i32 noundef %13412) #10
  %13414 = call ptr @__errno_location() #11
  %13415 = load i32, ptr %13414, align 4, !tbaa !5
  %13416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13403, ptr noundef @.str.11, i32 noundef %13404, ptr noundef @.str.84, ptr noundef @.str.7, i32 noundef 491, ptr noundef %13407, ptr noundef %13410, ptr noundef %13413, i32 noundef %13415) #10
  br label %13417

13417:                                            ; preds = %13400, %13383
  call void @llvm.lifetime.end.p0(i64 4, ptr %289) #10
  br label %13418

13418:                                            ; preds = %13417
  br label %13419

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

13420:                                            ; No predecessors!
  br label %13421

13421:                                            ; preds = %13420
  br label %13422

13422:                                            ; preds = %13421, %13363
  br label %13423

13423:                                            ; preds = %13422
  br label %13424

13424:                                            ; preds = %13423
  call void @llvm.lifetime.end.p0(i64 1, ptr %283) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #10
  %13425 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %275)
  %13426 = getelementptr inbounds %struct.s2n_result, ptr %290, i32 0, i32 0
  store i32 %13425, ptr %13426, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %275) #10
  %13427 = call i32 @s2n_connection_ptr_free(ptr noundef %272)
  %13428 = getelementptr inbounds %struct.s2n_result, ptr %291, i32 0, i32 0
  store i32 %13427, ptr %13428, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %272) #10
  %13429 = call i32 @s2n_connection_ptr_free(ptr noundef %269)
  %13430 = getelementptr inbounds %struct.s2n_result, ptr %292, i32 0, i32 0
  store i32 %13429, ptr %13430, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %269) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %293) #10
  %13431 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %13431, ptr %293, align 8, !tbaa !9
  br label %13432

13432:                                            ; preds = %13424
  %13433 = load i32, ptr @test_count, align 4, !tbaa !5
  %13434 = add nsw i32 %13433, 1
  store i32 %13434, ptr @test_count, align 4, !tbaa !5
  %13435 = load ptr, ptr %293, align 8, !tbaa !9
  %13436 = icmp eq ptr %13435, null
  br i1 %13436, label %13437, label %13490

13437:                                            ; preds = %13432
  br label %13438

13438:                                            ; preds = %13437
  br label %13439

13439:                                            ; preds = %13438
  call void @llvm.lifetime.start.p0(i64 4, ptr %294) #10
  %13440 = call ptr @__errno_location() #11
  %13441 = load i32, ptr %13440, align 4, !tbaa !5
  store i32 %13441, ptr %294, align 4, !tbaa !5
  %13442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13443 = call i32 @s2n_print_stacktrace(ptr noundef %13442)
  %13444 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13445 = trunc i8 %13444 to i1
  br i1 %13445, label %13446, label %13468

13446:                                            ; preds = %13439
  %13447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13448 = call i32 @fileno(ptr noundef %13447) #10
  %13449 = call i32 @isatty(i32 noundef %13448) #10
  %13450 = icmp ne i32 %13449, 0
  br i1 %13450, label %13451, label %13468

13451:                                            ; preds = %13446
  %13452 = load i32, ptr %294, align 4, !tbaa !5
  %13453 = call ptr @__errno_location() #11
  store i32 %13452, ptr %13453, align 4, !tbaa !5
  %13454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13455 = load i32, ptr @test_count, align 4, !tbaa !5
  %13456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13457 = load i32, ptr %13456, align 4, !tbaa !5
  %13458 = call ptr @s2n_strerror(i32 noundef %13457, ptr noundef @.str.10)
  %13459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13460 = load i32, ptr %13459, align 4, !tbaa !5
  %13461 = call ptr @s2n_strerror_debug(i32 noundef %13460, ptr noundef @.str.10)
  %13462 = call ptr @__errno_location() #11
  %13463 = load i32, ptr %13462, align 4, !tbaa !5
  %13464 = call ptr @strerror(i32 noundef %13463) #10
  %13465 = call ptr @__errno_location() #11
  %13466 = load i32, ptr %13465, align 4, !tbaa !5
  %13467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13454, ptr noundef @.str.8, i32 noundef %13455, ptr noundef @.str.73, ptr noundef @.str.7, i32 noundef 498, ptr noundef %13458, ptr noundef %13461, ptr noundef %13464, i32 noundef %13466) #10
  br label %13485

13468:                                            ; preds = %13446, %13439
  %13469 = load i32, ptr %294, align 4, !tbaa !5
  %13470 = call ptr @__errno_location() #11
  store i32 %13469, ptr %13470, align 4, !tbaa !5
  %13471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13472 = load i32, ptr @test_count, align 4, !tbaa !5
  %13473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13474 = load i32, ptr %13473, align 4, !tbaa !5
  %13475 = call ptr @s2n_strerror(i32 noundef %13474, ptr noundef @.str.10)
  %13476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13477 = load i32, ptr %13476, align 4, !tbaa !5
  %13478 = call ptr @s2n_strerror_debug(i32 noundef %13477, ptr noundef @.str.10)
  %13479 = call ptr @__errno_location() #11
  %13480 = load i32, ptr %13479, align 4, !tbaa !5
  %13481 = call ptr @strerror(i32 noundef %13480) #10
  %13482 = call ptr @__errno_location() #11
  %13483 = load i32, ptr %13482, align 4, !tbaa !5
  %13484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13471, ptr noundef @.str.11, i32 noundef %13472, ptr noundef @.str.73, ptr noundef @.str.7, i32 noundef 498, ptr noundef %13475, ptr noundef %13478, ptr noundef %13481, i32 noundef %13483) #10
  br label %13485

13485:                                            ; preds = %13468, %13451
  call void @llvm.lifetime.end.p0(i64 4, ptr %294) #10
  br label %13486

13486:                                            ; preds = %13485
  br label %13487

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

13488:                                            ; No predecessors!
  br label %13489

13489:                                            ; preds = %13488
  br label %13490

13490:                                            ; preds = %13489, %13432
  br label %13491

13491:                                            ; preds = %13490
  br label %13492

13492:                                            ; preds = %13491
  br label %13493

13493:                                            ; preds = %13492
  %13494 = load i32, ptr @test_count, align 4, !tbaa !5
  %13495 = add nsw i32 %13494, 1
  store i32 %13495, ptr @test_count, align 4, !tbaa !5
  %13496 = load ptr, ptr %293, align 8, !tbaa !9
  %13497 = load ptr, ptr %14, align 8, !tbaa !9
  %13498 = call i32 @s2n_connection_set_config(ptr noundef %13496, ptr noundef %13497)
  %13499 = icmp eq i32 %13498, -1
  br i1 %13499, label %13500, label %13553

13500:                                            ; preds = %13493
  br label %13501

13501:                                            ; preds = %13500
  br label %13502

13502:                                            ; preds = %13501
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #10
  %13503 = call ptr @__errno_location() #11
  %13504 = load i32, ptr %13503, align 4, !tbaa !5
  store i32 %13504, ptr %295, align 4, !tbaa !5
  %13505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13506 = call i32 @s2n_print_stacktrace(ptr noundef %13505)
  %13507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13508 = trunc i8 %13507 to i1
  br i1 %13508, label %13509, label %13531

13509:                                            ; preds = %13502
  %13510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13511 = call i32 @fileno(ptr noundef %13510) #10
  %13512 = call i32 @isatty(i32 noundef %13511) #10
  %13513 = icmp ne i32 %13512, 0
  br i1 %13513, label %13514, label %13531

13514:                                            ; preds = %13509
  %13515 = load i32, ptr %295, align 4, !tbaa !5
  %13516 = call ptr @__errno_location() #11
  store i32 %13515, ptr %13516, align 4, !tbaa !5
  %13517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13518 = load i32, ptr @test_count, align 4, !tbaa !5
  %13519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13520 = load i32, ptr %13519, align 4, !tbaa !5
  %13521 = call ptr @s2n_strerror(i32 noundef %13520, ptr noundef @.str.10)
  %13522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13523 = load i32, ptr %13522, align 4, !tbaa !5
  %13524 = call ptr @s2n_strerror_debug(i32 noundef %13523, ptr noundef @.str.10)
  %13525 = call ptr @__errno_location() #11
  %13526 = load i32, ptr %13525, align 4, !tbaa !5
  %13527 = call ptr @strerror(i32 noundef %13526) #10
  %13528 = call ptr @__errno_location() #11
  %13529 = load i32, ptr %13528, align 4, !tbaa !5
  %13530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13517, ptr noundef @.str.8, i32 noundef %13518, ptr noundef @.str.74, ptr noundef @.str.7, i32 noundef 499, ptr noundef %13521, ptr noundef %13524, ptr noundef %13527, i32 noundef %13529) #10
  br label %13548

13531:                                            ; preds = %13509, %13502
  %13532 = load i32, ptr %295, align 4, !tbaa !5
  %13533 = call ptr @__errno_location() #11
  store i32 %13532, ptr %13533, align 4, !tbaa !5
  %13534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13535 = load i32, ptr @test_count, align 4, !tbaa !5
  %13536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13537 = load i32, ptr %13536, align 4, !tbaa !5
  %13538 = call ptr @s2n_strerror(i32 noundef %13537, ptr noundef @.str.10)
  %13539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13540 = load i32, ptr %13539, align 4, !tbaa !5
  %13541 = call ptr @s2n_strerror_debug(i32 noundef %13540, ptr noundef @.str.10)
  %13542 = call ptr @__errno_location() #11
  %13543 = load i32, ptr %13542, align 4, !tbaa !5
  %13544 = call ptr @strerror(i32 noundef %13543) #10
  %13545 = call ptr @__errno_location() #11
  %13546 = load i32, ptr %13545, align 4, !tbaa !5
  %13547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13534, ptr noundef @.str.11, i32 noundef %13535, ptr noundef @.str.74, ptr noundef @.str.7, i32 noundef 499, ptr noundef %13538, ptr noundef %13541, ptr noundef %13544, i32 noundef %13546) #10
  br label %13548

13548:                                            ; preds = %13531, %13514
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #10
  br label %13549

13549:                                            ; preds = %13548
  br label %13550

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

13551:                                            ; No predecessors!
  br label %13552

13552:                                            ; preds = %13551
  br label %13553

13553:                                            ; preds = %13552, %13493
  br label %13554

13554:                                            ; preds = %13553
  br label %13555

13555:                                            ; preds = %13554
  call void @llvm.lifetime.start.p0(i64 8, ptr %296) #10
  %13556 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %13556, ptr %296, align 8, !tbaa !9
  br label %13557

13557:                                            ; preds = %13555
  %13558 = load i32, ptr @test_count, align 4, !tbaa !5
  %13559 = add nsw i32 %13558, 1
  store i32 %13559, ptr @test_count, align 4, !tbaa !5
  %13560 = load ptr, ptr %296, align 8, !tbaa !9
  %13561 = icmp eq ptr %13560, null
  br i1 %13561, label %13562, label %13615

13562:                                            ; preds = %13557
  br label %13563

13563:                                            ; preds = %13562
  br label %13564

13564:                                            ; preds = %13563
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #10
  %13565 = call ptr @__errno_location() #11
  %13566 = load i32, ptr %13565, align 4, !tbaa !5
  store i32 %13566, ptr %297, align 4, !tbaa !5
  %13567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13568 = call i32 @s2n_print_stacktrace(ptr noundef %13567)
  %13569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13570 = trunc i8 %13569 to i1
  br i1 %13570, label %13571, label %13593

13571:                                            ; preds = %13564
  %13572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13573 = call i32 @fileno(ptr noundef %13572) #10
  %13574 = call i32 @isatty(i32 noundef %13573) #10
  %13575 = icmp ne i32 %13574, 0
  br i1 %13575, label %13576, label %13593

13576:                                            ; preds = %13571
  %13577 = load i32, ptr %297, align 4, !tbaa !5
  %13578 = call ptr @__errno_location() #11
  store i32 %13577, ptr %13578, align 4, !tbaa !5
  %13579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13580 = load i32, ptr @test_count, align 4, !tbaa !5
  %13581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13582 = load i32, ptr %13581, align 4, !tbaa !5
  %13583 = call ptr @s2n_strerror(i32 noundef %13582, ptr noundef @.str.10)
  %13584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13585 = load i32, ptr %13584, align 4, !tbaa !5
  %13586 = call ptr @s2n_strerror_debug(i32 noundef %13585, ptr noundef @.str.10)
  %13587 = call ptr @__errno_location() #11
  %13588 = load i32, ptr %13587, align 4, !tbaa !5
  %13589 = call ptr @strerror(i32 noundef %13588) #10
  %13590 = call ptr @__errno_location() #11
  %13591 = load i32, ptr %13590, align 4, !tbaa !5
  %13592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13579, ptr noundef @.str.8, i32 noundef %13580, ptr noundef @.str.75, ptr noundef @.str.7, i32 noundef 503, ptr noundef %13583, ptr noundef %13586, ptr noundef %13589, i32 noundef %13591) #10
  br label %13610

13593:                                            ; preds = %13571, %13564
  %13594 = load i32, ptr %297, align 4, !tbaa !5
  %13595 = call ptr @__errno_location() #11
  store i32 %13594, ptr %13595, align 4, !tbaa !5
  %13596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13597 = load i32, ptr @test_count, align 4, !tbaa !5
  %13598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13599 = load i32, ptr %13598, align 4, !tbaa !5
  %13600 = call ptr @s2n_strerror(i32 noundef %13599, ptr noundef @.str.10)
  %13601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13602 = load i32, ptr %13601, align 4, !tbaa !5
  %13603 = call ptr @s2n_strerror_debug(i32 noundef %13602, ptr noundef @.str.10)
  %13604 = call ptr @__errno_location() #11
  %13605 = load i32, ptr %13604, align 4, !tbaa !5
  %13606 = call ptr @strerror(i32 noundef %13605) #10
  %13607 = call ptr @__errno_location() #11
  %13608 = load i32, ptr %13607, align 4, !tbaa !5
  %13609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13596, ptr noundef @.str.11, i32 noundef %13597, ptr noundef @.str.75, ptr noundef @.str.7, i32 noundef 503, ptr noundef %13600, ptr noundef %13603, ptr noundef %13606, i32 noundef %13608) #10
  br label %13610

13610:                                            ; preds = %13593, %13576
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #10
  br label %13611

13611:                                            ; preds = %13610
  br label %13612

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

13613:                                            ; No predecessors!
  br label %13614

13614:                                            ; preds = %13613
  br label %13615

13615:                                            ; preds = %13614, %13557
  br label %13616

13616:                                            ; preds = %13615
  br label %13617

13617:                                            ; preds = %13616
  br label %13618

13618:                                            ; preds = %13617
  %13619 = load i32, ptr @test_count, align 4, !tbaa !5
  %13620 = add nsw i32 %13619, 1
  store i32 %13620, ptr @test_count, align 4, !tbaa !5
  %13621 = load ptr, ptr %296, align 8, !tbaa !9
  %13622 = load ptr, ptr %14, align 8, !tbaa !9
  %13623 = call i32 @s2n_connection_set_config(ptr noundef %13621, ptr noundef %13622)
  %13624 = icmp eq i32 %13623, -1
  br i1 %13624, label %13625, label %13678

13625:                                            ; preds = %13618
  br label %13626

13626:                                            ; preds = %13625
  br label %13627

13627:                                            ; preds = %13626
  call void @llvm.lifetime.start.p0(i64 4, ptr %298) #10
  %13628 = call ptr @__errno_location() #11
  %13629 = load i32, ptr %13628, align 4, !tbaa !5
  store i32 %13629, ptr %298, align 4, !tbaa !5
  %13630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13631 = call i32 @s2n_print_stacktrace(ptr noundef %13630)
  %13632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13633 = trunc i8 %13632 to i1
  br i1 %13633, label %13634, label %13656

13634:                                            ; preds = %13627
  %13635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13636 = call i32 @fileno(ptr noundef %13635) #10
  %13637 = call i32 @isatty(i32 noundef %13636) #10
  %13638 = icmp ne i32 %13637, 0
  br i1 %13638, label %13639, label %13656

13639:                                            ; preds = %13634
  %13640 = load i32, ptr %298, align 4, !tbaa !5
  %13641 = call ptr @__errno_location() #11
  store i32 %13640, ptr %13641, align 4, !tbaa !5
  %13642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13643 = load i32, ptr @test_count, align 4, !tbaa !5
  %13644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13645 = load i32, ptr %13644, align 4, !tbaa !5
  %13646 = call ptr @s2n_strerror(i32 noundef %13645, ptr noundef @.str.10)
  %13647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13648 = load i32, ptr %13647, align 4, !tbaa !5
  %13649 = call ptr @s2n_strerror_debug(i32 noundef %13648, ptr noundef @.str.10)
  %13650 = call ptr @__errno_location() #11
  %13651 = load i32, ptr %13650, align 4, !tbaa !5
  %13652 = call ptr @strerror(i32 noundef %13651) #10
  %13653 = call ptr @__errno_location() #11
  %13654 = load i32, ptr %13653, align 4, !tbaa !5
  %13655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13642, ptr noundef @.str.8, i32 noundef %13643, ptr noundef @.str.76, ptr noundef @.str.7, i32 noundef 504, ptr noundef %13646, ptr noundef %13649, ptr noundef %13652, i32 noundef %13654) #10
  br label %13673

13656:                                            ; preds = %13634, %13627
  %13657 = load i32, ptr %298, align 4, !tbaa !5
  %13658 = call ptr @__errno_location() #11
  store i32 %13657, ptr %13658, align 4, !tbaa !5
  %13659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13660 = load i32, ptr @test_count, align 4, !tbaa !5
  %13661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13662 = load i32, ptr %13661, align 4, !tbaa !5
  %13663 = call ptr @s2n_strerror(i32 noundef %13662, ptr noundef @.str.10)
  %13664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13665 = load i32, ptr %13664, align 4, !tbaa !5
  %13666 = call ptr @s2n_strerror_debug(i32 noundef %13665, ptr noundef @.str.10)
  %13667 = call ptr @__errno_location() #11
  %13668 = load i32, ptr %13667, align 4, !tbaa !5
  %13669 = call ptr @strerror(i32 noundef %13668) #10
  %13670 = call ptr @__errno_location() #11
  %13671 = load i32, ptr %13670, align 4, !tbaa !5
  %13672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13659, ptr noundef @.str.11, i32 noundef %13660, ptr noundef @.str.76, ptr noundef @.str.7, i32 noundef 504, ptr noundef %13663, ptr noundef %13666, ptr noundef %13669, i32 noundef %13671) #10
  br label %13673

13673:                                            ; preds = %13656, %13639
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #10
  br label %13674

13674:                                            ; preds = %13673
  br label %13675

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

13676:                                            ; No predecessors!
  br label %13677

13677:                                            ; preds = %13676
  br label %13678

13678:                                            ; preds = %13677, %13618
  br label %13679

13679:                                            ; preds = %13678
  br label %13680

13680:                                            ; preds = %13679
  br label %13681

13681:                                            ; preds = %13680
  %13682 = load i32, ptr @test_count, align 4, !tbaa !5
  %13683 = add nsw i32 %13682, 1
  store i32 %13683, ptr @test_count, align 4, !tbaa !5
  %13684 = load ptr, ptr %296, align 8, !tbaa !9
  %13685 = call i32 @s2n_connection_set_blinding(ptr noundef %13684, i32 noundef 1)
  %13686 = icmp eq i32 %13685, -1
  br i1 %13686, label %13687, label %13740

13687:                                            ; preds = %13681
  br label %13688

13688:                                            ; preds = %13687
  br label %13689

13689:                                            ; preds = %13688
  call void @llvm.lifetime.start.p0(i64 4, ptr %299) #10
  %13690 = call ptr @__errno_location() #11
  %13691 = load i32, ptr %13690, align 4, !tbaa !5
  store i32 %13691, ptr %299, align 4, !tbaa !5
  %13692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13693 = call i32 @s2n_print_stacktrace(ptr noundef %13692)
  %13694 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13695 = trunc i8 %13694 to i1
  br i1 %13695, label %13696, label %13718

13696:                                            ; preds = %13689
  %13697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13698 = call i32 @fileno(ptr noundef %13697) #10
  %13699 = call i32 @isatty(i32 noundef %13698) #10
  %13700 = icmp ne i32 %13699, 0
  br i1 %13700, label %13701, label %13718

13701:                                            ; preds = %13696
  %13702 = load i32, ptr %299, align 4, !tbaa !5
  %13703 = call ptr @__errno_location() #11
  store i32 %13702, ptr %13703, align 4, !tbaa !5
  %13704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13705 = load i32, ptr @test_count, align 4, !tbaa !5
  %13706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13707 = load i32, ptr %13706, align 4, !tbaa !5
  %13708 = call ptr @s2n_strerror(i32 noundef %13707, ptr noundef @.str.10)
  %13709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13710 = load i32, ptr %13709, align 4, !tbaa !5
  %13711 = call ptr @s2n_strerror_debug(i32 noundef %13710, ptr noundef @.str.10)
  %13712 = call ptr @__errno_location() #11
  %13713 = load i32, ptr %13712, align 4, !tbaa !5
  %13714 = call ptr @strerror(i32 noundef %13713) #10
  %13715 = call ptr @__errno_location() #11
  %13716 = load i32, ptr %13715, align 4, !tbaa !5
  %13717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13704, ptr noundef @.str.8, i32 noundef %13705, ptr noundef @.str.87, ptr noundef @.str.7, i32 noundef 505, ptr noundef %13708, ptr noundef %13711, ptr noundef %13714, i32 noundef %13716) #10
  br label %13735

13718:                                            ; preds = %13696, %13689
  %13719 = load i32, ptr %299, align 4, !tbaa !5
  %13720 = call ptr @__errno_location() #11
  store i32 %13719, ptr %13720, align 4, !tbaa !5
  %13721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13722 = load i32, ptr @test_count, align 4, !tbaa !5
  %13723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13724 = load i32, ptr %13723, align 4, !tbaa !5
  %13725 = call ptr @s2n_strerror(i32 noundef %13724, ptr noundef @.str.10)
  %13726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13727 = load i32, ptr %13726, align 4, !tbaa !5
  %13728 = call ptr @s2n_strerror_debug(i32 noundef %13727, ptr noundef @.str.10)
  %13729 = call ptr @__errno_location() #11
  %13730 = load i32, ptr %13729, align 4, !tbaa !5
  %13731 = call ptr @strerror(i32 noundef %13730) #10
  %13732 = call ptr @__errno_location() #11
  %13733 = load i32, ptr %13732, align 4, !tbaa !5
  %13734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13721, ptr noundef @.str.11, i32 noundef %13722, ptr noundef @.str.87, ptr noundef @.str.7, i32 noundef 505, ptr noundef %13725, ptr noundef %13728, ptr noundef %13731, i32 noundef %13733) #10
  br label %13735

13735:                                            ; preds = %13718, %13701
  call void @llvm.lifetime.end.p0(i64 4, ptr %299) #10
  br label %13736

13736:                                            ; preds = %13735
  br label %13737

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

13738:                                            ; No predecessors!
  br label %13739

13739:                                            ; preds = %13738
  br label %13740

13740:                                            ; preds = %13739, %13681
  br label %13741

13741:                                            ; preds = %13740
  br label %13742

13742:                                            ; preds = %13741
  call void @llvm.lifetime.start.p0(i64 80, ptr %300) #10
  call void @llvm.memset.p0.i64(ptr align 8 %300, i8 0, i64 80, i1 false)
  br label %13743

13743:                                            ; preds = %13742
  %13744 = load i32, ptr @test_count, align 4, !tbaa !5
  %13745 = add nsw i32 %13744, 1
  store i32 %13745, ptr @test_count, align 4, !tbaa !5
  %13746 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %300)
  %13747 = getelementptr inbounds %struct.s2n_result, ptr %301, i32 0, i32 0
  store i32 %13746, ptr %13747, align 4
  %13748 = getelementptr inbounds %struct.s2n_result, ptr %301, i32 0, i32 0
  %13749 = load i32, ptr %13748, align 4
  %13750 = call zeroext i1 @s2n_result_is_ok(i32 %13749)
  br i1 %13750, label %13804, label %13751

13751:                                            ; preds = %13743
  br label %13752

13752:                                            ; preds = %13751
  br label %13753

13753:                                            ; preds = %13752
  call void @llvm.lifetime.start.p0(i64 4, ptr %302) #10
  %13754 = call ptr @__errno_location() #11
  %13755 = load i32, ptr %13754, align 4, !tbaa !5
  store i32 %13755, ptr %302, align 4, !tbaa !5
  %13756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13757 = call i32 @s2n_print_stacktrace(ptr noundef %13756)
  %13758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13759 = trunc i8 %13758 to i1
  br i1 %13759, label %13760, label %13782

13760:                                            ; preds = %13753
  %13761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13762 = call i32 @fileno(ptr noundef %13761) #10
  %13763 = call i32 @isatty(i32 noundef %13762) #10
  %13764 = icmp ne i32 %13763, 0
  br i1 %13764, label %13765, label %13782

13765:                                            ; preds = %13760
  %13766 = load i32, ptr %302, align 4, !tbaa !5
  %13767 = call ptr @__errno_location() #11
  store i32 %13766, ptr %13767, align 4, !tbaa !5
  %13768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13769 = load i32, ptr @test_count, align 4, !tbaa !5
  %13770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13771 = load i32, ptr %13770, align 4, !tbaa !5
  %13772 = call ptr @s2n_strerror(i32 noundef %13771, ptr noundef @.str.10)
  %13773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13774 = load i32, ptr %13773, align 4, !tbaa !5
  %13775 = call ptr @s2n_strerror_debug(i32 noundef %13774, ptr noundef @.str.10)
  %13776 = call ptr @__errno_location() #11
  %13777 = load i32, ptr %13776, align 4, !tbaa !5
  %13778 = call ptr @strerror(i32 noundef %13777) #10
  %13779 = call ptr @__errno_location() #11
  %13780 = load i32, ptr %13779, align 4, !tbaa !5
  %13781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13768, ptr noundef @.str.8, i32 noundef %13769, ptr noundef @.str.77, ptr noundef @.str.7, i32 noundef 509, ptr noundef %13772, ptr noundef %13775, ptr noundef %13778, i32 noundef %13780) #10
  br label %13799

13782:                                            ; preds = %13760, %13753
  %13783 = load i32, ptr %302, align 4, !tbaa !5
  %13784 = call ptr @__errno_location() #11
  store i32 %13783, ptr %13784, align 4, !tbaa !5
  %13785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13786 = load i32, ptr @test_count, align 4, !tbaa !5
  %13787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13788 = load i32, ptr %13787, align 4, !tbaa !5
  %13789 = call ptr @s2n_strerror(i32 noundef %13788, ptr noundef @.str.10)
  %13790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13791 = load i32, ptr %13790, align 4, !tbaa !5
  %13792 = call ptr @s2n_strerror_debug(i32 noundef %13791, ptr noundef @.str.10)
  %13793 = call ptr @__errno_location() #11
  %13794 = load i32, ptr %13793, align 4, !tbaa !5
  %13795 = call ptr @strerror(i32 noundef %13794) #10
  %13796 = call ptr @__errno_location() #11
  %13797 = load i32, ptr %13796, align 4, !tbaa !5
  %13798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13785, ptr noundef @.str.11, i32 noundef %13786, ptr noundef @.str.77, ptr noundef @.str.7, i32 noundef 509, ptr noundef %13789, ptr noundef %13792, ptr noundef %13795, i32 noundef %13797) #10
  br label %13799

13799:                                            ; preds = %13782, %13765
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #10
  br label %13800

13800:                                            ; preds = %13799
  br label %13801

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

13802:                                            ; No predecessors!
  br label %13803

13803:                                            ; preds = %13802
  br label %13804

13804:                                            ; preds = %13803, %13743
  br label %13805

13805:                                            ; preds = %13804
  br label %13806

13806:                                            ; preds = %13805
  br label %13807

13807:                                            ; preds = %13806
  %13808 = load i32, ptr @test_count, align 4, !tbaa !5
  %13809 = add nsw i32 %13808, 1
  store i32 %13809, ptr @test_count, align 4, !tbaa !5
  %13810 = load ptr, ptr %293, align 8, !tbaa !9
  %13811 = load ptr, ptr %296, align 8, !tbaa !9
  %13812 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %13810, ptr noundef %13811, ptr noundef %300)
  %13813 = getelementptr inbounds %struct.s2n_result, ptr %303, i32 0, i32 0
  store i32 %13812, ptr %13813, align 4
  %13814 = getelementptr inbounds %struct.s2n_result, ptr %303, i32 0, i32 0
  %13815 = load i32, ptr %13814, align 4
  %13816 = call zeroext i1 @s2n_result_is_ok(i32 %13815)
  br i1 %13816, label %13870, label %13817

13817:                                            ; preds = %13807
  br label %13818

13818:                                            ; preds = %13817
  br label %13819

13819:                                            ; preds = %13818
  call void @llvm.lifetime.start.p0(i64 4, ptr %304) #10
  %13820 = call ptr @__errno_location() #11
  %13821 = load i32, ptr %13820, align 4, !tbaa !5
  store i32 %13821, ptr %304, align 4, !tbaa !5
  %13822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13823 = call i32 @s2n_print_stacktrace(ptr noundef %13822)
  %13824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13825 = trunc i8 %13824 to i1
  br i1 %13825, label %13826, label %13848

13826:                                            ; preds = %13819
  %13827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13828 = call i32 @fileno(ptr noundef %13827) #10
  %13829 = call i32 @isatty(i32 noundef %13828) #10
  %13830 = icmp ne i32 %13829, 0
  br i1 %13830, label %13831, label %13848

13831:                                            ; preds = %13826
  %13832 = load i32, ptr %304, align 4, !tbaa !5
  %13833 = call ptr @__errno_location() #11
  store i32 %13832, ptr %13833, align 4, !tbaa !5
  %13834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13835 = load i32, ptr @test_count, align 4, !tbaa !5
  %13836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13837 = load i32, ptr %13836, align 4, !tbaa !5
  %13838 = call ptr @s2n_strerror(i32 noundef %13837, ptr noundef @.str.10)
  %13839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13840 = load i32, ptr %13839, align 4, !tbaa !5
  %13841 = call ptr @s2n_strerror_debug(i32 noundef %13840, ptr noundef @.str.10)
  %13842 = call ptr @__errno_location() #11
  %13843 = load i32, ptr %13842, align 4, !tbaa !5
  %13844 = call ptr @strerror(i32 noundef %13843) #10
  %13845 = call ptr @__errno_location() #11
  %13846 = load i32, ptr %13845, align 4, !tbaa !5
  %13847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13834, ptr noundef @.str.8, i32 noundef %13835, ptr noundef @.str.78, ptr noundef @.str.7, i32 noundef 510, ptr noundef %13838, ptr noundef %13841, ptr noundef %13844, i32 noundef %13846) #10
  br label %13865

13848:                                            ; preds = %13826, %13819
  %13849 = load i32, ptr %304, align 4, !tbaa !5
  %13850 = call ptr @__errno_location() #11
  store i32 %13849, ptr %13850, align 4, !tbaa !5
  %13851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13852 = load i32, ptr @test_count, align 4, !tbaa !5
  %13853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13854 = load i32, ptr %13853, align 4, !tbaa !5
  %13855 = call ptr @s2n_strerror(i32 noundef %13854, ptr noundef @.str.10)
  %13856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13857 = load i32, ptr %13856, align 4, !tbaa !5
  %13858 = call ptr @s2n_strerror_debug(i32 noundef %13857, ptr noundef @.str.10)
  %13859 = call ptr @__errno_location() #11
  %13860 = load i32, ptr %13859, align 4, !tbaa !5
  %13861 = call ptr @strerror(i32 noundef %13860) #10
  %13862 = call ptr @__errno_location() #11
  %13863 = load i32, ptr %13862, align 4, !tbaa !5
  %13864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13851, ptr noundef @.str.11, i32 noundef %13852, ptr noundef @.str.78, ptr noundef @.str.7, i32 noundef 510, ptr noundef %13855, ptr noundef %13858, ptr noundef %13861, i32 noundef %13863) #10
  br label %13865

13865:                                            ; preds = %13848, %13831
  call void @llvm.lifetime.end.p0(i64 4, ptr %304) #10
  br label %13866

13866:                                            ; preds = %13865
  br label %13867

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

13868:                                            ; No predecessors!
  br label %13869

13869:                                            ; preds = %13868
  br label %13870

13870:                                            ; preds = %13869, %13807
  br label %13871

13871:                                            ; preds = %13870
  br label %13872

13872:                                            ; preds = %13871
  br label %13873

13873:                                            ; preds = %13872
  %13874 = load i32, ptr @test_count, align 4, !tbaa !5
  %13875 = add nsw i32 %13874, 1
  store i32 %13875, ptr @test_count, align 4, !tbaa !5
  %13876 = load ptr, ptr %296, align 8, !tbaa !9
  %13877 = load ptr, ptr %293, align 8, !tbaa !9
  %13878 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %13876, ptr noundef %13877)
  %13879 = icmp eq i32 %13878, -1
  br i1 %13879, label %13880, label %13933

13880:                                            ; preds = %13873
  br label %13881

13881:                                            ; preds = %13880
  br label %13882

13882:                                            ; preds = %13881
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #10
  %13883 = call ptr @__errno_location() #11
  %13884 = load i32, ptr %13883, align 4, !tbaa !5
  store i32 %13884, ptr %305, align 4, !tbaa !5
  %13885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13886 = call i32 @s2n_print_stacktrace(ptr noundef %13885)
  %13887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13888 = trunc i8 %13887 to i1
  br i1 %13888, label %13889, label %13911

13889:                                            ; preds = %13882
  %13890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13891 = call i32 @fileno(ptr noundef %13890) #10
  %13892 = call i32 @isatty(i32 noundef %13891) #10
  %13893 = icmp ne i32 %13892, 0
  br i1 %13893, label %13894, label %13911

13894:                                            ; preds = %13889
  %13895 = load i32, ptr %305, align 4, !tbaa !5
  %13896 = call ptr @__errno_location() #11
  store i32 %13895, ptr %13896, align 4, !tbaa !5
  %13897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13898 = load i32, ptr @test_count, align 4, !tbaa !5
  %13899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13900 = load i32, ptr %13899, align 4, !tbaa !5
  %13901 = call ptr @s2n_strerror(i32 noundef %13900, ptr noundef @.str.10)
  %13902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13903 = load i32, ptr %13902, align 4, !tbaa !5
  %13904 = call ptr @s2n_strerror_debug(i32 noundef %13903, ptr noundef @.str.10)
  %13905 = call ptr @__errno_location() #11
  %13906 = load i32, ptr %13905, align 4, !tbaa !5
  %13907 = call ptr @strerror(i32 noundef %13906) #10
  %13908 = call ptr @__errno_location() #11
  %13909 = load i32, ptr %13908, align 4, !tbaa !5
  %13910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13897, ptr noundef @.str.8, i32 noundef %13898, ptr noundef @.str.79, ptr noundef @.str.7, i32 noundef 511, ptr noundef %13901, ptr noundef %13904, ptr noundef %13907, i32 noundef %13909) #10
  br label %13928

13911:                                            ; preds = %13889, %13882
  %13912 = load i32, ptr %305, align 4, !tbaa !5
  %13913 = call ptr @__errno_location() #11
  store i32 %13912, ptr %13913, align 4, !tbaa !5
  %13914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13915 = load i32, ptr @test_count, align 4, !tbaa !5
  %13916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13917 = load i32, ptr %13916, align 4, !tbaa !5
  %13918 = call ptr @s2n_strerror(i32 noundef %13917, ptr noundef @.str.10)
  %13919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13920 = load i32, ptr %13919, align 4, !tbaa !5
  %13921 = call ptr @s2n_strerror_debug(i32 noundef %13920, ptr noundef @.str.10)
  %13922 = call ptr @__errno_location() #11
  %13923 = load i32, ptr %13922, align 4, !tbaa !5
  %13924 = call ptr @strerror(i32 noundef %13923) #10
  %13925 = call ptr @__errno_location() #11
  %13926 = load i32, ptr %13925, align 4, !tbaa !5
  %13927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13914, ptr noundef @.str.11, i32 noundef %13915, ptr noundef @.str.79, ptr noundef @.str.7, i32 noundef 511, ptr noundef %13918, ptr noundef %13921, ptr noundef %13924, i32 noundef %13926) #10
  br label %13928

13928:                                            ; preds = %13911, %13894
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #10
  br label %13929

13929:                                            ; preds = %13928
  br label %13930

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

13931:                                            ; No predecessors!
  br label %13932

13932:                                            ; preds = %13931
  br label %13933

13933:                                            ; preds = %13932, %13873
  br label %13934

13934:                                            ; preds = %13933
  br label %13935

13935:                                            ; preds = %13934
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #10
  store i32 0, ptr %306, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 12, ptr %307) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %307, ptr align 1 @__const.main.test_data.88, i64 12, i1 false)
  br label %13936

13936:                                            ; preds = %13935
  %13937 = load i32, ptr @test_count, align 4, !tbaa !5
  %13938 = add nsw i32 %13937, 1
  store i32 %13938, ptr @test_count, align 4, !tbaa !5
  %13939 = load ptr, ptr %293, align 8, !tbaa !9
  %13940 = getelementptr inbounds [12 x i8], ptr %307, i64 0, i64 0
  %13941 = call i64 @s2n_send(ptr noundef %13939, ptr noundef %13940, i64 noundef 12, ptr noundef %306)
  %13942 = icmp eq i64 %13941, 12
  br i1 %13942, label %13996, label %13943

13943:                                            ; preds = %13936
  br label %13944

13944:                                            ; preds = %13943
  br label %13945

13945:                                            ; preds = %13944
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #10
  %13946 = call ptr @__errno_location() #11
  %13947 = load i32, ptr %13946, align 4, !tbaa !5
  store i32 %13947, ptr %308, align 4, !tbaa !5
  %13948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13949 = call i32 @s2n_print_stacktrace(ptr noundef %13948)
  %13950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13951 = trunc i8 %13950 to i1
  br i1 %13951, label %13952, label %13974

13952:                                            ; preds = %13945
  %13953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13954 = call i32 @fileno(ptr noundef %13953) #10
  %13955 = call i32 @isatty(i32 noundef %13954) #10
  %13956 = icmp ne i32 %13955, 0
  br i1 %13956, label %13957, label %13974

13957:                                            ; preds = %13952
  %13958 = load i32, ptr %308, align 4, !tbaa !5
  %13959 = call ptr @__errno_location() #11
  store i32 %13958, ptr %13959, align 4, !tbaa !5
  %13960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13961 = load i32, ptr @test_count, align 4, !tbaa !5
  %13962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13963 = load i32, ptr %13962, align 4, !tbaa !5
  %13964 = call ptr @s2n_strerror(i32 noundef %13963, ptr noundef @.str.10)
  %13965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13966 = load i32, ptr %13965, align 4, !tbaa !5
  %13967 = call ptr @s2n_strerror_debug(i32 noundef %13966, ptr noundef @.str.10)
  %13968 = call ptr @__errno_location() #11
  %13969 = load i32, ptr %13968, align 4, !tbaa !5
  %13970 = call ptr @strerror(i32 noundef %13969) #10
  %13971 = call ptr @__errno_location() #11
  %13972 = load i32, ptr %13971, align 4, !tbaa !5
  %13973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13960, ptr noundef @.str.8, i32 noundef %13961, ptr noundef @.str.80, ptr noundef @.str.7, i32 noundef 517, ptr noundef %13964, ptr noundef %13967, ptr noundef %13970, i32 noundef %13972) #10
  br label %13991

13974:                                            ; preds = %13952, %13945
  %13975 = load i32, ptr %308, align 4, !tbaa !5
  %13976 = call ptr @__errno_location() #11
  store i32 %13975, ptr %13976, align 4, !tbaa !5
  %13977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13978 = load i32, ptr @test_count, align 4, !tbaa !5
  %13979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13980 = load i32, ptr %13979, align 4, !tbaa !5
  %13981 = call ptr @s2n_strerror(i32 noundef %13980, ptr noundef @.str.10)
  %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_debug(i32 noundef %13983, ptr noundef @.str.10)
  %13985 = call ptr @__errno_location() #11
  %13986 = load i32, ptr %13985, align 4, !tbaa !5
  %13987 = call ptr @strerror(i32 noundef %13986) #10
  %13988 = call ptr @__errno_location() #11
  %13989 = load i32, ptr %13988, align 4, !tbaa !5
  %13990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13977, ptr noundef @.str.11, i32 noundef %13978, ptr noundef @.str.80, ptr noundef @.str.7, i32 noundef 517, ptr noundef %13981, ptr noundef %13984, ptr noundef %13987, i32 noundef %13989) #10
  br label %13991

13991:                                            ; preds = %13974, %13957
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #10
  br label %13992

13992:                                            ; preds = %13991
  br label %13993

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

13994:                                            ; No predecessors!
  br label %13995

13995:                                            ; preds = %13994
  br label %13996

13996:                                            ; preds = %13995, %13936
  br label %13997

13997:                                            ; preds = %13996
  br label %13998

13998:                                            ; preds = %13997
  call void @llvm.lifetime.start.p0(i64 1, ptr %309) #10
  store i8 6, ptr %309, align 1, !tbaa !15
  br label %13999

13999:                                            ; preds = %13998
  %14000 = load i32, ptr @test_count, align 4, !tbaa !5
  %14001 = add nsw i32 %14000, 1
  store i32 %14001, ptr @test_count, align 4, !tbaa !5
  %14002 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %300, i32 0, i32 1
  %14003 = call i32 @s2n_stuffer_wipe_n(ptr noundef %14002, i32 noundef 6)
  %14004 = icmp eq i32 %14003, -1
  br i1 %14004, label %14005, label %14058

14005:                                            ; preds = %13999
  br label %14006

14006:                                            ; preds = %14005
  br label %14007

14007:                                            ; preds = %14006
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #10
  %14008 = call ptr @__errno_location() #11
  %14009 = load i32, ptr %14008, align 4, !tbaa !5
  store i32 %14009, ptr %310, align 4, !tbaa !5
  %14010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14011 = call i32 @s2n_print_stacktrace(ptr noundef %14010)
  %14012 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14013 = trunc i8 %14012 to i1
  br i1 %14013, label %14014, label %14036

14014:                                            ; preds = %14007
  %14015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14016 = call i32 @fileno(ptr noundef %14015) #10
  %14017 = call i32 @isatty(i32 noundef %14016) #10
  %14018 = icmp ne i32 %14017, 0
  br i1 %14018, label %14019, label %14036

14019:                                            ; preds = %14014
  %14020 = load i32, ptr %310, align 4, !tbaa !5
  %14021 = call ptr @__errno_location() #11
  store i32 %14020, ptr %14021, align 4, !tbaa !5
  %14022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14023 = load i32, ptr @test_count, align 4, !tbaa !5
  %14024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14025 = load i32, ptr %14024, align 4, !tbaa !5
  %14026 = call ptr @s2n_strerror(i32 noundef %14025, ptr noundef @.str.10)
  %14027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14028 = load i32, ptr %14027, align 4, !tbaa !5
  %14029 = call ptr @s2n_strerror_debug(i32 noundef %14028, ptr noundef @.str.10)
  %14030 = call ptr @__errno_location() #11
  %14031 = load i32, ptr %14030, align 4, !tbaa !5
  %14032 = call ptr @strerror(i32 noundef %14031) #10
  %14033 = call ptr @__errno_location() #11
  %14034 = load i32, ptr %14033, align 4, !tbaa !5
  %14035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14022, ptr noundef @.str.8, i32 noundef %14023, ptr noundef @.str.89, ptr noundef @.str.7, i32 noundef 519, ptr noundef %14026, ptr noundef %14029, ptr noundef %14032, i32 noundef %14034) #10
  br label %14053

14036:                                            ; preds = %14014, %14007
  %14037 = load i32, ptr %310, align 4, !tbaa !5
  %14038 = call ptr @__errno_location() #11
  store i32 %14037, ptr %14038, align 4, !tbaa !5
  %14039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14040 = load i32, ptr @test_count, align 4, !tbaa !5
  %14041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14042 = load i32, ptr %14041, align 4, !tbaa !5
  %14043 = call ptr @s2n_strerror(i32 noundef %14042, ptr noundef @.str.10)
  %14044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14045 = load i32, ptr %14044, align 4, !tbaa !5
  %14046 = call ptr @s2n_strerror_debug(i32 noundef %14045, ptr noundef @.str.10)
  %14047 = call ptr @__errno_location() #11
  %14048 = load i32, ptr %14047, align 4, !tbaa !5
  %14049 = call ptr @strerror(i32 noundef %14048) #10
  %14050 = call ptr @__errno_location() #11
  %14051 = load i32, ptr %14050, align 4, !tbaa !5
  %14052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14039, ptr noundef @.str.11, i32 noundef %14040, ptr noundef @.str.89, ptr noundef @.str.7, i32 noundef 519, ptr noundef %14043, ptr noundef %14046, ptr noundef %14049, i32 noundef %14051) #10
  br label %14053

14053:                                            ; preds = %14036, %14019
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #10
  br label %14054

14054:                                            ; preds = %14053
  br label %14055

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

14056:                                            ; No predecessors!
  br label %14057

14057:                                            ; preds = %14056
  br label %14058

14058:                                            ; preds = %14057, %13999
  br label %14059

14059:                                            ; preds = %14058
  br label %14060

14060:                                            ; preds = %14059
  br label %14061

14061:                                            ; preds = %14060
  %14062 = load i32, ptr @test_count, align 4, !tbaa !5
  %14063 = add nsw i32 %14062, 1
  store i32 %14063, ptr @test_count, align 4, !tbaa !5
  %14064 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %300, i32 0, i32 1
  %14065 = call i32 @s2n_stuffer_skip_write(ptr noundef %14064, i32 noundef 6)
  %14066 = icmp eq i32 %14065, -1
  br i1 %14066, label %14067, label %14120

14067:                                            ; preds = %14061
  br label %14068

14068:                                            ; preds = %14067
  br label %14069

14069:                                            ; preds = %14068
  call void @llvm.lifetime.start.p0(i64 4, ptr %311) #10
  %14070 = call ptr @__errno_location() #11
  %14071 = load i32, ptr %14070, align 4, !tbaa !5
  store i32 %14071, ptr %311, align 4, !tbaa !5
  %14072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14073 = call i32 @s2n_print_stacktrace(ptr noundef %14072)
  %14074 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14075 = trunc i8 %14074 to i1
  br i1 %14075, label %14076, label %14098

14076:                                            ; preds = %14069
  %14077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14078 = call i32 @fileno(ptr noundef %14077) #10
  %14079 = call i32 @isatty(i32 noundef %14078) #10
  %14080 = icmp ne i32 %14079, 0
  br i1 %14080, label %14081, label %14098

14081:                                            ; preds = %14076
  %14082 = load i32, ptr %311, align 4, !tbaa !5
  %14083 = call ptr @__errno_location() #11
  store i32 %14082, ptr %14083, align 4, !tbaa !5
  %14084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14085 = load i32, ptr @test_count, align 4, !tbaa !5
  %14086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14087 = load i32, ptr %14086, align 4, !tbaa !5
  %14088 = call ptr @s2n_strerror(i32 noundef %14087, ptr noundef @.str.10)
  %14089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14090 = load i32, ptr %14089, align 4, !tbaa !5
  %14091 = call ptr @s2n_strerror_debug(i32 noundef %14090, ptr noundef @.str.10)
  %14092 = call ptr @__errno_location() #11
  %14093 = load i32, ptr %14092, align 4, !tbaa !5
  %14094 = call ptr @strerror(i32 noundef %14093) #10
  %14095 = call ptr @__errno_location() #11
  %14096 = load i32, ptr %14095, align 4, !tbaa !5
  %14097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14084, ptr noundef @.str.8, i32 noundef %14085, ptr noundef @.str.90, ptr noundef @.str.7, i32 noundef 520, ptr noundef %14088, ptr noundef %14091, ptr noundef %14094, i32 noundef %14096) #10
  br label %14115

14098:                                            ; preds = %14076, %14069
  %14099 = load i32, ptr %311, align 4, !tbaa !5
  %14100 = call ptr @__errno_location() #11
  store i32 %14099, ptr %14100, align 4, !tbaa !5
  %14101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14102 = load i32, ptr @test_count, align 4, !tbaa !5
  %14103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14104 = load i32, ptr %14103, align 4, !tbaa !5
  %14105 = call ptr @s2n_strerror(i32 noundef %14104, ptr noundef @.str.10)
  %14106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14107 = load i32, ptr %14106, align 4, !tbaa !5
  %14108 = call ptr @s2n_strerror_debug(i32 noundef %14107, ptr noundef @.str.10)
  %14109 = call ptr @__errno_location() #11
  %14110 = load i32, ptr %14109, align 4, !tbaa !5
  %14111 = call ptr @strerror(i32 noundef %14110) #10
  %14112 = call ptr @__errno_location() #11
  %14113 = load i32, ptr %14112, align 4, !tbaa !5
  %14114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14101, ptr noundef @.str.11, i32 noundef %14102, ptr noundef @.str.90, ptr noundef @.str.7, i32 noundef 520, ptr noundef %14105, ptr noundef %14108, ptr noundef %14111, i32 noundef %14113) #10
  br label %14115

14115:                                            ; preds = %14098, %14081
  call void @llvm.lifetime.end.p0(i64 4, ptr %311) #10
  br label %14116

14116:                                            ; preds = %14115
  br label %14117

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

14118:                                            ; No predecessors!
  br label %14119

14119:                                            ; preds = %14118
  br label %14120

14120:                                            ; preds = %14119, %14061
  br label %14121

14121:                                            ; preds = %14120
  br label %14122

14122:                                            ; preds = %14121
  %14123 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %300, i32 0, i32 1
  %14124 = getelementptr inbounds %struct.s2n_stuffer, ptr %14123, i32 0, i32 2
  %14125 = load i32, ptr %14124, align 4, !tbaa !52
  %14126 = add i32 %14125, -1
  store i32 %14126, ptr %14124, align 4, !tbaa !52
  br label %14127

14127:                                            ; preds = %14122
  br label %14128

14128:                                            ; preds = %14127
  br label %14129

14129:                                            ; preds = %14128
  %14130 = load i32, ptr @test_count, align 4, !tbaa !5
  %14131 = add nsw i32 %14130, 1
  store i32 %14131, ptr @test_count, align 4, !tbaa !5
  %14132 = load ptr, ptr %296, align 8, !tbaa !9
  %14133 = getelementptr inbounds [12 x i8], ptr %307, i64 0, i64 0
  %14134 = call i64 @s2n_recv(ptr noundef %14132, ptr noundef %14133, i64 noundef 12, ptr noundef %306)
  %14135 = icmp eq i64 %14134, -1
  br i1 %14135, label %14189, label %14136

14136:                                            ; preds = %14129
  br label %14137

14137:                                            ; preds = %14136
  br label %14138

14138:                                            ; preds = %14137
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #10
  %14139 = call ptr @__errno_location() #11
  %14140 = load i32, ptr %14139, align 4, !tbaa !5
  store i32 %14140, ptr %312, align 4, !tbaa !5
  %14141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14142 = call i32 @s2n_print_stacktrace(ptr noundef %14141)
  %14143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14144 = trunc i8 %14143 to i1
  br i1 %14144, label %14145, label %14167

14145:                                            ; preds = %14138
  %14146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14147 = call i32 @fileno(ptr noundef %14146) #10
  %14148 = call i32 @isatty(i32 noundef %14147) #10
  %14149 = icmp ne i32 %14148, 0
  br i1 %14149, label %14150, label %14167

14150:                                            ; preds = %14145
  %14151 = load i32, ptr %312, align 4, !tbaa !5
  %14152 = call ptr @__errno_location() #11
  store i32 %14151, ptr %14152, align 4, !tbaa !5
  %14153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14154 = load i32, ptr @test_count, align 4, !tbaa !5
  %14155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14156 = load i32, ptr %14155, align 4, !tbaa !5
  %14157 = call ptr @s2n_strerror(i32 noundef %14156, ptr noundef @.str.10)
  %14158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14159 = load i32, ptr %14158, align 4, !tbaa !5
  %14160 = call ptr @s2n_strerror_debug(i32 noundef %14159, ptr noundef @.str.10)
  %14161 = call ptr @__errno_location() #11
  %14162 = load i32, ptr %14161, align 4, !tbaa !5
  %14163 = call ptr @strerror(i32 noundef %14162) #10
  %14164 = call ptr @__errno_location() #11
  %14165 = load i32, ptr %14164, align 4, !tbaa !5
  %14166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14153, ptr noundef @.str.8, i32 noundef %14154, ptr noundef @.str.81, ptr noundef @.str.7, i32 noundef 525, ptr noundef %14157, ptr noundef %14160, ptr noundef %14163, i32 noundef %14165) #10
  br label %14184

14167:                                            ; preds = %14145, %14138
  %14168 = load i32, ptr %312, align 4, !tbaa !5
  %14169 = call ptr @__errno_location() #11
  store i32 %14168, ptr %14169, align 4, !tbaa !5
  %14170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14171 = load i32, ptr @test_count, align 4, !tbaa !5
  %14172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14173 = load i32, ptr %14172, align 4, !tbaa !5
  %14174 = call ptr @s2n_strerror(i32 noundef %14173, ptr noundef @.str.10)
  %14175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14176 = load i32, ptr %14175, align 4, !tbaa !5
  %14177 = call ptr @s2n_strerror_debug(i32 noundef %14176, ptr noundef @.str.10)
  %14178 = call ptr @__errno_location() #11
  %14179 = load i32, ptr %14178, align 4, !tbaa !5
  %14180 = call ptr @strerror(i32 noundef %14179) #10
  %14181 = call ptr @__errno_location() #11
  %14182 = load i32, ptr %14181, align 4, !tbaa !5
  %14183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14170, ptr noundef @.str.11, i32 noundef %14171, ptr noundef @.str.81, ptr noundef @.str.7, i32 noundef 525, ptr noundef %14174, ptr noundef %14177, ptr noundef %14180, i32 noundef %14182) #10
  br label %14184

14184:                                            ; preds = %14167, %14150
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #10
  br label %14185

14185:                                            ; preds = %14184
  br label %14186

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

14187:                                            ; No predecessors!
  br label %14188

14188:                                            ; preds = %14187
  br label %14189

14189:                                            ; preds = %14188, %14129
  br label %14190

14190:                                            ; preds = %14189
  br label %14191

14191:                                            ; preds = %14190
  br label %14192

14192:                                            ; preds = %14191
  %14193 = load i32, ptr @test_count, align 4, !tbaa !5
  %14194 = add nsw i32 %14193, 1
  store i32 %14194, ptr @test_count, align 4, !tbaa !5
  %14195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14196 = load i32, ptr %14195, align 4, !tbaa !5
  %14197 = icmp eq i32 %14196, 201326592
  br i1 %14197, label %14251, label %14198

14198:                                            ; preds = %14192
  br label %14199

14199:                                            ; preds = %14198
  br label %14200

14200:                                            ; preds = %14199
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #10
  %14201 = call ptr @__errno_location() #11
  %14202 = load i32, ptr %14201, align 4, !tbaa !5
  store i32 %14202, ptr %313, align 4, !tbaa !5
  %14203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14204 = call i32 @s2n_print_stacktrace(ptr noundef %14203)
  %14205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14206 = trunc i8 %14205 to i1
  br i1 %14206, label %14207, label %14229

14207:                                            ; preds = %14200
  %14208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14209 = call i32 @fileno(ptr noundef %14208) #10
  %14210 = call i32 @isatty(i32 noundef %14209) #10
  %14211 = icmp ne i32 %14210, 0
  br i1 %14211, label %14212, label %14229

14212:                                            ; preds = %14207
  %14213 = load i32, ptr %313, align 4, !tbaa !5
  %14214 = call ptr @__errno_location() #11
  store i32 %14213, ptr %14214, align 4, !tbaa !5
  %14215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14216 = load i32, ptr @test_count, align 4, !tbaa !5
  %14217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14218 = load i32, ptr %14217, align 4, !tbaa !5
  %14219 = call ptr @s2n_strerror(i32 noundef %14218, ptr noundef @.str.10)
  %14220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14221 = load i32, ptr %14220, align 4, !tbaa !5
  %14222 = call ptr @s2n_strerror_debug(i32 noundef %14221, ptr noundef @.str.10)
  %14223 = call ptr @__errno_location() #11
  %14224 = load i32, ptr %14223, align 4, !tbaa !5
  %14225 = call ptr @strerror(i32 noundef %14224) #10
  %14226 = call ptr @__errno_location() #11
  %14227 = load i32, ptr %14226, align 4, !tbaa !5
  %14228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14215, ptr noundef @.str.8, i32 noundef %14216, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 525, ptr noundef %14219, ptr noundef %14222, ptr noundef %14225, i32 noundef %14227) #10
  br label %14246

14229:                                            ; preds = %14207, %14200
  %14230 = load i32, ptr %313, align 4, !tbaa !5
  %14231 = call ptr @__errno_location() #11
  store i32 %14230, ptr %14231, align 4, !tbaa !5
  %14232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14233 = load i32, ptr @test_count, align 4, !tbaa !5
  %14234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14235 = load i32, ptr %14234, align 4, !tbaa !5
  %14236 = call ptr @s2n_strerror(i32 noundef %14235, ptr noundef @.str.10)
  %14237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14238 = load i32, ptr %14237, align 4, !tbaa !5
  %14239 = call ptr @s2n_strerror_debug(i32 noundef %14238, ptr noundef @.str.10)
  %14240 = call ptr @__errno_location() #11
  %14241 = load i32, ptr %14240, align 4, !tbaa !5
  %14242 = call ptr @strerror(i32 noundef %14241) #10
  %14243 = call ptr @__errno_location() #11
  %14244 = load i32, ptr %14243, align 4, !tbaa !5
  %14245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14232, ptr noundef @.str.11, i32 noundef %14233, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 525, ptr noundef %14236, ptr noundef %14239, ptr noundef %14242, i32 noundef %14244) #10
  br label %14246

14246:                                            ; preds = %14229, %14212
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #10
  br label %14247

14247:                                            ; preds = %14246
  br label %14248

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

14249:                                            ; No predecessors!
  br label %14250

14250:                                            ; preds = %14249
  br label %14251

14251:                                            ; preds = %14250, %14192
  br label %14252

14252:                                            ; preds = %14251
  br label %14253

14253:                                            ; preds = %14252
  br label %14254

14254:                                            ; preds = %14253
  %14255 = load i32, ptr @test_count, align 4, !tbaa !5
  %14256 = add nsw i32 %14255, 1
  store i32 %14256, ptr @test_count, align 4, !tbaa !5
  %14257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14258 = load i32, ptr %14257, align 4, !tbaa !5
  %14259 = call ptr @s2n_strerror_debug(i32 noundef %14258, ptr noundef @.str.10)
  %14260 = icmp eq ptr %14259, null
  br i1 %14260, label %14261, label %14314

14261:                                            ; preds = %14254
  br label %14262

14262:                                            ; preds = %14261
  br label %14263

14263:                                            ; preds = %14262
  call void @llvm.lifetime.start.p0(i64 4, ptr %314) #10
  %14264 = call ptr @__errno_location() #11
  %14265 = load i32, ptr %14264, align 4, !tbaa !5
  store i32 %14265, ptr %314, align 4, !tbaa !5
  %14266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14267 = call i32 @s2n_print_stacktrace(ptr noundef %14266)
  %14268 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14269 = trunc i8 %14268 to i1
  br i1 %14269, label %14270, label %14292

14270:                                            ; preds = %14263
  %14271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14272 = call i32 @fileno(ptr noundef %14271) #10
  %14273 = call i32 @isatty(i32 noundef %14272) #10
  %14274 = icmp ne i32 %14273, 0
  br i1 %14274, label %14275, label %14292

14275:                                            ; preds = %14270
  %14276 = load i32, ptr %314, align 4, !tbaa !5
  %14277 = call ptr @__errno_location() #11
  store i32 %14276, ptr %14277, align 4, !tbaa !5
  %14278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14279 = load i32, ptr @test_count, align 4, !tbaa !5
  %14280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14281 = load i32, ptr %14280, align 4, !tbaa !5
  %14282 = call ptr @s2n_strerror(i32 noundef %14281, ptr noundef @.str.10)
  %14283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14284 = load i32, ptr %14283, align 4, !tbaa !5
  %14285 = call ptr @s2n_strerror_debug(i32 noundef %14284, ptr noundef @.str.10)
  %14286 = call ptr @__errno_location() #11
  %14287 = load i32, ptr %14286, align 4, !tbaa !5
  %14288 = call ptr @strerror(i32 noundef %14287) #10
  %14289 = call ptr @__errno_location() #11
  %14290 = load i32, ptr %14289, align 4, !tbaa !5
  %14291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14278, ptr noundef @.str.8, i32 noundef %14279, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 525, ptr noundef %14282, ptr noundef %14285, ptr noundef %14288, i32 noundef %14290) #10
  br label %14309

14292:                                            ; preds = %14270, %14263
  %14293 = load i32, ptr %314, align 4, !tbaa !5
  %14294 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %14303 = call ptr @__errno_location() #11
  %14304 = load i32, ptr %14303, align 4, !tbaa !5
  %14305 = call ptr @strerror(i32 noundef %14304) #10
  %14306 = call ptr @__errno_location() #11
  %14307 = load i32, ptr %14306, align 4, !tbaa !5
  %14308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14295, ptr noundef @.str.11, i32 noundef %14296, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 525, ptr noundef %14299, ptr noundef %14302, ptr noundef %14305, i32 noundef %14307) #10
  br label %14309

14309:                                            ; preds = %14292, %14275
  call void @llvm.lifetime.end.p0(i64 4, ptr %314) #10
  br label %14310

14310:                                            ; preds = %14309
  br label %14311

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

14312:                                            ; No predecessors!
  br label %14313

14313:                                            ; preds = %14312
  br label %14314

14314:                                            ; preds = %14313, %14254
  br label %14315

14315:                                            ; preds = %14314
  br label %14316

14316:                                            ; preds = %14315
  br label %14317

14317:                                            ; preds = %14316
  br label %14318

14318:                                            ; preds = %14317
  br label %14319

14319:                                            ; preds = %14318
  %14320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14320, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14321 = call ptr @__errno_location() #11
  store i32 0, ptr %14321, align 4, !tbaa !5
  br label %14322

14322:                                            ; preds = %14319
  br label %14323

14323:                                            ; preds = %14322
  br label %14324

14324:                                            ; preds = %14323
  br label %14325

14325:                                            ; preds = %14324
  %14326 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %300, i32 0, i32 1
  %14327 = getelementptr inbounds %struct.s2n_stuffer, ptr %14326, i32 0, i32 2
  %14328 = load i32, ptr %14327, align 4, !tbaa !52
  %14329 = add i32 %14328, 1
  store i32 %14329, ptr %14327, align 4, !tbaa !52
  br label %14330

14330:                                            ; preds = %14325
  %14331 = load i32, ptr @test_count, align 4, !tbaa !5
  %14332 = add nsw i32 %14331, 1
  store i32 %14332, ptr @test_count, align 4, !tbaa !5
  %14333 = load ptr, ptr %293, align 8, !tbaa !9
  %14334 = call i32 @s2n_shutdown_send(ptr noundef %14333, ptr noundef %306)
  %14335 = icmp eq i32 %14334, -1
  br i1 %14335, label %14336, label %14389

14336:                                            ; preds = %14330
  br label %14337

14337:                                            ; preds = %14336
  br label %14338

14338:                                            ; preds = %14337
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #10
  %14339 = call ptr @__errno_location() #11
  %14340 = load i32, ptr %14339, align 4, !tbaa !5
  store i32 %14340, ptr %315, align 4, !tbaa !5
  %14341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14342 = call i32 @s2n_print_stacktrace(ptr noundef %14341)
  %14343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14344 = trunc i8 %14343 to i1
  br i1 %14344, label %14345, label %14367

14345:                                            ; preds = %14338
  %14346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14347 = call i32 @fileno(ptr noundef %14346) #10
  %14348 = call i32 @isatty(i32 noundef %14347) #10
  %14349 = icmp ne i32 %14348, 0
  br i1 %14349, label %14350, label %14367

14350:                                            ; preds = %14345
  %14351 = load i32, ptr %315, align 4, !tbaa !5
  %14352 = call ptr @__errno_location() #11
  store i32 %14351, ptr %14352, align 4, !tbaa !5
  %14353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14354 = load i32, ptr @test_count, align 4, !tbaa !5
  %14355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14356 = load i32, ptr %14355, align 4, !tbaa !5
  %14357 = call ptr @s2n_strerror(i32 noundef %14356, ptr noundef @.str.10)
  %14358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14359 = load i32, ptr %14358, align 4, !tbaa !5
  %14360 = call ptr @s2n_strerror_debug(i32 noundef %14359, ptr noundef @.str.10)
  %14361 = call ptr @__errno_location() #11
  %14362 = load i32, ptr %14361, align 4, !tbaa !5
  %14363 = call ptr @strerror(i32 noundef %14362) #10
  %14364 = call ptr @__errno_location() #11
  %14365 = load i32, ptr %14364, align 4, !tbaa !5
  %14366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14353, ptr noundef @.str.8, i32 noundef %14354, ptr noundef @.str.82, ptr noundef @.str.7, i32 noundef 529, ptr noundef %14357, ptr noundef %14360, ptr noundef %14363, i32 noundef %14365) #10
  br label %14384

14367:                                            ; preds = %14345, %14338
  %14368 = load i32, ptr %315, align 4, !tbaa !5
  %14369 = call ptr @__errno_location() #11
  store i32 %14368, ptr %14369, align 4, !tbaa !5
  %14370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14371 = load i32, ptr @test_count, align 4, !tbaa !5
  %14372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14373 = load i32, ptr %14372, align 4, !tbaa !5
  %14374 = call ptr @s2n_strerror(i32 noundef %14373, ptr noundef @.str.10)
  %14375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14376 = load i32, ptr %14375, align 4, !tbaa !5
  %14377 = call ptr @s2n_strerror_debug(i32 noundef %14376, ptr noundef @.str.10)
  %14378 = call ptr @__errno_location() #11
  %14379 = load i32, ptr %14378, align 4, !tbaa !5
  %14380 = call ptr @strerror(i32 noundef %14379) #10
  %14381 = call ptr @__errno_location() #11
  %14382 = load i32, ptr %14381, align 4, !tbaa !5
  %14383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14370, ptr noundef @.str.11, i32 noundef %14371, ptr noundef @.str.82, ptr noundef @.str.7, i32 noundef 529, ptr noundef %14374, ptr noundef %14377, ptr noundef %14380, i32 noundef %14382) #10
  br label %14384

14384:                                            ; preds = %14367, %14350
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #10
  br label %14385

14385:                                            ; preds = %14384
  br label %14386

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

14387:                                            ; No predecessors!
  br label %14388

14388:                                            ; preds = %14387
  br label %14389

14389:                                            ; preds = %14388, %14330
  br label %14390

14390:                                            ; preds = %14389
  br label %14391

14391:                                            ; preds = %14390
  br label %14392

14392:                                            ; preds = %14391
  br label %14393

14393:                                            ; preds = %14392
  br label %14394

14394:                                            ; preds = %14393
  %14395 = load i32, ptr @test_count, align 4, !tbaa !5
  %14396 = add nsw i32 %14395, 1
  store i32 %14396, ptr @test_count, align 4, !tbaa !5
  %14397 = load ptr, ptr %296, align 8, !tbaa !9
  %14398 = call i32 @s2n_shutdown(ptr noundef %14397, ptr noundef %306)
  %14399 = icmp eq i32 %14398, -1
  br i1 %14399, label %14453, label %14400

14400:                                            ; preds = %14394
  br label %14401

14401:                                            ; preds = %14400
  br label %14402

14402:                                            ; preds = %14401
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #10
  %14403 = call ptr @__errno_location() #11
  %14404 = load i32, ptr %14403, align 4, !tbaa !5
  store i32 %14404, ptr %316, align 4, !tbaa !5
  %14405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14406 = call i32 @s2n_print_stacktrace(ptr noundef %14405)
  %14407 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14408 = trunc i8 %14407 to i1
  br i1 %14408, label %14409, label %14431

14409:                                            ; preds = %14402
  %14410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14411 = call i32 @fileno(ptr noundef %14410) #10
  %14412 = call i32 @isatty(i32 noundef %14411) #10
  %14413 = icmp ne i32 %14412, 0
  br i1 %14413, label %14414, label %14431

14414:                                            ; preds = %14409
  %14415 = load i32, ptr %316, align 4, !tbaa !5
  %14416 = call ptr @__errno_location() #11
  store i32 %14415, ptr %14416, align 4, !tbaa !5
  %14417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14418 = load i32, ptr @test_count, align 4, !tbaa !5
  %14419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14420 = load i32, ptr %14419, align 4, !tbaa !5
  %14421 = call ptr @s2n_strerror(i32 noundef %14420, ptr noundef @.str.10)
  %14422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14423 = load i32, ptr %14422, align 4, !tbaa !5
  %14424 = call ptr @s2n_strerror_debug(i32 noundef %14423, ptr noundef @.str.10)
  %14425 = call ptr @__errno_location() #11
  %14426 = load i32, ptr %14425, align 4, !tbaa !5
  %14427 = call ptr @strerror(i32 noundef %14426) #10
  %14428 = call ptr @__errno_location() #11
  %14429 = load i32, ptr %14428, align 4, !tbaa !5
  %14430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14417, ptr noundef @.str.8, i32 noundef %14418, ptr noundef @.str.91, ptr noundef @.str.7, i32 noundef 532, ptr noundef %14421, ptr noundef %14424, ptr noundef %14427, i32 noundef %14429) #10
  br label %14448

14431:                                            ; preds = %14409, %14402
  %14432 = load i32, ptr %316, align 4, !tbaa !5
  %14433 = call ptr @__errno_location() #11
  store i32 %14432, ptr %14433, align 4, !tbaa !5
  %14434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14435 = load i32, ptr @test_count, align 4, !tbaa !5
  %14436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14437 = load i32, ptr %14436, align 4, !tbaa !5
  %14438 = call ptr @s2n_strerror(i32 noundef %14437, ptr noundef @.str.10)
  %14439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14440 = load i32, ptr %14439, align 4, !tbaa !5
  %14441 = call ptr @s2n_strerror_debug(i32 noundef %14440, ptr noundef @.str.10)
  %14442 = call ptr @__errno_location() #11
  %14443 = load i32, ptr %14442, align 4, !tbaa !5
  %14444 = call ptr @strerror(i32 noundef %14443) #10
  %14445 = call ptr @__errno_location() #11
  %14446 = load i32, ptr %14445, align 4, !tbaa !5
  %14447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14434, ptr noundef @.str.11, i32 noundef %14435, ptr noundef @.str.91, ptr noundef @.str.7, i32 noundef 532, ptr noundef %14438, ptr noundef %14441, ptr noundef %14444, i32 noundef %14446) #10
  br label %14448

14448:                                            ; preds = %14431, %14414
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #10
  br label %14449

14449:                                            ; preds = %14448
  br label %14450

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

14451:                                            ; No predecessors!
  br label %14452

14452:                                            ; preds = %14451
  br label %14453

14453:                                            ; preds = %14452, %14394
  br label %14454

14454:                                            ; preds = %14453
  br label %14455

14455:                                            ; preds = %14454
  br label %14456

14456:                                            ; preds = %14455
  %14457 = load i32, ptr @test_count, align 4, !tbaa !5
  %14458 = add nsw i32 %14457, 1
  store i32 %14458, ptr @test_count, align 4, !tbaa !5
  %14459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14460 = load i32, ptr %14459, align 4, !tbaa !5
  %14461 = icmp eq i32 %14460, 335544321
  br i1 %14461, label %14515, label %14462

14462:                                            ; preds = %14456
  br label %14463

14463:                                            ; preds = %14462
  br label %14464

14464:                                            ; preds = %14463
  call void @llvm.lifetime.start.p0(i64 4, ptr %317) #10
  %14465 = call ptr @__errno_location() #11
  %14466 = load i32, ptr %14465, align 4, !tbaa !5
  store i32 %14466, ptr %317, align 4, !tbaa !5
  %14467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14468 = call i32 @s2n_print_stacktrace(ptr noundef %14467)
  %14469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14470 = trunc i8 %14469 to i1
  br i1 %14470, label %14471, label %14493

14471:                                            ; preds = %14464
  %14472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14473 = call i32 @fileno(ptr noundef %14472) #10
  %14474 = call i32 @isatty(i32 noundef %14473) #10
  %14475 = icmp ne i32 %14474, 0
  br i1 %14475, label %14476, label %14493

14476:                                            ; preds = %14471
  %14477 = load i32, ptr %317, align 4, !tbaa !5
  %14478 = call ptr @__errno_location() #11
  store i32 %14477, ptr %14478, align 4, !tbaa !5
  %14479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14480 = load i32, ptr @test_count, align 4, !tbaa !5
  %14481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14482 = load i32, ptr %14481, align 4, !tbaa !5
  %14483 = call ptr @s2n_strerror(i32 noundef %14482, ptr noundef @.str.10)
  %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_debug(i32 noundef %14485, ptr noundef @.str.10)
  %14487 = call ptr @__errno_location() #11
  %14488 = load i32, ptr %14487, align 4, !tbaa !5
  %14489 = call ptr @strerror(i32 noundef %14488) #10
  %14490 = call ptr @__errno_location() #11
  %14491 = load i32, ptr %14490, align 4, !tbaa !5
  %14492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14479, ptr noundef @.str.8, i32 noundef %14480, ptr noundef @.str.92, ptr noundef @.str.7, i32 noundef 532, ptr noundef %14483, ptr noundef %14486, ptr noundef %14489, i32 noundef %14491) #10
  br label %14510

14493:                                            ; preds = %14471, %14464
  %14494 = load i32, ptr %317, align 4, !tbaa !5
  %14495 = call ptr @__errno_location() #11
  store i32 %14494, ptr %14495, align 4, !tbaa !5
  %14496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14497 = load i32, ptr @test_count, align 4, !tbaa !5
  %14498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14499 = load i32, ptr %14498, align 4, !tbaa !5
  %14500 = call ptr @s2n_strerror(i32 noundef %14499, ptr noundef @.str.10)
  %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_debug(i32 noundef %14502, ptr noundef @.str.10)
  %14504 = call ptr @__errno_location() #11
  %14505 = load i32, ptr %14504, align 4, !tbaa !5
  %14506 = call ptr @strerror(i32 noundef %14505) #10
  %14507 = call ptr @__errno_location() #11
  %14508 = load i32, ptr %14507, align 4, !tbaa !5
  %14509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14496, ptr noundef @.str.11, i32 noundef %14497, ptr noundef @.str.92, ptr noundef @.str.7, i32 noundef 532, ptr noundef %14500, ptr noundef %14503, ptr noundef %14506, i32 noundef %14508) #10
  br label %14510

14510:                                            ; preds = %14493, %14476
  call void @llvm.lifetime.end.p0(i64 4, ptr %317) #10
  br label %14511

14511:                                            ; preds = %14510
  br label %14512

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

14513:                                            ; No predecessors!
  br label %14514

14514:                                            ; preds = %14513
  br label %14515

14515:                                            ; preds = %14514, %14456
  br label %14516

14516:                                            ; preds = %14515
  br label %14517

14517:                                            ; preds = %14516
  br label %14518

14518:                                            ; preds = %14517
  %14519 = load i32, ptr @test_count, align 4, !tbaa !5
  %14520 = add nsw i32 %14519, 1
  store i32 %14520, ptr @test_count, align 4, !tbaa !5
  %14521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14522 = load i32, ptr %14521, align 4, !tbaa !5
  %14523 = call ptr @s2n_strerror_debug(i32 noundef %14522, ptr noundef @.str.10)
  %14524 = icmp eq ptr %14523, null
  br i1 %14524, label %14525, label %14578

14525:                                            ; preds = %14518
  br label %14526

14526:                                            ; preds = %14525
  br label %14527

14527:                                            ; preds = %14526
  call void @llvm.lifetime.start.p0(i64 4, ptr %318) #10
  %14528 = call ptr @__errno_location() #11
  %14529 = load i32, ptr %14528, align 4, !tbaa !5
  store i32 %14529, ptr %318, align 4, !tbaa !5
  %14530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14531 = call i32 @s2n_print_stacktrace(ptr noundef %14530)
  %14532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14533 = trunc i8 %14532 to i1
  br i1 %14533, label %14534, label %14556

14534:                                            ; preds = %14527
  %14535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14536 = call i32 @fileno(ptr noundef %14535) #10
  %14537 = call i32 @isatty(i32 noundef %14536) #10
  %14538 = icmp ne i32 %14537, 0
  br i1 %14538, label %14539, label %14556

14539:                                            ; preds = %14534
  %14540 = load i32, ptr %318, align 4, !tbaa !5
  %14541 = call ptr @__errno_location() #11
  store i32 %14540, ptr %14541, align 4, !tbaa !5
  %14542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14543 = load i32, ptr @test_count, align 4, !tbaa !5
  %14544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14545 = load i32, ptr %14544, align 4, !tbaa !5
  %14546 = call ptr @s2n_strerror(i32 noundef %14545, ptr noundef @.str.10)
  %14547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14548 = load i32, ptr %14547, align 4, !tbaa !5
  %14549 = call ptr @s2n_strerror_debug(i32 noundef %14548, ptr noundef @.str.10)
  %14550 = call ptr @__errno_location() #11
  %14551 = load i32, ptr %14550, align 4, !tbaa !5
  %14552 = call ptr @strerror(i32 noundef %14551) #10
  %14553 = call ptr @__errno_location() #11
  %14554 = load i32, ptr %14553, align 4, !tbaa !5
  %14555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14542, ptr noundef @.str.8, i32 noundef %14543, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 532, ptr noundef %14546, ptr noundef %14549, ptr noundef %14552, i32 noundef %14554) #10
  br label %14573

14556:                                            ; preds = %14534, %14527
  %14557 = load i32, ptr %318, align 4, !tbaa !5
  %14558 = call ptr @__errno_location() #11
  store i32 %14557, ptr %14558, align 4, !tbaa !5
  %14559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14560 = load i32, ptr @test_count, align 4, !tbaa !5
  %14561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14562 = load i32, ptr %14561, align 4, !tbaa !5
  %14563 = call ptr @s2n_strerror(i32 noundef %14562, ptr noundef @.str.10)
  %14564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14565 = load i32, ptr %14564, align 4, !tbaa !5
  %14566 = call ptr @s2n_strerror_debug(i32 noundef %14565, ptr noundef @.str.10)
  %14567 = call ptr @__errno_location() #11
  %14568 = load i32, ptr %14567, align 4, !tbaa !5
  %14569 = call ptr @strerror(i32 noundef %14568) #10
  %14570 = call ptr @__errno_location() #11
  %14571 = load i32, ptr %14570, align 4, !tbaa !5
  %14572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14559, ptr noundef @.str.11, i32 noundef %14560, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 532, ptr noundef %14563, ptr noundef %14566, ptr noundef %14569, i32 noundef %14571) #10
  br label %14573

14573:                                            ; preds = %14556, %14539
  call void @llvm.lifetime.end.p0(i64 4, ptr %318) #10
  br label %14574

14574:                                            ; preds = %14573
  br label %14575

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

14576:                                            ; No predecessors!
  br label %14577

14577:                                            ; preds = %14576
  br label %14578

14578:                                            ; preds = %14577, %14518
  br label %14579

14579:                                            ; preds = %14578
  br label %14580

14580:                                            ; preds = %14579
  br label %14581

14581:                                            ; preds = %14580
  br label %14582

14582:                                            ; preds = %14581
  br label %14583

14583:                                            ; preds = %14582
  %14584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14584, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14585 = call ptr @__errno_location() #11
  store i32 0, ptr %14585, align 4, !tbaa !5
  br label %14586

14586:                                            ; preds = %14583
  br label %14587

14587:                                            ; preds = %14586
  br label %14588

14588:                                            ; preds = %14587
  br label %14589

14589:                                            ; preds = %14588
  br label %14590

14590:                                            ; preds = %14589
  %14591 = load i32, ptr @test_count, align 4, !tbaa !5
  %14592 = add nsw i32 %14591, 1
  store i32 %14592, ptr @test_count, align 4, !tbaa !5
  %14593 = load ptr, ptr %296, align 8, !tbaa !9
  %14594 = getelementptr inbounds %struct.s2n_connection, ptr %14593, i32 0, i32 51
  %14595 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %14594)
  br i1 %14595, label %14596, label %14649

14596:                                            ; preds = %14590
  br label %14597

14597:                                            ; preds = %14596
  br label %14598

14598:                                            ; preds = %14597
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #10
  %14599 = call ptr @__errno_location() #11
  %14600 = load i32, ptr %14599, align 4, !tbaa !5
  store i32 %14600, ptr %319, align 4, !tbaa !5
  %14601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14602 = call i32 @s2n_print_stacktrace(ptr noundef %14601)
  %14603 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14604 = trunc i8 %14603 to i1
  br i1 %14604, label %14605, label %14627

14605:                                            ; preds = %14598
  %14606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14607 = call i32 @fileno(ptr noundef %14606) #10
  %14608 = call i32 @isatty(i32 noundef %14607) #10
  %14609 = icmp ne i32 %14608, 0
  br i1 %14609, label %14610, label %14627

14610:                                            ; preds = %14605
  %14611 = load i32, ptr %319, align 4, !tbaa !5
  %14612 = call ptr @__errno_location() #11
  store i32 %14611, ptr %14612, align 4, !tbaa !5
  %14613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14614 = load i32, ptr @test_count, align 4, !tbaa !5
  %14615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14616 = load i32, ptr %14615, align 4, !tbaa !5
  %14617 = call ptr @s2n_strerror(i32 noundef %14616, ptr noundef @.str.10)
  %14618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14619 = load i32, ptr %14618, align 4, !tbaa !5
  %14620 = call ptr @s2n_strerror_debug(i32 noundef %14619, ptr noundef @.str.10)
  %14621 = call ptr @__errno_location() #11
  %14622 = load i32, ptr %14621, align 4, !tbaa !5
  %14623 = call ptr @strerror(i32 noundef %14622) #10
  %14624 = call ptr @__errno_location() #11
  %14625 = load i32, ptr %14624, align 4, !tbaa !5
  %14626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14613, ptr noundef @.str.8, i32 noundef %14614, ptr noundef @.str.86, ptr noundef @.str.7, i32 noundef 533, ptr noundef %14617, ptr noundef %14620, ptr noundef %14623, i32 noundef %14625) #10
  br label %14644

14627:                                            ; preds = %14605, %14598
  %14628 = load i32, ptr %319, align 4, !tbaa !5
  %14629 = call ptr @__errno_location() #11
  store i32 %14628, ptr %14629, align 4, !tbaa !5
  %14630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14631 = load i32, ptr @test_count, align 4, !tbaa !5
  %14632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14633 = load i32, ptr %14632, align 4, !tbaa !5
  %14634 = call ptr @s2n_strerror(i32 noundef %14633, ptr noundef @.str.10)
  %14635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14636 = load i32, ptr %14635, align 4, !tbaa !5
  %14637 = call ptr @s2n_strerror_debug(i32 noundef %14636, ptr noundef @.str.10)
  %14638 = call ptr @__errno_location() #11
  %14639 = load i32, ptr %14638, align 4, !tbaa !5
  %14640 = call ptr @strerror(i32 noundef %14639) #10
  %14641 = call ptr @__errno_location() #11
  %14642 = load i32, ptr %14641, align 4, !tbaa !5
  %14643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14630, ptr noundef @.str.11, i32 noundef %14631, ptr noundef @.str.86, ptr noundef @.str.7, i32 noundef 533, ptr noundef %14634, ptr noundef %14637, ptr noundef %14640, i32 noundef %14642) #10
  br label %14644

14644:                                            ; preds = %14627, %14610
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #10
  br label %14645

14645:                                            ; preds = %14644
  br label %14646

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

14647:                                            ; No predecessors!
  br label %14648

14648:                                            ; preds = %14647
  br label %14649

14649:                                            ; preds = %14648, %14590
  br label %14650

14650:                                            ; preds = %14649
  br label %14651

14651:                                            ; preds = %14650
  call void @llvm.lifetime.end.p0(i64 1, ptr %309) #10
  call void @llvm.lifetime.end.p0(i64 12, ptr %307) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #10
  %14652 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %300)
  %14653 = getelementptr inbounds %struct.s2n_result, ptr %320, i32 0, i32 0
  store i32 %14652, ptr %14653, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %300) #10
  %14654 = call i32 @s2n_connection_ptr_free(ptr noundef %296)
  %14655 = getelementptr inbounds %struct.s2n_result, ptr %321, i32 0, i32 0
  store i32 %14654, ptr %14655, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %296) #10
  %14656 = call i32 @s2n_connection_ptr_free(ptr noundef %293)
  %14657 = getelementptr inbounds %struct.s2n_result, ptr %322, i32 0, i32 0
  store i32 %14656, ptr %14657, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %293) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %323) #10
  %14658 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %14658, ptr %323, align 8, !tbaa !9
  br label %14659

14659:                                            ; preds = %14651
  %14660 = load i32, ptr @test_count, align 4, !tbaa !5
  %14661 = add nsw i32 %14660, 1
  store i32 %14661, ptr @test_count, align 4, !tbaa !5
  %14662 = load ptr, ptr %323, align 8, !tbaa !9
  %14663 = icmp eq ptr %14662, null
  br i1 %14663, label %14664, label %14717

14664:                                            ; preds = %14659
  br label %14665

14665:                                            ; preds = %14664
  br label %14666

14666:                                            ; preds = %14665
  call void @llvm.lifetime.start.p0(i64 4, ptr %324) #10
  %14667 = call ptr @__errno_location() #11
  %14668 = load i32, ptr %14667, align 4, !tbaa !5
  store i32 %14668, ptr %324, align 4, !tbaa !5
  %14669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14670 = call i32 @s2n_print_stacktrace(ptr noundef %14669)
  %14671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14672 = trunc i8 %14671 to i1
  br i1 %14672, label %14673, label %14695

14673:                                            ; preds = %14666
  %14674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14675 = call i32 @fileno(ptr noundef %14674) #10
  %14676 = call i32 @isatty(i32 noundef %14675) #10
  %14677 = icmp ne i32 %14676, 0
  br i1 %14677, label %14678, label %14695

14678:                                            ; preds = %14673
  %14679 = load i32, ptr %324, align 4, !tbaa !5
  %14680 = call ptr @__errno_location() #11
  store i32 %14679, ptr %14680, align 4, !tbaa !5
  %14681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14682 = load i32, ptr @test_count, align 4, !tbaa !5
  %14683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14684 = load i32, ptr %14683, align 4, !tbaa !5
  %14685 = call ptr @s2n_strerror(i32 noundef %14684, ptr noundef @.str.10)
  %14686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14687 = load i32, ptr %14686, align 4, !tbaa !5
  %14688 = call ptr @s2n_strerror_debug(i32 noundef %14687, ptr noundef @.str.10)
  %14689 = call ptr @__errno_location() #11
  %14690 = load i32, ptr %14689, align 4, !tbaa !5
  %14691 = call ptr @strerror(i32 noundef %14690) #10
  %14692 = call ptr @__errno_location() #11
  %14693 = load i32, ptr %14692, align 4, !tbaa !5
  %14694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14681, ptr noundef @.str.8, i32 noundef %14682, ptr noundef @.str.73, ptr noundef @.str.7, i32 noundef 544, ptr noundef %14685, ptr noundef %14688, ptr noundef %14691, i32 noundef %14693) #10
  br label %14712

14695:                                            ; preds = %14673, %14666
  %14696 = load i32, ptr %324, align 4, !tbaa !5
  %14697 = call ptr @__errno_location() #11
  store i32 %14696, ptr %14697, align 4, !tbaa !5
  %14698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14699 = load i32, ptr @test_count, align 4, !tbaa !5
  %14700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14701 = load i32, ptr %14700, align 4, !tbaa !5
  %14702 = call ptr @s2n_strerror(i32 noundef %14701, ptr noundef @.str.10)
  %14703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14704 = load i32, ptr %14703, align 4, !tbaa !5
  %14705 = call ptr @s2n_strerror_debug(i32 noundef %14704, ptr noundef @.str.10)
  %14706 = call ptr @__errno_location() #11
  %14707 = load i32, ptr %14706, align 4, !tbaa !5
  %14708 = call ptr @strerror(i32 noundef %14707) #10
  %14709 = call ptr @__errno_location() #11
  %14710 = load i32, ptr %14709, align 4, !tbaa !5
  %14711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14698, ptr noundef @.str.11, i32 noundef %14699, ptr noundef @.str.73, ptr noundef @.str.7, i32 noundef 544, ptr noundef %14702, ptr noundef %14705, ptr noundef %14708, i32 noundef %14710) #10
  br label %14712

14712:                                            ; preds = %14695, %14678
  call void @llvm.lifetime.end.p0(i64 4, ptr %324) #10
  br label %14713

14713:                                            ; preds = %14712
  br label %14714

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

14715:                                            ; No predecessors!
  br label %14716

14716:                                            ; preds = %14715
  br label %14717

14717:                                            ; preds = %14716, %14659
  br label %14718

14718:                                            ; preds = %14717
  br label %14719

14719:                                            ; preds = %14718
  br label %14720

14720:                                            ; preds = %14719
  %14721 = load i32, ptr @test_count, align 4, !tbaa !5
  %14722 = add nsw i32 %14721, 1
  store i32 %14722, ptr @test_count, align 4, !tbaa !5
  %14723 = load ptr, ptr %323, align 8, !tbaa !9
  %14724 = load ptr, ptr %14, align 8, !tbaa !9
  %14725 = call i32 @s2n_connection_set_config(ptr noundef %14723, ptr noundef %14724)
  %14726 = icmp eq i32 %14725, -1
  br i1 %14726, label %14727, label %14780

14727:                                            ; preds = %14720
  br label %14728

14728:                                            ; preds = %14727
  br label %14729

14729:                                            ; preds = %14728
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #10
  %14730 = call ptr @__errno_location() #11
  %14731 = load i32, ptr %14730, align 4, !tbaa !5
  store i32 %14731, ptr %325, align 4, !tbaa !5
  %14732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14733 = call i32 @s2n_print_stacktrace(ptr noundef %14732)
  %14734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14735 = trunc i8 %14734 to i1
  br i1 %14735, label %14736, label %14758

14736:                                            ; preds = %14729
  %14737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14738 = call i32 @fileno(ptr noundef %14737) #10
  %14739 = call i32 @isatty(i32 noundef %14738) #10
  %14740 = icmp ne i32 %14739, 0
  br i1 %14740, label %14741, label %14758

14741:                                            ; preds = %14736
  %14742 = load i32, ptr %325, align 4, !tbaa !5
  %14743 = call ptr @__errno_location() #11
  store i32 %14742, ptr %14743, align 4, !tbaa !5
  %14744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14745 = load i32, ptr @test_count, align 4, !tbaa !5
  %14746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14747 = load i32, ptr %14746, align 4, !tbaa !5
  %14748 = call ptr @s2n_strerror(i32 noundef %14747, ptr noundef @.str.10)
  %14749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14750 = load i32, ptr %14749, align 4, !tbaa !5
  %14751 = call ptr @s2n_strerror_debug(i32 noundef %14750, ptr noundef @.str.10)
  %14752 = call ptr @__errno_location() #11
  %14753 = load i32, ptr %14752, align 4, !tbaa !5
  %14754 = call ptr @strerror(i32 noundef %14753) #10
  %14755 = call ptr @__errno_location() #11
  %14756 = load i32, ptr %14755, align 4, !tbaa !5
  %14757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14744, ptr noundef @.str.8, i32 noundef %14745, ptr noundef @.str.74, ptr noundef @.str.7, i32 noundef 545, ptr noundef %14748, ptr noundef %14751, ptr noundef %14754, i32 noundef %14756) #10
  br label %14775

14758:                                            ; preds = %14736, %14729
  %14759 = load i32, ptr %325, align 4, !tbaa !5
  %14760 = call ptr @__errno_location() #11
  store i32 %14759, ptr %14760, align 4, !tbaa !5
  %14761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14762 = load i32, ptr @test_count, align 4, !tbaa !5
  %14763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14764 = load i32, ptr %14763, align 4, !tbaa !5
  %14765 = call ptr @s2n_strerror(i32 noundef %14764, ptr noundef @.str.10)
  %14766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14767 = load i32, ptr %14766, align 4, !tbaa !5
  %14768 = call ptr @s2n_strerror_debug(i32 noundef %14767, ptr noundef @.str.10)
  %14769 = call ptr @__errno_location() #11
  %14770 = load i32, ptr %14769, align 4, !tbaa !5
  %14771 = call ptr @strerror(i32 noundef %14770) #10
  %14772 = call ptr @__errno_location() #11
  %14773 = load i32, ptr %14772, align 4, !tbaa !5
  %14774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14761, ptr noundef @.str.11, i32 noundef %14762, ptr noundef @.str.74, ptr noundef @.str.7, i32 noundef 545, ptr noundef %14765, ptr noundef %14768, ptr noundef %14771, i32 noundef %14773) #10
  br label %14775

14775:                                            ; preds = %14758, %14741
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #10
  br label %14776

14776:                                            ; preds = %14775
  br label %14777

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

14778:                                            ; No predecessors!
  br label %14779

14779:                                            ; preds = %14778
  br label %14780

14780:                                            ; preds = %14779, %14720
  br label %14781

14781:                                            ; preds = %14780
  br label %14782

14782:                                            ; preds = %14781
  call void @llvm.lifetime.start.p0(i64 8, ptr %326) #10
  %14783 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %14783, ptr %326, align 8, !tbaa !9
  br label %14784

14784:                                            ; preds = %14782
  %14785 = load i32, ptr @test_count, align 4, !tbaa !5
  %14786 = add nsw i32 %14785, 1
  store i32 %14786, ptr @test_count, align 4, !tbaa !5
  %14787 = load ptr, ptr %326, align 8, !tbaa !9
  %14788 = icmp eq ptr %14787, null
  br i1 %14788, label %14789, label %14842

14789:                                            ; preds = %14784
  br label %14790

14790:                                            ; preds = %14789
  br label %14791

14791:                                            ; preds = %14790
  call void @llvm.lifetime.start.p0(i64 4, ptr %327) #10
  %14792 = call ptr @__errno_location() #11
  %14793 = load i32, ptr %14792, align 4, !tbaa !5
  store i32 %14793, ptr %327, align 4, !tbaa !5
  %14794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14795 = call i32 @s2n_print_stacktrace(ptr noundef %14794)
  %14796 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14797 = trunc i8 %14796 to i1
  br i1 %14797, label %14798, label %14820

14798:                                            ; preds = %14791
  %14799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14800 = call i32 @fileno(ptr noundef %14799) #10
  %14801 = call i32 @isatty(i32 noundef %14800) #10
  %14802 = icmp ne i32 %14801, 0
  br i1 %14802, label %14803, label %14820

14803:                                            ; preds = %14798
  %14804 = load i32, ptr %327, align 4, !tbaa !5
  %14805 = call ptr @__errno_location() #11
  store i32 %14804, ptr %14805, align 4, !tbaa !5
  %14806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14807 = load i32, ptr @test_count, align 4, !tbaa !5
  %14808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14809 = load i32, ptr %14808, align 4, !tbaa !5
  %14810 = call ptr @s2n_strerror(i32 noundef %14809, ptr noundef @.str.10)
  %14811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14812 = load i32, ptr %14811, align 4, !tbaa !5
  %14813 = call ptr @s2n_strerror_debug(i32 noundef %14812, ptr noundef @.str.10)
  %14814 = call ptr @__errno_location() #11
  %14815 = load i32, ptr %14814, align 4, !tbaa !5
  %14816 = call ptr @strerror(i32 noundef %14815) #10
  %14817 = call ptr @__errno_location() #11
  %14818 = load i32, ptr %14817, align 4, !tbaa !5
  %14819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14806, ptr noundef @.str.8, i32 noundef %14807, ptr noundef @.str.75, ptr noundef @.str.7, i32 noundef 549, ptr noundef %14810, ptr noundef %14813, ptr noundef %14816, i32 noundef %14818) #10
  br label %14837

14820:                                            ; preds = %14798, %14791
  %14821 = load i32, ptr %327, align 4, !tbaa !5
  %14822 = call ptr @__errno_location() #11
  store i32 %14821, ptr %14822, align 4, !tbaa !5
  %14823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14824 = load i32, ptr @test_count, align 4, !tbaa !5
  %14825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14826 = load i32, ptr %14825, align 4, !tbaa !5
  %14827 = call ptr @s2n_strerror(i32 noundef %14826, ptr noundef @.str.10)
  %14828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14829 = load i32, ptr %14828, align 4, !tbaa !5
  %14830 = call ptr @s2n_strerror_debug(i32 noundef %14829, ptr noundef @.str.10)
  %14831 = call ptr @__errno_location() #11
  %14832 = load i32, ptr %14831, align 4, !tbaa !5
  %14833 = call ptr @strerror(i32 noundef %14832) #10
  %14834 = call ptr @__errno_location() #11
  %14835 = load i32, ptr %14834, align 4, !tbaa !5
  %14836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14823, ptr noundef @.str.11, i32 noundef %14824, ptr noundef @.str.75, ptr noundef @.str.7, i32 noundef 549, ptr noundef %14827, ptr noundef %14830, ptr noundef %14833, i32 noundef %14835) #10
  br label %14837

14837:                                            ; preds = %14820, %14803
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #10
  br label %14838

14838:                                            ; preds = %14837
  br label %14839

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

14840:                                            ; No predecessors!
  br label %14841

14841:                                            ; preds = %14840
  br label %14842

14842:                                            ; preds = %14841, %14784
  br label %14843

14843:                                            ; preds = %14842
  br label %14844

14844:                                            ; preds = %14843
  br label %14845

14845:                                            ; preds = %14844
  %14846 = load i32, ptr @test_count, align 4, !tbaa !5
  %14847 = add nsw i32 %14846, 1
  store i32 %14847, ptr @test_count, align 4, !tbaa !5
  %14848 = load ptr, ptr %326, align 8, !tbaa !9
  %14849 = load ptr, ptr %14, align 8, !tbaa !9
  %14850 = call i32 @s2n_connection_set_config(ptr noundef %14848, ptr noundef %14849)
  %14851 = icmp eq i32 %14850, -1
  br i1 %14851, label %14852, label %14905

14852:                                            ; preds = %14845
  br label %14853

14853:                                            ; preds = %14852
  br label %14854

14854:                                            ; preds = %14853
  call void @llvm.lifetime.start.p0(i64 4, ptr %328) #10
  %14855 = call ptr @__errno_location() #11
  %14856 = load i32, ptr %14855, align 4, !tbaa !5
  store i32 %14856, ptr %328, align 4, !tbaa !5
  %14857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14858 = call i32 @s2n_print_stacktrace(ptr noundef %14857)
  %14859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14860 = trunc i8 %14859 to i1
  br i1 %14860, label %14861, label %14883

14861:                                            ; preds = %14854
  %14862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14863 = call i32 @fileno(ptr noundef %14862) #10
  %14864 = call i32 @isatty(i32 noundef %14863) #10
  %14865 = icmp ne i32 %14864, 0
  br i1 %14865, label %14866, label %14883

14866:                                            ; preds = %14861
  %14867 = load i32, ptr %328, align 4, !tbaa !5
  %14868 = call ptr @__errno_location() #11
  store i32 %14867, ptr %14868, align 4, !tbaa !5
  %14869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14870 = load i32, ptr @test_count, align 4, !tbaa !5
  %14871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14872 = load i32, ptr %14871, align 4, !tbaa !5
  %14873 = call ptr @s2n_strerror(i32 noundef %14872, ptr noundef @.str.10)
  %14874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14875 = load i32, ptr %14874, align 4, !tbaa !5
  %14876 = call ptr @s2n_strerror_debug(i32 noundef %14875, ptr noundef @.str.10)
  %14877 = call ptr @__errno_location() #11
  %14878 = load i32, ptr %14877, align 4, !tbaa !5
  %14879 = call ptr @strerror(i32 noundef %14878) #10
  %14880 = call ptr @__errno_location() #11
  %14881 = load i32, ptr %14880, align 4, !tbaa !5
  %14882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14869, ptr noundef @.str.8, i32 noundef %14870, ptr noundef @.str.76, ptr noundef @.str.7, i32 noundef 550, ptr noundef %14873, ptr noundef %14876, ptr noundef %14879, i32 noundef %14881) #10
  br label %14900

14883:                                            ; preds = %14861, %14854
  %14884 = load i32, ptr %328, align 4, !tbaa !5
  %14885 = call ptr @__errno_location() #11
  store i32 %14884, ptr %14885, align 4, !tbaa !5
  %14886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14887 = load i32, ptr @test_count, align 4, !tbaa !5
  %14888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14889 = load i32, ptr %14888, align 4, !tbaa !5
  %14890 = call ptr @s2n_strerror(i32 noundef %14889, ptr noundef @.str.10)
  %14891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14892 = load i32, ptr %14891, align 4, !tbaa !5
  %14893 = call ptr @s2n_strerror_debug(i32 noundef %14892, ptr noundef @.str.10)
  %14894 = call ptr @__errno_location() #11
  %14895 = load i32, ptr %14894, align 4, !tbaa !5
  %14896 = call ptr @strerror(i32 noundef %14895) #10
  %14897 = call ptr @__errno_location() #11
  %14898 = load i32, ptr %14897, align 4, !tbaa !5
  %14899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14886, ptr noundef @.str.11, i32 noundef %14887, ptr noundef @.str.76, ptr noundef @.str.7, i32 noundef 550, ptr noundef %14890, ptr noundef %14893, ptr noundef %14896, i32 noundef %14898) #10
  br label %14900

14900:                                            ; preds = %14883, %14866
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #10
  br label %14901

14901:                                            ; preds = %14900
  br label %14902

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

14903:                                            ; No predecessors!
  br label %14904

14904:                                            ; preds = %14903
  br label %14905

14905:                                            ; preds = %14904, %14845
  br label %14906

14906:                                            ; preds = %14905
  br label %14907

14907:                                            ; preds = %14906
  call void @llvm.lifetime.start.p0(i64 80, ptr %329) #10
  call void @llvm.memset.p0.i64(ptr align 8 %329, i8 0, i64 80, i1 false)
  br label %14908

14908:                                            ; preds = %14907
  %14909 = load i32, ptr @test_count, align 4, !tbaa !5
  %14910 = add nsw i32 %14909, 1
  store i32 %14910, ptr @test_count, align 4, !tbaa !5
  %14911 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %329)
  %14912 = getelementptr inbounds %struct.s2n_result, ptr %330, i32 0, i32 0
  store i32 %14911, ptr %14912, align 4
  %14913 = getelementptr inbounds %struct.s2n_result, ptr %330, i32 0, i32 0
  %14914 = load i32, ptr %14913, align 4
  %14915 = call zeroext i1 @s2n_result_is_ok(i32 %14914)
  br i1 %14915, label %14969, label %14916

14916:                                            ; preds = %14908
  br label %14917

14917:                                            ; preds = %14916
  br label %14918

14918:                                            ; preds = %14917
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #10
  %14919 = call ptr @__errno_location() #11
  %14920 = load i32, ptr %14919, align 4, !tbaa !5
  store i32 %14920, ptr %331, align 4, !tbaa !5
  %14921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14922 = call i32 @s2n_print_stacktrace(ptr noundef %14921)
  %14923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14924 = trunc i8 %14923 to i1
  br i1 %14924, label %14925, label %14947

14925:                                            ; preds = %14918
  %14926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14927 = call i32 @fileno(ptr noundef %14926) #10
  %14928 = call i32 @isatty(i32 noundef %14927) #10
  %14929 = icmp ne i32 %14928, 0
  br i1 %14929, label %14930, label %14947

14930:                                            ; preds = %14925
  %14931 = load i32, ptr %331, align 4, !tbaa !5
  %14932 = call ptr @__errno_location() #11
  store i32 %14931, ptr %14932, align 4, !tbaa !5
  %14933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14934 = load i32, ptr @test_count, align 4, !tbaa !5
  %14935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14936 = load i32, ptr %14935, align 4, !tbaa !5
  %14937 = call ptr @s2n_strerror(i32 noundef %14936, ptr noundef @.str.10)
  %14938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14939 = load i32, ptr %14938, align 4, !tbaa !5
  %14940 = call ptr @s2n_strerror_debug(i32 noundef %14939, ptr noundef @.str.10)
  %14941 = call ptr @__errno_location() #11
  %14942 = load i32, ptr %14941, align 4, !tbaa !5
  %14943 = call ptr @strerror(i32 noundef %14942) #10
  %14944 = call ptr @__errno_location() #11
  %14945 = load i32, ptr %14944, align 4, !tbaa !5
  %14946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14933, ptr noundef @.str.8, i32 noundef %14934, ptr noundef @.str.77, ptr noundef @.str.7, i32 noundef 554, ptr noundef %14937, ptr noundef %14940, ptr noundef %14943, i32 noundef %14945) #10
  br label %14964

14947:                                            ; preds = %14925, %14918
  %14948 = load i32, ptr %331, align 4, !tbaa !5
  %14949 = call ptr @__errno_location() #11
  store i32 %14948, ptr %14949, align 4, !tbaa !5
  %14950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14951 = load i32, ptr @test_count, align 4, !tbaa !5
  %14952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14953 = load i32, ptr %14952, align 4, !tbaa !5
  %14954 = call ptr @s2n_strerror(i32 noundef %14953, ptr noundef @.str.10)
  %14955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14956 = load i32, ptr %14955, align 4, !tbaa !5
  %14957 = call ptr @s2n_strerror_debug(i32 noundef %14956, ptr noundef @.str.10)
  %14958 = call ptr @__errno_location() #11
  %14959 = load i32, ptr %14958, align 4, !tbaa !5
  %14960 = call ptr @strerror(i32 noundef %14959) #10
  %14961 = call ptr @__errno_location() #11
  %14962 = load i32, ptr %14961, align 4, !tbaa !5
  %14963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14950, ptr noundef @.str.11, i32 noundef %14951, ptr noundef @.str.77, ptr noundef @.str.7, i32 noundef 554, ptr noundef %14954, ptr noundef %14957, ptr noundef %14960, i32 noundef %14962) #10
  br label %14964

14964:                                            ; preds = %14947, %14930
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #10
  br label %14965

14965:                                            ; preds = %14964
  br label %14966

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

14967:                                            ; No predecessors!
  br label %14968

14968:                                            ; preds = %14967
  br label %14969

14969:                                            ; preds = %14968, %14908
  br label %14970

14970:                                            ; preds = %14969
  br label %14971

14971:                                            ; preds = %14970
  br label %14972

14972:                                            ; preds = %14971
  %14973 = load i32, ptr @test_count, align 4, !tbaa !5
  %14974 = add nsw i32 %14973, 1
  store i32 %14974, ptr @test_count, align 4, !tbaa !5
  %14975 = load ptr, ptr %323, align 8, !tbaa !9
  %14976 = load ptr, ptr %326, align 8, !tbaa !9
  %14977 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %14975, ptr noundef %14976, ptr noundef %329)
  %14978 = getelementptr inbounds %struct.s2n_result, ptr %332, i32 0, i32 0
  store i32 %14977, ptr %14978, align 4
  %14979 = getelementptr inbounds %struct.s2n_result, ptr %332, i32 0, i32 0
  %14980 = load i32, ptr %14979, align 4
  %14981 = call zeroext i1 @s2n_result_is_ok(i32 %14980)
  br i1 %14981, label %15035, label %14982

14982:                                            ; preds = %14972
  br label %14983

14983:                                            ; preds = %14982
  br label %14984

14984:                                            ; preds = %14983
  call void @llvm.lifetime.start.p0(i64 4, ptr %333) #10
  %14985 = call ptr @__errno_location() #11
  %14986 = load i32, ptr %14985, align 4, !tbaa !5
  store i32 %14986, ptr %333, align 4, !tbaa !5
  %14987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14988 = call i32 @s2n_print_stacktrace(ptr noundef %14987)
  %14989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14990 = trunc i8 %14989 to i1
  br i1 %14990, label %14991, label %15013

14991:                                            ; preds = %14984
  %14992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14993 = call i32 @fileno(ptr noundef %14992) #10
  %14994 = call i32 @isatty(i32 noundef %14993) #10
  %14995 = icmp ne i32 %14994, 0
  br i1 %14995, label %14996, label %15013

14996:                                            ; preds = %14991
  %14997 = load i32, ptr %333, align 4, !tbaa !5
  %14998 = call ptr @__errno_location() #11
  store i32 %14997, ptr %14998, align 4, !tbaa !5
  %14999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15000 = load i32, ptr @test_count, align 4, !tbaa !5
  %15001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15002 = load i32, ptr %15001, align 4, !tbaa !5
  %15003 = call ptr @s2n_strerror(i32 noundef %15002, ptr noundef @.str.10)
  %15004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15005 = load i32, ptr %15004, align 4, !tbaa !5
  %15006 = call ptr @s2n_strerror_debug(i32 noundef %15005, ptr noundef @.str.10)
  %15007 = call ptr @__errno_location() #11
  %15008 = load i32, ptr %15007, align 4, !tbaa !5
  %15009 = call ptr @strerror(i32 noundef %15008) #10
  %15010 = call ptr @__errno_location() #11
  %15011 = load i32, ptr %15010, align 4, !tbaa !5
  %15012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14999, ptr noundef @.str.8, i32 noundef %15000, ptr noundef @.str.78, ptr noundef @.str.7, i32 noundef 555, ptr noundef %15003, ptr noundef %15006, ptr noundef %15009, i32 noundef %15011) #10
  br label %15030

15013:                                            ; preds = %14991, %14984
  %15014 = load i32, ptr %333, align 4, !tbaa !5
  %15015 = call ptr @__errno_location() #11
  store i32 %15014, ptr %15015, align 4, !tbaa !5
  %15016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15017 = load i32, ptr @test_count, align 4, !tbaa !5
  %15018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15019 = load i32, ptr %15018, align 4, !tbaa !5
  %15020 = call ptr @s2n_strerror(i32 noundef %15019, ptr noundef @.str.10)
  %15021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15022 = load i32, ptr %15021, align 4, !tbaa !5
  %15023 = call ptr @s2n_strerror_debug(i32 noundef %15022, ptr noundef @.str.10)
  %15024 = call ptr @__errno_location() #11
  %15025 = load i32, ptr %15024, align 4, !tbaa !5
  %15026 = call ptr @strerror(i32 noundef %15025) #10
  %15027 = call ptr @__errno_location() #11
  %15028 = load i32, ptr %15027, align 4, !tbaa !5
  %15029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15016, ptr noundef @.str.11, i32 noundef %15017, ptr noundef @.str.78, ptr noundef @.str.7, i32 noundef 555, ptr noundef %15020, ptr noundef %15023, ptr noundef %15026, i32 noundef %15028) #10
  br label %15030

15030:                                            ; preds = %15013, %14996
  call void @llvm.lifetime.end.p0(i64 4, ptr %333) #10
  br label %15031

15031:                                            ; preds = %15030
  br label %15032

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

15033:                                            ; No predecessors!
  br label %15034

15034:                                            ; preds = %15033
  br label %15035

15035:                                            ; preds = %15034, %14972
  br label %15036

15036:                                            ; preds = %15035
  br label %15037

15037:                                            ; preds = %15036
  br label %15038

15038:                                            ; preds = %15037
  %15039 = load i32, ptr @test_count, align 4, !tbaa !5
  %15040 = add nsw i32 %15039, 1
  store i32 %15040, ptr @test_count, align 4, !tbaa !5
  %15041 = load ptr, ptr %326, align 8, !tbaa !9
  %15042 = load ptr, ptr %323, align 8, !tbaa !9
  %15043 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %15041, ptr noundef %15042)
  %15044 = icmp eq i32 %15043, -1
  br i1 %15044, label %15045, label %15098

15045:                                            ; preds = %15038
  br label %15046

15046:                                            ; preds = %15045
  br label %15047

15047:                                            ; preds = %15046
  call void @llvm.lifetime.start.p0(i64 4, ptr %334) #10
  %15048 = call ptr @__errno_location() #11
  %15049 = load i32, ptr %15048, align 4, !tbaa !5
  store i32 %15049, ptr %334, align 4, !tbaa !5
  %15050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15051 = call i32 @s2n_print_stacktrace(ptr noundef %15050)
  %15052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15053 = trunc i8 %15052 to i1
  br i1 %15053, label %15054, label %15076

15054:                                            ; preds = %15047
  %15055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15056 = call i32 @fileno(ptr noundef %15055) #10
  %15057 = call i32 @isatty(i32 noundef %15056) #10
  %15058 = icmp ne i32 %15057, 0
  br i1 %15058, label %15059, label %15076

15059:                                            ; preds = %15054
  %15060 = load i32, ptr %334, align 4, !tbaa !5
  %15061 = call ptr @__errno_location() #11
  store i32 %15060, ptr %15061, align 4, !tbaa !5
  %15062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15063 = load i32, ptr @test_count, align 4, !tbaa !5
  %15064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15065 = load i32, ptr %15064, align 4, !tbaa !5
  %15066 = call ptr @s2n_strerror(i32 noundef %15065, ptr noundef @.str.10)
  %15067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15068 = load i32, ptr %15067, align 4, !tbaa !5
  %15069 = call ptr @s2n_strerror_debug(i32 noundef %15068, ptr noundef @.str.10)
  %15070 = call ptr @__errno_location() #11
  %15071 = load i32, ptr %15070, align 4, !tbaa !5
  %15072 = call ptr @strerror(i32 noundef %15071) #10
  %15073 = call ptr @__errno_location() #11
  %15074 = load i32, ptr %15073, align 4, !tbaa !5
  %15075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15062, ptr noundef @.str.8, i32 noundef %15063, ptr noundef @.str.79, ptr noundef @.str.7, i32 noundef 556, ptr noundef %15066, ptr noundef %15069, ptr noundef %15072, i32 noundef %15074) #10
  br label %15093

15076:                                            ; preds = %15054, %15047
  %15077 = load i32, ptr %334, align 4, !tbaa !5
  %15078 = call ptr @__errno_location() #11
  store i32 %15077, ptr %15078, align 4, !tbaa !5
  %15079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15080 = load i32, ptr @test_count, align 4, !tbaa !5
  %15081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15082 = load i32, ptr %15081, align 4, !tbaa !5
  %15083 = call ptr @s2n_strerror(i32 noundef %15082, ptr noundef @.str.10)
  %15084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15085 = load i32, ptr %15084, align 4, !tbaa !5
  %15086 = call ptr @s2n_strerror_debug(i32 noundef %15085, ptr noundef @.str.10)
  %15087 = call ptr @__errno_location() #11
  %15088 = load i32, ptr %15087, align 4, !tbaa !5
  %15089 = call ptr @strerror(i32 noundef %15088) #10
  %15090 = call ptr @__errno_location() #11
  %15091 = load i32, ptr %15090, align 4, !tbaa !5
  %15092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15079, ptr noundef @.str.11, i32 noundef %15080, ptr noundef @.str.79, ptr noundef @.str.7, i32 noundef 556, ptr noundef %15083, ptr noundef %15086, ptr noundef %15089, i32 noundef %15091) #10
  br label %15093

15093:                                            ; preds = %15076, %15059
  call void @llvm.lifetime.end.p0(i64 4, ptr %334) #10
  br label %15094

15094:                                            ; preds = %15093
  br label %15095

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

15096:                                            ; No predecessors!
  br label %15097

15097:                                            ; preds = %15096
  br label %15098

15098:                                            ; preds = %15097, %15038
  br label %15099

15099:                                            ; preds = %15098
  br label %15100

15100:                                            ; preds = %15099
  call void @llvm.lifetime.start.p0(i64 4, ptr %335) #10
  store i32 0, ptr %335, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 12, ptr %336) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %336, ptr align 1 @__const.main.test_data.93, i64 12, i1 false)
  br label %15101

15101:                                            ; preds = %15100
  %15102 = load i32, ptr @test_count, align 4, !tbaa !5
  %15103 = add nsw i32 %15102, 1
  store i32 %15103, ptr @test_count, align 4, !tbaa !5
  %15104 = load ptr, ptr %323, align 8, !tbaa !9
  %15105 = getelementptr inbounds [12 x i8], ptr %336, i64 0, i64 0
  %15106 = call i64 @s2n_send(ptr noundef %15104, ptr noundef %15105, i64 noundef 12, ptr noundef %335)
  %15107 = icmp eq i64 %15106, 12
  br i1 %15107, label %15161, label %15108

15108:                                            ; preds = %15101
  br label %15109

15109:                                            ; preds = %15108
  br label %15110

15110:                                            ; preds = %15109
  call void @llvm.lifetime.start.p0(i64 4, ptr %337) #10
  %15111 = call ptr @__errno_location() #11
  %15112 = load i32, ptr %15111, align 4, !tbaa !5
  store i32 %15112, ptr %337, align 4, !tbaa !5
  %15113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15114 = call i32 @s2n_print_stacktrace(ptr noundef %15113)
  %15115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15116 = trunc i8 %15115 to i1
  br i1 %15116, label %15117, label %15139

15117:                                            ; preds = %15110
  %15118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15119 = call i32 @fileno(ptr noundef %15118) #10
  %15120 = call i32 @isatty(i32 noundef %15119) #10
  %15121 = icmp ne i32 %15120, 0
  br i1 %15121, label %15122, label %15139

15122:                                            ; preds = %15117
  %15123 = load i32, ptr %337, align 4, !tbaa !5
  %15124 = call ptr @__errno_location() #11
  store i32 %15123, ptr %15124, align 4, !tbaa !5
  %15125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15126 = load i32, ptr @test_count, align 4, !tbaa !5
  %15127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15128 = load i32, ptr %15127, align 4, !tbaa !5
  %15129 = call ptr @s2n_strerror(i32 noundef %15128, ptr noundef @.str.10)
  %15130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15131 = load i32, ptr %15130, align 4, !tbaa !5
  %15132 = call ptr @s2n_strerror_debug(i32 noundef %15131, ptr noundef @.str.10)
  %15133 = call ptr @__errno_location() #11
  %15134 = load i32, ptr %15133, align 4, !tbaa !5
  %15135 = call ptr @strerror(i32 noundef %15134) #10
  %15136 = call ptr @__errno_location() #11
  %15137 = load i32, ptr %15136, align 4, !tbaa !5
  %15138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15125, ptr noundef @.str.8, i32 noundef %15126, ptr noundef @.str.80, ptr noundef @.str.7, i32 noundef 562, ptr noundef %15129, ptr noundef %15132, ptr noundef %15135, i32 noundef %15137) #10
  br label %15156

15139:                                            ; preds = %15117, %15110
  %15140 = load i32, ptr %337, align 4, !tbaa !5
  %15141 = call ptr @__errno_location() #11
  store i32 %15140, ptr %15141, align 4, !tbaa !5
  %15142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15143 = load i32, ptr @test_count, align 4, !tbaa !5
  %15144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15145 = load i32, ptr %15144, align 4, !tbaa !5
  %15146 = call ptr @s2n_strerror(i32 noundef %15145, ptr noundef @.str.10)
  %15147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15148 = load i32, ptr %15147, align 4, !tbaa !5
  %15149 = call ptr @s2n_strerror_debug(i32 noundef %15148, ptr noundef @.str.10)
  %15150 = call ptr @__errno_location() #11
  %15151 = load i32, ptr %15150, align 4, !tbaa !5
  %15152 = call ptr @strerror(i32 noundef %15151) #10
  %15153 = call ptr @__errno_location() #11
  %15154 = load i32, ptr %15153, align 4, !tbaa !5
  %15155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15142, ptr noundef @.str.11, i32 noundef %15143, ptr noundef @.str.80, ptr noundef @.str.7, i32 noundef 562, ptr noundef %15146, ptr noundef %15149, ptr noundef %15152, i32 noundef %15154) #10
  br label %15156

15156:                                            ; preds = %15139, %15122
  call void @llvm.lifetime.end.p0(i64 4, ptr %337) #10
  br label %15157

15157:                                            ; preds = %15156
  br label %15158

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

15159:                                            ; No predecessors!
  br label %15160

15160:                                            ; preds = %15159
  br label %15161

15161:                                            ; preds = %15160, %15101
  br label %15162

15162:                                            ; preds = %15161
  br label %15163

15163:                                            ; preds = %15162
  br label %15164

15164:                                            ; preds = %15163
  %15165 = load i32, ptr @test_count, align 4, !tbaa !5
  %15166 = add nsw i32 %15165, 1
  store i32 %15166, ptr @test_count, align 4, !tbaa !5
  %15167 = load ptr, ptr %326, align 8, !tbaa !9
  %15168 = getelementptr inbounds [12 x i8], ptr %336, i64 0, i64 0
  %15169 = call i64 @s2n_recv(ptr noundef %15167, ptr noundef %15168, i64 noundef 1, ptr noundef %335)
  %15170 = icmp eq i64 %15169, 1
  br i1 %15170, label %15224, label %15171

15171:                                            ; preds = %15164
  br label %15172

15172:                                            ; preds = %15171
  br label %15173

15173:                                            ; preds = %15172
  call void @llvm.lifetime.start.p0(i64 4, ptr %338) #10
  %15174 = call ptr @__errno_location() #11
  %15175 = load i32, ptr %15174, align 4, !tbaa !5
  store i32 %15175, ptr %338, align 4, !tbaa !5
  %15176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15177 = call i32 @s2n_print_stacktrace(ptr noundef %15176)
  %15178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15179 = trunc i8 %15178 to i1
  br i1 %15179, label %15180, label %15202

15180:                                            ; preds = %15173
  %15181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15182 = call i32 @fileno(ptr noundef %15181) #10
  %15183 = call i32 @isatty(i32 noundef %15182) #10
  %15184 = icmp ne i32 %15183, 0
  br i1 %15184, label %15185, label %15202

15185:                                            ; preds = %15180
  %15186 = load i32, ptr %338, align 4, !tbaa !5
  %15187 = call ptr @__errno_location() #11
  store i32 %15186, ptr %15187, align 4, !tbaa !5
  %15188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15189 = load i32, ptr @test_count, align 4, !tbaa !5
  %15190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15191 = load i32, ptr %15190, align 4, !tbaa !5
  %15192 = call ptr @s2n_strerror(i32 noundef %15191, ptr noundef @.str.10)
  %15193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15194 = load i32, ptr %15193, align 4, !tbaa !5
  %15195 = call ptr @s2n_strerror_debug(i32 noundef %15194, ptr noundef @.str.10)
  %15196 = call ptr @__errno_location() #11
  %15197 = load i32, ptr %15196, align 4, !tbaa !5
  %15198 = call ptr @strerror(i32 noundef %15197) #10
  %15199 = call ptr @__errno_location() #11
  %15200 = load i32, ptr %15199, align 4, !tbaa !5
  %15201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15188, ptr noundef @.str.8, i32 noundef %15189, ptr noundef @.str.94, ptr noundef @.str.7, i32 noundef 565, ptr noundef %15192, ptr noundef %15195, ptr noundef %15198, i32 noundef %15200) #10
  br label %15219

15202:                                            ; preds = %15180, %15173
  %15203 = load i32, ptr %338, align 4, !tbaa !5
  %15204 = call ptr @__errno_location() #11
  store i32 %15203, ptr %15204, align 4, !tbaa !5
  %15205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15206 = load i32, ptr @test_count, align 4, !tbaa !5
  %15207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15208 = load i32, ptr %15207, align 4, !tbaa !5
  %15209 = call ptr @s2n_strerror(i32 noundef %15208, ptr noundef @.str.10)
  %15210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15211 = load i32, ptr %15210, align 4, !tbaa !5
  %15212 = call ptr @s2n_strerror_debug(i32 noundef %15211, ptr noundef @.str.10)
  %15213 = call ptr @__errno_location() #11
  %15214 = load i32, ptr %15213, align 4, !tbaa !5
  %15215 = call ptr @strerror(i32 noundef %15214) #10
  %15216 = call ptr @__errno_location() #11
  %15217 = load i32, ptr %15216, align 4, !tbaa !5
  %15218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15205, ptr noundef @.str.11, i32 noundef %15206, ptr noundef @.str.94, ptr noundef @.str.7, i32 noundef 565, ptr noundef %15209, ptr noundef %15212, ptr noundef %15215, i32 noundef %15217) #10
  br label %15219

15219:                                            ; preds = %15202, %15185
  call void @llvm.lifetime.end.p0(i64 4, ptr %338) #10
  br label %15220

15220:                                            ; preds = %15219
  br label %15221

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

15222:                                            ; No predecessors!
  br label %15223

15223:                                            ; preds = %15222
  br label %15224

15224:                                            ; preds = %15223, %15164
  br label %15225

15225:                                            ; preds = %15224
  br label %15226

15226:                                            ; preds = %15225
  br label %15227

15227:                                            ; preds = %15226
  %15228 = load i32, ptr @test_count, align 4, !tbaa !5
  %15229 = add nsw i32 %15228, 1
  store i32 %15229, ptr @test_count, align 4, !tbaa !5
  %15230 = load ptr, ptr %323, align 8, !tbaa !9
  %15231 = call i32 @s2n_shutdown_send(ptr noundef %15230, ptr noundef %335)
  %15232 = icmp eq i32 %15231, -1
  br i1 %15232, label %15233, label %15286

15233:                                            ; preds = %15227
  br label %15234

15234:                                            ; preds = %15233
  br label %15235

15235:                                            ; preds = %15234
  call void @llvm.lifetime.start.p0(i64 4, ptr %339) #10
  %15236 = call ptr @__errno_location() #11
  %15237 = load i32, ptr %15236, align 4, !tbaa !5
  store i32 %15237, ptr %339, align 4, !tbaa !5
  %15238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15239 = call i32 @s2n_print_stacktrace(ptr noundef %15238)
  %15240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15241 = trunc i8 %15240 to i1
  br i1 %15241, label %15242, label %15264

15242:                                            ; preds = %15235
  %15243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15244 = call i32 @fileno(ptr noundef %15243) #10
  %15245 = call i32 @isatty(i32 noundef %15244) #10
  %15246 = icmp ne i32 %15245, 0
  br i1 %15246, label %15247, label %15264

15247:                                            ; preds = %15242
  %15248 = load i32, ptr %339, align 4, !tbaa !5
  %15249 = call ptr @__errno_location() #11
  store i32 %15248, ptr %15249, align 4, !tbaa !5
  %15250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15251 = load i32, ptr @test_count, align 4, !tbaa !5
  %15252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15253 = load i32, ptr %15252, align 4, !tbaa !5
  %15254 = call ptr @s2n_strerror(i32 noundef %15253, ptr noundef @.str.10)
  %15255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15256 = load i32, ptr %15255, align 4, !tbaa !5
  %15257 = call ptr @s2n_strerror_debug(i32 noundef %15256, ptr noundef @.str.10)
  %15258 = call ptr @__errno_location() #11
  %15259 = load i32, ptr %15258, align 4, !tbaa !5
  %15260 = call ptr @strerror(i32 noundef %15259) #10
  %15261 = call ptr @__errno_location() #11
  %15262 = load i32, ptr %15261, align 4, !tbaa !5
  %15263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15250, ptr noundef @.str.8, i32 noundef %15251, ptr noundef @.str.82, ptr noundef @.str.7, i32 noundef 568, ptr noundef %15254, ptr noundef %15257, ptr noundef %15260, i32 noundef %15262) #10
  br label %15281

15264:                                            ; preds = %15242, %15235
  %15265 = load i32, ptr %339, align 4, !tbaa !5
  %15266 = call ptr @__errno_location() #11
  store i32 %15265, ptr %15266, align 4, !tbaa !5
  %15267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15268 = load i32, ptr @test_count, align 4, !tbaa !5
  %15269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15270 = load i32, ptr %15269, align 4, !tbaa !5
  %15271 = call ptr @s2n_strerror(i32 noundef %15270, ptr noundef @.str.10)
  %15272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15273 = load i32, ptr %15272, align 4, !tbaa !5
  %15274 = call ptr @s2n_strerror_debug(i32 noundef %15273, ptr noundef @.str.10)
  %15275 = call ptr @__errno_location() #11
  %15276 = load i32, ptr %15275, align 4, !tbaa !5
  %15277 = call ptr @strerror(i32 noundef %15276) #10
  %15278 = call ptr @__errno_location() #11
  %15279 = load i32, ptr %15278, align 4, !tbaa !5
  %15280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15267, ptr noundef @.str.11, i32 noundef %15268, ptr noundef @.str.82, ptr noundef @.str.7, i32 noundef 568, ptr noundef %15271, ptr noundef %15274, ptr noundef %15277, i32 noundef %15279) #10
  br label %15281

15281:                                            ; preds = %15264, %15247
  call void @llvm.lifetime.end.p0(i64 4, ptr %339) #10
  br label %15282

15282:                                            ; preds = %15281
  br label %15283

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

15284:                                            ; No predecessors!
  br label %15285

15285:                                            ; preds = %15284
  br label %15286

15286:                                            ; preds = %15285, %15227
  br label %15287

15287:                                            ; preds = %15286
  br label %15288

15288:                                            ; preds = %15287
  br label %15289

15289:                                            ; preds = %15288
  %15290 = load i32, ptr @test_count, align 4, !tbaa !5
  %15291 = add nsw i32 %15290, 1
  store i32 %15291, ptr @test_count, align 4, !tbaa !5
  %15292 = load ptr, ptr %326, align 8, !tbaa !9
  %15293 = call i32 @s2n_shutdown(ptr noundef %15292, ptr noundef %335)
  %15294 = icmp eq i32 %15293, -1
  br i1 %15294, label %15295, label %15348

15295:                                            ; preds = %15289
  br label %15296

15296:                                            ; preds = %15295
  br label %15297

15297:                                            ; preds = %15296
  call void @llvm.lifetime.start.p0(i64 4, ptr %340) #10
  %15298 = call ptr @__errno_location() #11
  %15299 = load i32, ptr %15298, align 4, !tbaa !5
  store i32 %15299, ptr %340, align 4, !tbaa !5
  %15300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15301 = call i32 @s2n_print_stacktrace(ptr noundef %15300)
  %15302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15303 = trunc i8 %15302 to i1
  br i1 %15303, label %15304, label %15326

15304:                                            ; preds = %15297
  %15305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15306 = call i32 @fileno(ptr noundef %15305) #10
  %15307 = call i32 @isatty(i32 noundef %15306) #10
  %15308 = icmp ne i32 %15307, 0
  br i1 %15308, label %15309, label %15326

15309:                                            ; preds = %15304
  %15310 = load i32, ptr %340, align 4, !tbaa !5
  %15311 = call ptr @__errno_location() #11
  store i32 %15310, ptr %15311, align 4, !tbaa !5
  %15312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15313 = load i32, ptr @test_count, align 4, !tbaa !5
  %15314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15315 = load i32, ptr %15314, align 4, !tbaa !5
  %15316 = call ptr @s2n_strerror(i32 noundef %15315, ptr noundef @.str.10)
  %15317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15318 = load i32, ptr %15317, align 4, !tbaa !5
  %15319 = call ptr @s2n_strerror_debug(i32 noundef %15318, ptr noundef @.str.10)
  %15320 = call ptr @__errno_location() #11
  %15321 = load i32, ptr %15320, align 4, !tbaa !5
  %15322 = call ptr @strerror(i32 noundef %15321) #10
  %15323 = call ptr @__errno_location() #11
  %15324 = load i32, ptr %15323, align 4, !tbaa !5
  %15325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15312, ptr noundef @.str.8, i32 noundef %15313, ptr noundef @.str.83, ptr noundef @.str.7, i32 noundef 573, ptr noundef %15316, ptr noundef %15319, ptr noundef %15322, i32 noundef %15324) #10
  br label %15343

15326:                                            ; preds = %15304, %15297
  %15327 = load i32, ptr %340, align 4, !tbaa !5
  %15328 = call ptr @__errno_location() #11
  store i32 %15327, ptr %15328, align 4, !tbaa !5
  %15329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15330 = load i32, ptr @test_count, align 4, !tbaa !5
  %15331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15332 = load i32, ptr %15331, align 4, !tbaa !5
  %15333 = call ptr @s2n_strerror(i32 noundef %15332, ptr noundef @.str.10)
  %15334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15335 = load i32, ptr %15334, align 4, !tbaa !5
  %15336 = call ptr @s2n_strerror_debug(i32 noundef %15335, ptr noundef @.str.10)
  %15337 = call ptr @__errno_location() #11
  %15338 = load i32, ptr %15337, align 4, !tbaa !5
  %15339 = call ptr @strerror(i32 noundef %15338) #10
  %15340 = call ptr @__errno_location() #11
  %15341 = load i32, ptr %15340, align 4, !tbaa !5
  %15342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15329, ptr noundef @.str.11, i32 noundef %15330, ptr noundef @.str.83, ptr noundef @.str.7, i32 noundef 573, ptr noundef %15333, ptr noundef %15336, ptr noundef %15339, i32 noundef %15341) #10
  br label %15343

15343:                                            ; preds = %15326, %15309
  call void @llvm.lifetime.end.p0(i64 4, ptr %340) #10
  br label %15344

15344:                                            ; preds = %15343
  br label %15345

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

15346:                                            ; No predecessors!
  br label %15347

15347:                                            ; preds = %15346
  br label %15348

15348:                                            ; preds = %15347, %15289
  br label %15349

15349:                                            ; preds = %15348
  br label %15350

15350:                                            ; preds = %15349
  br label %15351

15351:                                            ; preds = %15350
  %15352 = load i32, ptr @test_count, align 4, !tbaa !5
  %15353 = add nsw i32 %15352, 1
  store i32 %15353, ptr @test_count, align 4, !tbaa !5
  %15354 = load ptr, ptr %326, align 8, !tbaa !9
  %15355 = getelementptr inbounds %struct.s2n_connection, ptr %15354, i32 0, i32 51
  %15356 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %15355)
  br i1 %15356, label %15410, label %15357

15357:                                            ; preds = %15351
  br label %15358

15358:                                            ; preds = %15357
  br label %15359

15359:                                            ; preds = %15358
  call void @llvm.lifetime.start.p0(i64 4, ptr %341) #10
  %15360 = call ptr @__errno_location() #11
  %15361 = load i32, ptr %15360, align 4, !tbaa !5
  store i32 %15361, ptr %341, align 4, !tbaa !5
  %15362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15363 = call i32 @s2n_print_stacktrace(ptr noundef %15362)
  %15364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15365 = trunc i8 %15364 to i1
  br i1 %15365, label %15366, label %15388

15366:                                            ; preds = %15359
  %15367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15368 = call i32 @fileno(ptr noundef %15367) #10
  %15369 = call i32 @isatty(i32 noundef %15368) #10
  %15370 = icmp ne i32 %15369, 0
  br i1 %15370, label %15371, label %15388

15371:                                            ; preds = %15366
  %15372 = load i32, ptr %341, align 4, !tbaa !5
  %15373 = call ptr @__errno_location() #11
  store i32 %15372, ptr %15373, align 4, !tbaa !5
  %15374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15375 = load i32, ptr @test_count, align 4, !tbaa !5
  %15376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15377 = load i32, ptr %15376, align 4, !tbaa !5
  %15378 = call ptr @s2n_strerror(i32 noundef %15377, ptr noundef @.str.10)
  %15379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15380 = load i32, ptr %15379, align 4, !tbaa !5
  %15381 = call ptr @s2n_strerror_debug(i32 noundef %15380, ptr noundef @.str.10)
  %15382 = call ptr @__errno_location() #11
  %15383 = load i32, ptr %15382, align 4, !tbaa !5
  %15384 = call ptr @strerror(i32 noundef %15383) #10
  %15385 = call ptr @__errno_location() #11
  %15386 = load i32, ptr %15385, align 4, !tbaa !5
  %15387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15374, ptr noundef @.str.8, i32 noundef %15375, ptr noundef @.str.84, ptr noundef @.str.7, i32 noundef 574, ptr noundef %15378, ptr noundef %15381, ptr noundef %15384, i32 noundef %15386) #10
  br label %15405

15388:                                            ; preds = %15366, %15359
  %15389 = load i32, ptr %341, align 4, !tbaa !5
  %15390 = call ptr @__errno_location() #11
  store i32 %15389, ptr %15390, align 4, !tbaa !5
  %15391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15392 = load i32, ptr @test_count, align 4, !tbaa !5
  %15393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15394 = load i32, ptr %15393, align 4, !tbaa !5
  %15395 = call ptr @s2n_strerror(i32 noundef %15394, ptr noundef @.str.10)
  %15396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15397 = load i32, ptr %15396, align 4, !tbaa !5
  %15398 = call ptr @s2n_strerror_debug(i32 noundef %15397, ptr noundef @.str.10)
  %15399 = call ptr @__errno_location() #11
  %15400 = load i32, ptr %15399, align 4, !tbaa !5
  %15401 = call ptr @strerror(i32 noundef %15400) #10
  %15402 = call ptr @__errno_location() #11
  %15403 = load i32, ptr %15402, align 4, !tbaa !5
  %15404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15391, ptr noundef @.str.11, i32 noundef %15392, ptr noundef @.str.84, ptr noundef @.str.7, i32 noundef 574, ptr noundef %15395, ptr noundef %15398, ptr noundef %15401, i32 noundef %15403) #10
  br label %15405

15405:                                            ; preds = %15388, %15371
  call void @llvm.lifetime.end.p0(i64 4, ptr %341) #10
  br label %15406

15406:                                            ; preds = %15405
  br label %15407

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

15408:                                            ; No predecessors!
  br label %15409

15409:                                            ; preds = %15408
  br label %15410

15410:                                            ; preds = %15409, %15351
  br label %15411

15411:                                            ; preds = %15410
  br label %15412

15412:                                            ; preds = %15411
  call void @llvm.lifetime.end.p0(i64 12, ptr %336) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #10
  %15413 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %329)
  %15414 = getelementptr inbounds %struct.s2n_result, ptr %342, i32 0, i32 0
  store i32 %15413, ptr %15414, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %329) #10
  %15415 = call i32 @s2n_connection_ptr_free(ptr noundef %326)
  %15416 = getelementptr inbounds %struct.s2n_result, ptr %343, i32 0, i32 0
  store i32 %15415, ptr %15416, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %326) #10
  %15417 = call i32 @s2n_connection_ptr_free(ptr noundef %323)
  %15418 = getelementptr inbounds %struct.s2n_result, ptr %344, i32 0, i32 0
  store i32 %15417, ptr %15418, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %323) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %345) #10
  %15419 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %15419, ptr %345, align 8, !tbaa !9
  br label %15420

15420:                                            ; preds = %15412
  %15421 = load i32, ptr @test_count, align 4, !tbaa !5
  %15422 = add nsw i32 %15421, 1
  store i32 %15422, ptr @test_count, align 4, !tbaa !5
  %15423 = load ptr, ptr %345, align 8, !tbaa !9
  %15424 = icmp eq ptr %15423, null
  br i1 %15424, label %15425, label %15478

15425:                                            ; preds = %15420
  br label %15426

15426:                                            ; preds = %15425
  br label %15427

15427:                                            ; preds = %15426
  call void @llvm.lifetime.start.p0(i64 4, ptr %346) #10
  %15428 = call ptr @__errno_location() #11
  %15429 = load i32, ptr %15428, align 4, !tbaa !5
  store i32 %15429, ptr %346, align 4, !tbaa !5
  %15430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15431 = call i32 @s2n_print_stacktrace(ptr noundef %15430)
  %15432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15433 = trunc i8 %15432 to i1
  br i1 %15433, label %15434, label %15456

15434:                                            ; preds = %15427
  %15435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15436 = call i32 @fileno(ptr noundef %15435) #10
  %15437 = call i32 @isatty(i32 noundef %15436) #10
  %15438 = icmp ne i32 %15437, 0
  br i1 %15438, label %15439, label %15456

15439:                                            ; preds = %15434
  %15440 = load i32, ptr %346, align 4, !tbaa !5
  %15441 = call ptr @__errno_location() #11
  store i32 %15440, ptr %15441, align 4, !tbaa !5
  %15442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15443 = load i32, ptr @test_count, align 4, !tbaa !5
  %15444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15445 = load i32, ptr %15444, align 4, !tbaa !5
  %15446 = call ptr @s2n_strerror(i32 noundef %15445, ptr noundef @.str.10)
  %15447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15448 = load i32, ptr %15447, align 4, !tbaa !5
  %15449 = call ptr @s2n_strerror_debug(i32 noundef %15448, ptr noundef @.str.10)
  %15450 = call ptr @__errno_location() #11
  %15451 = load i32, ptr %15450, align 4, !tbaa !5
  %15452 = call ptr @strerror(i32 noundef %15451) #10
  %15453 = call ptr @__errno_location() #11
  %15454 = load i32, ptr %15453, align 4, !tbaa !5
  %15455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15442, ptr noundef @.str.8, i32 noundef %15443, ptr noundef @.str.95, ptr noundef @.str.7, i32 noundef 581, ptr noundef %15446, ptr noundef %15449, ptr noundef %15452, i32 noundef %15454) #10
  br label %15473

15456:                                            ; preds = %15434, %15427
  %15457 = load i32, ptr %346, align 4, !tbaa !5
  %15458 = call ptr @__errno_location() #11
  store i32 %15457, ptr %15458, align 4, !tbaa !5
  %15459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15460 = load i32, ptr @test_count, align 4, !tbaa !5
  %15461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15462 = load i32, ptr %15461, align 4, !tbaa !5
  %15463 = call ptr @s2n_strerror(i32 noundef %15462, ptr noundef @.str.10)
  %15464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15465 = load i32, ptr %15464, align 4, !tbaa !5
  %15466 = call ptr @s2n_strerror_debug(i32 noundef %15465, ptr noundef @.str.10)
  %15467 = call ptr @__errno_location() #11
  %15468 = load i32, ptr %15467, align 4, !tbaa !5
  %15469 = call ptr @strerror(i32 noundef %15468) #10
  %15470 = call ptr @__errno_location() #11
  %15471 = load i32, ptr %15470, align 4, !tbaa !5
  %15472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15459, ptr noundef @.str.11, i32 noundef %15460, ptr noundef @.str.95, ptr noundef @.str.7, i32 noundef 581, ptr noundef %15463, ptr noundef %15466, ptr noundef %15469, i32 noundef %15471) #10
  br label %15473

15473:                                            ; preds = %15456, %15439
  call void @llvm.lifetime.end.p0(i64 4, ptr %346) #10
  br label %15474

15474:                                            ; preds = %15473
  br label %15475

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

15476:                                            ; No predecessors!
  br label %15477

15477:                                            ; preds = %15476
  br label %15478

15478:                                            ; preds = %15477, %15420
  br label %15479

15479:                                            ; preds = %15478
  br label %15480

15480:                                            ; preds = %15479
  br label %15481

15481:                                            ; preds = %15480
  %15482 = load i32, ptr @test_count, align 4, !tbaa !5
  %15483 = add nsw i32 %15482, 1
  store i32 %15483, ptr @test_count, align 4, !tbaa !5
  %15484 = load ptr, ptr %345, align 8, !tbaa !9
  %15485 = call i32 @s2n_skip_handshake(ptr noundef %15484)
  %15486 = getelementptr inbounds %struct.s2n_result, ptr %347, i32 0, i32 0
  store i32 %15485, ptr %15486, align 4
  %15487 = getelementptr inbounds %struct.s2n_result, ptr %347, i32 0, i32 0
  %15488 = load i32, ptr %15487, align 4
  %15489 = call zeroext i1 @s2n_result_is_ok(i32 %15488)
  br i1 %15489, label %15543, label %15490

15490:                                            ; preds = %15481
  br label %15491

15491:                                            ; preds = %15490
  br label %15492

15492:                                            ; preds = %15491
  call void @llvm.lifetime.start.p0(i64 4, ptr %348) #10
  %15493 = call ptr @__errno_location() #11
  %15494 = load i32, ptr %15493, align 4, !tbaa !5
  store i32 %15494, ptr %348, align 4, !tbaa !5
  %15495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15496 = call i32 @s2n_print_stacktrace(ptr noundef %15495)
  %15497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15498 = trunc i8 %15497 to i1
  br i1 %15498, label %15499, label %15521

15499:                                            ; preds = %15492
  %15500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15501 = call i32 @fileno(ptr noundef %15500) #10
  %15502 = call i32 @isatty(i32 noundef %15501) #10
  %15503 = icmp ne i32 %15502, 0
  br i1 %15503, label %15504, label %15521

15504:                                            ; preds = %15499
  %15505 = load i32, ptr %348, align 4, !tbaa !5
  %15506 = call ptr @__errno_location() #11
  store i32 %15505, ptr %15506, align 4, !tbaa !5
  %15507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15508 = load i32, ptr @test_count, align 4, !tbaa !5
  %15509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15510 = load i32, ptr %15509, align 4, !tbaa !5
  %15511 = call ptr @s2n_strerror(i32 noundef %15510, ptr noundef @.str.10)
  %15512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15513 = load i32, ptr %15512, align 4, !tbaa !5
  %15514 = call ptr @s2n_strerror_debug(i32 noundef %15513, ptr noundef @.str.10)
  %15515 = call ptr @__errno_location() #11
  %15516 = load i32, ptr %15515, align 4, !tbaa !5
  %15517 = call ptr @strerror(i32 noundef %15516) #10
  %15518 = call ptr @__errno_location() #11
  %15519 = load i32, ptr %15518, align 4, !tbaa !5
  %15520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15507, ptr noundef @.str.8, i32 noundef %15508, ptr noundef @.str.96, ptr noundef @.str.7, i32 noundef 582, ptr noundef %15511, ptr noundef %15514, ptr noundef %15517, i32 noundef %15519) #10
  br label %15538

15521:                                            ; preds = %15499, %15492
  %15522 = load i32, ptr %348, align 4, !tbaa !5
  %15523 = call ptr @__errno_location() #11
  store i32 %15522, ptr %15523, align 4, !tbaa !5
  %15524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15525 = load i32, ptr @test_count, align 4, !tbaa !5
  %15526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15527 = load i32, ptr %15526, align 4, !tbaa !5
  %15528 = call ptr @s2n_strerror(i32 noundef %15527, ptr noundef @.str.10)
  %15529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15530 = load i32, ptr %15529, align 4, !tbaa !5
  %15531 = call ptr @s2n_strerror_debug(i32 noundef %15530, ptr noundef @.str.10)
  %15532 = call ptr @__errno_location() #11
  %15533 = load i32, ptr %15532, align 4, !tbaa !5
  %15534 = call ptr @strerror(i32 noundef %15533) #10
  %15535 = call ptr @__errno_location() #11
  %15536 = load i32, ptr %15535, align 4, !tbaa !5
  %15537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15524, ptr noundef @.str.11, i32 noundef %15525, ptr noundef @.str.96, ptr noundef @.str.7, i32 noundef 582, ptr noundef %15528, ptr noundef %15531, ptr noundef %15534, i32 noundef %15536) #10
  br label %15538

15538:                                            ; preds = %15521, %15504
  call void @llvm.lifetime.end.p0(i64 4, ptr %348) #10
  br label %15539

15539:                                            ; preds = %15538
  br label %15540

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

15541:                                            ; No predecessors!
  br label %15542

15542:                                            ; preds = %15541
  br label %15543

15543:                                            ; preds = %15542, %15481
  br label %15544

15544:                                            ; preds = %15543
  br label %15545

15545:                                            ; preds = %15544
  call void @llvm.lifetime.start.p0(i64 8, ptr %349) #10
  %15546 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %15546, ptr %349, align 8, !tbaa !9
  br label %15547

15547:                                            ; preds = %15545
  %15548 = load i32, ptr @test_count, align 4, !tbaa !5
  %15549 = add nsw i32 %15548, 1
  store i32 %15549, ptr @test_count, align 4, !tbaa !5
  %15550 = load ptr, ptr %349, align 8, !tbaa !9
  %15551 = icmp eq ptr %15550, null
  br i1 %15551, label %15552, label %15605

15552:                                            ; preds = %15547
  br label %15553

15553:                                            ; preds = %15552
  br label %15554

15554:                                            ; preds = %15553
  call void @llvm.lifetime.start.p0(i64 4, ptr %350) #10
  %15555 = call ptr @__errno_location() #11
  %15556 = load i32, ptr %15555, align 4, !tbaa !5
  store i32 %15556, ptr %350, align 4, !tbaa !5
  %15557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15558 = call i32 @s2n_print_stacktrace(ptr noundef %15557)
  %15559 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15560 = trunc i8 %15559 to i1
  br i1 %15560, label %15561, label %15583

15561:                                            ; preds = %15554
  %15562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15563 = call i32 @fileno(ptr noundef %15562) #10
  %15564 = call i32 @isatty(i32 noundef %15563) #10
  %15565 = icmp ne i32 %15564, 0
  br i1 %15565, label %15566, label %15583

15566:                                            ; preds = %15561
  %15567 = load i32, ptr %350, align 4, !tbaa !5
  %15568 = call ptr @__errno_location() #11
  store i32 %15567, ptr %15568, align 4, !tbaa !5
  %15569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15570 = load i32, ptr @test_count, align 4, !tbaa !5
  %15571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15572 = load i32, ptr %15571, align 4, !tbaa !5
  %15573 = call ptr @s2n_strerror(i32 noundef %15572, ptr noundef @.str.10)
  %15574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15575 = load i32, ptr %15574, align 4, !tbaa !5
  %15576 = call ptr @s2n_strerror_debug(i32 noundef %15575, ptr noundef @.str.10)
  %15577 = call ptr @__errno_location() #11
  %15578 = load i32, ptr %15577, align 4, !tbaa !5
  %15579 = call ptr @strerror(i32 noundef %15578) #10
  %15580 = call ptr @__errno_location() #11
  %15581 = load i32, ptr %15580, align 4, !tbaa !5
  %15582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15569, ptr noundef @.str.8, i32 noundef %15570, ptr noundef @.str.97, ptr noundef @.str.7, i32 noundef 586, ptr noundef %15573, ptr noundef %15576, ptr noundef %15579, i32 noundef %15581) #10
  br label %15600

15583:                                            ; preds = %15561, %15554
  %15584 = load i32, ptr %350, align 4, !tbaa !5
  %15585 = call ptr @__errno_location() #11
  store i32 %15584, ptr %15585, align 4, !tbaa !5
  %15586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15587 = load i32, ptr @test_count, align 4, !tbaa !5
  %15588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15589 = load i32, ptr %15588, align 4, !tbaa !5
  %15590 = call ptr @s2n_strerror(i32 noundef %15589, ptr noundef @.str.10)
  %15591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15592 = load i32, ptr %15591, align 4, !tbaa !5
  %15593 = call ptr @s2n_strerror_debug(i32 noundef %15592, ptr noundef @.str.10)
  %15594 = call ptr @__errno_location() #11
  %15595 = load i32, ptr %15594, align 4, !tbaa !5
  %15596 = call ptr @strerror(i32 noundef %15595) #10
  %15597 = call ptr @__errno_location() #11
  %15598 = load i32, ptr %15597, align 4, !tbaa !5
  %15599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15586, ptr noundef @.str.11, i32 noundef %15587, ptr noundef @.str.97, ptr noundef @.str.7, i32 noundef 586, ptr noundef %15590, ptr noundef %15593, ptr noundef %15596, i32 noundef %15598) #10
  br label %15600

15600:                                            ; preds = %15583, %15566
  call void @llvm.lifetime.end.p0(i64 4, ptr %350) #10
  br label %15601

15601:                                            ; preds = %15600
  br label %15602

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

15603:                                            ; No predecessors!
  br label %15604

15604:                                            ; preds = %15603
  br label %15605

15605:                                            ; preds = %15604, %15547
  br label %15606

15606:                                            ; preds = %15605
  br label %15607

15607:                                            ; preds = %15606
  br label %15608

15608:                                            ; preds = %15607
  %15609 = load i32, ptr @test_count, align 4, !tbaa !5
  %15610 = add nsw i32 %15609, 1
  store i32 %15610, ptr @test_count, align 4, !tbaa !5
  %15611 = load ptr, ptr %349, align 8, !tbaa !9
  %15612 = call i32 @s2n_skip_handshake(ptr noundef %15611)
  %15613 = getelementptr inbounds %struct.s2n_result, ptr %351, i32 0, i32 0
  store i32 %15612, ptr %15613, align 4
  %15614 = getelementptr inbounds %struct.s2n_result, ptr %351, i32 0, i32 0
  %15615 = load i32, ptr %15614, align 4
  %15616 = call zeroext i1 @s2n_result_is_ok(i32 %15615)
  br i1 %15616, label %15670, label %15617

15617:                                            ; preds = %15608
  br label %15618

15618:                                            ; preds = %15617
  br label %15619

15619:                                            ; preds = %15618
  call void @llvm.lifetime.start.p0(i64 4, ptr %352) #10
  %15620 = call ptr @__errno_location() #11
  %15621 = load i32, ptr %15620, align 4, !tbaa !5
  store i32 %15621, ptr %352, align 4, !tbaa !5
  %15622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15623 = call i32 @s2n_print_stacktrace(ptr noundef %15622)
  %15624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15625 = trunc i8 %15624 to i1
  br i1 %15625, label %15626, label %15648

15626:                                            ; preds = %15619
  %15627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15628 = call i32 @fileno(ptr noundef %15627) #10
  %15629 = call i32 @isatty(i32 noundef %15628) #10
  %15630 = icmp ne i32 %15629, 0
  br i1 %15630, label %15631, label %15648

15631:                                            ; preds = %15626
  %15632 = load i32, ptr %352, align 4, !tbaa !5
  %15633 = call ptr @__errno_location() #11
  store i32 %15632, ptr %15633, align 4, !tbaa !5
  %15634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15635 = load i32, ptr @test_count, align 4, !tbaa !5
  %15636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15637 = load i32, ptr %15636, align 4, !tbaa !5
  %15638 = call ptr @s2n_strerror(i32 noundef %15637, ptr noundef @.str.10)
  %15639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15640 = load i32, ptr %15639, align 4, !tbaa !5
  %15641 = call ptr @s2n_strerror_debug(i32 noundef %15640, ptr noundef @.str.10)
  %15642 = call ptr @__errno_location() #11
  %15643 = load i32, ptr %15642, align 4, !tbaa !5
  %15644 = call ptr @strerror(i32 noundef %15643) #10
  %15645 = call ptr @__errno_location() #11
  %15646 = load i32, ptr %15645, align 4, !tbaa !5
  %15647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15634, ptr noundef @.str.8, i32 noundef %15635, ptr noundef @.str.98, ptr noundef @.str.7, i32 noundef 587, ptr noundef %15638, ptr noundef %15641, ptr noundef %15644, i32 noundef %15646) #10
  br label %15665

15648:                                            ; preds = %15626, %15619
  %15649 = load i32, ptr %352, align 4, !tbaa !5
  %15650 = call ptr @__errno_location() #11
  store i32 %15649, ptr %15650, align 4, !tbaa !5
  %15651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15652 = load i32, ptr @test_count, align 4, !tbaa !5
  %15653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15654 = load i32, ptr %15653, align 4, !tbaa !5
  %15655 = call ptr @s2n_strerror(i32 noundef %15654, ptr noundef @.str.10)
  %15656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15657 = load i32, ptr %15656, align 4, !tbaa !5
  %15658 = call ptr @s2n_strerror_debug(i32 noundef %15657, ptr noundef @.str.10)
  %15659 = call ptr @__errno_location() #11
  %15660 = load i32, ptr %15659, align 4, !tbaa !5
  %15661 = call ptr @strerror(i32 noundef %15660) #10
  %15662 = call ptr @__errno_location() #11
  %15663 = load i32, ptr %15662, align 4, !tbaa !5
  %15664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15651, ptr noundef @.str.11, i32 noundef %15652, ptr noundef @.str.98, ptr noundef @.str.7, i32 noundef 587, ptr noundef %15655, ptr noundef %15658, ptr noundef %15661, i32 noundef %15663) #10
  br label %15665

15665:                                            ; preds = %15648, %15631
  call void @llvm.lifetime.end.p0(i64 4, ptr %352) #10
  br label %15666

15666:                                            ; preds = %15665
  br label %15667

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

15668:                                            ; No predecessors!
  br label %15669

15669:                                            ; preds = %15668
  br label %15670

15670:                                            ; preds = %15669, %15608
  br label %15671

15671:                                            ; preds = %15670
  br label %15672

15672:                                            ; preds = %15671
  call void @llvm.lifetime.start.p0(i64 8, ptr %353) #10
  call void @llvm.memset.p0.i64(ptr align 4 %353, i8 0, i64 8, i1 false)
  br label %15673

15673:                                            ; preds = %15672
  %15674 = load i32, ptr @test_count, align 4, !tbaa !5
  %15675 = add nsw i32 %15674, 1
  store i32 %15675, ptr @test_count, align 4, !tbaa !5
  %15676 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %353)
  %15677 = icmp eq i32 %15676, -1
  br i1 %15677, label %15678, label %15731

15678:                                            ; preds = %15673
  br label %15679

15679:                                            ; preds = %15678
  br label %15680

15680:                                            ; preds = %15679
  call void @llvm.lifetime.start.p0(i64 4, ptr %354) #10
  %15681 = call ptr @__errno_location() #11
  %15682 = load i32, ptr %15681, align 4, !tbaa !5
  store i32 %15682, ptr %354, align 4, !tbaa !5
  %15683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15684 = call i32 @s2n_print_stacktrace(ptr noundef %15683)
  %15685 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15686 = trunc i8 %15685 to i1
  br i1 %15686, label %15687, label %15709

15687:                                            ; preds = %15680
  %15688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15689 = call i32 @fileno(ptr noundef %15688) #10
  %15690 = call i32 @isatty(i32 noundef %15689) #10
  %15691 = icmp ne i32 %15690, 0
  br i1 %15691, label %15692, label %15709

15692:                                            ; preds = %15687
  %15693 = load i32, ptr %354, align 4, !tbaa !5
  %15694 = call ptr @__errno_location() #11
  store i32 %15693, ptr %15694, align 4, !tbaa !5
  %15695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15696 = load i32, ptr @test_count, align 4, !tbaa !5
  %15697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15698 = load i32, ptr %15697, align 4, !tbaa !5
  %15699 = call ptr @s2n_strerror(i32 noundef %15698, ptr noundef @.str.10)
  %15700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15701 = load i32, ptr %15700, align 4, !tbaa !5
  %15702 = call ptr @s2n_strerror_debug(i32 noundef %15701, ptr noundef @.str.10)
  %15703 = call ptr @__errno_location() #11
  %15704 = load i32, ptr %15703, align 4, !tbaa !5
  %15705 = call ptr @strerror(i32 noundef %15704) #10
  %15706 = call ptr @__errno_location() #11
  %15707 = load i32, ptr %15706, align 4, !tbaa !5
  %15708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15695, ptr noundef @.str.8, i32 noundef %15696, ptr noundef @.str.99, ptr noundef @.str.7, i32 noundef 590, ptr noundef %15699, ptr noundef %15702, ptr noundef %15705, i32 noundef %15707) #10
  br label %15726

15709:                                            ; preds = %15687, %15680
  %15710 = load i32, ptr %354, align 4, !tbaa !5
  %15711 = call ptr @__errno_location() #11
  store i32 %15710, ptr %15711, align 4, !tbaa !5
  %15712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15713 = load i32, ptr @test_count, align 4, !tbaa !5
  %15714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15715 = load i32, ptr %15714, align 4, !tbaa !5
  %15716 = call ptr @s2n_strerror(i32 noundef %15715, ptr noundef @.str.10)
  %15717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15718 = load i32, ptr %15717, align 4, !tbaa !5
  %15719 = call ptr @s2n_strerror_debug(i32 noundef %15718, ptr noundef @.str.10)
  %15720 = call ptr @__errno_location() #11
  %15721 = load i32, ptr %15720, align 4, !tbaa !5
  %15722 = call ptr @strerror(i32 noundef %15721) #10
  %15723 = call ptr @__errno_location() #11
  %15724 = load i32, ptr %15723, align 4, !tbaa !5
  %15725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15712, ptr noundef @.str.11, i32 noundef %15713, ptr noundef @.str.99, ptr noundef @.str.7, i32 noundef 590, ptr noundef %15716, ptr noundef %15719, ptr noundef %15722, i32 noundef %15724) #10
  br label %15726

15726:                                            ; preds = %15709, %15692
  call void @llvm.lifetime.end.p0(i64 4, ptr %354) #10
  br label %15727

15727:                                            ; preds = %15726
  br label %15728

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

15729:                                            ; No predecessors!
  br label %15730

15730:                                            ; preds = %15729
  br label %15731

15731:                                            ; preds = %15730, %15673
  br label %15732

15732:                                            ; preds = %15731
  br label %15733

15733:                                            ; preds = %15732
  br label %15734

15734:                                            ; preds = %15733
  %15735 = load i32, ptr @test_count, align 4, !tbaa !5
  %15736 = add nsw i32 %15735, 1
  store i32 %15736, ptr @test_count, align 4, !tbaa !5
  %15737 = load ptr, ptr %349, align 8, !tbaa !9
  %15738 = load ptr, ptr %345, align 8, !tbaa !9
  %15739 = call i32 @s2n_connections_set_io_pair(ptr noundef %15737, ptr noundef %15738, ptr noundef %353)
  %15740 = icmp eq i32 %15739, -1
  br i1 %15740, label %15741, label %15794

15741:                                            ; preds = %15734
  br label %15742

15742:                                            ; preds = %15741
  br label %15743

15743:                                            ; preds = %15742
  call void @llvm.lifetime.start.p0(i64 4, ptr %355) #10
  %15744 = call ptr @__errno_location() #11
  %15745 = load i32, ptr %15744, align 4, !tbaa !5
  store i32 %15745, ptr %355, align 4, !tbaa !5
  %15746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15747 = call i32 @s2n_print_stacktrace(ptr noundef %15746)
  %15748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15749 = trunc i8 %15748 to i1
  br i1 %15749, label %15750, label %15772

15750:                                            ; preds = %15743
  %15751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15752 = call i32 @fileno(ptr noundef %15751) #10
  %15753 = call i32 @isatty(i32 noundef %15752) #10
  %15754 = icmp ne i32 %15753, 0
  br i1 %15754, label %15755, label %15772

15755:                                            ; preds = %15750
  %15756 = load i32, ptr %355, align 4, !tbaa !5
  %15757 = call ptr @__errno_location() #11
  store i32 %15756, ptr %15757, align 4, !tbaa !5
  %15758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15759 = load i32, ptr @test_count, align 4, !tbaa !5
  %15760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15761 = load i32, ptr %15760, align 4, !tbaa !5
  %15762 = call ptr @s2n_strerror(i32 noundef %15761, ptr noundef @.str.10)
  %15763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15764 = load i32, ptr %15763, align 4, !tbaa !5
  %15765 = call ptr @s2n_strerror_debug(i32 noundef %15764, ptr noundef @.str.10)
  %15766 = call ptr @__errno_location() #11
  %15767 = load i32, ptr %15766, align 4, !tbaa !5
  %15768 = call ptr @strerror(i32 noundef %15767) #10
  %15769 = call ptr @__errno_location() #11
  %15770 = load i32, ptr %15769, align 4, !tbaa !5
  %15771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15758, ptr noundef @.str.8, i32 noundef %15759, ptr noundef @.str.100, ptr noundef @.str.7, i32 noundef 591, ptr noundef %15762, ptr noundef %15765, ptr noundef %15768, i32 noundef %15770) #10
  br label %15789

15772:                                            ; preds = %15750, %15743
  %15773 = load i32, ptr %355, align 4, !tbaa !5
  %15774 = call ptr @__errno_location() #11
  store i32 %15773, ptr %15774, align 4, !tbaa !5
  %15775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15776 = load i32, ptr @test_count, align 4, !tbaa !5
  %15777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15778 = load i32, ptr %15777, align 4, !tbaa !5
  %15779 = call ptr @s2n_strerror(i32 noundef %15778, ptr noundef @.str.10)
  %15780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15781 = load i32, ptr %15780, align 4, !tbaa !5
  %15782 = call ptr @s2n_strerror_debug(i32 noundef %15781, ptr noundef @.str.10)
  %15783 = call ptr @__errno_location() #11
  %15784 = load i32, ptr %15783, align 4, !tbaa !5
  %15785 = call ptr @strerror(i32 noundef %15784) #10
  %15786 = call ptr @__errno_location() #11
  %15787 = load i32, ptr %15786, align 4, !tbaa !5
  %15788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15775, ptr noundef @.str.11, i32 noundef %15776, ptr noundef @.str.100, ptr noundef @.str.7, i32 noundef 591, ptr noundef %15779, ptr noundef %15782, ptr noundef %15785, i32 noundef %15787) #10
  br label %15789

15789:                                            ; preds = %15772, %15755
  call void @llvm.lifetime.end.p0(i64 4, ptr %355) #10
  br label %15790

15790:                                            ; preds = %15789
  br label %15791

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

15792:                                            ; No predecessors!
  br label %15793

15793:                                            ; preds = %15792
  br label %15794

15794:                                            ; preds = %15793, %15734
  br label %15795

15795:                                            ; preds = %15794
  br label %15796

15796:                                            ; preds = %15795
  call void @llvm.lifetime.start.p0(i64 4, ptr %356) #10
  store i32 0, ptr %356, align 4, !tbaa !5
  br label %15797

15797:                                            ; preds = %15796
  br label %15798

15798:                                            ; preds = %15797
  br label %15799

15799:                                            ; preds = %15798
  %15800 = load i32, ptr @test_count, align 4, !tbaa !5
  %15801 = add nsw i32 %15800, 1
  store i32 %15801, ptr @test_count, align 4, !tbaa !5
  %15802 = load ptr, ptr %349, align 8, !tbaa !9
  %15803 = call i32 @s2n_shutdown(ptr noundef %15802, ptr noundef %356)
  %15804 = icmp eq i32 %15803, -1
  br i1 %15804, label %15858, label %15805

15805:                                            ; preds = %15799
  br label %15806

15806:                                            ; preds = %15805
  br label %15807

15807:                                            ; preds = %15806
  call void @llvm.lifetime.start.p0(i64 4, ptr %357) #10
  %15808 = call ptr @__errno_location() #11
  %15809 = load i32, ptr %15808, align 4, !tbaa !5
  store i32 %15809, ptr %357, align 4, !tbaa !5
  %15810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15811 = call i32 @s2n_print_stacktrace(ptr noundef %15810)
  %15812 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15813 = trunc i8 %15812 to i1
  br i1 %15813, label %15814, label %15836

15814:                                            ; preds = %15807
  %15815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15816 = call i32 @fileno(ptr noundef %15815) #10
  %15817 = call i32 @isatty(i32 noundef %15816) #10
  %15818 = icmp ne i32 %15817, 0
  br i1 %15818, label %15819, label %15836

15819:                                            ; preds = %15814
  %15820 = load i32, ptr %357, align 4, !tbaa !5
  %15821 = call ptr @__errno_location() #11
  store i32 %15820, ptr %15821, align 4, !tbaa !5
  %15822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15823 = load i32, ptr @test_count, align 4, !tbaa !5
  %15824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15825 = load i32, ptr %15824, align 4, !tbaa !5
  %15826 = call ptr @s2n_strerror(i32 noundef %15825, ptr noundef @.str.10)
  %15827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15828 = load i32, ptr %15827, align 4, !tbaa !5
  %15829 = call ptr @s2n_strerror_debug(i32 noundef %15828, ptr noundef @.str.10)
  %15830 = call ptr @__errno_location() #11
  %15831 = load i32, ptr %15830, align 4, !tbaa !5
  %15832 = call ptr @strerror(i32 noundef %15831) #10
  %15833 = call ptr @__errno_location() #11
  %15834 = load i32, ptr %15833, align 4, !tbaa !5
  %15835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15822, ptr noundef @.str.8, i32 noundef %15823, ptr noundef @.str.101, ptr noundef @.str.7, i32 noundef 595, ptr noundef %15826, ptr noundef %15829, ptr noundef %15832, i32 noundef %15834) #10
  br label %15853

15836:                                            ; preds = %15814, %15807
  %15837 = load i32, ptr %357, align 4, !tbaa !5
  %15838 = call ptr @__errno_location() #11
  store i32 %15837, ptr %15838, align 4, !tbaa !5
  %15839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15840 = load i32, ptr @test_count, align 4, !tbaa !5
  %15841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15842 = load i32, ptr %15841, align 4, !tbaa !5
  %15843 = call ptr @s2n_strerror(i32 noundef %15842, ptr noundef @.str.10)
  %15844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15845 = load i32, ptr %15844, align 4, !tbaa !5
  %15846 = call ptr @s2n_strerror_debug(i32 noundef %15845, ptr noundef @.str.10)
  %15847 = call ptr @__errno_location() #11
  %15848 = load i32, ptr %15847, align 4, !tbaa !5
  %15849 = call ptr @strerror(i32 noundef %15848) #10
  %15850 = call ptr @__errno_location() #11
  %15851 = load i32, ptr %15850, align 4, !tbaa !5
  %15852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15839, ptr noundef @.str.11, i32 noundef %15840, ptr noundef @.str.101, ptr noundef @.str.7, i32 noundef 595, ptr noundef %15843, ptr noundef %15846, ptr noundef %15849, i32 noundef %15851) #10
  br label %15853

15853:                                            ; preds = %15836, %15819
  call void @llvm.lifetime.end.p0(i64 4, ptr %357) #10
  br label %15854

15854:                                            ; preds = %15853
  br label %15855

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

15856:                                            ; No predecessors!
  br label %15857

15857:                                            ; preds = %15856
  br label %15858

15858:                                            ; preds = %15857, %15799
  br label %15859

15859:                                            ; preds = %15858
  br label %15860

15860:                                            ; preds = %15859
  br label %15861

15861:                                            ; preds = %15860
  %15862 = load i32, ptr @test_count, align 4, !tbaa !5
  %15863 = add nsw i32 %15862, 1
  store i32 %15863, ptr @test_count, align 4, !tbaa !5
  %15864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15865 = load i32, ptr %15864, align 4, !tbaa !5
  %15866 = icmp eq i32 %15865, 201326592
  br i1 %15866, label %15920, label %15867

15867:                                            ; preds = %15861
  br label %15868

15868:                                            ; preds = %15867
  br label %15869

15869:                                            ; preds = %15868
  call void @llvm.lifetime.start.p0(i64 4, ptr %358) #10
  %15870 = call ptr @__errno_location() #11
  %15871 = load i32, ptr %15870, align 4, !tbaa !5
  store i32 %15871, ptr %358, align 4, !tbaa !5
  %15872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15873 = call i32 @s2n_print_stacktrace(ptr noundef %15872)
  %15874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15875 = trunc i8 %15874 to i1
  br i1 %15875, label %15876, label %15898

15876:                                            ; preds = %15869
  %15877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15878 = call i32 @fileno(ptr noundef %15877) #10
  %15879 = call i32 @isatty(i32 noundef %15878) #10
  %15880 = icmp ne i32 %15879, 0
  br i1 %15880, label %15881, label %15898

15881:                                            ; preds = %15876
  %15882 = load i32, ptr %358, align 4, !tbaa !5
  %15883 = call ptr @__errno_location() #11
  store i32 %15882, ptr %15883, align 4, !tbaa !5
  %15884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15885 = load i32, ptr @test_count, align 4, !tbaa !5
  %15886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15887 = load i32, ptr %15886, align 4, !tbaa !5
  %15888 = call ptr @s2n_strerror(i32 noundef %15887, ptr noundef @.str.10)
  %15889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15890 = load i32, ptr %15889, align 4, !tbaa !5
  %15891 = call ptr @s2n_strerror_debug(i32 noundef %15890, ptr noundef @.str.10)
  %15892 = call ptr @__errno_location() #11
  %15893 = load i32, ptr %15892, align 4, !tbaa !5
  %15894 = call ptr @strerror(i32 noundef %15893) #10
  %15895 = call ptr @__errno_location() #11
  %15896 = load i32, ptr %15895, align 4, !tbaa !5
  %15897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15884, ptr noundef @.str.8, i32 noundef %15885, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 595, ptr noundef %15888, ptr noundef %15891, ptr noundef %15894, i32 noundef %15896) #10
  br label %15915

15898:                                            ; preds = %15876, %15869
  %15899 = load i32, ptr %358, align 4, !tbaa !5
  %15900 = call ptr @__errno_location() #11
  store i32 %15899, ptr %15900, align 4, !tbaa !5
  %15901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15902 = load i32, ptr @test_count, align 4, !tbaa !5
  %15903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15904 = load i32, ptr %15903, align 4, !tbaa !5
  %15905 = call ptr @s2n_strerror(i32 noundef %15904, ptr noundef @.str.10)
  %15906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15907 = load i32, ptr %15906, align 4, !tbaa !5
  %15908 = call ptr @s2n_strerror_debug(i32 noundef %15907, ptr noundef @.str.10)
  %15909 = call ptr @__errno_location() #11
  %15910 = load i32, ptr %15909, align 4, !tbaa !5
  %15911 = call ptr @strerror(i32 noundef %15910) #10
  %15912 = call ptr @__errno_location() #11
  %15913 = load i32, ptr %15912, align 4, !tbaa !5
  %15914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15901, ptr noundef @.str.11, i32 noundef %15902, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 595, ptr noundef %15905, ptr noundef %15908, ptr noundef %15911, i32 noundef %15913) #10
  br label %15915

15915:                                            ; preds = %15898, %15881
  call void @llvm.lifetime.end.p0(i64 4, ptr %358) #10
  br label %15916

15916:                                            ; preds = %15915
  br label %15917

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

15918:                                            ; No predecessors!
  br label %15919

15919:                                            ; preds = %15918
  br label %15920

15920:                                            ; preds = %15919, %15861
  br label %15921

15921:                                            ; preds = %15920
  br label %15922

15922:                                            ; preds = %15921
  br label %15923

15923:                                            ; preds = %15922
  %15924 = load i32, ptr @test_count, align 4, !tbaa !5
  %15925 = add nsw i32 %15924, 1
  store i32 %15925, ptr @test_count, align 4, !tbaa !5
  %15926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15927 = load i32, ptr %15926, align 4, !tbaa !5
  %15928 = call ptr @s2n_strerror_debug(i32 noundef %15927, ptr noundef @.str.10)
  %15929 = icmp eq ptr %15928, null
  br i1 %15929, label %15930, label %15983

15930:                                            ; preds = %15923
  br label %15931

15931:                                            ; preds = %15930
  br label %15932

15932:                                            ; preds = %15931
  call void @llvm.lifetime.start.p0(i64 4, ptr %359) #10
  %15933 = call ptr @__errno_location() #11
  %15934 = load i32, ptr %15933, align 4, !tbaa !5
  store i32 %15934, ptr %359, align 4, !tbaa !5
  %15935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15936 = call i32 @s2n_print_stacktrace(ptr noundef %15935)
  %15937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15938 = trunc i8 %15937 to i1
  br i1 %15938, label %15939, label %15961

15939:                                            ; preds = %15932
  %15940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15941 = call i32 @fileno(ptr noundef %15940) #10
  %15942 = call i32 @isatty(i32 noundef %15941) #10
  %15943 = icmp ne i32 %15942, 0
  br i1 %15943, label %15944, label %15961

15944:                                            ; preds = %15939
  %15945 = load i32, ptr %359, align 4, !tbaa !5
  %15946 = call ptr @__errno_location() #11
  store i32 %15945, ptr %15946, align 4, !tbaa !5
  %15947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15948 = load i32, ptr @test_count, align 4, !tbaa !5
  %15949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15950 = load i32, ptr %15949, align 4, !tbaa !5
  %15951 = call ptr @s2n_strerror(i32 noundef %15950, ptr noundef @.str.10)
  %15952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15953 = load i32, ptr %15952, align 4, !tbaa !5
  %15954 = call ptr @s2n_strerror_debug(i32 noundef %15953, ptr noundef @.str.10)
  %15955 = call ptr @__errno_location() #11
  %15956 = load i32, ptr %15955, align 4, !tbaa !5
  %15957 = call ptr @strerror(i32 noundef %15956) #10
  %15958 = call ptr @__errno_location() #11
  %15959 = load i32, ptr %15958, align 4, !tbaa !5
  %15960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15947, ptr noundef @.str.8, i32 noundef %15948, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 595, ptr noundef %15951, ptr noundef %15954, ptr noundef %15957, i32 noundef %15959) #10
  br label %15978

15961:                                            ; preds = %15939, %15932
  %15962 = load i32, ptr %359, align 4, !tbaa !5
  %15963 = call ptr @__errno_location() #11
  store i32 %15962, ptr %15963, align 4, !tbaa !5
  %15964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15965 = load i32, ptr @test_count, align 4, !tbaa !5
  %15966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15967 = load i32, ptr %15966, align 4, !tbaa !5
  %15968 = call ptr @s2n_strerror(i32 noundef %15967, ptr noundef @.str.10)
  %15969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15970 = load i32, ptr %15969, align 4, !tbaa !5
  %15971 = call ptr @s2n_strerror_debug(i32 noundef %15970, ptr noundef @.str.10)
  %15972 = call ptr @__errno_location() #11
  %15973 = load i32, ptr %15972, align 4, !tbaa !5
  %15974 = call ptr @strerror(i32 noundef %15973) #10
  %15975 = call ptr @__errno_location() #11
  %15976 = load i32, ptr %15975, align 4, !tbaa !5
  %15977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15964, ptr noundef @.str.11, i32 noundef %15965, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 595, ptr noundef %15968, ptr noundef %15971, ptr noundef %15974, i32 noundef %15976) #10
  br label %15978

15978:                                            ; preds = %15961, %15944
  call void @llvm.lifetime.end.p0(i64 4, ptr %359) #10
  br label %15979

15979:                                            ; preds = %15978
  br label %15980

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

15981:                                            ; No predecessors!
  br label %15982

15982:                                            ; preds = %15981
  br label %15983

15983:                                            ; preds = %15982, %15923
  br label %15984

15984:                                            ; preds = %15983
  br label %15985

15985:                                            ; preds = %15984
  br label %15986

15986:                                            ; preds = %15985
  br label %15987

15987:                                            ; preds = %15986
  br label %15988

15988:                                            ; preds = %15987
  %15989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15989, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15990 = call ptr @__errno_location() #11
  store i32 0, ptr %15990, align 4, !tbaa !5
  br label %15991

15991:                                            ; preds = %15988
  br label %15992

15992:                                            ; preds = %15991
  br label %15993

15993:                                            ; preds = %15992
  br label %15994

15994:                                            ; preds = %15993
  br label %15995

15995:                                            ; preds = %15994
  %15996 = load i32, ptr @test_count, align 4, !tbaa !5
  %15997 = add nsw i32 %15996, 1
  store i32 %15997, ptr @test_count, align 4, !tbaa !5
  %15998 = load i32, ptr %356, align 4, !tbaa !5
  %15999 = icmp eq i32 %15998, 1
  br i1 %15999, label %16053, label %16000

16000:                                            ; preds = %15995
  br label %16001

16001:                                            ; preds = %16000
  br label %16002

16002:                                            ; preds = %16001
  call void @llvm.lifetime.start.p0(i64 4, ptr %360) #10
  %16003 = call ptr @__errno_location() #11
  %16004 = load i32, ptr %16003, align 4, !tbaa !5
  store i32 %16004, ptr %360, align 4, !tbaa !5
  %16005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16006 = call i32 @s2n_print_stacktrace(ptr noundef %16005)
  %16007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16008 = trunc i8 %16007 to i1
  br i1 %16008, label %16009, label %16031

16009:                                            ; preds = %16002
  %16010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16011 = call i32 @fileno(ptr noundef %16010) #10
  %16012 = call i32 @isatty(i32 noundef %16011) #10
  %16013 = icmp ne i32 %16012, 0
  br i1 %16013, label %16014, label %16031

16014:                                            ; preds = %16009
  %16015 = load i32, ptr %360, align 4, !tbaa !5
  %16016 = call ptr @__errno_location() #11
  store i32 %16015, ptr %16016, align 4, !tbaa !5
  %16017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16018 = load i32, ptr @test_count, align 4, !tbaa !5
  %16019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16020 = load i32, ptr %16019, align 4, !tbaa !5
  %16021 = call ptr @s2n_strerror(i32 noundef %16020, ptr noundef @.str.10)
  %16022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16023 = load i32, ptr %16022, align 4, !tbaa !5
  %16024 = call ptr @s2n_strerror_debug(i32 noundef %16023, ptr noundef @.str.10)
  %16025 = call ptr @__errno_location() #11
  %16026 = load i32, ptr %16025, align 4, !tbaa !5
  %16027 = call ptr @strerror(i32 noundef %16026) #10
  %16028 = call ptr @__errno_location() #11
  %16029 = load i32, ptr %16028, align 4, !tbaa !5
  %16030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16017, ptr noundef @.str.8, i32 noundef %16018, ptr noundef @.str.45, ptr noundef @.str.7, i32 noundef 596, ptr noundef %16021, ptr noundef %16024, ptr noundef %16027, i32 noundef %16029) #10
  br label %16048

16031:                                            ; preds = %16009, %16002
  %16032 = load i32, ptr %360, align 4, !tbaa !5
  %16033 = call ptr @__errno_location() #11
  store i32 %16032, ptr %16033, align 4, !tbaa !5
  %16034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16035 = load i32, ptr @test_count, align 4, !tbaa !5
  %16036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16037 = load i32, ptr %16036, align 4, !tbaa !5
  %16038 = call ptr @s2n_strerror(i32 noundef %16037, ptr noundef @.str.10)
  %16039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16040 = load i32, ptr %16039, align 4, !tbaa !5
  %16041 = call ptr @s2n_strerror_debug(i32 noundef %16040, ptr noundef @.str.10)
  %16042 = call ptr @__errno_location() #11
  %16043 = load i32, ptr %16042, align 4, !tbaa !5
  %16044 = call ptr @strerror(i32 noundef %16043) #10
  %16045 = call ptr @__errno_location() #11
  %16046 = load i32, ptr %16045, align 4, !tbaa !5
  %16047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16034, ptr noundef @.str.11, i32 noundef %16035, ptr noundef @.str.45, ptr noundef @.str.7, i32 noundef 596, ptr noundef %16038, ptr noundef %16041, ptr noundef %16044, i32 noundef %16046) #10
  br label %16048

16048:                                            ; preds = %16031, %16014
  call void @llvm.lifetime.end.p0(i64 4, ptr %360) #10
  br label %16049

16049:                                            ; preds = %16048
  br label %16050

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

16051:                                            ; No predecessors!
  br label %16052

16052:                                            ; preds = %16051
  br label %16053

16053:                                            ; preds = %16052, %15995
  br label %16054

16054:                                            ; preds = %16053
  br label %16055

16055:                                            ; preds = %16054
  br label %16056

16056:                                            ; preds = %16055
  %16057 = load i32, ptr @test_count, align 4, !tbaa !5
  %16058 = add nsw i32 %16057, 1
  store i32 %16058, ptr @test_count, align 4, !tbaa !5
  %16059 = load ptr, ptr %345, align 8, !tbaa !9
  %16060 = call i32 @s2n_shutdown(ptr noundef %16059, ptr noundef %356)
  %16061 = icmp eq i32 %16060, -1
  br i1 %16061, label %16062, label %16115

16062:                                            ; preds = %16056
  br label %16063

16063:                                            ; preds = %16062
  br label %16064

16064:                                            ; preds = %16063
  call void @llvm.lifetime.start.p0(i64 4, ptr %361) #10
  %16065 = call ptr @__errno_location() #11
  %16066 = load i32, ptr %16065, align 4, !tbaa !5
  store i32 %16066, ptr %361, align 4, !tbaa !5
  %16067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16068 = call i32 @s2n_print_stacktrace(ptr noundef %16067)
  %16069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16070 = trunc i8 %16069 to i1
  br i1 %16070, label %16071, label %16093

16071:                                            ; preds = %16064
  %16072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16073 = call i32 @fileno(ptr noundef %16072) #10
  %16074 = call i32 @isatty(i32 noundef %16073) #10
  %16075 = icmp ne i32 %16074, 0
  br i1 %16075, label %16076, label %16093

16076:                                            ; preds = %16071
  %16077 = load i32, ptr %361, align 4, !tbaa !5
  %16078 = call ptr @__errno_location() #11
  store i32 %16077, ptr %16078, align 4, !tbaa !5
  %16079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16080 = load i32, ptr @test_count, align 4, !tbaa !5
  %16081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16082 = load i32, ptr %16081, align 4, !tbaa !5
  %16083 = call ptr @s2n_strerror(i32 noundef %16082, ptr noundef @.str.10)
  %16084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16085 = load i32, ptr %16084, align 4, !tbaa !5
  %16086 = call ptr @s2n_strerror_debug(i32 noundef %16085, ptr noundef @.str.10)
  %16087 = call ptr @__errno_location() #11
  %16088 = load i32, ptr %16087, align 4, !tbaa !5
  %16089 = call ptr @strerror(i32 noundef %16088) #10
  %16090 = call ptr @__errno_location() #11
  %16091 = load i32, ptr %16090, align 4, !tbaa !5
  %16092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16079, ptr noundef @.str.8, i32 noundef %16080, ptr noundef @.str.102, ptr noundef @.str.7, i32 noundef 602, ptr noundef %16083, ptr noundef %16086, ptr noundef %16089, i32 noundef %16091) #10
  br label %16110

16093:                                            ; preds = %16071, %16064
  %16094 = load i32, ptr %361, align 4, !tbaa !5
  %16095 = call ptr @__errno_location() #11
  store i32 %16094, ptr %16095, align 4, !tbaa !5
  %16096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16097 = load i32, ptr @test_count, align 4, !tbaa !5
  %16098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16099 = load i32, ptr %16098, align 4, !tbaa !5
  %16100 = call ptr @s2n_strerror(i32 noundef %16099, ptr noundef @.str.10)
  %16101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16102 = load i32, ptr %16101, align 4, !tbaa !5
  %16103 = call ptr @s2n_strerror_debug(i32 noundef %16102, ptr noundef @.str.10)
  %16104 = call ptr @__errno_location() #11
  %16105 = load i32, ptr %16104, align 4, !tbaa !5
  %16106 = call ptr @strerror(i32 noundef %16105) #10
  %16107 = call ptr @__errno_location() #11
  %16108 = load i32, ptr %16107, align 4, !tbaa !5
  %16109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16096, ptr noundef @.str.11, i32 noundef %16097, ptr noundef @.str.102, ptr noundef @.str.7, i32 noundef 602, ptr noundef %16100, ptr noundef %16103, ptr noundef %16106, i32 noundef %16108) #10
  br label %16110

16110:                                            ; preds = %16093, %16076
  call void @llvm.lifetime.end.p0(i64 4, ptr %361) #10
  br label %16111

16111:                                            ; preds = %16110
  br label %16112

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

16113:                                            ; No predecessors!
  br label %16114

16114:                                            ; preds = %16113
  br label %16115

16115:                                            ; preds = %16114, %16056
  br label %16116

16116:                                            ; preds = %16115
  br label %16117

16117:                                            ; preds = %16116
  br label %16118

16118:                                            ; preds = %16117
  %16119 = load i32, ptr @test_count, align 4, !tbaa !5
  %16120 = add nsw i32 %16119, 1
  store i32 %16120, ptr @test_count, align 4, !tbaa !5
  %16121 = call i32 @s2n_io_pair_close_one_end(ptr noundef %353, i32 noundef 0)
  %16122 = icmp eq i32 %16121, -1
  br i1 %16122, label %16123, label %16176

16123:                                            ; preds = %16118
  br label %16124

16124:                                            ; preds = %16123
  br label %16125

16125:                                            ; preds = %16124
  call void @llvm.lifetime.start.p0(i64 4, ptr %362) #10
  %16126 = call ptr @__errno_location() #11
  %16127 = load i32, ptr %16126, align 4, !tbaa !5
  store i32 %16127, ptr %362, align 4, !tbaa !5
  %16128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16129 = call i32 @s2n_print_stacktrace(ptr noundef %16128)
  %16130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16131 = trunc i8 %16130 to i1
  br i1 %16131, label %16132, label %16154

16132:                                            ; preds = %16125
  %16133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16134 = call i32 @fileno(ptr noundef %16133) #10
  %16135 = call i32 @isatty(i32 noundef %16134) #10
  %16136 = icmp ne i32 %16135, 0
  br i1 %16136, label %16137, label %16154

16137:                                            ; preds = %16132
  %16138 = load i32, ptr %362, align 4, !tbaa !5
  %16139 = call ptr @__errno_location() #11
  store i32 %16138, ptr %16139, align 4, !tbaa !5
  %16140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16141 = load i32, ptr @test_count, align 4, !tbaa !5
  %16142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16143 = load i32, ptr %16142, align 4, !tbaa !5
  %16144 = call ptr @s2n_strerror(i32 noundef %16143, ptr noundef @.str.10)
  %16145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16146 = load i32, ptr %16145, align 4, !tbaa !5
  %16147 = call ptr @s2n_strerror_debug(i32 noundef %16146, ptr noundef @.str.10)
  %16148 = call ptr @__errno_location() #11
  %16149 = load i32, ptr %16148, align 4, !tbaa !5
  %16150 = call ptr @strerror(i32 noundef %16149) #10
  %16151 = call ptr @__errno_location() #11
  %16152 = load i32, ptr %16151, align 4, !tbaa !5
  %16153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16140, ptr noundef @.str.8, i32 noundef %16141, ptr noundef @.str.103, ptr noundef @.str.7, i32 noundef 603, ptr noundef %16144, ptr noundef %16147, ptr noundef %16150, i32 noundef %16152) #10
  br label %16171

16154:                                            ; preds = %16132, %16125
  %16155 = load i32, ptr %362, align 4, !tbaa !5
  %16156 = call ptr @__errno_location() #11
  store i32 %16155, ptr %16156, align 4, !tbaa !5
  %16157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16158 = load i32, ptr @test_count, align 4, !tbaa !5
  %16159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16160 = load i32, ptr %16159, align 4, !tbaa !5
  %16161 = call ptr @s2n_strerror(i32 noundef %16160, ptr noundef @.str.10)
  %16162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16163 = load i32, ptr %16162, align 4, !tbaa !5
  %16164 = call ptr @s2n_strerror_debug(i32 noundef %16163, ptr noundef @.str.10)
  %16165 = call ptr @__errno_location() #11
  %16166 = load i32, ptr %16165, align 4, !tbaa !5
  %16167 = call ptr @strerror(i32 noundef %16166) #10
  %16168 = call ptr @__errno_location() #11
  %16169 = load i32, ptr %16168, align 4, !tbaa !5
  %16170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16157, ptr noundef @.str.11, i32 noundef %16158, ptr noundef @.str.103, ptr noundef @.str.7, i32 noundef 603, ptr noundef %16161, ptr noundef %16164, ptr noundef %16167, i32 noundef %16169) #10
  br label %16171

16171:                                            ; preds = %16154, %16137
  call void @llvm.lifetime.end.p0(i64 4, ptr %362) #10
  br label %16172

16172:                                            ; preds = %16171
  br label %16173

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

16174:                                            ; No predecessors!
  br label %16175

16175:                                            ; preds = %16174
  br label %16176

16176:                                            ; preds = %16175, %16118
  br label %16177

16177:                                            ; preds = %16176
  br label %16178

16178:                                            ; preds = %16177
  br label %16179

16179:                                            ; preds = %16178
  %16180 = load i32, ptr @test_count, align 4, !tbaa !5
  %16181 = add nsw i32 %16180, 1
  store i32 %16181, ptr @test_count, align 4, !tbaa !5
  %16182 = load ptr, ptr %349, align 8, !tbaa !9
  %16183 = call i32 @s2n_shutdown(ptr noundef %16182, ptr noundef %356)
  %16184 = icmp eq i32 %16183, -1
  br i1 %16184, label %16185, label %16238

16185:                                            ; preds = %16179
  br label %16186

16186:                                            ; preds = %16185
  br label %16187

16187:                                            ; preds = %16186
  call void @llvm.lifetime.start.p0(i64 4, ptr %363) #10
  %16188 = call ptr @__errno_location() #11
  %16189 = load i32, ptr %16188, align 4, !tbaa !5
  store i32 %16189, ptr %363, align 4, !tbaa !5
  %16190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16191 = call i32 @s2n_print_stacktrace(ptr noundef %16190)
  %16192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16193 = trunc i8 %16192 to i1
  br i1 %16193, label %16194, label %16216

16194:                                            ; preds = %16187
  %16195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16196 = call i32 @fileno(ptr noundef %16195) #10
  %16197 = call i32 @isatty(i32 noundef %16196) #10
  %16198 = icmp ne i32 %16197, 0
  br i1 %16198, label %16199, label %16216

16199:                                            ; preds = %16194
  %16200 = load i32, ptr %363, align 4, !tbaa !5
  %16201 = call ptr @__errno_location() #11
  store i32 %16200, ptr %16201, align 4, !tbaa !5
  %16202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16203 = load i32, ptr @test_count, align 4, !tbaa !5
  %16204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16205 = load i32, ptr %16204, align 4, !tbaa !5
  %16206 = call ptr @s2n_strerror(i32 noundef %16205, ptr noundef @.str.10)
  %16207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16208 = load i32, ptr %16207, align 4, !tbaa !5
  %16209 = call ptr @s2n_strerror_debug(i32 noundef %16208, ptr noundef @.str.10)
  %16210 = call ptr @__errno_location() #11
  %16211 = load i32, ptr %16210, align 4, !tbaa !5
  %16212 = call ptr @strerror(i32 noundef %16211) #10
  %16213 = call ptr @__errno_location() #11
  %16214 = load i32, ptr %16213, align 4, !tbaa !5
  %16215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16202, ptr noundef @.str.8, i32 noundef %16203, ptr noundef @.str.104, ptr noundef @.str.7, i32 noundef 608, ptr noundef %16206, ptr noundef %16209, ptr noundef %16212, i32 noundef %16214) #10
  br label %16233

16216:                                            ; preds = %16194, %16187
  %16217 = load i32, ptr %363, align 4, !tbaa !5
  %16218 = call ptr @__errno_location() #11
  store i32 %16217, ptr %16218, align 4, !tbaa !5
  %16219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16220 = load i32, ptr @test_count, align 4, !tbaa !5
  %16221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16222 = load i32, ptr %16221, align 4, !tbaa !5
  %16223 = call ptr @s2n_strerror(i32 noundef %16222, ptr noundef @.str.10)
  %16224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16225 = load i32, ptr %16224, align 4, !tbaa !5
  %16226 = call ptr @s2n_strerror_debug(i32 noundef %16225, ptr noundef @.str.10)
  %16227 = call ptr @__errno_location() #11
  %16228 = load i32, ptr %16227, align 4, !tbaa !5
  %16229 = call ptr @strerror(i32 noundef %16228) #10
  %16230 = call ptr @__errno_location() #11
  %16231 = load i32, ptr %16230, align 4, !tbaa !5
  %16232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16219, ptr noundef @.str.11, i32 noundef %16220, ptr noundef @.str.104, ptr noundef @.str.7, i32 noundef 608, ptr noundef %16223, ptr noundef %16226, ptr noundef %16229, i32 noundef %16231) #10
  br label %16233

16233:                                            ; preds = %16216, %16199
  call void @llvm.lifetime.end.p0(i64 4, ptr %363) #10
  br label %16234

16234:                                            ; preds = %16233
  br label %16235

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

16236:                                            ; No predecessors!
  br label %16237

16237:                                            ; preds = %16236
  br label %16238

16238:                                            ; preds = %16237, %16179
  br label %16239

16239:                                            ; preds = %16238
  br label %16240

16240:                                            ; preds = %16239
  br label %16241

16241:                                            ; preds = %16240
  %16242 = load i32, ptr @test_count, align 4, !tbaa !5
  %16243 = add nsw i32 %16242, 1
  store i32 %16243, ptr @test_count, align 4, !tbaa !5
  %16244 = call i32 @s2n_io_pair_close_one_end(ptr noundef %353, i32 noundef 1)
  %16245 = icmp eq i32 %16244, -1
  br i1 %16245, label %16246, label %16299

16246:                                            ; preds = %16241
  br label %16247

16247:                                            ; preds = %16246
  br label %16248

16248:                                            ; preds = %16247
  call void @llvm.lifetime.start.p0(i64 4, ptr %364) #10
  %16249 = call ptr @__errno_location() #11
  %16250 = load i32, ptr %16249, align 4, !tbaa !5
  store i32 %16250, ptr %364, align 4, !tbaa !5
  %16251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16252 = call i32 @s2n_print_stacktrace(ptr noundef %16251)
  %16253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16254 = trunc i8 %16253 to i1
  br i1 %16254, label %16255, label %16277

16255:                                            ; preds = %16248
  %16256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16257 = call i32 @fileno(ptr noundef %16256) #10
  %16258 = call i32 @isatty(i32 noundef %16257) #10
  %16259 = icmp ne i32 %16258, 0
  br i1 %16259, label %16260, label %16277

16260:                                            ; preds = %16255
  %16261 = load i32, ptr %364, align 4, !tbaa !5
  %16262 = call ptr @__errno_location() #11
  store i32 %16261, ptr %16262, align 4, !tbaa !5
  %16263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16264 = load i32, ptr @test_count, align 4, !tbaa !5
  %16265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16266 = load i32, ptr %16265, align 4, !tbaa !5
  %16267 = call ptr @s2n_strerror(i32 noundef %16266, ptr noundef @.str.10)
  %16268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16269 = load i32, ptr %16268, align 4, !tbaa !5
  %16270 = call ptr @s2n_strerror_debug(i32 noundef %16269, ptr noundef @.str.10)
  %16271 = call ptr @__errno_location() #11
  %16272 = load i32, ptr %16271, align 4, !tbaa !5
  %16273 = call ptr @strerror(i32 noundef %16272) #10
  %16274 = call ptr @__errno_location() #11
  %16275 = load i32, ptr %16274, align 4, !tbaa !5
  %16276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16263, ptr noundef @.str.8, i32 noundef %16264, ptr noundef @.str.105, ptr noundef @.str.7, i32 noundef 609, ptr noundef %16267, ptr noundef %16270, ptr noundef %16273, i32 noundef %16275) #10
  br label %16294

16277:                                            ; preds = %16255, %16248
  %16278 = load i32, ptr %364, align 4, !tbaa !5
  %16279 = call ptr @__errno_location() #11
  store i32 %16278, ptr %16279, align 4, !tbaa !5
  %16280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16281 = load i32, ptr @test_count, align 4, !tbaa !5
  %16282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16283 = load i32, ptr %16282, align 4, !tbaa !5
  %16284 = call ptr @s2n_strerror(i32 noundef %16283, ptr noundef @.str.10)
  %16285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16286 = load i32, ptr %16285, align 4, !tbaa !5
  %16287 = call ptr @s2n_strerror_debug(i32 noundef %16286, ptr noundef @.str.10)
  %16288 = call ptr @__errno_location() #11
  %16289 = load i32, ptr %16288, align 4, !tbaa !5
  %16290 = call ptr @strerror(i32 noundef %16289) #10
  %16291 = call ptr @__errno_location() #11
  %16292 = load i32, ptr %16291, align 4, !tbaa !5
  %16293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16280, ptr noundef @.str.11, i32 noundef %16281, ptr noundef @.str.105, ptr noundef @.str.7, i32 noundef 609, ptr noundef %16284, ptr noundef %16287, ptr noundef %16290, i32 noundef %16292) #10
  br label %16294

16294:                                            ; preds = %16277, %16260
  call void @llvm.lifetime.end.p0(i64 4, ptr %364) #10
  br label %16295

16295:                                            ; preds = %16294
  br label %16296

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

16297:                                            ; No predecessors!
  br label %16298

16298:                                            ; preds = %16297
  br label %16299

16299:                                            ; preds = %16298, %16241
  br label %16300

16300:                                            ; preds = %16299
  br label %16301

16301:                                            ; preds = %16300
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %353) #10
  %16302 = call i32 @s2n_connection_ptr_free(ptr noundef %349)
  %16303 = getelementptr inbounds %struct.s2n_result, ptr %365, i32 0, i32 0
  store i32 %16302, ptr %16303, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %349) #10
  %16304 = call i32 @s2n_connection_ptr_free(ptr noundef %345)
  %16305 = getelementptr inbounds %struct.s2n_result, ptr %366, i32 0, i32 0
  store i32 %16304, ptr %16305, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %345) #10
  %16306 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %16306, label %16307, label %16743

16307:                                            ; preds = %16301
  call void @llvm.lifetime.start.p0(i64 8, ptr %367) #10
  %16308 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %16308, ptr %367, align 8, !tbaa !9
  br label %16309

16309:                                            ; preds = %16307
  %16310 = load i32, ptr @test_count, align 4, !tbaa !5
  %16311 = add nsw i32 %16310, 1
  store i32 %16311, ptr @test_count, align 4, !tbaa !5
  %16312 = load ptr, ptr %367, align 8, !tbaa !9
  %16313 = icmp eq ptr %16312, null
  br i1 %16313, label %16314, label %16367

16314:                                            ; preds = %16309
  br label %16315

16315:                                            ; preds = %16314
  br label %16316

16316:                                            ; preds = %16315
  call void @llvm.lifetime.start.p0(i64 4, ptr %368) #10
  %16317 = call ptr @__errno_location() #11
  %16318 = load i32, ptr %16317, align 4, !tbaa !5
  store i32 %16318, ptr %368, align 4, !tbaa !5
  %16319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16320 = call i32 @s2n_print_stacktrace(ptr noundef %16319)
  %16321 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16322 = trunc i8 %16321 to i1
  br i1 %16322, label %16323, label %16345

16323:                                            ; preds = %16316
  %16324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16325 = call i32 @fileno(ptr noundef %16324) #10
  %16326 = call i32 @isatty(i32 noundef %16325) #10
  %16327 = icmp ne i32 %16326, 0
  br i1 %16327, label %16328, label %16345

16328:                                            ; preds = %16323
  %16329 = load i32, ptr %368, align 4, !tbaa !5
  %16330 = call ptr @__errno_location() #11
  store i32 %16329, ptr %16330, align 4, !tbaa !5
  %16331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16332 = load i32, ptr @test_count, align 4, !tbaa !5
  %16333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16334 = load i32, ptr %16333, align 4, !tbaa !5
  %16335 = call ptr @s2n_strerror(i32 noundef %16334, ptr noundef @.str.10)
  %16336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16337 = load i32, ptr %16336, align 4, !tbaa !5
  %16338 = call ptr @s2n_strerror_debug(i32 noundef %16337, ptr noundef @.str.10)
  %16339 = call ptr @__errno_location() #11
  %16340 = load i32, ptr %16339, align 4, !tbaa !5
  %16341 = call ptr @strerror(i32 noundef %16340) #10
  %16342 = call ptr @__errno_location() #11
  %16343 = load i32, ptr %16342, align 4, !tbaa !5
  %16344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16331, ptr noundef @.str.8, i32 noundef %16332, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 616, ptr noundef %16335, ptr noundef %16338, ptr noundef %16341, i32 noundef %16343) #10
  br label %16362

16345:                                            ; preds = %16323, %16316
  %16346 = load i32, ptr %368, align 4, !tbaa !5
  %16347 = call ptr @__errno_location() #11
  store i32 %16346, ptr %16347, align 4, !tbaa !5
  %16348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16349 = load i32, ptr @test_count, align 4, !tbaa !5
  %16350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16351 = load i32, ptr %16350, align 4, !tbaa !5
  %16352 = call ptr @s2n_strerror(i32 noundef %16351, ptr noundef @.str.10)
  %16353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16354 = load i32, ptr %16353, align 4, !tbaa !5
  %16355 = call ptr @s2n_strerror_debug(i32 noundef %16354, ptr noundef @.str.10)
  %16356 = call ptr @__errno_location() #11
  %16357 = load i32, ptr %16356, align 4, !tbaa !5
  %16358 = call ptr @strerror(i32 noundef %16357) #10
  %16359 = call ptr @__errno_location() #11
  %16360 = load i32, ptr %16359, align 4, !tbaa !5
  %16361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16348, ptr noundef @.str.11, i32 noundef %16349, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 616, ptr noundef %16352, ptr noundef %16355, ptr noundef %16358, i32 noundef %16360) #10
  br label %16362

16362:                                            ; preds = %16345, %16328
  call void @llvm.lifetime.end.p0(i64 4, ptr %368) #10
  br label %16363

16363:                                            ; preds = %16362
  br label %16364

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

16365:                                            ; No predecessors!
  br label %16366

16366:                                            ; preds = %16365
  br label %16367

16367:                                            ; preds = %16366, %16309
  br label %16368

16368:                                            ; preds = %16367
  br label %16369

16369:                                            ; preds = %16368
  br label %16370

16370:                                            ; preds = %16369
  %16371 = load i32, ptr @test_count, align 4, !tbaa !5
  %16372 = add nsw i32 %16371, 1
  store i32 %16372, ptr @test_count, align 4, !tbaa !5
  %16373 = load ptr, ptr %367, align 8, !tbaa !9
  %16374 = call i32 @s2n_connection_enable_quic(ptr noundef %16373)
  %16375 = icmp eq i32 %16374, -1
  br i1 %16375, label %16376, label %16429

16376:                                            ; preds = %16370
  br label %16377

16377:                                            ; preds = %16376
  br label %16378

16378:                                            ; preds = %16377
  call void @llvm.lifetime.start.p0(i64 4, ptr %369) #10
  %16379 = call ptr @__errno_location() #11
  %16380 = load i32, ptr %16379, align 4, !tbaa !5
  store i32 %16380, ptr %369, align 4, !tbaa !5
  %16381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16382 = call i32 @s2n_print_stacktrace(ptr noundef %16381)
  %16383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16384 = trunc i8 %16383 to i1
  br i1 %16384, label %16385, label %16407

16385:                                            ; preds = %16378
  %16386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16387 = call i32 @fileno(ptr noundef %16386) #10
  %16388 = call i32 @isatty(i32 noundef %16387) #10
  %16389 = icmp ne i32 %16388, 0
  br i1 %16389, label %16390, label %16407

16390:                                            ; preds = %16385
  %16391 = load i32, ptr %369, align 4, !tbaa !5
  %16392 = call ptr @__errno_location() #11
  store i32 %16391, ptr %16392, align 4, !tbaa !5
  %16393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16394 = load i32, ptr @test_count, align 4, !tbaa !5
  %16395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16396 = load i32, ptr %16395, align 4, !tbaa !5
  %16397 = call ptr @s2n_strerror(i32 noundef %16396, ptr noundef @.str.10)
  %16398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16399 = load i32, ptr %16398, align 4, !tbaa !5
  %16400 = call ptr @s2n_strerror_debug(i32 noundef %16399, ptr noundef @.str.10)
  %16401 = call ptr @__errno_location() #11
  %16402 = load i32, ptr %16401, align 4, !tbaa !5
  %16403 = call ptr @strerror(i32 noundef %16402) #10
  %16404 = call ptr @__errno_location() #11
  %16405 = load i32, ptr %16404, align 4, !tbaa !5
  %16406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16393, ptr noundef @.str.8, i32 noundef %16394, ptr noundef @.str.106, ptr noundef @.str.7, i32 noundef 617, ptr noundef %16397, ptr noundef %16400, ptr noundef %16403, i32 noundef %16405) #10
  br label %16424

16407:                                            ; preds = %16385, %16378
  %16408 = load i32, ptr %369, align 4, !tbaa !5
  %16409 = call ptr @__errno_location() #11
  store i32 %16408, ptr %16409, align 4, !tbaa !5
  %16410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16411 = load i32, ptr @test_count, align 4, !tbaa !5
  %16412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16413 = load i32, ptr %16412, align 4, !tbaa !5
  %16414 = call ptr @s2n_strerror(i32 noundef %16413, ptr noundef @.str.10)
  %16415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16416 = load i32, ptr %16415, align 4, !tbaa !5
  %16417 = call ptr @s2n_strerror_debug(i32 noundef %16416, ptr noundef @.str.10)
  %16418 = call ptr @__errno_location() #11
  %16419 = load i32, ptr %16418, align 4, !tbaa !5
  %16420 = call ptr @strerror(i32 noundef %16419) #10
  %16421 = call ptr @__errno_location() #11
  %16422 = load i32, ptr %16421, align 4, !tbaa !5
  %16423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16410, ptr noundef @.str.11, i32 noundef %16411, ptr noundef @.str.106, ptr noundef @.str.7, i32 noundef 617, ptr noundef %16414, ptr noundef %16417, ptr noundef %16420, i32 noundef %16422) #10
  br label %16424

16424:                                            ; preds = %16407, %16390
  call void @llvm.lifetime.end.p0(i64 4, ptr %369) #10
  br label %16425

16425:                                            ; preds = %16424
  br label %16426

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

16427:                                            ; No predecessors!
  br label %16428

16428:                                            ; preds = %16427
  br label %16429

16429:                                            ; preds = %16428, %16370
  br label %16430

16430:                                            ; preds = %16429
  br label %16431

16431:                                            ; preds = %16430
  call void @llvm.lifetime.start.p0(i64 4, ptr %370) #10
  store i32 0, ptr %370, align 4, !tbaa !5
  br label %16432

16432:                                            ; preds = %16431
  %16433 = load i32, ptr @test_count, align 4, !tbaa !5
  %16434 = add nsw i32 %16433, 1
  store i32 %16434, ptr @test_count, align 4, !tbaa !5
  %16435 = load ptr, ptr %367, align 8, !tbaa !9
  %16436 = call i32 @s2n_shutdown(ptr noundef %16435, ptr noundef %370)
  %16437 = icmp eq i32 %16436, -1
  br i1 %16437, label %16438, label %16491

16438:                                            ; preds = %16432
  br label %16439

16439:                                            ; preds = %16438
  br label %16440

16440:                                            ; preds = %16439
  call void @llvm.lifetime.start.p0(i64 4, ptr %371) #10
  %16441 = call ptr @__errno_location() #11
  %16442 = load i32, ptr %16441, align 4, !tbaa !5
  store i32 %16442, ptr %371, align 4, !tbaa !5
  %16443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16444 = call i32 @s2n_print_stacktrace(ptr noundef %16443)
  %16445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16446 = trunc i8 %16445 to i1
  br i1 %16446, label %16447, label %16469

16447:                                            ; preds = %16440
  %16448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16449 = call i32 @fileno(ptr noundef %16448) #10
  %16450 = call i32 @isatty(i32 noundef %16449) #10
  %16451 = icmp ne i32 %16450, 0
  br i1 %16451, label %16452, label %16469

16452:                                            ; preds = %16447
  %16453 = load i32, ptr %371, align 4, !tbaa !5
  %16454 = call ptr @__errno_location() #11
  store i32 %16453, ptr %16454, align 4, !tbaa !5
  %16455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16456 = load i32, ptr @test_count, align 4, !tbaa !5
  %16457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16458 = load i32, ptr %16457, align 4, !tbaa !5
  %16459 = call ptr @s2n_strerror(i32 noundef %16458, ptr noundef @.str.10)
  %16460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16461 = load i32, ptr %16460, align 4, !tbaa !5
  %16462 = call ptr @s2n_strerror_debug(i32 noundef %16461, ptr noundef @.str.10)
  %16463 = call ptr @__errno_location() #11
  %16464 = load i32, ptr %16463, align 4, !tbaa !5
  %16465 = call ptr @strerror(i32 noundef %16464) #10
  %16466 = call ptr @__errno_location() #11
  %16467 = load i32, ptr %16466, align 4, !tbaa !5
  %16468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16455, ptr noundef @.str.8, i32 noundef %16456, ptr noundef @.str.30, ptr noundef @.str.7, i32 noundef 620, ptr noundef %16459, ptr noundef %16462, ptr noundef %16465, i32 noundef %16467) #10
  br label %16486

16469:                                            ; preds = %16447, %16440
  %16470 = load i32, ptr %371, align 4, !tbaa !5
  %16471 = call ptr @__errno_location() #11
  store i32 %16470, ptr %16471, align 4, !tbaa !5
  %16472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16473 = load i32, ptr @test_count, align 4, !tbaa !5
  %16474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16475 = load i32, ptr %16474, align 4, !tbaa !5
  %16476 = call ptr @s2n_strerror(i32 noundef %16475, ptr noundef @.str.10)
  %16477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16478 = load i32, ptr %16477, align 4, !tbaa !5
  %16479 = call ptr @s2n_strerror_debug(i32 noundef %16478, ptr noundef @.str.10)
  %16480 = call ptr @__errno_location() #11
  %16481 = load i32, ptr %16480, align 4, !tbaa !5
  %16482 = call ptr @strerror(i32 noundef %16481) #10
  %16483 = call ptr @__errno_location() #11
  %16484 = load i32, ptr %16483, align 4, !tbaa !5
  %16485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16472, ptr noundef @.str.11, i32 noundef %16473, ptr noundef @.str.30, ptr noundef @.str.7, i32 noundef 620, ptr noundef %16476, ptr noundef %16479, ptr noundef %16482, i32 noundef %16484) #10
  br label %16486

16486:                                            ; preds = %16469, %16452
  call void @llvm.lifetime.end.p0(i64 4, ptr %371) #10
  br label %16487

16487:                                            ; preds = %16486
  br label %16488

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

16489:                                            ; No predecessors!
  br label %16490

16490:                                            ; preds = %16489
  br label %16491

16491:                                            ; preds = %16490, %16432
  br label %16492

16492:                                            ; preds = %16491
  br label %16493

16493:                                            ; preds = %16492
  br label %16494

16494:                                            ; preds = %16493
  %16495 = load i32, ptr @test_count, align 4, !tbaa !5
  %16496 = add nsw i32 %16495, 1
  store i32 %16496, ptr @test_count, align 4, !tbaa !5
  %16497 = load i32, ptr %370, align 4, !tbaa !5
  %16498 = icmp eq i32 %16497, 0
  br i1 %16498, label %16552, label %16499

16499:                                            ; preds = %16494
  br label %16500

16500:                                            ; preds = %16499
  br label %16501

16501:                                            ; preds = %16500
  call void @llvm.lifetime.start.p0(i64 4, ptr %372) #10
  %16502 = call ptr @__errno_location() #11
  %16503 = load i32, ptr %16502, align 4, !tbaa !5
  store i32 %16503, ptr %372, align 4, !tbaa !5
  %16504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16505 = call i32 @s2n_print_stacktrace(ptr noundef %16504)
  %16506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16507 = trunc i8 %16506 to i1
  br i1 %16507, label %16508, label %16530

16508:                                            ; preds = %16501
  %16509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16510 = call i32 @fileno(ptr noundef %16509) #10
  %16511 = call i32 @isatty(i32 noundef %16510) #10
  %16512 = icmp ne i32 %16511, 0
  br i1 %16512, label %16513, label %16530

16513:                                            ; preds = %16508
  %16514 = load i32, ptr %372, align 4, !tbaa !5
  %16515 = call ptr @__errno_location() #11
  store i32 %16514, ptr %16515, align 4, !tbaa !5
  %16516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16517 = load i32, ptr @test_count, align 4, !tbaa !5
  %16518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16519 = load i32, ptr %16518, align 4, !tbaa !5
  %16520 = call ptr @s2n_strerror(i32 noundef %16519, ptr noundef @.str.10)
  %16521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16522 = load i32, ptr %16521, align 4, !tbaa !5
  %16523 = call ptr @s2n_strerror_debug(i32 noundef %16522, ptr noundef @.str.10)
  %16524 = call ptr @__errno_location() #11
  %16525 = load i32, ptr %16524, align 4, !tbaa !5
  %16526 = call ptr @strerror(i32 noundef %16525) #10
  %16527 = call ptr @__errno_location() #11
  %16528 = load i32, ptr %16527, align 4, !tbaa !5
  %16529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16516, ptr noundef @.str.8, i32 noundef %16517, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 621, ptr noundef %16520, ptr noundef %16523, ptr noundef %16526, i32 noundef %16528) #10
  br label %16547

16530:                                            ; preds = %16508, %16501
  %16531 = load i32, ptr %372, align 4, !tbaa !5
  %16532 = call ptr @__errno_location() #11
  store i32 %16531, ptr %16532, align 4, !tbaa !5
  %16533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16534 = load i32, ptr @test_count, align 4, !tbaa !5
  %16535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16536 = load i32, ptr %16535, align 4, !tbaa !5
  %16537 = call ptr @s2n_strerror(i32 noundef %16536, ptr noundef @.str.10)
  %16538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16539 = load i32, ptr %16538, align 4, !tbaa !5
  %16540 = call ptr @s2n_strerror_debug(i32 noundef %16539, ptr noundef @.str.10)
  %16541 = call ptr @__errno_location() #11
  %16542 = load i32, ptr %16541, align 4, !tbaa !5
  %16543 = call ptr @strerror(i32 noundef %16542) #10
  %16544 = call ptr @__errno_location() #11
  %16545 = load i32, ptr %16544, align 4, !tbaa !5
  %16546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16533, ptr noundef @.str.11, i32 noundef %16534, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 621, ptr noundef %16537, ptr noundef %16540, ptr noundef %16543, i32 noundef %16545) #10
  br label %16547

16547:                                            ; preds = %16530, %16513
  call void @llvm.lifetime.end.p0(i64 4, ptr %372) #10
  br label %16548

16548:                                            ; preds = %16547
  br label %16549

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

16550:                                            ; No predecessors!
  br label %16551

16551:                                            ; preds = %16550
  br label %16552

16552:                                            ; preds = %16551, %16494
  br label %16553

16553:                                            ; preds = %16552
  br label %16554

16554:                                            ; preds = %16553
  br label %16555

16555:                                            ; preds = %16554
  %16556 = load i32, ptr @test_count, align 4, !tbaa !5
  %16557 = add nsw i32 %16556, 1
  store i32 %16557, ptr @test_count, align 4, !tbaa !5
  %16558 = load ptr, ptr %367, align 8, !tbaa !9
  %16559 = getelementptr inbounds %struct.s2n_connection, ptr %16558, i32 0, i32 51
  %16560 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %16559)
  br i1 %16560, label %16561, label %16614

16561:                                            ; preds = %16555
  br label %16562

16562:                                            ; preds = %16561
  br label %16563

16563:                                            ; preds = %16562
  call void @llvm.lifetime.start.p0(i64 4, ptr %373) #10
  %16564 = call ptr @__errno_location() #11
  %16565 = load i32, ptr %16564, align 4, !tbaa !5
  store i32 %16565, ptr %373, align 4, !tbaa !5
  %16566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16567 = call i32 @s2n_print_stacktrace(ptr noundef %16566)
  %16568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16569 = trunc i8 %16568 to i1
  br i1 %16569, label %16570, label %16592

16570:                                            ; preds = %16563
  %16571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16572 = call i32 @fileno(ptr noundef %16571) #10
  %16573 = call i32 @isatty(i32 noundef %16572) #10
  %16574 = icmp ne i32 %16573, 0
  br i1 %16574, label %16575, label %16592

16575:                                            ; preds = %16570
  %16576 = load i32, ptr %373, align 4, !tbaa !5
  %16577 = call ptr @__errno_location() #11
  store i32 %16576, ptr %16577, align 4, !tbaa !5
  %16578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16579 = load i32, ptr @test_count, align 4, !tbaa !5
  %16580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16581 = load i32, ptr %16580, align 4, !tbaa !5
  %16582 = call ptr @s2n_strerror(i32 noundef %16581, ptr noundef @.str.10)
  %16583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16584 = load i32, ptr %16583, align 4, !tbaa !5
  %16585 = call ptr @s2n_strerror_debug(i32 noundef %16584, ptr noundef @.str.10)
  %16586 = call ptr @__errno_location() #11
  %16587 = load i32, ptr %16586, align 4, !tbaa !5
  %16588 = call ptr @strerror(i32 noundef %16587) #10
  %16589 = call ptr @__errno_location() #11
  %16590 = load i32, ptr %16589, align 4, !tbaa !5
  %16591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16578, ptr noundef @.str.8, i32 noundef %16579, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 624, ptr noundef %16582, ptr noundef %16585, ptr noundef %16588, i32 noundef %16590) #10
  br label %16609

16592:                                            ; preds = %16570, %16563
  %16593 = load i32, ptr %373, align 4, !tbaa !5
  %16594 = call ptr @__errno_location() #11
  store i32 %16593, ptr %16594, align 4, !tbaa !5
  %16595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16596 = load i32, ptr @test_count, align 4, !tbaa !5
  %16597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16598 = load i32, ptr %16597, align 4, !tbaa !5
  %16599 = call ptr @s2n_strerror(i32 noundef %16598, ptr noundef @.str.10)
  %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.10)
  %16603 = call ptr @__errno_location() #11
  %16604 = load i32, ptr %16603, align 4, !tbaa !5
  %16605 = call ptr @strerror(i32 noundef %16604) #10
  %16606 = call ptr @__errno_location() #11
  %16607 = load i32, ptr %16606, align 4, !tbaa !5
  %16608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16595, ptr noundef @.str.11, i32 noundef %16596, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 624, ptr noundef %16599, ptr noundef %16602, ptr noundef %16605, i32 noundef %16607) #10
  br label %16609

16609:                                            ; preds = %16592, %16575
  call void @llvm.lifetime.end.p0(i64 4, ptr %373) #10
  br label %16610

16610:                                            ; preds = %16609
  br label %16611

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

16612:                                            ; No predecessors!
  br label %16613

16613:                                            ; preds = %16612
  br label %16614

16614:                                            ; preds = %16613, %16555
  br label %16615

16615:                                            ; preds = %16614
  br label %16616

16616:                                            ; preds = %16615
  br label %16617

16617:                                            ; preds = %16616
  %16618 = load i32, ptr @test_count, align 4, !tbaa !5
  %16619 = add nsw i32 %16618, 1
  store i32 %16619, ptr @test_count, align 4, !tbaa !5
  %16620 = load ptr, ptr %367, align 8, !tbaa !9
  %16621 = getelementptr inbounds %struct.s2n_connection, ptr %16620, i32 0, i32 49
  %16622 = load i8, ptr %16621, align 1, !tbaa !16, !range !13, !noundef !14
  %16623 = trunc i8 %16622 to i1
  br i1 %16623, label %16624, label %16677

16624:                                            ; preds = %16617
  br label %16625

16625:                                            ; preds = %16624
  br label %16626

16626:                                            ; preds = %16625
  call void @llvm.lifetime.start.p0(i64 4, ptr %374) #10
  %16627 = call ptr @__errno_location() #11
  %16628 = load i32, ptr %16627, align 4, !tbaa !5
  store i32 %16628, ptr %374, align 4, !tbaa !5
  %16629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16630 = call i32 @s2n_print_stacktrace(ptr noundef %16629)
  %16631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16632 = trunc i8 %16631 to i1
  br i1 %16632, label %16633, label %16655

16633:                                            ; preds = %16626
  %16634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16635 = call i32 @fileno(ptr noundef %16634) #10
  %16636 = call i32 @isatty(i32 noundef %16635) #10
  %16637 = icmp ne i32 %16636, 0
  br i1 %16637, label %16638, label %16655

16638:                                            ; preds = %16633
  %16639 = load i32, ptr %374, align 4, !tbaa !5
  %16640 = call ptr @__errno_location() #11
  store i32 %16639, ptr %16640, align 4, !tbaa !5
  %16641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16642 = load i32, ptr @test_count, align 4, !tbaa !5
  %16643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16644 = load i32, ptr %16643, align 4, !tbaa !5
  %16645 = call ptr @s2n_strerror(i32 noundef %16644, ptr noundef @.str.10)
  %16646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16647 = load i32, ptr %16646, align 4, !tbaa !5
  %16648 = call ptr @s2n_strerror_debug(i32 noundef %16647, ptr noundef @.str.10)
  %16649 = call ptr @__errno_location() #11
  %16650 = load i32, ptr %16649, align 4, !tbaa !5
  %16651 = call ptr @strerror(i32 noundef %16650) #10
  %16652 = call ptr @__errno_location() #11
  %16653 = load i32, ptr %16652, align 4, !tbaa !5
  %16654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16641, ptr noundef @.str.8, i32 noundef %16642, ptr noundef @.str.27, ptr noundef @.str.7, i32 noundef 625, ptr noundef %16645, ptr noundef %16648, ptr noundef %16651, i32 noundef %16653) #10
  br label %16672

16655:                                            ; preds = %16633, %16626
  %16656 = load i32, ptr %374, align 4, !tbaa !5
  %16657 = call ptr @__errno_location() #11
  store i32 %16656, ptr %16657, align 4, !tbaa !5
  %16658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16659 = load i32, ptr @test_count, align 4, !tbaa !5
  %16660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16661 = load i32, ptr %16660, align 4, !tbaa !5
  %16662 = call ptr @s2n_strerror(i32 noundef %16661, ptr noundef @.str.10)
  %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.10)
  %16666 = call ptr @__errno_location() #11
  %16667 = load i32, ptr %16666, align 4, !tbaa !5
  %16668 = call ptr @strerror(i32 noundef %16667) #10
  %16669 = call ptr @__errno_location() #11
  %16670 = load i32, ptr %16669, align 4, !tbaa !5
  %16671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16658, ptr noundef @.str.11, i32 noundef %16659, ptr noundef @.str.27, ptr noundef @.str.7, i32 noundef 625, ptr noundef %16662, ptr noundef %16665, ptr noundef %16668, i32 noundef %16670) #10
  br label %16672

16672:                                            ; preds = %16655, %16638
  call void @llvm.lifetime.end.p0(i64 4, ptr %374) #10
  br label %16673

16673:                                            ; preds = %16672
  br label %16674

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

16675:                                            ; No predecessors!
  br label %16676

16676:                                            ; preds = %16675
  br label %16677

16677:                                            ; preds = %16676, %16617
  br label %16678

16678:                                            ; preds = %16677
  br label %16679

16679:                                            ; preds = %16678
  br label %16680

16680:                                            ; preds = %16679
  %16681 = load i32, ptr @test_count, align 4, !tbaa !5
  %16682 = add nsw i32 %16681, 1
  store i32 %16682, ptr @test_count, align 4, !tbaa !5
  %16683 = load ptr, ptr %367, align 8, !tbaa !9
  %16684 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %16683, i32 noundef 3)
  br i1 %16684, label %16738, label %16685

16685:                                            ; preds = %16680
  br label %16686

16686:                                            ; preds = %16685
  br label %16687

16687:                                            ; preds = %16686
  call void @llvm.lifetime.start.p0(i64 4, ptr %375) #10
  %16688 = call ptr @__errno_location() #11
  %16689 = load i32, ptr %16688, align 4, !tbaa !5
  store i32 %16689, ptr %375, align 4, !tbaa !5
  %16690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16691 = call i32 @s2n_print_stacktrace(ptr noundef %16690)
  %16692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16693 = trunc i8 %16692 to i1
  br i1 %16693, label %16694, label %16716

16694:                                            ; preds = %16687
  %16695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16696 = call i32 @fileno(ptr noundef %16695) #10
  %16697 = call i32 @isatty(i32 noundef %16696) #10
  %16698 = icmp ne i32 %16697, 0
  br i1 %16698, label %16699, label %16716

16699:                                            ; preds = %16694
  %16700 = load i32, ptr %375, align 4, !tbaa !5
  %16701 = call ptr @__errno_location() #11
  store i32 %16700, ptr %16701, align 4, !tbaa !5
  %16702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16703 = load i32, ptr @test_count, align 4, !tbaa !5
  %16704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16705 = load i32, ptr %16704, align 4, !tbaa !5
  %16706 = call ptr @s2n_strerror(i32 noundef %16705, ptr noundef @.str.10)
  %16707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16708 = load i32, ptr %16707, align 4, !tbaa !5
  %16709 = call ptr @s2n_strerror_debug(i32 noundef %16708, ptr noundef @.str.10)
  %16710 = call ptr @__errno_location() #11
  %16711 = load i32, ptr %16710, align 4, !tbaa !5
  %16712 = call ptr @strerror(i32 noundef %16711) #10
  %16713 = call ptr @__errno_location() #11
  %16714 = load i32, ptr %16713, align 4, !tbaa !5
  %16715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16702, ptr noundef @.str.8, i32 noundef %16703, ptr noundef @.str.32, ptr noundef @.str.7, i32 noundef 626, ptr noundef %16706, ptr noundef %16709, ptr noundef %16712, i32 noundef %16714) #10
  br label %16733

16716:                                            ; preds = %16694, %16687
  %16717 = load i32, ptr %375, align 4, !tbaa !5
  %16718 = call ptr @__errno_location() #11
  store i32 %16717, ptr %16718, align 4, !tbaa !5
  %16719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16720 = load i32, ptr @test_count, align 4, !tbaa !5
  %16721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16722 = load i32, ptr %16721, align 4, !tbaa !5
  %16723 = call ptr @s2n_strerror(i32 noundef %16722, ptr noundef @.str.10)
  %16724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16725 = load i32, ptr %16724, align 4, !tbaa !5
  %16726 = call ptr @s2n_strerror_debug(i32 noundef %16725, ptr noundef @.str.10)
  %16727 = call ptr @__errno_location() #11
  %16728 = load i32, ptr %16727, align 4, !tbaa !5
  %16729 = call ptr @strerror(i32 noundef %16728) #10
  %16730 = call ptr @__errno_location() #11
  %16731 = load i32, ptr %16730, align 4, !tbaa !5
  %16732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16719, ptr noundef @.str.11, i32 noundef %16720, ptr noundef @.str.32, ptr noundef @.str.7, i32 noundef 626, ptr noundef %16723, ptr noundef %16726, ptr noundef %16729, i32 noundef %16731) #10
  br label %16733

16733:                                            ; preds = %16716, %16699
  call void @llvm.lifetime.end.p0(i64 4, ptr %375) #10
  br label %16734

16734:                                            ; preds = %16733
  br label %16735

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

16736:                                            ; No predecessors!
  br label %16737

16737:                                            ; preds = %16736
  br label %16738

16738:                                            ; preds = %16737, %16680
  br label %16739

16739:                                            ; preds = %16738
  br label %16740

16740:                                            ; preds = %16739
  call void @llvm.lifetime.end.p0(i64 4, ptr %370) #10
  %16741 = call i32 @s2n_connection_ptr_free(ptr noundef %367)
  %16742 = getelementptr inbounds %struct.s2n_result, ptr %376, i32 0, i32 0
  store i32 %16741, ptr %16742, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %367) #10
  br label %16743

16743:                                            ; preds = %16740, %16301
  call void @llvm.lifetime.start.p0(i64 8, ptr %377) #10
  %16744 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %16744, ptr %377, align 8, !tbaa !9
  br label %16745

16745:                                            ; preds = %16743
  %16746 = load i32, ptr @test_count, align 4, !tbaa !5
  %16747 = add nsw i32 %16746, 1
  store i32 %16747, ptr @test_count, align 4, !tbaa !5
  %16748 = load ptr, ptr %377, align 8, !tbaa !9
  %16749 = icmp eq ptr %16748, null
  br i1 %16749, label %16750, label %16803

16750:                                            ; preds = %16745
  br label %16751

16751:                                            ; preds = %16750
  br label %16752

16752:                                            ; preds = %16751
  call void @llvm.lifetime.start.p0(i64 4, ptr %378) #10
  %16753 = call ptr @__errno_location() #11
  %16754 = load i32, ptr %16753, align 4, !tbaa !5
  store i32 %16754, ptr %378, align 4, !tbaa !5
  %16755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16756 = call i32 @s2n_print_stacktrace(ptr noundef %16755)
  %16757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16758 = trunc i8 %16757 to i1
  br i1 %16758, label %16759, label %16781

16759:                                            ; preds = %16752
  %16760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16761 = call i32 @fileno(ptr noundef %16760) #10
  %16762 = call i32 @isatty(i32 noundef %16761) #10
  %16763 = icmp ne i32 %16762, 0
  br i1 %16763, label %16764, label %16781

16764:                                            ; preds = %16759
  %16765 = load i32, ptr %378, align 4, !tbaa !5
  %16766 = call ptr @__errno_location() #11
  store i32 %16765, ptr %16766, align 4, !tbaa !5
  %16767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16768 = load i32, ptr @test_count, align 4, !tbaa !5
  %16769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16770 = load i32, ptr %16769, align 4, !tbaa !5
  %16771 = call ptr @s2n_strerror(i32 noundef %16770, ptr noundef @.str.10)
  %16772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16773 = load i32, ptr %16772, align 4, !tbaa !5
  %16774 = call ptr @s2n_strerror_debug(i32 noundef %16773, ptr noundef @.str.10)
  %16775 = call ptr @__errno_location() #11
  %16776 = load i32, ptr %16775, align 4, !tbaa !5
  %16777 = call ptr @strerror(i32 noundef %16776) #10
  %16778 = call ptr @__errno_location() #11
  %16779 = load i32, ptr %16778, align 4, !tbaa !5
  %16780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16767, ptr noundef @.str.8, i32 noundef %16768, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 635, ptr noundef %16771, ptr noundef %16774, ptr noundef %16777, i32 noundef %16779) #10
  br label %16798

16781:                                            ; preds = %16759, %16752
  %16782 = load i32, ptr %378, align 4, !tbaa !5
  %16783 = call ptr @__errno_location() #11
  store i32 %16782, ptr %16783, align 4, !tbaa !5
  %16784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16785 = load i32, ptr @test_count, align 4, !tbaa !5
  %16786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16787 = load i32, ptr %16786, align 4, !tbaa !5
  %16788 = call ptr @s2n_strerror(i32 noundef %16787, ptr noundef @.str.10)
  %16789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16790 = load i32, ptr %16789, align 4, !tbaa !5
  %16791 = call ptr @s2n_strerror_debug(i32 noundef %16790, ptr noundef @.str.10)
  %16792 = call ptr @__errno_location() #11
  %16793 = load i32, ptr %16792, align 4, !tbaa !5
  %16794 = call ptr @strerror(i32 noundef %16793) #10
  %16795 = call ptr @__errno_location() #11
  %16796 = load i32, ptr %16795, align 4, !tbaa !5
  %16797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16784, ptr noundef @.str.11, i32 noundef %16785, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 635, ptr noundef %16788, ptr noundef %16791, ptr noundef %16794, i32 noundef %16796) #10
  br label %16798

16798:                                            ; preds = %16781, %16764
  call void @llvm.lifetime.end.p0(i64 4, ptr %378) #10
  br label %16799

16799:                                            ; preds = %16798
  br label %16800

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

16801:                                            ; No predecessors!
  br label %16802

16802:                                            ; preds = %16801
  br label %16803

16803:                                            ; preds = %16802, %16745
  br label %16804

16804:                                            ; preds = %16803
  br label %16805

16805:                                            ; preds = %16804
  call void @llvm.lifetime.start.p0(i64 4, ptr %379) #10
  store i32 0, ptr %379, align 4, !tbaa !5
  br label %16806

16806:                                            ; preds = %16805
  br label %16807

16807:                                            ; preds = %16806
  br label %16808

16808:                                            ; preds = %16807
  %16809 = load i32, ptr @test_count, align 4, !tbaa !5
  %16810 = add nsw i32 %16809, 1
  store i32 %16810, ptr @test_count, align 4, !tbaa !5
  %16811 = call i32 @s2n_shutdown_send(ptr noundef null, ptr noundef %379)
  %16812 = icmp eq i32 %16811, -1
  br i1 %16812, label %16866, label %16813

16813:                                            ; preds = %16808
  br label %16814

16814:                                            ; preds = %16813
  br label %16815

16815:                                            ; preds = %16814
  call void @llvm.lifetime.start.p0(i64 4, ptr %380) #10
  %16816 = call ptr @__errno_location() #11
  %16817 = load i32, ptr %16816, align 4, !tbaa !5
  store i32 %16817, ptr %380, align 4, !tbaa !5
  %16818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16819 = call i32 @s2n_print_stacktrace(ptr noundef %16818)
  %16820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16821 = trunc i8 %16820 to i1
  br i1 %16821, label %16822, label %16844

16822:                                            ; preds = %16815
  %16823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16824 = call i32 @fileno(ptr noundef %16823) #10
  %16825 = call i32 @isatty(i32 noundef %16824) #10
  %16826 = icmp ne i32 %16825, 0
  br i1 %16826, label %16827, label %16844

16827:                                            ; preds = %16822
  %16828 = load i32, ptr %380, align 4, !tbaa !5
  %16829 = call ptr @__errno_location() #11
  store i32 %16828, ptr %16829, align 4, !tbaa !5
  %16830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16831 = load i32, ptr @test_count, align 4, !tbaa !5
  %16832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16833 = load i32, ptr %16832, align 4, !tbaa !5
  %16834 = call ptr @s2n_strerror(i32 noundef %16833, ptr noundef @.str.10)
  %16835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16836 = load i32, ptr %16835, align 4, !tbaa !5
  %16837 = call ptr @s2n_strerror_debug(i32 noundef %16836, ptr noundef @.str.10)
  %16838 = call ptr @__errno_location() #11
  %16839 = load i32, ptr %16838, align 4, !tbaa !5
  %16840 = call ptr @strerror(i32 noundef %16839) #10
  %16841 = call ptr @__errno_location() #11
  %16842 = load i32, ptr %16841, align 4, !tbaa !5
  %16843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16830, ptr noundef @.str.8, i32 noundef %16831, ptr noundef @.str.107, ptr noundef @.str.7, i32 noundef 638, ptr noundef %16834, ptr noundef %16837, ptr noundef %16840, i32 noundef %16842) #10
  br label %16861

16844:                                            ; preds = %16822, %16815
  %16845 = load i32, ptr %380, align 4, !tbaa !5
  %16846 = call ptr @__errno_location() #11
  store i32 %16845, ptr %16846, align 4, !tbaa !5
  %16847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16848 = load i32, ptr @test_count, align 4, !tbaa !5
  %16849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16850 = load i32, ptr %16849, align 4, !tbaa !5
  %16851 = call ptr @s2n_strerror(i32 noundef %16850, ptr noundef @.str.10)
  %16852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16853 = load i32, ptr %16852, align 4, !tbaa !5
  %16854 = call ptr @s2n_strerror_debug(i32 noundef %16853, ptr noundef @.str.10)
  %16855 = call ptr @__errno_location() #11
  %16856 = load i32, ptr %16855, align 4, !tbaa !5
  %16857 = call ptr @strerror(i32 noundef %16856) #10
  %16858 = call ptr @__errno_location() #11
  %16859 = load i32, ptr %16858, align 4, !tbaa !5
  %16860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16847, ptr noundef @.str.11, i32 noundef %16848, ptr noundef @.str.107, ptr noundef @.str.7, i32 noundef 638, ptr noundef %16851, ptr noundef %16854, ptr noundef %16857, i32 noundef %16859) #10
  br label %16861

16861:                                            ; preds = %16844, %16827
  call void @llvm.lifetime.end.p0(i64 4, ptr %380) #10
  br label %16862

16862:                                            ; preds = %16861
  br label %16863

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

16864:                                            ; No predecessors!
  br label %16865

16865:                                            ; preds = %16864
  br label %16866

16866:                                            ; preds = %16865, %16808
  br label %16867

16867:                                            ; preds = %16866
  br label %16868

16868:                                            ; preds = %16867
  br label %16869

16869:                                            ; preds = %16868
  %16870 = load i32, ptr @test_count, align 4, !tbaa !5
  %16871 = add nsw i32 %16870, 1
  store i32 %16871, ptr @test_count, align 4, !tbaa !5
  %16872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16873 = load i32, ptr %16872, align 4, !tbaa !5
  %16874 = icmp eq i32 %16873, 402653193
  br i1 %16874, label %16928, label %16875

16875:                                            ; preds = %16869
  br label %16876

16876:                                            ; preds = %16875
  br label %16877

16877:                                            ; preds = %16876
  call void @llvm.lifetime.start.p0(i64 4, ptr %381) #10
  %16878 = call ptr @__errno_location() #11
  %16879 = load i32, ptr %16878, align 4, !tbaa !5
  store i32 %16879, ptr %381, align 4, !tbaa !5
  %16880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16881 = call i32 @s2n_print_stacktrace(ptr noundef %16880)
  %16882 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16883 = trunc i8 %16882 to i1
  br i1 %16883, label %16884, label %16906

16884:                                            ; preds = %16877
  %16885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16886 = call i32 @fileno(ptr noundef %16885) #10
  %16887 = call i32 @isatty(i32 noundef %16886) #10
  %16888 = icmp ne i32 %16887, 0
  br i1 %16888, label %16889, label %16906

16889:                                            ; preds = %16884
  %16890 = load i32, ptr %381, align 4, !tbaa !5
  %16891 = call ptr @__errno_location() #11
  store i32 %16890, ptr %16891, align 4, !tbaa !5
  %16892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16893 = load i32, ptr @test_count, align 4, !tbaa !5
  %16894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16895 = load i32, ptr %16894, align 4, !tbaa !5
  %16896 = call ptr @s2n_strerror(i32 noundef %16895, ptr noundef @.str.10)
  %16897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16898 = load i32, ptr %16897, align 4, !tbaa !5
  %16899 = call ptr @s2n_strerror_debug(i32 noundef %16898, ptr noundef @.str.10)
  %16900 = call ptr @__errno_location() #11
  %16901 = load i32, ptr %16900, align 4, !tbaa !5
  %16902 = call ptr @strerror(i32 noundef %16901) #10
  %16903 = call ptr @__errno_location() #11
  %16904 = load i32, ptr %16903, align 4, !tbaa !5
  %16905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16892, ptr noundef @.str.8, i32 noundef %16893, ptr noundef @.str.108, ptr noundef @.str.7, i32 noundef 638, ptr noundef %16896, ptr noundef %16899, ptr noundef %16902, i32 noundef %16904) #10
  br label %16923

16906:                                            ; preds = %16884, %16877
  %16907 = load i32, ptr %381, align 4, !tbaa !5
  %16908 = call ptr @__errno_location() #11
  store i32 %16907, ptr %16908, align 4, !tbaa !5
  %16909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16910 = load i32, ptr @test_count, align 4, !tbaa !5
  %16911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16912 = load i32, ptr %16911, align 4, !tbaa !5
  %16913 = call ptr @s2n_strerror(i32 noundef %16912, ptr noundef @.str.10)
  %16914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16915 = load i32, ptr %16914, align 4, !tbaa !5
  %16916 = call ptr @s2n_strerror_debug(i32 noundef %16915, ptr noundef @.str.10)
  %16917 = call ptr @__errno_location() #11
  %16918 = load i32, ptr %16917, align 4, !tbaa !5
  %16919 = call ptr @strerror(i32 noundef %16918) #10
  %16920 = call ptr @__errno_location() #11
  %16921 = load i32, ptr %16920, align 4, !tbaa !5
  %16922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16909, ptr noundef @.str.11, i32 noundef %16910, ptr noundef @.str.108, ptr noundef @.str.7, i32 noundef 638, ptr noundef %16913, ptr noundef %16916, ptr noundef %16919, i32 noundef %16921) #10
  br label %16923

16923:                                            ; preds = %16906, %16889
  call void @llvm.lifetime.end.p0(i64 4, ptr %381) #10
  br label %16924

16924:                                            ; preds = %16923
  br label %16925

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

16926:                                            ; No predecessors!
  br label %16927

16927:                                            ; preds = %16926
  br label %16928

16928:                                            ; preds = %16927, %16869
  br label %16929

16929:                                            ; preds = %16928
  br label %16930

16930:                                            ; preds = %16929
  br label %16931

16931:                                            ; preds = %16930
  %16932 = load i32, ptr @test_count, align 4, !tbaa !5
  %16933 = add nsw i32 %16932, 1
  store i32 %16933, ptr @test_count, align 4, !tbaa !5
  %16934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16935 = load i32, ptr %16934, align 4, !tbaa !5
  %16936 = call ptr @s2n_strerror_debug(i32 noundef %16935, ptr noundef @.str.10)
  %16937 = icmp eq ptr %16936, null
  br i1 %16937, label %16938, label %16991

16938:                                            ; preds = %16931
  br label %16939

16939:                                            ; preds = %16938
  br label %16940

16940:                                            ; preds = %16939
  call void @llvm.lifetime.start.p0(i64 4, ptr %382) #10
  %16941 = call ptr @__errno_location() #11
  %16942 = load i32, ptr %16941, align 4, !tbaa !5
  store i32 %16942, ptr %382, align 4, !tbaa !5
  %16943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16944 = call i32 @s2n_print_stacktrace(ptr noundef %16943)
  %16945 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16946 = trunc i8 %16945 to i1
  br i1 %16946, label %16947, label %16969

16947:                                            ; preds = %16940
  %16948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16949 = call i32 @fileno(ptr noundef %16948) #10
  %16950 = call i32 @isatty(i32 noundef %16949) #10
  %16951 = icmp ne i32 %16950, 0
  br i1 %16951, label %16952, label %16969

16952:                                            ; preds = %16947
  %16953 = load i32, ptr %382, align 4, !tbaa !5
  %16954 = call ptr @__errno_location() #11
  store i32 %16953, ptr %16954, align 4, !tbaa !5
  %16955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16956 = load i32, ptr @test_count, align 4, !tbaa !5
  %16957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16958 = load i32, ptr %16957, align 4, !tbaa !5
  %16959 = call ptr @s2n_strerror(i32 noundef %16958, ptr noundef @.str.10)
  %16960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16961 = load i32, ptr %16960, align 4, !tbaa !5
  %16962 = call ptr @s2n_strerror_debug(i32 noundef %16961, ptr noundef @.str.10)
  %16963 = call ptr @__errno_location() #11
  %16964 = load i32, ptr %16963, align 4, !tbaa !5
  %16965 = call ptr @strerror(i32 noundef %16964) #10
  %16966 = call ptr @__errno_location() #11
  %16967 = load i32, ptr %16966, align 4, !tbaa !5
  %16968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16955, ptr noundef @.str.8, i32 noundef %16956, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 638, ptr noundef %16959, ptr noundef %16962, ptr noundef %16965, i32 noundef %16967) #10
  br label %16986

16969:                                            ; preds = %16947, %16940
  %16970 = load i32, ptr %382, align 4, !tbaa !5
  %16971 = call ptr @__errno_location() #11
  store i32 %16970, ptr %16971, align 4, !tbaa !5
  %16972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16973 = load i32, ptr @test_count, align 4, !tbaa !5
  %16974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16975 = load i32, ptr %16974, align 4, !tbaa !5
  %16976 = call ptr @s2n_strerror(i32 noundef %16975, ptr noundef @.str.10)
  %16977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16978 = load i32, ptr %16977, align 4, !tbaa !5
  %16979 = call ptr @s2n_strerror_debug(i32 noundef %16978, ptr noundef @.str.10)
  %16980 = call ptr @__errno_location() #11
  %16981 = load i32, ptr %16980, align 4, !tbaa !5
  %16982 = call ptr @strerror(i32 noundef %16981) #10
  %16983 = call ptr @__errno_location() #11
  %16984 = load i32, ptr %16983, align 4, !tbaa !5
  %16985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16972, ptr noundef @.str.11, i32 noundef %16973, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 638, ptr noundef %16976, ptr noundef %16979, ptr noundef %16982, i32 noundef %16984) #10
  br label %16986

16986:                                            ; preds = %16969, %16952
  call void @llvm.lifetime.end.p0(i64 4, ptr %382) #10
  br label %16987

16987:                                            ; preds = %16986
  br label %16988

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

16989:                                            ; No predecessors!
  br label %16990

16990:                                            ; preds = %16989
  br label %16991

16991:                                            ; preds = %16990, %16931
  br label %16992

16992:                                            ; preds = %16991
  br label %16993

16993:                                            ; preds = %16992
  br label %16994

16994:                                            ; preds = %16993
  br label %16995

16995:                                            ; preds = %16994
  br label %16996

16996:                                            ; preds = %16995
  %16997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %16997, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %16998 = call ptr @__errno_location() #11
  store i32 0, ptr %16998, align 4, !tbaa !5
  br label %16999

16999:                                            ; preds = %16996
  br label %17000

17000:                                            ; preds = %16999
  br label %17001

17001:                                            ; preds = %17000
  br label %17002

17002:                                            ; preds = %17001
  br label %17003

17003:                                            ; preds = %17002
  br label %17004

17004:                                            ; preds = %17003
  br label %17005

17005:                                            ; preds = %17004
  %17006 = load i32, ptr @test_count, align 4, !tbaa !5
  %17007 = add nsw i32 %17006, 1
  store i32 %17007, ptr @test_count, align 4, !tbaa !5
  %17008 = load ptr, ptr %377, align 8, !tbaa !9
  %17009 = call i32 @s2n_shutdown_send(ptr noundef %17008, ptr noundef null)
  %17010 = icmp eq i32 %17009, -1
  br i1 %17010, label %17064, label %17011

17011:                                            ; preds = %17005
  br label %17012

17012:                                            ; preds = %17011
  br label %17013

17013:                                            ; preds = %17012
  call void @llvm.lifetime.start.p0(i64 4, ptr %383) #10
  %17014 = call ptr @__errno_location() #11
  %17015 = load i32, ptr %17014, align 4, !tbaa !5
  store i32 %17015, ptr %383, align 4, !tbaa !5
  %17016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17017 = call i32 @s2n_print_stacktrace(ptr noundef %17016)
  %17018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17019 = trunc i8 %17018 to i1
  br i1 %17019, label %17020, label %17042

17020:                                            ; preds = %17013
  %17021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17022 = call i32 @fileno(ptr noundef %17021) #10
  %17023 = call i32 @isatty(i32 noundef %17022) #10
  %17024 = icmp ne i32 %17023, 0
  br i1 %17024, label %17025, label %17042

17025:                                            ; preds = %17020
  %17026 = load i32, ptr %383, align 4, !tbaa !5
  %17027 = call ptr @__errno_location() #11
  store i32 %17026, ptr %17027, align 4, !tbaa !5
  %17028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17029 = load i32, ptr @test_count, align 4, !tbaa !5
  %17030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17031 = load i32, ptr %17030, align 4, !tbaa !5
  %17032 = call ptr @s2n_strerror(i32 noundef %17031, ptr noundef @.str.10)
  %17033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17034 = load i32, ptr %17033, align 4, !tbaa !5
  %17035 = call ptr @s2n_strerror_debug(i32 noundef %17034, ptr noundef @.str.10)
  %17036 = call ptr @__errno_location() #11
  %17037 = load i32, ptr %17036, align 4, !tbaa !5
  %17038 = call ptr @strerror(i32 noundef %17037) #10
  %17039 = call ptr @__errno_location() #11
  %17040 = load i32, ptr %17039, align 4, !tbaa !5
  %17041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17028, ptr noundef @.str.8, i32 noundef %17029, ptr noundef @.str.109, ptr noundef @.str.7, i32 noundef 639, ptr noundef %17032, ptr noundef %17035, ptr noundef %17038, i32 noundef %17040) #10
  br label %17059

17042:                                            ; preds = %17020, %17013
  %17043 = load i32, ptr %383, align 4, !tbaa !5
  %17044 = call ptr @__errno_location() #11
  store i32 %17043, ptr %17044, align 4, !tbaa !5
  %17045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17046 = load i32, ptr @test_count, align 4, !tbaa !5
  %17047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17048 = load i32, ptr %17047, align 4, !tbaa !5
  %17049 = call ptr @s2n_strerror(i32 noundef %17048, ptr noundef @.str.10)
  %17050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17051 = load i32, ptr %17050, align 4, !tbaa !5
  %17052 = call ptr @s2n_strerror_debug(i32 noundef %17051, ptr noundef @.str.10)
  %17053 = call ptr @__errno_location() #11
  %17054 = load i32, ptr %17053, align 4, !tbaa !5
  %17055 = call ptr @strerror(i32 noundef %17054) #10
  %17056 = call ptr @__errno_location() #11
  %17057 = load i32, ptr %17056, align 4, !tbaa !5
  %17058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17045, ptr noundef @.str.11, i32 noundef %17046, ptr noundef @.str.109, ptr noundef @.str.7, i32 noundef 639, ptr noundef %17049, ptr noundef %17052, ptr noundef %17055, i32 noundef %17057) #10
  br label %17059

17059:                                            ; preds = %17042, %17025
  call void @llvm.lifetime.end.p0(i64 4, ptr %383) #10
  br label %17060

17060:                                            ; preds = %17059
  br label %17061

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

17062:                                            ; No predecessors!
  br label %17063

17063:                                            ; preds = %17062
  br label %17064

17064:                                            ; preds = %17063, %17005
  br label %17065

17065:                                            ; preds = %17064
  br label %17066

17066:                                            ; preds = %17065
  br label %17067

17067:                                            ; preds = %17066
  %17068 = load i32, ptr @test_count, align 4, !tbaa !5
  %17069 = add nsw i32 %17068, 1
  store i32 %17069, ptr @test_count, align 4, !tbaa !5
  %17070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17071 = load i32, ptr %17070, align 4, !tbaa !5
  %17072 = icmp eq i32 %17071, 402653193
  br i1 %17072, label %17126, label %17073

17073:                                            ; preds = %17067
  br label %17074

17074:                                            ; preds = %17073
  br label %17075

17075:                                            ; preds = %17074
  call void @llvm.lifetime.start.p0(i64 4, ptr %384) #10
  %17076 = call ptr @__errno_location() #11
  %17077 = load i32, ptr %17076, align 4, !tbaa !5
  store i32 %17077, ptr %384, align 4, !tbaa !5
  %17078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17079 = call i32 @s2n_print_stacktrace(ptr noundef %17078)
  %17080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17081 = trunc i8 %17080 to i1
  br i1 %17081, label %17082, label %17104

17082:                                            ; preds = %17075
  %17083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17084 = call i32 @fileno(ptr noundef %17083) #10
  %17085 = call i32 @isatty(i32 noundef %17084) #10
  %17086 = icmp ne i32 %17085, 0
  br i1 %17086, label %17087, label %17104

17087:                                            ; preds = %17082
  %17088 = load i32, ptr %384, align 4, !tbaa !5
  %17089 = call ptr @__errno_location() #11
  store i32 %17088, ptr %17089, align 4, !tbaa !5
  %17090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17091 = load i32, ptr @test_count, align 4, !tbaa !5
  %17092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17093 = load i32, ptr %17092, align 4, !tbaa !5
  %17094 = call ptr @s2n_strerror(i32 noundef %17093, ptr noundef @.str.10)
  %17095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17096 = load i32, ptr %17095, align 4, !tbaa !5
  %17097 = call ptr @s2n_strerror_debug(i32 noundef %17096, ptr noundef @.str.10)
  %17098 = call ptr @__errno_location() #11
  %17099 = load i32, ptr %17098, align 4, !tbaa !5
  %17100 = call ptr @strerror(i32 noundef %17099) #10
  %17101 = call ptr @__errno_location() #11
  %17102 = load i32, ptr %17101, align 4, !tbaa !5
  %17103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17090, ptr noundef @.str.8, i32 noundef %17091, ptr noundef @.str.108, ptr noundef @.str.7, i32 noundef 639, ptr noundef %17094, ptr noundef %17097, ptr noundef %17100, i32 noundef %17102) #10
  br label %17121

17104:                                            ; preds = %17082, %17075
  %17105 = load i32, ptr %384, align 4, !tbaa !5
  %17106 = call ptr @__errno_location() #11
  store i32 %17105, ptr %17106, align 4, !tbaa !5
  %17107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17108 = load i32, ptr @test_count, align 4, !tbaa !5
  %17109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17110 = load i32, ptr %17109, align 4, !tbaa !5
  %17111 = call ptr @s2n_strerror(i32 noundef %17110, ptr noundef @.str.10)
  %17112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17113 = load i32, ptr %17112, align 4, !tbaa !5
  %17114 = call ptr @s2n_strerror_debug(i32 noundef %17113, ptr noundef @.str.10)
  %17115 = call ptr @__errno_location() #11
  %17116 = load i32, ptr %17115, align 4, !tbaa !5
  %17117 = call ptr @strerror(i32 noundef %17116) #10
  %17118 = call ptr @__errno_location() #11
  %17119 = load i32, ptr %17118, align 4, !tbaa !5
  %17120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17107, ptr noundef @.str.11, i32 noundef %17108, ptr noundef @.str.108, ptr noundef @.str.7, i32 noundef 639, ptr noundef %17111, ptr noundef %17114, ptr noundef %17117, i32 noundef %17119) #10
  br label %17121

17121:                                            ; preds = %17104, %17087
  call void @llvm.lifetime.end.p0(i64 4, ptr %384) #10
  br label %17122

17122:                                            ; preds = %17121
  br label %17123

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

17124:                                            ; No predecessors!
  br label %17125

17125:                                            ; preds = %17124
  br label %17126

17126:                                            ; preds = %17125, %17067
  br label %17127

17127:                                            ; preds = %17126
  br label %17128

17128:                                            ; preds = %17127
  br label %17129

17129:                                            ; preds = %17128
  %17130 = load i32, ptr @test_count, align 4, !tbaa !5
  %17131 = add nsw i32 %17130, 1
  store i32 %17131, ptr @test_count, align 4, !tbaa !5
  %17132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17133 = load i32, ptr %17132, align 4, !tbaa !5
  %17134 = call ptr @s2n_strerror_debug(i32 noundef %17133, ptr noundef @.str.10)
  %17135 = icmp eq ptr %17134, null
  br i1 %17135, label %17136, label %17189

17136:                                            ; preds = %17129
  br label %17137

17137:                                            ; preds = %17136
  br label %17138

17138:                                            ; preds = %17137
  call void @llvm.lifetime.start.p0(i64 4, ptr %385) #10
  %17139 = call ptr @__errno_location() #11
  %17140 = load i32, ptr %17139, align 4, !tbaa !5
  store i32 %17140, ptr %385, align 4, !tbaa !5
  %17141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17142 = call i32 @s2n_print_stacktrace(ptr noundef %17141)
  %17143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17144 = trunc i8 %17143 to i1
  br i1 %17144, label %17145, label %17167

17145:                                            ; preds = %17138
  %17146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17147 = call i32 @fileno(ptr noundef %17146) #10
  %17148 = call i32 @isatty(i32 noundef %17147) #10
  %17149 = icmp ne i32 %17148, 0
  br i1 %17149, label %17150, label %17167

17150:                                            ; preds = %17145
  %17151 = load i32, ptr %385, align 4, !tbaa !5
  %17152 = call ptr @__errno_location() #11
  store i32 %17151, ptr %17152, align 4, !tbaa !5
  %17153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17154 = load i32, ptr @test_count, align 4, !tbaa !5
  %17155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17156 = load i32, ptr %17155, align 4, !tbaa !5
  %17157 = call ptr @s2n_strerror(i32 noundef %17156, ptr noundef @.str.10)
  %17158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17159 = load i32, ptr %17158, align 4, !tbaa !5
  %17160 = call ptr @s2n_strerror_debug(i32 noundef %17159, ptr noundef @.str.10)
  %17161 = call ptr @__errno_location() #11
  %17162 = load i32, ptr %17161, align 4, !tbaa !5
  %17163 = call ptr @strerror(i32 noundef %17162) #10
  %17164 = call ptr @__errno_location() #11
  %17165 = load i32, ptr %17164, align 4, !tbaa !5
  %17166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17153, ptr noundef @.str.8, i32 noundef %17154, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 639, ptr noundef %17157, ptr noundef %17160, ptr noundef %17163, i32 noundef %17165) #10
  br label %17184

17167:                                            ; preds = %17145, %17138
  %17168 = load i32, ptr %385, align 4, !tbaa !5
  %17169 = call ptr @__errno_location() #11
  store i32 %17168, ptr %17169, align 4, !tbaa !5
  %17170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17171 = load i32, ptr @test_count, align 4, !tbaa !5
  %17172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17173 = load i32, ptr %17172, align 4, !tbaa !5
  %17174 = call ptr @s2n_strerror(i32 noundef %17173, ptr noundef @.str.10)
  %17175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17176 = load i32, ptr %17175, align 4, !tbaa !5
  %17177 = call ptr @s2n_strerror_debug(i32 noundef %17176, ptr noundef @.str.10)
  %17178 = call ptr @__errno_location() #11
  %17179 = load i32, ptr %17178, align 4, !tbaa !5
  %17180 = call ptr @strerror(i32 noundef %17179) #10
  %17181 = call ptr @__errno_location() #11
  %17182 = load i32, ptr %17181, align 4, !tbaa !5
  %17183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17170, ptr noundef @.str.11, i32 noundef %17171, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 639, ptr noundef %17174, ptr noundef %17177, ptr noundef %17180, i32 noundef %17182) #10
  br label %17184

17184:                                            ; preds = %17167, %17150
  call void @llvm.lifetime.end.p0(i64 4, ptr %385) #10
  br label %17185

17185:                                            ; preds = %17184
  br label %17186

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

17187:                                            ; No predecessors!
  br label %17188

17188:                                            ; preds = %17187
  br label %17189

17189:                                            ; preds = %17188, %17129
  br label %17190

17190:                                            ; preds = %17189
  br label %17191

17191:                                            ; preds = %17190
  br label %17192

17192:                                            ; preds = %17191
  br label %17193

17193:                                            ; preds = %17192
  br label %17194

17194:                                            ; preds = %17193
  %17195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %17195, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %17196 = call ptr @__errno_location() #11
  store i32 0, ptr %17196, align 4, !tbaa !5
  br label %17197

17197:                                            ; preds = %17194
  br label %17198

17198:                                            ; preds = %17197
  br label %17199

17199:                                            ; preds = %17198
  br label %17200

17200:                                            ; preds = %17199
  call void @llvm.lifetime.end.p0(i64 4, ptr %379) #10
  %17201 = call i32 @s2n_connection_ptr_free(ptr noundef %377)
  %17202 = getelementptr inbounds %struct.s2n_result, ptr %386, i32 0, i32 0
  store i32 %17201, ptr %17202, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %377) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %387) #10
  %17203 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %17203, ptr %387, align 8, !tbaa !9
  br label %17204

17204:                                            ; preds = %17200
  %17205 = load i32, ptr @test_count, align 4, !tbaa !5
  %17206 = add nsw i32 %17205, 1
  store i32 %17206, ptr @test_count, align 4, !tbaa !5
  %17207 = load ptr, ptr %387, align 8, !tbaa !9
  %17208 = icmp eq ptr %17207, null
  br i1 %17208, label %17209, label %17262

17209:                                            ; preds = %17204
  br label %17210

17210:                                            ; preds = %17209
  br label %17211

17211:                                            ; preds = %17210
  call void @llvm.lifetime.start.p0(i64 4, ptr %388) #10
  %17212 = call ptr @__errno_location() #11
  %17213 = load i32, ptr %17212, align 4, !tbaa !5
  store i32 %17213, ptr %388, align 4, !tbaa !5
  %17214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17215 = call i32 @s2n_print_stacktrace(ptr noundef %17214)
  %17216 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17217 = trunc i8 %17216 to i1
  br i1 %17217, label %17218, label %17240

17218:                                            ; preds = %17211
  %17219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17220 = call i32 @fileno(ptr noundef %17219) #10
  %17221 = call i32 @isatty(i32 noundef %17220) #10
  %17222 = icmp ne i32 %17221, 0
  br i1 %17222, label %17223, label %17240

17223:                                            ; preds = %17218
  %17224 = load i32, ptr %388, align 4, !tbaa !5
  %17225 = call ptr @__errno_location() #11
  store i32 %17224, ptr %17225, align 4, !tbaa !5
  %17226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17227 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %17229, ptr noundef @.str.10)
  %17231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17232 = load i32, ptr %17231, align 4, !tbaa !5
  %17233 = call ptr @s2n_strerror_debug(i32 noundef %17232, ptr noundef @.str.10)
  %17234 = call ptr @__errno_location() #11
  %17235 = load i32, ptr %17234, align 4, !tbaa !5
  %17236 = call ptr @strerror(i32 noundef %17235) #10
  %17237 = call ptr @__errno_location() #11
  %17238 = load i32, ptr %17237, align 4, !tbaa !5
  %17239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17226, ptr noundef @.str.8, i32 noundef %17227, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 646, ptr noundef %17230, ptr noundef %17233, ptr noundef %17236, i32 noundef %17238) #10
  br label %17257

17240:                                            ; preds = %17218, %17211
  %17241 = load i32, ptr %388, align 4, !tbaa !5
  %17242 = call ptr @__errno_location() #11
  store i32 %17241, ptr %17242, align 4, !tbaa !5
  %17243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17244 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %17246, ptr noundef @.str.10)
  %17248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17249 = load i32, ptr %17248, align 4, !tbaa !5
  %17250 = call ptr @s2n_strerror_debug(i32 noundef %17249, ptr noundef @.str.10)
  %17251 = call ptr @__errno_location() #11
  %17252 = load i32, ptr %17251, align 4, !tbaa !5
  %17253 = call ptr @strerror(i32 noundef %17252) #10
  %17254 = call ptr @__errno_location() #11
  %17255 = load i32, ptr %17254, align 4, !tbaa !5
  %17256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17243, ptr noundef @.str.11, i32 noundef %17244, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 646, ptr noundef %17247, ptr noundef %17250, ptr noundef %17253, i32 noundef %17255) #10
  br label %17257

17257:                                            ; preds = %17240, %17223
  call void @llvm.lifetime.end.p0(i64 4, ptr %388) #10
  br label %17258

17258:                                            ; preds = %17257
  br label %17259

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

17260:                                            ; No predecessors!
  br label %17261

17261:                                            ; preds = %17260
  br label %17262

17262:                                            ; preds = %17261, %17204
  br label %17263

17263:                                            ; preds = %17262
  br label %17264

17264:                                            ; preds = %17263
  call void @llvm.lifetime.start.p0(i64 4, ptr %389) #10
  store i32 0, ptr %389, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr %390) #10
  call void @llvm.memset.p0.i64(ptr align 8 %390, i8 0, i64 40, i1 false)
  br label %17265

17265:                                            ; preds = %17264
  %17266 = load i32, ptr @test_count, align 4, !tbaa !5
  %17267 = add nsw i32 %17266, 1
  store i32 %17267, ptr @test_count, align 4, !tbaa !5
  %17268 = load ptr, ptr %387, align 8, !tbaa !9
  %17269 = call i32 @s2n_connection_set_send_io_stuffer(ptr noundef %390, ptr noundef %17268)
  %17270 = icmp eq i32 %17269, -1
  br i1 %17270, label %17271, label %17324

17271:                                            ; preds = %17265
  br label %17272

17272:                                            ; preds = %17271
  br label %17273

17273:                                            ; preds = %17272
  call void @llvm.lifetime.start.p0(i64 4, ptr %391) #10
  %17274 = call ptr @__errno_location() #11
  %17275 = load i32, ptr %17274, align 4, !tbaa !5
  store i32 %17275, ptr %391, align 4, !tbaa !5
  %17276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17277 = call i32 @s2n_print_stacktrace(ptr noundef %17276)
  %17278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17279 = trunc i8 %17278 to i1
  br i1 %17279, label %17280, label %17302

17280:                                            ; preds = %17273
  %17281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17282 = call i32 @fileno(ptr noundef %17281) #10
  %17283 = call i32 @isatty(i32 noundef %17282) #10
  %17284 = icmp ne i32 %17283, 0
  br i1 %17284, label %17285, label %17302

17285:                                            ; preds = %17280
  %17286 = load i32, ptr %391, align 4, !tbaa !5
  %17287 = call ptr @__errno_location() #11
  store i32 %17286, ptr %17287, align 4, !tbaa !5
  %17288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17289 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %17291, ptr noundef @.str.10)
  %17293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17294 = load i32, ptr %17293, align 4, !tbaa !5
  %17295 = call ptr @s2n_strerror_debug(i32 noundef %17294, ptr noundef @.str.10)
  %17296 = call ptr @__errno_location() #11
  %17297 = load i32, ptr %17296, align 4, !tbaa !5
  %17298 = call ptr @strerror(i32 noundef %17297) #10
  %17299 = call ptr @__errno_location() #11
  %17300 = load i32, ptr %17299, align 4, !tbaa !5
  %17301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17288, ptr noundef @.str.8, i32 noundef %17289, ptr noundef @.str.24, ptr noundef @.str.7, i32 noundef 655, ptr noundef %17292, ptr noundef %17295, ptr noundef %17298, i32 noundef %17300) #10
  br label %17319

17302:                                            ; preds = %17280, %17273
  %17303 = load i32, ptr %391, align 4, !tbaa !5
  %17304 = call ptr @__errno_location() #11
  store i32 %17303, ptr %17304, align 4, !tbaa !5
  %17305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17306 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %17308, ptr noundef @.str.10)
  %17310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17311 = load i32, ptr %17310, align 4, !tbaa !5
  %17312 = call ptr @s2n_strerror_debug(i32 noundef %17311, ptr noundef @.str.10)
  %17313 = call ptr @__errno_location() #11
  %17314 = load i32, ptr %17313, align 4, !tbaa !5
  %17315 = call ptr @strerror(i32 noundef %17314) #10
  %17316 = call ptr @__errno_location() #11
  %17317 = load i32, ptr %17316, align 4, !tbaa !5
  %17318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17305, ptr noundef @.str.11, i32 noundef %17306, ptr noundef @.str.24, ptr noundef @.str.7, i32 noundef 655, ptr noundef %17309, ptr noundef %17312, ptr noundef %17315, i32 noundef %17317) #10
  br label %17319

17319:                                            ; preds = %17302, %17285
  call void @llvm.lifetime.end.p0(i64 4, ptr %391) #10
  br label %17320

17320:                                            ; preds = %17319
  br label %17321

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

17322:                                            ; No predecessors!
  br label %17323

17323:                                            ; preds = %17322
  br label %17324

17324:                                            ; preds = %17323, %17265
  br label %17325

17325:                                            ; preds = %17324
  br label %17326

17326:                                            ; preds = %17325
  br label %17327

17327:                                            ; preds = %17326
  %17328 = load i32, ptr @test_count, align 4, !tbaa !5
  %17329 = add nsw i32 %17328, 1
  store i32 %17329, ptr @test_count, align 4, !tbaa !5
  %17330 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %390, i32 noundef 0)
  %17331 = icmp eq i32 %17330, -1
  br i1 %17331, label %17332, label %17385

17332:                                            ; preds = %17327
  br label %17333

17333:                                            ; preds = %17332
  br label %17334

17334:                                            ; preds = %17333
  call void @llvm.lifetime.start.p0(i64 4, ptr %392) #10
  %17335 = call ptr @__errno_location() #11
  %17336 = load i32, ptr %17335, align 4, !tbaa !5
  store i32 %17336, ptr %392, align 4, !tbaa !5
  %17337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17338 = call i32 @s2n_print_stacktrace(ptr noundef %17337)
  %17339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17340 = trunc i8 %17339 to i1
  br i1 %17340, label %17341, label %17363

17341:                                            ; preds = %17334
  %17342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17343 = call i32 @fileno(ptr noundef %17342) #10
  %17344 = call i32 @isatty(i32 noundef %17343) #10
  %17345 = icmp ne i32 %17344, 0
  br i1 %17345, label %17346, label %17363

17346:                                            ; preds = %17341
  %17347 = load i32, ptr %392, align 4, !tbaa !5
  %17348 = call ptr @__errno_location() #11
  store i32 %17347, ptr %17348, align 4, !tbaa !5
  %17349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17350 = load i32, ptr @test_count, align 4, !tbaa !5
  %17351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17352 = load i32, ptr %17351, align 4, !tbaa !5
  %17353 = call ptr @s2n_strerror(i32 noundef %17352, ptr noundef @.str.10)
  %17354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17355 = load i32, ptr %17354, align 4, !tbaa !5
  %17356 = call ptr @s2n_strerror_debug(i32 noundef %17355, ptr noundef @.str.10)
  %17357 = call ptr @__errno_location() #11
  %17358 = load i32, ptr %17357, align 4, !tbaa !5
  %17359 = call ptr @strerror(i32 noundef %17358) #10
  %17360 = call ptr @__errno_location() #11
  %17361 = load i32, ptr %17360, align 4, !tbaa !5
  %17362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17349, ptr noundef @.str.8, i32 noundef %17350, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 656, ptr noundef %17353, ptr noundef %17356, ptr noundef %17359, i32 noundef %17361) #10
  br label %17380

17363:                                            ; preds = %17341, %17334
  %17364 = load i32, ptr %392, align 4, !tbaa !5
  %17365 = call ptr @__errno_location() #11
  store i32 %17364, ptr %17365, align 4, !tbaa !5
  %17366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17367 = load i32, ptr @test_count, align 4, !tbaa !5
  %17368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17369 = load i32, ptr %17368, align 4, !tbaa !5
  %17370 = call ptr @s2n_strerror(i32 noundef %17369, ptr noundef @.str.10)
  %17371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17372 = load i32, ptr %17371, align 4, !tbaa !5
  %17373 = call ptr @s2n_strerror_debug(i32 noundef %17372, ptr noundef @.str.10)
  %17374 = call ptr @__errno_location() #11
  %17375 = load i32, ptr %17374, align 4, !tbaa !5
  %17376 = call ptr @strerror(i32 noundef %17375) #10
  %17377 = call ptr @__errno_location() #11
  %17378 = load i32, ptr %17377, align 4, !tbaa !5
  %17379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17366, ptr noundef @.str.11, i32 noundef %17367, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 656, ptr noundef %17370, ptr noundef %17373, ptr noundef %17376, i32 noundef %17378) #10
  br label %17380

17380:                                            ; preds = %17363, %17346
  call void @llvm.lifetime.end.p0(i64 4, ptr %392) #10
  br label %17381

17381:                                            ; preds = %17380
  br label %17382

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

17383:                                            ; No predecessors!
  br label %17384

17384:                                            ; preds = %17383
  br label %17385

17385:                                            ; preds = %17384, %17327
  br label %17386

17386:                                            ; preds = %17385
  br label %17387

17387:                                            ; preds = %17386
  br label %17388

17388:                                            ; preds = %17387
  %17389 = load i32, ptr @test_count, align 4, !tbaa !5
  %17390 = add nsw i32 %17389, 1
  store i32 %17390, ptr @test_count, align 4, !tbaa !5
  %17391 = load ptr, ptr %387, align 8, !tbaa !9
  %17392 = call i32 @s2n_skip_handshake(ptr noundef %17391)
  %17393 = getelementptr inbounds %struct.s2n_result, ptr %393, i32 0, i32 0
  store i32 %17392, ptr %17393, align 4
  %17394 = getelementptr inbounds %struct.s2n_result, ptr %393, i32 0, i32 0
  %17395 = load i32, ptr %17394, align 4
  %17396 = call zeroext i1 @s2n_result_is_ok(i32 %17395)
  br i1 %17396, label %17450, label %17397

17397:                                            ; preds = %17388
  br label %17398

17398:                                            ; preds = %17397
  br label %17399

17399:                                            ; preds = %17398
  call void @llvm.lifetime.start.p0(i64 4, ptr %394) #10
  %17400 = call ptr @__errno_location() #11
  %17401 = load i32, ptr %17400, align 4, !tbaa !5
  store i32 %17401, ptr %394, align 4, !tbaa !5
  %17402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17403 = call i32 @s2n_print_stacktrace(ptr noundef %17402)
  %17404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17405 = trunc i8 %17404 to i1
  br i1 %17405, label %17406, label %17428

17406:                                            ; preds = %17399
  %17407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17408 = call i32 @fileno(ptr noundef %17407) #10
  %17409 = call i32 @isatty(i32 noundef %17408) #10
  %17410 = icmp ne i32 %17409, 0
  br i1 %17410, label %17411, label %17428

17411:                                            ; preds = %17406
  %17412 = load i32, ptr %394, align 4, !tbaa !5
  %17413 = call ptr @__errno_location() #11
  store i32 %17412, ptr %17413, align 4, !tbaa !5
  %17414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17415 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %17417, ptr noundef @.str.10)
  %17419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17420 = load i32, ptr %17419, align 4, !tbaa !5
  %17421 = call ptr @s2n_strerror_debug(i32 noundef %17420, ptr noundef @.str.10)
  %17422 = call ptr @__errno_location() #11
  %17423 = load i32, ptr %17422, align 4, !tbaa !5
  %17424 = call ptr @strerror(i32 noundef %17423) #10
  %17425 = call ptr @__errno_location() #11
  %17426 = load i32, ptr %17425, align 4, !tbaa !5
  %17427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17414, ptr noundef @.str.8, i32 noundef %17415, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 662, ptr noundef %17418, ptr noundef %17421, ptr noundef %17424, i32 noundef %17426) #10
  br label %17445

17428:                                            ; preds = %17406, %17399
  %17429 = load i32, ptr %394, align 4, !tbaa !5
  %17430 = call ptr @__errno_location() #11
  store i32 %17429, ptr %17430, align 4, !tbaa !5
  %17431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17432 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %17434, ptr noundef @.str.10)
  %17436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17437 = load i32, ptr %17436, align 4, !tbaa !5
  %17438 = call ptr @s2n_strerror_debug(i32 noundef %17437, ptr noundef @.str.10)
  %17439 = call ptr @__errno_location() #11
  %17440 = load i32, ptr %17439, align 4, !tbaa !5
  %17441 = call ptr @strerror(i32 noundef %17440) #10
  %17442 = call ptr @__errno_location() #11
  %17443 = load i32, ptr %17442, align 4, !tbaa !5
  %17444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17431, ptr noundef @.str.11, i32 noundef %17432, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 662, ptr noundef %17435, ptr noundef %17438, ptr noundef %17441, i32 noundef %17443) #10
  br label %17445

17445:                                            ; preds = %17428, %17411
  call void @llvm.lifetime.end.p0(i64 4, ptr %394) #10
  br label %17446

17446:                                            ; preds = %17445
  br label %17447

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

17448:                                            ; No predecessors!
  br label %17449

17449:                                            ; preds = %17448
  br label %17450

17450:                                            ; preds = %17449, %17388
  br label %17451

17451:                                            ; preds = %17450
  br label %17452

17452:                                            ; preds = %17451
  br label %17453

17453:                                            ; preds = %17452
  %17454 = load i32, ptr @test_count, align 4, !tbaa !5
  %17455 = add nsw i32 %17454, 1
  store i32 %17455, ptr @test_count, align 4, !tbaa !5
  %17456 = load ptr, ptr %387, align 8, !tbaa !9
  %17457 = call i32 @s2n_shutdown_send(ptr noundef %17456, ptr noundef %389)
  %17458 = icmp eq i32 %17457, -1
  br i1 %17458, label %17459, label %17512

17459:                                            ; preds = %17453
  br label %17460

17460:                                            ; preds = %17459
  br label %17461

17461:                                            ; preds = %17460
  call void @llvm.lifetime.start.p0(i64 4, ptr %395) #10
  %17462 = call ptr @__errno_location() #11
  %17463 = load i32, ptr %17462, align 4, !tbaa !5
  store i32 %17463, ptr %395, align 4, !tbaa !5
  %17464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17465 = call i32 @s2n_print_stacktrace(ptr noundef %17464)
  %17466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17467 = trunc i8 %17466 to i1
  br i1 %17467, label %17468, label %17490

17468:                                            ; preds = %17461
  %17469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17470 = call i32 @fileno(ptr noundef %17469) #10
  %17471 = call i32 @isatty(i32 noundef %17470) #10
  %17472 = icmp ne i32 %17471, 0
  br i1 %17472, label %17473, label %17490

17473:                                            ; preds = %17468
  %17474 = load i32, ptr %395, align 4, !tbaa !5
  %17475 = call ptr @__errno_location() #11
  store i32 %17474, ptr %17475, align 4, !tbaa !5
  %17476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17477 = load i32, ptr @test_count, align 4, !tbaa !5
  %17478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17479 = load i32, ptr %17478, align 4, !tbaa !5
  %17480 = call ptr @s2n_strerror(i32 noundef %17479, ptr noundef @.str.10)
  %17481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17482 = load i32, ptr %17481, align 4, !tbaa !5
  %17483 = call ptr @s2n_strerror_debug(i32 noundef %17482, ptr noundef @.str.10)
  %17484 = call ptr @__errno_location() #11
  %17485 = load i32, ptr %17484, align 4, !tbaa !5
  %17486 = call ptr @strerror(i32 noundef %17485) #10
  %17487 = call ptr @__errno_location() #11
  %17488 = load i32, ptr %17487, align 4, !tbaa !5
  %17489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17476, ptr noundef @.str.8, i32 noundef %17477, ptr noundef @.str.110, ptr noundef @.str.7, i32 noundef 665, ptr noundef %17480, ptr noundef %17483, ptr noundef %17486, i32 noundef %17488) #10
  br label %17507

17490:                                            ; preds = %17468, %17461
  %17491 = load i32, ptr %395, align 4, !tbaa !5
  %17492 = call ptr @__errno_location() #11
  store i32 %17491, ptr %17492, align 4, !tbaa !5
  %17493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17494 = load i32, ptr @test_count, align 4, !tbaa !5
  %17495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17496 = load i32, ptr %17495, align 4, !tbaa !5
  %17497 = call ptr @s2n_strerror(i32 noundef %17496, ptr noundef @.str.10)
  %17498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17499 = load i32, ptr %17498, align 4, !tbaa !5
  %17500 = call ptr @s2n_strerror_debug(i32 noundef %17499, ptr noundef @.str.10)
  %17501 = call ptr @__errno_location() #11
  %17502 = load i32, ptr %17501, align 4, !tbaa !5
  %17503 = call ptr @strerror(i32 noundef %17502) #10
  %17504 = call ptr @__errno_location() #11
  %17505 = load i32, ptr %17504, align 4, !tbaa !5
  %17506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17493, ptr noundef @.str.11, i32 noundef %17494, ptr noundef @.str.110, ptr noundef @.str.7, i32 noundef 665, ptr noundef %17497, ptr noundef %17500, ptr noundef %17503, i32 noundef %17505) #10
  br label %17507

17507:                                            ; preds = %17490, %17473
  call void @llvm.lifetime.end.p0(i64 4, ptr %395) #10
  br label %17508

17508:                                            ; preds = %17507
  br label %17509

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

17510:                                            ; No predecessors!
  br label %17511

17511:                                            ; preds = %17510
  br label %17512

17512:                                            ; preds = %17511, %17453
  br label %17513

17513:                                            ; preds = %17512
  br label %17514

17514:                                            ; preds = %17513
  br label %17515

17515:                                            ; preds = %17514
  %17516 = load i32, ptr @test_count, align 4, !tbaa !5
  %17517 = add nsw i32 %17516, 1
  store i32 %17517, ptr @test_count, align 4, !tbaa !5
  %17518 = load i32, ptr %389, align 4, !tbaa !5
  %17519 = icmp eq i32 %17518, 0
  br i1 %17519, label %17573, label %17520

17520:                                            ; preds = %17515
  br label %17521

17521:                                            ; preds = %17520
  br label %17522

17522:                                            ; preds = %17521
  call void @llvm.lifetime.start.p0(i64 4, ptr %396) #10
  %17523 = call ptr @__errno_location() #11
  %17524 = load i32, ptr %17523, align 4, !tbaa !5
  store i32 %17524, ptr %396, align 4, !tbaa !5
  %17525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17526 = call i32 @s2n_print_stacktrace(ptr noundef %17525)
  %17527 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17528 = trunc i8 %17527 to i1
  br i1 %17528, label %17529, label %17551

17529:                                            ; preds = %17522
  %17530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17531 = call i32 @fileno(ptr noundef %17530) #10
  %17532 = call i32 @isatty(i32 noundef %17531) #10
  %17533 = icmp ne i32 %17532, 0
  br i1 %17533, label %17534, label %17551

17534:                                            ; preds = %17529
  %17535 = load i32, ptr %396, align 4, !tbaa !5
  %17536 = call ptr @__errno_location() #11
  store i32 %17535, ptr %17536, align 4, !tbaa !5
  %17537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17538 = load i32, ptr @test_count, align 4, !tbaa !5
  %17539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17540 = load i32, ptr %17539, align 4, !tbaa !5
  %17541 = call ptr @s2n_strerror(i32 noundef %17540, ptr noundef @.str.10)
  %17542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17543 = load i32, ptr %17542, align 4, !tbaa !5
  %17544 = call ptr @s2n_strerror_debug(i32 noundef %17543, ptr noundef @.str.10)
  %17545 = call ptr @__errno_location() #11
  %17546 = load i32, ptr %17545, align 4, !tbaa !5
  %17547 = call ptr @strerror(i32 noundef %17546) #10
  %17548 = call ptr @__errno_location() #11
  %17549 = load i32, ptr %17548, align 4, !tbaa !5
  %17550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17537, ptr noundef @.str.8, i32 noundef %17538, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 666, ptr noundef %17541, ptr noundef %17544, ptr noundef %17547, i32 noundef %17549) #10
  br label %17568

17551:                                            ; preds = %17529, %17522
  %17552 = load i32, ptr %396, align 4, !tbaa !5
  %17553 = call ptr @__errno_location() #11
  store i32 %17552, ptr %17553, align 4, !tbaa !5
  %17554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17555 = load i32, ptr @test_count, align 4, !tbaa !5
  %17556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17557 = load i32, ptr %17556, align 4, !tbaa !5
  %17558 = call ptr @s2n_strerror(i32 noundef %17557, ptr noundef @.str.10)
  %17559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17560 = load i32, ptr %17559, align 4, !tbaa !5
  %17561 = call ptr @s2n_strerror_debug(i32 noundef %17560, ptr noundef @.str.10)
  %17562 = call ptr @__errno_location() #11
  %17563 = load i32, ptr %17562, align 4, !tbaa !5
  %17564 = call ptr @strerror(i32 noundef %17563) #10
  %17565 = call ptr @__errno_location() #11
  %17566 = load i32, ptr %17565, align 4, !tbaa !5
  %17567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17554, ptr noundef @.str.11, i32 noundef %17555, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 666, ptr noundef %17558, ptr noundef %17561, ptr noundef %17564, i32 noundef %17566) #10
  br label %17568

17568:                                            ; preds = %17551, %17534
  call void @llvm.lifetime.end.p0(i64 4, ptr %396) #10
  br label %17569

17569:                                            ; preds = %17568
  br label %17570

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

17571:                                            ; No predecessors!
  br label %17572

17572:                                            ; preds = %17571
  br label %17573

17573:                                            ; preds = %17572, %17515
  br label %17574

17574:                                            ; preds = %17573
  br label %17575

17575:                                            ; preds = %17574
  br label %17576

17576:                                            ; preds = %17575
  %17577 = load i32, ptr @test_count, align 4, !tbaa !5
  %17578 = add nsw i32 %17577, 1
  store i32 %17578, ptr @test_count, align 4, !tbaa !5
  %17579 = load ptr, ptr %387, align 8, !tbaa !9
  %17580 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %17579, i32 noundef 0)
  br i1 %17580, label %17581, label %17634

17581:                                            ; preds = %17576
  br label %17582

17582:                                            ; preds = %17581
  br label %17583

17583:                                            ; preds = %17582
  call void @llvm.lifetime.start.p0(i64 4, ptr %397) #10
  %17584 = call ptr @__errno_location() #11
  %17585 = load i32, ptr %17584, align 4, !tbaa !5
  store i32 %17585, ptr %397, align 4, !tbaa !5
  %17586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17587 = call i32 @s2n_print_stacktrace(ptr noundef %17586)
  %17588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17589 = trunc i8 %17588 to i1
  br i1 %17589, label %17590, label %17612

17590:                                            ; preds = %17583
  %17591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17592 = call i32 @fileno(ptr noundef %17591) #10
  %17593 = call i32 @isatty(i32 noundef %17592) #10
  %17594 = icmp ne i32 %17593, 0
  br i1 %17594, label %17595, label %17612

17595:                                            ; preds = %17590
  %17596 = load i32, ptr %397, align 4, !tbaa !5
  %17597 = call ptr @__errno_location() #11
  store i32 %17596, ptr %17597, align 4, !tbaa !5
  %17598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17599 = load i32, ptr @test_count, align 4, !tbaa !5
  %17600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17601 = load i32, ptr %17600, align 4, !tbaa !5
  %17602 = call ptr @s2n_strerror(i32 noundef %17601, ptr noundef @.str.10)
  %17603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17604 = load i32, ptr %17603, align 4, !tbaa !5
  %17605 = call ptr @s2n_strerror_debug(i32 noundef %17604, ptr noundef @.str.10)
  %17606 = call ptr @__errno_location() #11
  %17607 = load i32, ptr %17606, align 4, !tbaa !5
  %17608 = call ptr @strerror(i32 noundef %17607) #10
  %17609 = call ptr @__errno_location() #11
  %17610 = load i32, ptr %17609, align 4, !tbaa !5
  %17611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17598, ptr noundef @.str.8, i32 noundef %17599, ptr noundef @.str.46, ptr noundef @.str.7, i32 noundef 667, ptr noundef %17602, ptr noundef %17605, ptr noundef %17608, i32 noundef %17610) #10
  br label %17629

17612:                                            ; preds = %17590, %17583
  %17613 = load i32, ptr %397, align 4, !tbaa !5
  %17614 = call ptr @__errno_location() #11
  store i32 %17613, ptr %17614, align 4, !tbaa !5
  %17615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17616 = load i32, ptr @test_count, align 4, !tbaa !5
  %17617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17618 = load i32, ptr %17617, align 4, !tbaa !5
  %17619 = call ptr @s2n_strerror(i32 noundef %17618, ptr noundef @.str.10)
  %17620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17621 = load i32, ptr %17620, align 4, !tbaa !5
  %17622 = call ptr @s2n_strerror_debug(i32 noundef %17621, ptr noundef @.str.10)
  %17623 = call ptr @__errno_location() #11
  %17624 = load i32, ptr %17623, align 4, !tbaa !5
  %17625 = call ptr @strerror(i32 noundef %17624) #10
  %17626 = call ptr @__errno_location() #11
  %17627 = load i32, ptr %17626, align 4, !tbaa !5
  %17628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17615, ptr noundef @.str.11, i32 noundef %17616, ptr noundef @.str.46, ptr noundef @.str.7, i32 noundef 667, ptr noundef %17619, ptr noundef %17622, ptr noundef %17625, i32 noundef %17627) #10
  br label %17629

17629:                                            ; preds = %17612, %17595
  call void @llvm.lifetime.end.p0(i64 4, ptr %397) #10
  br label %17630

17630:                                            ; preds = %17629
  br label %17631

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

17632:                                            ; No predecessors!
  br label %17633

17633:                                            ; preds = %17632
  br label %17634

17634:                                            ; preds = %17633, %17576
  br label %17635

17635:                                            ; preds = %17634
  br label %17636

17636:                                            ; preds = %17635
  br label %17637

17637:                                            ; preds = %17636
  %17638 = load i32, ptr @test_count, align 4, !tbaa !5
  %17639 = add nsw i32 %17638, 1
  store i32 %17639, ptr @test_count, align 4, !tbaa !5
  %17640 = load ptr, ptr %387, align 8, !tbaa !9
  %17641 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %17640, i32 noundef 1)
  br i1 %17641, label %17695, label %17642

17642:                                            ; preds = %17637
  br label %17643

17643:                                            ; preds = %17642
  br label %17644

17644:                                            ; preds = %17643
  call void @llvm.lifetime.start.p0(i64 4, ptr %398) #10
  %17645 = call ptr @__errno_location() #11
  %17646 = load i32, ptr %17645, align 4, !tbaa !5
  store i32 %17646, ptr %398, align 4, !tbaa !5
  %17647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17648 = call i32 @s2n_print_stacktrace(ptr noundef %17647)
  %17649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17650 = trunc i8 %17649 to i1
  br i1 %17650, label %17651, label %17673

17651:                                            ; preds = %17644
  %17652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17653 = call i32 @fileno(ptr noundef %17652) #10
  %17654 = call i32 @isatty(i32 noundef %17653) #10
  %17655 = icmp ne i32 %17654, 0
  br i1 %17655, label %17656, label %17673

17656:                                            ; preds = %17651
  %17657 = load i32, ptr %398, align 4, !tbaa !5
  %17658 = call ptr @__errno_location() #11
  store i32 %17657, ptr %17658, align 4, !tbaa !5
  %17659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17660 = load i32, ptr @test_count, align 4, !tbaa !5
  %17661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17662 = load i32, ptr %17661, align 4, !tbaa !5
  %17663 = call ptr @s2n_strerror(i32 noundef %17662, ptr noundef @.str.10)
  %17664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17665 = load i32, ptr %17664, align 4, !tbaa !5
  %17666 = call ptr @s2n_strerror_debug(i32 noundef %17665, ptr noundef @.str.10)
  %17667 = call ptr @__errno_location() #11
  %17668 = load i32, ptr %17667, align 4, !tbaa !5
  %17669 = call ptr @strerror(i32 noundef %17668) #10
  %17670 = call ptr @__errno_location() #11
  %17671 = load i32, ptr %17670, align 4, !tbaa !5
  %17672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17659, ptr noundef @.str.8, i32 noundef %17660, ptr noundef @.str.59, ptr noundef @.str.7, i32 noundef 668, ptr noundef %17663, ptr noundef %17666, ptr noundef %17669, i32 noundef %17671) #10
  br label %17690

17673:                                            ; preds = %17651, %17644
  %17674 = load i32, ptr %398, align 4, !tbaa !5
  %17675 = call ptr @__errno_location() #11
  store i32 %17674, ptr %17675, align 4, !tbaa !5
  %17676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17677 = load i32, ptr @test_count, align 4, !tbaa !5
  %17678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17679 = load i32, ptr %17678, align 4, !tbaa !5
  %17680 = call ptr @s2n_strerror(i32 noundef %17679, ptr noundef @.str.10)
  %17681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17682 = load i32, ptr %17681, align 4, !tbaa !5
  %17683 = call ptr @s2n_strerror_debug(i32 noundef %17682, ptr noundef @.str.10)
  %17684 = call ptr @__errno_location() #11
  %17685 = load i32, ptr %17684, align 4, !tbaa !5
  %17686 = call ptr @strerror(i32 noundef %17685) #10
  %17687 = call ptr @__errno_location() #11
  %17688 = load i32, ptr %17687, align 4, !tbaa !5
  %17689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17676, ptr noundef @.str.11, i32 noundef %17677, ptr noundef @.str.59, ptr noundef @.str.7, i32 noundef 668, ptr noundef %17680, ptr noundef %17683, ptr noundef %17686, i32 noundef %17688) #10
  br label %17690

17690:                                            ; preds = %17673, %17656
  call void @llvm.lifetime.end.p0(i64 4, ptr %398) #10
  br label %17691

17691:                                            ; preds = %17690
  br label %17692

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

17693:                                            ; No predecessors!
  br label %17694

17694:                                            ; preds = %17693
  br label %17695

17695:                                            ; preds = %17694, %17637
  br label %17696

17696:                                            ; preds = %17695
  br label %17697

17697:                                            ; preds = %17696
  br label %17698

17698:                                            ; preds = %17697
  %17699 = load i32, ptr @test_count, align 4, !tbaa !5
  %17700 = add nsw i32 %17699, 1
  store i32 %17700, ptr @test_count, align 4, !tbaa !5
  %17701 = getelementptr inbounds %struct.s2n_stuffer, ptr %390, i32 0, i32 2
  %17702 = load i32, ptr %17701, align 4, !tbaa !43
  %17703 = getelementptr inbounds %struct.s2n_stuffer, ptr %390, i32 0, i32 1
  %17704 = load i32, ptr %17703, align 8, !tbaa !44
  %17705 = sub i32 %17702, %17704
  %17706 = icmp eq i32 %17705, 7
  br i1 %17706, label %17760, label %17707

17707:                                            ; preds = %17698
  br label %17708

17708:                                            ; preds = %17707
  br label %17709

17709:                                            ; preds = %17708
  call void @llvm.lifetime.start.p0(i64 4, ptr %399) #10
  %17710 = call ptr @__errno_location() #11
  %17711 = load i32, ptr %17710, align 4, !tbaa !5
  store i32 %17711, ptr %399, align 4, !tbaa !5
  %17712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17713 = call i32 @s2n_print_stacktrace(ptr noundef %17712)
  %17714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17715 = trunc i8 %17714 to i1
  br i1 %17715, label %17716, label %17738

17716:                                            ; preds = %17709
  %17717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17718 = call i32 @fileno(ptr noundef %17717) #10
  %17719 = call i32 @isatty(i32 noundef %17718) #10
  %17720 = icmp ne i32 %17719, 0
  br i1 %17720, label %17721, label %17738

17721:                                            ; preds = %17716
  %17722 = load i32, ptr %399, align 4, !tbaa !5
  %17723 = call ptr @__errno_location() #11
  store i32 %17722, ptr %17723, align 4, !tbaa !5
  %17724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17725 = load i32, ptr @test_count, align 4, !tbaa !5
  %17726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17727 = load i32, ptr %17726, align 4, !tbaa !5
  %17728 = call ptr @s2n_strerror(i32 noundef %17727, ptr noundef @.str.10)
  %17729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17730 = load i32, ptr %17729, align 4, !tbaa !5
  %17731 = call ptr @s2n_strerror_debug(i32 noundef %17730, ptr noundef @.str.10)
  %17732 = call ptr @__errno_location() #11
  %17733 = load i32, ptr %17732, align 4, !tbaa !5
  %17734 = call ptr @strerror(i32 noundef %17733) #10
  %17735 = call ptr @__errno_location() #11
  %17736 = load i32, ptr %17735, align 4, !tbaa !5
  %17737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17724, ptr noundef @.str.8, i32 noundef %17725, ptr noundef @.str.33, ptr noundef @.str.7, i32 noundef 669, ptr noundef %17728, ptr noundef %17731, ptr noundef %17734, i32 noundef %17736) #10
  br label %17755

17738:                                            ; preds = %17716, %17709
  %17739 = load i32, ptr %399, align 4, !tbaa !5
  %17740 = call ptr @__errno_location() #11
  store i32 %17739, ptr %17740, align 4, !tbaa !5
  %17741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17742 = load i32, ptr @test_count, align 4, !tbaa !5
  %17743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17744 = load i32, ptr %17743, align 4, !tbaa !5
  %17745 = call ptr @s2n_strerror(i32 noundef %17744, ptr noundef @.str.10)
  %17746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17747 = load i32, ptr %17746, align 4, !tbaa !5
  %17748 = call ptr @s2n_strerror_debug(i32 noundef %17747, ptr noundef @.str.10)
  %17749 = call ptr @__errno_location() #11
  %17750 = load i32, ptr %17749, align 4, !tbaa !5
  %17751 = call ptr @strerror(i32 noundef %17750) #10
  %17752 = call ptr @__errno_location() #11
  %17753 = load i32, ptr %17752, align 4, !tbaa !5
  %17754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17741, ptr noundef @.str.11, i32 noundef %17742, ptr noundef @.str.33, ptr noundef @.str.7, i32 noundef 669, ptr noundef %17745, ptr noundef %17748, ptr noundef %17751, i32 noundef %17753) #10
  br label %17755

17755:                                            ; preds = %17738, %17721
  call void @llvm.lifetime.end.p0(i64 4, ptr %399) #10
  br label %17756

17756:                                            ; preds = %17755
  br label %17757

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

17758:                                            ; No predecessors!
  br label %17759

17759:                                            ; preds = %17758
  br label %17760

17760:                                            ; preds = %17759, %17698
  br label %17761

17761:                                            ; preds = %17760
  br label %17762

17762:                                            ; preds = %17761
  br label %17763

17763:                                            ; preds = %17762
  %17764 = load i32, ptr @test_count, align 4, !tbaa !5
  %17765 = add nsw i32 %17764, 1
  store i32 %17765, ptr @test_count, align 4, !tbaa !5
  %17766 = load ptr, ptr %387, align 8, !tbaa !9
  %17767 = getelementptr inbounds %struct.s2n_connection, ptr %17766, i32 0, i32 49
  %17768 = load i8, ptr %17767, align 1, !tbaa !16, !range !13, !noundef !14
  %17769 = trunc i8 %17768 to i1
  br i1 %17769, label %17823, label %17770

17770:                                            ; preds = %17763
  br label %17771

17771:                                            ; preds = %17770
  br label %17772

17772:                                            ; preds = %17771
  call void @llvm.lifetime.start.p0(i64 4, ptr %400) #10
  %17773 = call ptr @__errno_location() #11
  %17774 = load i32, ptr %17773, align 4, !tbaa !5
  store i32 %17774, ptr %400, align 4, !tbaa !5
  %17775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17776 = call i32 @s2n_print_stacktrace(ptr noundef %17775)
  %17777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17778 = trunc i8 %17777 to i1
  br i1 %17778, label %17779, label %17801

17779:                                            ; preds = %17772
  %17780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17781 = call i32 @fileno(ptr noundef %17780) #10
  %17782 = call i32 @isatty(i32 noundef %17781) #10
  %17783 = icmp ne i32 %17782, 0
  br i1 %17783, label %17784, label %17801

17784:                                            ; preds = %17779
  %17785 = load i32, ptr %400, align 4, !tbaa !5
  %17786 = call ptr @__errno_location() #11
  store i32 %17785, ptr %17786, align 4, !tbaa !5
  %17787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17788 = load i32, ptr @test_count, align 4, !tbaa !5
  %17789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17790 = load i32, ptr %17789, align 4, !tbaa !5
  %17791 = call ptr @s2n_strerror(i32 noundef %17790, ptr noundef @.str.10)
  %17792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17793 = load i32, ptr %17792, align 4, !tbaa !5
  %17794 = call ptr @s2n_strerror_debug(i32 noundef %17793, ptr noundef @.str.10)
  %17795 = call ptr @__errno_location() #11
  %17796 = load i32, ptr %17795, align 4, !tbaa !5
  %17797 = call ptr @strerror(i32 noundef %17796) #10
  %17798 = call ptr @__errno_location() #11
  %17799 = load i32, ptr %17798, align 4, !tbaa !5
  %17800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17787, ptr noundef @.str.8, i32 noundef %17788, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 670, ptr noundef %17791, ptr noundef %17794, ptr noundef %17797, i32 noundef %17799) #10
  br label %17818

17801:                                            ; preds = %17779, %17772
  %17802 = load i32, ptr %400, align 4, !tbaa !5
  %17803 = call ptr @__errno_location() #11
  store i32 %17802, ptr %17803, align 4, !tbaa !5
  %17804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17805 = load i32, ptr @test_count, align 4, !tbaa !5
  %17806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17807 = load i32, ptr %17806, align 4, !tbaa !5
  %17808 = call ptr @s2n_strerror(i32 noundef %17807, ptr noundef @.str.10)
  %17809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17810 = load i32, ptr %17809, align 4, !tbaa !5
  %17811 = call ptr @s2n_strerror_debug(i32 noundef %17810, ptr noundef @.str.10)
  %17812 = call ptr @__errno_location() #11
  %17813 = load i32, ptr %17812, align 4, !tbaa !5
  %17814 = call ptr @strerror(i32 noundef %17813) #10
  %17815 = call ptr @__errno_location() #11
  %17816 = load i32, ptr %17815, align 4, !tbaa !5
  %17817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17804, ptr noundef @.str.11, i32 noundef %17805, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 670, ptr noundef %17808, ptr noundef %17811, ptr noundef %17814, i32 noundef %17816) #10
  br label %17818

17818:                                            ; preds = %17801, %17784
  call void @llvm.lifetime.end.p0(i64 4, ptr %400) #10
  br label %17819

17819:                                            ; preds = %17818
  br label %17820

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

17821:                                            ; No predecessors!
  br label %17822

17822:                                            ; preds = %17821
  br label %17823

17823:                                            ; preds = %17822, %17763
  br label %17824

17824:                                            ; preds = %17823
  br label %17825

17825:                                            ; preds = %17824
  %17826 = call i32 @s2n_stuffer_free(ptr noundef %390)
  call void @llvm.lifetime.end.p0(i64 40, ptr %390) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %389) #10
  %17827 = call i32 @s2n_connection_ptr_free(ptr noundef %387)
  %17828 = getelementptr inbounds %struct.s2n_result, ptr %401, i32 0, i32 0
  store i32 %17827, ptr %17828, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %387) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %402) #10
  %17829 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %17829, ptr %402, align 8, !tbaa !9
  br label %17830

17830:                                            ; preds = %17825
  %17831 = load i32, ptr @test_count, align 4, !tbaa !5
  %17832 = add nsw i32 %17831, 1
  store i32 %17832, ptr @test_count, align 4, !tbaa !5
  %17833 = load ptr, ptr %402, align 8, !tbaa !9
  %17834 = icmp eq ptr %17833, null
  br i1 %17834, label %17835, label %17888

17835:                                            ; preds = %17830
  br label %17836

17836:                                            ; preds = %17835
  br label %17837

17837:                                            ; preds = %17836
  call void @llvm.lifetime.start.p0(i64 4, ptr %403) #10
  %17838 = call ptr @__errno_location() #11
  %17839 = load i32, ptr %17838, align 4, !tbaa !5
  store i32 %17839, ptr %403, align 4, !tbaa !5
  %17840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17841 = call i32 @s2n_print_stacktrace(ptr noundef %17840)
  %17842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17843 = trunc i8 %17842 to i1
  br i1 %17843, label %17844, label %17866

17844:                                            ; preds = %17837
  %17845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17846 = call i32 @fileno(ptr noundef %17845) #10
  %17847 = call i32 @isatty(i32 noundef %17846) #10
  %17848 = icmp ne i32 %17847, 0
  br i1 %17848, label %17849, label %17866

17849:                                            ; preds = %17844
  %17850 = load i32, ptr %403, align 4, !tbaa !5
  %17851 = call ptr @__errno_location() #11
  store i32 %17850, ptr %17851, align 4, !tbaa !5
  %17852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17853 = load i32, ptr @test_count, align 4, !tbaa !5
  %17854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17855 = load i32, ptr %17854, align 4, !tbaa !5
  %17856 = call ptr @s2n_strerror(i32 noundef %17855, ptr noundef @.str.10)
  %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_debug(i32 noundef %17858, ptr noundef @.str.10)
  %17860 = call ptr @__errno_location() #11
  %17861 = load i32, ptr %17860, align 4, !tbaa !5
  %17862 = call ptr @strerror(i32 noundef %17861) #10
  %17863 = call ptr @__errno_location() #11
  %17864 = load i32, ptr %17863, align 4, !tbaa !5
  %17865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17852, ptr noundef @.str.8, i32 noundef %17853, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 677, ptr noundef %17856, ptr noundef %17859, ptr noundef %17862, i32 noundef %17864) #10
  br label %17883

17866:                                            ; preds = %17844, %17837
  %17867 = load i32, ptr %403, align 4, !tbaa !5
  %17868 = call ptr @__errno_location() #11
  store i32 %17867, ptr %17868, align 4, !tbaa !5
  %17869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17870 = load i32, ptr @test_count, align 4, !tbaa !5
  %17871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17872 = load i32, ptr %17871, align 4, !tbaa !5
  %17873 = call ptr @s2n_strerror(i32 noundef %17872, ptr noundef @.str.10)
  %17874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17875 = load i32, ptr %17874, align 4, !tbaa !5
  %17876 = call ptr @s2n_strerror_debug(i32 noundef %17875, ptr noundef @.str.10)
  %17877 = call ptr @__errno_location() #11
  %17878 = load i32, ptr %17877, align 4, !tbaa !5
  %17879 = call ptr @strerror(i32 noundef %17878) #10
  %17880 = call ptr @__errno_location() #11
  %17881 = load i32, ptr %17880, align 4, !tbaa !5
  %17882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17869, ptr noundef @.str.11, i32 noundef %17870, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 677, ptr noundef %17873, ptr noundef %17876, ptr noundef %17879, i32 noundef %17881) #10
  br label %17883

17883:                                            ; preds = %17866, %17849
  call void @llvm.lifetime.end.p0(i64 4, ptr %403) #10
  br label %17884

17884:                                            ; preds = %17883
  br label %17885

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

17886:                                            ; No predecessors!
  br label %17887

17887:                                            ; preds = %17886
  br label %17888

17888:                                            ; preds = %17887, %17830
  br label %17889

17889:                                            ; preds = %17888
  br label %17890

17890:                                            ; preds = %17889
  call void @llvm.lifetime.start.p0(i64 4, ptr %404) #10
  store i32 0, ptr %404, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr %405) #10
  call void @llvm.memset.p0.i64(ptr align 8 %405, i8 0, i64 40, i1 false)
  br label %17891

17891:                                            ; preds = %17890
  %17892 = load i32, ptr @test_count, align 4, !tbaa !5
  %17893 = add nsw i32 %17892, 1
  store i32 %17893, ptr @test_count, align 4, !tbaa !5
  %17894 = load ptr, ptr %402, align 8, !tbaa !9
  %17895 = call i32 @s2n_connection_set_send_io_stuffer(ptr noundef %405, ptr noundef %17894)
  %17896 = icmp eq i32 %17895, -1
  br i1 %17896, label %17897, label %17950

17897:                                            ; preds = %17891
  br label %17898

17898:                                            ; preds = %17897
  br label %17899

17899:                                            ; preds = %17898
  call void @llvm.lifetime.start.p0(i64 4, ptr %406) #10
  %17900 = call ptr @__errno_location() #11
  %17901 = load i32, ptr %17900, align 4, !tbaa !5
  store i32 %17901, ptr %406, align 4, !tbaa !5
  %17902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17903 = call i32 @s2n_print_stacktrace(ptr noundef %17902)
  %17904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17905 = trunc i8 %17904 to i1
  br i1 %17905, label %17906, label %17928

17906:                                            ; preds = %17899
  %17907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17908 = call i32 @fileno(ptr noundef %17907) #10
  %17909 = call i32 @isatty(i32 noundef %17908) #10
  %17910 = icmp ne i32 %17909, 0
  br i1 %17910, label %17911, label %17928

17911:                                            ; preds = %17906
  %17912 = load i32, ptr %406, align 4, !tbaa !5
  %17913 = call ptr @__errno_location() #11
  store i32 %17912, ptr %17913, align 4, !tbaa !5
  %17914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17915 = load i32, ptr @test_count, align 4, !tbaa !5
  %17916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17917 = load i32, ptr %17916, align 4, !tbaa !5
  %17918 = call ptr @s2n_strerror(i32 noundef %17917, ptr noundef @.str.10)
  %17919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17920 = load i32, ptr %17919, align 4, !tbaa !5
  %17921 = call ptr @s2n_strerror_debug(i32 noundef %17920, ptr noundef @.str.10)
  %17922 = call ptr @__errno_location() #11
  %17923 = load i32, ptr %17922, align 4, !tbaa !5
  %17924 = call ptr @strerror(i32 noundef %17923) #10
  %17925 = call ptr @__errno_location() #11
  %17926 = load i32, ptr %17925, align 4, !tbaa !5
  %17927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17914, ptr noundef @.str.8, i32 noundef %17915, ptr noundef @.str.24, ptr noundef @.str.7, i32 noundef 685, ptr noundef %17918, ptr noundef %17921, ptr noundef %17924, i32 noundef %17926) #10
  br label %17945

17928:                                            ; preds = %17906, %17899
  %17929 = load i32, ptr %406, align 4, !tbaa !5
  %17930 = call ptr @__errno_location() #11
  store i32 %17929, ptr %17930, align 4, !tbaa !5
  %17931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17932 = load i32, ptr @test_count, align 4, !tbaa !5
  %17933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17934 = load i32, ptr %17933, align 4, !tbaa !5
  %17935 = call ptr @s2n_strerror(i32 noundef %17934, ptr noundef @.str.10)
  %17936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17937 = load i32, ptr %17936, align 4, !tbaa !5
  %17938 = call ptr @s2n_strerror_debug(i32 noundef %17937, ptr noundef @.str.10)
  %17939 = call ptr @__errno_location() #11
  %17940 = load i32, ptr %17939, align 4, !tbaa !5
  %17941 = call ptr @strerror(i32 noundef %17940) #10
  %17942 = call ptr @__errno_location() #11
  %17943 = load i32, ptr %17942, align 4, !tbaa !5
  %17944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17931, ptr noundef @.str.11, i32 noundef %17932, ptr noundef @.str.24, ptr noundef @.str.7, i32 noundef 685, ptr noundef %17935, ptr noundef %17938, ptr noundef %17941, i32 noundef %17943) #10
  br label %17945

17945:                                            ; preds = %17928, %17911
  call void @llvm.lifetime.end.p0(i64 4, ptr %406) #10
  br label %17946

17946:                                            ; preds = %17945
  br label %17947

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

17948:                                            ; No predecessors!
  br label %17949

17949:                                            ; preds = %17948
  br label %17950

17950:                                            ; preds = %17949, %17891
  br label %17951

17951:                                            ; preds = %17950
  br label %17952

17952:                                            ; preds = %17951
  call void @llvm.lifetime.start.p0(i64 8, ptr %407) #10
  store i64 0, ptr %407, align 8, !tbaa !45
  br label %17953

17953:                                            ; preds = %18282, %17952
  %17954 = load i64, ptr %407, align 8, !tbaa !45
  %17955 = icmp ult i64 %17954, 5
  br i1 %17955, label %17957, label %17956

17956:                                            ; preds = %17953
  call void @llvm.lifetime.end.p0(i64 8, ptr %407) #10
  br label %18285

17957:                                            ; preds = %17953
  br label %17958

17958:                                            ; preds = %17957
  br label %17959

17959:                                            ; preds = %17958
  br label %17960

17960:                                            ; preds = %17959
  %17961 = load i32, ptr @test_count, align 4, !tbaa !5
  %17962 = add nsw i32 %17961, 1
  store i32 %17962, ptr @test_count, align 4, !tbaa !5
  %17963 = load ptr, ptr %402, align 8, !tbaa !9
  %17964 = call i32 @s2n_shutdown_send(ptr noundef %17963, ptr noundef %404)
  %17965 = icmp eq i32 %17964, -1
  br i1 %17965, label %18019, label %17966

17966:                                            ; preds = %17960
  br label %17967

17967:                                            ; preds = %17966
  br label %17968

17968:                                            ; preds = %17967
  call void @llvm.lifetime.start.p0(i64 4, ptr %408) #10
  %17969 = call ptr @__errno_location() #11
  %17970 = load i32, ptr %17969, align 4, !tbaa !5
  store i32 %17970, ptr %408, align 4, !tbaa !5
  %17971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17972 = call i32 @s2n_print_stacktrace(ptr noundef %17971)
  %17973 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17974 = trunc i8 %17973 to i1
  br i1 %17974, label %17975, label %17997

17975:                                            ; preds = %17968
  %17976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17977 = call i32 @fileno(ptr noundef %17976) #10
  %17978 = call i32 @isatty(i32 noundef %17977) #10
  %17979 = icmp ne i32 %17978, 0
  br i1 %17979, label %17980, label %17997

17980:                                            ; preds = %17975
  %17981 = load i32, ptr %408, align 4, !tbaa !5
  %17982 = call ptr @__errno_location() #11
  store i32 %17981, ptr %17982, align 4, !tbaa !5
  %17983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17984 = load i32, ptr @test_count, align 4, !tbaa !5
  %17985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17986 = load i32, ptr %17985, align 4, !tbaa !5
  %17987 = call ptr @s2n_strerror(i32 noundef %17986, ptr noundef @.str.10)
  %17988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17989 = load i32, ptr %17988, align 4, !tbaa !5
  %17990 = call ptr @s2n_strerror_debug(i32 noundef %17989, ptr noundef @.str.10)
  %17991 = call ptr @__errno_location() #11
  %17992 = load i32, ptr %17991, align 4, !tbaa !5
  %17993 = call ptr @strerror(i32 noundef %17992) #10
  %17994 = call ptr @__errno_location() #11
  %17995 = load i32, ptr %17994, align 4, !tbaa !5
  %17996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17983, ptr noundef @.str.8, i32 noundef %17984, ptr noundef @.str.111, ptr noundef @.str.7, i32 noundef 690, ptr noundef %17987, ptr noundef %17990, ptr noundef %17993, i32 noundef %17995) #10
  br label %18014

17997:                                            ; preds = %17975, %17968
  %17998 = load i32, ptr %408, align 4, !tbaa !5
  %17999 = call ptr @__errno_location() #11
  store i32 %17998, ptr %17999, align 4, !tbaa !5
  %18000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18001 = load i32, ptr @test_count, align 4, !tbaa !5
  %18002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18003 = load i32, ptr %18002, align 4, !tbaa !5
  %18004 = call ptr @s2n_strerror(i32 noundef %18003, ptr noundef @.str.10)
  %18005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18006 = load i32, ptr %18005, align 4, !tbaa !5
  %18007 = call ptr @s2n_strerror_debug(i32 noundef %18006, ptr noundef @.str.10)
  %18008 = call ptr @__errno_location() #11
  %18009 = load i32, ptr %18008, align 4, !tbaa !5
  %18010 = call ptr @strerror(i32 noundef %18009) #10
  %18011 = call ptr @__errno_location() #11
  %18012 = load i32, ptr %18011, align 4, !tbaa !5
  %18013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18000, ptr noundef @.str.11, i32 noundef %18001, ptr noundef @.str.111, ptr noundef @.str.7, i32 noundef 690, ptr noundef %18004, ptr noundef %18007, ptr noundef %18010, i32 noundef %18012) #10
  br label %18014

18014:                                            ; preds = %17997, %17980
  call void @llvm.lifetime.end.p0(i64 4, ptr %408) #10
  br label %18015

18015:                                            ; preds = %18014
  br label %18016

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

18017:                                            ; No predecessors!
  br label %18018

18018:                                            ; preds = %18017
  br label %18019

18019:                                            ; preds = %18018, %17960
  br label %18020

18020:                                            ; preds = %18019
  br label %18021

18021:                                            ; preds = %18020
  br label %18022

18022:                                            ; preds = %18021
  %18023 = load i32, ptr @test_count, align 4, !tbaa !5
  %18024 = add nsw i32 %18023, 1
  store i32 %18024, 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 = icmp eq i32 %18026, 201326592
  br i1 %18027, label %18081, label %18028

18028:                                            ; preds = %18022
  br label %18029

18029:                                            ; preds = %18028
  br label %18030

18030:                                            ; preds = %18029
  call void @llvm.lifetime.start.p0(i64 4, ptr %409) #10
  %18031 = call ptr @__errno_location() #11
  %18032 = load i32, ptr %18031, align 4, !tbaa !5
  store i32 %18032, ptr %409, align 4, !tbaa !5
  %18033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18034 = call i32 @s2n_print_stacktrace(ptr noundef %18033)
  %18035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18036 = trunc i8 %18035 to i1
  br i1 %18036, label %18037, label %18059

18037:                                            ; preds = %18030
  %18038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18039 = call i32 @fileno(ptr noundef %18038) #10
  %18040 = call i32 @isatty(i32 noundef %18039) #10
  %18041 = icmp ne i32 %18040, 0
  br i1 %18041, label %18042, label %18059

18042:                                            ; preds = %18037
  %18043 = load i32, ptr %409, align 4, !tbaa !5
  %18044 = call ptr @__errno_location() #11
  store i32 %18043, ptr %18044, align 4, !tbaa !5
  %18045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18046 = load i32, ptr @test_count, align 4, !tbaa !5
  %18047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18048 = load i32, ptr %18047, align 4, !tbaa !5
  %18049 = call ptr @s2n_strerror(i32 noundef %18048, ptr noundef @.str.10)
  %18050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18051 = load i32, ptr %18050, align 4, !tbaa !5
  %18052 = call ptr @s2n_strerror_debug(i32 noundef %18051, ptr noundef @.str.10)
  %18053 = call ptr @__errno_location() #11
  %18054 = load i32, ptr %18053, align 4, !tbaa !5
  %18055 = call ptr @strerror(i32 noundef %18054) #10
  %18056 = call ptr @__errno_location() #11
  %18057 = load i32, ptr %18056, align 4, !tbaa !5
  %18058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18045, ptr noundef @.str.8, i32 noundef %18046, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 690, ptr noundef %18049, ptr noundef %18052, ptr noundef %18055, i32 noundef %18057) #10
  br label %18076

18059:                                            ; preds = %18037, %18030
  %18060 = load i32, ptr %409, align 4, !tbaa !5
  %18061 = call ptr @__errno_location() #11
  store i32 %18060, ptr %18061, align 4, !tbaa !5
  %18062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18063 = load i32, ptr @test_count, align 4, !tbaa !5
  %18064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18065 = load i32, ptr %18064, align 4, !tbaa !5
  %18066 = call ptr @s2n_strerror(i32 noundef %18065, ptr noundef @.str.10)
  %18067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18068 = load i32, ptr %18067, align 4, !tbaa !5
  %18069 = call ptr @s2n_strerror_debug(i32 noundef %18068, ptr noundef @.str.10)
  %18070 = call ptr @__errno_location() #11
  %18071 = load i32, ptr %18070, align 4, !tbaa !5
  %18072 = call ptr @strerror(i32 noundef %18071) #10
  %18073 = call ptr @__errno_location() #11
  %18074 = load i32, ptr %18073, align 4, !tbaa !5
  %18075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18062, ptr noundef @.str.11, i32 noundef %18063, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 690, ptr noundef %18066, ptr noundef %18069, ptr noundef %18072, i32 noundef %18074) #10
  br label %18076

18076:                                            ; preds = %18059, %18042
  call void @llvm.lifetime.end.p0(i64 4, ptr %409) #10
  br label %18077

18077:                                            ; preds = %18076
  br label %18078

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

18079:                                            ; No predecessors!
  br label %18080

18080:                                            ; preds = %18079
  br label %18081

18081:                                            ; preds = %18080, %18022
  br label %18082

18082:                                            ; preds = %18081
  br label %18083

18083:                                            ; preds = %18082
  br label %18084

18084:                                            ; preds = %18083
  %18085 = load i32, ptr @test_count, align 4, !tbaa !5
  %18086 = add nsw i32 %18085, 1
  store i32 %18086, ptr @test_count, align 4, !tbaa !5
  %18087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18088 = load i32, ptr %18087, align 4, !tbaa !5
  %18089 = call ptr @s2n_strerror_debug(i32 noundef %18088, ptr noundef @.str.10)
  %18090 = icmp eq ptr %18089, null
  br i1 %18090, label %18091, label %18144

18091:                                            ; preds = %18084
  br label %18092

18092:                                            ; preds = %18091
  br label %18093

18093:                                            ; preds = %18092
  call void @llvm.lifetime.start.p0(i64 4, ptr %410) #10
  %18094 = call ptr @__errno_location() #11
  %18095 = load i32, ptr %18094, align 4, !tbaa !5
  store i32 %18095, ptr %410, align 4, !tbaa !5
  %18096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18097 = call i32 @s2n_print_stacktrace(ptr noundef %18096)
  %18098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18099 = trunc i8 %18098 to i1
  br i1 %18099, label %18100, label %18122

18100:                                            ; preds = %18093
  %18101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18102 = call i32 @fileno(ptr noundef %18101) #10
  %18103 = call i32 @isatty(i32 noundef %18102) #10
  %18104 = icmp ne i32 %18103, 0
  br i1 %18104, label %18105, label %18122

18105:                                            ; preds = %18100
  %18106 = load i32, ptr %410, align 4, !tbaa !5
  %18107 = call ptr @__errno_location() #11
  store i32 %18106, ptr %18107, align 4, !tbaa !5
  %18108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18109 = load i32, ptr @test_count, align 4, !tbaa !5
  %18110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18111 = load i32, ptr %18110, align 4, !tbaa !5
  %18112 = call ptr @s2n_strerror(i32 noundef %18111, ptr noundef @.str.10)
  %18113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18114 = load i32, ptr %18113, align 4, !tbaa !5
  %18115 = call ptr @s2n_strerror_debug(i32 noundef %18114, ptr noundef @.str.10)
  %18116 = call ptr @__errno_location() #11
  %18117 = load i32, ptr %18116, align 4, !tbaa !5
  %18118 = call ptr @strerror(i32 noundef %18117) #10
  %18119 = call ptr @__errno_location() #11
  %18120 = load i32, ptr %18119, align 4, !tbaa !5
  %18121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18108, ptr noundef @.str.8, i32 noundef %18109, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 690, ptr noundef %18112, ptr noundef %18115, ptr noundef %18118, i32 noundef %18120) #10
  br label %18139

18122:                                            ; preds = %18100, %18093
  %18123 = load i32, ptr %410, align 4, !tbaa !5
  %18124 = call ptr @__errno_location() #11
  store i32 %18123, ptr %18124, align 4, !tbaa !5
  %18125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18126 = load i32, ptr @test_count, align 4, !tbaa !5
  %18127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18128 = load i32, ptr %18127, align 4, !tbaa !5
  %18129 = call ptr @s2n_strerror(i32 noundef %18128, ptr noundef @.str.10)
  %18130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18131 = load i32, ptr %18130, align 4, !tbaa !5
  %18132 = call ptr @s2n_strerror_debug(i32 noundef %18131, ptr noundef @.str.10)
  %18133 = call ptr @__errno_location() #11
  %18134 = load i32, ptr %18133, align 4, !tbaa !5
  %18135 = call ptr @strerror(i32 noundef %18134) #10
  %18136 = call ptr @__errno_location() #11
  %18137 = load i32, ptr %18136, align 4, !tbaa !5
  %18138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18125, ptr noundef @.str.11, i32 noundef %18126, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 690, ptr noundef %18129, ptr noundef %18132, ptr noundef %18135, i32 noundef %18137) #10
  br label %18139

18139:                                            ; preds = %18122, %18105
  call void @llvm.lifetime.end.p0(i64 4, ptr %410) #10
  br label %18140

18140:                                            ; preds = %18139
  br label %18141

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

18142:                                            ; No predecessors!
  br label %18143

18143:                                            ; preds = %18142
  br label %18144

18144:                                            ; preds = %18143, %18084
  br label %18145

18145:                                            ; preds = %18144
  br label %18146

18146:                                            ; preds = %18145
  br label %18147

18147:                                            ; preds = %18146
  br label %18148

18148:                                            ; preds = %18147
  br label %18149

18149:                                            ; preds = %18148
  %18150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %18150, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %18151 = call ptr @__errno_location() #11
  store i32 0, ptr %18151, align 4, !tbaa !5
  br label %18152

18152:                                            ; preds = %18149
  br label %18153

18153:                                            ; preds = %18152
  br label %18154

18154:                                            ; preds = %18153
  br label %18155

18155:                                            ; preds = %18154
  br label %18156

18156:                                            ; preds = %18155
  %18157 = load i32, ptr @test_count, align 4, !tbaa !5
  %18158 = add nsw i32 %18157, 1
  store i32 %18158, ptr @test_count, align 4, !tbaa !5
  %18159 = load i32, ptr %404, align 4, !tbaa !5
  %18160 = icmp eq i32 %18159, 2
  br i1 %18160, label %18214, label %18161

18161:                                            ; preds = %18156
  br label %18162

18162:                                            ; preds = %18161
  br label %18163

18163:                                            ; preds = %18162
  call void @llvm.lifetime.start.p0(i64 4, ptr %411) #10
  %18164 = call ptr @__errno_location() #11
  %18165 = load i32, ptr %18164, align 4, !tbaa !5
  store i32 %18165, ptr %411, align 4, !tbaa !5
  %18166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18167 = call i32 @s2n_print_stacktrace(ptr noundef %18166)
  %18168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18169 = trunc i8 %18168 to i1
  br i1 %18169, label %18170, label %18192

18170:                                            ; preds = %18163
  %18171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18172 = call i32 @fileno(ptr noundef %18171) #10
  %18173 = call i32 @isatty(i32 noundef %18172) #10
  %18174 = icmp ne i32 %18173, 0
  br i1 %18174, label %18175, label %18192

18175:                                            ; preds = %18170
  %18176 = load i32, ptr %411, align 4, !tbaa !5
  %18177 = call ptr @__errno_location() #11
  store i32 %18176, ptr %18177, align 4, !tbaa !5
  %18178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18179 = load i32, ptr @test_count, align 4, !tbaa !5
  %18180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18181 = load i32, ptr %18180, align 4, !tbaa !5
  %18182 = call ptr @s2n_strerror(i32 noundef %18181, ptr noundef @.str.10)
  %18183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18184 = load i32, ptr %18183, align 4, !tbaa !5
  %18185 = call ptr @s2n_strerror_debug(i32 noundef %18184, ptr noundef @.str.10)
  %18186 = call ptr @__errno_location() #11
  %18187 = load i32, ptr %18186, align 4, !tbaa !5
  %18188 = call ptr @strerror(i32 noundef %18187) #10
  %18189 = call ptr @__errno_location() #11
  %18190 = load i32, ptr %18189, align 4, !tbaa !5
  %18191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18178, ptr noundef @.str.8, i32 noundef %18179, ptr noundef @.str.112, ptr noundef @.str.7, i32 noundef 691, ptr noundef %18182, ptr noundef %18185, ptr noundef %18188, i32 noundef %18190) #10
  br label %18209

18192:                                            ; preds = %18170, %18163
  %18193 = load i32, ptr %411, align 4, !tbaa !5
  %18194 = call ptr @__errno_location() #11
  store i32 %18193, ptr %18194, align 4, !tbaa !5
  %18195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18196 = load i32, ptr @test_count, align 4, !tbaa !5
  %18197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18198 = load i32, ptr %18197, align 4, !tbaa !5
  %18199 = call ptr @s2n_strerror(i32 noundef %18198, ptr noundef @.str.10)
  %18200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18201 = load i32, ptr %18200, align 4, !tbaa !5
  %18202 = call ptr @s2n_strerror_debug(i32 noundef %18201, ptr noundef @.str.10)
  %18203 = call ptr @__errno_location() #11
  %18204 = load i32, ptr %18203, align 4, !tbaa !5
  %18205 = call ptr @strerror(i32 noundef %18204) #10
  %18206 = call ptr @__errno_location() #11
  %18207 = load i32, ptr %18206, align 4, !tbaa !5
  %18208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18195, ptr noundef @.str.11, i32 noundef %18196, ptr noundef @.str.112, ptr noundef @.str.7, i32 noundef 691, ptr noundef %18199, ptr noundef %18202, ptr noundef %18205, i32 noundef %18207) #10
  br label %18209

18209:                                            ; preds = %18192, %18175
  call void @llvm.lifetime.end.p0(i64 4, ptr %411) #10
  br label %18210

18210:                                            ; preds = %18209
  br label %18211

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

18212:                                            ; No predecessors!
  br label %18213

18213:                                            ; preds = %18212
  br label %18214

18214:                                            ; preds = %18213, %18156
  br label %18215

18215:                                            ; preds = %18214
  br label %18216

18216:                                            ; preds = %18215
  br label %18217

18217:                                            ; preds = %18216
  %18218 = load i32, ptr @test_count, align 4, !tbaa !5
  %18219 = add nsw i32 %18218, 1
  store i32 %18219, ptr @test_count, align 4, !tbaa !5
  %18220 = getelementptr inbounds %struct.s2n_stuffer, ptr %405, i32 0, i32 2
  %18221 = load i32, ptr %18220, align 4, !tbaa !43
  %18222 = getelementptr inbounds %struct.s2n_stuffer, ptr %405, i32 0, i32 1
  %18223 = load i32, ptr %18222, align 8, !tbaa !44
  %18224 = sub i32 %18221, %18223
  %18225 = icmp eq i32 %18224, 0
  br i1 %18225, label %18279, label %18226

18226:                                            ; preds = %18217
  br label %18227

18227:                                            ; preds = %18226
  br label %18228

18228:                                            ; preds = %18227
  call void @llvm.lifetime.start.p0(i64 4, ptr %412) #10
  %18229 = call ptr @__errno_location() #11
  %18230 = load i32, ptr %18229, align 4, !tbaa !5
  store i32 %18230, ptr %412, align 4, !tbaa !5
  %18231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18232 = call i32 @s2n_print_stacktrace(ptr noundef %18231)
  %18233 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18234 = trunc i8 %18233 to i1
  br i1 %18234, label %18235, label %18257

18235:                                            ; preds = %18228
  %18236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18237 = call i32 @fileno(ptr noundef %18236) #10
  %18238 = call i32 @isatty(i32 noundef %18237) #10
  %18239 = icmp ne i32 %18238, 0
  br i1 %18239, label %18240, label %18257

18240:                                            ; preds = %18235
  %18241 = load i32, ptr %412, align 4, !tbaa !5
  %18242 = call ptr @__errno_location() #11
  store i32 %18241, ptr %18242, align 4, !tbaa !5
  %18243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18244 = load i32, ptr @test_count, align 4, !tbaa !5
  %18245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18246 = load i32, ptr %18245, align 4, !tbaa !5
  %18247 = call ptr @s2n_strerror(i32 noundef %18246, ptr noundef @.str.10)
  %18248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18249 = load i32, ptr %18248, align 4, !tbaa !5
  %18250 = call ptr @s2n_strerror_debug(i32 noundef %18249, ptr noundef @.str.10)
  %18251 = call ptr @__errno_location() #11
  %18252 = load i32, ptr %18251, align 4, !tbaa !5
  %18253 = call ptr @strerror(i32 noundef %18252) #10
  %18254 = call ptr @__errno_location() #11
  %18255 = load i32, ptr %18254, align 4, !tbaa !5
  %18256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18243, ptr noundef @.str.8, i32 noundef %18244, ptr noundef @.str.56, ptr noundef @.str.7, i32 noundef 692, ptr noundef %18247, ptr noundef %18250, ptr noundef %18253, i32 noundef %18255) #10
  br label %18274

18257:                                            ; preds = %18235, %18228
  %18258 = load i32, ptr %412, align 4, !tbaa !5
  %18259 = call ptr @__errno_location() #11
  store i32 %18258, ptr %18259, align 4, !tbaa !5
  %18260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18261 = load i32, ptr @test_count, align 4, !tbaa !5
  %18262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18263 = load i32, ptr %18262, align 4, !tbaa !5
  %18264 = call ptr @s2n_strerror(i32 noundef %18263, ptr noundef @.str.10)
  %18265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18266 = load i32, ptr %18265, align 4, !tbaa !5
  %18267 = call ptr @s2n_strerror_debug(i32 noundef %18266, ptr noundef @.str.10)
  %18268 = call ptr @__errno_location() #11
  %18269 = load i32, ptr %18268, align 4, !tbaa !5
  %18270 = call ptr @strerror(i32 noundef %18269) #10
  %18271 = call ptr @__errno_location() #11
  %18272 = load i32, ptr %18271, align 4, !tbaa !5
  %18273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18260, ptr noundef @.str.11, i32 noundef %18261, ptr noundef @.str.56, ptr noundef @.str.7, i32 noundef 692, ptr noundef %18264, ptr noundef %18267, ptr noundef %18270, i32 noundef %18272) #10
  br label %18274

18274:                                            ; preds = %18257, %18240
  call void @llvm.lifetime.end.p0(i64 4, ptr %412) #10
  br label %18275

18275:                                            ; preds = %18274
  br label %18276

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

18277:                                            ; No predecessors!
  br label %18278

18278:                                            ; preds = %18277
  br label %18279

18279:                                            ; preds = %18278, %18217
  br label %18280

18280:                                            ; preds = %18279
  br label %18281

18281:                                            ; preds = %18280
  br label %18282

18282:                                            ; preds = %18281
  %18283 = load i64, ptr %407, align 8, !tbaa !45
  %18284 = add i64 %18283, 1
  store i64 %18284, ptr %407, align 8, !tbaa !45
  br label %17953, !llvm.loop !54

18285:                                            ; preds = %17956
  br label %18286

18286:                                            ; preds = %18285
  %18287 = load i32, ptr @test_count, align 4, !tbaa !5
  %18288 = add nsw i32 %18287, 1
  store i32 %18288, ptr @test_count, align 4, !tbaa !5
  %18289 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %405, i32 noundef 0)
  %18290 = icmp eq i32 %18289, -1
  br i1 %18290, label %18291, label %18344

18291:                                            ; preds = %18286
  br label %18292

18292:                                            ; preds = %18291
  br label %18293

18293:                                            ; preds = %18292
  call void @llvm.lifetime.start.p0(i64 4, ptr %413) #10
  %18294 = call ptr @__errno_location() #11
  %18295 = load i32, ptr %18294, align 4, !tbaa !5
  store i32 %18295, ptr %413, align 4, !tbaa !5
  %18296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18297 = call i32 @s2n_print_stacktrace(ptr noundef %18296)
  %18298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18299 = trunc i8 %18298 to i1
  br i1 %18299, label %18300, label %18322

18300:                                            ; preds = %18293
  %18301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18302 = call i32 @fileno(ptr noundef %18301) #10
  %18303 = call i32 @isatty(i32 noundef %18302) #10
  %18304 = icmp ne i32 %18303, 0
  br i1 %18304, label %18305, label %18322

18305:                                            ; preds = %18300
  %18306 = load i32, ptr %413, align 4, !tbaa !5
  %18307 = call ptr @__errno_location() #11
  store i32 %18306, ptr %18307, align 4, !tbaa !5
  %18308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18309 = load i32, ptr @test_count, align 4, !tbaa !5
  %18310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18311 = load i32, ptr %18310, align 4, !tbaa !5
  %18312 = call ptr @s2n_strerror(i32 noundef %18311, ptr noundef @.str.10)
  %18313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18314 = load i32, ptr %18313, align 4, !tbaa !5
  %18315 = call ptr @s2n_strerror_debug(i32 noundef %18314, ptr noundef @.str.10)
  %18316 = call ptr @__errno_location() #11
  %18317 = load i32, ptr %18316, align 4, !tbaa !5
  %18318 = call ptr @strerror(i32 noundef %18317) #10
  %18319 = call ptr @__errno_location() #11
  %18320 = load i32, ptr %18319, align 4, !tbaa !5
  %18321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18308, ptr noundef @.str.8, i32 noundef %18309, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 698, ptr noundef %18312, ptr noundef %18315, ptr noundef %18318, i32 noundef %18320) #10
  br label %18339

18322:                                            ; preds = %18300, %18293
  %18323 = load i32, ptr %413, align 4, !tbaa !5
  %18324 = call ptr @__errno_location() #11
  store i32 %18323, ptr %18324, align 4, !tbaa !5
  %18325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18326 = load i32, ptr @test_count, align 4, !tbaa !5
  %18327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18328 = load i32, ptr %18327, align 4, !tbaa !5
  %18329 = call ptr @s2n_strerror(i32 noundef %18328, ptr noundef @.str.10)
  %18330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18331 = load i32, ptr %18330, align 4, !tbaa !5
  %18332 = call ptr @s2n_strerror_debug(i32 noundef %18331, ptr noundef @.str.10)
  %18333 = call ptr @__errno_location() #11
  %18334 = load i32, ptr %18333, align 4, !tbaa !5
  %18335 = call ptr @strerror(i32 noundef %18334) #10
  %18336 = call ptr @__errno_location() #11
  %18337 = load i32, ptr %18336, align 4, !tbaa !5
  %18338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18325, ptr noundef @.str.11, i32 noundef %18326, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 698, ptr noundef %18329, ptr noundef %18332, ptr noundef %18335, i32 noundef %18337) #10
  br label %18339

18339:                                            ; preds = %18322, %18305
  call void @llvm.lifetime.end.p0(i64 4, ptr %413) #10
  br label %18340

18340:                                            ; preds = %18339
  br label %18341

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

18342:                                            ; No predecessors!
  br label %18343

18343:                                            ; preds = %18342
  br label %18344

18344:                                            ; preds = %18343, %18286
  br label %18345

18345:                                            ; preds = %18344
  br label %18346

18346:                                            ; preds = %18345
  br label %18347

18347:                                            ; preds = %18346
  %18348 = load i32, ptr @test_count, align 4, !tbaa !5
  %18349 = add nsw i32 %18348, 1
  store i32 %18349, ptr @test_count, align 4, !tbaa !5
  %18350 = load ptr, ptr %402, align 8, !tbaa !9
  %18351 = call i32 @s2n_shutdown_send(ptr noundef %18350, ptr noundef %404)
  %18352 = icmp eq i32 %18351, -1
  br i1 %18352, label %18353, label %18406

18353:                                            ; preds = %18347
  br label %18354

18354:                                            ; preds = %18353
  br label %18355

18355:                                            ; preds = %18354
  call void @llvm.lifetime.start.p0(i64 4, ptr %414) #10
  %18356 = call ptr @__errno_location() #11
  %18357 = load i32, ptr %18356, align 4, !tbaa !5
  store i32 %18357, ptr %414, align 4, !tbaa !5
  %18358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18359 = call i32 @s2n_print_stacktrace(ptr noundef %18358)
  %18360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18361 = trunc i8 %18360 to i1
  br i1 %18361, label %18362, label %18384

18362:                                            ; preds = %18355
  %18363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18364 = call i32 @fileno(ptr noundef %18363) #10
  %18365 = call i32 @isatty(i32 noundef %18364) #10
  %18366 = icmp ne i32 %18365, 0
  br i1 %18366, label %18367, label %18384

18367:                                            ; preds = %18362
  %18368 = load i32, ptr %414, align 4, !tbaa !5
  %18369 = call ptr @__errno_location() #11
  store i32 %18368, ptr %18369, align 4, !tbaa !5
  %18370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18371 = load i32, ptr @test_count, align 4, !tbaa !5
  %18372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18373 = load i32, ptr %18372, align 4, !tbaa !5
  %18374 = call ptr @s2n_strerror(i32 noundef %18373, ptr noundef @.str.10)
  %18375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18376 = load i32, ptr %18375, align 4, !tbaa !5
  %18377 = call ptr @s2n_strerror_debug(i32 noundef %18376, ptr noundef @.str.10)
  %18378 = call ptr @__errno_location() #11
  %18379 = load i32, ptr %18378, align 4, !tbaa !5
  %18380 = call ptr @strerror(i32 noundef %18379) #10
  %18381 = call ptr @__errno_location() #11
  %18382 = load i32, ptr %18381, align 4, !tbaa !5
  %18383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18370, ptr noundef @.str.8, i32 noundef %18371, ptr noundef @.str.110, ptr noundef @.str.7, i32 noundef 701, ptr noundef %18374, ptr noundef %18377, ptr noundef %18380, i32 noundef %18382) #10
  br label %18401

18384:                                            ; preds = %18362, %18355
  %18385 = load i32, ptr %414, align 4, !tbaa !5
  %18386 = call ptr @__errno_location() #11
  store i32 %18385, ptr %18386, align 4, !tbaa !5
  %18387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18388 = load i32, ptr @test_count, align 4, !tbaa !5
  %18389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18390 = load i32, ptr %18389, align 4, !tbaa !5
  %18391 = call ptr @s2n_strerror(i32 noundef %18390, ptr noundef @.str.10)
  %18392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18393 = load i32, ptr %18392, align 4, !tbaa !5
  %18394 = call ptr @s2n_strerror_debug(i32 noundef %18393, ptr noundef @.str.10)
  %18395 = call ptr @__errno_location() #11
  %18396 = load i32, ptr %18395, align 4, !tbaa !5
  %18397 = call ptr @strerror(i32 noundef %18396) #10
  %18398 = call ptr @__errno_location() #11
  %18399 = load i32, ptr %18398, align 4, !tbaa !5
  %18400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18387, ptr noundef @.str.11, i32 noundef %18388, ptr noundef @.str.110, ptr noundef @.str.7, i32 noundef 701, ptr noundef %18391, ptr noundef %18394, ptr noundef %18397, i32 noundef %18399) #10
  br label %18401

18401:                                            ; preds = %18384, %18367
  call void @llvm.lifetime.end.p0(i64 4, ptr %414) #10
  br label %18402

18402:                                            ; preds = %18401
  br label %18403

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

18404:                                            ; No predecessors!
  br label %18405

18405:                                            ; preds = %18404
  br label %18406

18406:                                            ; preds = %18405, %18347
  br label %18407

18407:                                            ; preds = %18406
  br label %18408

18408:                                            ; preds = %18407
  br label %18409

18409:                                            ; preds = %18408
  %18410 = load i32, ptr @test_count, align 4, !tbaa !5
  %18411 = add nsw i32 %18410, 1
  store i32 %18411, ptr @test_count, align 4, !tbaa !5
  %18412 = load i32, ptr %404, align 4, !tbaa !5
  %18413 = icmp eq i32 %18412, 0
  br i1 %18413, label %18467, label %18414

18414:                                            ; preds = %18409
  br label %18415

18415:                                            ; preds = %18414
  br label %18416

18416:                                            ; preds = %18415
  call void @llvm.lifetime.start.p0(i64 4, ptr %415) #10
  %18417 = call ptr @__errno_location() #11
  %18418 = load i32, ptr %18417, align 4, !tbaa !5
  store i32 %18418, ptr %415, align 4, !tbaa !5
  %18419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18420 = call i32 @s2n_print_stacktrace(ptr noundef %18419)
  %18421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18422 = trunc i8 %18421 to i1
  br i1 %18422, label %18423, label %18445

18423:                                            ; preds = %18416
  %18424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18425 = call i32 @fileno(ptr noundef %18424) #10
  %18426 = call i32 @isatty(i32 noundef %18425) #10
  %18427 = icmp ne i32 %18426, 0
  br i1 %18427, label %18428, label %18445

18428:                                            ; preds = %18423
  %18429 = load i32, ptr %415, align 4, !tbaa !5
  %18430 = call ptr @__errno_location() #11
  store i32 %18429, ptr %18430, align 4, !tbaa !5
  %18431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18432 = load i32, ptr @test_count, align 4, !tbaa !5
  %18433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18434 = load i32, ptr %18433, align 4, !tbaa !5
  %18435 = call ptr @s2n_strerror(i32 noundef %18434, ptr noundef @.str.10)
  %18436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18437 = load i32, ptr %18436, align 4, !tbaa !5
  %18438 = call ptr @s2n_strerror_debug(i32 noundef %18437, ptr noundef @.str.10)
  %18439 = call ptr @__errno_location() #11
  %18440 = load i32, ptr %18439, align 4, !tbaa !5
  %18441 = call ptr @strerror(i32 noundef %18440) #10
  %18442 = call ptr @__errno_location() #11
  %18443 = load i32, ptr %18442, align 4, !tbaa !5
  %18444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18431, ptr noundef @.str.8, i32 noundef %18432, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 702, ptr noundef %18435, ptr noundef %18438, ptr noundef %18441, i32 noundef %18443) #10
  br label %18462

18445:                                            ; preds = %18423, %18416
  %18446 = load i32, ptr %415, align 4, !tbaa !5
  %18447 = call ptr @__errno_location() #11
  store i32 %18446, ptr %18447, align 4, !tbaa !5
  %18448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18449 = load i32, ptr @test_count, align 4, !tbaa !5
  %18450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18451 = load i32, ptr %18450, align 4, !tbaa !5
  %18452 = call ptr @s2n_strerror(i32 noundef %18451, ptr noundef @.str.10)
  %18453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18454 = load i32, ptr %18453, align 4, !tbaa !5
  %18455 = call ptr @s2n_strerror_debug(i32 noundef %18454, ptr noundef @.str.10)
  %18456 = call ptr @__errno_location() #11
  %18457 = load i32, ptr %18456, align 4, !tbaa !5
  %18458 = call ptr @strerror(i32 noundef %18457) #10
  %18459 = call ptr @__errno_location() #11
  %18460 = load i32, ptr %18459, align 4, !tbaa !5
  %18461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18448, ptr noundef @.str.11, i32 noundef %18449, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 702, ptr noundef %18452, ptr noundef %18455, ptr noundef %18458, i32 noundef %18460) #10
  br label %18462

18462:                                            ; preds = %18445, %18428
  call void @llvm.lifetime.end.p0(i64 4, ptr %415) #10
  br label %18463

18463:                                            ; preds = %18462
  br label %18464

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

18465:                                            ; No predecessors!
  br label %18466

18466:                                            ; preds = %18465
  br label %18467

18467:                                            ; preds = %18466, %18409
  br label %18468

18468:                                            ; preds = %18467
  br label %18469

18469:                                            ; preds = %18468
  br label %18470

18470:                                            ; preds = %18469
  %18471 = load i32, ptr @test_count, align 4, !tbaa !5
  %18472 = add nsw i32 %18471, 1
  store i32 %18472, ptr @test_count, align 4, !tbaa !5
  %18473 = load ptr, ptr %402, align 8, !tbaa !9
  %18474 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %18473, i32 noundef 0)
  br i1 %18474, label %18475, label %18528

18475:                                            ; preds = %18470
  br label %18476

18476:                                            ; preds = %18475
  br label %18477

18477:                                            ; preds = %18476
  call void @llvm.lifetime.start.p0(i64 4, ptr %416) #10
  %18478 = call ptr @__errno_location() #11
  %18479 = load i32, ptr %18478, align 4, !tbaa !5
  store i32 %18479, ptr %416, align 4, !tbaa !5
  %18480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18481 = call i32 @s2n_print_stacktrace(ptr noundef %18480)
  %18482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18483 = trunc i8 %18482 to i1
  br i1 %18483, label %18484, label %18506

18484:                                            ; preds = %18477
  %18485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18486 = call i32 @fileno(ptr noundef %18485) #10
  %18487 = call i32 @isatty(i32 noundef %18486) #10
  %18488 = icmp ne i32 %18487, 0
  br i1 %18488, label %18489, label %18506

18489:                                            ; preds = %18484
  %18490 = load i32, ptr %416, align 4, !tbaa !5
  %18491 = call ptr @__errno_location() #11
  store i32 %18490, ptr %18491, align 4, !tbaa !5
  %18492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18493 = load i32, ptr @test_count, align 4, !tbaa !5
  %18494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18495 = load i32, ptr %18494, align 4, !tbaa !5
  %18496 = call ptr @s2n_strerror(i32 noundef %18495, ptr noundef @.str.10)
  %18497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18498 = load i32, ptr %18497, align 4, !tbaa !5
  %18499 = call ptr @s2n_strerror_debug(i32 noundef %18498, ptr noundef @.str.10)
  %18500 = call ptr @__errno_location() #11
  %18501 = load i32, ptr %18500, align 4, !tbaa !5
  %18502 = call ptr @strerror(i32 noundef %18501) #10
  %18503 = call ptr @__errno_location() #11
  %18504 = load i32, ptr %18503, align 4, !tbaa !5
  %18505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18492, ptr noundef @.str.8, i32 noundef %18493, ptr noundef @.str.46, ptr noundef @.str.7, i32 noundef 703, ptr noundef %18496, ptr noundef %18499, ptr noundef %18502, i32 noundef %18504) #10
  br label %18523

18506:                                            ; preds = %18484, %18477
  %18507 = load i32, ptr %416, align 4, !tbaa !5
  %18508 = call ptr @__errno_location() #11
  store i32 %18507, ptr %18508, align 4, !tbaa !5
  %18509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18510 = load i32, ptr @test_count, align 4, !tbaa !5
  %18511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18512 = load i32, ptr %18511, align 4, !tbaa !5
  %18513 = call ptr @s2n_strerror(i32 noundef %18512, ptr noundef @.str.10)
  %18514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18515 = load i32, ptr %18514, align 4, !tbaa !5
  %18516 = call ptr @s2n_strerror_debug(i32 noundef %18515, ptr noundef @.str.10)
  %18517 = call ptr @__errno_location() #11
  %18518 = load i32, ptr %18517, align 4, !tbaa !5
  %18519 = call ptr @strerror(i32 noundef %18518) #10
  %18520 = call ptr @__errno_location() #11
  %18521 = load i32, ptr %18520, align 4, !tbaa !5
  %18522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18509, ptr noundef @.str.11, i32 noundef %18510, ptr noundef @.str.46, ptr noundef @.str.7, i32 noundef 703, ptr noundef %18513, ptr noundef %18516, ptr noundef %18519, i32 noundef %18521) #10
  br label %18523

18523:                                            ; preds = %18506, %18489
  call void @llvm.lifetime.end.p0(i64 4, ptr %416) #10
  br label %18524

18524:                                            ; preds = %18523
  br label %18525

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

18526:                                            ; No predecessors!
  br label %18527

18527:                                            ; preds = %18526
  br label %18528

18528:                                            ; preds = %18527, %18470
  br label %18529

18529:                                            ; preds = %18528
  br label %18530

18530:                                            ; preds = %18529
  br label %18531

18531:                                            ; preds = %18530
  %18532 = load i32, ptr @test_count, align 4, !tbaa !5
  %18533 = add nsw i32 %18532, 1
  store i32 %18533, ptr @test_count, align 4, !tbaa !5
  %18534 = load ptr, ptr %402, align 8, !tbaa !9
  %18535 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %18534, i32 noundef 1)
  br i1 %18535, label %18589, label %18536

18536:                                            ; preds = %18531
  br label %18537

18537:                                            ; preds = %18536
  br label %18538

18538:                                            ; preds = %18537
  call void @llvm.lifetime.start.p0(i64 4, ptr %417) #10
  %18539 = call ptr @__errno_location() #11
  %18540 = load i32, ptr %18539, align 4, !tbaa !5
  store i32 %18540, ptr %417, align 4, !tbaa !5
  %18541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18542 = call i32 @s2n_print_stacktrace(ptr noundef %18541)
  %18543 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18544 = trunc i8 %18543 to i1
  br i1 %18544, label %18545, label %18567

18545:                                            ; preds = %18538
  %18546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18547 = call i32 @fileno(ptr noundef %18546) #10
  %18548 = call i32 @isatty(i32 noundef %18547) #10
  %18549 = icmp ne i32 %18548, 0
  br i1 %18549, label %18550, label %18567

18550:                                            ; preds = %18545
  %18551 = load i32, ptr %417, align 4, !tbaa !5
  %18552 = call ptr @__errno_location() #11
  store i32 %18551, ptr %18552, align 4, !tbaa !5
  %18553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18554 = load i32, ptr @test_count, align 4, !tbaa !5
  %18555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18556 = load i32, ptr %18555, align 4, !tbaa !5
  %18557 = call ptr @s2n_strerror(i32 noundef %18556, ptr noundef @.str.10)
  %18558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18559 = load i32, ptr %18558, align 4, !tbaa !5
  %18560 = call ptr @s2n_strerror_debug(i32 noundef %18559, ptr noundef @.str.10)
  %18561 = call ptr @__errno_location() #11
  %18562 = load i32, ptr %18561, align 4, !tbaa !5
  %18563 = call ptr @strerror(i32 noundef %18562) #10
  %18564 = call ptr @__errno_location() #11
  %18565 = load i32, ptr %18564, align 4, !tbaa !5
  %18566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18553, ptr noundef @.str.8, i32 noundef %18554, ptr noundef @.str.59, ptr noundef @.str.7, i32 noundef 704, ptr noundef %18557, ptr noundef %18560, ptr noundef %18563, i32 noundef %18565) #10
  br label %18584

18567:                                            ; preds = %18545, %18538
  %18568 = load i32, ptr %417, align 4, !tbaa !5
  %18569 = call ptr @__errno_location() #11
  store i32 %18568, ptr %18569, align 4, !tbaa !5
  %18570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18571 = load i32, ptr @test_count, align 4, !tbaa !5
  %18572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18573 = load i32, ptr %18572, align 4, !tbaa !5
  %18574 = call ptr @s2n_strerror(i32 noundef %18573, ptr noundef @.str.10)
  %18575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18576 = load i32, ptr %18575, align 4, !tbaa !5
  %18577 = call ptr @s2n_strerror_debug(i32 noundef %18576, ptr noundef @.str.10)
  %18578 = call ptr @__errno_location() #11
  %18579 = load i32, ptr %18578, align 4, !tbaa !5
  %18580 = call ptr @strerror(i32 noundef %18579) #10
  %18581 = call ptr @__errno_location() #11
  %18582 = load i32, ptr %18581, align 4, !tbaa !5
  %18583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18570, ptr noundef @.str.11, i32 noundef %18571, ptr noundef @.str.59, ptr noundef @.str.7, i32 noundef 704, ptr noundef %18574, ptr noundef %18577, ptr noundef %18580, i32 noundef %18582) #10
  br label %18584

18584:                                            ; preds = %18567, %18550
  call void @llvm.lifetime.end.p0(i64 4, ptr %417) #10
  br label %18585

18585:                                            ; preds = %18584
  br label %18586

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

18587:                                            ; No predecessors!
  br label %18588

18588:                                            ; preds = %18587
  br label %18589

18589:                                            ; preds = %18588, %18531
  br label %18590

18590:                                            ; preds = %18589
  br label %18591

18591:                                            ; preds = %18590
  br label %18592

18592:                                            ; preds = %18591
  %18593 = load i32, ptr @test_count, align 4, !tbaa !5
  %18594 = add nsw i32 %18593, 1
  store i32 %18594, ptr @test_count, align 4, !tbaa !5
  %18595 = getelementptr inbounds %struct.s2n_stuffer, ptr %405, i32 0, i32 2
  %18596 = load i32, ptr %18595, align 4, !tbaa !43
  %18597 = getelementptr inbounds %struct.s2n_stuffer, ptr %405, i32 0, i32 1
  %18598 = load i32, ptr %18597, align 8, !tbaa !44
  %18599 = sub i32 %18596, %18598
  %18600 = icmp eq i32 %18599, 7
  br i1 %18600, label %18654, label %18601

18601:                                            ; preds = %18592
  br label %18602

18602:                                            ; preds = %18601
  br label %18603

18603:                                            ; preds = %18602
  call void @llvm.lifetime.start.p0(i64 4, ptr %418) #10
  %18604 = call ptr @__errno_location() #11
  %18605 = load i32, ptr %18604, align 4, !tbaa !5
  store i32 %18605, ptr %418, align 4, !tbaa !5
  %18606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18607 = call i32 @s2n_print_stacktrace(ptr noundef %18606)
  %18608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18609 = trunc i8 %18608 to i1
  br i1 %18609, label %18610, label %18632

18610:                                            ; preds = %18603
  %18611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18612 = call i32 @fileno(ptr noundef %18611) #10
  %18613 = call i32 @isatty(i32 noundef %18612) #10
  %18614 = icmp ne i32 %18613, 0
  br i1 %18614, label %18615, label %18632

18615:                                            ; preds = %18610
  %18616 = load i32, ptr %418, align 4, !tbaa !5
  %18617 = call ptr @__errno_location() #11
  store i32 %18616, ptr %18617, align 4, !tbaa !5
  %18618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18619 = load i32, ptr @test_count, align 4, !tbaa !5
  %18620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18621 = load i32, ptr %18620, align 4, !tbaa !5
  %18622 = call ptr @s2n_strerror(i32 noundef %18621, ptr noundef @.str.10)
  %18623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18624 = load i32, ptr %18623, align 4, !tbaa !5
  %18625 = call ptr @s2n_strerror_debug(i32 noundef %18624, ptr noundef @.str.10)
  %18626 = call ptr @__errno_location() #11
  %18627 = load i32, ptr %18626, align 4, !tbaa !5
  %18628 = call ptr @strerror(i32 noundef %18627) #10
  %18629 = call ptr @__errno_location() #11
  %18630 = load i32, ptr %18629, align 4, !tbaa !5
  %18631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18618, ptr noundef @.str.8, i32 noundef %18619, ptr noundef @.str.33, ptr noundef @.str.7, i32 noundef 705, ptr noundef %18622, ptr noundef %18625, ptr noundef %18628, i32 noundef %18630) #10
  br label %18649

18632:                                            ; preds = %18610, %18603
  %18633 = load i32, ptr %418, align 4, !tbaa !5
  %18634 = call ptr @__errno_location() #11
  store i32 %18633, ptr %18634, align 4, !tbaa !5
  %18635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18636 = load i32, ptr @test_count, align 4, !tbaa !5
  %18637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18638 = load i32, ptr %18637, align 4, !tbaa !5
  %18639 = call ptr @s2n_strerror(i32 noundef %18638, ptr noundef @.str.10)
  %18640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18641 = load i32, ptr %18640, align 4, !tbaa !5
  %18642 = call ptr @s2n_strerror_debug(i32 noundef %18641, ptr noundef @.str.10)
  %18643 = call ptr @__errno_location() #11
  %18644 = load i32, ptr %18643, align 4, !tbaa !5
  %18645 = call ptr @strerror(i32 noundef %18644) #10
  %18646 = call ptr @__errno_location() #11
  %18647 = load i32, ptr %18646, align 4, !tbaa !5
  %18648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18635, ptr noundef @.str.11, i32 noundef %18636, ptr noundef @.str.33, ptr noundef @.str.7, i32 noundef 705, ptr noundef %18639, ptr noundef %18642, ptr noundef %18645, i32 noundef %18647) #10
  br label %18649

18649:                                            ; preds = %18632, %18615
  call void @llvm.lifetime.end.p0(i64 4, ptr %418) #10
  br label %18650

18650:                                            ; preds = %18649
  br label %18651

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

18652:                                            ; No predecessors!
  br label %18653

18653:                                            ; preds = %18652
  br label %18654

18654:                                            ; preds = %18653, %18592
  br label %18655

18655:                                            ; preds = %18654
  br label %18656

18656:                                            ; preds = %18655
  br label %18657

18657:                                            ; preds = %18656
  %18658 = load i32, ptr @test_count, align 4, !tbaa !5
  %18659 = add nsw i32 %18658, 1
  store i32 %18659, ptr @test_count, align 4, !tbaa !5
  %18660 = load ptr, ptr %402, align 8, !tbaa !9
  %18661 = getelementptr inbounds %struct.s2n_connection, ptr %18660, i32 0, i32 49
  %18662 = load i8, ptr %18661, align 1, !tbaa !16, !range !13, !noundef !14
  %18663 = trunc i8 %18662 to i1
  br i1 %18663, label %18717, label %18664

18664:                                            ; preds = %18657
  br label %18665

18665:                                            ; preds = %18664
  br label %18666

18666:                                            ; preds = %18665
  call void @llvm.lifetime.start.p0(i64 4, ptr %419) #10
  %18667 = call ptr @__errno_location() #11
  %18668 = load i32, ptr %18667, align 4, !tbaa !5
  store i32 %18668, ptr %419, align 4, !tbaa !5
  %18669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18670 = call i32 @s2n_print_stacktrace(ptr noundef %18669)
  %18671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18672 = trunc i8 %18671 to i1
  br i1 %18672, label %18673, label %18695

18673:                                            ; preds = %18666
  %18674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18675 = call i32 @fileno(ptr noundef %18674) #10
  %18676 = call i32 @isatty(i32 noundef %18675) #10
  %18677 = icmp ne i32 %18676, 0
  br i1 %18677, label %18678, label %18695

18678:                                            ; preds = %18673
  %18679 = load i32, ptr %419, align 4, !tbaa !5
  %18680 = call ptr @__errno_location() #11
  store i32 %18679, ptr %18680, align 4, !tbaa !5
  %18681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18682 = load i32, ptr @test_count, align 4, !tbaa !5
  %18683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18684 = load i32, ptr %18683, align 4, !tbaa !5
  %18685 = call ptr @s2n_strerror(i32 noundef %18684, ptr noundef @.str.10)
  %18686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18687 = load i32, ptr %18686, align 4, !tbaa !5
  %18688 = call ptr @s2n_strerror_debug(i32 noundef %18687, ptr noundef @.str.10)
  %18689 = call ptr @__errno_location() #11
  %18690 = load i32, ptr %18689, align 4, !tbaa !5
  %18691 = call ptr @strerror(i32 noundef %18690) #10
  %18692 = call ptr @__errno_location() #11
  %18693 = load i32, ptr %18692, align 4, !tbaa !5
  %18694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18681, ptr noundef @.str.8, i32 noundef %18682, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 706, ptr noundef %18685, ptr noundef %18688, ptr noundef %18691, i32 noundef %18693) #10
  br label %18712

18695:                                            ; preds = %18673, %18666
  %18696 = load i32, ptr %419, align 4, !tbaa !5
  %18697 = call ptr @__errno_location() #11
  store i32 %18696, ptr %18697, align 4, !tbaa !5
  %18698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18699 = load i32, ptr @test_count, align 4, !tbaa !5
  %18700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18701 = load i32, ptr %18700, align 4, !tbaa !5
  %18702 = call ptr @s2n_strerror(i32 noundef %18701, ptr noundef @.str.10)
  %18703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18704 = load i32, ptr %18703, align 4, !tbaa !5
  %18705 = call ptr @s2n_strerror_debug(i32 noundef %18704, ptr noundef @.str.10)
  %18706 = call ptr @__errno_location() #11
  %18707 = load i32, ptr %18706, align 4, !tbaa !5
  %18708 = call ptr @strerror(i32 noundef %18707) #10
  %18709 = call ptr @__errno_location() #11
  %18710 = load i32, ptr %18709, align 4, !tbaa !5
  %18711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18698, ptr noundef @.str.11, i32 noundef %18699, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 706, ptr noundef %18702, ptr noundef %18705, ptr noundef %18708, i32 noundef %18710) #10
  br label %18712

18712:                                            ; preds = %18695, %18678
  call void @llvm.lifetime.end.p0(i64 4, ptr %419) #10
  br label %18713

18713:                                            ; preds = %18712
  br label %18714

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

18715:                                            ; No predecessors!
  br label %18716

18716:                                            ; preds = %18715
  br label %18717

18717:                                            ; preds = %18716, %18657
  br label %18718

18718:                                            ; preds = %18717
  br label %18719

18719:                                            ; preds = %18718
  %18720 = call i32 @s2n_stuffer_free(ptr noundef %405)
  call void @llvm.lifetime.end.p0(i64 40, ptr %405) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %404) #10
  %18721 = call i32 @s2n_connection_ptr_free(ptr noundef %402)
  %18722 = getelementptr inbounds %struct.s2n_result, ptr %420, i32 0, i32 0
  store i32 %18721, ptr %18722, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %402) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %421) #10
  %18723 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %18723, ptr %421, align 8, !tbaa !9
  br label %18724

18724:                                            ; preds = %18719
  %18725 = load i32, ptr @test_count, align 4, !tbaa !5
  %18726 = add nsw i32 %18725, 1
  store i32 %18726, ptr @test_count, align 4, !tbaa !5
  %18727 = load ptr, ptr %421, align 8, !tbaa !9
  %18728 = icmp eq ptr %18727, null
  br i1 %18728, label %18729, label %18782

18729:                                            ; preds = %18724
  br label %18730

18730:                                            ; preds = %18729
  br label %18731

18731:                                            ; preds = %18730
  call void @llvm.lifetime.start.p0(i64 4, ptr %422) #10
  %18732 = call ptr @__errno_location() #11
  %18733 = load i32, ptr %18732, align 4, !tbaa !5
  store i32 %18733, ptr %422, align 4, !tbaa !5
  %18734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18735 = call i32 @s2n_print_stacktrace(ptr noundef %18734)
  %18736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18737 = trunc i8 %18736 to i1
  br i1 %18737, label %18738, label %18760

18738:                                            ; preds = %18731
  %18739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18740 = call i32 @fileno(ptr noundef %18739) #10
  %18741 = call i32 @isatty(i32 noundef %18740) #10
  %18742 = icmp ne i32 %18741, 0
  br i1 %18742, label %18743, label %18760

18743:                                            ; preds = %18738
  %18744 = load i32, ptr %422, align 4, !tbaa !5
  %18745 = call ptr @__errno_location() #11
  store i32 %18744, ptr %18745, align 4, !tbaa !5
  %18746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18747 = load i32, ptr @test_count, align 4, !tbaa !5
  %18748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18749 = load i32, ptr %18748, align 4, !tbaa !5
  %18750 = call ptr @s2n_strerror(i32 noundef %18749, ptr noundef @.str.10)
  %18751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18752 = load i32, ptr %18751, align 4, !tbaa !5
  %18753 = call ptr @s2n_strerror_debug(i32 noundef %18752, ptr noundef @.str.10)
  %18754 = call ptr @__errno_location() #11
  %18755 = load i32, ptr %18754, align 4, !tbaa !5
  %18756 = call ptr @strerror(i32 noundef %18755) #10
  %18757 = call ptr @__errno_location() #11
  %18758 = load i32, ptr %18757, align 4, !tbaa !5
  %18759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18746, ptr noundef @.str.8, i32 noundef %18747, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 713, ptr noundef %18750, ptr noundef %18753, ptr noundef %18756, i32 noundef %18758) #10
  br label %18777

18760:                                            ; preds = %18738, %18731
  %18761 = load i32, ptr %422, align 4, !tbaa !5
  %18762 = call ptr @__errno_location() #11
  store i32 %18761, ptr %18762, align 4, !tbaa !5
  %18763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18764 = load i32, ptr @test_count, align 4, !tbaa !5
  %18765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18766 = load i32, ptr %18765, align 4, !tbaa !5
  %18767 = call ptr @s2n_strerror(i32 noundef %18766, ptr noundef @.str.10)
  %18768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18769 = load i32, ptr %18768, align 4, !tbaa !5
  %18770 = call ptr @s2n_strerror_debug(i32 noundef %18769, ptr noundef @.str.10)
  %18771 = call ptr @__errno_location() #11
  %18772 = load i32, ptr %18771, align 4, !tbaa !5
  %18773 = call ptr @strerror(i32 noundef %18772) #10
  %18774 = call ptr @__errno_location() #11
  %18775 = load i32, ptr %18774, align 4, !tbaa !5
  %18776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18763, ptr noundef @.str.11, i32 noundef %18764, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 713, ptr noundef %18767, ptr noundef %18770, ptr noundef %18773, i32 noundef %18775) #10
  br label %18777

18777:                                            ; preds = %18760, %18743
  call void @llvm.lifetime.end.p0(i64 4, ptr %422) #10
  br label %18778

18778:                                            ; preds = %18777
  br label %18779

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

18780:                                            ; No predecessors!
  br label %18781

18781:                                            ; preds = %18780
  br label %18782

18782:                                            ; preds = %18781, %18724
  br label %18783

18783:                                            ; preds = %18782
  br label %18784

18784:                                            ; preds = %18783
  br label %18785

18785:                                            ; preds = %18784
  %18786 = load i32, ptr @test_count, align 4, !tbaa !5
  %18787 = add nsw i32 %18786, 1
  store i32 %18787, ptr @test_count, align 4, !tbaa !5
  %18788 = load ptr, ptr %421, align 8, !tbaa !9
  %18789 = call i32 @s2n_connection_wipe(ptr noundef %18788)
  %18790 = icmp eq i32 %18789, -1
  br i1 %18790, label %18791, label %18844

18791:                                            ; preds = %18785
  br label %18792

18792:                                            ; preds = %18791
  br label %18793

18793:                                            ; preds = %18792
  call void @llvm.lifetime.start.p0(i64 4, ptr %423) #10
  %18794 = call ptr @__errno_location() #11
  %18795 = load i32, ptr %18794, align 4, !tbaa !5
  store i32 %18795, ptr %423, align 4, !tbaa !5
  %18796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18797 = call i32 @s2n_print_stacktrace(ptr noundef %18796)
  %18798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18799 = trunc i8 %18798 to i1
  br i1 %18799, label %18800, label %18822

18800:                                            ; preds = %18793
  %18801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18802 = call i32 @fileno(ptr noundef %18801) #10
  %18803 = call i32 @isatty(i32 noundef %18802) #10
  %18804 = icmp ne i32 %18803, 0
  br i1 %18804, label %18805, label %18822

18805:                                            ; preds = %18800
  %18806 = load i32, ptr %423, align 4, !tbaa !5
  %18807 = call ptr @__errno_location() #11
  store i32 %18806, ptr %18807, align 4, !tbaa !5
  %18808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18809 = load i32, ptr @test_count, align 4, !tbaa !5
  %18810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18811 = load i32, ptr %18810, align 4, !tbaa !5
  %18812 = call ptr @s2n_strerror(i32 noundef %18811, ptr noundef @.str.10)
  %18813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18814 = load i32, ptr %18813, align 4, !tbaa !5
  %18815 = call ptr @s2n_strerror_debug(i32 noundef %18814, ptr noundef @.str.10)
  %18816 = call ptr @__errno_location() #11
  %18817 = load i32, ptr %18816, align 4, !tbaa !5
  %18818 = call ptr @strerror(i32 noundef %18817) #10
  %18819 = call ptr @__errno_location() #11
  %18820 = load i32, ptr %18819, align 4, !tbaa !5
  %18821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18808, ptr noundef @.str.8, i32 noundef %18809, ptr noundef @.str.113, ptr noundef @.str.7, i32 noundef 714, ptr noundef %18812, ptr noundef %18815, ptr noundef %18818, i32 noundef %18820) #10
  br label %18839

18822:                                            ; preds = %18800, %18793
  %18823 = load i32, ptr %423, align 4, !tbaa !5
  %18824 = call ptr @__errno_location() #11
  store i32 %18823, ptr %18824, align 4, !tbaa !5
  %18825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18826 = load i32, ptr @test_count, align 4, !tbaa !5
  %18827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18828 = load i32, ptr %18827, align 4, !tbaa !5
  %18829 = call ptr @s2n_strerror(i32 noundef %18828, ptr noundef @.str.10)
  %18830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18831 = load i32, ptr %18830, align 4, !tbaa !5
  %18832 = call ptr @s2n_strerror_debug(i32 noundef %18831, ptr noundef @.str.10)
  %18833 = call ptr @__errno_location() #11
  %18834 = load i32, ptr %18833, align 4, !tbaa !5
  %18835 = call ptr @strerror(i32 noundef %18834) #10
  %18836 = call ptr @__errno_location() #11
  %18837 = load i32, ptr %18836, align 4, !tbaa !5
  %18838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18825, ptr noundef @.str.11, i32 noundef %18826, ptr noundef @.str.113, ptr noundef @.str.7, i32 noundef 714, ptr noundef %18829, ptr noundef %18832, ptr noundef %18835, i32 noundef %18837) #10
  br label %18839

18839:                                            ; preds = %18822, %18805
  call void @llvm.lifetime.end.p0(i64 4, ptr %423) #10
  br label %18840

18840:                                            ; preds = %18839
  br label %18841

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

18842:                                            ; No predecessors!
  br label %18843

18843:                                            ; preds = %18842
  br label %18844

18844:                                            ; preds = %18843, %18785
  br label %18845

18845:                                            ; preds = %18844
  br label %18846

18846:                                            ; preds = %18845
  call void @llvm.lifetime.start.p0(i64 4, ptr %424) #10
  store i32 0, ptr %424, align 4, !tbaa !5
  br label %18847

18847:                                            ; preds = %18846
  %18848 = load i32, ptr @test_count, align 4, !tbaa !5
  %18849 = add nsw i32 %18848, 1
  store i32 %18849, ptr @test_count, align 4, !tbaa !5
  %18850 = load ptr, ptr %421, align 8, !tbaa !9
  %18851 = call i32 @s2n_shutdown_send(ptr noundef %18850, ptr noundef %424)
  %18852 = icmp eq i32 %18851, -1
  br i1 %18852, label %18853, label %18906

18853:                                            ; preds = %18847
  br label %18854

18854:                                            ; preds = %18853
  br label %18855

18855:                                            ; preds = %18854
  call void @llvm.lifetime.start.p0(i64 4, ptr %425) #10
  %18856 = call ptr @__errno_location() #11
  %18857 = load i32, ptr %18856, align 4, !tbaa !5
  store i32 %18857, ptr %425, align 4, !tbaa !5
  %18858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18859 = call i32 @s2n_print_stacktrace(ptr noundef %18858)
  %18860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18861 = trunc i8 %18860 to i1
  br i1 %18861, label %18862, label %18884

18862:                                            ; preds = %18855
  %18863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18864 = call i32 @fileno(ptr noundef %18863) #10
  %18865 = call i32 @isatty(i32 noundef %18864) #10
  %18866 = icmp ne i32 %18865, 0
  br i1 %18866, label %18867, label %18884

18867:                                            ; preds = %18862
  %18868 = load i32, ptr %425, align 4, !tbaa !5
  %18869 = call ptr @__errno_location() #11
  store i32 %18868, ptr %18869, align 4, !tbaa !5
  %18870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18871 = load i32, ptr @test_count, align 4, !tbaa !5
  %18872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18873 = load i32, ptr %18872, align 4, !tbaa !5
  %18874 = call ptr @s2n_strerror(i32 noundef %18873, ptr noundef @.str.10)
  %18875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18876 = load i32, ptr %18875, align 4, !tbaa !5
  %18877 = call ptr @s2n_strerror_debug(i32 noundef %18876, ptr noundef @.str.10)
  %18878 = call ptr @__errno_location() #11
  %18879 = load i32, ptr %18878, align 4, !tbaa !5
  %18880 = call ptr @strerror(i32 noundef %18879) #10
  %18881 = call ptr @__errno_location() #11
  %18882 = load i32, ptr %18881, align 4, !tbaa !5
  %18883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18870, ptr noundef @.str.8, i32 noundef %18871, ptr noundef @.str.110, ptr noundef @.str.7, i32 noundef 717, ptr noundef %18874, ptr noundef %18877, ptr noundef %18880, i32 noundef %18882) #10
  br label %18901

18884:                                            ; preds = %18862, %18855
  %18885 = load i32, ptr %425, align 4, !tbaa !5
  %18886 = call ptr @__errno_location() #11
  store i32 %18885, ptr %18886, align 4, !tbaa !5
  %18887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18888 = load i32, ptr @test_count, align 4, !tbaa !5
  %18889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18890 = load i32, ptr %18889, align 4, !tbaa !5
  %18891 = call ptr @s2n_strerror(i32 noundef %18890, ptr noundef @.str.10)
  %18892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18893 = load i32, ptr %18892, align 4, !tbaa !5
  %18894 = call ptr @s2n_strerror_debug(i32 noundef %18893, ptr noundef @.str.10)
  %18895 = call ptr @__errno_location() #11
  %18896 = load i32, ptr %18895, align 4, !tbaa !5
  %18897 = call ptr @strerror(i32 noundef %18896) #10
  %18898 = call ptr @__errno_location() #11
  %18899 = load i32, ptr %18898, align 4, !tbaa !5
  %18900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18887, ptr noundef @.str.11, i32 noundef %18888, ptr noundef @.str.110, ptr noundef @.str.7, i32 noundef 717, ptr noundef %18891, ptr noundef %18894, ptr noundef %18897, i32 noundef %18899) #10
  br label %18901

18901:                                            ; preds = %18884, %18867
  call void @llvm.lifetime.end.p0(i64 4, ptr %425) #10
  br label %18902

18902:                                            ; preds = %18901
  br label %18903

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

18904:                                            ; No predecessors!
  br label %18905

18905:                                            ; preds = %18904
  br label %18906

18906:                                            ; preds = %18905, %18847
  br label %18907

18907:                                            ; preds = %18906
  br label %18908

18908:                                            ; preds = %18907
  br label %18909

18909:                                            ; preds = %18908
  %18910 = load i32, ptr @test_count, align 4, !tbaa !5
  %18911 = add nsw i32 %18910, 1
  store i32 %18911, ptr @test_count, align 4, !tbaa !5
  %18912 = load i32, ptr %424, align 4, !tbaa !5
  %18913 = icmp eq i32 %18912, 0
  br i1 %18913, label %18967, label %18914

18914:                                            ; preds = %18909
  br label %18915

18915:                                            ; preds = %18914
  br label %18916

18916:                                            ; preds = %18915
  call void @llvm.lifetime.start.p0(i64 4, ptr %426) #10
  %18917 = call ptr @__errno_location() #11
  %18918 = load i32, ptr %18917, align 4, !tbaa !5
  store i32 %18918, ptr %426, align 4, !tbaa !5
  %18919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18920 = call i32 @s2n_print_stacktrace(ptr noundef %18919)
  %18921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18922 = trunc i8 %18921 to i1
  br i1 %18922, label %18923, label %18945

18923:                                            ; preds = %18916
  %18924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18925 = call i32 @fileno(ptr noundef %18924) #10
  %18926 = call i32 @isatty(i32 noundef %18925) #10
  %18927 = icmp ne i32 %18926, 0
  br i1 %18927, label %18928, label %18945

18928:                                            ; preds = %18923
  %18929 = load i32, ptr %426, align 4, !tbaa !5
  %18930 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %18939 = call ptr @__errno_location() #11
  %18940 = load i32, ptr %18939, align 4, !tbaa !5
  %18941 = call ptr @strerror(i32 noundef %18940) #10
  %18942 = call ptr @__errno_location() #11
  %18943 = load i32, ptr %18942, align 4, !tbaa !5
  %18944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18931, ptr noundef @.str.8, i32 noundef %18932, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 718, ptr noundef %18935, ptr noundef %18938, ptr noundef %18941, i32 noundef %18943) #10
  br label %18962

18945:                                            ; preds = %18923, %18916
  %18946 = load i32, ptr %426, align 4, !tbaa !5
  %18947 = call ptr @__errno_location() #11
  store i32 %18946, ptr %18947, align 4, !tbaa !5
  %18948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18949 = load i32, ptr @test_count, align 4, !tbaa !5
  %18950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18951 = load i32, ptr %18950, align 4, !tbaa !5
  %18952 = call ptr @s2n_strerror(i32 noundef %18951, ptr noundef @.str.10)
  %18953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18954 = load i32, ptr %18953, align 4, !tbaa !5
  %18955 = call ptr @s2n_strerror_debug(i32 noundef %18954, ptr noundef @.str.10)
  %18956 = call ptr @__errno_location() #11
  %18957 = load i32, ptr %18956, align 4, !tbaa !5
  %18958 = call ptr @strerror(i32 noundef %18957) #10
  %18959 = call ptr @__errno_location() #11
  %18960 = load i32, ptr %18959, align 4, !tbaa !5
  %18961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18948, ptr noundef @.str.11, i32 noundef %18949, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 718, ptr noundef %18952, ptr noundef %18955, ptr noundef %18958, i32 noundef %18960) #10
  br label %18962

18962:                                            ; preds = %18945, %18928
  call void @llvm.lifetime.end.p0(i64 4, ptr %426) #10
  br label %18963

18963:                                            ; preds = %18962
  br label %18964

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

18965:                                            ; No predecessors!
  br label %18966

18966:                                            ; preds = %18965
  br label %18967

18967:                                            ; preds = %18966, %18909
  br label %18968

18968:                                            ; preds = %18967
  br label %18969

18969:                                            ; preds = %18968
  br label %18970

18970:                                            ; preds = %18969
  %18971 = load i32, ptr @test_count, align 4, !tbaa !5
  %18972 = add nsw i32 %18971, 1
  store i32 %18972, ptr @test_count, align 4, !tbaa !5
  %18973 = load ptr, ptr %421, align 8, !tbaa !9
  %18974 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %18973, i32 noundef 2)
  br i1 %18974, label %19028, label %18975

18975:                                            ; preds = %18970
  br label %18976

18976:                                            ; preds = %18975
  br label %18977

18977:                                            ; preds = %18976
  call void @llvm.lifetime.start.p0(i64 4, ptr %427) #10
  %18978 = call ptr @__errno_location() #11
  %18979 = load i32, ptr %18978, align 4, !tbaa !5
  store i32 %18979, ptr %427, align 4, !tbaa !5
  %18980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18981 = call i32 @s2n_print_stacktrace(ptr noundef %18980)
  %18982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18983 = trunc i8 %18982 to i1
  br i1 %18983, label %18984, label %19006

18984:                                            ; preds = %18977
  %18985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18986 = call i32 @fileno(ptr noundef %18985) #10
  %18987 = call i32 @isatty(i32 noundef %18986) #10
  %18988 = icmp ne i32 %18987, 0
  br i1 %18988, label %18989, label %19006

18989:                                            ; preds = %18984
  %18990 = load i32, ptr %427, align 4, !tbaa !5
  %18991 = call ptr @__errno_location() #11
  store i32 %18990, ptr %18991, align 4, !tbaa !5
  %18992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18993 = load i32, ptr @test_count, align 4, !tbaa !5
  %18994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18995 = load i32, ptr %18994, align 4, !tbaa !5
  %18996 = call ptr @s2n_strerror(i32 noundef %18995, ptr noundef @.str.10)
  %18997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18998 = load i32, ptr %18997, align 4, !tbaa !5
  %18999 = call ptr @s2n_strerror_debug(i32 noundef %18998, ptr noundef @.str.10)
  %19000 = call ptr @__errno_location() #11
  %19001 = load i32, ptr %19000, align 4, !tbaa !5
  %19002 = call ptr @strerror(i32 noundef %19001) #10
  %19003 = call ptr @__errno_location() #11
  %19004 = load i32, ptr %19003, align 4, !tbaa !5
  %19005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18992, ptr noundef @.str.8, i32 noundef %18993, ptr noundef @.str.28, ptr noundef @.str.7, i32 noundef 719, ptr noundef %18996, ptr noundef %18999, ptr noundef %19002, i32 noundef %19004) #10
  br label %19023

19006:                                            ; preds = %18984, %18977
  %19007 = load i32, ptr %427, align 4, !tbaa !5
  %19008 = call ptr @__errno_location() #11
  store i32 %19007, ptr %19008, align 4, !tbaa !5
  %19009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19010 = load i32, ptr @test_count, align 4, !tbaa !5
  %19011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19012 = load i32, ptr %19011, align 4, !tbaa !5
  %19013 = call ptr @s2n_strerror(i32 noundef %19012, ptr noundef @.str.10)
  %19014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19015 = load i32, ptr %19014, align 4, !tbaa !5
  %19016 = call ptr @s2n_strerror_debug(i32 noundef %19015, ptr noundef @.str.10)
  %19017 = call ptr @__errno_location() #11
  %19018 = load i32, ptr %19017, align 4, !tbaa !5
  %19019 = call ptr @strerror(i32 noundef %19018) #10
  %19020 = call ptr @__errno_location() #11
  %19021 = load i32, ptr %19020, align 4, !tbaa !5
  %19022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19009, ptr noundef @.str.11, i32 noundef %19010, ptr noundef @.str.28, ptr noundef @.str.7, i32 noundef 719, ptr noundef %19013, ptr noundef %19016, ptr noundef %19019, i32 noundef %19021) #10
  br label %19023

19023:                                            ; preds = %19006, %18989
  call void @llvm.lifetime.end.p0(i64 4, ptr %427) #10
  br label %19024

19024:                                            ; preds = %19023
  br label %19025

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

19026:                                            ; No predecessors!
  br label %19027

19027:                                            ; preds = %19026
  br label %19028

19028:                                            ; preds = %19027, %18970
  br label %19029

19029:                                            ; preds = %19028
  br label %19030

19030:                                            ; preds = %19029
  br label %19031

19031:                                            ; preds = %19030
  %19032 = load i32, ptr @test_count, align 4, !tbaa !5
  %19033 = add nsw i32 %19032, 1
  store i32 %19033, ptr @test_count, align 4, !tbaa !5
  %19034 = load ptr, ptr %421, align 8, !tbaa !9
  %19035 = getelementptr inbounds %struct.s2n_connection, ptr %19034, i32 0, i32 49
  %19036 = load i8, ptr %19035, align 1, !tbaa !16, !range !13, !noundef !14
  %19037 = trunc i8 %19036 to i1
  br i1 %19037, label %19038, label %19091

19038:                                            ; preds = %19031
  br label %19039

19039:                                            ; preds = %19038
  br label %19040

19040:                                            ; preds = %19039
  call void @llvm.lifetime.start.p0(i64 4, ptr %428) #10
  %19041 = call ptr @__errno_location() #11
  %19042 = load i32, ptr %19041, align 4, !tbaa !5
  store i32 %19042, ptr %428, align 4, !tbaa !5
  %19043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19044 = call i32 @s2n_print_stacktrace(ptr noundef %19043)
  %19045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19046 = trunc i8 %19045 to i1
  br i1 %19046, label %19047, label %19069

19047:                                            ; preds = %19040
  %19048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19049 = call i32 @fileno(ptr noundef %19048) #10
  %19050 = call i32 @isatty(i32 noundef %19049) #10
  %19051 = icmp ne i32 %19050, 0
  br i1 %19051, label %19052, label %19069

19052:                                            ; preds = %19047
  %19053 = load i32, ptr %428, align 4, !tbaa !5
  %19054 = call ptr @__errno_location() #11
  store i32 %19053, ptr %19054, align 4, !tbaa !5
  %19055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19056 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %19058, ptr noundef @.str.10)
  %19060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19061 = load i32, ptr %19060, align 4, !tbaa !5
  %19062 = call ptr @s2n_strerror_debug(i32 noundef %19061, ptr noundef @.str.10)
  %19063 = call ptr @__errno_location() #11
  %19064 = load i32, ptr %19063, align 4, !tbaa !5
  %19065 = call ptr @strerror(i32 noundef %19064) #10
  %19066 = call ptr @__errno_location() #11
  %19067 = load i32, ptr %19066, align 4, !tbaa !5
  %19068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19055, ptr noundef @.str.8, i32 noundef %19056, ptr noundef @.str.27, ptr noundef @.str.7, i32 noundef 720, ptr noundef %19059, ptr noundef %19062, ptr noundef %19065, i32 noundef %19067) #10
  br label %19086

19069:                                            ; preds = %19047, %19040
  %19070 = load i32, ptr %428, align 4, !tbaa !5
  %19071 = call ptr @__errno_location() #11
  store i32 %19070, ptr %19071, align 4, !tbaa !5
  %19072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19073 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %19075, ptr noundef @.str.10)
  %19077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19078 = load i32, ptr %19077, align 4, !tbaa !5
  %19079 = call ptr @s2n_strerror_debug(i32 noundef %19078, ptr noundef @.str.10)
  %19080 = call ptr @__errno_location() #11
  %19081 = load i32, ptr %19080, align 4, !tbaa !5
  %19082 = call ptr @strerror(i32 noundef %19081) #10
  %19083 = call ptr @__errno_location() #11
  %19084 = load i32, ptr %19083, align 4, !tbaa !5
  %19085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19072, ptr noundef @.str.11, i32 noundef %19073, ptr noundef @.str.27, ptr noundef @.str.7, i32 noundef 720, ptr noundef %19076, ptr noundef %19079, ptr noundef %19082, i32 noundef %19084) #10
  br label %19086

19086:                                            ; preds = %19069, %19052
  call void @llvm.lifetime.end.p0(i64 4, ptr %428) #10
  br label %19087

19087:                                            ; preds = %19086
  br label %19088

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

19089:                                            ; No predecessors!
  br label %19090

19090:                                            ; preds = %19089
  br label %19091

19091:                                            ; preds = %19090, %19031
  br label %19092

19092:                                            ; preds = %19091
  br label %19093

19093:                                            ; preds = %19092
  call void @llvm.lifetime.end.p0(i64 4, ptr %424) #10
  %19094 = call i32 @s2n_connection_ptr_free(ptr noundef %421)
  %19095 = getelementptr inbounds %struct.s2n_result, ptr %429, i32 0, i32 0
  store i32 %19094, ptr %19095, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %421) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %430) #10
  %19096 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %19096, ptr %430, align 8, !tbaa !9
  br label %19097

19097:                                            ; preds = %19093
  %19098 = load i32, ptr @test_count, align 4, !tbaa !5
  %19099 = add nsw i32 %19098, 1
  store i32 %19099, ptr @test_count, align 4, !tbaa !5
  %19100 = load ptr, ptr %430, align 8, !tbaa !9
  %19101 = icmp eq ptr %19100, null
  br i1 %19101, label %19102, label %19155

19102:                                            ; preds = %19097
  br label %19103

19103:                                            ; preds = %19102
  br label %19104

19104:                                            ; preds = %19103
  call void @llvm.lifetime.start.p0(i64 4, ptr %431) #10
  %19105 = call ptr @__errno_location() #11
  %19106 = load i32, ptr %19105, align 4, !tbaa !5
  store i32 %19106, ptr %431, align 4, !tbaa !5
  %19107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19108 = call i32 @s2n_print_stacktrace(ptr noundef %19107)
  %19109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19110 = trunc i8 %19109 to i1
  br i1 %19110, label %19111, label %19133

19111:                                            ; preds = %19104
  %19112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19113 = call i32 @fileno(ptr noundef %19112) #10
  %19114 = call i32 @isatty(i32 noundef %19113) #10
  %19115 = icmp ne i32 %19114, 0
  br i1 %19115, label %19116, label %19133

19116:                                            ; preds = %19111
  %19117 = load i32, ptr %431, align 4, !tbaa !5
  %19118 = call ptr @__errno_location() #11
  store i32 %19117, ptr %19118, align 4, !tbaa !5
  %19119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19120 = load i32, ptr @test_count, align 4, !tbaa !5
  %19121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19122 = load i32, ptr %19121, align 4, !tbaa !5
  %19123 = call ptr @s2n_strerror(i32 noundef %19122, ptr noundef @.str.10)
  %19124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19125 = load i32, ptr %19124, align 4, !tbaa !5
  %19126 = call ptr @s2n_strerror_debug(i32 noundef %19125, ptr noundef @.str.10)
  %19127 = call ptr @__errno_location() #11
  %19128 = load i32, ptr %19127, align 4, !tbaa !5
  %19129 = call ptr @strerror(i32 noundef %19128) #10
  %19130 = call ptr @__errno_location() #11
  %19131 = load i32, ptr %19130, align 4, !tbaa !5
  %19132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19119, ptr noundef @.str.8, i32 noundef %19120, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 727, ptr noundef %19123, ptr noundef %19126, ptr noundef %19129, i32 noundef %19131) #10
  br label %19150

19133:                                            ; preds = %19111, %19104
  %19134 = load i32, ptr %431, align 4, !tbaa !5
  %19135 = call ptr @__errno_location() #11
  store i32 %19134, ptr %19135, align 4, !tbaa !5
  %19136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19137 = load i32, ptr @test_count, align 4, !tbaa !5
  %19138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19139 = load i32, ptr %19138, align 4, !tbaa !5
  %19140 = call ptr @s2n_strerror(i32 noundef %19139, ptr noundef @.str.10)
  %19141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19142 = load i32, ptr %19141, align 4, !tbaa !5
  %19143 = call ptr @s2n_strerror_debug(i32 noundef %19142, ptr noundef @.str.10)
  %19144 = call ptr @__errno_location() #11
  %19145 = load i32, ptr %19144, align 4, !tbaa !5
  %19146 = call ptr @strerror(i32 noundef %19145) #10
  %19147 = call ptr @__errno_location() #11
  %19148 = load i32, ptr %19147, align 4, !tbaa !5
  %19149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19136, ptr noundef @.str.11, i32 noundef %19137, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 727, ptr noundef %19140, ptr noundef %19143, ptr noundef %19146, i32 noundef %19148) #10
  br label %19150

19150:                                            ; preds = %19133, %19116
  call void @llvm.lifetime.end.p0(i64 4, ptr %431) #10
  br label %19151

19151:                                            ; preds = %19150
  br label %19152

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

19153:                                            ; No predecessors!
  br label %19154

19154:                                            ; preds = %19153
  br label %19155

19155:                                            ; preds = %19154, %19097
  br label %19156

19156:                                            ; preds = %19155
  br label %19157

19157:                                            ; preds = %19156
  br label %19158

19158:                                            ; preds = %19157
  %19159 = load i32, ptr @test_count, align 4, !tbaa !5
  %19160 = add nsw i32 %19159, 1
  store i32 %19160, ptr @test_count, align 4, !tbaa !5
  %19161 = load ptr, ptr %430, align 8, !tbaa !9
  %19162 = call i32 @s2n_skip_handshake(ptr noundef %19161)
  %19163 = getelementptr inbounds %struct.s2n_result, ptr %432, i32 0, i32 0
  store i32 %19162, ptr %19163, align 4
  %19164 = getelementptr inbounds %struct.s2n_result, ptr %432, i32 0, i32 0
  %19165 = load i32, ptr %19164, align 4
  %19166 = call zeroext i1 @s2n_result_is_ok(i32 %19165)
  br i1 %19166, label %19220, label %19167

19167:                                            ; preds = %19158
  br label %19168

19168:                                            ; preds = %19167
  br label %19169

19169:                                            ; preds = %19168
  call void @llvm.lifetime.start.p0(i64 4, ptr %433) #10
  %19170 = call ptr @__errno_location() #11
  %19171 = load i32, ptr %19170, align 4, !tbaa !5
  store i32 %19171, ptr %433, align 4, !tbaa !5
  %19172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19173 = call i32 @s2n_print_stacktrace(ptr noundef %19172)
  %19174 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19175 = trunc i8 %19174 to i1
  br i1 %19175, label %19176, label %19198

19176:                                            ; preds = %19169
  %19177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19178 = call i32 @fileno(ptr noundef %19177) #10
  %19179 = call i32 @isatty(i32 noundef %19178) #10
  %19180 = icmp ne i32 %19179, 0
  br i1 %19180, label %19181, label %19198

19181:                                            ; preds = %19176
  %19182 = load i32, ptr %433, align 4, !tbaa !5
  %19183 = call ptr @__errno_location() #11
  store i32 %19182, ptr %19183, align 4, !tbaa !5
  %19184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19185 = load i32, ptr @test_count, align 4, !tbaa !5
  %19186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19187 = load i32, ptr %19186, align 4, !tbaa !5
  %19188 = call ptr @s2n_strerror(i32 noundef %19187, ptr noundef @.str.10)
  %19189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19190 = load i32, ptr %19189, align 4, !tbaa !5
  %19191 = call ptr @s2n_strerror_debug(i32 noundef %19190, ptr noundef @.str.10)
  %19192 = call ptr @__errno_location() #11
  %19193 = load i32, ptr %19192, align 4, !tbaa !5
  %19194 = call ptr @strerror(i32 noundef %19193) #10
  %19195 = call ptr @__errno_location() #11
  %19196 = load i32, ptr %19195, align 4, !tbaa !5
  %19197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19184, ptr noundef @.str.8, i32 noundef %19185, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 728, ptr noundef %19188, ptr noundef %19191, ptr noundef %19194, i32 noundef %19196) #10
  br label %19215

19198:                                            ; preds = %19176, %19169
  %19199 = load i32, ptr %433, align 4, !tbaa !5
  %19200 = call ptr @__errno_location() #11
  store i32 %19199, ptr %19200, align 4, !tbaa !5
  %19201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19202 = load i32, ptr @test_count, align 4, !tbaa !5
  %19203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19204 = load i32, ptr %19203, align 4, !tbaa !5
  %19205 = call ptr @s2n_strerror(i32 noundef %19204, ptr noundef @.str.10)
  %19206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19207 = load i32, ptr %19206, align 4, !tbaa !5
  %19208 = call ptr @s2n_strerror_debug(i32 noundef %19207, ptr noundef @.str.10)
  %19209 = call ptr @__errno_location() #11
  %19210 = load i32, ptr %19209, align 4, !tbaa !5
  %19211 = call ptr @strerror(i32 noundef %19210) #10
  %19212 = call ptr @__errno_location() #11
  %19213 = load i32, ptr %19212, align 4, !tbaa !5
  %19214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19201, ptr noundef @.str.11, i32 noundef %19202, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 728, ptr noundef %19205, ptr noundef %19208, ptr noundef %19211, i32 noundef %19213) #10
  br label %19215

19215:                                            ; preds = %19198, %19181
  call void @llvm.lifetime.end.p0(i64 4, ptr %433) #10
  br label %19216

19216:                                            ; preds = %19215
  br label %19217

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

19218:                                            ; No predecessors!
  br label %19219

19219:                                            ; preds = %19218
  br label %19220

19220:                                            ; preds = %19219, %19158
  br label %19221

19221:                                            ; preds = %19220
  br label %19222

19222:                                            ; preds = %19221
  call void @llvm.lifetime.start.p0(i64 4, ptr %434) #10
  store i32 0, ptr %434, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr %435) #10
  call void @llvm.memset.p0.i64(ptr align 8 %435, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %436) #10
  call void @llvm.memset.p0.i64(ptr align 8 %436, i8 0, i64 40, i1 false)
  br label %19223

19223:                                            ; preds = %19222
  %19224 = load i32, ptr @test_count, align 4, !tbaa !5
  %19225 = add nsw i32 %19224, 1
  store i32 %19225, ptr @test_count, align 4, !tbaa !5
  %19226 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %435, i32 noundef 0)
  %19227 = icmp eq i32 %19226, -1
  br i1 %19227, label %19228, label %19281

19228:                                            ; preds = %19223
  br label %19229

19229:                                            ; preds = %19228
  br label %19230

19230:                                            ; preds = %19229
  call void @llvm.lifetime.start.p0(i64 4, ptr %437) #10
  %19231 = call ptr @__errno_location() #11
  %19232 = load i32, ptr %19231, align 4, !tbaa !5
  store i32 %19232, ptr %437, align 4, !tbaa !5
  %19233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19234 = call i32 @s2n_print_stacktrace(ptr noundef %19233)
  %19235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19236 = trunc i8 %19235 to i1
  br i1 %19236, label %19237, label %19259

19237:                                            ; preds = %19230
  %19238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19239 = call i32 @fileno(ptr noundef %19238) #10
  %19240 = call i32 @isatty(i32 noundef %19239) #10
  %19241 = icmp ne i32 %19240, 0
  br i1 %19241, label %19242, label %19259

19242:                                            ; preds = %19237
  %19243 = load i32, ptr %437, align 4, !tbaa !5
  %19244 = call ptr @__errno_location() #11
  store i32 %19243, ptr %19244, align 4, !tbaa !5
  %19245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19246 = load i32, ptr @test_count, align 4, !tbaa !5
  %19247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19248 = load i32, ptr %19247, align 4, !tbaa !5
  %19249 = call ptr @s2n_strerror(i32 noundef %19248, ptr noundef @.str.10)
  %19250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19251 = load i32, ptr %19250, align 4, !tbaa !5
  %19252 = call ptr @s2n_strerror_debug(i32 noundef %19251, ptr noundef @.str.10)
  %19253 = call ptr @__errno_location() #11
  %19254 = load i32, ptr %19253, align 4, !tbaa !5
  %19255 = call ptr @strerror(i32 noundef %19254) #10
  %19256 = call ptr @__errno_location() #11
  %19257 = load i32, ptr %19256, align 4, !tbaa !5
  %19258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19245, ptr noundef @.str.8, i32 noundef %19246, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 734, ptr noundef %19249, ptr noundef %19252, ptr noundef %19255, i32 noundef %19257) #10
  br label %19276

19259:                                            ; preds = %19237, %19230
  %19260 = load i32, ptr %437, align 4, !tbaa !5
  %19261 = call ptr @__errno_location() #11
  store i32 %19260, ptr %19261, align 4, !tbaa !5
  %19262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19263 = load i32, ptr @test_count, align 4, !tbaa !5
  %19264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19265 = load i32, ptr %19264, align 4, !tbaa !5
  %19266 = call ptr @s2n_strerror(i32 noundef %19265, ptr noundef @.str.10)
  %19267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19268 = load i32, ptr %19267, align 4, !tbaa !5
  %19269 = call ptr @s2n_strerror_debug(i32 noundef %19268, ptr noundef @.str.10)
  %19270 = call ptr @__errno_location() #11
  %19271 = load i32, ptr %19270, align 4, !tbaa !5
  %19272 = call ptr @strerror(i32 noundef %19271) #10
  %19273 = call ptr @__errno_location() #11
  %19274 = load i32, ptr %19273, align 4, !tbaa !5
  %19275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19262, ptr noundef @.str.11, i32 noundef %19263, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 734, ptr noundef %19266, ptr noundef %19269, ptr noundef %19272, i32 noundef %19274) #10
  br label %19276

19276:                                            ; preds = %19259, %19242
  call void @llvm.lifetime.end.p0(i64 4, ptr %437) #10
  br label %19277

19277:                                            ; preds = %19276
  br label %19278

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

19279:                                            ; No predecessors!
  br label %19280

19280:                                            ; preds = %19279
  br label %19281

19281:                                            ; preds = %19280, %19223
  br label %19282

19282:                                            ; preds = %19281
  br label %19283

19283:                                            ; preds = %19282
  br label %19284

19284:                                            ; preds = %19283
  %19285 = load i32, ptr @test_count, align 4, !tbaa !5
  %19286 = add nsw i32 %19285, 1
  store i32 %19286, ptr @test_count, align 4, !tbaa !5
  %19287 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %436, i32 noundef 0)
  %19288 = icmp eq i32 %19287, -1
  br i1 %19288, label %19289, label %19342

19289:                                            ; preds = %19284
  br label %19290

19290:                                            ; preds = %19289
  br label %19291

19291:                                            ; preds = %19290
  call void @llvm.lifetime.start.p0(i64 4, ptr %438) #10
  %19292 = call ptr @__errno_location() #11
  %19293 = load i32, ptr %19292, align 4, !tbaa !5
  store i32 %19293, ptr %438, align 4, !tbaa !5
  %19294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19295 = call i32 @s2n_print_stacktrace(ptr noundef %19294)
  %19296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19297 = trunc i8 %19296 to i1
  br i1 %19297, label %19298, label %19320

19298:                                            ; preds = %19291
  %19299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19300 = call i32 @fileno(ptr noundef %19299) #10
  %19301 = call i32 @isatty(i32 noundef %19300) #10
  %19302 = icmp ne i32 %19301, 0
  br i1 %19302, label %19303, label %19320

19303:                                            ; preds = %19298
  %19304 = load i32, ptr %438, align 4, !tbaa !5
  %19305 = call ptr @__errno_location() #11
  store i32 %19304, ptr %19305, align 4, !tbaa !5
  %19306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19307 = load i32, ptr @test_count, align 4, !tbaa !5
  %19308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19309 = load i32, ptr %19308, align 4, !tbaa !5
  %19310 = call ptr @s2n_strerror(i32 noundef %19309, ptr noundef @.str.10)
  %19311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19312 = load i32, ptr %19311, align 4, !tbaa !5
  %19313 = call ptr @s2n_strerror_debug(i32 noundef %19312, ptr noundef @.str.10)
  %19314 = call ptr @__errno_location() #11
  %19315 = load i32, ptr %19314, align 4, !tbaa !5
  %19316 = call ptr @strerror(i32 noundef %19315) #10
  %19317 = call ptr @__errno_location() #11
  %19318 = load i32, ptr %19317, align 4, !tbaa !5
  %19319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19306, ptr noundef @.str.8, i32 noundef %19307, ptr noundef @.str.39, ptr noundef @.str.7, i32 noundef 735, ptr noundef %19310, ptr noundef %19313, ptr noundef %19316, i32 noundef %19318) #10
  br label %19337

19320:                                            ; preds = %19298, %19291
  %19321 = load i32, ptr %438, align 4, !tbaa !5
  %19322 = call ptr @__errno_location() #11
  store i32 %19321, ptr %19322, align 4, !tbaa !5
  %19323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19324 = load i32, ptr @test_count, align 4, !tbaa !5
  %19325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19326 = load i32, ptr %19325, align 4, !tbaa !5
  %19327 = call ptr @s2n_strerror(i32 noundef %19326, ptr noundef @.str.10)
  %19328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19329 = load i32, ptr %19328, align 4, !tbaa !5
  %19330 = call ptr @s2n_strerror_debug(i32 noundef %19329, ptr noundef @.str.10)
  %19331 = call ptr @__errno_location() #11
  %19332 = load i32, ptr %19331, align 4, !tbaa !5
  %19333 = call ptr @strerror(i32 noundef %19332) #10
  %19334 = call ptr @__errno_location() #11
  %19335 = load i32, ptr %19334, align 4, !tbaa !5
  %19336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19323, ptr noundef @.str.11, i32 noundef %19324, ptr noundef @.str.39, ptr noundef @.str.7, i32 noundef 735, ptr noundef %19327, ptr noundef %19330, ptr noundef %19333, i32 noundef %19335) #10
  br label %19337

19337:                                            ; preds = %19320, %19303
  call void @llvm.lifetime.end.p0(i64 4, ptr %438) #10
  br label %19338

19338:                                            ; preds = %19337
  br label %19339

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

19340:                                            ; No predecessors!
  br label %19341

19341:                                            ; preds = %19340
  br label %19342

19342:                                            ; preds = %19341, %19284
  br label %19343

19343:                                            ; preds = %19342
  br label %19344

19344:                                            ; preds = %19343
  br label %19345

19345:                                            ; preds = %19344
  %19346 = load i32, ptr @test_count, align 4, !tbaa !5
  %19347 = add nsw i32 %19346, 1
  store i32 %19347, ptr @test_count, align 4, !tbaa !5
  %19348 = load ptr, ptr %430, align 8, !tbaa !9
  %19349 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %436, ptr noundef %435, ptr noundef %19348)
  %19350 = icmp eq i32 %19349, -1
  br i1 %19350, label %19351, label %19404

19351:                                            ; preds = %19345
  br label %19352

19352:                                            ; preds = %19351
  br label %19353

19353:                                            ; preds = %19352
  call void @llvm.lifetime.start.p0(i64 4, ptr %439) #10
  %19354 = call ptr @__errno_location() #11
  %19355 = load i32, ptr %19354, align 4, !tbaa !5
  store i32 %19355, ptr %439, align 4, !tbaa !5
  %19356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19357 = call i32 @s2n_print_stacktrace(ptr noundef %19356)
  %19358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19359 = trunc i8 %19358 to i1
  br i1 %19359, label %19360, label %19382

19360:                                            ; preds = %19353
  %19361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19362 = call i32 @fileno(ptr noundef %19361) #10
  %19363 = call i32 @isatty(i32 noundef %19362) #10
  %19364 = icmp ne i32 %19363, 0
  br i1 %19364, label %19365, label %19382

19365:                                            ; preds = %19360
  %19366 = load i32, ptr %439, align 4, !tbaa !5
  %19367 = call ptr @__errno_location() #11
  store i32 %19366, ptr %19367, align 4, !tbaa !5
  %19368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19369 = load i32, ptr @test_count, align 4, !tbaa !5
  %19370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19371 = load i32, ptr %19370, align 4, !tbaa !5
  %19372 = call ptr @s2n_strerror(i32 noundef %19371, ptr noundef @.str.10)
  %19373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19374 = load i32, ptr %19373, align 4, !tbaa !5
  %19375 = call ptr @s2n_strerror_debug(i32 noundef %19374, ptr noundef @.str.10)
  %19376 = call ptr @__errno_location() #11
  %19377 = load i32, ptr %19376, align 4, !tbaa !5
  %19378 = call ptr @strerror(i32 noundef %19377) #10
  %19379 = call ptr @__errno_location() #11
  %19380 = load i32, ptr %19379, align 4, !tbaa !5
  %19381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19368, ptr noundef @.str.8, i32 noundef %19369, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 736, ptr noundef %19372, ptr noundef %19375, ptr noundef %19378, i32 noundef %19380) #10
  br label %19399

19382:                                            ; preds = %19360, %19353
  %19383 = load i32, ptr %439, align 4, !tbaa !5
  %19384 = call ptr @__errno_location() #11
  store i32 %19383, ptr %19384, align 4, !tbaa !5
  %19385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19386 = load i32, ptr @test_count, align 4, !tbaa !5
  %19387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19388 = load i32, ptr %19387, align 4, !tbaa !5
  %19389 = call ptr @s2n_strerror(i32 noundef %19388, ptr noundef @.str.10)
  %19390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19391 = load i32, ptr %19390, align 4, !tbaa !5
  %19392 = call ptr @s2n_strerror_debug(i32 noundef %19391, ptr noundef @.str.10)
  %19393 = call ptr @__errno_location() #11
  %19394 = load i32, ptr %19393, align 4, !tbaa !5
  %19395 = call ptr @strerror(i32 noundef %19394) #10
  %19396 = call ptr @__errno_location() #11
  %19397 = load i32, ptr %19396, align 4, !tbaa !5
  %19398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19385, ptr noundef @.str.11, i32 noundef %19386, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 736, ptr noundef %19389, ptr noundef %19392, ptr noundef %19395, i32 noundef %19397) #10
  br label %19399

19399:                                            ; preds = %19382, %19365
  call void @llvm.lifetime.end.p0(i64 4, ptr %439) #10
  br label %19400

19400:                                            ; preds = %19399
  br label %19401

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

19402:                                            ; No predecessors!
  br label %19403

19403:                                            ; preds = %19402
  br label %19404

19404:                                            ; preds = %19403, %19345
  br label %19405

19405:                                            ; preds = %19404
  br label %19406

19406:                                            ; preds = %19405
  call void @llvm.lifetime.start.p0(i64 8, ptr %440) #10
  store i64 0, ptr %440, align 8, !tbaa !45
  br label %19407

19407:                                            ; preds = %19785, %19406
  %19408 = load i64, ptr %440, align 8, !tbaa !45
  %19409 = icmp ult i64 %19408, 5
  br i1 %19409, label %19411, label %19410

19410:                                            ; preds = %19407
  call void @llvm.lifetime.end.p0(i64 8, ptr %440) #10
  br label %19788

19411:                                            ; preds = %19407
  br label %19412

19412:                                            ; preds = %19411
  %19413 = load i32, ptr @test_count, align 4, !tbaa !5
  %19414 = add nsw i32 %19413, 1
  store i32 %19414, ptr @test_count, align 4, !tbaa !5
  %19415 = load ptr, ptr %430, align 8, !tbaa !9
  %19416 = call i32 @s2n_shutdown_send(ptr noundef %19415, ptr noundef %434)
  %19417 = icmp eq i32 %19416, -1
  br i1 %19417, label %19418, label %19471

19418:                                            ; preds = %19412
  br label %19419

19419:                                            ; preds = %19418
  br label %19420

19420:                                            ; preds = %19419
  call void @llvm.lifetime.start.p0(i64 4, ptr %441) #10
  %19421 = call ptr @__errno_location() #11
  %19422 = load i32, ptr %19421, align 4, !tbaa !5
  store i32 %19422, ptr %441, align 4, !tbaa !5
  %19423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19424 = call i32 @s2n_print_stacktrace(ptr noundef %19423)
  %19425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19426 = trunc i8 %19425 to i1
  br i1 %19426, label %19427, label %19449

19427:                                            ; preds = %19420
  %19428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19429 = call i32 @fileno(ptr noundef %19428) #10
  %19430 = call i32 @isatty(i32 noundef %19429) #10
  %19431 = icmp ne i32 %19430, 0
  br i1 %19431, label %19432, label %19449

19432:                                            ; preds = %19427
  %19433 = load i32, ptr %441, align 4, !tbaa !5
  %19434 = call ptr @__errno_location() #11
  store i32 %19433, ptr %19434, align 4, !tbaa !5
  %19435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19436 = load i32, ptr @test_count, align 4, !tbaa !5
  %19437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19438 = load i32, ptr %19437, align 4, !tbaa !5
  %19439 = call ptr @s2n_strerror(i32 noundef %19438, ptr noundef @.str.10)
  %19440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19441 = load i32, ptr %19440, align 4, !tbaa !5
  %19442 = call ptr @s2n_strerror_debug(i32 noundef %19441, ptr noundef @.str.10)
  %19443 = call ptr @__errno_location() #11
  %19444 = load i32, ptr %19443, align 4, !tbaa !5
  %19445 = call ptr @strerror(i32 noundef %19444) #10
  %19446 = call ptr @__errno_location() #11
  %19447 = load i32, ptr %19446, align 4, !tbaa !5
  %19448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19435, ptr noundef @.str.8, i32 noundef %19436, ptr noundef @.str.110, ptr noundef @.str.7, i32 noundef 742, ptr noundef %19439, ptr noundef %19442, ptr noundef %19445, i32 noundef %19447) #10
  br label %19466

19449:                                            ; preds = %19427, %19420
  %19450 = load i32, ptr %441, align 4, !tbaa !5
  %19451 = call ptr @__errno_location() #11
  store i32 %19450, ptr %19451, align 4, !tbaa !5
  %19452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19453 = load i32, ptr @test_count, align 4, !tbaa !5
  %19454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19455 = load i32, ptr %19454, align 4, !tbaa !5
  %19456 = call ptr @s2n_strerror(i32 noundef %19455, ptr noundef @.str.10)
  %19457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19458 = load i32, ptr %19457, align 4, !tbaa !5
  %19459 = call ptr @s2n_strerror_debug(i32 noundef %19458, ptr noundef @.str.10)
  %19460 = call ptr @__errno_location() #11
  %19461 = load i32, ptr %19460, align 4, !tbaa !5
  %19462 = call ptr @strerror(i32 noundef %19461) #10
  %19463 = call ptr @__errno_location() #11
  %19464 = load i32, ptr %19463, align 4, !tbaa !5
  %19465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19452, ptr noundef @.str.11, i32 noundef %19453, ptr noundef @.str.110, ptr noundef @.str.7, i32 noundef 742, ptr noundef %19456, ptr noundef %19459, ptr noundef %19462, i32 noundef %19464) #10
  br label %19466

19466:                                            ; preds = %19449, %19432
  call void @llvm.lifetime.end.p0(i64 4, ptr %441) #10
  br label %19467

19467:                                            ; preds = %19466
  br label %19468

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

19469:                                            ; No predecessors!
  br label %19470

19470:                                            ; preds = %19469
  br label %19471

19471:                                            ; preds = %19470, %19412
  br label %19472

19472:                                            ; preds = %19471
  br label %19473

19473:                                            ; preds = %19472
  br label %19474

19474:                                            ; preds = %19473
  %19475 = load i32, ptr @test_count, align 4, !tbaa !5
  %19476 = add nsw i32 %19475, 1
  store i32 %19476, ptr @test_count, align 4, !tbaa !5
  %19477 = load i32, ptr %434, align 4, !tbaa !5
  %19478 = icmp eq i32 %19477, 0
  br i1 %19478, label %19532, label %19479

19479:                                            ; preds = %19474
  br label %19480

19480:                                            ; preds = %19479
  br label %19481

19481:                                            ; preds = %19480
  call void @llvm.lifetime.start.p0(i64 4, ptr %442) #10
  %19482 = call ptr @__errno_location() #11
  %19483 = load i32, ptr %19482, align 4, !tbaa !5
  store i32 %19483, ptr %442, align 4, !tbaa !5
  %19484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19485 = call i32 @s2n_print_stacktrace(ptr noundef %19484)
  %19486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19487 = trunc i8 %19486 to i1
  br i1 %19487, label %19488, label %19510

19488:                                            ; preds = %19481
  %19489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19490 = call i32 @fileno(ptr noundef %19489) #10
  %19491 = call i32 @isatty(i32 noundef %19490) #10
  %19492 = icmp ne i32 %19491, 0
  br i1 %19492, label %19493, label %19510

19493:                                            ; preds = %19488
  %19494 = load i32, ptr %442, align 4, !tbaa !5
  %19495 = call ptr @__errno_location() #11
  store i32 %19494, ptr %19495, align 4, !tbaa !5
  %19496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19497 = load i32, ptr @test_count, align 4, !tbaa !5
  %19498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19499 = load i32, ptr %19498, align 4, !tbaa !5
  %19500 = call ptr @s2n_strerror(i32 noundef %19499, ptr noundef @.str.10)
  %19501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19502 = load i32, ptr %19501, align 4, !tbaa !5
  %19503 = call ptr @s2n_strerror_debug(i32 noundef %19502, ptr noundef @.str.10)
  %19504 = call ptr @__errno_location() #11
  %19505 = load i32, ptr %19504, align 4, !tbaa !5
  %19506 = call ptr @strerror(i32 noundef %19505) #10
  %19507 = call ptr @__errno_location() #11
  %19508 = load i32, ptr %19507, align 4, !tbaa !5
  %19509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19496, ptr noundef @.str.8, i32 noundef %19497, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 743, ptr noundef %19500, ptr noundef %19503, ptr noundef %19506, i32 noundef %19508) #10
  br label %19527

19510:                                            ; preds = %19488, %19481
  %19511 = load i32, ptr %442, align 4, !tbaa !5
  %19512 = call ptr @__errno_location() #11
  store i32 %19511, ptr %19512, align 4, !tbaa !5
  %19513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19514 = load i32, ptr @test_count, align 4, !tbaa !5
  %19515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19516 = load i32, ptr %19515, align 4, !tbaa !5
  %19517 = call ptr @s2n_strerror(i32 noundef %19516, ptr noundef @.str.10)
  %19518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19519 = load i32, ptr %19518, align 4, !tbaa !5
  %19520 = call ptr @s2n_strerror_debug(i32 noundef %19519, ptr noundef @.str.10)
  %19521 = call ptr @__errno_location() #11
  %19522 = load i32, ptr %19521, align 4, !tbaa !5
  %19523 = call ptr @strerror(i32 noundef %19522) #10
  %19524 = call ptr @__errno_location() #11
  %19525 = load i32, ptr %19524, align 4, !tbaa !5
  %19526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19513, ptr noundef @.str.11, i32 noundef %19514, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 743, ptr noundef %19517, ptr noundef %19520, ptr noundef %19523, i32 noundef %19525) #10
  br label %19527

19527:                                            ; preds = %19510, %19493
  call void @llvm.lifetime.end.p0(i64 4, ptr %442) #10
  br label %19528

19528:                                            ; preds = %19527
  br label %19529

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

19530:                                            ; No predecessors!
  br label %19531

19531:                                            ; preds = %19530
  br label %19532

19532:                                            ; preds = %19531, %19474
  br label %19533

19533:                                            ; preds = %19532
  br label %19534

19534:                                            ; preds = %19533
  br label %19535

19535:                                            ; preds = %19534
  %19536 = load i32, ptr @test_count, align 4, !tbaa !5
  %19537 = add nsw i32 %19536, 1
  store i32 %19537, ptr @test_count, align 4, !tbaa !5
  %19538 = load ptr, ptr %430, align 8, !tbaa !9
  %19539 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %19538, i32 noundef 0)
  br i1 %19539, label %19540, label %19593

19540:                                            ; preds = %19535
  br label %19541

19541:                                            ; preds = %19540
  br label %19542

19542:                                            ; preds = %19541
  call void @llvm.lifetime.start.p0(i64 4, ptr %443) #10
  %19543 = call ptr @__errno_location() #11
  %19544 = load i32, ptr %19543, align 4, !tbaa !5
  store i32 %19544, ptr %443, align 4, !tbaa !5
  %19545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19546 = call i32 @s2n_print_stacktrace(ptr noundef %19545)
  %19547 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19548 = trunc i8 %19547 to i1
  br i1 %19548, label %19549, label %19571

19549:                                            ; preds = %19542
  %19550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19551 = call i32 @fileno(ptr noundef %19550) #10
  %19552 = call i32 @isatty(i32 noundef %19551) #10
  %19553 = icmp ne i32 %19552, 0
  br i1 %19553, label %19554, label %19571

19554:                                            ; preds = %19549
  %19555 = load i32, ptr %443, align 4, !tbaa !5
  %19556 = call ptr @__errno_location() #11
  store i32 %19555, ptr %19556, align 4, !tbaa !5
  %19557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19558 = load i32, ptr @test_count, align 4, !tbaa !5
  %19559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19560 = load i32, ptr %19559, align 4, !tbaa !5
  %19561 = call ptr @s2n_strerror(i32 noundef %19560, ptr noundef @.str.10)
  %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_debug(i32 noundef %19563, ptr noundef @.str.10)
  %19565 = call ptr @__errno_location() #11
  %19566 = load i32, ptr %19565, align 4, !tbaa !5
  %19567 = call ptr @strerror(i32 noundef %19566) #10
  %19568 = call ptr @__errno_location() #11
  %19569 = load i32, ptr %19568, align 4, !tbaa !5
  %19570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19557, ptr noundef @.str.8, i32 noundef %19558, ptr noundef @.str.46, ptr noundef @.str.7, i32 noundef 744, ptr noundef %19561, ptr noundef %19564, ptr noundef %19567, i32 noundef %19569) #10
  br label %19588

19571:                                            ; preds = %19549, %19542
  %19572 = load i32, ptr %443, align 4, !tbaa !5
  %19573 = call ptr @__errno_location() #11
  store i32 %19572, ptr %19573, align 4, !tbaa !5
  %19574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19575 = load i32, ptr @test_count, align 4, !tbaa !5
  %19576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19577 = load i32, ptr %19576, align 4, !tbaa !5
  %19578 = call ptr @s2n_strerror(i32 noundef %19577, ptr noundef @.str.10)
  %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_debug(i32 noundef %19580, ptr noundef @.str.10)
  %19582 = call ptr @__errno_location() #11
  %19583 = load i32, ptr %19582, align 4, !tbaa !5
  %19584 = call ptr @strerror(i32 noundef %19583) #10
  %19585 = call ptr @__errno_location() #11
  %19586 = load i32, ptr %19585, align 4, !tbaa !5
  %19587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19574, ptr noundef @.str.11, i32 noundef %19575, ptr noundef @.str.46, ptr noundef @.str.7, i32 noundef 744, ptr noundef %19578, ptr noundef %19581, ptr noundef %19584, i32 noundef %19586) #10
  br label %19588

19588:                                            ; preds = %19571, %19554
  call void @llvm.lifetime.end.p0(i64 4, ptr %443) #10
  br label %19589

19589:                                            ; preds = %19588
  br label %19590

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

19591:                                            ; No predecessors!
  br label %19592

19592:                                            ; preds = %19591
  br label %19593

19593:                                            ; preds = %19592, %19535
  br label %19594

19594:                                            ; preds = %19593
  br label %19595

19595:                                            ; preds = %19594
  br label %19596

19596:                                            ; preds = %19595
  %19597 = load i32, ptr @test_count, align 4, !tbaa !5
  %19598 = add nsw i32 %19597, 1
  store i32 %19598, ptr @test_count, align 4, !tbaa !5
  %19599 = load ptr, ptr %430, align 8, !tbaa !9
  %19600 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %19599, i32 noundef 1)
  br i1 %19600, label %19654, label %19601

19601:                                            ; preds = %19596
  br label %19602

19602:                                            ; preds = %19601
  br label %19603

19603:                                            ; preds = %19602
  call void @llvm.lifetime.start.p0(i64 4, ptr %444) #10
  %19604 = call ptr @__errno_location() #11
  %19605 = load i32, ptr %19604, align 4, !tbaa !5
  store i32 %19605, ptr %444, align 4, !tbaa !5
  %19606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19607 = call i32 @s2n_print_stacktrace(ptr noundef %19606)
  %19608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19609 = trunc i8 %19608 to i1
  br i1 %19609, label %19610, label %19632

19610:                                            ; preds = %19603
  %19611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19612 = call i32 @fileno(ptr noundef %19611) #10
  %19613 = call i32 @isatty(i32 noundef %19612) #10
  %19614 = icmp ne i32 %19613, 0
  br i1 %19614, label %19615, label %19632

19615:                                            ; preds = %19610
  %19616 = load i32, ptr %444, align 4, !tbaa !5
  %19617 = call ptr @__errno_location() #11
  store i32 %19616, ptr %19617, align 4, !tbaa !5
  %19618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19619 = load i32, ptr @test_count, align 4, !tbaa !5
  %19620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19621 = load i32, ptr %19620, align 4, !tbaa !5
  %19622 = call ptr @s2n_strerror(i32 noundef %19621, ptr noundef @.str.10)
  %19623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19624 = load i32, ptr %19623, align 4, !tbaa !5
  %19625 = call ptr @s2n_strerror_debug(i32 noundef %19624, ptr noundef @.str.10)
  %19626 = call ptr @__errno_location() #11
  %19627 = load i32, ptr %19626, align 4, !tbaa !5
  %19628 = call ptr @strerror(i32 noundef %19627) #10
  %19629 = call ptr @__errno_location() #11
  %19630 = load i32, ptr %19629, align 4, !tbaa !5
  %19631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19618, ptr noundef @.str.8, i32 noundef %19619, ptr noundef @.str.59, ptr noundef @.str.7, i32 noundef 745, ptr noundef %19622, ptr noundef %19625, ptr noundef %19628, i32 noundef %19630) #10
  br label %19649

19632:                                            ; preds = %19610, %19603
  %19633 = load i32, ptr %444, align 4, !tbaa !5
  %19634 = call ptr @__errno_location() #11
  store i32 %19633, ptr %19634, align 4, !tbaa !5
  %19635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19636 = load i32, ptr @test_count, align 4, !tbaa !5
  %19637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19638 = load i32, ptr %19637, align 4, !tbaa !5
  %19639 = call ptr @s2n_strerror(i32 noundef %19638, ptr noundef @.str.10)
  %19640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19641 = load i32, ptr %19640, align 4, !tbaa !5
  %19642 = call ptr @s2n_strerror_debug(i32 noundef %19641, ptr noundef @.str.10)
  %19643 = call ptr @__errno_location() #11
  %19644 = load i32, ptr %19643, align 4, !tbaa !5
  %19645 = call ptr @strerror(i32 noundef %19644) #10
  %19646 = call ptr @__errno_location() #11
  %19647 = load i32, ptr %19646, align 4, !tbaa !5
  %19648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19635, ptr noundef @.str.11, i32 noundef %19636, ptr noundef @.str.59, ptr noundef @.str.7, i32 noundef 745, ptr noundef %19639, ptr noundef %19642, ptr noundef %19645, i32 noundef %19647) #10
  br label %19649

19649:                                            ; preds = %19632, %19615
  call void @llvm.lifetime.end.p0(i64 4, ptr %444) #10
  br label %19650

19650:                                            ; preds = %19649
  br label %19651

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

19652:                                            ; No predecessors!
  br label %19653

19653:                                            ; preds = %19652
  br label %19654

19654:                                            ; preds = %19653, %19596
  br label %19655

19655:                                            ; preds = %19654
  br label %19656

19656:                                            ; preds = %19655
  br label %19657

19657:                                            ; preds = %19656
  %19658 = load i32, ptr @test_count, align 4, !tbaa !5
  %19659 = add nsw i32 %19658, 1
  store i32 %19659, ptr @test_count, align 4, !tbaa !5
  %19660 = getelementptr inbounds %struct.s2n_stuffer, ptr %435, i32 0, i32 2
  %19661 = load i32, ptr %19660, align 4, !tbaa !43
  %19662 = getelementptr inbounds %struct.s2n_stuffer, ptr %435, i32 0, i32 1
  %19663 = load i32, ptr %19662, align 8, !tbaa !44
  %19664 = sub i32 %19661, %19663
  %19665 = icmp eq i32 %19664, 7
  br i1 %19665, label %19719, label %19666

19666:                                            ; preds = %19657
  br label %19667

19667:                                            ; preds = %19666
  br label %19668

19668:                                            ; preds = %19667
  call void @llvm.lifetime.start.p0(i64 4, ptr %445) #10
  %19669 = call ptr @__errno_location() #11
  %19670 = load i32, ptr %19669, align 4, !tbaa !5
  store i32 %19670, ptr %445, align 4, !tbaa !5
  %19671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19672 = call i32 @s2n_print_stacktrace(ptr noundef %19671)
  %19673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19674 = trunc i8 %19673 to i1
  br i1 %19674, label %19675, label %19697

19675:                                            ; preds = %19668
  %19676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19677 = call i32 @fileno(ptr noundef %19676) #10
  %19678 = call i32 @isatty(i32 noundef %19677) #10
  %19679 = icmp ne i32 %19678, 0
  br i1 %19679, label %19680, label %19697

19680:                                            ; preds = %19675
  %19681 = load i32, ptr %445, align 4, !tbaa !5
  %19682 = call ptr @__errno_location() #11
  store i32 %19681, ptr %19682, align 4, !tbaa !5
  %19683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19684 = load i32, ptr @test_count, align 4, !tbaa !5
  %19685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19686 = load i32, ptr %19685, align 4, !tbaa !5
  %19687 = call ptr @s2n_strerror(i32 noundef %19686, ptr noundef @.str.10)
  %19688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19689 = load i32, ptr %19688, align 4, !tbaa !5
  %19690 = call ptr @s2n_strerror_debug(i32 noundef %19689, ptr noundef @.str.10)
  %19691 = call ptr @__errno_location() #11
  %19692 = load i32, ptr %19691, align 4, !tbaa !5
  %19693 = call ptr @strerror(i32 noundef %19692) #10
  %19694 = call ptr @__errno_location() #11
  %19695 = load i32, ptr %19694, align 4, !tbaa !5
  %19696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19683, ptr noundef @.str.8, i32 noundef %19684, ptr noundef @.str.33, ptr noundef @.str.7, i32 noundef 746, ptr noundef %19687, ptr noundef %19690, ptr noundef %19693, i32 noundef %19695) #10
  br label %19714

19697:                                            ; preds = %19675, %19668
  %19698 = load i32, ptr %445, align 4, !tbaa !5
  %19699 = call ptr @__errno_location() #11
  store i32 %19698, ptr %19699, align 4, !tbaa !5
  %19700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19701 = load i32, ptr @test_count, align 4, !tbaa !5
  %19702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19703 = load i32, ptr %19702, align 4, !tbaa !5
  %19704 = call ptr @s2n_strerror(i32 noundef %19703, ptr noundef @.str.10)
  %19705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19706 = load i32, ptr %19705, align 4, !tbaa !5
  %19707 = call ptr @s2n_strerror_debug(i32 noundef %19706, ptr noundef @.str.10)
  %19708 = call ptr @__errno_location() #11
  %19709 = load i32, ptr %19708, align 4, !tbaa !5
  %19710 = call ptr @strerror(i32 noundef %19709) #10
  %19711 = call ptr @__errno_location() #11
  %19712 = load i32, ptr %19711, align 4, !tbaa !5
  %19713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19700, ptr noundef @.str.11, i32 noundef %19701, ptr noundef @.str.33, ptr noundef @.str.7, i32 noundef 746, ptr noundef %19704, ptr noundef %19707, ptr noundef %19710, i32 noundef %19712) #10
  br label %19714

19714:                                            ; preds = %19697, %19680
  call void @llvm.lifetime.end.p0(i64 4, ptr %445) #10
  br label %19715

19715:                                            ; preds = %19714
  br label %19716

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

19717:                                            ; No predecessors!
  br label %19718

19718:                                            ; preds = %19717
  br label %19719

19719:                                            ; preds = %19718, %19657
  br label %19720

19720:                                            ; preds = %19719
  br label %19721

19721:                                            ; preds = %19720
  br label %19722

19722:                                            ; preds = %19721
  %19723 = load i32, ptr @test_count, align 4, !tbaa !5
  %19724 = add nsw i32 %19723, 1
  store i32 %19724, ptr @test_count, align 4, !tbaa !5
  %19725 = load ptr, ptr %430, align 8, !tbaa !9
  %19726 = getelementptr inbounds %struct.s2n_connection, ptr %19725, i32 0, i32 49
  %19727 = load i8, ptr %19726, align 1, !tbaa !16, !range !13, !noundef !14
  %19728 = trunc i8 %19727 to i1
  br i1 %19728, label %19782, label %19729

19729:                                            ; preds = %19722
  br label %19730

19730:                                            ; preds = %19729
  br label %19731

19731:                                            ; preds = %19730
  call void @llvm.lifetime.start.p0(i64 4, ptr %446) #10
  %19732 = call ptr @__errno_location() #11
  %19733 = load i32, ptr %19732, align 4, !tbaa !5
  store i32 %19733, ptr %446, align 4, !tbaa !5
  %19734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19735 = call i32 @s2n_print_stacktrace(ptr noundef %19734)
  %19736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19737 = trunc i8 %19736 to i1
  br i1 %19737, label %19738, label %19760

19738:                                            ; preds = %19731
  %19739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19740 = call i32 @fileno(ptr noundef %19739) #10
  %19741 = call i32 @isatty(i32 noundef %19740) #10
  %19742 = icmp ne i32 %19741, 0
  br i1 %19742, label %19743, label %19760

19743:                                            ; preds = %19738
  %19744 = load i32, ptr %446, align 4, !tbaa !5
  %19745 = call ptr @__errno_location() #11
  store i32 %19744, ptr %19745, align 4, !tbaa !5
  %19746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19747 = load i32, ptr @test_count, align 4, !tbaa !5
  %19748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19749 = load i32, ptr %19748, align 4, !tbaa !5
  %19750 = call ptr @s2n_strerror(i32 noundef %19749, ptr noundef @.str.10)
  %19751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19752 = load i32, ptr %19751, align 4, !tbaa !5
  %19753 = call ptr @s2n_strerror_debug(i32 noundef %19752, ptr noundef @.str.10)
  %19754 = call ptr @__errno_location() #11
  %19755 = load i32, ptr %19754, align 4, !tbaa !5
  %19756 = call ptr @strerror(i32 noundef %19755) #10
  %19757 = call ptr @__errno_location() #11
  %19758 = load i32, ptr %19757, align 4, !tbaa !5
  %19759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19746, ptr noundef @.str.8, i32 noundef %19747, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 747, ptr noundef %19750, ptr noundef %19753, ptr noundef %19756, i32 noundef %19758) #10
  br label %19777

19760:                                            ; preds = %19738, %19731
  %19761 = load i32, ptr %446, align 4, !tbaa !5
  %19762 = call ptr @__errno_location() #11
  store i32 %19761, ptr %19762, align 4, !tbaa !5
  %19763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19764 = load i32, ptr @test_count, align 4, !tbaa !5
  %19765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19766 = load i32, ptr %19765, align 4, !tbaa !5
  %19767 = call ptr @s2n_strerror(i32 noundef %19766, ptr noundef @.str.10)
  %19768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19769 = load i32, ptr %19768, align 4, !tbaa !5
  %19770 = call ptr @s2n_strerror_debug(i32 noundef %19769, ptr noundef @.str.10)
  %19771 = call ptr @__errno_location() #11
  %19772 = load i32, ptr %19771, align 4, !tbaa !5
  %19773 = call ptr @strerror(i32 noundef %19772) #10
  %19774 = call ptr @__errno_location() #11
  %19775 = load i32, ptr %19774, align 4, !tbaa !5
  %19776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19763, ptr noundef @.str.11, i32 noundef %19764, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 747, ptr noundef %19767, ptr noundef %19770, ptr noundef %19773, i32 noundef %19775) #10
  br label %19777

19777:                                            ; preds = %19760, %19743
  call void @llvm.lifetime.end.p0(i64 4, ptr %446) #10
  br label %19778

19778:                                            ; preds = %19777
  br label %19779

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

19780:                                            ; No predecessors!
  br label %19781

19781:                                            ; preds = %19780
  br label %19782

19782:                                            ; preds = %19781, %19722
  br label %19783

19783:                                            ; preds = %19782
  br label %19784

19784:                                            ; preds = %19783
  br label %19785

19785:                                            ; preds = %19784
  %19786 = load i64, ptr %440, align 8, !tbaa !45
  %19787 = add i64 %19786, 1
  store i64 %19787, ptr %440, align 8, !tbaa !45
  br label %19407, !llvm.loop !55

19788:                                            ; preds = %19410
  call void @llvm.lifetime.start.p0(i64 8, ptr %447) #10
  store i64 0, ptr %447, align 8, !tbaa !45
  br label %19789

19789:                                            ; preds = %20175, %19788
  %19790 = load i64, ptr %447, align 8, !tbaa !45
  %19791 = icmp ult i64 %19790, 5
  br i1 %19791, label %19793, label %19792

19792:                                            ; preds = %19789
  call void @llvm.lifetime.end.p0(i64 8, ptr %447) #10
  br label %20178

19793:                                            ; preds = %19789
  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 %430, align 8, !tbaa !9
  %19800 = call i32 @s2n_shutdown(ptr noundef %19799, ptr noundef %434)
  %19801 = icmp eq i32 %19800, -1
  br i1 %19801, label %19855, label %19802

19802:                                            ; preds = %19796
  br label %19803

19803:                                            ; preds = %19802
  br label %19804

19804:                                            ; preds = %19803
  call void @llvm.lifetime.start.p0(i64 4, ptr %448) #10
  %19805 = call ptr @__errno_location() #11
  %19806 = load i32, ptr %19805, align 4, !tbaa !5
  store i32 %19806, ptr %448, 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) #10
  %19814 = call i32 @isatty(i32 noundef %19813) #10
  %19815 = icmp ne i32 %19814, 0
  br i1 %19815, label %19816, label %19833

19816:                                            ; preds = %19811
  %19817 = load i32, ptr %448, align 4, !tbaa !5
  %19818 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %19827 = call ptr @__errno_location() #11
  %19828 = load i32, ptr %19827, align 4, !tbaa !5
  %19829 = call ptr @strerror(i32 noundef %19828) #10
  %19830 = call ptr @__errno_location() #11
  %19831 = load i32, ptr %19830, align 4, !tbaa !5
  %19832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19819, ptr noundef @.str.8, i32 noundef %19820, ptr noundef @.str.42, ptr noundef @.str.7, i32 noundef 752, ptr noundef %19823, ptr noundef %19826, ptr noundef %19829, i32 noundef %19831) #10
  br label %19850

19833:                                            ; preds = %19811, %19804
  %19834 = load i32, ptr %448, align 4, !tbaa !5
  %19835 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %19844 = call ptr @__errno_location() #11
  %19845 = load i32, ptr %19844, align 4, !tbaa !5
  %19846 = call ptr @strerror(i32 noundef %19845) #10
  %19847 = call ptr @__errno_location() #11
  %19848 = load i32, ptr %19847, align 4, !tbaa !5
  %19849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19836, ptr noundef @.str.11, i32 noundef %19837, ptr noundef @.str.42, ptr noundef @.str.7, i32 noundef 752, ptr noundef %19840, ptr noundef %19843, ptr noundef %19846, i32 noundef %19848) #10
  br label %19850

19850:                                            ; preds = %19833, %19816
  call void @llvm.lifetime.end.p0(i64 4, ptr %448) #10
  br label %19851

19851:                                            ; preds = %19850
  br label %19852

19852:                                            ; preds = %19851
  call void @exit(i32 noundef 1) #12
  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
  %19859 = load i32, ptr @test_count, align 4, !tbaa !5
  %19860 = add nsw i32 %19859, 1
  store i32 %19860, ptr @test_count, align 4, !tbaa !5
  %19861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19862 = load i32, ptr %19861, align 4, !tbaa !5
  %19863 = icmp eq i32 %19862, 201326592
  br i1 %19863, label %19917, label %19864

19864:                                            ; preds = %19858
  br label %19865

19865:                                            ; preds = %19864
  br label %19866

19866:                                            ; preds = %19865
  call void @llvm.lifetime.start.p0(i64 4, ptr %449) #10
  %19867 = call ptr @__errno_location() #11
  %19868 = load i32, ptr %19867, align 4, !tbaa !5
  store i32 %19868, ptr %449, align 4, !tbaa !5
  %19869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19870 = call i32 @s2n_print_stacktrace(ptr noundef %19869)
  %19871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19872 = trunc i8 %19871 to i1
  br i1 %19872, label %19873, label %19895

19873:                                            ; preds = %19866
  %19874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19875 = call i32 @fileno(ptr noundef %19874) #10
  %19876 = call i32 @isatty(i32 noundef %19875) #10
  %19877 = icmp ne i32 %19876, 0
  br i1 %19877, label %19878, label %19895

19878:                                            ; preds = %19873
  %19879 = load i32, ptr %449, align 4, !tbaa !5
  %19880 = call ptr @__errno_location() #11
  store i32 %19879, ptr %19880, align 4, !tbaa !5
  %19881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19882 = load i32, ptr @test_count, align 4, !tbaa !5
  %19883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19884 = load i32, ptr %19883, align 4, !tbaa !5
  %19885 = call ptr @s2n_strerror(i32 noundef %19884, ptr noundef @.str.10)
  %19886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19887 = load i32, ptr %19886, align 4, !tbaa !5
  %19888 = call ptr @s2n_strerror_debug(i32 noundef %19887, ptr noundef @.str.10)
  %19889 = call ptr @__errno_location() #11
  %19890 = load i32, ptr %19889, align 4, !tbaa !5
  %19891 = call ptr @strerror(i32 noundef %19890) #10
  %19892 = call ptr @__errno_location() #11
  %19893 = load i32, ptr %19892, align 4, !tbaa !5
  %19894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19881, ptr noundef @.str.8, i32 noundef %19882, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 752, ptr noundef %19885, ptr noundef %19888, ptr noundef %19891, i32 noundef %19893) #10
  br label %19912

19895:                                            ; preds = %19873, %19866
  %19896 = load i32, ptr %449, align 4, !tbaa !5
  %19897 = call ptr @__errno_location() #11
  store i32 %19896, ptr %19897, align 4, !tbaa !5
  %19898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19899 = load i32, ptr @test_count, align 4, !tbaa !5
  %19900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19901 = load i32, ptr %19900, align 4, !tbaa !5
  %19902 = call ptr @s2n_strerror(i32 noundef %19901, ptr noundef @.str.10)
  %19903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19904 = load i32, ptr %19903, align 4, !tbaa !5
  %19905 = call ptr @s2n_strerror_debug(i32 noundef %19904, ptr noundef @.str.10)
  %19906 = call ptr @__errno_location() #11
  %19907 = load i32, ptr %19906, align 4, !tbaa !5
  %19908 = call ptr @strerror(i32 noundef %19907) #10
  %19909 = call ptr @__errno_location() #11
  %19910 = load i32, ptr %19909, align 4, !tbaa !5
  %19911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19898, ptr noundef @.str.11, i32 noundef %19899, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 752, ptr noundef %19902, ptr noundef %19905, ptr noundef %19908, i32 noundef %19910) #10
  br label %19912

19912:                                            ; preds = %19895, %19878
  call void @llvm.lifetime.end.p0(i64 4, ptr %449) #10
  br label %19913

19913:                                            ; preds = %19912
  br label %19914

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

19915:                                            ; No predecessors!
  br label %19916

19916:                                            ; preds = %19915
  br label %19917

19917:                                            ; preds = %19916, %19858
  br label %19918

19918:                                            ; preds = %19917
  br label %19919

19919:                                            ; preds = %19918
  br label %19920

19920:                                            ; preds = %19919
  %19921 = load i32, ptr @test_count, align 4, !tbaa !5
  %19922 = add nsw i32 %19921, 1
  store i32 %19922, ptr @test_count, align 4, !tbaa !5
  %19923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19924 = load i32, ptr %19923, align 4, !tbaa !5
  %19925 = call ptr @s2n_strerror_debug(i32 noundef %19924, ptr noundef @.str.10)
  %19926 = icmp eq ptr %19925, null
  br i1 %19926, label %19927, label %19980

19927:                                            ; preds = %19920
  br label %19928

19928:                                            ; preds = %19927
  br label %19929

19929:                                            ; preds = %19928
  call void @llvm.lifetime.start.p0(i64 4, ptr %450) #10
  %19930 = call ptr @__errno_location() #11
  %19931 = load i32, ptr %19930, align 4, !tbaa !5
  store i32 %19931, ptr %450, align 4, !tbaa !5
  %19932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19933 = call i32 @s2n_print_stacktrace(ptr noundef %19932)
  %19934 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19935 = trunc i8 %19934 to i1
  br i1 %19935, label %19936, label %19958

19936:                                            ; preds = %19929
  %19937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19938 = call i32 @fileno(ptr noundef %19937) #10
  %19939 = call i32 @isatty(i32 noundef %19938) #10
  %19940 = icmp ne i32 %19939, 0
  br i1 %19940, label %19941, label %19958

19941:                                            ; preds = %19936
  %19942 = load i32, ptr %450, align 4, !tbaa !5
  %19943 = call ptr @__errno_location() #11
  store i32 %19942, ptr %19943, align 4, !tbaa !5
  %19944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19945 = load i32, ptr @test_count, align 4, !tbaa !5
  %19946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19947 = load i32, ptr %19946, align 4, !tbaa !5
  %19948 = call ptr @s2n_strerror(i32 noundef %19947, ptr noundef @.str.10)
  %19949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19950 = load i32, ptr %19949, align 4, !tbaa !5
  %19951 = call ptr @s2n_strerror_debug(i32 noundef %19950, ptr noundef @.str.10)
  %19952 = call ptr @__errno_location() #11
  %19953 = load i32, ptr %19952, align 4, !tbaa !5
  %19954 = call ptr @strerror(i32 noundef %19953) #10
  %19955 = call ptr @__errno_location() #11
  %19956 = load i32, ptr %19955, align 4, !tbaa !5
  %19957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19944, ptr noundef @.str.8, i32 noundef %19945, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 752, ptr noundef %19948, ptr noundef %19951, ptr noundef %19954, i32 noundef %19956) #10
  br label %19975

19958:                                            ; preds = %19936, %19929
  %19959 = load i32, ptr %450, align 4, !tbaa !5
  %19960 = call ptr @__errno_location() #11
  store i32 %19959, ptr %19960, align 4, !tbaa !5
  %19961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19962 = load i32, ptr @test_count, align 4, !tbaa !5
  %19963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19964 = load i32, ptr %19963, align 4, !tbaa !5
  %19965 = call ptr @s2n_strerror(i32 noundef %19964, ptr noundef @.str.10)
  %19966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19967 = load i32, ptr %19966, align 4, !tbaa !5
  %19968 = call ptr @s2n_strerror_debug(i32 noundef %19967, ptr noundef @.str.10)
  %19969 = call ptr @__errno_location() #11
  %19970 = load i32, ptr %19969, align 4, !tbaa !5
  %19971 = call ptr @strerror(i32 noundef %19970) #10
  %19972 = call ptr @__errno_location() #11
  %19973 = load i32, ptr %19972, align 4, !tbaa !5
  %19974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19961, ptr noundef @.str.11, i32 noundef %19962, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 752, ptr noundef %19965, ptr noundef %19968, ptr noundef %19971, i32 noundef %19973) #10
  br label %19975

19975:                                            ; preds = %19958, %19941
  call void @llvm.lifetime.end.p0(i64 4, ptr %450) #10
  br label %19976

19976:                                            ; preds = %19975
  br label %19977

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

19978:                                            ; No predecessors!
  br label %19979

19979:                                            ; preds = %19978
  br label %19980

19980:                                            ; preds = %19979, %19920
  br label %19981

19981:                                            ; preds = %19980
  br label %19982

19982:                                            ; preds = %19981
  br label %19983

19983:                                            ; preds = %19982
  br label %19984

19984:                                            ; preds = %19983
  br label %19985

19985:                                            ; preds = %19984
  %19986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %19986, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %19987 = call ptr @__errno_location() #11
  store i32 0, ptr %19987, align 4, !tbaa !5
  br label %19988

19988:                                            ; preds = %19985
  br label %19989

19989:                                            ; preds = %19988
  br label %19990

19990:                                            ; preds = %19989
  br label %19991

19991:                                            ; preds = %19990
  br label %19992

19992:                                            ; preds = %19991
  %19993 = load i32, ptr @test_count, align 4, !tbaa !5
  %19994 = add nsw i32 %19993, 1
  store i32 %19994, ptr @test_count, align 4, !tbaa !5
  %19995 = load i32, ptr %434, align 4, !tbaa !5
  %19996 = icmp eq i32 %19995, 1
  br i1 %19996, label %20050, label %19997

19997:                                            ; preds = %19992
  br label %19998

19998:                                            ; preds = %19997
  br label %19999

19999:                                            ; preds = %19998
  call void @llvm.lifetime.start.p0(i64 4, ptr %451) #10
  %20000 = call ptr @__errno_location() #11
  %20001 = load i32, ptr %20000, align 4, !tbaa !5
  store i32 %20001, ptr %451, align 4, !tbaa !5
  %20002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20003 = call i32 @s2n_print_stacktrace(ptr noundef %20002)
  %20004 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20005 = trunc i8 %20004 to i1
  br i1 %20005, label %20006, label %20028

20006:                                            ; preds = %19999
  %20007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20008 = call i32 @fileno(ptr noundef %20007) #10
  %20009 = call i32 @isatty(i32 noundef %20008) #10
  %20010 = icmp ne i32 %20009, 0
  br i1 %20010, label %20011, label %20028

20011:                                            ; preds = %20006
  %20012 = load i32, ptr %451, align 4, !tbaa !5
  %20013 = call ptr @__errno_location() #11
  store i32 %20012, ptr %20013, align 4, !tbaa !5
  %20014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20015 = load i32, ptr @test_count, align 4, !tbaa !5
  %20016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20017 = load i32, ptr %20016, align 4, !tbaa !5
  %20018 = call ptr @s2n_strerror(i32 noundef %20017, ptr noundef @.str.10)
  %20019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20020 = load i32, ptr %20019, align 4, !tbaa !5
  %20021 = call ptr @s2n_strerror_debug(i32 noundef %20020, ptr noundef @.str.10)
  %20022 = call ptr @__errno_location() #11
  %20023 = load i32, ptr %20022, align 4, !tbaa !5
  %20024 = call ptr @strerror(i32 noundef %20023) #10
  %20025 = call ptr @__errno_location() #11
  %20026 = load i32, ptr %20025, align 4, !tbaa !5
  %20027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20014, ptr noundef @.str.8, i32 noundef %20015, ptr noundef @.str.45, ptr noundef @.str.7, i32 noundef 753, ptr noundef %20018, ptr noundef %20021, ptr noundef %20024, i32 noundef %20026) #10
  br label %20045

20028:                                            ; preds = %20006, %19999
  %20029 = load i32, ptr %451, align 4, !tbaa !5
  %20030 = call ptr @__errno_location() #11
  store i32 %20029, ptr %20030, align 4, !tbaa !5
  %20031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20032 = load i32, ptr @test_count, align 4, !tbaa !5
  %20033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20034 = load i32, ptr %20033, align 4, !tbaa !5
  %20035 = call ptr @s2n_strerror(i32 noundef %20034, ptr noundef @.str.10)
  %20036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20037 = load i32, ptr %20036, align 4, !tbaa !5
  %20038 = call ptr @s2n_strerror_debug(i32 noundef %20037, ptr noundef @.str.10)
  %20039 = call ptr @__errno_location() #11
  %20040 = load i32, ptr %20039, align 4, !tbaa !5
  %20041 = call ptr @strerror(i32 noundef %20040) #10
  %20042 = call ptr @__errno_location() #11
  %20043 = load i32, ptr %20042, align 4, !tbaa !5
  %20044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20031, ptr noundef @.str.11, i32 noundef %20032, ptr noundef @.str.45, ptr noundef @.str.7, i32 noundef 753, ptr noundef %20035, ptr noundef %20038, ptr noundef %20041, i32 noundef %20043) #10
  br label %20045

20045:                                            ; preds = %20028, %20011
  call void @llvm.lifetime.end.p0(i64 4, ptr %451) #10
  br label %20046

20046:                                            ; preds = %20045
  br label %20047

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

20048:                                            ; No predecessors!
  br label %20049

20049:                                            ; preds = %20048
  br label %20050

20050:                                            ; preds = %20049, %19992
  br label %20051

20051:                                            ; preds = %20050
  br label %20052

20052:                                            ; preds = %20051
  br label %20053

20053:                                            ; preds = %20052
  %20054 = load i32, ptr @test_count, align 4, !tbaa !5
  %20055 = add nsw i32 %20054, 1
  store i32 %20055, ptr @test_count, align 4, !tbaa !5
  %20056 = load ptr, ptr %430, align 8, !tbaa !9
  %20057 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %20056, i32 noundef 0)
  br i1 %20057, label %20058, label %20111

20058:                                            ; preds = %20053
  br label %20059

20059:                                            ; preds = %20058
  br label %20060

20060:                                            ; preds = %20059
  call void @llvm.lifetime.start.p0(i64 4, ptr %452) #10
  %20061 = call ptr @__errno_location() #11
  %20062 = load i32, ptr %20061, align 4, !tbaa !5
  store i32 %20062, ptr %452, align 4, !tbaa !5
  %20063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20064 = call i32 @s2n_print_stacktrace(ptr noundef %20063)
  %20065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20066 = trunc i8 %20065 to i1
  br i1 %20066, label %20067, label %20089

20067:                                            ; preds = %20060
  %20068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20069 = call i32 @fileno(ptr noundef %20068) #10
  %20070 = call i32 @isatty(i32 noundef %20069) #10
  %20071 = icmp ne i32 %20070, 0
  br i1 %20071, label %20072, label %20089

20072:                                            ; preds = %20067
  %20073 = load i32, ptr %452, align 4, !tbaa !5
  %20074 = call ptr @__errno_location() #11
  store i32 %20073, ptr %20074, align 4, !tbaa !5
  %20075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20076 = load i32, ptr @test_count, align 4, !tbaa !5
  %20077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20078 = load i32, ptr %20077, align 4, !tbaa !5
  %20079 = call ptr @s2n_strerror(i32 noundef %20078, ptr noundef @.str.10)
  %20080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20081 = load i32, ptr %20080, align 4, !tbaa !5
  %20082 = call ptr @s2n_strerror_debug(i32 noundef %20081, ptr noundef @.str.10)
  %20083 = call ptr @__errno_location() #11
  %20084 = load i32, ptr %20083, align 4, !tbaa !5
  %20085 = call ptr @strerror(i32 noundef %20084) #10
  %20086 = call ptr @__errno_location() #11
  %20087 = load i32, ptr %20086, align 4, !tbaa !5
  %20088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20075, ptr noundef @.str.8, i32 noundef %20076, ptr noundef @.str.46, ptr noundef @.str.7, i32 noundef 754, ptr noundef %20079, ptr noundef %20082, ptr noundef %20085, i32 noundef %20087) #10
  br label %20106

20089:                                            ; preds = %20067, %20060
  %20090 = load i32, ptr %452, align 4, !tbaa !5
  %20091 = call ptr @__errno_location() #11
  store i32 %20090, ptr %20091, align 4, !tbaa !5
  %20092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20093 = load i32, ptr @test_count, align 4, !tbaa !5
  %20094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20095 = load i32, ptr %20094, align 4, !tbaa !5
  %20096 = call ptr @s2n_strerror(i32 noundef %20095, ptr noundef @.str.10)
  %20097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20098 = load i32, ptr %20097, align 4, !tbaa !5
  %20099 = call ptr @s2n_strerror_debug(i32 noundef %20098, ptr noundef @.str.10)
  %20100 = call ptr @__errno_location() #11
  %20101 = load i32, ptr %20100, align 4, !tbaa !5
  %20102 = call ptr @strerror(i32 noundef %20101) #10
  %20103 = call ptr @__errno_location() #11
  %20104 = load i32, ptr %20103, align 4, !tbaa !5
  %20105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20092, ptr noundef @.str.11, i32 noundef %20093, ptr noundef @.str.46, ptr noundef @.str.7, i32 noundef 754, ptr noundef %20096, ptr noundef %20099, ptr noundef %20102, i32 noundef %20104) #10
  br label %20106

20106:                                            ; preds = %20089, %20072
  call void @llvm.lifetime.end.p0(i64 4, ptr %452) #10
  br label %20107

20107:                                            ; preds = %20106
  br label %20108

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

20109:                                            ; No predecessors!
  br label %20110

20110:                                            ; preds = %20109
  br label %20111

20111:                                            ; preds = %20110, %20053
  br label %20112

20112:                                            ; preds = %20111
  br label %20113

20113:                                            ; preds = %20112
  br label %20114

20114:                                            ; preds = %20113
  %20115 = load i32, ptr @test_count, align 4, !tbaa !5
  %20116 = add nsw i32 %20115, 1
  store i32 %20116, ptr @test_count, align 4, !tbaa !5
  %20117 = load ptr, ptr %430, align 8, !tbaa !9
  %20118 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %20117, i32 noundef 1)
  br i1 %20118, label %20172, label %20119

20119:                                            ; preds = %20114
  br label %20120

20120:                                            ; preds = %20119
  br label %20121

20121:                                            ; preds = %20120
  call void @llvm.lifetime.start.p0(i64 4, ptr %453) #10
  %20122 = call ptr @__errno_location() #11
  %20123 = load i32, ptr %20122, align 4, !tbaa !5
  store i32 %20123, ptr %453, align 4, !tbaa !5
  %20124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20125 = call i32 @s2n_print_stacktrace(ptr noundef %20124)
  %20126 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20127 = trunc i8 %20126 to i1
  br i1 %20127, label %20128, label %20150

20128:                                            ; preds = %20121
  %20129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20130 = call i32 @fileno(ptr noundef %20129) #10
  %20131 = call i32 @isatty(i32 noundef %20130) #10
  %20132 = icmp ne i32 %20131, 0
  br i1 %20132, label %20133, label %20150

20133:                                            ; preds = %20128
  %20134 = load i32, ptr %453, align 4, !tbaa !5
  %20135 = call ptr @__errno_location() #11
  store i32 %20134, ptr %20135, align 4, !tbaa !5
  %20136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20137 = load i32, ptr @test_count, align 4, !tbaa !5
  %20138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20139 = load i32, ptr %20138, align 4, !tbaa !5
  %20140 = call ptr @s2n_strerror(i32 noundef %20139, ptr noundef @.str.10)
  %20141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20142 = load i32, ptr %20141, align 4, !tbaa !5
  %20143 = call ptr @s2n_strerror_debug(i32 noundef %20142, ptr noundef @.str.10)
  %20144 = call ptr @__errno_location() #11
  %20145 = load i32, ptr %20144, align 4, !tbaa !5
  %20146 = call ptr @strerror(i32 noundef %20145) #10
  %20147 = call ptr @__errno_location() #11
  %20148 = load i32, ptr %20147, align 4, !tbaa !5
  %20149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20136, ptr noundef @.str.8, i32 noundef %20137, ptr noundef @.str.59, ptr noundef @.str.7, i32 noundef 755, ptr noundef %20140, ptr noundef %20143, ptr noundef %20146, i32 noundef %20148) #10
  br label %20167

20150:                                            ; preds = %20128, %20121
  %20151 = load i32, ptr %453, align 4, !tbaa !5
  %20152 = call ptr @__errno_location() #11
  store i32 %20151, ptr %20152, align 4, !tbaa !5
  %20153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20154 = load i32, ptr @test_count, align 4, !tbaa !5
  %20155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20156 = load i32, ptr %20155, align 4, !tbaa !5
  %20157 = call ptr @s2n_strerror(i32 noundef %20156, ptr noundef @.str.10)
  %20158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20159 = load i32, ptr %20158, align 4, !tbaa !5
  %20160 = call ptr @s2n_strerror_debug(i32 noundef %20159, ptr noundef @.str.10)
  %20161 = call ptr @__errno_location() #11
  %20162 = load i32, ptr %20161, align 4, !tbaa !5
  %20163 = call ptr @strerror(i32 noundef %20162) #10
  %20164 = call ptr @__errno_location() #11
  %20165 = load i32, ptr %20164, align 4, !tbaa !5
  %20166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20153, ptr noundef @.str.11, i32 noundef %20154, ptr noundef @.str.59, ptr noundef @.str.7, i32 noundef 755, ptr noundef %20157, ptr noundef %20160, ptr noundef %20163, i32 noundef %20165) #10
  br label %20167

20167:                                            ; preds = %20150, %20133
  call void @llvm.lifetime.end.p0(i64 4, ptr %453) #10
  br label %20168

20168:                                            ; preds = %20167
  br label %20169

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

20170:                                            ; No predecessors!
  br label %20171

20171:                                            ; preds = %20170
  br label %20172

20172:                                            ; preds = %20171, %20114
  br label %20173

20173:                                            ; preds = %20172
  br label %20174

20174:                                            ; preds = %20173
  br label %20175

20175:                                            ; preds = %20174
  %20176 = load i64, ptr %447, align 8, !tbaa !45
  %20177 = add i64 %20176, 1
  store i64 %20177, ptr %447, align 8, !tbaa !45
  br label %19789, !llvm.loop !56

20178:                                            ; preds = %19792
  br label %20179

20179:                                            ; preds = %20178
  %20180 = load i32, ptr @test_count, align 4, !tbaa !5
  %20181 = add nsw i32 %20180, 1
  store i32 %20181, ptr @test_count, align 4, !tbaa !5
  %20182 = getelementptr inbounds %struct.s2n_stuffer, ptr %435, i32 0, i32 2
  %20183 = load i32, ptr %20182, align 4, !tbaa !43
  %20184 = getelementptr inbounds %struct.s2n_stuffer, ptr %435, i32 0, i32 1
  %20185 = load i32, ptr %20184, align 8, !tbaa !44
  %20186 = sub i32 %20183, %20185
  %20187 = call i32 @s2n_stuffer_copy(ptr noundef %435, ptr noundef %436, i32 noundef %20186)
  %20188 = icmp eq i32 %20187, -1
  br i1 %20188, label %20189, label %20242

20189:                                            ; preds = %20179
  br label %20190

20190:                                            ; preds = %20189
  br label %20191

20191:                                            ; preds = %20190
  call void @llvm.lifetime.start.p0(i64 4, ptr %454) #10
  %20192 = call ptr @__errno_location() #11
  %20193 = load i32, ptr %20192, align 4, !tbaa !5
  store i32 %20193, ptr %454, align 4, !tbaa !5
  %20194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20195 = call i32 @s2n_print_stacktrace(ptr noundef %20194)
  %20196 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20197 = trunc i8 %20196 to i1
  br i1 %20197, label %20198, label %20220

20198:                                            ; preds = %20191
  %20199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20200 = call i32 @fileno(ptr noundef %20199) #10
  %20201 = call i32 @isatty(i32 noundef %20200) #10
  %20202 = icmp ne i32 %20201, 0
  br i1 %20202, label %20203, label %20220

20203:                                            ; preds = %20198
  %20204 = load i32, ptr %454, align 4, !tbaa !5
  %20205 = call ptr @__errno_location() #11
  store i32 %20204, ptr %20205, align 4, !tbaa !5
  %20206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20207 = load i32, ptr @test_count, align 4, !tbaa !5
  %20208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20209 = load i32, ptr %20208, align 4, !tbaa !5
  %20210 = call ptr @s2n_strerror(i32 noundef %20209, ptr noundef @.str.10)
  %20211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20212 = load i32, ptr %20211, align 4, !tbaa !5
  %20213 = call ptr @s2n_strerror_debug(i32 noundef %20212, ptr noundef @.str.10)
  %20214 = call ptr @__errno_location() #11
  %20215 = load i32, ptr %20214, align 4, !tbaa !5
  %20216 = call ptr @strerror(i32 noundef %20215) #10
  %20217 = call ptr @__errno_location() #11
  %20218 = load i32, ptr %20217, align 4, !tbaa !5
  %20219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20206, ptr noundef @.str.8, i32 noundef %20207, ptr noundef @.str.114, ptr noundef @.str.7, i32 noundef 759, ptr noundef %20210, ptr noundef %20213, ptr noundef %20216, i32 noundef %20218) #10
  br label %20237

20220:                                            ; preds = %20198, %20191
  %20221 = load i32, ptr %454, align 4, !tbaa !5
  %20222 = call ptr @__errno_location() #11
  store i32 %20221, ptr %20222, align 4, !tbaa !5
  %20223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20224 = load i32, ptr @test_count, align 4, !tbaa !5
  %20225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20226 = load i32, ptr %20225, align 4, !tbaa !5
  %20227 = call ptr @s2n_strerror(i32 noundef %20226, ptr noundef @.str.10)
  %20228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20229 = load i32, ptr %20228, align 4, !tbaa !5
  %20230 = call ptr @s2n_strerror_debug(i32 noundef %20229, ptr noundef @.str.10)
  %20231 = call ptr @__errno_location() #11
  %20232 = load i32, ptr %20231, align 4, !tbaa !5
  %20233 = call ptr @strerror(i32 noundef %20232) #10
  %20234 = call ptr @__errno_location() #11
  %20235 = load i32, ptr %20234, align 4, !tbaa !5
  %20236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20223, ptr noundef @.str.11, i32 noundef %20224, ptr noundef @.str.114, ptr noundef @.str.7, i32 noundef 759, ptr noundef %20227, ptr noundef %20230, ptr noundef %20233, i32 noundef %20235) #10
  br label %20237

20237:                                            ; preds = %20220, %20203
  call void @llvm.lifetime.end.p0(i64 4, ptr %454) #10
  br label %20238

20238:                                            ; preds = %20237
  br label %20239

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

20240:                                            ; No predecessors!
  br label %20241

20241:                                            ; preds = %20240
  br label %20242

20242:                                            ; preds = %20241, %20179
  br label %20243

20243:                                            ; preds = %20242
  br label %20244

20244:                                            ; preds = %20243
  call void @llvm.lifetime.start.p0(i64 8, ptr %455) #10
  store i64 0, ptr %455, align 8, !tbaa !45
  br label %20245

20245:                                            ; preds = %20627, %20244
  %20246 = load i64, ptr %455, align 8, !tbaa !45
  %20247 = icmp ult i64 %20246, 5
  br i1 %20247, label %20249, label %20248

20248:                                            ; preds = %20245
  call void @llvm.lifetime.end.p0(i64 8, ptr %455) #10
  br label %20630

20249:                                            ; preds = %20245
  br label %20250

20250:                                            ; preds = %20249
  %20251 = load i32, ptr @test_count, align 4, !tbaa !5
  %20252 = add nsw i32 %20251, 1
  store i32 %20252, ptr @test_count, align 4, !tbaa !5
  %20253 = load ptr, ptr %430, align 8, !tbaa !9
  %20254 = call i32 @s2n_shutdown(ptr noundef %20253, ptr noundef %434)
  %20255 = icmp eq i32 %20254, -1
  br i1 %20255, label %20256, label %20309

20256:                                            ; preds = %20250
  br label %20257

20257:                                            ; preds = %20256
  br label %20258

20258:                                            ; preds = %20257
  call void @llvm.lifetime.start.p0(i64 4, ptr %456) #10
  %20259 = call ptr @__errno_location() #11
  %20260 = load i32, ptr %20259, align 4, !tbaa !5
  store i32 %20260, ptr %456, align 4, !tbaa !5
  %20261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20262 = call i32 @s2n_print_stacktrace(ptr noundef %20261)
  %20263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20264 = trunc i8 %20263 to i1
  br i1 %20264, label %20265, label %20287

20265:                                            ; preds = %20258
  %20266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20267 = call i32 @fileno(ptr noundef %20266) #10
  %20268 = call i32 @isatty(i32 noundef %20267) #10
  %20269 = icmp ne i32 %20268, 0
  br i1 %20269, label %20270, label %20287

20270:                                            ; preds = %20265
  %20271 = load i32, ptr %456, align 4, !tbaa !5
  %20272 = call ptr @__errno_location() #11
  store i32 %20271, ptr %20272, align 4, !tbaa !5
  %20273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20274 = load i32, ptr @test_count, align 4, !tbaa !5
  %20275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20276 = load i32, ptr %20275, align 4, !tbaa !5
  %20277 = call ptr @s2n_strerror(i32 noundef %20276, ptr noundef @.str.10)
  %20278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20279 = load i32, ptr %20278, align 4, !tbaa !5
  %20280 = call ptr @s2n_strerror_debug(i32 noundef %20279, ptr noundef @.str.10)
  %20281 = call ptr @__errno_location() #11
  %20282 = load i32, ptr %20281, align 4, !tbaa !5
  %20283 = call ptr @strerror(i32 noundef %20282) #10
  %20284 = call ptr @__errno_location() #11
  %20285 = load i32, ptr %20284, align 4, !tbaa !5
  %20286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20273, ptr noundef @.str.8, i32 noundef %20274, ptr noundef @.str.30, ptr noundef @.str.7, i32 noundef 765, ptr noundef %20277, ptr noundef %20280, ptr noundef %20283, i32 noundef %20285) #10
  br label %20304

20287:                                            ; preds = %20265, %20258
  %20288 = load i32, ptr %456, align 4, !tbaa !5
  %20289 = call ptr @__errno_location() #11
  store i32 %20288, ptr %20289, align 4, !tbaa !5
  %20290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20291 = load i32, ptr @test_count, align 4, !tbaa !5
  %20292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20293 = load i32, ptr %20292, align 4, !tbaa !5
  %20294 = call ptr @s2n_strerror(i32 noundef %20293, ptr noundef @.str.10)
  %20295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20296 = load i32, ptr %20295, align 4, !tbaa !5
  %20297 = call ptr @s2n_strerror_debug(i32 noundef %20296, ptr noundef @.str.10)
  %20298 = call ptr @__errno_location() #11
  %20299 = load i32, ptr %20298, align 4, !tbaa !5
  %20300 = call ptr @strerror(i32 noundef %20299) #10
  %20301 = call ptr @__errno_location() #11
  %20302 = load i32, ptr %20301, align 4, !tbaa !5
  %20303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20290, ptr noundef @.str.11, i32 noundef %20291, ptr noundef @.str.30, ptr noundef @.str.7, i32 noundef 765, ptr noundef %20294, ptr noundef %20297, ptr noundef %20300, i32 noundef %20302) #10
  br label %20304

20304:                                            ; preds = %20287, %20270
  call void @llvm.lifetime.end.p0(i64 4, ptr %456) #10
  br label %20305

20305:                                            ; preds = %20304
  br label %20306

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

20307:                                            ; No predecessors!
  br label %20308

20308:                                            ; preds = %20307
  br label %20309

20309:                                            ; preds = %20308, %20250
  br label %20310

20310:                                            ; preds = %20309
  br label %20311

20311:                                            ; preds = %20310
  br label %20312

20312:                                            ; preds = %20311
  %20313 = load i32, ptr @test_count, align 4, !tbaa !5
  %20314 = add nsw i32 %20313, 1
  store i32 %20314, ptr @test_count, align 4, !tbaa !5
  %20315 = load i32, ptr %434, align 4, !tbaa !5
  %20316 = icmp eq i32 %20315, 0
  br i1 %20316, label %20370, label %20317

20317:                                            ; preds = %20312
  br label %20318

20318:                                            ; preds = %20317
  br label %20319

20319:                                            ; preds = %20318
  call void @llvm.lifetime.start.p0(i64 4, ptr %457) #10
  %20320 = call ptr @__errno_location() #11
  %20321 = load i32, ptr %20320, align 4, !tbaa !5
  store i32 %20321, ptr %457, align 4, !tbaa !5
  %20322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20323 = call i32 @s2n_print_stacktrace(ptr noundef %20322)
  %20324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20325 = trunc i8 %20324 to i1
  br i1 %20325, label %20326, label %20348

20326:                                            ; preds = %20319
  %20327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20328 = call i32 @fileno(ptr noundef %20327) #10
  %20329 = call i32 @isatty(i32 noundef %20328) #10
  %20330 = icmp ne i32 %20329, 0
  br i1 %20330, label %20331, label %20348

20331:                                            ; preds = %20326
  %20332 = load i32, ptr %457, align 4, !tbaa !5
  %20333 = call ptr @__errno_location() #11
  store i32 %20332, ptr %20333, align 4, !tbaa !5
  %20334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20335 = load i32, ptr @test_count, align 4, !tbaa !5
  %20336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20337 = load i32, ptr %20336, align 4, !tbaa !5
  %20338 = call ptr @s2n_strerror(i32 noundef %20337, ptr noundef @.str.10)
  %20339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20340 = load i32, ptr %20339, align 4, !tbaa !5
  %20341 = call ptr @s2n_strerror_debug(i32 noundef %20340, ptr noundef @.str.10)
  %20342 = call ptr @__errno_location() #11
  %20343 = load i32, ptr %20342, align 4, !tbaa !5
  %20344 = call ptr @strerror(i32 noundef %20343) #10
  %20345 = call ptr @__errno_location() #11
  %20346 = load i32, ptr %20345, align 4, !tbaa !5
  %20347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20334, ptr noundef @.str.8, i32 noundef %20335, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 766, ptr noundef %20338, ptr noundef %20341, ptr noundef %20344, i32 noundef %20346) #10
  br label %20365

20348:                                            ; preds = %20326, %20319
  %20349 = load i32, ptr %457, align 4, !tbaa !5
  %20350 = call ptr @__errno_location() #11
  store i32 %20349, ptr %20350, align 4, !tbaa !5
  %20351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20352 = load i32, ptr @test_count, align 4, !tbaa !5
  %20353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20354 = load i32, ptr %20353, align 4, !tbaa !5
  %20355 = call ptr @s2n_strerror(i32 noundef %20354, ptr noundef @.str.10)
  %20356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20357 = load i32, ptr %20356, align 4, !tbaa !5
  %20358 = call ptr @s2n_strerror_debug(i32 noundef %20357, ptr noundef @.str.10)
  %20359 = call ptr @__errno_location() #11
  %20360 = load i32, ptr %20359, align 4, !tbaa !5
  %20361 = call ptr @strerror(i32 noundef %20360) #10
  %20362 = call ptr @__errno_location() #11
  %20363 = load i32, ptr %20362, align 4, !tbaa !5
  %20364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20351, ptr noundef @.str.11, i32 noundef %20352, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 766, ptr noundef %20355, ptr noundef %20358, ptr noundef %20361, i32 noundef %20363) #10
  br label %20365

20365:                                            ; preds = %20348, %20331
  call void @llvm.lifetime.end.p0(i64 4, ptr %457) #10
  br label %20366

20366:                                            ; preds = %20365
  br label %20367

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

20368:                                            ; No predecessors!
  br label %20369

20369:                                            ; preds = %20368
  br label %20370

20370:                                            ; preds = %20369, %20312
  br label %20371

20371:                                            ; preds = %20370
  br label %20372

20372:                                            ; preds = %20371
  br label %20373

20373:                                            ; preds = %20372
  %20374 = load i32, ptr @test_count, align 4, !tbaa !5
  %20375 = add nsw i32 %20374, 1
  store i32 %20375, ptr @test_count, align 4, !tbaa !5
  %20376 = load ptr, ptr %430, align 8, !tbaa !9
  %20377 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %20376, i32 noundef 3)
  br i1 %20377, label %20431, label %20378

20378:                                            ; preds = %20373
  br label %20379

20379:                                            ; preds = %20378
  br label %20380

20380:                                            ; preds = %20379
  call void @llvm.lifetime.start.p0(i64 4, ptr %458) #10
  %20381 = call ptr @__errno_location() #11
  %20382 = load i32, ptr %20381, align 4, !tbaa !5
  store i32 %20382, ptr %458, align 4, !tbaa !5
  %20383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20384 = call i32 @s2n_print_stacktrace(ptr noundef %20383)
  %20385 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20386 = trunc i8 %20385 to i1
  br i1 %20386, label %20387, label %20409

20387:                                            ; preds = %20380
  %20388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20389 = call i32 @fileno(ptr noundef %20388) #10
  %20390 = call i32 @isatty(i32 noundef %20389) #10
  %20391 = icmp ne i32 %20390, 0
  br i1 %20391, label %20392, label %20409

20392:                                            ; preds = %20387
  %20393 = load i32, ptr %458, align 4, !tbaa !5
  %20394 = call ptr @__errno_location() #11
  store i32 %20393, ptr %20394, align 4, !tbaa !5
  %20395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20396 = load i32, ptr @test_count, align 4, !tbaa !5
  %20397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20398 = load i32, ptr %20397, align 4, !tbaa !5
  %20399 = call ptr @s2n_strerror(i32 noundef %20398, ptr noundef @.str.10)
  %20400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20401 = load i32, ptr %20400, align 4, !tbaa !5
  %20402 = call ptr @s2n_strerror_debug(i32 noundef %20401, ptr noundef @.str.10)
  %20403 = call ptr @__errno_location() #11
  %20404 = load i32, ptr %20403, align 4, !tbaa !5
  %20405 = call ptr @strerror(i32 noundef %20404) #10
  %20406 = call ptr @__errno_location() #11
  %20407 = load i32, ptr %20406, align 4, !tbaa !5
  %20408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20395, ptr noundef @.str.8, i32 noundef %20396, ptr noundef @.str.32, ptr noundef @.str.7, i32 noundef 767, ptr noundef %20399, ptr noundef %20402, ptr noundef %20405, i32 noundef %20407) #10
  br label %20426

20409:                                            ; preds = %20387, %20380
  %20410 = load i32, ptr %458, align 4, !tbaa !5
  %20411 = call ptr @__errno_location() #11
  store i32 %20410, ptr %20411, align 4, !tbaa !5
  %20412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20413 = load i32, ptr @test_count, align 4, !tbaa !5
  %20414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20415 = load i32, ptr %20414, align 4, !tbaa !5
  %20416 = call ptr @s2n_strerror(i32 noundef %20415, ptr noundef @.str.10)
  %20417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20418 = load i32, ptr %20417, align 4, !tbaa !5
  %20419 = call ptr @s2n_strerror_debug(i32 noundef %20418, ptr noundef @.str.10)
  %20420 = call ptr @__errno_location() #11
  %20421 = load i32, ptr %20420, align 4, !tbaa !5
  %20422 = call ptr @strerror(i32 noundef %20421) #10
  %20423 = call ptr @__errno_location() #11
  %20424 = load i32, ptr %20423, align 4, !tbaa !5
  %20425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20412, ptr noundef @.str.11, i32 noundef %20413, ptr noundef @.str.32, ptr noundef @.str.7, i32 noundef 767, ptr noundef %20416, ptr noundef %20419, ptr noundef %20422, i32 noundef %20424) #10
  br label %20426

20426:                                            ; preds = %20409, %20392
  call void @llvm.lifetime.end.p0(i64 4, ptr %458) #10
  br label %20427

20427:                                            ; preds = %20426
  br label %20428

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

20429:                                            ; No predecessors!
  br label %20430

20430:                                            ; preds = %20429
  br label %20431

20431:                                            ; preds = %20430, %20373
  br label %20432

20432:                                            ; preds = %20431
  br label %20433

20433:                                            ; preds = %20432
  br label %20434

20434:                                            ; preds = %20433
  %20435 = load i32, ptr @test_count, align 4, !tbaa !5
  %20436 = add nsw i32 %20435, 1
  store i32 %20436, ptr @test_count, align 4, !tbaa !5
  %20437 = getelementptr inbounds %struct.s2n_stuffer, ptr %436, i32 0, i32 2
  %20438 = load i32, ptr %20437, align 4, !tbaa !43
  %20439 = getelementptr inbounds %struct.s2n_stuffer, ptr %436, i32 0, i32 1
  %20440 = load i32, ptr %20439, align 8, !tbaa !44
  %20441 = sub i32 %20438, %20440
  %20442 = icmp eq i32 %20441, 0
  br i1 %20442, label %20496, label %20443

20443:                                            ; preds = %20434
  br label %20444

20444:                                            ; preds = %20443
  br label %20445

20445:                                            ; preds = %20444
  call void @llvm.lifetime.start.p0(i64 4, ptr %459) #10
  %20446 = call ptr @__errno_location() #11
  %20447 = load i32, ptr %20446, align 4, !tbaa !5
  store i32 %20447, ptr %459, align 4, !tbaa !5
  %20448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20449 = call i32 @s2n_print_stacktrace(ptr noundef %20448)
  %20450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20451 = trunc i8 %20450 to i1
  br i1 %20451, label %20452, label %20474

20452:                                            ; preds = %20445
  %20453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20454 = call i32 @fileno(ptr noundef %20453) #10
  %20455 = call i32 @isatty(i32 noundef %20454) #10
  %20456 = icmp ne i32 %20455, 0
  br i1 %20456, label %20457, label %20474

20457:                                            ; preds = %20452
  %20458 = load i32, ptr %459, align 4, !tbaa !5
  %20459 = call ptr @__errno_location() #11
  store i32 %20458, ptr %20459, align 4, !tbaa !5
  %20460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20461 = load i32, ptr @test_count, align 4, !tbaa !5
  %20462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20463 = load i32, ptr %20462, align 4, !tbaa !5
  %20464 = call ptr @s2n_strerror(i32 noundef %20463, ptr noundef @.str.10)
  %20465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20466 = load i32, ptr %20465, align 4, !tbaa !5
  %20467 = call ptr @s2n_strerror_debug(i32 noundef %20466, ptr noundef @.str.10)
  %20468 = call ptr @__errno_location() #11
  %20469 = load i32, ptr %20468, align 4, !tbaa !5
  %20470 = call ptr @strerror(i32 noundef %20469) #10
  %20471 = call ptr @__errno_location() #11
  %20472 = load i32, ptr %20471, align 4, !tbaa !5
  %20473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20460, ptr noundef @.str.8, i32 noundef %20461, ptr noundef @.str.115, ptr noundef @.str.7, i32 noundef 768, ptr noundef %20464, ptr noundef %20467, ptr noundef %20470, i32 noundef %20472) #10
  br label %20491

20474:                                            ; preds = %20452, %20445
  %20475 = load i32, ptr %459, align 4, !tbaa !5
  %20476 = call ptr @__errno_location() #11
  store i32 %20475, ptr %20476, align 4, !tbaa !5
  %20477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20478 = load i32, ptr @test_count, align 4, !tbaa !5
  %20479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20480 = load i32, ptr %20479, align 4, !tbaa !5
  %20481 = call ptr @s2n_strerror(i32 noundef %20480, ptr noundef @.str.10)
  %20482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20483 = load i32, ptr %20482, align 4, !tbaa !5
  %20484 = call ptr @s2n_strerror_debug(i32 noundef %20483, ptr noundef @.str.10)
  %20485 = call ptr @__errno_location() #11
  %20486 = load i32, ptr %20485, align 4, !tbaa !5
  %20487 = call ptr @strerror(i32 noundef %20486) #10
  %20488 = call ptr @__errno_location() #11
  %20489 = load i32, ptr %20488, align 4, !tbaa !5
  %20490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20477, ptr noundef @.str.11, i32 noundef %20478, ptr noundef @.str.115, ptr noundef @.str.7, i32 noundef 768, ptr noundef %20481, ptr noundef %20484, ptr noundef %20487, i32 noundef %20489) #10
  br label %20491

20491:                                            ; preds = %20474, %20457
  call void @llvm.lifetime.end.p0(i64 4, ptr %459) #10
  br label %20492

20492:                                            ; preds = %20491
  br label %20493

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

20494:                                            ; No predecessors!
  br label %20495

20495:                                            ; preds = %20494
  br label %20496

20496:                                            ; preds = %20495, %20434
  br label %20497

20497:                                            ; preds = %20496
  br label %20498

20498:                                            ; preds = %20497
  br label %20499

20499:                                            ; preds = %20498
  %20500 = load i32, ptr @test_count, align 4, !tbaa !5
  %20501 = add nsw i32 %20500, 1
  store i32 %20501, ptr @test_count, align 4, !tbaa !5
  %20502 = getelementptr inbounds %struct.s2n_stuffer, ptr %435, i32 0, i32 2
  %20503 = load i32, ptr %20502, align 4, !tbaa !43
  %20504 = getelementptr inbounds %struct.s2n_stuffer, ptr %435, i32 0, i32 1
  %20505 = load i32, ptr %20504, align 8, !tbaa !44
  %20506 = sub i32 %20503, %20505
  %20507 = icmp eq i32 %20506, 0
  br i1 %20507, label %20561, label %20508

20508:                                            ; preds = %20499
  br label %20509

20509:                                            ; preds = %20508
  br label %20510

20510:                                            ; preds = %20509
  call void @llvm.lifetime.start.p0(i64 4, ptr %460) #10
  %20511 = call ptr @__errno_location() #11
  %20512 = load i32, ptr %20511, align 4, !tbaa !5
  store i32 %20512, ptr %460, align 4, !tbaa !5
  %20513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20514 = call i32 @s2n_print_stacktrace(ptr noundef %20513)
  %20515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20516 = trunc i8 %20515 to i1
  br i1 %20516, label %20517, label %20539

20517:                                            ; preds = %20510
  %20518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20519 = call i32 @fileno(ptr noundef %20518) #10
  %20520 = call i32 @isatty(i32 noundef %20519) #10
  %20521 = icmp ne i32 %20520, 0
  br i1 %20521, label %20522, label %20539

20522:                                            ; preds = %20517
  %20523 = load i32, ptr %460, align 4, !tbaa !5
  %20524 = call ptr @__errno_location() #11
  store i32 %20523, ptr %20524, align 4, !tbaa !5
  %20525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20526 = load i32, ptr @test_count, align 4, !tbaa !5
  %20527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20528 = load i32, ptr %20527, align 4, !tbaa !5
  %20529 = call ptr @s2n_strerror(i32 noundef %20528, ptr noundef @.str.10)
  %20530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20531 = load i32, ptr %20530, align 4, !tbaa !5
  %20532 = call ptr @s2n_strerror_debug(i32 noundef %20531, ptr noundef @.str.10)
  %20533 = call ptr @__errno_location() #11
  %20534 = load i32, ptr %20533, align 4, !tbaa !5
  %20535 = call ptr @strerror(i32 noundef %20534) #10
  %20536 = call ptr @__errno_location() #11
  %20537 = load i32, ptr %20536, align 4, !tbaa !5
  %20538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20525, ptr noundef @.str.8, i32 noundef %20526, ptr noundef @.str.56, ptr noundef @.str.7, i32 noundef 769, ptr noundef %20529, ptr noundef %20532, ptr noundef %20535, i32 noundef %20537) #10
  br label %20556

20539:                                            ; preds = %20517, %20510
  %20540 = load i32, ptr %460, align 4, !tbaa !5
  %20541 = call ptr @__errno_location() #11
  store i32 %20540, ptr %20541, align 4, !tbaa !5
  %20542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20543 = load i32, ptr @test_count, align 4, !tbaa !5
  %20544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20545 = load i32, ptr %20544, align 4, !tbaa !5
  %20546 = call ptr @s2n_strerror(i32 noundef %20545, ptr noundef @.str.10)
  %20547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20548 = load i32, ptr %20547, align 4, !tbaa !5
  %20549 = call ptr @s2n_strerror_debug(i32 noundef %20548, ptr noundef @.str.10)
  %20550 = call ptr @__errno_location() #11
  %20551 = load i32, ptr %20550, align 4, !tbaa !5
  %20552 = call ptr @strerror(i32 noundef %20551) #10
  %20553 = call ptr @__errno_location() #11
  %20554 = load i32, ptr %20553, align 4, !tbaa !5
  %20555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20542, ptr noundef @.str.11, i32 noundef %20543, ptr noundef @.str.56, ptr noundef @.str.7, i32 noundef 769, ptr noundef %20546, ptr noundef %20549, ptr noundef %20552, i32 noundef %20554) #10
  br label %20556

20556:                                            ; preds = %20539, %20522
  call void @llvm.lifetime.end.p0(i64 4, ptr %460) #10
  br label %20557

20557:                                            ; preds = %20556
  br label %20558

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

20559:                                            ; No predecessors!
  br label %20560

20560:                                            ; preds = %20559
  br label %20561

20561:                                            ; preds = %20560, %20499
  br label %20562

20562:                                            ; preds = %20561
  br label %20563

20563:                                            ; preds = %20562
  br label %20564

20564:                                            ; preds = %20563
  %20565 = load i32, ptr @test_count, align 4, !tbaa !5
  %20566 = add nsw i32 %20565, 1
  store i32 %20566, ptr @test_count, align 4, !tbaa !5
  %20567 = load ptr, ptr %430, align 8, !tbaa !9
  %20568 = getelementptr inbounds %struct.s2n_connection, ptr %20567, i32 0, i32 49
  %20569 = load i8, ptr %20568, align 1, !tbaa !16, !range !13, !noundef !14
  %20570 = trunc i8 %20569 to i1
  br i1 %20570, label %20624, label %20571

20571:                                            ; preds = %20564
  br label %20572

20572:                                            ; preds = %20571
  br label %20573

20573:                                            ; preds = %20572
  call void @llvm.lifetime.start.p0(i64 4, ptr %461) #10
  %20574 = call ptr @__errno_location() #11
  %20575 = load i32, ptr %20574, align 4, !tbaa !5
  store i32 %20575, ptr %461, align 4, !tbaa !5
  %20576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20577 = call i32 @s2n_print_stacktrace(ptr noundef %20576)
  %20578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20579 = trunc i8 %20578 to i1
  br i1 %20579, label %20580, label %20602

20580:                                            ; preds = %20573
  %20581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20582 = call i32 @fileno(ptr noundef %20581) #10
  %20583 = call i32 @isatty(i32 noundef %20582) #10
  %20584 = icmp ne i32 %20583, 0
  br i1 %20584, label %20585, label %20602

20585:                                            ; preds = %20580
  %20586 = load i32, ptr %461, align 4, !tbaa !5
  %20587 = call ptr @__errno_location() #11
  store i32 %20586, ptr %20587, align 4, !tbaa !5
  %20588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20589 = load i32, ptr @test_count, align 4, !tbaa !5
  %20590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20591 = load i32, ptr %20590, align 4, !tbaa !5
  %20592 = call ptr @s2n_strerror(i32 noundef %20591, ptr noundef @.str.10)
  %20593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20594 = load i32, ptr %20593, align 4, !tbaa !5
  %20595 = call ptr @s2n_strerror_debug(i32 noundef %20594, ptr noundef @.str.10)
  %20596 = call ptr @__errno_location() #11
  %20597 = load i32, ptr %20596, align 4, !tbaa !5
  %20598 = call ptr @strerror(i32 noundef %20597) #10
  %20599 = call ptr @__errno_location() #11
  %20600 = load i32, ptr %20599, align 4, !tbaa !5
  %20601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20588, ptr noundef @.str.8, i32 noundef %20589, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 770, ptr noundef %20592, ptr noundef %20595, ptr noundef %20598, i32 noundef %20600) #10
  br label %20619

20602:                                            ; preds = %20580, %20573
  %20603 = load i32, ptr %461, align 4, !tbaa !5
  %20604 = call ptr @__errno_location() #11
  store i32 %20603, ptr %20604, align 4, !tbaa !5
  %20605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20606 = load i32, ptr @test_count, align 4, !tbaa !5
  %20607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20608 = load i32, ptr %20607, align 4, !tbaa !5
  %20609 = call ptr @s2n_strerror(i32 noundef %20608, ptr noundef @.str.10)
  %20610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20611 = load i32, ptr %20610, align 4, !tbaa !5
  %20612 = call ptr @s2n_strerror_debug(i32 noundef %20611, ptr noundef @.str.10)
  %20613 = call ptr @__errno_location() #11
  %20614 = load i32, ptr %20613, align 4, !tbaa !5
  %20615 = call ptr @strerror(i32 noundef %20614) #10
  %20616 = call ptr @__errno_location() #11
  %20617 = load i32, ptr %20616, align 4, !tbaa !5
  %20618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20605, ptr noundef @.str.11, i32 noundef %20606, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 770, ptr noundef %20609, ptr noundef %20612, ptr noundef %20615, i32 noundef %20617) #10
  br label %20619

20619:                                            ; preds = %20602, %20585
  call void @llvm.lifetime.end.p0(i64 4, ptr %461) #10
  br label %20620

20620:                                            ; preds = %20619
  br label %20621

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

20622:                                            ; No predecessors!
  br label %20623

20623:                                            ; preds = %20622
  br label %20624

20624:                                            ; preds = %20623, %20564
  br label %20625

20625:                                            ; preds = %20624
  br label %20626

20626:                                            ; preds = %20625
  br label %20627

20627:                                            ; preds = %20626
  %20628 = load i64, ptr %455, align 8, !tbaa !45
  %20629 = add i64 %20628, 1
  store i64 %20629, ptr %455, align 8, !tbaa !45
  br label %20245, !llvm.loop !57

20630:                                            ; preds = %20248
  %20631 = call i32 @s2n_stuffer_free(ptr noundef %436)
  call void @llvm.lifetime.end.p0(i64 40, ptr %436) #10
  %20632 = call i32 @s2n_stuffer_free(ptr noundef %435)
  call void @llvm.lifetime.end.p0(i64 40, ptr %435) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %434) #10
  %20633 = call i32 @s2n_connection_ptr_free(ptr noundef %430)
  %20634 = getelementptr inbounds %struct.s2n_result, ptr %462, i32 0, i32 0
  store i32 %20633, ptr %20634, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %430) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %463) #10
  %20635 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %20635, ptr %463, align 8, !tbaa !9
  br label %20636

20636:                                            ; preds = %20630
  %20637 = load i32, ptr @test_count, align 4, !tbaa !5
  %20638 = add nsw i32 %20637, 1
  store i32 %20638, ptr @test_count, align 4, !tbaa !5
  %20639 = load ptr, ptr %463, align 8, !tbaa !9
  %20640 = icmp eq ptr %20639, null
  br i1 %20640, label %20641, label %20694

20641:                                            ; preds = %20636
  br label %20642

20642:                                            ; preds = %20641
  br label %20643

20643:                                            ; preds = %20642
  call void @llvm.lifetime.start.p0(i64 4, ptr %464) #10
  %20644 = call ptr @__errno_location() #11
  %20645 = load i32, ptr %20644, align 4, !tbaa !5
  store i32 %20645, ptr %464, align 4, !tbaa !5
  %20646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20647 = call i32 @s2n_print_stacktrace(ptr noundef %20646)
  %20648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20649 = trunc i8 %20648 to i1
  br i1 %20649, label %20650, label %20672

20650:                                            ; preds = %20643
  %20651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20652 = call i32 @fileno(ptr noundef %20651) #10
  %20653 = call i32 @isatty(i32 noundef %20652) #10
  %20654 = icmp ne i32 %20653, 0
  br i1 %20654, label %20655, label %20672

20655:                                            ; preds = %20650
  %20656 = load i32, ptr %464, align 4, !tbaa !5
  %20657 = call ptr @__errno_location() #11
  store i32 %20656, ptr %20657, align 4, !tbaa !5
  %20658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20659 = load i32, ptr @test_count, align 4, !tbaa !5
  %20660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20661 = load i32, ptr %20660, align 4, !tbaa !5
  %20662 = call ptr @s2n_strerror(i32 noundef %20661, ptr noundef @.str.10)
  %20663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20664 = load i32, ptr %20663, align 4, !tbaa !5
  %20665 = call ptr @s2n_strerror_debug(i32 noundef %20664, ptr noundef @.str.10)
  %20666 = call ptr @__errno_location() #11
  %20667 = load i32, ptr %20666, align 4, !tbaa !5
  %20668 = call ptr @strerror(i32 noundef %20667) #10
  %20669 = call ptr @__errno_location() #11
  %20670 = load i32, ptr %20669, align 4, !tbaa !5
  %20671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20658, ptr noundef @.str.8, i32 noundef %20659, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 778, ptr noundef %20662, ptr noundef %20665, ptr noundef %20668, i32 noundef %20670) #10
  br label %20689

20672:                                            ; preds = %20650, %20643
  %20673 = load i32, ptr %464, align 4, !tbaa !5
  %20674 = call ptr @__errno_location() #11
  store i32 %20673, ptr %20674, align 4, !tbaa !5
  %20675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20676 = load i32, ptr @test_count, align 4, !tbaa !5
  %20677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20678 = load i32, ptr %20677, align 4, !tbaa !5
  %20679 = call ptr @s2n_strerror(i32 noundef %20678, ptr noundef @.str.10)
  %20680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20681 = load i32, ptr %20680, align 4, !tbaa !5
  %20682 = call ptr @s2n_strerror_debug(i32 noundef %20681, ptr noundef @.str.10)
  %20683 = call ptr @__errno_location() #11
  %20684 = load i32, ptr %20683, align 4, !tbaa !5
  %20685 = call ptr @strerror(i32 noundef %20684) #10
  %20686 = call ptr @__errno_location() #11
  %20687 = load i32, ptr %20686, align 4, !tbaa !5
  %20688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20675, ptr noundef @.str.11, i32 noundef %20676, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 778, ptr noundef %20679, ptr noundef %20682, ptr noundef %20685, i32 noundef %20687) #10
  br label %20689

20689:                                            ; preds = %20672, %20655
  call void @llvm.lifetime.end.p0(i64 4, ptr %464) #10
  br label %20690

20690:                                            ; preds = %20689
  br label %20691

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

20692:                                            ; No predecessors!
  br label %20693

20693:                                            ; preds = %20692
  br label %20694

20694:                                            ; preds = %20693, %20636
  br label %20695

20695:                                            ; preds = %20694
  br label %20696

20696:                                            ; preds = %20695
  br label %20697

20697:                                            ; preds = %20696
  %20698 = load i32, ptr @test_count, align 4, !tbaa !5
  %20699 = add nsw i32 %20698, 1
  store i32 %20699, ptr @test_count, align 4, !tbaa !5
  %20700 = load ptr, ptr %463, align 8, !tbaa !9
  %20701 = call i32 @s2n_skip_handshake(ptr noundef %20700)
  %20702 = getelementptr inbounds %struct.s2n_result, ptr %465, i32 0, i32 0
  store i32 %20701, ptr %20702, align 4
  %20703 = getelementptr inbounds %struct.s2n_result, ptr %465, i32 0, i32 0
  %20704 = load i32, ptr %20703, align 4
  %20705 = call zeroext i1 @s2n_result_is_ok(i32 %20704)
  br i1 %20705, label %20759, label %20706

20706:                                            ; preds = %20697
  br label %20707

20707:                                            ; preds = %20706
  br label %20708

20708:                                            ; preds = %20707
  call void @llvm.lifetime.start.p0(i64 4, ptr %466) #10
  %20709 = call ptr @__errno_location() #11
  %20710 = load i32, ptr %20709, align 4, !tbaa !5
  store i32 %20710, ptr %466, align 4, !tbaa !5
  %20711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20712 = call i32 @s2n_print_stacktrace(ptr noundef %20711)
  %20713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20714 = trunc i8 %20713 to i1
  br i1 %20714, label %20715, label %20737

20715:                                            ; preds = %20708
  %20716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20717 = call i32 @fileno(ptr noundef %20716) #10
  %20718 = call i32 @isatty(i32 noundef %20717) #10
  %20719 = icmp ne i32 %20718, 0
  br i1 %20719, label %20720, label %20737

20720:                                            ; preds = %20715
  %20721 = load i32, ptr %466, align 4, !tbaa !5
  %20722 = call ptr @__errno_location() #11
  store i32 %20721, ptr %20722, align 4, !tbaa !5
  %20723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20724 = load i32, ptr @test_count, align 4, !tbaa !5
  %20725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20726 = load i32, ptr %20725, align 4, !tbaa !5
  %20727 = call ptr @s2n_strerror(i32 noundef %20726, ptr noundef @.str.10)
  %20728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20729 = load i32, ptr %20728, align 4, !tbaa !5
  %20730 = call ptr @s2n_strerror_debug(i32 noundef %20729, ptr noundef @.str.10)
  %20731 = call ptr @__errno_location() #11
  %20732 = load i32, ptr %20731, align 4, !tbaa !5
  %20733 = call ptr @strerror(i32 noundef %20732) #10
  %20734 = call ptr @__errno_location() #11
  %20735 = load i32, ptr %20734, align 4, !tbaa !5
  %20736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20723, ptr noundef @.str.8, i32 noundef %20724, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 779, ptr noundef %20727, ptr noundef %20730, ptr noundef %20733, i32 noundef %20735) #10
  br label %20754

20737:                                            ; preds = %20715, %20708
  %20738 = load i32, ptr %466, align 4, !tbaa !5
  %20739 = call ptr @__errno_location() #11
  store i32 %20738, ptr %20739, align 4, !tbaa !5
  %20740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20741 = load i32, ptr @test_count, align 4, !tbaa !5
  %20742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20743 = load i32, ptr %20742, align 4, !tbaa !5
  %20744 = call ptr @s2n_strerror(i32 noundef %20743, ptr noundef @.str.10)
  %20745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20746 = load i32, ptr %20745, align 4, !tbaa !5
  %20747 = call ptr @s2n_strerror_debug(i32 noundef %20746, ptr noundef @.str.10)
  %20748 = call ptr @__errno_location() #11
  %20749 = load i32, ptr %20748, align 4, !tbaa !5
  %20750 = call ptr @strerror(i32 noundef %20749) #10
  %20751 = call ptr @__errno_location() #11
  %20752 = load i32, ptr %20751, align 4, !tbaa !5
  %20753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20740, ptr noundef @.str.11, i32 noundef %20741, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 779, ptr noundef %20744, ptr noundef %20747, ptr noundef %20750, i32 noundef %20752) #10
  br label %20754

20754:                                            ; preds = %20737, %20720
  call void @llvm.lifetime.end.p0(i64 4, ptr %466) #10
  br label %20755

20755:                                            ; preds = %20754
  br label %20756

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

20757:                                            ; No predecessors!
  br label %20758

20758:                                            ; preds = %20757
  br label %20759

20759:                                            ; preds = %20758, %20697
  br label %20760

20760:                                            ; preds = %20759
  br label %20761

20761:                                            ; preds = %20760
  call void @llvm.lifetime.start.p0(i64 4, ptr %467) #10
  store i32 0, ptr %467, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr %468) #10
  call void @llvm.memset.p0.i64(ptr align 8 %468, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %469) #10
  call void @llvm.memset.p0.i64(ptr align 8 %469, i8 0, i64 40, i1 false)
  br label %20762

20762:                                            ; preds = %20761
  %20763 = load i32, ptr @test_count, align 4, !tbaa !5
  %20764 = add nsw i32 %20763, 1
  store i32 %20764, ptr @test_count, align 4, !tbaa !5
  %20765 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %468, i32 noundef 0)
  %20766 = icmp eq i32 %20765, -1
  br i1 %20766, label %20767, label %20820

20767:                                            ; preds = %20762
  br label %20768

20768:                                            ; preds = %20767
  br label %20769

20769:                                            ; preds = %20768
  call void @llvm.lifetime.start.p0(i64 4, ptr %470) #10
  %20770 = call ptr @__errno_location() #11
  %20771 = load i32, ptr %20770, align 4, !tbaa !5
  store i32 %20771, ptr %470, align 4, !tbaa !5
  %20772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20773 = call i32 @s2n_print_stacktrace(ptr noundef %20772)
  %20774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20775 = trunc i8 %20774 to i1
  br i1 %20775, label %20776, label %20798

20776:                                            ; preds = %20769
  %20777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20778 = call i32 @fileno(ptr noundef %20777) #10
  %20779 = call i32 @isatty(i32 noundef %20778) #10
  %20780 = icmp ne i32 %20779, 0
  br i1 %20780, label %20781, label %20798

20781:                                            ; preds = %20776
  %20782 = load i32, ptr %470, align 4, !tbaa !5
  %20783 = call ptr @__errno_location() #11
  store i32 %20782, ptr %20783, align 4, !tbaa !5
  %20784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20785 = load i32, ptr @test_count, align 4, !tbaa !5
  %20786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20787 = load i32, ptr %20786, align 4, !tbaa !5
  %20788 = call ptr @s2n_strerror(i32 noundef %20787, ptr noundef @.str.10)
  %20789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20790 = load i32, ptr %20789, align 4, !tbaa !5
  %20791 = call ptr @s2n_strerror_debug(i32 noundef %20790, ptr noundef @.str.10)
  %20792 = call ptr @__errno_location() #11
  %20793 = load i32, ptr %20792, align 4, !tbaa !5
  %20794 = call ptr @strerror(i32 noundef %20793) #10
  %20795 = call ptr @__errno_location() #11
  %20796 = load i32, ptr %20795, align 4, !tbaa !5
  %20797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20784, ptr noundef @.str.8, i32 noundef %20785, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 785, ptr noundef %20788, ptr noundef %20791, ptr noundef %20794, i32 noundef %20796) #10
  br label %20815

20798:                                            ; preds = %20776, %20769
  %20799 = load i32, ptr %470, align 4, !tbaa !5
  %20800 = call ptr @__errno_location() #11
  store i32 %20799, ptr %20800, align 4, !tbaa !5
  %20801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20802 = load i32, ptr @test_count, align 4, !tbaa !5
  %20803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20804 = load i32, ptr %20803, align 4, !tbaa !5
  %20805 = call ptr @s2n_strerror(i32 noundef %20804, ptr noundef @.str.10)
  %20806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20807 = load i32, ptr %20806, align 4, !tbaa !5
  %20808 = call ptr @s2n_strerror_debug(i32 noundef %20807, ptr noundef @.str.10)
  %20809 = call ptr @__errno_location() #11
  %20810 = load i32, ptr %20809, align 4, !tbaa !5
  %20811 = call ptr @strerror(i32 noundef %20810) #10
  %20812 = call ptr @__errno_location() #11
  %20813 = load i32, ptr %20812, align 4, !tbaa !5
  %20814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20801, ptr noundef @.str.11, i32 noundef %20802, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 785, ptr noundef %20805, ptr noundef %20808, ptr noundef %20811, i32 noundef %20813) #10
  br label %20815

20815:                                            ; preds = %20798, %20781
  call void @llvm.lifetime.end.p0(i64 4, ptr %470) #10
  br label %20816

20816:                                            ; preds = %20815
  br label %20817

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

20818:                                            ; No predecessors!
  br label %20819

20819:                                            ; preds = %20818
  br label %20820

20820:                                            ; preds = %20819, %20762
  br label %20821

20821:                                            ; preds = %20820
  br label %20822

20822:                                            ; preds = %20821
  br label %20823

20823:                                            ; preds = %20822
  %20824 = load i32, ptr @test_count, align 4, !tbaa !5
  %20825 = add nsw i32 %20824, 1
  store i32 %20825, ptr @test_count, align 4, !tbaa !5
  %20826 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %469, i32 noundef 0)
  %20827 = icmp eq i32 %20826, -1
  br i1 %20827, label %20828, label %20881

20828:                                            ; preds = %20823
  br label %20829

20829:                                            ; preds = %20828
  br label %20830

20830:                                            ; preds = %20829
  call void @llvm.lifetime.start.p0(i64 4, ptr %471) #10
  %20831 = call ptr @__errno_location() #11
  %20832 = load i32, ptr %20831, align 4, !tbaa !5
  store i32 %20832, ptr %471, align 4, !tbaa !5
  %20833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20834 = call i32 @s2n_print_stacktrace(ptr noundef %20833)
  %20835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20836 = trunc i8 %20835 to i1
  br i1 %20836, label %20837, label %20859

20837:                                            ; preds = %20830
  %20838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20839 = call i32 @fileno(ptr noundef %20838) #10
  %20840 = call i32 @isatty(i32 noundef %20839) #10
  %20841 = icmp ne i32 %20840, 0
  br i1 %20841, label %20842, label %20859

20842:                                            ; preds = %20837
  %20843 = load i32, ptr %471, align 4, !tbaa !5
  %20844 = call ptr @__errno_location() #11
  store i32 %20843, ptr %20844, align 4, !tbaa !5
  %20845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20846 = load i32, ptr @test_count, align 4, !tbaa !5
  %20847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20848 = load i32, ptr %20847, align 4, !tbaa !5
  %20849 = call ptr @s2n_strerror(i32 noundef %20848, ptr noundef @.str.10)
  %20850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20851 = load i32, ptr %20850, align 4, !tbaa !5
  %20852 = call ptr @s2n_strerror_debug(i32 noundef %20851, ptr noundef @.str.10)
  %20853 = call ptr @__errno_location() #11
  %20854 = load i32, ptr %20853, align 4, !tbaa !5
  %20855 = call ptr @strerror(i32 noundef %20854) #10
  %20856 = call ptr @__errno_location() #11
  %20857 = load i32, ptr %20856, align 4, !tbaa !5
  %20858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20845, ptr noundef @.str.8, i32 noundef %20846, ptr noundef @.str.39, ptr noundef @.str.7, i32 noundef 786, ptr noundef %20849, ptr noundef %20852, ptr noundef %20855, i32 noundef %20857) #10
  br label %20876

20859:                                            ; preds = %20837, %20830
  %20860 = load i32, ptr %471, align 4, !tbaa !5
  %20861 = call ptr @__errno_location() #11
  store i32 %20860, ptr %20861, align 4, !tbaa !5
  %20862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20863 = load i32, ptr @test_count, align 4, !tbaa !5
  %20864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20865 = load i32, ptr %20864, align 4, !tbaa !5
  %20866 = call ptr @s2n_strerror(i32 noundef %20865, ptr noundef @.str.10)
  %20867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20868 = load i32, ptr %20867, align 4, !tbaa !5
  %20869 = call ptr @s2n_strerror_debug(i32 noundef %20868, ptr noundef @.str.10)
  %20870 = call ptr @__errno_location() #11
  %20871 = load i32, ptr %20870, align 4, !tbaa !5
  %20872 = call ptr @strerror(i32 noundef %20871) #10
  %20873 = call ptr @__errno_location() #11
  %20874 = load i32, ptr %20873, align 4, !tbaa !5
  %20875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20862, ptr noundef @.str.11, i32 noundef %20863, ptr noundef @.str.39, ptr noundef @.str.7, i32 noundef 786, ptr noundef %20866, ptr noundef %20869, ptr noundef %20872, i32 noundef %20874) #10
  br label %20876

20876:                                            ; preds = %20859, %20842
  call void @llvm.lifetime.end.p0(i64 4, ptr %471) #10
  br label %20877

20877:                                            ; preds = %20876
  br label %20878

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

20879:                                            ; No predecessors!
  br label %20880

20880:                                            ; preds = %20879
  br label %20881

20881:                                            ; preds = %20880, %20823
  br label %20882

20882:                                            ; preds = %20881
  br label %20883

20883:                                            ; preds = %20882
  br label %20884

20884:                                            ; preds = %20883
  %20885 = load i32, ptr @test_count, align 4, !tbaa !5
  %20886 = add nsw i32 %20885, 1
  store i32 %20886, ptr @test_count, align 4, !tbaa !5
  %20887 = load ptr, ptr %463, align 8, !tbaa !9
  %20888 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %469, ptr noundef %468, ptr noundef %20887)
  %20889 = icmp eq i32 %20888, -1
  br i1 %20889, label %20890, label %20943

20890:                                            ; preds = %20884
  br label %20891

20891:                                            ; preds = %20890
  br label %20892

20892:                                            ; preds = %20891
  call void @llvm.lifetime.start.p0(i64 4, ptr %472) #10
  %20893 = call ptr @__errno_location() #11
  %20894 = load i32, ptr %20893, align 4, !tbaa !5
  store i32 %20894, ptr %472, align 4, !tbaa !5
  %20895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20896 = call i32 @s2n_print_stacktrace(ptr noundef %20895)
  %20897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20898 = trunc i8 %20897 to i1
  br i1 %20898, label %20899, label %20921

20899:                                            ; preds = %20892
  %20900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20901 = call i32 @fileno(ptr noundef %20900) #10
  %20902 = call i32 @isatty(i32 noundef %20901) #10
  %20903 = icmp ne i32 %20902, 0
  br i1 %20903, label %20904, label %20921

20904:                                            ; preds = %20899
  %20905 = load i32, ptr %472, align 4, !tbaa !5
  %20906 = call ptr @__errno_location() #11
  store i32 %20905, ptr %20906, align 4, !tbaa !5
  %20907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20908 = load i32, ptr @test_count, align 4, !tbaa !5
  %20909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20910 = load i32, ptr %20909, align 4, !tbaa !5
  %20911 = call ptr @s2n_strerror(i32 noundef %20910, ptr noundef @.str.10)
  %20912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20913 = load i32, ptr %20912, align 4, !tbaa !5
  %20914 = call ptr @s2n_strerror_debug(i32 noundef %20913, ptr noundef @.str.10)
  %20915 = call ptr @__errno_location() #11
  %20916 = load i32, ptr %20915, align 4, !tbaa !5
  %20917 = call ptr @strerror(i32 noundef %20916) #10
  %20918 = call ptr @__errno_location() #11
  %20919 = load i32, ptr %20918, align 4, !tbaa !5
  %20920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20907, ptr noundef @.str.8, i32 noundef %20908, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 787, ptr noundef %20911, ptr noundef %20914, ptr noundef %20917, i32 noundef %20919) #10
  br label %20938

20921:                                            ; preds = %20899, %20892
  %20922 = load i32, ptr %472, align 4, !tbaa !5
  %20923 = call ptr @__errno_location() #11
  store i32 %20922, ptr %20923, align 4, !tbaa !5
  %20924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20925 = load i32, ptr @test_count, align 4, !tbaa !5
  %20926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20927 = load i32, ptr %20926, align 4, !tbaa !5
  %20928 = call ptr @s2n_strerror(i32 noundef %20927, ptr noundef @.str.10)
  %20929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20930 = load i32, ptr %20929, align 4, !tbaa !5
  %20931 = call ptr @s2n_strerror_debug(i32 noundef %20930, ptr noundef @.str.10)
  %20932 = call ptr @__errno_location() #11
  %20933 = load i32, ptr %20932, align 4, !tbaa !5
  %20934 = call ptr @strerror(i32 noundef %20933) #10
  %20935 = call ptr @__errno_location() #11
  %20936 = load i32, ptr %20935, align 4, !tbaa !5
  %20937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20924, ptr noundef @.str.11, i32 noundef %20925, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 787, ptr noundef %20928, ptr noundef %20931, ptr noundef %20934, i32 noundef %20936) #10
  br label %20938

20938:                                            ; preds = %20921, %20904
  call void @llvm.lifetime.end.p0(i64 4, ptr %472) #10
  br label %20939

20939:                                            ; preds = %20938
  br label %20940

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

20941:                                            ; No predecessors!
  br label %20942

20942:                                            ; preds = %20941
  br label %20943

20943:                                            ; preds = %20942, %20884
  br label %20944

20944:                                            ; preds = %20943
  br label %20945

20945:                                            ; preds = %20944
  br label %20946

20946:                                            ; preds = %20945
  %20947 = load i32, ptr @test_count, align 4, !tbaa !5
  %20948 = add nsw i32 %20947, 1
  store i32 %20948, ptr @test_count, align 4, !tbaa !5
  %20949 = load ptr, ptr %463, align 8, !tbaa !9
  %20950 = call i32 @s2n_shutdown_send(ptr noundef %20949, ptr noundef %467)
  %20951 = icmp eq i32 %20950, -1
  br i1 %20951, label %20952, label %21005

20952:                                            ; preds = %20946
  br label %20953

20953:                                            ; preds = %20952
  br label %20954

20954:                                            ; preds = %20953
  call void @llvm.lifetime.start.p0(i64 4, ptr %473) #10
  %20955 = call ptr @__errno_location() #11
  %20956 = load i32, ptr %20955, align 4, !tbaa !5
  store i32 %20956, ptr %473, align 4, !tbaa !5
  %20957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20958 = call i32 @s2n_print_stacktrace(ptr noundef %20957)
  %20959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20960 = trunc i8 %20959 to i1
  br i1 %20960, label %20961, label %20983

20961:                                            ; preds = %20954
  %20962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20963 = call i32 @fileno(ptr noundef %20962) #10
  %20964 = call i32 @isatty(i32 noundef %20963) #10
  %20965 = icmp ne i32 %20964, 0
  br i1 %20965, label %20966, label %20983

20966:                                            ; preds = %20961
  %20967 = load i32, ptr %473, align 4, !tbaa !5
  %20968 = call ptr @__errno_location() #11
  store i32 %20967, ptr %20968, align 4, !tbaa !5
  %20969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20970 = load i32, ptr @test_count, align 4, !tbaa !5
  %20971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20972 = load i32, ptr %20971, align 4, !tbaa !5
  %20973 = call ptr @s2n_strerror(i32 noundef %20972, ptr noundef @.str.10)
  %20974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20975 = load i32, ptr %20974, align 4, !tbaa !5
  %20976 = call ptr @s2n_strerror_debug(i32 noundef %20975, ptr noundef @.str.10)
  %20977 = call ptr @__errno_location() #11
  %20978 = load i32, ptr %20977, align 4, !tbaa !5
  %20979 = call ptr @strerror(i32 noundef %20978) #10
  %20980 = call ptr @__errno_location() #11
  %20981 = load i32, ptr %20980, align 4, !tbaa !5
  %20982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20969, ptr noundef @.str.8, i32 noundef %20970, ptr noundef @.str.110, ptr noundef @.str.7, i32 noundef 790, ptr noundef %20973, ptr noundef %20976, ptr noundef %20979, i32 noundef %20981) #10
  br label %21000

20983:                                            ; preds = %20961, %20954
  %20984 = load i32, ptr %473, align 4, !tbaa !5
  %20985 = call ptr @__errno_location() #11
  store i32 %20984, ptr %20985, align 4, !tbaa !5
  %20986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20987 = load i32, ptr @test_count, align 4, !tbaa !5
  %20988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20989 = load i32, ptr %20988, align 4, !tbaa !5
  %20990 = call ptr @s2n_strerror(i32 noundef %20989, ptr noundef @.str.10)
  %20991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20992 = load i32, ptr %20991, align 4, !tbaa !5
  %20993 = call ptr @s2n_strerror_debug(i32 noundef %20992, ptr noundef @.str.10)
  %20994 = call ptr @__errno_location() #11
  %20995 = load i32, ptr %20994, align 4, !tbaa !5
  %20996 = call ptr @strerror(i32 noundef %20995) #10
  %20997 = call ptr @__errno_location() #11
  %20998 = load i32, ptr %20997, align 4, !tbaa !5
  %20999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20986, ptr noundef @.str.11, i32 noundef %20987, ptr noundef @.str.110, ptr noundef @.str.7, i32 noundef 790, ptr noundef %20990, ptr noundef %20993, ptr noundef %20996, i32 noundef %20998) #10
  br label %21000

21000:                                            ; preds = %20983, %20966
  call void @llvm.lifetime.end.p0(i64 4, ptr %473) #10
  br label %21001

21001:                                            ; preds = %21000
  br label %21002

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

21003:                                            ; No predecessors!
  br label %21004

21004:                                            ; preds = %21003
  br label %21005

21005:                                            ; preds = %21004, %20946
  br label %21006

21006:                                            ; preds = %21005
  br label %21007

21007:                                            ; preds = %21006
  br label %21008

21008:                                            ; preds = %21007
  %21009 = load i32, ptr @test_count, align 4, !tbaa !5
  %21010 = add nsw i32 %21009, 1
  store i32 %21010, ptr @test_count, align 4, !tbaa !5
  %21011 = load i32, ptr %467, align 4, !tbaa !5
  %21012 = icmp eq i32 %21011, 0
  br i1 %21012, label %21066, label %21013

21013:                                            ; preds = %21008
  br label %21014

21014:                                            ; preds = %21013
  br label %21015

21015:                                            ; preds = %21014
  call void @llvm.lifetime.start.p0(i64 4, ptr %474) #10
  %21016 = call ptr @__errno_location() #11
  %21017 = load i32, ptr %21016, align 4, !tbaa !5
  store i32 %21017, ptr %474, align 4, !tbaa !5
  %21018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21019 = call i32 @s2n_print_stacktrace(ptr noundef %21018)
  %21020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21021 = trunc i8 %21020 to i1
  br i1 %21021, label %21022, label %21044

21022:                                            ; preds = %21015
  %21023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21024 = call i32 @fileno(ptr noundef %21023) #10
  %21025 = call i32 @isatty(i32 noundef %21024) #10
  %21026 = icmp ne i32 %21025, 0
  br i1 %21026, label %21027, label %21044

21027:                                            ; preds = %21022
  %21028 = load i32, ptr %474, align 4, !tbaa !5
  %21029 = call ptr @__errno_location() #11
  store i32 %21028, ptr %21029, align 4, !tbaa !5
  %21030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21031 = load i32, ptr @test_count, align 4, !tbaa !5
  %21032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21033 = load i32, ptr %21032, align 4, !tbaa !5
  %21034 = call ptr @s2n_strerror(i32 noundef %21033, ptr noundef @.str.10)
  %21035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21036 = load i32, ptr %21035, align 4, !tbaa !5
  %21037 = call ptr @s2n_strerror_debug(i32 noundef %21036, ptr noundef @.str.10)
  %21038 = call ptr @__errno_location() #11
  %21039 = load i32, ptr %21038, align 4, !tbaa !5
  %21040 = call ptr @strerror(i32 noundef %21039) #10
  %21041 = call ptr @__errno_location() #11
  %21042 = load i32, ptr %21041, align 4, !tbaa !5
  %21043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21030, ptr noundef @.str.8, i32 noundef %21031, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 791, ptr noundef %21034, ptr noundef %21037, ptr noundef %21040, i32 noundef %21042) #10
  br label %21061

21044:                                            ; preds = %21022, %21015
  %21045 = load i32, ptr %474, align 4, !tbaa !5
  %21046 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %21055 = call ptr @__errno_location() #11
  %21056 = load i32, ptr %21055, align 4, !tbaa !5
  %21057 = call ptr @strerror(i32 noundef %21056) #10
  %21058 = call ptr @__errno_location() #11
  %21059 = load i32, ptr %21058, align 4, !tbaa !5
  %21060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21047, ptr noundef @.str.11, i32 noundef %21048, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 791, ptr noundef %21051, ptr noundef %21054, ptr noundef %21057, i32 noundef %21059) #10
  br label %21061

21061:                                            ; preds = %21044, %21027
  call void @llvm.lifetime.end.p0(i64 4, ptr %474) #10
  br label %21062

21062:                                            ; preds = %21061
  br label %21063

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

21064:                                            ; No predecessors!
  br label %21065

21065:                                            ; preds = %21064
  br label %21066

21066:                                            ; preds = %21065, %21008
  br label %21067

21067:                                            ; preds = %21066
  br label %21068

21068:                                            ; preds = %21067
  br label %21069

21069:                                            ; preds = %21068
  %21070 = load i32, ptr @test_count, align 4, !tbaa !5
  %21071 = add nsw i32 %21070, 1
  store i32 %21071, ptr @test_count, align 4, !tbaa !5
  %21072 = load ptr, ptr %463, align 8, !tbaa !9
  %21073 = getelementptr inbounds %struct.s2n_connection, ptr %21072, i32 0, i32 49
  %21074 = load i8, ptr %21073, align 1, !tbaa !16, !range !13, !noundef !14
  %21075 = trunc i8 %21074 to i1
  br i1 %21075, label %21129, label %21076

21076:                                            ; preds = %21069
  br label %21077

21077:                                            ; preds = %21076
  br label %21078

21078:                                            ; preds = %21077
  call void @llvm.lifetime.start.p0(i64 4, ptr %475) #10
  %21079 = call ptr @__errno_location() #11
  %21080 = load i32, ptr %21079, align 4, !tbaa !5
  store i32 %21080, ptr %475, align 4, !tbaa !5
  %21081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21082 = call i32 @s2n_print_stacktrace(ptr noundef %21081)
  %21083 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21084 = trunc i8 %21083 to i1
  br i1 %21084, label %21085, label %21107

21085:                                            ; preds = %21078
  %21086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21087 = call i32 @fileno(ptr noundef %21086) #10
  %21088 = call i32 @isatty(i32 noundef %21087) #10
  %21089 = icmp ne i32 %21088, 0
  br i1 %21089, label %21090, label %21107

21090:                                            ; preds = %21085
  %21091 = load i32, ptr %475, align 4, !tbaa !5
  %21092 = call ptr @__errno_location() #11
  store i32 %21091, ptr %21092, align 4, !tbaa !5
  %21093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21094 = load i32, ptr @test_count, align 4, !tbaa !5
  %21095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21096 = load i32, ptr %21095, align 4, !tbaa !5
  %21097 = call ptr @s2n_strerror(i32 noundef %21096, ptr noundef @.str.10)
  %21098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21099 = load i32, ptr %21098, align 4, !tbaa !5
  %21100 = call ptr @s2n_strerror_debug(i32 noundef %21099, ptr noundef @.str.10)
  %21101 = call ptr @__errno_location() #11
  %21102 = load i32, ptr %21101, align 4, !tbaa !5
  %21103 = call ptr @strerror(i32 noundef %21102) #10
  %21104 = call ptr @__errno_location() #11
  %21105 = load i32, ptr %21104, align 4, !tbaa !5
  %21106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21093, ptr noundef @.str.8, i32 noundef %21094, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 792, ptr noundef %21097, ptr noundef %21100, ptr noundef %21103, i32 noundef %21105) #10
  br label %21124

21107:                                            ; preds = %21085, %21078
  %21108 = load i32, ptr %475, align 4, !tbaa !5
  %21109 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %21118 = call ptr @__errno_location() #11
  %21119 = load i32, ptr %21118, align 4, !tbaa !5
  %21120 = call ptr @strerror(i32 noundef %21119) #10
  %21121 = call ptr @__errno_location() #11
  %21122 = load i32, ptr %21121, align 4, !tbaa !5
  %21123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21110, ptr noundef @.str.11, i32 noundef %21111, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 792, ptr noundef %21114, ptr noundef %21117, ptr noundef %21120, i32 noundef %21122) #10
  br label %21124

21124:                                            ; preds = %21107, %21090
  call void @llvm.lifetime.end.p0(i64 4, ptr %475) #10
  br label %21125

21125:                                            ; preds = %21124
  br label %21126

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

21127:                                            ; No predecessors!
  br label %21128

21128:                                            ; preds = %21127
  br label %21129

21129:                                            ; preds = %21128, %21069
  br label %21130

21130:                                            ; preds = %21129
  br label %21131

21131:                                            ; preds = %21130
  br label %21132

21132:                                            ; preds = %21131
  %21133 = load i32, ptr @test_count, align 4, !tbaa !5
  %21134 = add nsw i32 %21133, 1
  store i32 %21134, ptr @test_count, align 4, !tbaa !5
  %21135 = load ptr, ptr %463, align 8, !tbaa !9
  %21136 = call i32 @s2n_queue_reader_handshake_failure_alert(ptr noundef %21135)
  %21137 = icmp eq i32 %21136, -1
  br i1 %21137, label %21138, label %21191

21138:                                            ; preds = %21132
  br label %21139

21139:                                            ; preds = %21138
  br label %21140

21140:                                            ; preds = %21139
  call void @llvm.lifetime.start.p0(i64 4, ptr %476) #10
  %21141 = call ptr @__errno_location() #11
  %21142 = load i32, ptr %21141, align 4, !tbaa !5
  store i32 %21142, ptr %476, align 4, !tbaa !5
  %21143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21144 = call i32 @s2n_print_stacktrace(ptr noundef %21143)
  %21145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21146 = trunc i8 %21145 to i1
  br i1 %21146, label %21147, label %21169

21147:                                            ; preds = %21140
  %21148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21149 = call i32 @fileno(ptr noundef %21148) #10
  %21150 = call i32 @isatty(i32 noundef %21149) #10
  %21151 = icmp ne i32 %21150, 0
  br i1 %21151, label %21152, label %21169

21152:                                            ; preds = %21147
  %21153 = load i32, ptr %476, align 4, !tbaa !5
  %21154 = call ptr @__errno_location() #11
  store i32 %21153, ptr %21154, align 4, !tbaa !5
  %21155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21156 = load i32, ptr @test_count, align 4, !tbaa !5
  %21157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21158 = load i32, ptr %21157, align 4, !tbaa !5
  %21159 = call ptr @s2n_strerror(i32 noundef %21158, ptr noundef @.str.10)
  %21160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21161 = load i32, ptr %21160, align 4, !tbaa !5
  %21162 = call ptr @s2n_strerror_debug(i32 noundef %21161, ptr noundef @.str.10)
  %21163 = call ptr @__errno_location() #11
  %21164 = load i32, ptr %21163, align 4, !tbaa !5
  %21165 = call ptr @strerror(i32 noundef %21164) #10
  %21166 = call ptr @__errno_location() #11
  %21167 = load i32, ptr %21166, align 4, !tbaa !5
  %21168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21155, ptr noundef @.str.8, i32 noundef %21156, ptr noundef @.str.29, ptr noundef @.str.7, i32 noundef 795, ptr noundef %21159, ptr noundef %21162, ptr noundef %21165, i32 noundef %21167) #10
  br label %21186

21169:                                            ; preds = %21147, %21140
  %21170 = load i32, ptr %476, align 4, !tbaa !5
  %21171 = call ptr @__errno_location() #11
  store i32 %21170, ptr %21171, align 4, !tbaa !5
  %21172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21173 = load i32, ptr @test_count, align 4, !tbaa !5
  %21174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21175 = load i32, ptr %21174, align 4, !tbaa !5
  %21176 = call ptr @s2n_strerror(i32 noundef %21175, ptr noundef @.str.10)
  %21177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21178 = load i32, ptr %21177, align 4, !tbaa !5
  %21179 = call ptr @s2n_strerror_debug(i32 noundef %21178, ptr noundef @.str.10)
  %21180 = call ptr @__errno_location() #11
  %21181 = load i32, ptr %21180, align 4, !tbaa !5
  %21182 = call ptr @strerror(i32 noundef %21181) #10
  %21183 = call ptr @__errno_location() #11
  %21184 = load i32, ptr %21183, align 4, !tbaa !5
  %21185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21172, ptr noundef @.str.11, i32 noundef %21173, ptr noundef @.str.29, ptr noundef @.str.7, i32 noundef 795, ptr noundef %21176, ptr noundef %21179, ptr noundef %21182, i32 noundef %21184) #10
  br label %21186

21186:                                            ; preds = %21169, %21152
  call void @llvm.lifetime.end.p0(i64 4, ptr %476) #10
  br label %21187

21187:                                            ; preds = %21186
  br label %21188

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

21189:                                            ; No predecessors!
  br label %21190

21190:                                            ; preds = %21189
  br label %21191

21191:                                            ; preds = %21190, %21132
  br label %21192

21192:                                            ; preds = %21191
  br label %21193

21193:                                            ; preds = %21192
  br label %21194

21194:                                            ; preds = %21193
  %21195 = load i32, ptr @test_count, align 4, !tbaa !5
  %21196 = add nsw i32 %21195, 1
  store i32 %21196, ptr @test_count, align 4, !tbaa !5
  %21197 = load ptr, ptr %463, align 8, !tbaa !9
  %21198 = call i32 @s2n_shutdown(ptr noundef %21197, ptr noundef %467)
  %21199 = icmp eq i32 %21198, -1
  br i1 %21199, label %21200, label %21253

21200:                                            ; preds = %21194
  br label %21201

21201:                                            ; preds = %21200
  br label %21202

21202:                                            ; preds = %21201
  call void @llvm.lifetime.start.p0(i64 4, ptr %477) #10
  %21203 = call ptr @__errno_location() #11
  %21204 = load i32, ptr %21203, align 4, !tbaa !5
  store i32 %21204, ptr %477, align 4, !tbaa !5
  %21205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21206 = call i32 @s2n_print_stacktrace(ptr noundef %21205)
  %21207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21208 = trunc i8 %21207 to i1
  br i1 %21208, label %21209, label %21231

21209:                                            ; preds = %21202
  %21210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21211 = call i32 @fileno(ptr noundef %21210) #10
  %21212 = call i32 @isatty(i32 noundef %21211) #10
  %21213 = icmp ne i32 %21212, 0
  br i1 %21213, label %21214, label %21231

21214:                                            ; preds = %21209
  %21215 = load i32, ptr %477, align 4, !tbaa !5
  %21216 = call ptr @__errno_location() #11
  store i32 %21215, ptr %21216, align 4, !tbaa !5
  %21217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21218 = load i32, ptr @test_count, align 4, !tbaa !5
  %21219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21220 = load i32, ptr %21219, align 4, !tbaa !5
  %21221 = call ptr @s2n_strerror(i32 noundef %21220, ptr noundef @.str.10)
  %21222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21223 = load i32, ptr %21222, align 4, !tbaa !5
  %21224 = call ptr @s2n_strerror_debug(i32 noundef %21223, ptr noundef @.str.10)
  %21225 = call ptr @__errno_location() #11
  %21226 = load i32, ptr %21225, align 4, !tbaa !5
  %21227 = call ptr @strerror(i32 noundef %21226) #10
  %21228 = call ptr @__errno_location() #11
  %21229 = load i32, ptr %21228, align 4, !tbaa !5
  %21230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21217, ptr noundef @.str.8, i32 noundef %21218, ptr noundef @.str.30, ptr noundef @.str.7, i32 noundef 798, ptr noundef %21221, ptr noundef %21224, ptr noundef %21227, i32 noundef %21229) #10
  br label %21248

21231:                                            ; preds = %21209, %21202
  %21232 = load i32, ptr %477, align 4, !tbaa !5
  %21233 = call ptr @__errno_location() #11
  store i32 %21232, ptr %21233, align 4, !tbaa !5
  %21234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21235 = load i32, ptr @test_count, align 4, !tbaa !5
  %21236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21237 = load i32, ptr %21236, align 4, !tbaa !5
  %21238 = call ptr @s2n_strerror(i32 noundef %21237, ptr noundef @.str.10)
  %21239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21240 = load i32, ptr %21239, align 4, !tbaa !5
  %21241 = call ptr @s2n_strerror_debug(i32 noundef %21240, ptr noundef @.str.10)
  %21242 = call ptr @__errno_location() #11
  %21243 = load i32, ptr %21242, align 4, !tbaa !5
  %21244 = call ptr @strerror(i32 noundef %21243) #10
  %21245 = call ptr @__errno_location() #11
  %21246 = load i32, ptr %21245, align 4, !tbaa !5
  %21247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21234, ptr noundef @.str.11, i32 noundef %21235, ptr noundef @.str.30, ptr noundef @.str.7, i32 noundef 798, ptr noundef %21238, ptr noundef %21241, ptr noundef %21244, i32 noundef %21246) #10
  br label %21248

21248:                                            ; preds = %21231, %21214
  call void @llvm.lifetime.end.p0(i64 4, ptr %477) #10
  br label %21249

21249:                                            ; preds = %21248
  br label %21250

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

21251:                                            ; No predecessors!
  br label %21252

21252:                                            ; preds = %21251
  br label %21253

21253:                                            ; preds = %21252, %21194
  br label %21254

21254:                                            ; preds = %21253
  br label %21255

21255:                                            ; preds = %21254
  br label %21256

21256:                                            ; preds = %21255
  %21257 = load i32, ptr @test_count, align 4, !tbaa !5
  %21258 = add nsw i32 %21257, 1
  store i32 %21258, ptr @test_count, align 4, !tbaa !5
  %21259 = load ptr, ptr %463, align 8, !tbaa !9
  %21260 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %21259, i32 noundef 3)
  br i1 %21260, label %21314, label %21261

21261:                                            ; preds = %21256
  br label %21262

21262:                                            ; preds = %21261
  br label %21263

21263:                                            ; preds = %21262
  call void @llvm.lifetime.start.p0(i64 4, ptr %478) #10
  %21264 = call ptr @__errno_location() #11
  %21265 = load i32, ptr %21264, align 4, !tbaa !5
  store i32 %21265, ptr %478, align 4, !tbaa !5
  %21266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21267 = call i32 @s2n_print_stacktrace(ptr noundef %21266)
  %21268 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21269 = trunc i8 %21268 to i1
  br i1 %21269, label %21270, label %21292

21270:                                            ; preds = %21263
  %21271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21272 = call i32 @fileno(ptr noundef %21271) #10
  %21273 = call i32 @isatty(i32 noundef %21272) #10
  %21274 = icmp ne i32 %21273, 0
  br i1 %21274, label %21275, label %21292

21275:                                            ; preds = %21270
  %21276 = load i32, ptr %478, align 4, !tbaa !5
  %21277 = call ptr @__errno_location() #11
  store i32 %21276, ptr %21277, align 4, !tbaa !5
  %21278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21279 = load i32, ptr @test_count, align 4, !tbaa !5
  %21280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21281 = load i32, ptr %21280, align 4, !tbaa !5
  %21282 = call ptr @s2n_strerror(i32 noundef %21281, ptr noundef @.str.10)
  %21283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21284 = load i32, ptr %21283, align 4, !tbaa !5
  %21285 = call ptr @s2n_strerror_debug(i32 noundef %21284, ptr noundef @.str.10)
  %21286 = call ptr @__errno_location() #11
  %21287 = load i32, ptr %21286, align 4, !tbaa !5
  %21288 = call ptr @strerror(i32 noundef %21287) #10
  %21289 = call ptr @__errno_location() #11
  %21290 = load i32, ptr %21289, align 4, !tbaa !5
  %21291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21278, ptr noundef @.str.8, i32 noundef %21279, ptr noundef @.str.32, ptr noundef @.str.7, i32 noundef 799, ptr noundef %21282, ptr noundef %21285, ptr noundef %21288, i32 noundef %21290) #10
  br label %21309

21292:                                            ; preds = %21270, %21263
  %21293 = load i32, ptr %478, align 4, !tbaa !5
  %21294 = call ptr @__errno_location() #11
  store i32 %21293, ptr %21294, align 4, !tbaa !5
  %21295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21296 = load i32, ptr @test_count, align 4, !tbaa !5
  %21297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21298 = load i32, ptr %21297, align 4, !tbaa !5
  %21299 = call ptr @s2n_strerror(i32 noundef %21298, ptr noundef @.str.10)
  %21300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21301 = load i32, ptr %21300, align 4, !tbaa !5
  %21302 = call ptr @s2n_strerror_debug(i32 noundef %21301, ptr noundef @.str.10)
  %21303 = call ptr @__errno_location() #11
  %21304 = load i32, ptr %21303, align 4, !tbaa !5
  %21305 = call ptr @strerror(i32 noundef %21304) #10
  %21306 = call ptr @__errno_location() #11
  %21307 = load i32, ptr %21306, align 4, !tbaa !5
  %21308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21295, ptr noundef @.str.11, i32 noundef %21296, ptr noundef @.str.32, ptr noundef @.str.7, i32 noundef 799, ptr noundef %21299, ptr noundef %21302, ptr noundef %21305, i32 noundef %21307) #10
  br label %21309

21309:                                            ; preds = %21292, %21275
  call void @llvm.lifetime.end.p0(i64 4, ptr %478) #10
  br label %21310

21310:                                            ; preds = %21309
  br label %21311

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

21312:                                            ; No predecessors!
  br label %21313

21313:                                            ; preds = %21312
  br label %21314

21314:                                            ; preds = %21313, %21256
  br label %21315

21315:                                            ; preds = %21314
  br label %21316

21316:                                            ; preds = %21315
  br label %21317

21317:                                            ; preds = %21316
  %21318 = load i32, ptr @test_count, align 4, !tbaa !5
  %21319 = add nsw i32 %21318, 1
  store i32 %21319, ptr @test_count, align 4, !tbaa !5
  %21320 = load ptr, ptr %463, align 8, !tbaa !9
  %21321 = getelementptr inbounds %struct.s2n_connection, ptr %21320, i32 0, i32 51
  %21322 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %21321)
  br i1 %21322, label %21323, label %21376

21323:                                            ; preds = %21317
  br label %21324

21324:                                            ; preds = %21323
  br label %21325

21325:                                            ; preds = %21324
  call void @llvm.lifetime.start.p0(i64 4, ptr %479) #10
  %21326 = call ptr @__errno_location() #11
  %21327 = load i32, ptr %21326, align 4, !tbaa !5
  store i32 %21327, ptr %479, align 4, !tbaa !5
  %21328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21329 = call i32 @s2n_print_stacktrace(ptr noundef %21328)
  %21330 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21331 = trunc i8 %21330 to i1
  br i1 %21331, label %21332, label %21354

21332:                                            ; preds = %21325
  %21333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21334 = call i32 @fileno(ptr noundef %21333) #10
  %21335 = call i32 @isatty(i32 noundef %21334) #10
  %21336 = icmp ne i32 %21335, 0
  br i1 %21336, label %21337, label %21354

21337:                                            ; preds = %21332
  %21338 = load i32, ptr %479, align 4, !tbaa !5
  %21339 = call ptr @__errno_location() #11
  store i32 %21338, ptr %21339, align 4, !tbaa !5
  %21340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21341 = load i32, ptr @test_count, align 4, !tbaa !5
  %21342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21343 = load i32, ptr %21342, align 4, !tbaa !5
  %21344 = call ptr @s2n_strerror(i32 noundef %21343, ptr noundef @.str.10)
  %21345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21346 = load i32, ptr %21345, align 4, !tbaa !5
  %21347 = call ptr @s2n_strerror_debug(i32 noundef %21346, ptr noundef @.str.10)
  %21348 = call ptr @__errno_location() #11
  %21349 = load i32, ptr %21348, align 4, !tbaa !5
  %21350 = call ptr @strerror(i32 noundef %21349) #10
  %21351 = call ptr @__errno_location() #11
  %21352 = load i32, ptr %21351, align 4, !tbaa !5
  %21353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21340, ptr noundef @.str.8, i32 noundef %21341, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 800, ptr noundef %21344, ptr noundef %21347, ptr noundef %21350, i32 noundef %21352) #10
  br label %21371

21354:                                            ; preds = %21332, %21325
  %21355 = load i32, ptr %479, align 4, !tbaa !5
  %21356 = call ptr @__errno_location() #11
  store i32 %21355, ptr %21356, align 4, !tbaa !5
  %21357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21358 = load i32, ptr @test_count, align 4, !tbaa !5
  %21359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21360 = load i32, ptr %21359, align 4, !tbaa !5
  %21361 = call ptr @s2n_strerror(i32 noundef %21360, ptr noundef @.str.10)
  %21362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21363 = load i32, ptr %21362, align 4, !tbaa !5
  %21364 = call ptr @s2n_strerror_debug(i32 noundef %21363, ptr noundef @.str.10)
  %21365 = call ptr @__errno_location() #11
  %21366 = load i32, ptr %21365, align 4, !tbaa !5
  %21367 = call ptr @strerror(i32 noundef %21366) #10
  %21368 = call ptr @__errno_location() #11
  %21369 = load i32, ptr %21368, align 4, !tbaa !5
  %21370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21357, ptr noundef @.str.11, i32 noundef %21358, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 800, ptr noundef %21361, ptr noundef %21364, ptr noundef %21367, i32 noundef %21369) #10
  br label %21371

21371:                                            ; preds = %21354, %21337
  call void @llvm.lifetime.end.p0(i64 4, ptr %479) #10
  br label %21372

21372:                                            ; preds = %21371
  br label %21373

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

21374:                                            ; No predecessors!
  br label %21375

21375:                                            ; preds = %21374
  br label %21376

21376:                                            ; preds = %21375, %21317
  br label %21377

21377:                                            ; preds = %21376
  br label %21378

21378:                                            ; preds = %21377
  %21379 = call i32 @s2n_stuffer_free(ptr noundef %469)
  call void @llvm.lifetime.end.p0(i64 40, ptr %469) #10
  %21380 = call i32 @s2n_stuffer_free(ptr noundef %468)
  call void @llvm.lifetime.end.p0(i64 40, ptr %468) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %467) #10
  %21381 = call i32 @s2n_connection_ptr_free(ptr noundef %463)
  %21382 = getelementptr inbounds %struct.s2n_result, ptr %480, i32 0, i32 0
  store i32 %21381, ptr %21382, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %463) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %481) #10
  %21383 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %21383, ptr %481, align 8, !tbaa !9
  br label %21384

21384:                                            ; preds = %21378
  %21385 = load i32, ptr @test_count, align 4, !tbaa !5
  %21386 = add nsw i32 %21385, 1
  store i32 %21386, ptr @test_count, align 4, !tbaa !5
  %21387 = load ptr, ptr %481, align 8, !tbaa !9
  %21388 = icmp eq ptr %21387, null
  br i1 %21388, label %21389, label %21442

21389:                                            ; preds = %21384
  br label %21390

21390:                                            ; preds = %21389
  br label %21391

21391:                                            ; preds = %21390
  call void @llvm.lifetime.start.p0(i64 4, ptr %482) #10
  %21392 = call ptr @__errno_location() #11
  %21393 = load i32, ptr %21392, align 4, !tbaa !5
  store i32 %21393, ptr %482, align 4, !tbaa !5
  %21394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21395 = call i32 @s2n_print_stacktrace(ptr noundef %21394)
  %21396 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21397 = trunc i8 %21396 to i1
  br i1 %21397, label %21398, label %21420

21398:                                            ; preds = %21391
  %21399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21400 = call i32 @fileno(ptr noundef %21399) #10
  %21401 = call i32 @isatty(i32 noundef %21400) #10
  %21402 = icmp ne i32 %21401, 0
  br i1 %21402, label %21403, label %21420

21403:                                            ; preds = %21398
  %21404 = load i32, ptr %482, align 4, !tbaa !5
  %21405 = call ptr @__errno_location() #11
  store i32 %21404, ptr %21405, align 4, !tbaa !5
  %21406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21407 = load i32, ptr @test_count, align 4, !tbaa !5
  %21408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21409 = load i32, ptr %21408, align 4, !tbaa !5
  %21410 = call ptr @s2n_strerror(i32 noundef %21409, ptr noundef @.str.10)
  %21411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21412 = load i32, ptr %21411, align 4, !tbaa !5
  %21413 = call ptr @s2n_strerror_debug(i32 noundef %21412, ptr noundef @.str.10)
  %21414 = call ptr @__errno_location() #11
  %21415 = load i32, ptr %21414, align 4, !tbaa !5
  %21416 = call ptr @strerror(i32 noundef %21415) #10
  %21417 = call ptr @__errno_location() #11
  %21418 = load i32, ptr %21417, align 4, !tbaa !5
  %21419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21406, ptr noundef @.str.8, i32 noundef %21407, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 807, ptr noundef %21410, ptr noundef %21413, ptr noundef %21416, i32 noundef %21418) #10
  br label %21437

21420:                                            ; preds = %21398, %21391
  %21421 = load i32, ptr %482, align 4, !tbaa !5
  %21422 = call ptr @__errno_location() #11
  store i32 %21421, ptr %21422, align 4, !tbaa !5
  %21423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21424 = load i32, ptr @test_count, align 4, !tbaa !5
  %21425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21426 = load i32, ptr %21425, align 4, !tbaa !5
  %21427 = call ptr @s2n_strerror(i32 noundef %21426, ptr noundef @.str.10)
  %21428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21429 = load i32, ptr %21428, align 4, !tbaa !5
  %21430 = call ptr @s2n_strerror_debug(i32 noundef %21429, ptr noundef @.str.10)
  %21431 = call ptr @__errno_location() #11
  %21432 = load i32, ptr %21431, align 4, !tbaa !5
  %21433 = call ptr @strerror(i32 noundef %21432) #10
  %21434 = call ptr @__errno_location() #11
  %21435 = load i32, ptr %21434, align 4, !tbaa !5
  %21436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21423, ptr noundef @.str.11, i32 noundef %21424, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 807, ptr noundef %21427, ptr noundef %21430, ptr noundef %21433, i32 noundef %21435) #10
  br label %21437

21437:                                            ; preds = %21420, %21403
  call void @llvm.lifetime.end.p0(i64 4, ptr %482) #10
  br label %21438

21438:                                            ; preds = %21437
  br label %21439

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

21440:                                            ; No predecessors!
  br label %21441

21441:                                            ; preds = %21440
  br label %21442

21442:                                            ; preds = %21441, %21384
  br label %21443

21443:                                            ; preds = %21442
  br label %21444

21444:                                            ; preds = %21443
  br label %21445

21445:                                            ; preds = %21444
  %21446 = load i32, ptr @test_count, align 4, !tbaa !5
  %21447 = add nsw i32 %21446, 1
  store i32 %21447, ptr @test_count, align 4, !tbaa !5
  %21448 = load ptr, ptr %481, align 8, !tbaa !9
  %21449 = call i32 @s2n_skip_handshake(ptr noundef %21448)
  %21450 = getelementptr inbounds %struct.s2n_result, ptr %483, i32 0, i32 0
  store i32 %21449, ptr %21450, align 4
  %21451 = getelementptr inbounds %struct.s2n_result, ptr %483, i32 0, i32 0
  %21452 = load i32, ptr %21451, align 4
  %21453 = call zeroext i1 @s2n_result_is_ok(i32 %21452)
  br i1 %21453, label %21507, label %21454

21454:                                            ; preds = %21445
  br label %21455

21455:                                            ; preds = %21454
  br label %21456

21456:                                            ; preds = %21455
  call void @llvm.lifetime.start.p0(i64 4, ptr %484) #10
  %21457 = call ptr @__errno_location() #11
  %21458 = load i32, ptr %21457, align 4, !tbaa !5
  store i32 %21458, ptr %484, align 4, !tbaa !5
  %21459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21460 = call i32 @s2n_print_stacktrace(ptr noundef %21459)
  %21461 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21462 = trunc i8 %21461 to i1
  br i1 %21462, label %21463, label %21485

21463:                                            ; preds = %21456
  %21464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21465 = call i32 @fileno(ptr noundef %21464) #10
  %21466 = call i32 @isatty(i32 noundef %21465) #10
  %21467 = icmp ne i32 %21466, 0
  br i1 %21467, label %21468, label %21485

21468:                                            ; preds = %21463
  %21469 = load i32, ptr %484, align 4, !tbaa !5
  %21470 = call ptr @__errno_location() #11
  store i32 %21469, ptr %21470, align 4, !tbaa !5
  %21471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21472 = load i32, ptr @test_count, align 4, !tbaa !5
  %21473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21474 = load i32, ptr %21473, align 4, !tbaa !5
  %21475 = call ptr @s2n_strerror(i32 noundef %21474, ptr noundef @.str.10)
  %21476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21477 = load i32, ptr %21476, align 4, !tbaa !5
  %21478 = call ptr @s2n_strerror_debug(i32 noundef %21477, ptr noundef @.str.10)
  %21479 = call ptr @__errno_location() #11
  %21480 = load i32, ptr %21479, align 4, !tbaa !5
  %21481 = call ptr @strerror(i32 noundef %21480) #10
  %21482 = call ptr @__errno_location() #11
  %21483 = load i32, ptr %21482, align 4, !tbaa !5
  %21484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21471, ptr noundef @.str.8, i32 noundef %21472, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 808, ptr noundef %21475, ptr noundef %21478, ptr noundef %21481, i32 noundef %21483) #10
  br label %21502

21485:                                            ; preds = %21463, %21456
  %21486 = load i32, ptr %484, align 4, !tbaa !5
  %21487 = call ptr @__errno_location() #11
  store i32 %21486, ptr %21487, align 4, !tbaa !5
  %21488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21489 = load i32, ptr @test_count, align 4, !tbaa !5
  %21490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21491 = load i32, ptr %21490, align 4, !tbaa !5
  %21492 = call ptr @s2n_strerror(i32 noundef %21491, ptr noundef @.str.10)
  %21493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21494 = load i32, ptr %21493, align 4, !tbaa !5
  %21495 = call ptr @s2n_strerror_debug(i32 noundef %21494, ptr noundef @.str.10)
  %21496 = call ptr @__errno_location() #11
  %21497 = load i32, ptr %21496, align 4, !tbaa !5
  %21498 = call ptr @strerror(i32 noundef %21497) #10
  %21499 = call ptr @__errno_location() #11
  %21500 = load i32, ptr %21499, align 4, !tbaa !5
  %21501 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21488, ptr noundef @.str.11, i32 noundef %21489, ptr noundef @.str.22, ptr noundef @.str.7, i32 noundef 808, ptr noundef %21492, ptr noundef %21495, ptr noundef %21498, i32 noundef %21500) #10
  br label %21502

21502:                                            ; preds = %21485, %21468
  call void @llvm.lifetime.end.p0(i64 4, ptr %484) #10
  br label %21503

21503:                                            ; preds = %21502
  br label %21504

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

21505:                                            ; No predecessors!
  br label %21506

21506:                                            ; preds = %21505
  br label %21507

21507:                                            ; preds = %21506, %21445
  br label %21508

21508:                                            ; preds = %21507
  br label %21509

21509:                                            ; preds = %21508
  call void @llvm.lifetime.start.p0(i64 4, ptr %485) #10
  store i32 0, ptr %485, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr %486) #10
  call void @llvm.memset.p0.i64(ptr align 8 %486, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %487) #10
  call void @llvm.memset.p0.i64(ptr align 8 %487, i8 0, i64 40, i1 false)
  br label %21510

21510:                                            ; preds = %21509
  %21511 = load i32, ptr @test_count, align 4, !tbaa !5
  %21512 = add nsw i32 %21511, 1
  store i32 %21512, ptr @test_count, align 4, !tbaa !5
  %21513 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %486, i32 noundef 0)
  %21514 = icmp eq i32 %21513, -1
  br i1 %21514, label %21515, label %21568

21515:                                            ; preds = %21510
  br label %21516

21516:                                            ; preds = %21515
  br label %21517

21517:                                            ; preds = %21516
  call void @llvm.lifetime.start.p0(i64 4, ptr %488) #10
  %21518 = call ptr @__errno_location() #11
  %21519 = load i32, ptr %21518, align 4, !tbaa !5
  store i32 %21519, ptr %488, align 4, !tbaa !5
  %21520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21521 = call i32 @s2n_print_stacktrace(ptr noundef %21520)
  %21522 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21523 = trunc i8 %21522 to i1
  br i1 %21523, label %21524, label %21546

21524:                                            ; preds = %21517
  %21525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21526 = call i32 @fileno(ptr noundef %21525) #10
  %21527 = call i32 @isatty(i32 noundef %21526) #10
  %21528 = icmp ne i32 %21527, 0
  br i1 %21528, label %21529, label %21546

21529:                                            ; preds = %21524
  %21530 = load i32, ptr %488, align 4, !tbaa !5
  %21531 = call ptr @__errno_location() #11
  store i32 %21530, ptr %21531, align 4, !tbaa !5
  %21532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21533 = load i32, ptr @test_count, align 4, !tbaa !5
  %21534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21535 = load i32, ptr %21534, align 4, !tbaa !5
  %21536 = call ptr @s2n_strerror(i32 noundef %21535, ptr noundef @.str.10)
  %21537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21538 = load i32, ptr %21537, align 4, !tbaa !5
  %21539 = call ptr @s2n_strerror_debug(i32 noundef %21538, ptr noundef @.str.10)
  %21540 = call ptr @__errno_location() #11
  %21541 = load i32, ptr %21540, align 4, !tbaa !5
  %21542 = call ptr @strerror(i32 noundef %21541) #10
  %21543 = call ptr @__errno_location() #11
  %21544 = load i32, ptr %21543, align 4, !tbaa !5
  %21545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21532, ptr noundef @.str.8, i32 noundef %21533, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 814, ptr noundef %21536, ptr noundef %21539, ptr noundef %21542, i32 noundef %21544) #10
  br label %21563

21546:                                            ; preds = %21524, %21517
  %21547 = load i32, ptr %488, align 4, !tbaa !5
  %21548 = call ptr @__errno_location() #11
  store i32 %21547, ptr %21548, align 4, !tbaa !5
  %21549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21550 = load i32, ptr @test_count, align 4, !tbaa !5
  %21551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21552 = load i32, ptr %21551, align 4, !tbaa !5
  %21553 = call ptr @s2n_strerror(i32 noundef %21552, ptr noundef @.str.10)
  %21554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21555 = load i32, ptr %21554, align 4, !tbaa !5
  %21556 = call ptr @s2n_strerror_debug(i32 noundef %21555, ptr noundef @.str.10)
  %21557 = call ptr @__errno_location() #11
  %21558 = load i32, ptr %21557, align 4, !tbaa !5
  %21559 = call ptr @strerror(i32 noundef %21558) #10
  %21560 = call ptr @__errno_location() #11
  %21561 = load i32, ptr %21560, align 4, !tbaa !5
  %21562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21549, ptr noundef @.str.11, i32 noundef %21550, ptr noundef @.str.23, ptr noundef @.str.7, i32 noundef 814, ptr noundef %21553, ptr noundef %21556, ptr noundef %21559, i32 noundef %21561) #10
  br label %21563

21563:                                            ; preds = %21546, %21529
  call void @llvm.lifetime.end.p0(i64 4, ptr %488) #10
  br label %21564

21564:                                            ; preds = %21563
  br label %21565

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

21566:                                            ; No predecessors!
  br label %21567

21567:                                            ; preds = %21566
  br label %21568

21568:                                            ; preds = %21567, %21510
  br label %21569

21569:                                            ; preds = %21568
  br label %21570

21570:                                            ; preds = %21569
  br label %21571

21571:                                            ; preds = %21570
  %21572 = load i32, ptr @test_count, align 4, !tbaa !5
  %21573 = add nsw i32 %21572, 1
  store i32 %21573, ptr @test_count, align 4, !tbaa !5
  %21574 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %487, i32 noundef 0)
  %21575 = icmp eq i32 %21574, -1
  br i1 %21575, label %21576, label %21629

21576:                                            ; preds = %21571
  br label %21577

21577:                                            ; preds = %21576
  br label %21578

21578:                                            ; preds = %21577
  call void @llvm.lifetime.start.p0(i64 4, ptr %489) #10
  %21579 = call ptr @__errno_location() #11
  %21580 = load i32, ptr %21579, align 4, !tbaa !5
  store i32 %21580, ptr %489, align 4, !tbaa !5
  %21581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21582 = call i32 @s2n_print_stacktrace(ptr noundef %21581)
  %21583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21584 = trunc i8 %21583 to i1
  br i1 %21584, label %21585, label %21607

21585:                                            ; preds = %21578
  %21586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21587 = call i32 @fileno(ptr noundef %21586) #10
  %21588 = call i32 @isatty(i32 noundef %21587) #10
  %21589 = icmp ne i32 %21588, 0
  br i1 %21589, label %21590, label %21607

21590:                                            ; preds = %21585
  %21591 = load i32, ptr %489, align 4, !tbaa !5
  %21592 = call ptr @__errno_location() #11
  store i32 %21591, ptr %21592, align 4, !tbaa !5
  %21593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21594 = load i32, ptr @test_count, align 4, !tbaa !5
  %21595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21596 = load i32, ptr %21595, align 4, !tbaa !5
  %21597 = call ptr @s2n_strerror(i32 noundef %21596, ptr noundef @.str.10)
  %21598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21599 = load i32, ptr %21598, align 4, !tbaa !5
  %21600 = call ptr @s2n_strerror_debug(i32 noundef %21599, ptr noundef @.str.10)
  %21601 = call ptr @__errno_location() #11
  %21602 = load i32, ptr %21601, align 4, !tbaa !5
  %21603 = call ptr @strerror(i32 noundef %21602) #10
  %21604 = call ptr @__errno_location() #11
  %21605 = load i32, ptr %21604, align 4, !tbaa !5
  %21606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21593, ptr noundef @.str.8, i32 noundef %21594, ptr noundef @.str.39, ptr noundef @.str.7, i32 noundef 815, ptr noundef %21597, ptr noundef %21600, ptr noundef %21603, i32 noundef %21605) #10
  br label %21624

21607:                                            ; preds = %21585, %21578
  %21608 = load i32, ptr %489, align 4, !tbaa !5
  %21609 = call ptr @__errno_location() #11
  store i32 %21608, ptr %21609, align 4, !tbaa !5
  %21610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21611 = load i32, ptr @test_count, align 4, !tbaa !5
  %21612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21613 = load i32, ptr %21612, align 4, !tbaa !5
  %21614 = call ptr @s2n_strerror(i32 noundef %21613, ptr noundef @.str.10)
  %21615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21616 = load i32, ptr %21615, align 4, !tbaa !5
  %21617 = call ptr @s2n_strerror_debug(i32 noundef %21616, ptr noundef @.str.10)
  %21618 = call ptr @__errno_location() #11
  %21619 = load i32, ptr %21618, align 4, !tbaa !5
  %21620 = call ptr @strerror(i32 noundef %21619) #10
  %21621 = call ptr @__errno_location() #11
  %21622 = load i32, ptr %21621, align 4, !tbaa !5
  %21623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21610, ptr noundef @.str.11, i32 noundef %21611, ptr noundef @.str.39, ptr noundef @.str.7, i32 noundef 815, ptr noundef %21614, ptr noundef %21617, ptr noundef %21620, i32 noundef %21622) #10
  br label %21624

21624:                                            ; preds = %21607, %21590
  call void @llvm.lifetime.end.p0(i64 4, ptr %489) #10
  br label %21625

21625:                                            ; preds = %21624
  br label %21626

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

21627:                                            ; No predecessors!
  br label %21628

21628:                                            ; preds = %21627
  br label %21629

21629:                                            ; preds = %21628, %21571
  br label %21630

21630:                                            ; preds = %21629
  br label %21631

21631:                                            ; preds = %21630
  br label %21632

21632:                                            ; preds = %21631
  %21633 = load i32, ptr @test_count, align 4, !tbaa !5
  %21634 = add nsw i32 %21633, 1
  store i32 %21634, ptr @test_count, align 4, !tbaa !5
  %21635 = load ptr, ptr %481, align 8, !tbaa !9
  %21636 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %487, ptr noundef %486, ptr noundef %21635)
  %21637 = icmp eq i32 %21636, -1
  br i1 %21637, label %21638, label %21691

21638:                                            ; preds = %21632
  br label %21639

21639:                                            ; preds = %21638
  br label %21640

21640:                                            ; preds = %21639
  call void @llvm.lifetime.start.p0(i64 4, ptr %490) #10
  %21641 = call ptr @__errno_location() #11
  %21642 = load i32, ptr %21641, align 4, !tbaa !5
  store i32 %21642, ptr %490, align 4, !tbaa !5
  %21643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21644 = call i32 @s2n_print_stacktrace(ptr noundef %21643)
  %21645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21646 = trunc i8 %21645 to i1
  br i1 %21646, label %21647, label %21669

21647:                                            ; preds = %21640
  %21648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21649 = call i32 @fileno(ptr noundef %21648) #10
  %21650 = call i32 @isatty(i32 noundef %21649) #10
  %21651 = icmp ne i32 %21650, 0
  br i1 %21651, label %21652, label %21669

21652:                                            ; preds = %21647
  %21653 = load i32, ptr %490, align 4, !tbaa !5
  %21654 = call ptr @__errno_location() #11
  store i32 %21653, ptr %21654, align 4, !tbaa !5
  %21655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21656 = load i32, ptr @test_count, align 4, !tbaa !5
  %21657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21658 = load i32, ptr %21657, align 4, !tbaa !5
  %21659 = call ptr @s2n_strerror(i32 noundef %21658, ptr noundef @.str.10)
  %21660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21661 = load i32, ptr %21660, align 4, !tbaa !5
  %21662 = call ptr @s2n_strerror_debug(i32 noundef %21661, ptr noundef @.str.10)
  %21663 = call ptr @__errno_location() #11
  %21664 = load i32, ptr %21663, align 4, !tbaa !5
  %21665 = call ptr @strerror(i32 noundef %21664) #10
  %21666 = call ptr @__errno_location() #11
  %21667 = load i32, ptr %21666, align 4, !tbaa !5
  %21668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21655, ptr noundef @.str.8, i32 noundef %21656, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 816, ptr noundef %21659, ptr noundef %21662, ptr noundef %21665, i32 noundef %21667) #10
  br label %21686

21669:                                            ; preds = %21647, %21640
  %21670 = load i32, ptr %490, align 4, !tbaa !5
  %21671 = call ptr @__errno_location() #11
  store i32 %21670, ptr %21671, align 4, !tbaa !5
  %21672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21673 = load i32, ptr @test_count, align 4, !tbaa !5
  %21674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21675 = load i32, ptr %21674, align 4, !tbaa !5
  %21676 = call ptr @s2n_strerror(i32 noundef %21675, ptr noundef @.str.10)
  %21677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21678 = load i32, ptr %21677, align 4, !tbaa !5
  %21679 = call ptr @s2n_strerror_debug(i32 noundef %21678, ptr noundef @.str.10)
  %21680 = call ptr @__errno_location() #11
  %21681 = load i32, ptr %21680, align 4, !tbaa !5
  %21682 = call ptr @strerror(i32 noundef %21681) #10
  %21683 = call ptr @__errno_location() #11
  %21684 = load i32, ptr %21683, align 4, !tbaa !5
  %21685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21672, ptr noundef @.str.11, i32 noundef %21673, ptr noundef @.str.40, ptr noundef @.str.7, i32 noundef 816, ptr noundef %21676, ptr noundef %21679, ptr noundef %21682, i32 noundef %21684) #10
  br label %21686

21686:                                            ; preds = %21669, %21652
  call void @llvm.lifetime.end.p0(i64 4, ptr %490) #10
  br label %21687

21687:                                            ; preds = %21686
  br label %21688

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

21689:                                            ; No predecessors!
  br label %21690

21690:                                            ; preds = %21689
  br label %21691

21691:                                            ; preds = %21690, %21632
  br label %21692

21692:                                            ; preds = %21691
  br label %21693

21693:                                            ; preds = %21692
  br label %21694

21694:                                            ; preds = %21693
  %21695 = load i32, ptr @test_count, align 4, !tbaa !5
  %21696 = add nsw i32 %21695, 1
  store i32 %21696, ptr @test_count, align 4, !tbaa !5
  %21697 = load ptr, ptr %481, align 8, !tbaa !9
  %21698 = call i32 @s2n_shutdown_send(ptr noundef %21697, ptr noundef %485)
  %21699 = icmp eq i32 %21698, -1
  br i1 %21699, label %21700, label %21753

21700:                                            ; preds = %21694
  br label %21701

21701:                                            ; preds = %21700
  br label %21702

21702:                                            ; preds = %21701
  call void @llvm.lifetime.start.p0(i64 4, ptr %491) #10
  %21703 = call ptr @__errno_location() #11
  %21704 = load i32, ptr %21703, align 4, !tbaa !5
  store i32 %21704, ptr %491, align 4, !tbaa !5
  %21705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21706 = call i32 @s2n_print_stacktrace(ptr noundef %21705)
  %21707 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21708 = trunc i8 %21707 to i1
  br i1 %21708, label %21709, label %21731

21709:                                            ; preds = %21702
  %21710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21711 = call i32 @fileno(ptr noundef %21710) #10
  %21712 = call i32 @isatty(i32 noundef %21711) #10
  %21713 = icmp ne i32 %21712, 0
  br i1 %21713, label %21714, label %21731

21714:                                            ; preds = %21709
  %21715 = load i32, ptr %491, align 4, !tbaa !5
  %21716 = call ptr @__errno_location() #11
  store i32 %21715, ptr %21716, align 4, !tbaa !5
  %21717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21718 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %21720, ptr noundef @.str.10)
  %21722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21723 = load i32, ptr %21722, align 4, !tbaa !5
  %21724 = call ptr @s2n_strerror_debug(i32 noundef %21723, ptr noundef @.str.10)
  %21725 = call ptr @__errno_location() #11
  %21726 = load i32, ptr %21725, align 4, !tbaa !5
  %21727 = call ptr @strerror(i32 noundef %21726) #10
  %21728 = call ptr @__errno_location() #11
  %21729 = load i32, ptr %21728, align 4, !tbaa !5
  %21730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21717, ptr noundef @.str.8, i32 noundef %21718, ptr noundef @.str.110, ptr noundef @.str.7, i32 noundef 819, ptr noundef %21721, ptr noundef %21724, ptr noundef %21727, i32 noundef %21729) #10
  br label %21748

21731:                                            ; preds = %21709, %21702
  %21732 = load i32, ptr %491, align 4, !tbaa !5
  %21733 = call ptr @__errno_location() #11
  store i32 %21732, ptr %21733, align 4, !tbaa !5
  %21734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21735 = load i32, ptr @test_count, align 4, !tbaa !5
  %21736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21737 = load i32, ptr %21736, align 4, !tbaa !5
  %21738 = call ptr @s2n_strerror(i32 noundef %21737, ptr noundef @.str.10)
  %21739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21740 = load i32, ptr %21739, align 4, !tbaa !5
  %21741 = call ptr @s2n_strerror_debug(i32 noundef %21740, ptr noundef @.str.10)
  %21742 = call ptr @__errno_location() #11
  %21743 = load i32, ptr %21742, align 4, !tbaa !5
  %21744 = call ptr @strerror(i32 noundef %21743) #10
  %21745 = call ptr @__errno_location() #11
  %21746 = load i32, ptr %21745, align 4, !tbaa !5
  %21747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21734, ptr noundef @.str.11, i32 noundef %21735, ptr noundef @.str.110, ptr noundef @.str.7, i32 noundef 819, ptr noundef %21738, ptr noundef %21741, ptr noundef %21744, i32 noundef %21746) #10
  br label %21748

21748:                                            ; preds = %21731, %21714
  call void @llvm.lifetime.end.p0(i64 4, ptr %491) #10
  br label %21749

21749:                                            ; preds = %21748
  br label %21750

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

21751:                                            ; No predecessors!
  br label %21752

21752:                                            ; preds = %21751
  br label %21753

21753:                                            ; preds = %21752, %21694
  br label %21754

21754:                                            ; preds = %21753
  br label %21755

21755:                                            ; preds = %21754
  br label %21756

21756:                                            ; preds = %21755
  %21757 = load i32, ptr @test_count, align 4, !tbaa !5
  %21758 = add nsw i32 %21757, 1
  store i32 %21758, ptr @test_count, align 4, !tbaa !5
  %21759 = load i32, ptr %485, align 4, !tbaa !5
  %21760 = icmp eq i32 %21759, 0
  br i1 %21760, label %21814, label %21761

21761:                                            ; preds = %21756
  br label %21762

21762:                                            ; preds = %21761
  br label %21763

21763:                                            ; preds = %21762
  call void @llvm.lifetime.start.p0(i64 4, ptr %492) #10
  %21764 = call ptr @__errno_location() #11
  %21765 = load i32, ptr %21764, align 4, !tbaa !5
  store i32 %21765, ptr %492, align 4, !tbaa !5
  %21766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21767 = call i32 @s2n_print_stacktrace(ptr noundef %21766)
  %21768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21769 = trunc i8 %21768 to i1
  br i1 %21769, label %21770, label %21792

21770:                                            ; preds = %21763
  %21771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21772 = call i32 @fileno(ptr noundef %21771) #10
  %21773 = call i32 @isatty(i32 noundef %21772) #10
  %21774 = icmp ne i32 %21773, 0
  br i1 %21774, label %21775, label %21792

21775:                                            ; preds = %21770
  %21776 = load i32, ptr %492, align 4, !tbaa !5
  %21777 = call ptr @__errno_location() #11
  store i32 %21776, ptr %21777, align 4, !tbaa !5
  %21778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21779 = load i32, ptr @test_count, align 4, !tbaa !5
  %21780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21781 = load i32, ptr %21780, align 4, !tbaa !5
  %21782 = call ptr @s2n_strerror(i32 noundef %21781, ptr noundef @.str.10)
  %21783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21784 = load i32, ptr %21783, align 4, !tbaa !5
  %21785 = call ptr @s2n_strerror_debug(i32 noundef %21784, ptr noundef @.str.10)
  %21786 = call ptr @__errno_location() #11
  %21787 = load i32, ptr %21786, align 4, !tbaa !5
  %21788 = call ptr @strerror(i32 noundef %21787) #10
  %21789 = call ptr @__errno_location() #11
  %21790 = load i32, ptr %21789, align 4, !tbaa !5
  %21791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21778, ptr noundef @.str.8, i32 noundef %21779, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 820, ptr noundef %21782, ptr noundef %21785, ptr noundef %21788, i32 noundef %21790) #10
  br label %21809

21792:                                            ; preds = %21770, %21763
  %21793 = load i32, ptr %492, align 4, !tbaa !5
  %21794 = call ptr @__errno_location() #11
  store i32 %21793, ptr %21794, align 4, !tbaa !5
  %21795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21796 = load i32, ptr @test_count, align 4, !tbaa !5
  %21797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21798 = load i32, ptr %21797, align 4, !tbaa !5
  %21799 = call ptr @s2n_strerror(i32 noundef %21798, ptr noundef @.str.10)
  %21800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21801 = load i32, ptr %21800, align 4, !tbaa !5
  %21802 = call ptr @s2n_strerror_debug(i32 noundef %21801, ptr noundef @.str.10)
  %21803 = call ptr @__errno_location() #11
  %21804 = load i32, ptr %21803, align 4, !tbaa !5
  %21805 = call ptr @strerror(i32 noundef %21804) #10
  %21806 = call ptr @__errno_location() #11
  %21807 = load i32, ptr %21806, align 4, !tbaa !5
  %21808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21795, ptr noundef @.str.11, i32 noundef %21796, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 820, ptr noundef %21799, ptr noundef %21802, ptr noundef %21805, i32 noundef %21807) #10
  br label %21809

21809:                                            ; preds = %21792, %21775
  call void @llvm.lifetime.end.p0(i64 4, ptr %492) #10
  br label %21810

21810:                                            ; preds = %21809
  br label %21811

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

21812:                                            ; No predecessors!
  br label %21813

21813:                                            ; preds = %21812
  br label %21814

21814:                                            ; preds = %21813, %21756
  br label %21815

21815:                                            ; preds = %21814
  br label %21816

21816:                                            ; preds = %21815
  br label %21817

21817:                                            ; preds = %21816
  %21818 = load i32, ptr @test_count, align 4, !tbaa !5
  %21819 = add nsw i32 %21818, 1
  store i32 %21819, ptr @test_count, align 4, !tbaa !5
  %21820 = load ptr, ptr %481, align 8, !tbaa !9
  %21821 = getelementptr inbounds %struct.s2n_connection, ptr %21820, i32 0, i32 49
  %21822 = load i8, ptr %21821, align 1, !tbaa !16, !range !13, !noundef !14
  %21823 = trunc i8 %21822 to i1
  br i1 %21823, label %21877, label %21824

21824:                                            ; preds = %21817
  br label %21825

21825:                                            ; preds = %21824
  br label %21826

21826:                                            ; preds = %21825
  call void @llvm.lifetime.start.p0(i64 4, ptr %493) #10
  %21827 = call ptr @__errno_location() #11
  %21828 = load i32, ptr %21827, align 4, !tbaa !5
  store i32 %21828, ptr %493, align 4, !tbaa !5
  %21829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21830 = call i32 @s2n_print_stacktrace(ptr noundef %21829)
  %21831 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21832 = trunc i8 %21831 to i1
  br i1 %21832, label %21833, label %21855

21833:                                            ; preds = %21826
  %21834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21835 = call i32 @fileno(ptr noundef %21834) #10
  %21836 = call i32 @isatty(i32 noundef %21835) #10
  %21837 = icmp ne i32 %21836, 0
  br i1 %21837, label %21838, label %21855

21838:                                            ; preds = %21833
  %21839 = load i32, ptr %493, align 4, !tbaa !5
  %21840 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %21849 = call ptr @__errno_location() #11
  %21850 = load i32, ptr %21849, align 4, !tbaa !5
  %21851 = call ptr @strerror(i32 noundef %21850) #10
  %21852 = call ptr @__errno_location() #11
  %21853 = load i32, ptr %21852, align 4, !tbaa !5
  %21854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21841, ptr noundef @.str.8, i32 noundef %21842, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 821, ptr noundef %21845, ptr noundef %21848, ptr noundef %21851, i32 noundef %21853) #10
  br label %21872

21855:                                            ; preds = %21833, %21826
  %21856 = load i32, ptr %493, align 4, !tbaa !5
  %21857 = call ptr @__errno_location() #11
  store i32 %21856, ptr %21857, align 4, !tbaa !5
  %21858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21859 = load i32, ptr @test_count, align 4, !tbaa !5
  %21860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21861 = load i32, ptr %21860, align 4, !tbaa !5
  %21862 = call ptr @s2n_strerror(i32 noundef %21861, ptr noundef @.str.10)
  %21863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21864 = load i32, ptr %21863, align 4, !tbaa !5
  %21865 = call ptr @s2n_strerror_debug(i32 noundef %21864, ptr noundef @.str.10)
  %21866 = call ptr @__errno_location() #11
  %21867 = load i32, ptr %21866, align 4, !tbaa !5
  %21868 = call ptr @strerror(i32 noundef %21867) #10
  %21869 = call ptr @__errno_location() #11
  %21870 = load i32, ptr %21869, align 4, !tbaa !5
  %21871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21858, ptr noundef @.str.11, i32 noundef %21859, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 821, ptr noundef %21862, ptr noundef %21865, ptr noundef %21868, i32 noundef %21870) #10
  br label %21872

21872:                                            ; preds = %21855, %21838
  call void @llvm.lifetime.end.p0(i64 4, ptr %493) #10
  br label %21873

21873:                                            ; preds = %21872
  br label %21874

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

21875:                                            ; No predecessors!
  br label %21876

21876:                                            ; preds = %21875
  br label %21877

21877:                                            ; preds = %21876, %21817
  br label %21878

21878:                                            ; preds = %21877
  br label %21879

21879:                                            ; preds = %21878
  call void @llvm.lifetime.start.p0(i64 1, ptr %494) #10
  call void @llvm.memset.p0.i64(ptr align 1 %494, i8 0, i64 1, i1 false)
  br label %21880

21880:                                            ; preds = %21879
  %21881 = load i32, ptr @test_count, align 4, !tbaa !5
  %21882 = add nsw i32 %21881, 1
  store i32 %21882, ptr @test_count, align 4, !tbaa !5
  %21883 = getelementptr inbounds [5 x i8], ptr %10, i64 0, i64 0
  %21884 = call i32 @s2n_stuffer_write_bytes(ptr noundef %487, ptr noundef %21883, i32 noundef 5)
  %21885 = icmp eq i32 %21884, -1
  br i1 %21885, label %21886, label %21939

21886:                                            ; preds = %21880
  br label %21887

21887:                                            ; preds = %21886
  br label %21888

21888:                                            ; preds = %21887
  call void @llvm.lifetime.start.p0(i64 4, ptr %495) #10
  %21889 = call ptr @__errno_location() #11
  %21890 = load i32, ptr %21889, align 4, !tbaa !5
  store i32 %21890, ptr %495, align 4, !tbaa !5
  %21891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21892 = call i32 @s2n_print_stacktrace(ptr noundef %21891)
  %21893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21894 = trunc i8 %21893 to i1
  br i1 %21894, label %21895, label %21917

21895:                                            ; preds = %21888
  %21896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21897 = call i32 @fileno(ptr noundef %21896) #10
  %21898 = call i32 @isatty(i32 noundef %21897) #10
  %21899 = icmp ne i32 %21898, 0
  br i1 %21899, label %21900, label %21917

21900:                                            ; preds = %21895
  %21901 = load i32, ptr %495, align 4, !tbaa !5
  %21902 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %21911 = call ptr @__errno_location() #11
  %21912 = load i32, ptr %21911, align 4, !tbaa !5
  %21913 = call ptr @strerror(i32 noundef %21912) #10
  %21914 = call ptr @__errno_location() #11
  %21915 = load i32, ptr %21914, align 4, !tbaa !5
  %21916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21903, ptr noundef @.str.8, i32 noundef %21904, ptr noundef @.str.48, ptr noundef @.str.7, i32 noundef 826, ptr noundef %21907, ptr noundef %21910, ptr noundef %21913, i32 noundef %21915) #10
  br label %21934

21917:                                            ; preds = %21895, %21888
  %21918 = load i32, ptr %495, align 4, !tbaa !5
  %21919 = call ptr @__errno_location() #11
  store i32 %21918, ptr %21919, align 4, !tbaa !5
  %21920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21921 = load i32, ptr @test_count, align 4, !tbaa !5
  %21922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21923 = load i32, ptr %21922, align 4, !tbaa !5
  %21924 = call ptr @s2n_strerror(i32 noundef %21923, ptr noundef @.str.10)
  %21925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21926 = load i32, ptr %21925, align 4, !tbaa !5
  %21927 = call ptr @s2n_strerror_debug(i32 noundef %21926, ptr noundef @.str.10)
  %21928 = call ptr @__errno_location() #11
  %21929 = load i32, ptr %21928, align 4, !tbaa !5
  %21930 = call ptr @strerror(i32 noundef %21929) #10
  %21931 = call ptr @__errno_location() #11
  %21932 = load i32, ptr %21931, align 4, !tbaa !5
  %21933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21920, ptr noundef @.str.11, i32 noundef %21921, ptr noundef @.str.48, ptr noundef @.str.7, i32 noundef 826, ptr noundef %21924, ptr noundef %21927, ptr noundef %21930, i32 noundef %21932) #10
  br label %21934

21934:                                            ; preds = %21917, %21900
  call void @llvm.lifetime.end.p0(i64 4, ptr %495) #10
  br label %21935

21935:                                            ; preds = %21934
  br label %21936

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

21937:                                            ; No predecessors!
  br label %21938

21938:                                            ; preds = %21937
  br label %21939

21939:                                            ; preds = %21938, %21880
  br label %21940

21940:                                            ; preds = %21939
  br label %21941

21941:                                            ; preds = %21940
  br label %21942

21942:                                            ; preds = %21941
  %21943 = load i32, ptr @test_count, align 4, !tbaa !5
  %21944 = add nsw i32 %21943, 1
  store i32 %21944, ptr @test_count, align 4, !tbaa !5
  %21945 = call i32 @s2n_stuffer_write_uint8(ptr noundef %487, i8 noundef zeroext 2)
  %21946 = icmp eq i32 %21945, -1
  br i1 %21946, label %21947, label %22000

21947:                                            ; preds = %21942
  br label %21948

21948:                                            ; preds = %21947
  br label %21949

21949:                                            ; preds = %21948
  call void @llvm.lifetime.start.p0(i64 4, ptr %496) #10
  %21950 = call ptr @__errno_location() #11
  %21951 = load i32, ptr %21950, align 4, !tbaa !5
  store i32 %21951, ptr %496, align 4, !tbaa !5
  %21952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21953 = call i32 @s2n_print_stacktrace(ptr noundef %21952)
  %21954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21955 = trunc i8 %21954 to i1
  br i1 %21955, label %21956, label %21978

21956:                                            ; preds = %21949
  %21957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21958 = call i32 @fileno(ptr noundef %21957) #10
  %21959 = call i32 @isatty(i32 noundef %21958) #10
  %21960 = icmp ne i32 %21959, 0
  br i1 %21960, label %21961, label %21978

21961:                                            ; preds = %21956
  %21962 = load i32, ptr %496, align 4, !tbaa !5
  %21963 = call ptr @__errno_location() #11
  store i32 %21962, ptr %21963, align 4, !tbaa !5
  %21964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21965 = load i32, ptr @test_count, align 4, !tbaa !5
  %21966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21967 = load i32, ptr %21966, align 4, !tbaa !5
  %21968 = call ptr @s2n_strerror(i32 noundef %21967, ptr noundef @.str.10)
  %21969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21970 = load i32, ptr %21969, align 4, !tbaa !5
  %21971 = call ptr @s2n_strerror_debug(i32 noundef %21970, ptr noundef @.str.10)
  %21972 = call ptr @__errno_location() #11
  %21973 = load i32, ptr %21972, align 4, !tbaa !5
  %21974 = call ptr @strerror(i32 noundef %21973) #10
  %21975 = call ptr @__errno_location() #11
  %21976 = load i32, ptr %21975, align 4, !tbaa !5
  %21977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21964, ptr noundef @.str.8, i32 noundef %21965, ptr noundef @.str.49, ptr noundef @.str.7, i32 noundef 827, ptr noundef %21968, ptr noundef %21971, ptr noundef %21974, i32 noundef %21976) #10
  br label %21995

21978:                                            ; preds = %21956, %21949
  %21979 = load i32, ptr %496, align 4, !tbaa !5
  %21980 = call ptr @__errno_location() #11
  store i32 %21979, ptr %21980, align 4, !tbaa !5
  %21981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21982 = load i32, ptr @test_count, align 4, !tbaa !5
  %21983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21984 = load i32, ptr %21983, align 4, !tbaa !5
  %21985 = call ptr @s2n_strerror(i32 noundef %21984, ptr noundef @.str.10)
  %21986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21987 = load i32, ptr %21986, align 4, !tbaa !5
  %21988 = call ptr @s2n_strerror_debug(i32 noundef %21987, ptr noundef @.str.10)
  %21989 = call ptr @__errno_location() #11
  %21990 = load i32, ptr %21989, align 4, !tbaa !5
  %21991 = call ptr @strerror(i32 noundef %21990) #10
  %21992 = call ptr @__errno_location() #11
  %21993 = load i32, ptr %21992, align 4, !tbaa !5
  %21994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21981, ptr noundef @.str.11, i32 noundef %21982, ptr noundef @.str.49, ptr noundef @.str.7, i32 noundef 827, ptr noundef %21985, ptr noundef %21988, ptr noundef %21991, i32 noundef %21993) #10
  br label %21995

21995:                                            ; preds = %21978, %21961
  call void @llvm.lifetime.end.p0(i64 4, ptr %496) #10
  br label %21996

21996:                                            ; preds = %21995
  br label %21997

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

21998:                                            ; No predecessors!
  br label %21999

21999:                                            ; preds = %21998
  br label %22000

22000:                                            ; preds = %21999, %21942
  br label %22001

22001:                                            ; preds = %22000
  br label %22002

22002:                                            ; preds = %22001
  br label %22003

22003:                                            ; preds = %22002
  %22004 = load i32, ptr @test_count, align 4, !tbaa !5
  %22005 = add nsw i32 %22004, 1
  store i32 %22005, ptr @test_count, align 4, !tbaa !5
  %22006 = call i32 @s2n_stuffer_write_uint8(ptr noundef %487, i8 noundef zeroext 80)
  %22007 = icmp eq i32 %22006, -1
  br i1 %22007, label %22008, label %22061

22008:                                            ; preds = %22003
  br label %22009

22009:                                            ; preds = %22008
  br label %22010

22010:                                            ; preds = %22009
  call void @llvm.lifetime.start.p0(i64 4, ptr %497) #10
  %22011 = call ptr @__errno_location() #11
  %22012 = load i32, ptr %22011, align 4, !tbaa !5
  store i32 %22012, ptr %497, align 4, !tbaa !5
  %22013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22014 = call i32 @s2n_print_stacktrace(ptr noundef %22013)
  %22015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22016 = trunc i8 %22015 to i1
  br i1 %22016, label %22017, label %22039

22017:                                            ; preds = %22010
  %22018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22019 = call i32 @fileno(ptr noundef %22018) #10
  %22020 = call i32 @isatty(i32 noundef %22019) #10
  %22021 = icmp ne i32 %22020, 0
  br i1 %22021, label %22022, label %22039

22022:                                            ; preds = %22017
  %22023 = load i32, ptr %497, align 4, !tbaa !5
  %22024 = call ptr @__errno_location() #11
  store i32 %22023, ptr %22024, align 4, !tbaa !5
  %22025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22026 = load i32, ptr @test_count, align 4, !tbaa !5
  %22027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22028 = load i32, ptr %22027, align 4, !tbaa !5
  %22029 = call ptr @s2n_strerror(i32 noundef %22028, ptr noundef @.str.10)
  %22030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22031 = load i32, ptr %22030, align 4, !tbaa !5
  %22032 = call ptr @s2n_strerror_debug(i32 noundef %22031, ptr noundef @.str.10)
  %22033 = call ptr @__errno_location() #11
  %22034 = load i32, ptr %22033, align 4, !tbaa !5
  %22035 = call ptr @strerror(i32 noundef %22034) #10
  %22036 = call ptr @__errno_location() #11
  %22037 = load i32, ptr %22036, align 4, !tbaa !5
  %22038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22025, ptr noundef @.str.8, i32 noundef %22026, ptr noundef @.str.50, ptr noundef @.str.7, i32 noundef 828, ptr noundef %22029, ptr noundef %22032, ptr noundef %22035, i32 noundef %22037) #10
  br label %22056

22039:                                            ; preds = %22017, %22010
  %22040 = load i32, ptr %497, align 4, !tbaa !5
  %22041 = call ptr @__errno_location() #11
  store i32 %22040, ptr %22041, align 4, !tbaa !5
  %22042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22043 = load i32, ptr @test_count, align 4, !tbaa !5
  %22044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22045 = load i32, ptr %22044, align 4, !tbaa !5
  %22046 = call ptr @s2n_strerror(i32 noundef %22045, ptr noundef @.str.10)
  %22047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22048 = load i32, ptr %22047, align 4, !tbaa !5
  %22049 = call ptr @s2n_strerror_debug(i32 noundef %22048, ptr noundef @.str.10)
  %22050 = call ptr @__errno_location() #11
  %22051 = load i32, ptr %22050, align 4, !tbaa !5
  %22052 = call ptr @strerror(i32 noundef %22051) #10
  %22053 = call ptr @__errno_location() #11
  %22054 = load i32, ptr %22053, align 4, !tbaa !5
  %22055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22042, ptr noundef @.str.11, i32 noundef %22043, ptr noundef @.str.50, ptr noundef @.str.7, i32 noundef 828, ptr noundef %22046, ptr noundef %22049, ptr noundef %22052, i32 noundef %22054) #10
  br label %22056

22056:                                            ; preds = %22039, %22022
  call void @llvm.lifetime.end.p0(i64 4, ptr %497) #10
  br label %22057

22057:                                            ; preds = %22056
  br label %22058

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

22059:                                            ; No predecessors!
  br label %22060

22060:                                            ; preds = %22059
  br label %22061

22061:                                            ; preds = %22060, %22003
  br label %22062

22062:                                            ; preds = %22061
  br label %22063

22063:                                            ; preds = %22062
  br label %22064

22064:                                            ; preds = %22063
  br label %22065

22065:                                            ; preds = %22064
  br label %22066

22066:                                            ; preds = %22065
  %22067 = load i32, ptr @test_count, align 4, !tbaa !5
  %22068 = add nsw i32 %22067, 1
  store i32 %22068, ptr @test_count, align 4, !tbaa !5
  %22069 = load ptr, ptr %481, align 8, !tbaa !9
  %22070 = getelementptr inbounds [1 x i8], ptr %494, i64 0, i64 0
  %22071 = call i64 @s2n_recv(ptr noundef %22069, ptr noundef %22070, i64 noundef 1, ptr noundef %485)
  %22072 = icmp eq i64 %22071, -1
  br i1 %22072, label %22126, label %22073

22073:                                            ; preds = %22066
  br label %22074

22074:                                            ; preds = %22073
  br label %22075

22075:                                            ; preds = %22074
  call void @llvm.lifetime.start.p0(i64 4, ptr %498) #10
  %22076 = call ptr @__errno_location() #11
  %22077 = load i32, ptr %22076, align 4, !tbaa !5
  store i32 %22077, ptr %498, align 4, !tbaa !5
  %22078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22079 = call i32 @s2n_print_stacktrace(ptr noundef %22078)
  %22080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22081 = trunc i8 %22080 to i1
  br i1 %22081, label %22082, label %22104

22082:                                            ; preds = %22075
  %22083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22084 = call i32 @fileno(ptr noundef %22083) #10
  %22085 = call i32 @isatty(i32 noundef %22084) #10
  %22086 = icmp ne i32 %22085, 0
  br i1 %22086, label %22087, label %22104

22087:                                            ; preds = %22082
  %22088 = load i32, ptr %498, align 4, !tbaa !5
  %22089 = call ptr @__errno_location() #11
  store i32 %22088, ptr %22089, align 4, !tbaa !5
  %22090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22091 = load i32, ptr @test_count, align 4, !tbaa !5
  %22092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22093 = load i32, ptr %22092, align 4, !tbaa !5
  %22094 = call ptr @s2n_strerror(i32 noundef %22093, ptr noundef @.str.10)
  %22095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22096 = load i32, ptr %22095, align 4, !tbaa !5
  %22097 = call ptr @s2n_strerror_debug(i32 noundef %22096, ptr noundef @.str.10)
  %22098 = call ptr @__errno_location() #11
  %22099 = load i32, ptr %22098, align 4, !tbaa !5
  %22100 = call ptr @strerror(i32 noundef %22099) #10
  %22101 = call ptr @__errno_location() #11
  %22102 = load i32, ptr %22101, align 4, !tbaa !5
  %22103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22090, ptr noundef @.str.8, i32 noundef %22091, ptr noundef @.str.51, ptr noundef @.str.7, i32 noundef 830, ptr noundef %22094, ptr noundef %22097, ptr noundef %22100, i32 noundef %22102) #10
  br label %22121

22104:                                            ; preds = %22082, %22075
  %22105 = load i32, ptr %498, align 4, !tbaa !5
  %22106 = call ptr @__errno_location() #11
  store i32 %22105, ptr %22106, align 4, !tbaa !5
  %22107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22108 = load i32, ptr @test_count, align 4, !tbaa !5
  %22109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22110 = load i32, ptr %22109, align 4, !tbaa !5
  %22111 = call ptr @s2n_strerror(i32 noundef %22110, ptr noundef @.str.10)
  %22112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22113 = load i32, ptr %22112, align 4, !tbaa !5
  %22114 = call ptr @s2n_strerror_debug(i32 noundef %22113, ptr noundef @.str.10)
  %22115 = call ptr @__errno_location() #11
  %22116 = load i32, ptr %22115, align 4, !tbaa !5
  %22117 = call ptr @strerror(i32 noundef %22116) #10
  %22118 = call ptr @__errno_location() #11
  %22119 = load i32, ptr %22118, align 4, !tbaa !5
  %22120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22107, ptr noundef @.str.11, i32 noundef %22108, ptr noundef @.str.51, ptr noundef @.str.7, i32 noundef 830, ptr noundef %22111, ptr noundef %22114, ptr noundef %22117, i32 noundef %22119) #10
  br label %22121

22121:                                            ; preds = %22104, %22087
  call void @llvm.lifetime.end.p0(i64 4, ptr %498) #10
  br label %22122

22122:                                            ; preds = %22121
  br label %22123

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

22124:                                            ; No predecessors!
  br label %22125

22125:                                            ; preds = %22124
  br label %22126

22126:                                            ; preds = %22125, %22066
  br label %22127

22127:                                            ; preds = %22126
  br label %22128

22128:                                            ; preds = %22127
  br label %22129

22129:                                            ; preds = %22128
  %22130 = load i32, ptr @test_count, align 4, !tbaa !5
  %22131 = add nsw i32 %22130, 1
  store i32 %22131, ptr @test_count, align 4, !tbaa !5
  %22132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22133 = load i32, ptr %22132, align 4, !tbaa !5
  %22134 = icmp eq i32 %22133, 268435456
  br i1 %22134, label %22188, label %22135

22135:                                            ; preds = %22129
  br label %22136

22136:                                            ; preds = %22135
  br label %22137

22137:                                            ; preds = %22136
  call void @llvm.lifetime.start.p0(i64 4, ptr %499) #10
  %22138 = call ptr @__errno_location() #11
  %22139 = load i32, ptr %22138, align 4, !tbaa !5
  store i32 %22139, ptr %499, align 4, !tbaa !5
  %22140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22141 = call i32 @s2n_print_stacktrace(ptr noundef %22140)
  %22142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22143 = trunc i8 %22142 to i1
  br i1 %22143, label %22144, label %22166

22144:                                            ; preds = %22137
  %22145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22146 = call i32 @fileno(ptr noundef %22145) #10
  %22147 = call i32 @isatty(i32 noundef %22146) #10
  %22148 = icmp ne i32 %22147, 0
  br i1 %22148, label %22149, label %22166

22149:                                            ; preds = %22144
  %22150 = load i32, ptr %499, align 4, !tbaa !5
  %22151 = call ptr @__errno_location() #11
  store i32 %22150, ptr %22151, align 4, !tbaa !5
  %22152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22153 = load i32, ptr @test_count, align 4, !tbaa !5
  %22154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22155 = load i32, ptr %22154, align 4, !tbaa !5
  %22156 = call ptr @s2n_strerror(i32 noundef %22155, ptr noundef @.str.10)
  %22157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22158 = load i32, ptr %22157, align 4, !tbaa !5
  %22159 = call ptr @s2n_strerror_debug(i32 noundef %22158, ptr noundef @.str.10)
  %22160 = call ptr @__errno_location() #11
  %22161 = load i32, ptr %22160, align 4, !tbaa !5
  %22162 = call ptr @strerror(i32 noundef %22161) #10
  %22163 = call ptr @__errno_location() #11
  %22164 = load i32, ptr %22163, align 4, !tbaa !5
  %22165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22152, ptr noundef @.str.8, i32 noundef %22153, ptr noundef @.str.52, ptr noundef @.str.7, i32 noundef 830, ptr noundef %22156, ptr noundef %22159, ptr noundef %22162, i32 noundef %22164) #10
  br label %22183

22166:                                            ; preds = %22144, %22137
  %22167 = load i32, ptr %499, align 4, !tbaa !5
  %22168 = call ptr @__errno_location() #11
  store i32 %22167, ptr %22168, align 4, !tbaa !5
  %22169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22170 = load i32, ptr @test_count, align 4, !tbaa !5
  %22171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22172 = load i32, ptr %22171, align 4, !tbaa !5
  %22173 = call ptr @s2n_strerror(i32 noundef %22172, ptr noundef @.str.10)
  %22174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22175 = load i32, ptr %22174, align 4, !tbaa !5
  %22176 = call ptr @s2n_strerror_debug(i32 noundef %22175, ptr noundef @.str.10)
  %22177 = call ptr @__errno_location() #11
  %22178 = load i32, ptr %22177, align 4, !tbaa !5
  %22179 = call ptr @strerror(i32 noundef %22178) #10
  %22180 = call ptr @__errno_location() #11
  %22181 = load i32, ptr %22180, align 4, !tbaa !5
  %22182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22169, ptr noundef @.str.11, i32 noundef %22170, ptr noundef @.str.52, ptr noundef @.str.7, i32 noundef 830, ptr noundef %22173, ptr noundef %22176, ptr noundef %22179, i32 noundef %22181) #10
  br label %22183

22183:                                            ; preds = %22166, %22149
  call void @llvm.lifetime.end.p0(i64 4, ptr %499) #10
  br label %22184

22184:                                            ; preds = %22183
  br label %22185

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

22186:                                            ; No predecessors!
  br label %22187

22187:                                            ; preds = %22186
  br label %22188

22188:                                            ; preds = %22187, %22129
  br label %22189

22189:                                            ; preds = %22188
  br label %22190

22190:                                            ; preds = %22189
  br label %22191

22191:                                            ; preds = %22190
  %22192 = load i32, ptr @test_count, align 4, !tbaa !5
  %22193 = add nsw i32 %22192, 1
  store i32 %22193, ptr @test_count, align 4, !tbaa !5
  %22194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22195 = load i32, ptr %22194, align 4, !tbaa !5
  %22196 = call ptr @s2n_strerror_debug(i32 noundef %22195, ptr noundef @.str.10)
  %22197 = icmp eq ptr %22196, null
  br i1 %22197, label %22198, label %22251

22198:                                            ; preds = %22191
  br label %22199

22199:                                            ; preds = %22198
  br label %22200

22200:                                            ; preds = %22199
  call void @llvm.lifetime.start.p0(i64 4, ptr %500) #10
  %22201 = call ptr @__errno_location() #11
  %22202 = load i32, ptr %22201, align 4, !tbaa !5
  store i32 %22202, ptr %500, align 4, !tbaa !5
  %22203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22204 = call i32 @s2n_print_stacktrace(ptr noundef %22203)
  %22205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22206 = trunc i8 %22205 to i1
  br i1 %22206, label %22207, label %22229

22207:                                            ; preds = %22200
  %22208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22209 = call i32 @fileno(ptr noundef %22208) #10
  %22210 = call i32 @isatty(i32 noundef %22209) #10
  %22211 = icmp ne i32 %22210, 0
  br i1 %22211, label %22212, label %22229

22212:                                            ; preds = %22207
  %22213 = load i32, ptr %500, align 4, !tbaa !5
  %22214 = call ptr @__errno_location() #11
  store i32 %22213, ptr %22214, align 4, !tbaa !5
  %22215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22216 = load i32, ptr @test_count, align 4, !tbaa !5
  %22217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22218 = load i32, ptr %22217, align 4, !tbaa !5
  %22219 = call ptr @s2n_strerror(i32 noundef %22218, ptr noundef @.str.10)
  %22220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22221 = load i32, ptr %22220, align 4, !tbaa !5
  %22222 = call ptr @s2n_strerror_debug(i32 noundef %22221, ptr noundef @.str.10)
  %22223 = call ptr @__errno_location() #11
  %22224 = load i32, ptr %22223, align 4, !tbaa !5
  %22225 = call ptr @strerror(i32 noundef %22224) #10
  %22226 = call ptr @__errno_location() #11
  %22227 = load i32, ptr %22226, align 4, !tbaa !5
  %22228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22215, ptr noundef @.str.8, i32 noundef %22216, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 830, ptr noundef %22219, ptr noundef %22222, ptr noundef %22225, i32 noundef %22227) #10
  br label %22246

22229:                                            ; preds = %22207, %22200
  %22230 = load i32, ptr %500, align 4, !tbaa !5
  %22231 = call ptr @__errno_location() #11
  store i32 %22230, ptr %22231, align 4, !tbaa !5
  %22232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22233 = load i32, ptr @test_count, align 4, !tbaa !5
  %22234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22235 = load i32, ptr %22234, align 4, !tbaa !5
  %22236 = call ptr @s2n_strerror(i32 noundef %22235, ptr noundef @.str.10)
  %22237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22238 = load i32, ptr %22237, align 4, !tbaa !5
  %22239 = call ptr @s2n_strerror_debug(i32 noundef %22238, ptr noundef @.str.10)
  %22240 = call ptr @__errno_location() #11
  %22241 = load i32, ptr %22240, align 4, !tbaa !5
  %22242 = call ptr @strerror(i32 noundef %22241) #10
  %22243 = call ptr @__errno_location() #11
  %22244 = load i32, ptr %22243, align 4, !tbaa !5
  %22245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22232, ptr noundef @.str.11, i32 noundef %22233, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 830, ptr noundef %22236, ptr noundef %22239, ptr noundef %22242, i32 noundef %22244) #10
  br label %22246

22246:                                            ; preds = %22229, %22212
  call void @llvm.lifetime.end.p0(i64 4, ptr %500) #10
  br label %22247

22247:                                            ; preds = %22246
  br label %22248

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

22249:                                            ; No predecessors!
  br label %22250

22250:                                            ; preds = %22249
  br label %22251

22251:                                            ; preds = %22250, %22191
  br label %22252

22252:                                            ; preds = %22251
  br label %22253

22253:                                            ; preds = %22252
  br label %22254

22254:                                            ; preds = %22253
  br label %22255

22255:                                            ; preds = %22254
  br label %22256

22256:                                            ; preds = %22255
  %22257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %22257, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %22258 = call ptr @__errno_location() #11
  store i32 0, ptr %22258, align 4, !tbaa !5
  br label %22259

22259:                                            ; preds = %22256
  br label %22260

22260:                                            ; preds = %22259
  br label %22261

22261:                                            ; preds = %22260
  br label %22262

22262:                                            ; preds = %22261
  br label %22263

22263:                                            ; preds = %22262
  %22264 = load i32, ptr @test_count, align 4, !tbaa !5
  %22265 = add nsw i32 %22264, 1
  store i32 %22265, ptr @test_count, align 4, !tbaa !5
  %22266 = load ptr, ptr %481, align 8, !tbaa !9
  %22267 = call i32 @s2n_shutdown(ptr noundef %22266, ptr noundef %485)
  %22268 = icmp eq i32 %22267, -1
  br i1 %22268, label %22269, label %22322

22269:                                            ; preds = %22263
  br label %22270

22270:                                            ; preds = %22269
  br label %22271

22271:                                            ; preds = %22270
  call void @llvm.lifetime.start.p0(i64 4, ptr %501) #10
  %22272 = call ptr @__errno_location() #11
  %22273 = load i32, ptr %22272, align 4, !tbaa !5
  store i32 %22273, ptr %501, align 4, !tbaa !5
  %22274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22275 = call i32 @s2n_print_stacktrace(ptr noundef %22274)
  %22276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22277 = trunc i8 %22276 to i1
  br i1 %22277, label %22278, label %22300

22278:                                            ; preds = %22271
  %22279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22280 = call i32 @fileno(ptr noundef %22279) #10
  %22281 = call i32 @isatty(i32 noundef %22280) #10
  %22282 = icmp ne i32 %22281, 0
  br i1 %22282, label %22283, label %22300

22283:                                            ; preds = %22278
  %22284 = load i32, ptr %501, align 4, !tbaa !5
  %22285 = call ptr @__errno_location() #11
  store i32 %22284, ptr %22285, align 4, !tbaa !5
  %22286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22287 = load i32, ptr @test_count, align 4, !tbaa !5
  %22288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22289 = load i32, ptr %22288, align 4, !tbaa !5
  %22290 = call ptr @s2n_strerror(i32 noundef %22289, ptr noundef @.str.10)
  %22291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22292 = load i32, ptr %22291, align 4, !tbaa !5
  %22293 = call ptr @s2n_strerror_debug(i32 noundef %22292, ptr noundef @.str.10)
  %22294 = call ptr @__errno_location() #11
  %22295 = load i32, ptr %22294, align 4, !tbaa !5
  %22296 = call ptr @strerror(i32 noundef %22295) #10
  %22297 = call ptr @__errno_location() #11
  %22298 = load i32, ptr %22297, align 4, !tbaa !5
  %22299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22286, ptr noundef @.str.8, i32 noundef %22287, ptr noundef @.str.30, ptr noundef @.str.7, i32 noundef 833, ptr noundef %22290, ptr noundef %22293, ptr noundef %22296, i32 noundef %22298) #10
  br label %22317

22300:                                            ; preds = %22278, %22271
  %22301 = load i32, ptr %501, align 4, !tbaa !5
  %22302 = call ptr @__errno_location() #11
  store i32 %22301, ptr %22302, align 4, !tbaa !5
  %22303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22304 = load i32, ptr @test_count, align 4, !tbaa !5
  %22305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22306 = load i32, ptr %22305, align 4, !tbaa !5
  %22307 = call ptr @s2n_strerror(i32 noundef %22306, ptr noundef @.str.10)
  %22308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22309 = load i32, ptr %22308, align 4, !tbaa !5
  %22310 = call ptr @s2n_strerror_debug(i32 noundef %22309, ptr noundef @.str.10)
  %22311 = call ptr @__errno_location() #11
  %22312 = load i32, ptr %22311, align 4, !tbaa !5
  %22313 = call ptr @strerror(i32 noundef %22312) #10
  %22314 = call ptr @__errno_location() #11
  %22315 = load i32, ptr %22314, align 4, !tbaa !5
  %22316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22303, ptr noundef @.str.11, i32 noundef %22304, ptr noundef @.str.30, ptr noundef @.str.7, i32 noundef 833, ptr noundef %22307, ptr noundef %22310, ptr noundef %22313, i32 noundef %22315) #10
  br label %22317

22317:                                            ; preds = %22300, %22283
  call void @llvm.lifetime.end.p0(i64 4, ptr %501) #10
  br label %22318

22318:                                            ; preds = %22317
  br label %22319

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

22320:                                            ; No predecessors!
  br label %22321

22321:                                            ; preds = %22320
  br label %22322

22322:                                            ; preds = %22321, %22263
  br label %22323

22323:                                            ; preds = %22322
  br label %22324

22324:                                            ; preds = %22323
  br label %22325

22325:                                            ; preds = %22324
  %22326 = load i32, ptr @test_count, align 4, !tbaa !5
  %22327 = add nsw i32 %22326, 1
  store i32 %22327, ptr @test_count, align 4, !tbaa !5
  %22328 = load ptr, ptr %481, align 8, !tbaa !9
  %22329 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %22328, i32 noundef 3)
  br i1 %22329, label %22383, label %22330

22330:                                            ; preds = %22325
  br label %22331

22331:                                            ; preds = %22330
  br label %22332

22332:                                            ; preds = %22331
  call void @llvm.lifetime.start.p0(i64 4, ptr %502) #10
  %22333 = call ptr @__errno_location() #11
  %22334 = load i32, ptr %22333, align 4, !tbaa !5
  store i32 %22334, ptr %502, align 4, !tbaa !5
  %22335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22336 = call i32 @s2n_print_stacktrace(ptr noundef %22335)
  %22337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22338 = trunc i8 %22337 to i1
  br i1 %22338, label %22339, label %22361

22339:                                            ; preds = %22332
  %22340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22341 = call i32 @fileno(ptr noundef %22340) #10
  %22342 = call i32 @isatty(i32 noundef %22341) #10
  %22343 = icmp ne i32 %22342, 0
  br i1 %22343, label %22344, label %22361

22344:                                            ; preds = %22339
  %22345 = load i32, ptr %502, align 4, !tbaa !5
  %22346 = call ptr @__errno_location() #11
  store i32 %22345, ptr %22346, align 4, !tbaa !5
  %22347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22348 = load i32, ptr @test_count, align 4, !tbaa !5
  %22349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22350 = load i32, ptr %22349, align 4, !tbaa !5
  %22351 = call ptr @s2n_strerror(i32 noundef %22350, ptr noundef @.str.10)
  %22352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22353 = load i32, ptr %22352, align 4, !tbaa !5
  %22354 = call ptr @s2n_strerror_debug(i32 noundef %22353, ptr noundef @.str.10)
  %22355 = call ptr @__errno_location() #11
  %22356 = load i32, ptr %22355, align 4, !tbaa !5
  %22357 = call ptr @strerror(i32 noundef %22356) #10
  %22358 = call ptr @__errno_location() #11
  %22359 = load i32, ptr %22358, align 4, !tbaa !5
  %22360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22347, ptr noundef @.str.8, i32 noundef %22348, ptr noundef @.str.32, ptr noundef @.str.7, i32 noundef 834, ptr noundef %22351, ptr noundef %22354, ptr noundef %22357, i32 noundef %22359) #10
  br label %22378

22361:                                            ; preds = %22339, %22332
  %22362 = load i32, ptr %502, align 4, !tbaa !5
  %22363 = call ptr @__errno_location() #11
  store i32 %22362, ptr %22363, align 4, !tbaa !5
  %22364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22365 = load i32, ptr @test_count, align 4, !tbaa !5
  %22366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22367 = load i32, ptr %22366, align 4, !tbaa !5
  %22368 = call ptr @s2n_strerror(i32 noundef %22367, ptr noundef @.str.10)
  %22369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22370 = load i32, ptr %22369, align 4, !tbaa !5
  %22371 = call ptr @s2n_strerror_debug(i32 noundef %22370, ptr noundef @.str.10)
  %22372 = call ptr @__errno_location() #11
  %22373 = load i32, ptr %22372, align 4, !tbaa !5
  %22374 = call ptr @strerror(i32 noundef %22373) #10
  %22375 = call ptr @__errno_location() #11
  %22376 = load i32, ptr %22375, align 4, !tbaa !5
  %22377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22364, ptr noundef @.str.11, i32 noundef %22365, ptr noundef @.str.32, ptr noundef @.str.7, i32 noundef 834, ptr noundef %22368, ptr noundef %22371, ptr noundef %22374, i32 noundef %22376) #10
  br label %22378

22378:                                            ; preds = %22361, %22344
  call void @llvm.lifetime.end.p0(i64 4, ptr %502) #10
  br label %22379

22379:                                            ; preds = %22378
  br label %22380

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

22381:                                            ; No predecessors!
  br label %22382

22382:                                            ; preds = %22381
  br label %22383

22383:                                            ; preds = %22382, %22325
  br label %22384

22384:                                            ; preds = %22383
  br label %22385

22385:                                            ; preds = %22384
  br label %22386

22386:                                            ; preds = %22385
  %22387 = load i32, ptr @test_count, align 4, !tbaa !5
  %22388 = add nsw i32 %22387, 1
  store i32 %22388, ptr @test_count, align 4, !tbaa !5
  %22389 = load ptr, ptr %481, align 8, !tbaa !9
  %22390 = getelementptr inbounds %struct.s2n_connection, ptr %22389, i32 0, i32 51
  %22391 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %22390)
  br i1 %22391, label %22392, label %22445

22392:                                            ; preds = %22386
  br label %22393

22393:                                            ; preds = %22392
  br label %22394

22394:                                            ; preds = %22393
  call void @llvm.lifetime.start.p0(i64 4, ptr %503) #10
  %22395 = call ptr @__errno_location() #11
  %22396 = load i32, ptr %22395, align 4, !tbaa !5
  store i32 %22396, ptr %503, align 4, !tbaa !5
  %22397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22398 = call i32 @s2n_print_stacktrace(ptr noundef %22397)
  %22399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22400 = trunc i8 %22399 to i1
  br i1 %22400, label %22401, label %22423

22401:                                            ; preds = %22394
  %22402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22403 = call i32 @fileno(ptr noundef %22402) #10
  %22404 = call i32 @isatty(i32 noundef %22403) #10
  %22405 = icmp ne i32 %22404, 0
  br i1 %22405, label %22406, label %22423

22406:                                            ; preds = %22401
  %22407 = load i32, ptr %503, align 4, !tbaa !5
  %22408 = call ptr @__errno_location() #11
  store i32 %22407, ptr %22408, align 4, !tbaa !5
  %22409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22410 = load i32, ptr @test_count, align 4, !tbaa !5
  %22411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22412 = load i32, ptr %22411, align 4, !tbaa !5
  %22413 = call ptr @s2n_strerror(i32 noundef %22412, ptr noundef @.str.10)
  %22414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22415 = load i32, ptr %22414, align 4, !tbaa !5
  %22416 = call ptr @s2n_strerror_debug(i32 noundef %22415, ptr noundef @.str.10)
  %22417 = call ptr @__errno_location() #11
  %22418 = load i32, ptr %22417, align 4, !tbaa !5
  %22419 = call ptr @strerror(i32 noundef %22418) #10
  %22420 = call ptr @__errno_location() #11
  %22421 = load i32, ptr %22420, align 4, !tbaa !5
  %22422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22409, ptr noundef @.str.8, i32 noundef %22410, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 835, ptr noundef %22413, ptr noundef %22416, ptr noundef %22419, i32 noundef %22421) #10
  br label %22440

22423:                                            ; preds = %22401, %22394
  %22424 = load i32, ptr %503, align 4, !tbaa !5
  %22425 = call ptr @__errno_location() #11
  store i32 %22424, ptr %22425, align 4, !tbaa !5
  %22426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22427 = load i32, ptr @test_count, align 4, !tbaa !5
  %22428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22429 = load i32, ptr %22428, align 4, !tbaa !5
  %22430 = call ptr @s2n_strerror(i32 noundef %22429, ptr noundef @.str.10)
  %22431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22432 = load i32, ptr %22431, align 4, !tbaa !5
  %22433 = call ptr @s2n_strerror_debug(i32 noundef %22432, ptr noundef @.str.10)
  %22434 = call ptr @__errno_location() #11
  %22435 = load i32, ptr %22434, align 4, !tbaa !5
  %22436 = call ptr @strerror(i32 noundef %22435) #10
  %22437 = call ptr @__errno_location() #11
  %22438 = load i32, ptr %22437, align 4, !tbaa !5
  %22439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22426, ptr noundef @.str.11, i32 noundef %22427, ptr noundef @.str.26, ptr noundef @.str.7, i32 noundef 835, ptr noundef %22430, ptr noundef %22433, ptr noundef %22436, i32 noundef %22438) #10
  br label %22440

22440:                                            ; preds = %22423, %22406
  call void @llvm.lifetime.end.p0(i64 4, ptr %503) #10
  br label %22441

22441:                                            ; preds = %22440
  br label %22442

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

22443:                                            ; No predecessors!
  br label %22444

22444:                                            ; preds = %22443
  br label %22445

22445:                                            ; preds = %22444, %22386
  br label %22446

22446:                                            ; preds = %22445
  br label %22447

22447:                                            ; preds = %22446
  call void @llvm.lifetime.end.p0(i64 1, ptr %494) #10
  %22448 = call i32 @s2n_stuffer_free(ptr noundef %487)
  call void @llvm.lifetime.end.p0(i64 40, ptr %487) #10
  %22449 = call i32 @s2n_stuffer_free(ptr noundef %486)
  call void @llvm.lifetime.end.p0(i64 40, ptr %486) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %485) #10
  %22450 = call i32 @s2n_connection_ptr_free(ptr noundef %481)
  %22451 = getelementptr inbounds %struct.s2n_result, ptr %504, i32 0, i32 0
  store i32 %22450, ptr %22451, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %481) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %505) #10
  %22452 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %22452, ptr %505, align 8, !tbaa !9
  br label %22453

22453:                                            ; preds = %22447
  %22454 = load i32, ptr @test_count, align 4, !tbaa !5
  %22455 = add nsw i32 %22454, 1
  store i32 %22455, ptr @test_count, align 4, !tbaa !5
  %22456 = load ptr, ptr %505, align 8, !tbaa !9
  %22457 = icmp eq ptr %22456, null
  br i1 %22457, label %22458, label %22511

22458:                                            ; preds = %22453
  br label %22459

22459:                                            ; preds = %22458
  br label %22460

22460:                                            ; preds = %22459
  call void @llvm.lifetime.start.p0(i64 4, ptr %506) #10
  %22461 = call ptr @__errno_location() #11
  %22462 = load i32, ptr %22461, align 4, !tbaa !5
  store i32 %22462, ptr %506, align 4, !tbaa !5
  %22463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22464 = call i32 @s2n_print_stacktrace(ptr noundef %22463)
  %22465 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22466 = trunc i8 %22465 to i1
  br i1 %22466, label %22467, label %22489

22467:                                            ; preds = %22460
  %22468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22469 = call i32 @fileno(ptr noundef %22468) #10
  %22470 = call i32 @isatty(i32 noundef %22469) #10
  %22471 = icmp ne i32 %22470, 0
  br i1 %22471, label %22472, label %22489

22472:                                            ; preds = %22467
  %22473 = load i32, ptr %506, align 4, !tbaa !5
  %22474 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %22483 = call ptr @__errno_location() #11
  %22484 = load i32, ptr %22483, align 4, !tbaa !5
  %22485 = call ptr @strerror(i32 noundef %22484) #10
  %22486 = call ptr @__errno_location() #11
  %22487 = load i32, ptr %22486, align 4, !tbaa !5
  %22488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22475, ptr noundef @.str.8, i32 noundef %22476, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 844, ptr noundef %22479, ptr noundef %22482, ptr noundef %22485, i32 noundef %22487) #10
  br label %22506

22489:                                            ; preds = %22467, %22460
  %22490 = load i32, ptr %506, align 4, !tbaa !5
  %22491 = call ptr @__errno_location() #11
  store i32 %22490, ptr %22491, align 4, !tbaa !5
  %22492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22493 = load i32, ptr @test_count, align 4, !tbaa !5
  %22494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22495 = load i32, ptr %22494, align 4, !tbaa !5
  %22496 = call ptr @s2n_strerror(i32 noundef %22495, ptr noundef @.str.10)
  %22497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22498 = load i32, ptr %22497, align 4, !tbaa !5
  %22499 = call ptr @s2n_strerror_debug(i32 noundef %22498, ptr noundef @.str.10)
  %22500 = call ptr @__errno_location() #11
  %22501 = load i32, ptr %22500, align 4, !tbaa !5
  %22502 = call ptr @strerror(i32 noundef %22501) #10
  %22503 = call ptr @__errno_location() #11
  %22504 = load i32, ptr %22503, align 4, !tbaa !5
  %22505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22492, ptr noundef @.str.11, i32 noundef %22493, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 844, ptr noundef %22496, ptr noundef %22499, ptr noundef %22502, i32 noundef %22504) #10
  br label %22506

22506:                                            ; preds = %22489, %22472
  call void @llvm.lifetime.end.p0(i64 4, ptr %506) #10
  br label %22507

22507:                                            ; preds = %22506
  br label %22508

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

22509:                                            ; No predecessors!
  br label %22510

22510:                                            ; preds = %22509
  br label %22511

22511:                                            ; preds = %22510, %22453
  br label %22512

22512:                                            ; preds = %22511
  br label %22513

22513:                                            ; preds = %22512
  %22514 = load ptr, ptr %505, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %22514, i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 96, ptr %507) #10
  call void @llvm.memset.p0.i64(ptr align 8 %507, i8 0, i64 96, i1 false)
  br label %22515

22515:                                            ; preds = %22513
  %22516 = load i32, ptr @test_count, align 4, !tbaa !5
  %22517 = add nsw i32 %22516, 1
  store i32 %22517, ptr @test_count, align 4, !tbaa !5
  %22518 = load ptr, ptr %505, align 8, !tbaa !9
  %22519 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %22518, ptr noundef %507)
  %22520 = getelementptr inbounds %struct.s2n_result, ptr %508, i32 0, i32 0
  store i32 %22519, ptr %22520, align 4
  %22521 = getelementptr inbounds %struct.s2n_result, ptr %508, i32 0, i32 0
  %22522 = load i32, ptr %22521, align 4
  %22523 = call zeroext i1 @s2n_result_is_ok(i32 %22522)
  br i1 %22523, label %22577, label %22524

22524:                                            ; preds = %22515
  br label %22525

22525:                                            ; preds = %22524
  br label %22526

22526:                                            ; preds = %22525
  call void @llvm.lifetime.start.p0(i64 4, ptr %509) #10
  %22527 = call ptr @__errno_location() #11
  %22528 = load i32, ptr %22527, align 4, !tbaa !5
  store i32 %22528, ptr %509, align 4, !tbaa !5
  %22529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22530 = call i32 @s2n_print_stacktrace(ptr noundef %22529)
  %22531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22532 = trunc i8 %22531 to i1
  br i1 %22532, label %22533, label %22555

22533:                                            ; preds = %22526
  %22534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22535 = call i32 @fileno(ptr noundef %22534) #10
  %22536 = call i32 @isatty(i32 noundef %22535) #10
  %22537 = icmp ne i32 %22536, 0
  br i1 %22537, label %22538, label %22555

22538:                                            ; preds = %22533
  %22539 = load i32, ptr %509, align 4, !tbaa !5
  %22540 = call ptr @__errno_location() #11
  store i32 %22539, ptr %22540, align 4, !tbaa !5
  %22541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22542 = load i32, ptr @test_count, align 4, !tbaa !5
  %22543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22544 = load i32, ptr %22543, align 4, !tbaa !5
  %22545 = call ptr @s2n_strerror(i32 noundef %22544, ptr noundef @.str.10)
  %22546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22547 = load i32, ptr %22546, align 4, !tbaa !5
  %22548 = call ptr @s2n_strerror_debug(i32 noundef %22547, ptr noundef @.str.10)
  %22549 = call ptr @__errno_location() #11
  %22550 = load i32, ptr %22549, align 4, !tbaa !5
  %22551 = call ptr @strerror(i32 noundef %22550) #10
  %22552 = call ptr @__errno_location() #11
  %22553 = load i32, ptr %22552, align 4, !tbaa !5
  %22554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22541, ptr noundef @.str.8, i32 noundef %22542, ptr noundef @.str.116, ptr noundef @.str.7, i32 noundef 849, ptr noundef %22545, ptr noundef %22548, ptr noundef %22551, i32 noundef %22553) #10
  br label %22572

22555:                                            ; preds = %22533, %22526
  %22556 = load i32, ptr %509, align 4, !tbaa !5
  %22557 = call ptr @__errno_location() #11
  store i32 %22556, ptr %22557, align 4, !tbaa !5
  %22558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22559 = load i32, ptr @test_count, align 4, !tbaa !5
  %22560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22561 = load i32, ptr %22560, align 4, !tbaa !5
  %22562 = call ptr @s2n_strerror(i32 noundef %22561, ptr noundef @.str.10)
  %22563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22564 = load i32, ptr %22563, align 4, !tbaa !5
  %22565 = call ptr @s2n_strerror_debug(i32 noundef %22564, ptr noundef @.str.10)
  %22566 = call ptr @__errno_location() #11
  %22567 = load i32, ptr %22566, align 4, !tbaa !5
  %22568 = call ptr @strerror(i32 noundef %22567) #10
  %22569 = call ptr @__errno_location() #11
  %22570 = load i32, ptr %22569, align 4, !tbaa !5
  %22571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22558, ptr noundef @.str.11, i32 noundef %22559, ptr noundef @.str.116, ptr noundef @.str.7, i32 noundef 849, ptr noundef %22562, ptr noundef %22565, ptr noundef %22568, i32 noundef %22570) #10
  br label %22572

22572:                                            ; preds = %22555, %22538
  call void @llvm.lifetime.end.p0(i64 4, ptr %509) #10
  br label %22573

22573:                                            ; preds = %22572
  br label %22574

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

22575:                                            ; No predecessors!
  br label %22576

22576:                                            ; preds = %22575
  br label %22577

22577:                                            ; preds = %22576, %22515
  br label %22578

22578:                                            ; preds = %22577
  br label %22579

22579:                                            ; preds = %22578
  call void @llvm.lifetime.start.p0(i64 4, ptr %510) #10
  store i32 0, ptr %510, align 4, !tbaa !5
  br label %22580

22580:                                            ; preds = %22579
  %22581 = load i32, ptr @test_count, align 4, !tbaa !5
  %22582 = add nsw i32 %22581, 1
  store i32 %22582, ptr @test_count, align 4, !tbaa !5
  %22583 = load ptr, ptr %505, align 8, !tbaa !9
  %22584 = call i32 @s2n_shutdown_send(ptr noundef %22583, ptr noundef %510)
  %22585 = icmp eq i32 %22584, -1
  br i1 %22585, label %22586, label %22639

22586:                                            ; preds = %22580
  br label %22587

22587:                                            ; preds = %22586
  br label %22588

22588:                                            ; preds = %22587
  call void @llvm.lifetime.start.p0(i64 4, ptr %511) #10
  %22589 = call ptr @__errno_location() #11
  %22590 = load i32, ptr %22589, align 4, !tbaa !5
  store i32 %22590, ptr %511, align 4, !tbaa !5
  %22591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22592 = call i32 @s2n_print_stacktrace(ptr noundef %22591)
  %22593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22594 = trunc i8 %22593 to i1
  br i1 %22594, label %22595, label %22617

22595:                                            ; preds = %22588
  %22596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22597 = call i32 @fileno(ptr noundef %22596) #10
  %22598 = call i32 @isatty(i32 noundef %22597) #10
  %22599 = icmp ne i32 %22598, 0
  br i1 %22599, label %22600, label %22617

22600:                                            ; preds = %22595
  %22601 = load i32, ptr %511, align 4, !tbaa !5
  %22602 = call ptr @__errno_location() #11
  store i32 %22601, ptr %22602, align 4, !tbaa !5
  %22603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22604 = load i32, ptr @test_count, align 4, !tbaa !5
  %22605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22606 = load i32, ptr %22605, align 4, !tbaa !5
  %22607 = call ptr @s2n_strerror(i32 noundef %22606, ptr noundef @.str.10)
  %22608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22609 = load i32, ptr %22608, align 4, !tbaa !5
  %22610 = call ptr @s2n_strerror_debug(i32 noundef %22609, ptr noundef @.str.10)
  %22611 = call ptr @__errno_location() #11
  %22612 = load i32, ptr %22611, align 4, !tbaa !5
  %22613 = call ptr @strerror(i32 noundef %22612) #10
  %22614 = call ptr @__errno_location() #11
  %22615 = load i32, ptr %22614, align 4, !tbaa !5
  %22616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22603, ptr noundef @.str.8, i32 noundef %22604, ptr noundef @.str.110, ptr noundef @.str.7, i32 noundef 852, ptr noundef %22607, ptr noundef %22610, ptr noundef %22613, i32 noundef %22615) #10
  br label %22634

22617:                                            ; preds = %22595, %22588
  %22618 = load i32, ptr %511, align 4, !tbaa !5
  %22619 = call ptr @__errno_location() #11
  store i32 %22618, ptr %22619, align 4, !tbaa !5
  %22620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22621 = load i32, ptr @test_count, align 4, !tbaa !5
  %22622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22623 = load i32, ptr %22622, align 4, !tbaa !5
  %22624 = call ptr @s2n_strerror(i32 noundef %22623, ptr noundef @.str.10)
  %22625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22626 = load i32, ptr %22625, align 4, !tbaa !5
  %22627 = call ptr @s2n_strerror_debug(i32 noundef %22626, ptr noundef @.str.10)
  %22628 = call ptr @__errno_location() #11
  %22629 = load i32, ptr %22628, align 4, !tbaa !5
  %22630 = call ptr @strerror(i32 noundef %22629) #10
  %22631 = call ptr @__errno_location() #11
  %22632 = load i32, ptr %22631, align 4, !tbaa !5
  %22633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22620, ptr noundef @.str.11, i32 noundef %22621, ptr noundef @.str.110, ptr noundef @.str.7, i32 noundef 852, ptr noundef %22624, ptr noundef %22627, ptr noundef %22630, i32 noundef %22632) #10
  br label %22634

22634:                                            ; preds = %22617, %22600
  call void @llvm.lifetime.end.p0(i64 4, ptr %511) #10
  br label %22635

22635:                                            ; preds = %22634
  br label %22636

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

22637:                                            ; No predecessors!
  br label %22638

22638:                                            ; preds = %22637
  br label %22639

22639:                                            ; preds = %22638, %22580
  br label %22640

22640:                                            ; preds = %22639
  br label %22641

22641:                                            ; preds = %22640
  br label %22642

22642:                                            ; preds = %22641
  %22643 = load i32, ptr @test_count, align 4, !tbaa !5
  %22644 = add nsw i32 %22643, 1
  store i32 %22644, ptr @test_count, align 4, !tbaa !5
  %22645 = load i32, ptr %510, align 4, !tbaa !5
  %22646 = icmp eq i32 %22645, 0
  br i1 %22646, label %22700, label %22647

22647:                                            ; preds = %22642
  br label %22648

22648:                                            ; preds = %22647
  br label %22649

22649:                                            ; preds = %22648
  call void @llvm.lifetime.start.p0(i64 4, ptr %512) #10
  %22650 = call ptr @__errno_location() #11
  %22651 = load i32, ptr %22650, align 4, !tbaa !5
  store i32 %22651, ptr %512, align 4, !tbaa !5
  %22652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22653 = call i32 @s2n_print_stacktrace(ptr noundef %22652)
  %22654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22655 = trunc i8 %22654 to i1
  br i1 %22655, label %22656, label %22678

22656:                                            ; preds = %22649
  %22657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22658 = call i32 @fileno(ptr noundef %22657) #10
  %22659 = call i32 @isatty(i32 noundef %22658) #10
  %22660 = icmp ne i32 %22659, 0
  br i1 %22660, label %22661, label %22678

22661:                                            ; preds = %22656
  %22662 = load i32, ptr %512, align 4, !tbaa !5
  %22663 = call ptr @__errno_location() #11
  store i32 %22662, ptr %22663, align 4, !tbaa !5
  %22664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22665 = load i32, ptr @test_count, align 4, !tbaa !5
  %22666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22667 = load i32, ptr %22666, align 4, !tbaa !5
  %22668 = call ptr @s2n_strerror(i32 noundef %22667, ptr noundef @.str.10)
  %22669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22670 = load i32, ptr %22669, align 4, !tbaa !5
  %22671 = call ptr @s2n_strerror_debug(i32 noundef %22670, ptr noundef @.str.10)
  %22672 = call ptr @__errno_location() #11
  %22673 = load i32, ptr %22672, align 4, !tbaa !5
  %22674 = call ptr @strerror(i32 noundef %22673) #10
  %22675 = call ptr @__errno_location() #11
  %22676 = load i32, ptr %22675, align 4, !tbaa !5
  %22677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22664, ptr noundef @.str.8, i32 noundef %22665, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 853, ptr noundef %22668, ptr noundef %22671, ptr noundef %22674, i32 noundef %22676) #10
  br label %22695

22678:                                            ; preds = %22656, %22649
  %22679 = load i32, ptr %512, align 4, !tbaa !5
  %22680 = call ptr @__errno_location() #11
  store i32 %22679, ptr %22680, align 4, !tbaa !5
  %22681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22682 = load i32, ptr @test_count, align 4, !tbaa !5
  %22683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22684 = load i32, ptr %22683, align 4, !tbaa !5
  %22685 = call ptr @s2n_strerror(i32 noundef %22684, ptr noundef @.str.10)
  %22686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22687 = load i32, ptr %22686, align 4, !tbaa !5
  %22688 = call ptr @s2n_strerror_debug(i32 noundef %22687, ptr noundef @.str.10)
  %22689 = call ptr @__errno_location() #11
  %22690 = load i32, ptr %22689, align 4, !tbaa !5
  %22691 = call ptr @strerror(i32 noundef %22690) #10
  %22692 = call ptr @__errno_location() #11
  %22693 = load i32, ptr %22692, align 4, !tbaa !5
  %22694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22681, ptr noundef @.str.11, i32 noundef %22682, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 853, ptr noundef %22685, ptr noundef %22688, ptr noundef %22691, i32 noundef %22693) #10
  br label %22695

22695:                                            ; preds = %22678, %22661
  call void @llvm.lifetime.end.p0(i64 4, ptr %512) #10
  br label %22696

22696:                                            ; preds = %22695
  br label %22697

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

22698:                                            ; No predecessors!
  br label %22699

22699:                                            ; preds = %22698
  br label %22700

22700:                                            ; preds = %22699, %22642
  br label %22701

22701:                                            ; preds = %22700
  br label %22702

22702:                                            ; preds = %22701
  br label %22703

22703:                                            ; preds = %22702
  %22704 = load i32, ptr @test_count, align 4, !tbaa !5
  %22705 = add nsw i32 %22704, 1
  store i32 %22705, ptr @test_count, align 4, !tbaa !5
  %22706 = load ptr, ptr %505, align 8, !tbaa !9
  %22707 = getelementptr inbounds %struct.s2n_connection, ptr %22706, i32 0, i32 49
  %22708 = load i8, ptr %22707, align 1, !tbaa !16, !range !13, !noundef !14
  %22709 = trunc i8 %22708 to i1
  br i1 %22709, label %22763, label %22710

22710:                                            ; preds = %22703
  br label %22711

22711:                                            ; preds = %22710
  br label %22712

22712:                                            ; preds = %22711
  call void @llvm.lifetime.start.p0(i64 4, ptr %513) #10
  %22713 = call ptr @__errno_location() #11
  %22714 = load i32, ptr %22713, align 4, !tbaa !5
  store i32 %22714, ptr %513, align 4, !tbaa !5
  %22715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22716 = call i32 @s2n_print_stacktrace(ptr noundef %22715)
  %22717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22718 = trunc i8 %22717 to i1
  br i1 %22718, label %22719, label %22741

22719:                                            ; preds = %22712
  %22720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22721 = call i32 @fileno(ptr noundef %22720) #10
  %22722 = call i32 @isatty(i32 noundef %22721) #10
  %22723 = icmp ne i32 %22722, 0
  br i1 %22723, label %22724, label %22741

22724:                                            ; preds = %22719
  %22725 = load i32, ptr %513, align 4, !tbaa !5
  %22726 = call ptr @__errno_location() #11
  store i32 %22725, ptr %22726, align 4, !tbaa !5
  %22727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22728 = load i32, ptr @test_count, align 4, !tbaa !5
  %22729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22730 = load i32, ptr %22729, align 4, !tbaa !5
  %22731 = call ptr @s2n_strerror(i32 noundef %22730, ptr noundef @.str.10)
  %22732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22733 = load i32, ptr %22732, align 4, !tbaa !5
  %22734 = call ptr @s2n_strerror_debug(i32 noundef %22733, ptr noundef @.str.10)
  %22735 = call ptr @__errno_location() #11
  %22736 = load i32, ptr %22735, align 4, !tbaa !5
  %22737 = call ptr @strerror(i32 noundef %22736) #10
  %22738 = call ptr @__errno_location() #11
  %22739 = load i32, ptr %22738, align 4, !tbaa !5
  %22740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22727, ptr noundef @.str.8, i32 noundef %22728, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 854, ptr noundef %22731, ptr noundef %22734, ptr noundef %22737, i32 noundef %22739) #10
  br label %22758

22741:                                            ; preds = %22719, %22712
  %22742 = load i32, ptr %513, align 4, !tbaa !5
  %22743 = call ptr @__errno_location() #11
  store i32 %22742, ptr %22743, align 4, !tbaa !5
  %22744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22745 = load i32, ptr @test_count, align 4, !tbaa !5
  %22746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22747 = load i32, ptr %22746, align 4, !tbaa !5
  %22748 = call ptr @s2n_strerror(i32 noundef %22747, ptr noundef @.str.10)
  %22749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22750 = load i32, ptr %22749, align 4, !tbaa !5
  %22751 = call ptr @s2n_strerror_debug(i32 noundef %22750, ptr noundef @.str.10)
  %22752 = call ptr @__errno_location() #11
  %22753 = load i32, ptr %22752, align 4, !tbaa !5
  %22754 = call ptr @strerror(i32 noundef %22753) #10
  %22755 = call ptr @__errno_location() #11
  %22756 = load i32, ptr %22755, align 4, !tbaa !5
  %22757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22744, ptr noundef @.str.11, i32 noundef %22745, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 854, ptr noundef %22748, ptr noundef %22751, ptr noundef %22754, i32 noundef %22756) #10
  br label %22758

22758:                                            ; preds = %22741, %22724
  call void @llvm.lifetime.end.p0(i64 4, ptr %513) #10
  br label %22759

22759:                                            ; preds = %22758
  br label %22760

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

22761:                                            ; No predecessors!
  br label %22762

22762:                                            ; preds = %22761
  br label %22763

22763:                                            ; preds = %22762, %22703
  br label %22764

22764:                                            ; preds = %22763
  br label %22765

22765:                                            ; preds = %22764
  br label %22766

22766:                                            ; preds = %22765
  %22767 = load i32, ptr @test_count, align 4, !tbaa !5
  %22768 = add nsw i32 %22767, 1
  store i32 %22768, ptr @test_count, align 4, !tbaa !5
  %22769 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %507, i32 0, i32 2
  %22770 = load i64, ptr %22769, align 8, !tbaa !58
  %22771 = icmp eq i64 %22770, 1
  br i1 %22771, label %22825, label %22772

22772:                                            ; preds = %22766
  br label %22773

22773:                                            ; preds = %22772
  br label %22774

22774:                                            ; preds = %22773
  call void @llvm.lifetime.start.p0(i64 4, ptr %514) #10
  %22775 = call ptr @__errno_location() #11
  %22776 = load i32, ptr %22775, align 4, !tbaa !5
  store i32 %22776, ptr %514, align 4, !tbaa !5
  %22777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22778 = call i32 @s2n_print_stacktrace(ptr noundef %22777)
  %22779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22780 = trunc i8 %22779 to i1
  br i1 %22780, label %22781, label %22803

22781:                                            ; preds = %22774
  %22782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22783 = call i32 @fileno(ptr noundef %22782) #10
  %22784 = call i32 @isatty(i32 noundef %22783) #10
  %22785 = icmp ne i32 %22784, 0
  br i1 %22785, label %22786, label %22803

22786:                                            ; preds = %22781
  %22787 = load i32, ptr %514, align 4, !tbaa !5
  %22788 = call ptr @__errno_location() #11
  store i32 %22787, ptr %22788, align 4, !tbaa !5
  %22789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22790 = load i32, ptr @test_count, align 4, !tbaa !5
  %22791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22792 = load i32, ptr %22791, align 4, !tbaa !5
  %22793 = call ptr @s2n_strerror(i32 noundef %22792, ptr noundef @.str.10)
  %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_debug(i32 noundef %22795, ptr noundef @.str.10)
  %22797 = call ptr @__errno_location() #11
  %22798 = load i32, ptr %22797, align 4, !tbaa !5
  %22799 = call ptr @strerror(i32 noundef %22798) #10
  %22800 = call ptr @__errno_location() #11
  %22801 = load i32, ptr %22800, align 4, !tbaa !5
  %22802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22789, ptr noundef @.str.8, i32 noundef %22790, ptr noundef @.str.117, ptr noundef @.str.7, i32 noundef 855, ptr noundef %22793, ptr noundef %22796, ptr noundef %22799, i32 noundef %22801) #10
  br label %22820

22803:                                            ; preds = %22781, %22774
  %22804 = load i32, ptr %514, align 4, !tbaa !5
  %22805 = call ptr @__errno_location() #11
  store i32 %22804, ptr %22805, align 4, !tbaa !5
  %22806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22807 = load i32, ptr @test_count, align 4, !tbaa !5
  %22808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22809 = load i32, ptr %22808, align 4, !tbaa !5
  %22810 = call ptr @s2n_strerror(i32 noundef %22809, ptr noundef @.str.10)
  %22811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22812 = load i32, ptr %22811, align 4, !tbaa !5
  %22813 = call ptr @s2n_strerror_debug(i32 noundef %22812, ptr noundef @.str.10)
  %22814 = call ptr @__errno_location() #11
  %22815 = load i32, ptr %22814, align 4, !tbaa !5
  %22816 = call ptr @strerror(i32 noundef %22815) #10
  %22817 = call ptr @__errno_location() #11
  %22818 = load i32, ptr %22817, align 4, !tbaa !5
  %22819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22806, ptr noundef @.str.11, i32 noundef %22807, ptr noundef @.str.117, ptr noundef @.str.7, i32 noundef 855, ptr noundef %22810, ptr noundef %22813, ptr noundef %22816, i32 noundef %22818) #10
  br label %22820

22820:                                            ; preds = %22803, %22786
  call void @llvm.lifetime.end.p0(i64 4, ptr %514) #10
  br label %22821

22821:                                            ; preds = %22820
  br label %22822

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

22823:                                            ; No predecessors!
  br label %22824

22824:                                            ; preds = %22823
  br label %22825

22825:                                            ; preds = %22824, %22766
  br label %22826

22826:                                            ; preds = %22825
  br label %22827

22827:                                            ; preds = %22826
  br label %22828

22828:                                            ; preds = %22827
  %22829 = load i32, ptr @test_count, align 4, !tbaa !5
  %22830 = add nsw i32 %22829, 1
  store i32 %22830, ptr @test_count, align 4, !tbaa !5
  %22831 = call i32 @s2n_test_validate_ancillary(ptr noundef %507, i8 noundef zeroext 21, i16 noundef zeroext 2)
  %22832 = getelementptr inbounds %struct.s2n_result, ptr %515, i32 0, i32 0
  store i32 %22831, ptr %22832, align 4
  %22833 = getelementptr inbounds %struct.s2n_result, ptr %515, i32 0, i32 0
  %22834 = load i32, ptr %22833, align 4
  %22835 = call zeroext i1 @s2n_result_is_ok(i32 %22834)
  br i1 %22835, label %22889, label %22836

22836:                                            ; preds = %22828
  br label %22837

22837:                                            ; preds = %22836
  br label %22838

22838:                                            ; preds = %22837
  call void @llvm.lifetime.start.p0(i64 4, ptr %516) #10
  %22839 = call ptr @__errno_location() #11
  %22840 = load i32, ptr %22839, align 4, !tbaa !5
  store i32 %22840, ptr %516, align 4, !tbaa !5
  %22841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22842 = call i32 @s2n_print_stacktrace(ptr noundef %22841)
  %22843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22844 = trunc i8 %22843 to i1
  br i1 %22844, label %22845, label %22867

22845:                                            ; preds = %22838
  %22846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22847 = call i32 @fileno(ptr noundef %22846) #10
  %22848 = call i32 @isatty(i32 noundef %22847) #10
  %22849 = icmp ne i32 %22848, 0
  br i1 %22849, label %22850, label %22867

22850:                                            ; preds = %22845
  %22851 = load i32, ptr %516, align 4, !tbaa !5
  %22852 = call ptr @__errno_location() #11
  store i32 %22851, ptr %22852, align 4, !tbaa !5
  %22853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22854 = load i32, ptr @test_count, align 4, !tbaa !5
  %22855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22856 = load i32, ptr %22855, align 4, !tbaa !5
  %22857 = call ptr @s2n_strerror(i32 noundef %22856, ptr noundef @.str.10)
  %22858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22859 = load i32, ptr %22858, align 4, !tbaa !5
  %22860 = call ptr @s2n_strerror_debug(i32 noundef %22859, ptr noundef @.str.10)
  %22861 = call ptr @__errno_location() #11
  %22862 = load i32, ptr %22861, align 4, !tbaa !5
  %22863 = call ptr @strerror(i32 noundef %22862) #10
  %22864 = call ptr @__errno_location() #11
  %22865 = load i32, ptr %22864, align 4, !tbaa !5
  %22866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22853, ptr noundef @.str.8, i32 noundef %22854, ptr noundef @.str.118, ptr noundef @.str.7, i32 noundef 856, ptr noundef %22857, ptr noundef %22860, ptr noundef %22863, i32 noundef %22865) #10
  br label %22884

22867:                                            ; preds = %22845, %22838
  %22868 = load i32, ptr %516, align 4, !tbaa !5
  %22869 = call ptr @__errno_location() #11
  store i32 %22868, ptr %22869, align 4, !tbaa !5
  %22870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22871 = load i32, ptr @test_count, align 4, !tbaa !5
  %22872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22873 = load i32, ptr %22872, align 4, !tbaa !5
  %22874 = call ptr @s2n_strerror(i32 noundef %22873, ptr noundef @.str.10)
  %22875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22876 = load i32, ptr %22875, align 4, !tbaa !5
  %22877 = call ptr @s2n_strerror_debug(i32 noundef %22876, ptr noundef @.str.10)
  %22878 = call ptr @__errno_location() #11
  %22879 = load i32, ptr %22878, align 4, !tbaa !5
  %22880 = call ptr @strerror(i32 noundef %22879) #10
  %22881 = call ptr @__errno_location() #11
  %22882 = load i32, ptr %22881, align 4, !tbaa !5
  %22883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22870, ptr noundef @.str.11, i32 noundef %22871, ptr noundef @.str.118, ptr noundef @.str.7, i32 noundef 856, ptr noundef %22874, ptr noundef %22877, ptr noundef %22880, i32 noundef %22882) #10
  br label %22884

22884:                                            ; preds = %22867, %22850
  call void @llvm.lifetime.end.p0(i64 4, ptr %516) #10
  br label %22885

22885:                                            ; preds = %22884
  br label %22886

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

22887:                                            ; No predecessors!
  br label %22888

22888:                                            ; preds = %22887
  br label %22889

22889:                                            ; preds = %22888, %22828
  br label %22890

22890:                                            ; preds = %22889
  br label %22891

22891:                                            ; preds = %22890
  br label %22892

22892:                                            ; preds = %22891
  %22893 = load i32, ptr @test_count, align 4, !tbaa !5
  %22894 = add nsw i32 %22893, 1
  store i32 %22894, ptr @test_count, align 4, !tbaa !5
  %22895 = getelementptr inbounds [2 x i8], ptr %9, i64 0, i64 0
  %22896 = call i32 @s2n_test_validate_data(ptr noundef %507, ptr noundef %22895, i16 noundef zeroext 2)
  %22897 = getelementptr inbounds %struct.s2n_result, ptr %517, i32 0, i32 0
  store i32 %22896, ptr %22897, align 4
  %22898 = getelementptr inbounds %struct.s2n_result, ptr %517, i32 0, i32 0
  %22899 = load i32, ptr %22898, align 4
  %22900 = call zeroext i1 @s2n_result_is_ok(i32 %22899)
  br i1 %22900, label %22954, label %22901

22901:                                            ; preds = %22892
  br label %22902

22902:                                            ; preds = %22901
  br label %22903

22903:                                            ; preds = %22902
  call void @llvm.lifetime.start.p0(i64 4, ptr %518) #10
  %22904 = call ptr @__errno_location() #11
  %22905 = load i32, ptr %22904, align 4, !tbaa !5
  store i32 %22905, ptr %518, align 4, !tbaa !5
  %22906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22907 = call i32 @s2n_print_stacktrace(ptr noundef %22906)
  %22908 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22909 = trunc i8 %22908 to i1
  br i1 %22909, label %22910, label %22932

22910:                                            ; preds = %22903
  %22911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22912 = call i32 @fileno(ptr noundef %22911) #10
  %22913 = call i32 @isatty(i32 noundef %22912) #10
  %22914 = icmp ne i32 %22913, 0
  br i1 %22914, label %22915, label %22932

22915:                                            ; preds = %22910
  %22916 = load i32, ptr %518, align 4, !tbaa !5
  %22917 = call ptr @__errno_location() #11
  store i32 %22916, ptr %22917, align 4, !tbaa !5
  %22918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22919 = load i32, ptr @test_count, align 4, !tbaa !5
  %22920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22921 = load i32, ptr %22920, align 4, !tbaa !5
  %22922 = call ptr @s2n_strerror(i32 noundef %22921, ptr noundef @.str.10)
  %22923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22924 = load i32, ptr %22923, align 4, !tbaa !5
  %22925 = call ptr @s2n_strerror_debug(i32 noundef %22924, ptr noundef @.str.10)
  %22926 = call ptr @__errno_location() #11
  %22927 = load i32, ptr %22926, align 4, !tbaa !5
  %22928 = call ptr @strerror(i32 noundef %22927) #10
  %22929 = call ptr @__errno_location() #11
  %22930 = load i32, ptr %22929, align 4, !tbaa !5
  %22931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22918, ptr noundef @.str.8, i32 noundef %22919, ptr noundef @.str.119, ptr noundef @.str.7, i32 noundef 858, ptr noundef %22922, ptr noundef %22925, ptr noundef %22928, i32 noundef %22930) #10
  br label %22949

22932:                                            ; preds = %22910, %22903
  %22933 = load i32, ptr %518, align 4, !tbaa !5
  %22934 = call ptr @__errno_location() #11
  store i32 %22933, ptr %22934, align 4, !tbaa !5
  %22935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22936 = load i32, ptr @test_count, align 4, !tbaa !5
  %22937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22938 = load i32, ptr %22937, align 4, !tbaa !5
  %22939 = call ptr @s2n_strerror(i32 noundef %22938, ptr noundef @.str.10)
  %22940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22941 = load i32, ptr %22940, align 4, !tbaa !5
  %22942 = call ptr @s2n_strerror_debug(i32 noundef %22941, ptr noundef @.str.10)
  %22943 = call ptr @__errno_location() #11
  %22944 = load i32, ptr %22943, align 4, !tbaa !5
  %22945 = call ptr @strerror(i32 noundef %22944) #10
  %22946 = call ptr @__errno_location() #11
  %22947 = load i32, ptr %22946, align 4, !tbaa !5
  %22948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22935, ptr noundef @.str.11, i32 noundef %22936, ptr noundef @.str.119, ptr noundef @.str.7, i32 noundef 858, ptr noundef %22939, ptr noundef %22942, ptr noundef %22945, i32 noundef %22947) #10
  br label %22949

22949:                                            ; preds = %22932, %22915
  call void @llvm.lifetime.end.p0(i64 4, ptr %518) #10
  br label %22950

22950:                                            ; preds = %22949
  br label %22951

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

22952:                                            ; No predecessors!
  br label %22953

22953:                                            ; preds = %22952
  br label %22954

22954:                                            ; preds = %22953, %22892
  br label %22955

22955:                                            ; preds = %22954
  br label %22956

22956:                                            ; preds = %22955
  call void @llvm.lifetime.start.p0(i64 8, ptr %519) #10
  store i64 0, ptr %519, align 8, !tbaa !45
  br label %22957

22957:                                            ; preds = %23210, %22956
  %22958 = load i64, ptr %519, align 8, !tbaa !45
  %22959 = icmp ult i64 %22958, 5
  br i1 %22959, label %22961, label %22960

22960:                                            ; preds = %22957
  call void @llvm.lifetime.end.p0(i64 8, ptr %519) #10
  br label %23213

22961:                                            ; preds = %22957
  br label %22962

22962:                                            ; preds = %22961
  %22963 = load i32, ptr @test_count, align 4, !tbaa !5
  %22964 = add nsw i32 %22963, 1
  store i32 %22964, ptr @test_count, align 4, !tbaa !5
  %22965 = load ptr, ptr %505, align 8, !tbaa !9
  %22966 = call i32 @s2n_shutdown_send(ptr noundef %22965, ptr noundef %510)
  %22967 = icmp eq i32 %22966, -1
  br i1 %22967, label %22968, label %23021

22968:                                            ; preds = %22962
  br label %22969

22969:                                            ; preds = %22968
  br label %22970

22970:                                            ; preds = %22969
  call void @llvm.lifetime.start.p0(i64 4, ptr %520) #10
  %22971 = call ptr @__errno_location() #11
  %22972 = load i32, ptr %22971, align 4, !tbaa !5
  store i32 %22972, ptr %520, align 4, !tbaa !5
  %22973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22974 = call i32 @s2n_print_stacktrace(ptr noundef %22973)
  %22975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22976 = trunc i8 %22975 to i1
  br i1 %22976, label %22977, label %22999

22977:                                            ; preds = %22970
  %22978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22979 = call i32 @fileno(ptr noundef %22978) #10
  %22980 = call i32 @isatty(i32 noundef %22979) #10
  %22981 = icmp ne i32 %22980, 0
  br i1 %22981, label %22982, label %22999

22982:                                            ; preds = %22977
  %22983 = load i32, ptr %520, align 4, !tbaa !5
  %22984 = call ptr @__errno_location() #11
  store i32 %22983, ptr %22984, align 4, !tbaa !5
  %22985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22986 = load i32, ptr @test_count, align 4, !tbaa !5
  %22987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22988 = load i32, ptr %22987, align 4, !tbaa !5
  %22989 = call ptr @s2n_strerror(i32 noundef %22988, ptr noundef @.str.10)
  %22990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22991 = load i32, ptr %22990, align 4, !tbaa !5
  %22992 = call ptr @s2n_strerror_debug(i32 noundef %22991, ptr noundef @.str.10)
  %22993 = call ptr @__errno_location() #11
  %22994 = load i32, ptr %22993, align 4, !tbaa !5
  %22995 = call ptr @strerror(i32 noundef %22994) #10
  %22996 = call ptr @__errno_location() #11
  %22997 = load i32, ptr %22996, align 4, !tbaa !5
  %22998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22985, ptr noundef @.str.8, i32 noundef %22986, ptr noundef @.str.110, ptr noundef @.str.7, i32 noundef 862, ptr noundef %22989, ptr noundef %22992, ptr noundef %22995, i32 noundef %22997) #10
  br label %23016

22999:                                            ; preds = %22977, %22970
  %23000 = load i32, ptr %520, align 4, !tbaa !5
  %23001 = call ptr @__errno_location() #11
  store i32 %23000, ptr %23001, align 4, !tbaa !5
  %23002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23003 = load i32, ptr @test_count, align 4, !tbaa !5
  %23004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23005 = load i32, ptr %23004, align 4, !tbaa !5
  %23006 = call ptr @s2n_strerror(i32 noundef %23005, ptr noundef @.str.10)
  %23007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23008 = load i32, ptr %23007, align 4, !tbaa !5
  %23009 = call ptr @s2n_strerror_debug(i32 noundef %23008, ptr noundef @.str.10)
  %23010 = call ptr @__errno_location() #11
  %23011 = load i32, ptr %23010, align 4, !tbaa !5
  %23012 = call ptr @strerror(i32 noundef %23011) #10
  %23013 = call ptr @__errno_location() #11
  %23014 = load i32, ptr %23013, align 4, !tbaa !5
  %23015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23002, ptr noundef @.str.11, i32 noundef %23003, ptr noundef @.str.110, ptr noundef @.str.7, i32 noundef 862, ptr noundef %23006, ptr noundef %23009, ptr noundef %23012, i32 noundef %23014) #10
  br label %23016

23016:                                            ; preds = %22999, %22982
  call void @llvm.lifetime.end.p0(i64 4, ptr %520) #10
  br label %23017

23017:                                            ; preds = %23016
  br label %23018

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

23019:                                            ; No predecessors!
  br label %23020

23020:                                            ; preds = %23019
  br label %23021

23021:                                            ; preds = %23020, %22962
  br label %23022

23022:                                            ; preds = %23021
  br label %23023

23023:                                            ; preds = %23022
  br label %23024

23024:                                            ; preds = %23023
  %23025 = load i32, ptr @test_count, align 4, !tbaa !5
  %23026 = add nsw i32 %23025, 1
  store i32 %23026, ptr @test_count, align 4, !tbaa !5
  %23027 = load i32, ptr %510, align 4, !tbaa !5
  %23028 = icmp eq i32 %23027, 0
  br i1 %23028, label %23082, label %23029

23029:                                            ; preds = %23024
  br label %23030

23030:                                            ; preds = %23029
  br label %23031

23031:                                            ; preds = %23030
  call void @llvm.lifetime.start.p0(i64 4, ptr %521) #10
  %23032 = call ptr @__errno_location() #11
  %23033 = load i32, ptr %23032, align 4, !tbaa !5
  store i32 %23033, ptr %521, align 4, !tbaa !5
  %23034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23035 = call i32 @s2n_print_stacktrace(ptr noundef %23034)
  %23036 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23037 = trunc i8 %23036 to i1
  br i1 %23037, label %23038, label %23060

23038:                                            ; preds = %23031
  %23039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23040 = call i32 @fileno(ptr noundef %23039) #10
  %23041 = call i32 @isatty(i32 noundef %23040) #10
  %23042 = icmp ne i32 %23041, 0
  br i1 %23042, label %23043, label %23060

23043:                                            ; preds = %23038
  %23044 = load i32, ptr %521, align 4, !tbaa !5
  %23045 = call ptr @__errno_location() #11
  store i32 %23044, ptr %23045, align 4, !tbaa !5
  %23046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23047 = load i32, ptr @test_count, align 4, !tbaa !5
  %23048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23049 = load i32, ptr %23048, align 4, !tbaa !5
  %23050 = call ptr @s2n_strerror(i32 noundef %23049, ptr noundef @.str.10)
  %23051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23052 = load i32, ptr %23051, align 4, !tbaa !5
  %23053 = call ptr @s2n_strerror_debug(i32 noundef %23052, ptr noundef @.str.10)
  %23054 = call ptr @__errno_location() #11
  %23055 = load i32, ptr %23054, align 4, !tbaa !5
  %23056 = call ptr @strerror(i32 noundef %23055) #10
  %23057 = call ptr @__errno_location() #11
  %23058 = load i32, ptr %23057, align 4, !tbaa !5
  %23059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23046, ptr noundef @.str.8, i32 noundef %23047, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 863, ptr noundef %23050, ptr noundef %23053, ptr noundef %23056, i32 noundef %23058) #10
  br label %23077

23060:                                            ; preds = %23038, %23031
  %23061 = load i32, ptr %521, align 4, !tbaa !5
  %23062 = call ptr @__errno_location() #11
  store i32 %23061, ptr %23062, align 4, !tbaa !5
  %23063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23064 = load i32, ptr @test_count, align 4, !tbaa !5
  %23065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23066 = load i32, ptr %23065, align 4, !tbaa !5
  %23067 = call ptr @s2n_strerror(i32 noundef %23066, ptr noundef @.str.10)
  %23068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23069 = load i32, ptr %23068, align 4, !tbaa !5
  %23070 = call ptr @s2n_strerror_debug(i32 noundef %23069, ptr noundef @.str.10)
  %23071 = call ptr @__errno_location() #11
  %23072 = load i32, ptr %23071, align 4, !tbaa !5
  %23073 = call ptr @strerror(i32 noundef %23072) #10
  %23074 = call ptr @__errno_location() #11
  %23075 = load i32, ptr %23074, align 4, !tbaa !5
  %23076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23063, ptr noundef @.str.11, i32 noundef %23064, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 863, ptr noundef %23067, ptr noundef %23070, ptr noundef %23073, i32 noundef %23075) #10
  br label %23077

23077:                                            ; preds = %23060, %23043
  call void @llvm.lifetime.end.p0(i64 4, ptr %521) #10
  br label %23078

23078:                                            ; preds = %23077
  br label %23079

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

23080:                                            ; No predecessors!
  br label %23081

23081:                                            ; preds = %23080
  br label %23082

23082:                                            ; preds = %23081, %23024
  br label %23083

23083:                                            ; preds = %23082
  br label %23084

23084:                                            ; preds = %23083
  br label %23085

23085:                                            ; preds = %23084
  %23086 = load i32, ptr @test_count, align 4, !tbaa !5
  %23087 = add nsw i32 %23086, 1
  store i32 %23087, ptr @test_count, align 4, !tbaa !5
  %23088 = load ptr, ptr %505, align 8, !tbaa !9
  %23089 = getelementptr inbounds %struct.s2n_connection, ptr %23088, i32 0, i32 49
  %23090 = load i8, ptr %23089, align 1, !tbaa !16, !range !13, !noundef !14
  %23091 = trunc i8 %23090 to i1
  br i1 %23091, label %23145, label %23092

23092:                                            ; preds = %23085
  br label %23093

23093:                                            ; preds = %23092
  br label %23094

23094:                                            ; preds = %23093
  call void @llvm.lifetime.start.p0(i64 4, ptr %522) #10
  %23095 = call ptr @__errno_location() #11
  %23096 = load i32, ptr %23095, align 4, !tbaa !5
  store i32 %23096, ptr %522, align 4, !tbaa !5
  %23097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23098 = call i32 @s2n_print_stacktrace(ptr noundef %23097)
  %23099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23100 = trunc i8 %23099 to i1
  br i1 %23100, label %23101, label %23123

23101:                                            ; preds = %23094
  %23102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23103 = call i32 @fileno(ptr noundef %23102) #10
  %23104 = call i32 @isatty(i32 noundef %23103) #10
  %23105 = icmp ne i32 %23104, 0
  br i1 %23105, label %23106, label %23123

23106:                                            ; preds = %23101
  %23107 = load i32, ptr %522, align 4, !tbaa !5
  %23108 = call ptr @__errno_location() #11
  store i32 %23107, ptr %23108, align 4, !tbaa !5
  %23109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23110 = load i32, ptr @test_count, align 4, !tbaa !5
  %23111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23112 = load i32, ptr %23111, align 4, !tbaa !5
  %23113 = call ptr @s2n_strerror(i32 noundef %23112, ptr noundef @.str.10)
  %23114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23115 = load i32, ptr %23114, align 4, !tbaa !5
  %23116 = call ptr @s2n_strerror_debug(i32 noundef %23115, ptr noundef @.str.10)
  %23117 = call ptr @__errno_location() #11
  %23118 = load i32, ptr %23117, align 4, !tbaa !5
  %23119 = call ptr @strerror(i32 noundef %23118) #10
  %23120 = call ptr @__errno_location() #11
  %23121 = load i32, ptr %23120, align 4, !tbaa !5
  %23122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23109, ptr noundef @.str.8, i32 noundef %23110, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 864, ptr noundef %23113, ptr noundef %23116, ptr noundef %23119, i32 noundef %23121) #10
  br label %23140

23123:                                            ; preds = %23101, %23094
  %23124 = load i32, ptr %522, align 4, !tbaa !5
  %23125 = call ptr @__errno_location() #11
  store i32 %23124, ptr %23125, align 4, !tbaa !5
  %23126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23127 = load i32, ptr @test_count, align 4, !tbaa !5
  %23128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23129 = load i32, ptr %23128, align 4, !tbaa !5
  %23130 = call ptr @s2n_strerror(i32 noundef %23129, ptr noundef @.str.10)
  %23131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23132 = load i32, ptr %23131, align 4, !tbaa !5
  %23133 = call ptr @s2n_strerror_debug(i32 noundef %23132, ptr noundef @.str.10)
  %23134 = call ptr @__errno_location() #11
  %23135 = load i32, ptr %23134, align 4, !tbaa !5
  %23136 = call ptr @strerror(i32 noundef %23135) #10
  %23137 = call ptr @__errno_location() #11
  %23138 = load i32, ptr %23137, align 4, !tbaa !5
  %23139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23126, ptr noundef @.str.11, i32 noundef %23127, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 864, ptr noundef %23130, ptr noundef %23133, ptr noundef %23136, i32 noundef %23138) #10
  br label %23140

23140:                                            ; preds = %23123, %23106
  call void @llvm.lifetime.end.p0(i64 4, ptr %522) #10
  br label %23141

23141:                                            ; preds = %23140
  br label %23142

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

23143:                                            ; No predecessors!
  br label %23144

23144:                                            ; preds = %23143
  br label %23145

23145:                                            ; preds = %23144, %23085
  br label %23146

23146:                                            ; preds = %23145
  br label %23147

23147:                                            ; preds = %23146
  br label %23148

23148:                                            ; preds = %23147
  %23149 = load i32, ptr @test_count, align 4, !tbaa !5
  %23150 = add nsw i32 %23149, 1
  store i32 %23150, ptr @test_count, align 4, !tbaa !5
  %23151 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %507, i32 0, i32 2
  %23152 = load i64, ptr %23151, align 8, !tbaa !58
  %23153 = icmp eq i64 %23152, 1
  br i1 %23153, label %23207, label %23154

23154:                                            ; preds = %23148
  br label %23155

23155:                                            ; preds = %23154
  br label %23156

23156:                                            ; preds = %23155
  call void @llvm.lifetime.start.p0(i64 4, ptr %523) #10
  %23157 = call ptr @__errno_location() #11
  %23158 = load i32, ptr %23157, align 4, !tbaa !5
  store i32 %23158, ptr %523, align 4, !tbaa !5
  %23159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23160 = call i32 @s2n_print_stacktrace(ptr noundef %23159)
  %23161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23162 = trunc i8 %23161 to i1
  br i1 %23162, label %23163, label %23185

23163:                                            ; preds = %23156
  %23164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23165 = call i32 @fileno(ptr noundef %23164) #10
  %23166 = call i32 @isatty(i32 noundef %23165) #10
  %23167 = icmp ne i32 %23166, 0
  br i1 %23167, label %23168, label %23185

23168:                                            ; preds = %23163
  %23169 = load i32, ptr %523, align 4, !tbaa !5
  %23170 = call ptr @__errno_location() #11
  store i32 %23169, ptr %23170, align 4, !tbaa !5
  %23171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23172 = load i32, ptr @test_count, align 4, !tbaa !5
  %23173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23174 = load i32, ptr %23173, align 4, !tbaa !5
  %23175 = call ptr @s2n_strerror(i32 noundef %23174, ptr noundef @.str.10)
  %23176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23177 = load i32, ptr %23176, align 4, !tbaa !5
  %23178 = call ptr @s2n_strerror_debug(i32 noundef %23177, ptr noundef @.str.10)
  %23179 = call ptr @__errno_location() #11
  %23180 = load i32, ptr %23179, align 4, !tbaa !5
  %23181 = call ptr @strerror(i32 noundef %23180) #10
  %23182 = call ptr @__errno_location() #11
  %23183 = load i32, ptr %23182, align 4, !tbaa !5
  %23184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23171, ptr noundef @.str.8, i32 noundef %23172, ptr noundef @.str.117, ptr noundef @.str.7, i32 noundef 865, ptr noundef %23175, ptr noundef %23178, ptr noundef %23181, i32 noundef %23183) #10
  br label %23202

23185:                                            ; preds = %23163, %23156
  %23186 = load i32, ptr %523, align 4, !tbaa !5
  %23187 = call ptr @__errno_location() #11
  store i32 %23186, ptr %23187, align 4, !tbaa !5
  %23188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23189 = load i32, ptr @test_count, align 4, !tbaa !5
  %23190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23191 = load i32, ptr %23190, align 4, !tbaa !5
  %23192 = call ptr @s2n_strerror(i32 noundef %23191, ptr noundef @.str.10)
  %23193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23194 = load i32, ptr %23193, align 4, !tbaa !5
  %23195 = call ptr @s2n_strerror_debug(i32 noundef %23194, ptr noundef @.str.10)
  %23196 = call ptr @__errno_location() #11
  %23197 = load i32, ptr %23196, align 4, !tbaa !5
  %23198 = call ptr @strerror(i32 noundef %23197) #10
  %23199 = call ptr @__errno_location() #11
  %23200 = load i32, ptr %23199, align 4, !tbaa !5
  %23201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23188, ptr noundef @.str.11, i32 noundef %23189, ptr noundef @.str.117, ptr noundef @.str.7, i32 noundef 865, ptr noundef %23192, ptr noundef %23195, ptr noundef %23198, i32 noundef %23200) #10
  br label %23202

23202:                                            ; preds = %23185, %23168
  call void @llvm.lifetime.end.p0(i64 4, ptr %523) #10
  br label %23203

23203:                                            ; preds = %23202
  br label %23204

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

23205:                                            ; No predecessors!
  br label %23206

23206:                                            ; preds = %23205
  br label %23207

23207:                                            ; preds = %23206, %23148
  br label %23208

23208:                                            ; preds = %23207
  br label %23209

23209:                                            ; preds = %23208
  br label %23210

23210:                                            ; preds = %23209
  %23211 = load i64, ptr %519, align 8, !tbaa !45
  %23212 = add i64 %23211, 1
  store i64 %23212, ptr %519, align 8, !tbaa !45
  br label %22957, !llvm.loop !60

23213:                                            ; preds = %22960
  call void @llvm.lifetime.end.p0(i64 4, ptr %510) #10
  %23214 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef %507)
  %23215 = getelementptr inbounds %struct.s2n_result, ptr %524, i32 0, i32 0
  store i32 %23214, ptr %23215, align 4
  call void @llvm.lifetime.end.p0(i64 96, ptr %507) #10
  %23216 = call i32 @s2n_connection_ptr_free(ptr noundef %505)
  %23217 = getelementptr inbounds %struct.s2n_result, ptr %525, i32 0, i32 0
  store i32 %23216, ptr %23217, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %505) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %526) #10
  store i64 1, ptr %526, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 8, ptr %527) #10
  store i64 1, ptr %527, align 8, !tbaa !45
  br label %23218

23218:                                            ; preds = %23213
  %23219 = load i32, ptr @test_count, align 4, !tbaa !5
  %23220 = add nsw i32 %23219, 1
  store i32 %23220, ptr @test_count, align 4, !tbaa !5
  br label %23221

23221:                                            ; preds = %23218
  br label %23222

23222:                                            ; preds = %23221
  call void @llvm.lifetime.start.p0(i64 8, ptr %528) #10
  %23223 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %23223, ptr %528, align 8, !tbaa !9
  br label %23224

23224:                                            ; preds = %23222
  %23225 = load i32, ptr @test_count, align 4, !tbaa !5
  %23226 = add nsw i32 %23225, 1
  store i32 %23226, ptr @test_count, align 4, !tbaa !5
  %23227 = load ptr, ptr %528, align 8, !tbaa !9
  %23228 = icmp eq ptr %23227, null
  br i1 %23228, label %23229, label %23282

23229:                                            ; preds = %23224
  br label %23230

23230:                                            ; preds = %23229
  br label %23231

23231:                                            ; preds = %23230
  call void @llvm.lifetime.start.p0(i64 4, ptr %529) #10
  %23232 = call ptr @__errno_location() #11
  %23233 = load i32, ptr %23232, align 4, !tbaa !5
  store i32 %23233, ptr %529, align 4, !tbaa !5
  %23234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23235 = call i32 @s2n_print_stacktrace(ptr noundef %23234)
  %23236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23237 = trunc i8 %23236 to i1
  br i1 %23237, label %23238, label %23260

23238:                                            ; preds = %23231
  %23239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23240 = call i32 @fileno(ptr noundef %23239) #10
  %23241 = call i32 @isatty(i32 noundef %23240) #10
  %23242 = icmp ne i32 %23241, 0
  br i1 %23242, label %23243, label %23260

23243:                                            ; preds = %23238
  %23244 = load i32, ptr %529, align 4, !tbaa !5
  %23245 = call ptr @__errno_location() #11
  store i32 %23244, ptr %23245, align 4, !tbaa !5
  %23246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23247 = load i32, ptr @test_count, align 4, !tbaa !5
  %23248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23249 = load i32, ptr %23248, align 4, !tbaa !5
  %23250 = call ptr @s2n_strerror(i32 noundef %23249, ptr noundef @.str.10)
  %23251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23252 = load i32, ptr %23251, align 4, !tbaa !5
  %23253 = call ptr @s2n_strerror_debug(i32 noundef %23252, ptr noundef @.str.10)
  %23254 = call ptr @__errno_location() #11
  %23255 = load i32, ptr %23254, align 4, !tbaa !5
  %23256 = call ptr @strerror(i32 noundef %23255) #10
  %23257 = call ptr @__errno_location() #11
  %23258 = load i32, ptr %23257, align 4, !tbaa !5
  %23259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23246, ptr noundef @.str.8, i32 noundef %23247, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 878, ptr noundef %23250, ptr noundef %23253, ptr noundef %23256, i32 noundef %23258) #10
  br label %23277

23260:                                            ; preds = %23238, %23231
  %23261 = load i32, ptr %529, align 4, !tbaa !5
  %23262 = call ptr @__errno_location() #11
  store i32 %23261, ptr %23262, align 4, !tbaa !5
  %23263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23264 = load i32, ptr @test_count, align 4, !tbaa !5
  %23265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23266 = load i32, ptr %23265, align 4, !tbaa !5
  %23267 = call ptr @s2n_strerror(i32 noundef %23266, ptr noundef @.str.10)
  %23268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23269 = load i32, ptr %23268, align 4, !tbaa !5
  %23270 = call ptr @s2n_strerror_debug(i32 noundef %23269, ptr noundef @.str.10)
  %23271 = call ptr @__errno_location() #11
  %23272 = load i32, ptr %23271, align 4, !tbaa !5
  %23273 = call ptr @strerror(i32 noundef %23272) #10
  %23274 = call ptr @__errno_location() #11
  %23275 = load i32, ptr %23274, align 4, !tbaa !5
  %23276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23263, ptr noundef @.str.11, i32 noundef %23264, ptr noundef @.str.21, ptr noundef @.str.7, i32 noundef 878, ptr noundef %23267, ptr noundef %23270, ptr noundef %23273, i32 noundef %23275) #10
  br label %23277

23277:                                            ; preds = %23260, %23243
  call void @llvm.lifetime.end.p0(i64 4, ptr %529) #10
  br label %23278

23278:                                            ; preds = %23277
  br label %23279

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

23280:                                            ; No predecessors!
  br label %23281

23281:                                            ; preds = %23280
  br label %23282

23282:                                            ; preds = %23281, %23224
  br label %23283

23283:                                            ; preds = %23282
  br label %23284

23284:                                            ; preds = %23283
  %23285 = load ptr, ptr %528, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %23285, i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 96, ptr %530) #10
  call void @llvm.memset.p0.i64(ptr align 8 %530, i8 0, i64 96, i1 false)
  br label %23286

23286:                                            ; preds = %23284
  %23287 = load i32, ptr @test_count, align 4, !tbaa !5
  %23288 = add nsw i32 %23287, 1
  store i32 %23288, ptr @test_count, align 4, !tbaa !5
  %23289 = load ptr, ptr %528, align 8, !tbaa !9
  %23290 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %23289, ptr noundef %530)
  %23291 = getelementptr inbounds %struct.s2n_result, ptr %531, i32 0, i32 0
  store i32 %23290, ptr %23291, align 4
  %23292 = getelementptr inbounds %struct.s2n_result, ptr %531, i32 0, i32 0
  %23293 = load i32, ptr %23292, align 4
  %23294 = call zeroext i1 @s2n_result_is_ok(i32 %23293)
  br i1 %23294, label %23348, label %23295

23295:                                            ; preds = %23286
  br label %23296

23296:                                            ; preds = %23295
  br label %23297

23297:                                            ; preds = %23296
  call void @llvm.lifetime.start.p0(i64 4, ptr %532) #10
  %23298 = call ptr @__errno_location() #11
  %23299 = load i32, ptr %23298, align 4, !tbaa !5
  store i32 %23299, ptr %532, align 4, !tbaa !5
  %23300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23301 = call i32 @s2n_print_stacktrace(ptr noundef %23300)
  %23302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23303 = trunc i8 %23302 to i1
  br i1 %23303, label %23304, label %23326

23304:                                            ; preds = %23297
  %23305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23306 = call i32 @fileno(ptr noundef %23305) #10
  %23307 = call i32 @isatty(i32 noundef %23306) #10
  %23308 = icmp ne i32 %23307, 0
  br i1 %23308, label %23309, label %23326

23309:                                            ; preds = %23304
  %23310 = load i32, ptr %532, align 4, !tbaa !5
  %23311 = call ptr @__errno_location() #11
  store i32 %23310, ptr %23311, align 4, !tbaa !5
  %23312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23313 = load i32, ptr @test_count, align 4, !tbaa !5
  %23314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23315 = load i32, ptr %23314, align 4, !tbaa !5
  %23316 = call ptr @s2n_strerror(i32 noundef %23315, ptr noundef @.str.10)
  %23317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23318 = load i32, ptr %23317, align 4, !tbaa !5
  %23319 = call ptr @s2n_strerror_debug(i32 noundef %23318, ptr noundef @.str.10)
  %23320 = call ptr @__errno_location() #11
  %23321 = load i32, ptr %23320, align 4, !tbaa !5
  %23322 = call ptr @strerror(i32 noundef %23321) #10
  %23323 = call ptr @__errno_location() #11
  %23324 = load i32, ptr %23323, align 4, !tbaa !5
  %23325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23312, ptr noundef @.str.8, i32 noundef %23313, ptr noundef @.str.116, ptr noundef @.str.7, i32 noundef 883, ptr noundef %23316, ptr noundef %23319, ptr noundef %23322, i32 noundef %23324) #10
  br label %23343

23326:                                            ; preds = %23304, %23297
  %23327 = load i32, ptr %532, align 4, !tbaa !5
  %23328 = call ptr @__errno_location() #11
  store i32 %23327, ptr %23328, align 4, !tbaa !5
  %23329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23330 = load i32, ptr @test_count, align 4, !tbaa !5
  %23331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23332 = load i32, ptr %23331, align 4, !tbaa !5
  %23333 = call ptr @s2n_strerror(i32 noundef %23332, ptr noundef @.str.10)
  %23334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23335 = load i32, ptr %23334, align 4, !tbaa !5
  %23336 = call ptr @s2n_strerror_debug(i32 noundef %23335, ptr noundef @.str.10)
  %23337 = call ptr @__errno_location() #11
  %23338 = load i32, ptr %23337, align 4, !tbaa !5
  %23339 = call ptr @strerror(i32 noundef %23338) #10
  %23340 = call ptr @__errno_location() #11
  %23341 = load i32, ptr %23340, align 4, !tbaa !5
  %23342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23329, ptr noundef @.str.11, i32 noundef %23330, ptr noundef @.str.116, ptr noundef @.str.7, i32 noundef 883, ptr noundef %23333, ptr noundef %23336, ptr noundef %23339, i32 noundef %23341) #10
  br label %23343

23343:                                            ; preds = %23326, %23309
  call void @llvm.lifetime.end.p0(i64 4, ptr %532) #10
  br label %23344

23344:                                            ; preds = %23343
  br label %23345

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

23346:                                            ; No predecessors!
  br label %23347

23347:                                            ; preds = %23346
  br label %23348

23348:                                            ; preds = %23347, %23286
  br label %23349

23349:                                            ; preds = %23348
  br label %23350

23350:                                            ; preds = %23349
  br label %23351

23351:                                            ; preds = %23350
  %23352 = load i32, ptr @test_count, align 4, !tbaa !5
  %23353 = add nsw i32 %23352, 1
  store i32 %23353, ptr @test_count, align 4, !tbaa !5
  %23354 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %530, i32 0, i32 1
  %23355 = call i32 @s2n_stuffer_free(ptr noundef %23354)
  %23356 = icmp eq i32 %23355, -1
  br i1 %23356, label %23357, label %23410

23357:                                            ; preds = %23351
  br label %23358

23358:                                            ; preds = %23357
  br label %23359

23359:                                            ; preds = %23358
  call void @llvm.lifetime.start.p0(i64 4, ptr %533) #10
  %23360 = call ptr @__errno_location() #11
  %23361 = load i32, ptr %23360, align 4, !tbaa !5
  store i32 %23361, ptr %533, align 4, !tbaa !5
  %23362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23363 = call i32 @s2n_print_stacktrace(ptr noundef %23362)
  %23364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23365 = trunc i8 %23364 to i1
  br i1 %23365, label %23366, label %23388

23366:                                            ; preds = %23359
  %23367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23368 = call i32 @fileno(ptr noundef %23367) #10
  %23369 = call i32 @isatty(i32 noundef %23368) #10
  %23370 = icmp ne i32 %23369, 0
  br i1 %23370, label %23371, label %23388

23371:                                            ; preds = %23366
  %23372 = load i32, ptr %533, align 4, !tbaa !5
  %23373 = call ptr @__errno_location() #11
  store i32 %23372, ptr %23373, align 4, !tbaa !5
  %23374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23375 = load i32, ptr @test_count, align 4, !tbaa !5
  %23376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23377 = load i32, ptr %23376, align 4, !tbaa !5
  %23378 = call ptr @s2n_strerror(i32 noundef %23377, ptr noundef @.str.10)
  %23379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23380 = load i32, ptr %23379, align 4, !tbaa !5
  %23381 = call ptr @s2n_strerror_debug(i32 noundef %23380, ptr noundef @.str.10)
  %23382 = call ptr @__errno_location() #11
  %23383 = load i32, ptr %23382, align 4, !tbaa !5
  %23384 = call ptr @strerror(i32 noundef %23383) #10
  %23385 = call ptr @__errno_location() #11
  %23386 = load i32, ptr %23385, align 4, !tbaa !5
  %23387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23374, ptr noundef @.str.8, i32 noundef %23375, ptr noundef @.str.120, ptr noundef @.str.7, i32 noundef 884, ptr noundef %23378, ptr noundef %23381, ptr noundef %23384, i32 noundef %23386) #10
  br label %23405

23388:                                            ; preds = %23366, %23359
  %23389 = load i32, ptr %533, align 4, !tbaa !5
  %23390 = call ptr @__errno_location() #11
  store i32 %23389, ptr %23390, align 4, !tbaa !5
  %23391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23392 = load i32, ptr @test_count, align 4, !tbaa !5
  %23393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23394 = load i32, ptr %23393, align 4, !tbaa !5
  %23395 = call ptr @s2n_strerror(i32 noundef %23394, ptr noundef @.str.10)
  %23396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23397 = load i32, ptr %23396, align 4, !tbaa !5
  %23398 = call ptr @s2n_strerror_debug(i32 noundef %23397, ptr noundef @.str.10)
  %23399 = call ptr @__errno_location() #11
  %23400 = load i32, ptr %23399, align 4, !tbaa !5
  %23401 = call ptr @strerror(i32 noundef %23400) #10
  %23402 = call ptr @__errno_location() #11
  %23403 = load i32, ptr %23402, align 4, !tbaa !5
  %23404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23391, ptr noundef @.str.11, i32 noundef %23392, ptr noundef @.str.120, ptr noundef @.str.7, i32 noundef 884, ptr noundef %23395, ptr noundef %23398, ptr noundef %23401, i32 noundef %23403) #10
  br label %23405

23405:                                            ; preds = %23388, %23371
  call void @llvm.lifetime.end.p0(i64 4, ptr %533) #10
  br label %23406

23406:                                            ; preds = %23405
  br label %23407

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

23408:                                            ; No predecessors!
  br label %23409

23409:                                            ; preds = %23408
  br label %23410

23410:                                            ; preds = %23409, %23351
  br label %23411

23411:                                            ; preds = %23410
  br label %23412

23412:                                            ; preds = %23411
  br label %23413

23413:                                            ; preds = %23412
  %23414 = load i32, ptr @test_count, align 4, !tbaa !5
  %23415 = add nsw i32 %23414, 1
  store i32 %23415, ptr @test_count, align 4, !tbaa !5
  %23416 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %530, i32 0, i32 1
  %23417 = call i32 @s2n_stuffer_alloc(ptr noundef %23416, i32 noundef 1)
  %23418 = icmp eq i32 %23417, -1
  br i1 %23418, label %23419, label %23472

23419:                                            ; preds = %23413
  br label %23420

23420:                                            ; preds = %23419
  br label %23421

23421:                                            ; preds = %23420
  call void @llvm.lifetime.start.p0(i64 4, ptr %534) #10
  %23422 = call ptr @__errno_location() #11
  %23423 = load i32, ptr %23422, align 4, !tbaa !5
  store i32 %23423, ptr %534, align 4, !tbaa !5
  %23424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23425 = call i32 @s2n_print_stacktrace(ptr noundef %23424)
  %23426 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23427 = trunc i8 %23426 to i1
  br i1 %23427, label %23428, label %23450

23428:                                            ; preds = %23421
  %23429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23430 = call i32 @fileno(ptr noundef %23429) #10
  %23431 = call i32 @isatty(i32 noundef %23430) #10
  %23432 = icmp ne i32 %23431, 0
  br i1 %23432, label %23433, label %23450

23433:                                            ; preds = %23428
  %23434 = load i32, ptr %534, align 4, !tbaa !5
  %23435 = call ptr @__errno_location() #11
  store i32 %23434, ptr %23435, align 4, !tbaa !5
  %23436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23437 = load i32, ptr @test_count, align 4, !tbaa !5
  %23438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23439 = load i32, ptr %23438, align 4, !tbaa !5
  %23440 = call ptr @s2n_strerror(i32 noundef %23439, ptr noundef @.str.10)
  %23441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23442 = load i32, ptr %23441, align 4, !tbaa !5
  %23443 = call ptr @s2n_strerror_debug(i32 noundef %23442, ptr noundef @.str.10)
  %23444 = call ptr @__errno_location() #11
  %23445 = load i32, ptr %23444, align 4, !tbaa !5
  %23446 = call ptr @strerror(i32 noundef %23445) #10
  %23447 = call ptr @__errno_location() #11
  %23448 = load i32, ptr %23447, align 4, !tbaa !5
  %23449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23436, ptr noundef @.str.8, i32 noundef %23437, ptr noundef @.str.121, ptr noundef @.str.7, i32 noundef 885, ptr noundef %23440, ptr noundef %23443, ptr noundef %23446, i32 noundef %23448) #10
  br label %23467

23450:                                            ; preds = %23428, %23421
  %23451 = load i32, ptr %534, align 4, !tbaa !5
  %23452 = call ptr @__errno_location() #11
  store i32 %23451, ptr %23452, align 4, !tbaa !5
  %23453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23454 = load i32, ptr @test_count, align 4, !tbaa !5
  %23455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23456 = load i32, ptr %23455, align 4, !tbaa !5
  %23457 = call ptr @s2n_strerror(i32 noundef %23456, ptr noundef @.str.10)
  %23458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23459 = load i32, ptr %23458, align 4, !tbaa !5
  %23460 = call ptr @s2n_strerror_debug(i32 noundef %23459, ptr noundef @.str.10)
  %23461 = call ptr @__errno_location() #11
  %23462 = load i32, ptr %23461, align 4, !tbaa !5
  %23463 = call ptr @strerror(i32 noundef %23462) #10
  %23464 = call ptr @__errno_location() #11
  %23465 = load i32, ptr %23464, align 4, !tbaa !5
  %23466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23453, ptr noundef @.str.11, i32 noundef %23454, ptr noundef @.str.121, ptr noundef @.str.7, i32 noundef 885, ptr noundef %23457, ptr noundef %23460, ptr noundef %23463, i32 noundef %23465) #10
  br label %23467

23467:                                            ; preds = %23450, %23433
  call void @llvm.lifetime.end.p0(i64 4, ptr %534) #10
  br label %23468

23468:                                            ; preds = %23467
  br label %23469

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

23470:                                            ; No predecessors!
  br label %23471

23471:                                            ; preds = %23470
  br label %23472

23472:                                            ; preds = %23471, %23413
  br label %23473

23473:                                            ; preds = %23472
  br label %23474

23474:                                            ; preds = %23473
  call void @llvm.lifetime.start.p0(i64 8, ptr %535) #10
  store i64 2, ptr %535, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 4, ptr %536) #10
  store i32 0, ptr %536, align 4, !tbaa !5
  br label %23475

23475:                                            ; preds = %23474
  br label %23476

23476:                                            ; preds = %23475
  br label %23477

23477:                                            ; preds = %23476
  %23478 = load i32, ptr @test_count, align 4, !tbaa !5
  %23479 = add nsw i32 %23478, 1
  store i32 %23479, ptr @test_count, align 4, !tbaa !5
  %23480 = load ptr, ptr %528, align 8, !tbaa !9
  %23481 = call i32 @s2n_shutdown_send(ptr noundef %23480, ptr noundef %536)
  %23482 = icmp eq i32 %23481, -1
  br i1 %23482, label %23536, label %23483

23483:                                            ; preds = %23477
  br label %23484

23484:                                            ; preds = %23483
  br label %23485

23485:                                            ; preds = %23484
  call void @llvm.lifetime.start.p0(i64 4, ptr %537) #10
  %23486 = call ptr @__errno_location() #11
  %23487 = load i32, ptr %23486, align 4, !tbaa !5
  store i32 %23487, ptr %537, align 4, !tbaa !5
  %23488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23489 = call i32 @s2n_print_stacktrace(ptr noundef %23488)
  %23490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23491 = trunc i8 %23490 to i1
  br i1 %23491, label %23492, label %23514

23492:                                            ; preds = %23485
  %23493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23494 = call i32 @fileno(ptr noundef %23493) #10
  %23495 = call i32 @isatty(i32 noundef %23494) #10
  %23496 = icmp ne i32 %23495, 0
  br i1 %23496, label %23497, label %23514

23497:                                            ; preds = %23492
  %23498 = load i32, ptr %537, align 4, !tbaa !5
  %23499 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %23508 = call ptr @__errno_location() #11
  %23509 = load i32, ptr %23508, align 4, !tbaa !5
  %23510 = call ptr @strerror(i32 noundef %23509) #10
  %23511 = call ptr @__errno_location() #11
  %23512 = load i32, ptr %23511, align 4, !tbaa !5
  %23513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23500, ptr noundef @.str.8, i32 noundef %23501, ptr noundef @.str.111, ptr noundef @.str.7, i32 noundef 893, ptr noundef %23504, ptr noundef %23507, ptr noundef %23510, i32 noundef %23512) #10
  br label %23531

23514:                                            ; preds = %23492, %23485
  %23515 = load i32, ptr %537, align 4, !tbaa !5
  %23516 = call ptr @__errno_location() #11
  store i32 %23515, ptr %23516, align 4, !tbaa !5
  %23517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23518 = load i32, ptr @test_count, align 4, !tbaa !5
  %23519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23520 = load i32, ptr %23519, align 4, !tbaa !5
  %23521 = call ptr @s2n_strerror(i32 noundef %23520, ptr noundef @.str.10)
  %23522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23523 = load i32, ptr %23522, align 4, !tbaa !5
  %23524 = call ptr @s2n_strerror_debug(i32 noundef %23523, ptr noundef @.str.10)
  %23525 = call ptr @__errno_location() #11
  %23526 = load i32, ptr %23525, align 4, !tbaa !5
  %23527 = call ptr @strerror(i32 noundef %23526) #10
  %23528 = call ptr @__errno_location() #11
  %23529 = load i32, ptr %23528, align 4, !tbaa !5
  %23530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23517, ptr noundef @.str.11, i32 noundef %23518, ptr noundef @.str.111, ptr noundef @.str.7, i32 noundef 893, ptr noundef %23521, ptr noundef %23524, ptr noundef %23527, i32 noundef %23529) #10
  br label %23531

23531:                                            ; preds = %23514, %23497
  call void @llvm.lifetime.end.p0(i64 4, ptr %537) #10
  br label %23532

23532:                                            ; preds = %23531
  br label %23533

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

23534:                                            ; No predecessors!
  br label %23535

23535:                                            ; preds = %23534
  br label %23536

23536:                                            ; preds = %23535, %23477
  br label %23537

23537:                                            ; preds = %23536
  br label %23538

23538:                                            ; preds = %23537
  br label %23539

23539:                                            ; preds = %23538
  %23540 = load i32, ptr @test_count, align 4, !tbaa !5
  %23541 = add nsw i32 %23540, 1
  store i32 %23541, ptr @test_count, align 4, !tbaa !5
  %23542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23543 = load i32, ptr %23542, align 4, !tbaa !5
  %23544 = icmp eq i32 %23543, 201326592
  br i1 %23544, label %23598, label %23545

23545:                                            ; preds = %23539
  br label %23546

23546:                                            ; preds = %23545
  br label %23547

23547:                                            ; preds = %23546
  call void @llvm.lifetime.start.p0(i64 4, ptr %538) #10
  %23548 = call ptr @__errno_location() #11
  %23549 = load i32, ptr %23548, align 4, !tbaa !5
  store i32 %23549, ptr %538, align 4, !tbaa !5
  %23550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23551 = call i32 @s2n_print_stacktrace(ptr noundef %23550)
  %23552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23553 = trunc i8 %23552 to i1
  br i1 %23553, label %23554, label %23576

23554:                                            ; preds = %23547
  %23555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23556 = call i32 @fileno(ptr noundef %23555) #10
  %23557 = call i32 @isatty(i32 noundef %23556) #10
  %23558 = icmp ne i32 %23557, 0
  br i1 %23558, label %23559, label %23576

23559:                                            ; preds = %23554
  %23560 = load i32, ptr %538, align 4, !tbaa !5
  %23561 = call ptr @__errno_location() #11
  store i32 %23560, ptr %23561, align 4, !tbaa !5
  %23562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23563 = load i32, ptr @test_count, align 4, !tbaa !5
  %23564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23565 = load i32, ptr %23564, align 4, !tbaa !5
  %23566 = call ptr @s2n_strerror(i32 noundef %23565, ptr noundef @.str.10)
  %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_debug(i32 noundef %23568, ptr noundef @.str.10)
  %23570 = call ptr @__errno_location() #11
  %23571 = load i32, ptr %23570, align 4, !tbaa !5
  %23572 = call ptr @strerror(i32 noundef %23571) #10
  %23573 = call ptr @__errno_location() #11
  %23574 = load i32, ptr %23573, align 4, !tbaa !5
  %23575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23562, ptr noundef @.str.8, i32 noundef %23563, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 893, ptr noundef %23566, ptr noundef %23569, ptr noundef %23572, i32 noundef %23574) #10
  br label %23593

23576:                                            ; preds = %23554, %23547
  %23577 = load i32, ptr %538, align 4, !tbaa !5
  %23578 = call ptr @__errno_location() #11
  store i32 %23577, ptr %23578, align 4, !tbaa !5
  %23579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23580 = load i32, ptr @test_count, align 4, !tbaa !5
  %23581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23582 = load i32, ptr %23581, align 4, !tbaa !5
  %23583 = call ptr @s2n_strerror(i32 noundef %23582, ptr noundef @.str.10)
  %23584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23585 = load i32, ptr %23584, align 4, !tbaa !5
  %23586 = call ptr @s2n_strerror_debug(i32 noundef %23585, ptr noundef @.str.10)
  %23587 = call ptr @__errno_location() #11
  %23588 = load i32, ptr %23587, align 4, !tbaa !5
  %23589 = call ptr @strerror(i32 noundef %23588) #10
  %23590 = call ptr @__errno_location() #11
  %23591 = load i32, ptr %23590, align 4, !tbaa !5
  %23592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23579, ptr noundef @.str.11, i32 noundef %23580, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 893, ptr noundef %23583, ptr noundef %23586, ptr noundef %23589, i32 noundef %23591) #10
  br label %23593

23593:                                            ; preds = %23576, %23559
  call void @llvm.lifetime.end.p0(i64 4, ptr %538) #10
  br label %23594

23594:                                            ; preds = %23593
  br label %23595

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

23596:                                            ; No predecessors!
  br label %23597

23597:                                            ; preds = %23596
  br label %23598

23598:                                            ; preds = %23597, %23539
  br label %23599

23599:                                            ; preds = %23598
  br label %23600

23600:                                            ; preds = %23599
  br label %23601

23601:                                            ; preds = %23600
  %23602 = load i32, ptr @test_count, align 4, !tbaa !5
  %23603 = add nsw i32 %23602, 1
  store i32 %23603, ptr @test_count, align 4, !tbaa !5
  %23604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23605 = load i32, ptr %23604, align 4, !tbaa !5
  %23606 = call ptr @s2n_strerror_debug(i32 noundef %23605, ptr noundef @.str.10)
  %23607 = icmp eq ptr %23606, null
  br i1 %23607, label %23608, label %23661

23608:                                            ; preds = %23601
  br label %23609

23609:                                            ; preds = %23608
  br label %23610

23610:                                            ; preds = %23609
  call void @llvm.lifetime.start.p0(i64 4, ptr %539) #10
  %23611 = call ptr @__errno_location() #11
  %23612 = load i32, ptr %23611, align 4, !tbaa !5
  store i32 %23612, ptr %539, align 4, !tbaa !5
  %23613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23614 = call i32 @s2n_print_stacktrace(ptr noundef %23613)
  %23615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23616 = trunc i8 %23615 to i1
  br i1 %23616, label %23617, label %23639

23617:                                            ; preds = %23610
  %23618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23619 = call i32 @fileno(ptr noundef %23618) #10
  %23620 = call i32 @isatty(i32 noundef %23619) #10
  %23621 = icmp ne i32 %23620, 0
  br i1 %23621, label %23622, label %23639

23622:                                            ; preds = %23617
  %23623 = load i32, ptr %539, align 4, !tbaa !5
  %23624 = call ptr @__errno_location() #11
  store i32 %23623, ptr %23624, align 4, !tbaa !5
  %23625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23626 = load i32, ptr @test_count, align 4, !tbaa !5
  %23627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23628 = load i32, ptr %23627, align 4, !tbaa !5
  %23629 = call ptr @s2n_strerror(i32 noundef %23628, ptr noundef @.str.10)
  %23630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23631 = load i32, ptr %23630, align 4, !tbaa !5
  %23632 = call ptr @s2n_strerror_debug(i32 noundef %23631, ptr noundef @.str.10)
  %23633 = call ptr @__errno_location() #11
  %23634 = load i32, ptr %23633, align 4, !tbaa !5
  %23635 = call ptr @strerror(i32 noundef %23634) #10
  %23636 = call ptr @__errno_location() #11
  %23637 = load i32, ptr %23636, align 4, !tbaa !5
  %23638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23625, ptr noundef @.str.8, i32 noundef %23626, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 893, ptr noundef %23629, ptr noundef %23632, ptr noundef %23635, i32 noundef %23637) #10
  br label %23656

23639:                                            ; preds = %23617, %23610
  %23640 = load i32, ptr %539, align 4, !tbaa !5
  %23641 = call ptr @__errno_location() #11
  store i32 %23640, ptr %23641, align 4, !tbaa !5
  %23642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23643 = load i32, ptr @test_count, align 4, !tbaa !5
  %23644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23645 = load i32, ptr %23644, align 4, !tbaa !5
  %23646 = call ptr @s2n_strerror(i32 noundef %23645, ptr noundef @.str.10)
  %23647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23648 = load i32, ptr %23647, align 4, !tbaa !5
  %23649 = call ptr @s2n_strerror_debug(i32 noundef %23648, ptr noundef @.str.10)
  %23650 = call ptr @__errno_location() #11
  %23651 = load i32, ptr %23650, align 4, !tbaa !5
  %23652 = call ptr @strerror(i32 noundef %23651) #10
  %23653 = call ptr @__errno_location() #11
  %23654 = load i32, ptr %23653, align 4, !tbaa !5
  %23655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23642, ptr noundef @.str.11, i32 noundef %23643, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 893, ptr noundef %23646, ptr noundef %23649, ptr noundef %23652, i32 noundef %23654) #10
  br label %23656

23656:                                            ; preds = %23639, %23622
  call void @llvm.lifetime.end.p0(i64 4, ptr %539) #10
  br label %23657

23657:                                            ; preds = %23656
  br label %23658

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

23659:                                            ; No predecessors!
  br label %23660

23660:                                            ; preds = %23659
  br label %23661

23661:                                            ; preds = %23660, %23601
  br label %23662

23662:                                            ; preds = %23661
  br label %23663

23663:                                            ; preds = %23662
  br label %23664

23664:                                            ; preds = %23663
  br label %23665

23665:                                            ; preds = %23664
  br label %23666

23666:                                            ; preds = %23665
  %23667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %23667, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %23668 = call ptr @__errno_location() #11
  store i32 0, ptr %23668, align 4, !tbaa !5
  br label %23669

23669:                                            ; preds = %23666
  br label %23670

23670:                                            ; preds = %23669
  br label %23671

23671:                                            ; preds = %23670
  br label %23672

23672:                                            ; preds = %23671
  br label %23673

23673:                                            ; preds = %23672
  %23674 = load i32, ptr @test_count, align 4, !tbaa !5
  %23675 = add nsw i32 %23674, 1
  store i32 %23675, ptr @test_count, align 4, !tbaa !5
  %23676 = load i32, ptr %536, align 4, !tbaa !5
  %23677 = icmp eq i32 %23676, 2
  br i1 %23677, label %23731, label %23678

23678:                                            ; preds = %23673
  br label %23679

23679:                                            ; preds = %23678
  br label %23680

23680:                                            ; preds = %23679
  call void @llvm.lifetime.start.p0(i64 4, ptr %540) #10
  %23681 = call ptr @__errno_location() #11
  %23682 = load i32, ptr %23681, align 4, !tbaa !5
  store i32 %23682, ptr %540, align 4, !tbaa !5
  %23683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23684 = call i32 @s2n_print_stacktrace(ptr noundef %23683)
  %23685 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23686 = trunc i8 %23685 to i1
  br i1 %23686, label %23687, label %23709

23687:                                            ; preds = %23680
  %23688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23689 = call i32 @fileno(ptr noundef %23688) #10
  %23690 = call i32 @isatty(i32 noundef %23689) #10
  %23691 = icmp ne i32 %23690, 0
  br i1 %23691, label %23692, label %23709

23692:                                            ; preds = %23687
  %23693 = load i32, ptr %540, align 4, !tbaa !5
  %23694 = call ptr @__errno_location() #11
  store i32 %23693, ptr %23694, align 4, !tbaa !5
  %23695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23696 = load i32, ptr @test_count, align 4, !tbaa !5
  %23697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23698 = load i32, ptr %23697, align 4, !tbaa !5
  %23699 = call ptr @s2n_strerror(i32 noundef %23698, ptr noundef @.str.10)
  %23700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23701 = load i32, ptr %23700, align 4, !tbaa !5
  %23702 = call ptr @s2n_strerror_debug(i32 noundef %23701, ptr noundef @.str.10)
  %23703 = call ptr @__errno_location() #11
  %23704 = load i32, ptr %23703, align 4, !tbaa !5
  %23705 = call ptr @strerror(i32 noundef %23704) #10
  %23706 = call ptr @__errno_location() #11
  %23707 = load i32, ptr %23706, align 4, !tbaa !5
  %23708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23695, ptr noundef @.str.8, i32 noundef %23696, ptr noundef @.str.112, ptr noundef @.str.7, i32 noundef 894, ptr noundef %23699, ptr noundef %23702, ptr noundef %23705, i32 noundef %23707) #10
  br label %23726

23709:                                            ; preds = %23687, %23680
  %23710 = load i32, ptr %540, align 4, !tbaa !5
  %23711 = call ptr @__errno_location() #11
  store i32 %23710, ptr %23711, align 4, !tbaa !5
  %23712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23713 = load i32, ptr @test_count, align 4, !tbaa !5
  %23714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23715 = load i32, ptr %23714, align 4, !tbaa !5
  %23716 = call ptr @s2n_strerror(i32 noundef %23715, ptr noundef @.str.10)
  %23717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23718 = load i32, ptr %23717, align 4, !tbaa !5
  %23719 = call ptr @s2n_strerror_debug(i32 noundef %23718, ptr noundef @.str.10)
  %23720 = call ptr @__errno_location() #11
  %23721 = load i32, ptr %23720, align 4, !tbaa !5
  %23722 = call ptr @strerror(i32 noundef %23721) #10
  %23723 = call ptr @__errno_location() #11
  %23724 = load i32, ptr %23723, align 4, !tbaa !5
  %23725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23712, ptr noundef @.str.11, i32 noundef %23713, ptr noundef @.str.112, ptr noundef @.str.7, i32 noundef 894, ptr noundef %23716, ptr noundef %23719, ptr noundef %23722, i32 noundef %23724) #10
  br label %23726

23726:                                            ; preds = %23709, %23692
  call void @llvm.lifetime.end.p0(i64 4, ptr %540) #10
  br label %23727

23727:                                            ; preds = %23726
  br label %23728

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

23729:                                            ; No predecessors!
  br label %23730

23730:                                            ; preds = %23729
  br label %23731

23731:                                            ; preds = %23730, %23673
  br label %23732

23732:                                            ; preds = %23731
  br label %23733

23733:                                            ; preds = %23732
  br label %23734

23734:                                            ; preds = %23733
  %23735 = load i32, ptr @test_count, align 4, !tbaa !5
  %23736 = add nsw i32 %23735, 1
  store i32 %23736, ptr @test_count, align 4, !tbaa !5
  %23737 = load ptr, ptr %528, align 8, !tbaa !9
  %23738 = getelementptr inbounds %struct.s2n_connection, ptr %23737, i32 0, i32 49
  %23739 = load i8, ptr %23738, align 1, !tbaa !16, !range !13, !noundef !14
  %23740 = trunc i8 %23739 to i1
  br i1 %23740, label %23794, label %23741

23741:                                            ; preds = %23734
  br label %23742

23742:                                            ; preds = %23741
  br label %23743

23743:                                            ; preds = %23742
  call void @llvm.lifetime.start.p0(i64 4, ptr %541) #10
  %23744 = call ptr @__errno_location() #11
  %23745 = load i32, ptr %23744, align 4, !tbaa !5
  store i32 %23745, ptr %541, align 4, !tbaa !5
  %23746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23747 = call i32 @s2n_print_stacktrace(ptr noundef %23746)
  %23748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23749 = trunc i8 %23748 to i1
  br i1 %23749, label %23750, label %23772

23750:                                            ; preds = %23743
  %23751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23752 = call i32 @fileno(ptr noundef %23751) #10
  %23753 = call i32 @isatty(i32 noundef %23752) #10
  %23754 = icmp ne i32 %23753, 0
  br i1 %23754, label %23755, label %23772

23755:                                            ; preds = %23750
  %23756 = load i32, ptr %541, align 4, !tbaa !5
  %23757 = call ptr @__errno_location() #11
  store i32 %23756, ptr %23757, align 4, !tbaa !5
  %23758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23759 = load i32, ptr @test_count, align 4, !tbaa !5
  %23760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23761 = load i32, ptr %23760, align 4, !tbaa !5
  %23762 = call ptr @s2n_strerror(i32 noundef %23761, ptr noundef @.str.10)
  %23763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23764 = load i32, ptr %23763, align 4, !tbaa !5
  %23765 = call ptr @s2n_strerror_debug(i32 noundef %23764, ptr noundef @.str.10)
  %23766 = call ptr @__errno_location() #11
  %23767 = load i32, ptr %23766, align 4, !tbaa !5
  %23768 = call ptr @strerror(i32 noundef %23767) #10
  %23769 = call ptr @__errno_location() #11
  %23770 = load i32, ptr %23769, align 4, !tbaa !5
  %23771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23758, ptr noundef @.str.8, i32 noundef %23759, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 895, ptr noundef %23762, ptr noundef %23765, ptr noundef %23768, i32 noundef %23770) #10
  br label %23789

23772:                                            ; preds = %23750, %23743
  %23773 = load i32, ptr %541, align 4, !tbaa !5
  %23774 = call ptr @__errno_location() #11
  store i32 %23773, ptr %23774, align 4, !tbaa !5
  %23775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23776 = load i32, ptr @test_count, align 4, !tbaa !5
  %23777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23778 = load i32, ptr %23777, align 4, !tbaa !5
  %23779 = call ptr @s2n_strerror(i32 noundef %23778, ptr noundef @.str.10)
  %23780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23781 = load i32, ptr %23780, align 4, !tbaa !5
  %23782 = call ptr @s2n_strerror_debug(i32 noundef %23781, ptr noundef @.str.10)
  %23783 = call ptr @__errno_location() #11
  %23784 = load i32, ptr %23783, align 4, !tbaa !5
  %23785 = call ptr @strerror(i32 noundef %23784) #10
  %23786 = call ptr @__errno_location() #11
  %23787 = load i32, ptr %23786, align 4, !tbaa !5
  %23788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23775, ptr noundef @.str.11, i32 noundef %23776, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 895, ptr noundef %23779, ptr noundef %23782, ptr noundef %23785, i32 noundef %23787) #10
  br label %23789

23789:                                            ; preds = %23772, %23755
  call void @llvm.lifetime.end.p0(i64 4, ptr %541) #10
  br label %23790

23790:                                            ; preds = %23789
  br label %23791

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

23792:                                            ; No predecessors!
  br label %23793

23793:                                            ; preds = %23792
  br label %23794

23794:                                            ; preds = %23793, %23734
  br label %23795

23795:                                            ; preds = %23794
  br label %23796

23796:                                            ; preds = %23795
  br label %23797

23797:                                            ; preds = %23796
  %23798 = load i32, ptr @test_count, align 4, !tbaa !5
  %23799 = add nsw i32 %23798, 1
  store i32 %23799, ptr @test_count, align 4, !tbaa !5
  %23800 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %530, i32 0, i32 2
  %23801 = load i64, ptr %23800, align 8, !tbaa !58
  %23802 = load i64, ptr %535, align 8, !tbaa !45
  %23803 = icmp eq i64 %23801, %23802
  br i1 %23803, label %23857, label %23804

23804:                                            ; preds = %23797
  br label %23805

23805:                                            ; preds = %23804
  br label %23806

23806:                                            ; preds = %23805
  call void @llvm.lifetime.start.p0(i64 4, ptr %542) #10
  %23807 = call ptr @__errno_location() #11
  %23808 = load i32, ptr %23807, align 4, !tbaa !5
  store i32 %23808, ptr %542, align 4, !tbaa !5
  %23809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23810 = call i32 @s2n_print_stacktrace(ptr noundef %23809)
  %23811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23812 = trunc i8 %23811 to i1
  br i1 %23812, label %23813, label %23835

23813:                                            ; preds = %23806
  %23814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23815 = call i32 @fileno(ptr noundef %23814) #10
  %23816 = call i32 @isatty(i32 noundef %23815) #10
  %23817 = icmp ne i32 %23816, 0
  br i1 %23817, label %23818, label %23835

23818:                                            ; preds = %23813
  %23819 = load i32, ptr %542, align 4, !tbaa !5
  %23820 = call ptr @__errno_location() #11
  store i32 %23819, ptr %23820, align 4, !tbaa !5
  %23821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23822 = load i32, ptr @test_count, align 4, !tbaa !5
  %23823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23824 = load i32, ptr %23823, align 4, !tbaa !5
  %23825 = call ptr @s2n_strerror(i32 noundef %23824, ptr noundef @.str.10)
  %23826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23827 = load i32, ptr %23826, align 4, !tbaa !5
  %23828 = call ptr @s2n_strerror_debug(i32 noundef %23827, ptr noundef @.str.10)
  %23829 = call ptr @__errno_location() #11
  %23830 = load i32, ptr %23829, align 4, !tbaa !5
  %23831 = call ptr @strerror(i32 noundef %23830) #10
  %23832 = call ptr @__errno_location() #11
  %23833 = load i32, ptr %23832, align 4, !tbaa !5
  %23834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23821, ptr noundef @.str.8, i32 noundef %23822, ptr noundef @.str.122, ptr noundef @.str.7, i32 noundef 896, ptr noundef %23825, ptr noundef %23828, ptr noundef %23831, i32 noundef %23833) #10
  br label %23852

23835:                                            ; preds = %23813, %23806
  %23836 = load i32, ptr %542, align 4, !tbaa !5
  %23837 = call ptr @__errno_location() #11
  store i32 %23836, ptr %23837, align 4, !tbaa !5
  %23838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23839 = load i32, ptr @test_count, align 4, !tbaa !5
  %23840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23841 = load i32, ptr %23840, align 4, !tbaa !5
  %23842 = call ptr @s2n_strerror(i32 noundef %23841, ptr noundef @.str.10)
  %23843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23844 = load i32, ptr %23843, align 4, !tbaa !5
  %23845 = call ptr @s2n_strerror_debug(i32 noundef %23844, ptr noundef @.str.10)
  %23846 = call ptr @__errno_location() #11
  %23847 = load i32, ptr %23846, align 4, !tbaa !5
  %23848 = call ptr @strerror(i32 noundef %23847) #10
  %23849 = call ptr @__errno_location() #11
  %23850 = load i32, ptr %23849, align 4, !tbaa !5
  %23851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23838, ptr noundef @.str.11, i32 noundef %23839, ptr noundef @.str.122, ptr noundef @.str.7, i32 noundef 896, ptr noundef %23842, ptr noundef %23845, ptr noundef %23848, i32 noundef %23850) #10
  br label %23852

23852:                                            ; preds = %23835, %23818
  call void @llvm.lifetime.end.p0(i64 4, ptr %542) #10
  br label %23853

23853:                                            ; preds = %23852
  br label %23854

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

23855:                                            ; No predecessors!
  br label %23856

23856:                                            ; preds = %23855
  br label %23857

23857:                                            ; preds = %23856, %23797
  br label %23858

23858:                                            ; preds = %23857
  br label %23859

23859:                                            ; preds = %23858
  br label %23860

23860:                                            ; preds = %23859
  %23861 = load i32, ptr @test_count, align 4, !tbaa !5
  %23862 = add nsw i32 %23861, 1
  store i32 %23862, ptr @test_count, align 4, !tbaa !5
  %23863 = call i32 @s2n_test_validate_ancillary(ptr noundef %530, i8 noundef zeroext 21, i16 noundef zeroext 1)
  %23864 = getelementptr inbounds %struct.s2n_result, ptr %543, i32 0, i32 0
  store i32 %23863, ptr %23864, align 4
  %23865 = getelementptr inbounds %struct.s2n_result, ptr %543, i32 0, i32 0
  %23866 = load i32, ptr %23865, align 4
  %23867 = call zeroext i1 @s2n_result_is_ok(i32 %23866)
  br i1 %23867, label %23921, label %23868

23868:                                            ; preds = %23860
  br label %23869

23869:                                            ; preds = %23868
  br label %23870

23870:                                            ; preds = %23869
  call void @llvm.lifetime.start.p0(i64 4, ptr %544) #10
  %23871 = call ptr @__errno_location() #11
  %23872 = load i32, ptr %23871, align 4, !tbaa !5
  store i32 %23872, ptr %544, align 4, !tbaa !5
  %23873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23874 = call i32 @s2n_print_stacktrace(ptr noundef %23873)
  %23875 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23876 = trunc i8 %23875 to i1
  br i1 %23876, label %23877, label %23899

23877:                                            ; preds = %23870
  %23878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23879 = call i32 @fileno(ptr noundef %23878) #10
  %23880 = call i32 @isatty(i32 noundef %23879) #10
  %23881 = icmp ne i32 %23880, 0
  br i1 %23881, label %23882, label %23899

23882:                                            ; preds = %23877
  %23883 = load i32, ptr %544, align 4, !tbaa !5
  %23884 = call ptr @__errno_location() #11
  store i32 %23883, ptr %23884, align 4, !tbaa !5
  %23885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23886 = load i32, ptr @test_count, align 4, !tbaa !5
  %23887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23888 = load i32, ptr %23887, align 4, !tbaa !5
  %23889 = call ptr @s2n_strerror(i32 noundef %23888, ptr noundef @.str.10)
  %23890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23891 = load i32, ptr %23890, align 4, !tbaa !5
  %23892 = call ptr @s2n_strerror_debug(i32 noundef %23891, ptr noundef @.str.10)
  %23893 = call ptr @__errno_location() #11
  %23894 = load i32, ptr %23893, align 4, !tbaa !5
  %23895 = call ptr @strerror(i32 noundef %23894) #10
  %23896 = call ptr @__errno_location() #11
  %23897 = load i32, ptr %23896, align 4, !tbaa !5
  %23898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23885, ptr noundef @.str.8, i32 noundef %23886, ptr noundef @.str.123, ptr noundef @.str.7, i32 noundef 897, ptr noundef %23889, ptr noundef %23892, ptr noundef %23895, i32 noundef %23897) #10
  br label %23916

23899:                                            ; preds = %23877, %23870
  %23900 = load i32, ptr %544, align 4, !tbaa !5
  %23901 = call ptr @__errno_location() #11
  store i32 %23900, ptr %23901, align 4, !tbaa !5
  %23902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23903 = load i32, ptr @test_count, align 4, !tbaa !5
  %23904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23905 = load i32, ptr %23904, align 4, !tbaa !5
  %23906 = call ptr @s2n_strerror(i32 noundef %23905, ptr noundef @.str.10)
  %23907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23908 = load i32, ptr %23907, align 4, !tbaa !5
  %23909 = call ptr @s2n_strerror_debug(i32 noundef %23908, ptr noundef @.str.10)
  %23910 = call ptr @__errno_location() #11
  %23911 = load i32, ptr %23910, align 4, !tbaa !5
  %23912 = call ptr @strerror(i32 noundef %23911) #10
  %23913 = call ptr @__errno_location() #11
  %23914 = load i32, ptr %23913, align 4, !tbaa !5
  %23915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23902, ptr noundef @.str.11, i32 noundef %23903, ptr noundef @.str.123, ptr noundef @.str.7, i32 noundef 897, ptr noundef %23906, ptr noundef %23909, ptr noundef %23912, i32 noundef %23914) #10
  br label %23916

23916:                                            ; preds = %23899, %23882
  call void @llvm.lifetime.end.p0(i64 4, ptr %544) #10
  br label %23917

23917:                                            ; preds = %23916
  br label %23918

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

23919:                                            ; No predecessors!
  br label %23920

23920:                                            ; preds = %23919
  br label %23921

23921:                                            ; preds = %23920, %23860
  br label %23922

23922:                                            ; preds = %23921
  br label %23923

23923:                                            ; preds = %23922
  br label %23924

23924:                                            ; preds = %23923
  %23925 = load i32, ptr @test_count, align 4, !tbaa !5
  %23926 = add nsw i32 %23925, 1
  store i32 %23926, ptr @test_count, align 4, !tbaa !5
  %23927 = getelementptr inbounds [2 x i8], ptr %9, i64 0, i64 0
  %23928 = call i32 @s2n_test_validate_data(ptr noundef %530, ptr noundef %23927, i16 noundef zeroext 1)
  %23929 = getelementptr inbounds %struct.s2n_result, ptr %545, i32 0, i32 0
  store i32 %23928, ptr %23929, align 4
  %23930 = getelementptr inbounds %struct.s2n_result, ptr %545, i32 0, i32 0
  %23931 = load i32, ptr %23930, align 4
  %23932 = call zeroext i1 @s2n_result_is_ok(i32 %23931)
  br i1 %23932, label %23986, label %23933

23933:                                            ; preds = %23924
  br label %23934

23934:                                            ; preds = %23933
  br label %23935

23935:                                            ; preds = %23934
  call void @llvm.lifetime.start.p0(i64 4, ptr %546) #10
  %23936 = call ptr @__errno_location() #11
  %23937 = load i32, ptr %23936, align 4, !tbaa !5
  store i32 %23937, ptr %546, align 4, !tbaa !5
  %23938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23939 = call i32 @s2n_print_stacktrace(ptr noundef %23938)
  %23940 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23941 = trunc i8 %23940 to i1
  br i1 %23941, label %23942, label %23964

23942:                                            ; preds = %23935
  %23943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23944 = call i32 @fileno(ptr noundef %23943) #10
  %23945 = call i32 @isatty(i32 noundef %23944) #10
  %23946 = icmp ne i32 %23945, 0
  br i1 %23946, label %23947, label %23964

23947:                                            ; preds = %23942
  %23948 = load i32, ptr %546, align 4, !tbaa !5
  %23949 = call ptr @__errno_location() #11
  store i32 %23948, ptr %23949, align 4, !tbaa !5
  %23950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23951 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %23953, ptr noundef @.str.10)
  %23955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23956 = load i32, ptr %23955, align 4, !tbaa !5
  %23957 = call ptr @s2n_strerror_debug(i32 noundef %23956, ptr noundef @.str.10)
  %23958 = call ptr @__errno_location() #11
  %23959 = load i32, ptr %23958, align 4, !tbaa !5
  %23960 = call ptr @strerror(i32 noundef %23959) #10
  %23961 = call ptr @__errno_location() #11
  %23962 = load i32, ptr %23961, align 4, !tbaa !5
  %23963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23950, ptr noundef @.str.8, i32 noundef %23951, ptr noundef @.str.124, ptr noundef @.str.7, i32 noundef 898, ptr noundef %23954, ptr noundef %23957, ptr noundef %23960, i32 noundef %23962) #10
  br label %23981

23964:                                            ; preds = %23942, %23935
  %23965 = load i32, ptr %546, align 4, !tbaa !5
  %23966 = call ptr @__errno_location() #11
  store i32 %23965, ptr %23966, align 4, !tbaa !5
  %23967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23968 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %23970, ptr noundef @.str.10)
  %23972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23973 = load i32, ptr %23972, align 4, !tbaa !5
  %23974 = call ptr @s2n_strerror_debug(i32 noundef %23973, ptr noundef @.str.10)
  %23975 = call ptr @__errno_location() #11
  %23976 = load i32, ptr %23975, align 4, !tbaa !5
  %23977 = call ptr @strerror(i32 noundef %23976) #10
  %23978 = call ptr @__errno_location() #11
  %23979 = load i32, ptr %23978, align 4, !tbaa !5
  %23980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23967, ptr noundef @.str.11, i32 noundef %23968, ptr noundef @.str.124, ptr noundef @.str.7, i32 noundef 898, ptr noundef %23971, ptr noundef %23974, ptr noundef %23977, i32 noundef %23979) #10
  br label %23981

23981:                                            ; preds = %23964, %23947
  call void @llvm.lifetime.end.p0(i64 4, ptr %546) #10
  br label %23982

23982:                                            ; preds = %23981
  br label %23983

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

23984:                                            ; No predecessors!
  br label %23985

23985:                                            ; preds = %23984
  br label %23986

23986:                                            ; preds = %23985, %23924
  br label %23987

23987:                                            ; preds = %23986
  br label %23988

23988:                                            ; preds = %23987
  %23989 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %530, i32 0, i32 1
  %23990 = getelementptr inbounds %struct.s2n_stuffer, ptr %23989, i32 0, i32 4
  %23991 = load i8, ptr %23990, align 4
  %23992 = and i8 %23991, -3
  %23993 = or i8 %23992, 2
  store i8 %23993, ptr %23990, align 4
  %23994 = load i64, ptr %535, align 8, !tbaa !45
  %23995 = add i64 %23994, 1
  store i64 %23995, ptr %535, align 8, !tbaa !45
  br label %23996

23996:                                            ; preds = %23988
  %23997 = load i32, ptr @test_count, align 4, !tbaa !5
  %23998 = add nsw i32 %23997, 1
  store i32 %23998, ptr @test_count, align 4, !tbaa !5
  %23999 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %530, i32 0, i32 0
  %24000 = call i32 @s2n_stuffer_wipe(ptr noundef %23999)
  %24001 = icmp eq i32 %24000, -1
  br i1 %24001, label %24002, label %24055

24002:                                            ; preds = %23996
  br label %24003

24003:                                            ; preds = %24002
  br label %24004

24004:                                            ; preds = %24003
  call void @llvm.lifetime.start.p0(i64 4, ptr %547) #10
  %24005 = call ptr @__errno_location() #11
  %24006 = load i32, ptr %24005, align 4, !tbaa !5
  store i32 %24006, ptr %547, align 4, !tbaa !5
  %24007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24008 = call i32 @s2n_print_stacktrace(ptr noundef %24007)
  %24009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24010 = trunc i8 %24009 to i1
  br i1 %24010, label %24011, label %24033

24011:                                            ; preds = %24004
  %24012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24013 = call i32 @fileno(ptr noundef %24012) #10
  %24014 = call i32 @isatty(i32 noundef %24013) #10
  %24015 = icmp ne i32 %24014, 0
  br i1 %24015, label %24016, label %24033

24016:                                            ; preds = %24011
  %24017 = load i32, ptr %547, align 4, !tbaa !5
  %24018 = call ptr @__errno_location() #11
  store i32 %24017, ptr %24018, align 4, !tbaa !5
  %24019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24020 = load i32, ptr @test_count, align 4, !tbaa !5
  %24021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24022 = load i32, ptr %24021, align 4, !tbaa !5
  %24023 = call ptr @s2n_strerror(i32 noundef %24022, ptr noundef @.str.10)
  %24024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24025 = load i32, ptr %24024, align 4, !tbaa !5
  %24026 = call ptr @s2n_strerror_debug(i32 noundef %24025, ptr noundef @.str.10)
  %24027 = call ptr @__errno_location() #11
  %24028 = load i32, ptr %24027, align 4, !tbaa !5
  %24029 = call ptr @strerror(i32 noundef %24028) #10
  %24030 = call ptr @__errno_location() #11
  %24031 = load i32, ptr %24030, align 4, !tbaa !5
  %24032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24019, ptr noundef @.str.8, i32 noundef %24020, ptr noundef @.str.125, ptr noundef @.str.7, i32 noundef 903, ptr noundef %24023, ptr noundef %24026, ptr noundef %24029, i32 noundef %24031) #10
  br label %24050

24033:                                            ; preds = %24011, %24004
  %24034 = load i32, ptr %547, align 4, !tbaa !5
  %24035 = call ptr @__errno_location() #11
  store i32 %24034, ptr %24035, align 4, !tbaa !5
  %24036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24037 = load i32, ptr @test_count, align 4, !tbaa !5
  %24038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24039 = load i32, ptr %24038, align 4, !tbaa !5
  %24040 = call ptr @s2n_strerror(i32 noundef %24039, ptr noundef @.str.10)
  %24041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24042 = load i32, ptr %24041, align 4, !tbaa !5
  %24043 = call ptr @s2n_strerror_debug(i32 noundef %24042, ptr noundef @.str.10)
  %24044 = call ptr @__errno_location() #11
  %24045 = load i32, ptr %24044, align 4, !tbaa !5
  %24046 = call ptr @strerror(i32 noundef %24045) #10
  %24047 = call ptr @__errno_location() #11
  %24048 = load i32, ptr %24047, align 4, !tbaa !5
  %24049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24036, ptr noundef @.str.11, i32 noundef %24037, ptr noundef @.str.125, ptr noundef @.str.7, i32 noundef 903, ptr noundef %24040, ptr noundef %24043, ptr noundef %24046, i32 noundef %24048) #10
  br label %24050

24050:                                            ; preds = %24033, %24016
  call void @llvm.lifetime.end.p0(i64 4, ptr %547) #10
  br label %24051

24051:                                            ; preds = %24050
  br label %24052

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

24053:                                            ; No predecessors!
  br label %24054

24054:                                            ; preds = %24053
  br label %24055

24055:                                            ; preds = %24054, %23996
  br label %24056

24056:                                            ; preds = %24055
  br label %24057

24057:                                            ; preds = %24056
  br label %24058

24058:                                            ; preds = %24057
  %24059 = load i32, ptr @test_count, align 4, !tbaa !5
  %24060 = add nsw i32 %24059, 1
  store i32 %24060, ptr @test_count, align 4, !tbaa !5
  %24061 = load ptr, ptr %528, align 8, !tbaa !9
  %24062 = call i32 @s2n_shutdown_send(ptr noundef %24061, ptr noundef %536)
  %24063 = icmp eq i32 %24062, -1
  br i1 %24063, label %24064, label %24117

24064:                                            ; preds = %24058
  br label %24065

24065:                                            ; preds = %24064
  br label %24066

24066:                                            ; preds = %24065
  call void @llvm.lifetime.start.p0(i64 4, ptr %548) #10
  %24067 = call ptr @__errno_location() #11
  %24068 = load i32, ptr %24067, align 4, !tbaa !5
  store i32 %24068, ptr %548, align 4, !tbaa !5
  %24069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24070 = call i32 @s2n_print_stacktrace(ptr noundef %24069)
  %24071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24072 = trunc i8 %24071 to i1
  br i1 %24072, label %24073, label %24095

24073:                                            ; preds = %24066
  %24074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24075 = call i32 @fileno(ptr noundef %24074) #10
  %24076 = call i32 @isatty(i32 noundef %24075) #10
  %24077 = icmp ne i32 %24076, 0
  br i1 %24077, label %24078, label %24095

24078:                                            ; preds = %24073
  %24079 = load i32, ptr %548, align 4, !tbaa !5
  %24080 = call ptr @__errno_location() #11
  store i32 %24079, ptr %24080, align 4, !tbaa !5
  %24081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24082 = load i32, ptr @test_count, align 4, !tbaa !5
  %24083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24084 = load i32, ptr %24083, align 4, !tbaa !5
  %24085 = call ptr @s2n_strerror(i32 noundef %24084, ptr noundef @.str.10)
  %24086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24087 = load i32, ptr %24086, align 4, !tbaa !5
  %24088 = call ptr @s2n_strerror_debug(i32 noundef %24087, ptr noundef @.str.10)
  %24089 = call ptr @__errno_location() #11
  %24090 = load i32, ptr %24089, align 4, !tbaa !5
  %24091 = call ptr @strerror(i32 noundef %24090) #10
  %24092 = call ptr @__errno_location() #11
  %24093 = load i32, ptr %24092, align 4, !tbaa !5
  %24094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24081, ptr noundef @.str.8, i32 noundef %24082, ptr noundef @.str.110, ptr noundef @.str.7, i32 noundef 906, ptr noundef %24085, ptr noundef %24088, ptr noundef %24091, i32 noundef %24093) #10
  br label %24112

24095:                                            ; preds = %24073, %24066
  %24096 = load i32, ptr %548, align 4, !tbaa !5
  %24097 = call ptr @__errno_location() #11
  store i32 %24096, ptr %24097, align 4, !tbaa !5
  %24098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24099 = load i32, ptr @test_count, align 4, !tbaa !5
  %24100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24101 = load i32, ptr %24100, align 4, !tbaa !5
  %24102 = call ptr @s2n_strerror(i32 noundef %24101, ptr noundef @.str.10)
  %24103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24104 = load i32, ptr %24103, align 4, !tbaa !5
  %24105 = call ptr @s2n_strerror_debug(i32 noundef %24104, ptr noundef @.str.10)
  %24106 = call ptr @__errno_location() #11
  %24107 = load i32, ptr %24106, align 4, !tbaa !5
  %24108 = call ptr @strerror(i32 noundef %24107) #10
  %24109 = call ptr @__errno_location() #11
  %24110 = load i32, ptr %24109, align 4, !tbaa !5
  %24111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24098, ptr noundef @.str.11, i32 noundef %24099, ptr noundef @.str.110, ptr noundef @.str.7, i32 noundef 906, ptr noundef %24102, ptr noundef %24105, ptr noundef %24108, i32 noundef %24110) #10
  br label %24112

24112:                                            ; preds = %24095, %24078
  call void @llvm.lifetime.end.p0(i64 4, ptr %548) #10
  br label %24113

24113:                                            ; preds = %24112
  br label %24114

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

24115:                                            ; No predecessors!
  br label %24116

24116:                                            ; preds = %24115
  br label %24117

24117:                                            ; preds = %24116, %24058
  br label %24118

24118:                                            ; preds = %24117
  br label %24119

24119:                                            ; preds = %24118
  br label %24120

24120:                                            ; preds = %24119
  %24121 = load i32, ptr @test_count, align 4, !tbaa !5
  %24122 = add nsw i32 %24121, 1
  store i32 %24122, ptr @test_count, align 4, !tbaa !5
  %24123 = load i32, ptr %536, align 4, !tbaa !5
  %24124 = icmp eq i32 %24123, 0
  br i1 %24124, label %24178, label %24125

24125:                                            ; preds = %24120
  br label %24126

24126:                                            ; preds = %24125
  br label %24127

24127:                                            ; preds = %24126
  call void @llvm.lifetime.start.p0(i64 4, ptr %549) #10
  %24128 = call ptr @__errno_location() #11
  %24129 = load i32, ptr %24128, align 4, !tbaa !5
  store i32 %24129, ptr %549, align 4, !tbaa !5
  %24130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24131 = call i32 @s2n_print_stacktrace(ptr noundef %24130)
  %24132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24133 = trunc i8 %24132 to i1
  br i1 %24133, label %24134, label %24156

24134:                                            ; preds = %24127
  %24135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24136 = call i32 @fileno(ptr noundef %24135) #10
  %24137 = call i32 @isatty(i32 noundef %24136) #10
  %24138 = icmp ne i32 %24137, 0
  br i1 %24138, label %24139, label %24156

24139:                                            ; preds = %24134
  %24140 = load i32, ptr %549, align 4, !tbaa !5
  %24141 = call ptr @__errno_location() #11
  store i32 %24140, ptr %24141, align 4, !tbaa !5
  %24142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24143 = load i32, ptr @test_count, align 4, !tbaa !5
  %24144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24145 = load i32, ptr %24144, align 4, !tbaa !5
  %24146 = call ptr @s2n_strerror(i32 noundef %24145, ptr noundef @.str.10)
  %24147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24148 = load i32, ptr %24147, align 4, !tbaa !5
  %24149 = call ptr @s2n_strerror_debug(i32 noundef %24148, ptr noundef @.str.10)
  %24150 = call ptr @__errno_location() #11
  %24151 = load i32, ptr %24150, align 4, !tbaa !5
  %24152 = call ptr @strerror(i32 noundef %24151) #10
  %24153 = call ptr @__errno_location() #11
  %24154 = load i32, ptr %24153, align 4, !tbaa !5
  %24155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24142, ptr noundef @.str.8, i32 noundef %24143, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 907, ptr noundef %24146, ptr noundef %24149, ptr noundef %24152, i32 noundef %24154) #10
  br label %24173

24156:                                            ; preds = %24134, %24127
  %24157 = load i32, ptr %549, align 4, !tbaa !5
  %24158 = call ptr @__errno_location() #11
  store i32 %24157, ptr %24158, align 4, !tbaa !5
  %24159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24160 = load i32, ptr @test_count, align 4, !tbaa !5
  %24161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24162 = load i32, ptr %24161, align 4, !tbaa !5
  %24163 = call ptr @s2n_strerror(i32 noundef %24162, ptr noundef @.str.10)
  %24164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24165 = load i32, ptr %24164, align 4, !tbaa !5
  %24166 = call ptr @s2n_strerror_debug(i32 noundef %24165, ptr noundef @.str.10)
  %24167 = call ptr @__errno_location() #11
  %24168 = load i32, ptr %24167, align 4, !tbaa !5
  %24169 = call ptr @strerror(i32 noundef %24168) #10
  %24170 = call ptr @__errno_location() #11
  %24171 = load i32, ptr %24170, align 4, !tbaa !5
  %24172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24159, ptr noundef @.str.11, i32 noundef %24160, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 907, ptr noundef %24163, ptr noundef %24166, ptr noundef %24169, i32 noundef %24171) #10
  br label %24173

24173:                                            ; preds = %24156, %24139
  call void @llvm.lifetime.end.p0(i64 4, ptr %549) #10
  br label %24174

24174:                                            ; preds = %24173
  br label %24175

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

24176:                                            ; No predecessors!
  br label %24177

24177:                                            ; preds = %24176
  br label %24178

24178:                                            ; preds = %24177, %24120
  br label %24179

24179:                                            ; preds = %24178
  br label %24180

24180:                                            ; preds = %24179
  br label %24181

24181:                                            ; preds = %24180
  %24182 = load i32, ptr @test_count, align 4, !tbaa !5
  %24183 = add nsw i32 %24182, 1
  store i32 %24183, ptr @test_count, align 4, !tbaa !5
  %24184 = load ptr, ptr %528, align 8, !tbaa !9
  %24185 = getelementptr inbounds %struct.s2n_connection, ptr %24184, i32 0, i32 49
  %24186 = load i8, ptr %24185, align 1, !tbaa !16, !range !13, !noundef !14
  %24187 = trunc i8 %24186 to i1
  br i1 %24187, label %24241, label %24188

24188:                                            ; preds = %24181
  br label %24189

24189:                                            ; preds = %24188
  br label %24190

24190:                                            ; preds = %24189
  call void @llvm.lifetime.start.p0(i64 4, ptr %550) #10
  %24191 = call ptr @__errno_location() #11
  %24192 = load i32, ptr %24191, align 4, !tbaa !5
  store i32 %24192, ptr %550, align 4, !tbaa !5
  %24193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24194 = call i32 @s2n_print_stacktrace(ptr noundef %24193)
  %24195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24196 = trunc i8 %24195 to i1
  br i1 %24196, label %24197, label %24219

24197:                                            ; preds = %24190
  %24198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24199 = call i32 @fileno(ptr noundef %24198) #10
  %24200 = call i32 @isatty(i32 noundef %24199) #10
  %24201 = icmp ne i32 %24200, 0
  br i1 %24201, label %24202, label %24219

24202:                                            ; preds = %24197
  %24203 = load i32, ptr %550, align 4, !tbaa !5
  %24204 = call ptr @__errno_location() #11
  store i32 %24203, ptr %24204, align 4, !tbaa !5
  %24205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24206 = load i32, ptr @test_count, align 4, !tbaa !5
  %24207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24208 = load i32, ptr %24207, align 4, !tbaa !5
  %24209 = call ptr @s2n_strerror(i32 noundef %24208, ptr noundef @.str.10)
  %24210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24211 = load i32, ptr %24210, align 4, !tbaa !5
  %24212 = call ptr @s2n_strerror_debug(i32 noundef %24211, ptr noundef @.str.10)
  %24213 = call ptr @__errno_location() #11
  %24214 = load i32, ptr %24213, align 4, !tbaa !5
  %24215 = call ptr @strerror(i32 noundef %24214) #10
  %24216 = call ptr @__errno_location() #11
  %24217 = load i32, ptr %24216, align 4, !tbaa !5
  %24218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24205, ptr noundef @.str.8, i32 noundef %24206, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 908, ptr noundef %24209, ptr noundef %24212, ptr noundef %24215, i32 noundef %24217) #10
  br label %24236

24219:                                            ; preds = %24197, %24190
  %24220 = load i32, ptr %550, align 4, !tbaa !5
  %24221 = call ptr @__errno_location() #11
  store i32 %24220, ptr %24221, align 4, !tbaa !5
  %24222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24223 = load i32, ptr @test_count, align 4, !tbaa !5
  %24224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24225 = load i32, ptr %24224, align 4, !tbaa !5
  %24226 = call ptr @s2n_strerror(i32 noundef %24225, ptr noundef @.str.10)
  %24227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24228 = load i32, ptr %24227, align 4, !tbaa !5
  %24229 = call ptr @s2n_strerror_debug(i32 noundef %24228, ptr noundef @.str.10)
  %24230 = call ptr @__errno_location() #11
  %24231 = load i32, ptr %24230, align 4, !tbaa !5
  %24232 = call ptr @strerror(i32 noundef %24231) #10
  %24233 = call ptr @__errno_location() #11
  %24234 = load i32, ptr %24233, align 4, !tbaa !5
  %24235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24222, ptr noundef @.str.11, i32 noundef %24223, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 908, ptr noundef %24226, ptr noundef %24229, ptr noundef %24232, i32 noundef %24234) #10
  br label %24236

24236:                                            ; preds = %24219, %24202
  call void @llvm.lifetime.end.p0(i64 4, ptr %550) #10
  br label %24237

24237:                                            ; preds = %24236
  br label %24238

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

24239:                                            ; No predecessors!
  br label %24240

24240:                                            ; preds = %24239
  br label %24241

24241:                                            ; preds = %24240, %24181
  br label %24242

24242:                                            ; preds = %24241
  br label %24243

24243:                                            ; preds = %24242
  br label %24244

24244:                                            ; preds = %24243
  %24245 = load i32, ptr @test_count, align 4, !tbaa !5
  %24246 = add nsw i32 %24245, 1
  store i32 %24246, ptr @test_count, align 4, !tbaa !5
  %24247 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %530, i32 0, i32 2
  %24248 = load i64, ptr %24247, align 8, !tbaa !58
  %24249 = load i64, ptr %535, align 8, !tbaa !45
  %24250 = icmp eq i64 %24248, %24249
  br i1 %24250, label %24304, label %24251

24251:                                            ; preds = %24244
  br label %24252

24252:                                            ; preds = %24251
  br label %24253

24253:                                            ; preds = %24252
  call void @llvm.lifetime.start.p0(i64 4, ptr %551) #10
  %24254 = call ptr @__errno_location() #11
  %24255 = load i32, ptr %24254, align 4, !tbaa !5
  store i32 %24255, ptr %551, align 4, !tbaa !5
  %24256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24257 = call i32 @s2n_print_stacktrace(ptr noundef %24256)
  %24258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24259 = trunc i8 %24258 to i1
  br i1 %24259, label %24260, label %24282

24260:                                            ; preds = %24253
  %24261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24262 = call i32 @fileno(ptr noundef %24261) #10
  %24263 = call i32 @isatty(i32 noundef %24262) #10
  %24264 = icmp ne i32 %24263, 0
  br i1 %24264, label %24265, label %24282

24265:                                            ; preds = %24260
  %24266 = load i32, ptr %551, align 4, !tbaa !5
  %24267 = call ptr @__errno_location() #11
  store i32 %24266, ptr %24267, align 4, !tbaa !5
  %24268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24269 = load i32, ptr @test_count, align 4, !tbaa !5
  %24270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24271 = load i32, ptr %24270, align 4, !tbaa !5
  %24272 = call ptr @s2n_strerror(i32 noundef %24271, ptr noundef @.str.10)
  %24273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24274 = load i32, ptr %24273, align 4, !tbaa !5
  %24275 = call ptr @s2n_strerror_debug(i32 noundef %24274, ptr noundef @.str.10)
  %24276 = call ptr @__errno_location() #11
  %24277 = load i32, ptr %24276, align 4, !tbaa !5
  %24278 = call ptr @strerror(i32 noundef %24277) #10
  %24279 = call ptr @__errno_location() #11
  %24280 = load i32, ptr %24279, align 4, !tbaa !5
  %24281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24268, ptr noundef @.str.8, i32 noundef %24269, ptr noundef @.str.122, ptr noundef @.str.7, i32 noundef 909, ptr noundef %24272, ptr noundef %24275, ptr noundef %24278, i32 noundef %24280) #10
  br label %24299

24282:                                            ; preds = %24260, %24253
  %24283 = load i32, ptr %551, align 4, !tbaa !5
  %24284 = call ptr @__errno_location() #11
  store i32 %24283, ptr %24284, align 4, !tbaa !5
  %24285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24286 = load i32, ptr @test_count, align 4, !tbaa !5
  %24287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24288 = load i32, ptr %24287, align 4, !tbaa !5
  %24289 = call ptr @s2n_strerror(i32 noundef %24288, ptr noundef @.str.10)
  %24290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24291 = load i32, ptr %24290, align 4, !tbaa !5
  %24292 = call ptr @s2n_strerror_debug(i32 noundef %24291, ptr noundef @.str.10)
  %24293 = call ptr @__errno_location() #11
  %24294 = load i32, ptr %24293, align 4, !tbaa !5
  %24295 = call ptr @strerror(i32 noundef %24294) #10
  %24296 = call ptr @__errno_location() #11
  %24297 = load i32, ptr %24296, align 4, !tbaa !5
  %24298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24285, ptr noundef @.str.11, i32 noundef %24286, ptr noundef @.str.122, ptr noundef @.str.7, i32 noundef 909, ptr noundef %24289, ptr noundef %24292, ptr noundef %24295, i32 noundef %24297) #10
  br label %24299

24299:                                            ; preds = %24282, %24265
  call void @llvm.lifetime.end.p0(i64 4, ptr %551) #10
  br label %24300

24300:                                            ; preds = %24299
  br label %24301

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

24302:                                            ; No predecessors!
  br label %24303

24303:                                            ; preds = %24302
  br label %24304

24304:                                            ; preds = %24303, %24244
  br label %24305

24305:                                            ; preds = %24304
  br label %24306

24306:                                            ; preds = %24305
  br label %24307

24307:                                            ; preds = %24306
  %24308 = load i32, ptr @test_count, align 4, !tbaa !5
  %24309 = add nsw i32 %24308, 1
  store i32 %24309, ptr @test_count, align 4, !tbaa !5
  %24310 = call i32 @s2n_test_validate_ancillary(ptr noundef %530, i8 noundef zeroext 21, i16 noundef zeroext 1)
  %24311 = getelementptr inbounds %struct.s2n_result, ptr %552, i32 0, i32 0
  store i32 %24310, ptr %24311, align 4
  %24312 = getelementptr inbounds %struct.s2n_result, ptr %552, i32 0, i32 0
  %24313 = load i32, ptr %24312, align 4
  %24314 = call zeroext i1 @s2n_result_is_ok(i32 %24313)
  br i1 %24314, label %24368, label %24315

24315:                                            ; preds = %24307
  br label %24316

24316:                                            ; preds = %24315
  br label %24317

24317:                                            ; preds = %24316
  call void @llvm.lifetime.start.p0(i64 4, ptr %553) #10
  %24318 = call ptr @__errno_location() #11
  %24319 = load i32, ptr %24318, align 4, !tbaa !5
  store i32 %24319, ptr %553, align 4, !tbaa !5
  %24320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24321 = call i32 @s2n_print_stacktrace(ptr noundef %24320)
  %24322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24323 = trunc i8 %24322 to i1
  br i1 %24323, label %24324, label %24346

24324:                                            ; preds = %24317
  %24325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24326 = call i32 @fileno(ptr noundef %24325) #10
  %24327 = call i32 @isatty(i32 noundef %24326) #10
  %24328 = icmp ne i32 %24327, 0
  br i1 %24328, label %24329, label %24346

24329:                                            ; preds = %24324
  %24330 = load i32, ptr %553, align 4, !tbaa !5
  %24331 = call ptr @__errno_location() #11
  store i32 %24330, ptr %24331, align 4, !tbaa !5
  %24332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24333 = load i32, ptr @test_count, align 4, !tbaa !5
  %24334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24335 = load i32, ptr %24334, align 4, !tbaa !5
  %24336 = call ptr @s2n_strerror(i32 noundef %24335, ptr noundef @.str.10)
  %24337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24338 = load i32, ptr %24337, align 4, !tbaa !5
  %24339 = call ptr @s2n_strerror_debug(i32 noundef %24338, ptr noundef @.str.10)
  %24340 = call ptr @__errno_location() #11
  %24341 = load i32, ptr %24340, align 4, !tbaa !5
  %24342 = call ptr @strerror(i32 noundef %24341) #10
  %24343 = call ptr @__errno_location() #11
  %24344 = load i32, ptr %24343, align 4, !tbaa !5
  %24345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24332, ptr noundef @.str.8, i32 noundef %24333, ptr noundef @.str.126, ptr noundef @.str.7, i32 noundef 910, ptr noundef %24336, ptr noundef %24339, ptr noundef %24342, i32 noundef %24344) #10
  br label %24363

24346:                                            ; preds = %24324, %24317
  %24347 = load i32, ptr %553, align 4, !tbaa !5
  %24348 = call ptr @__errno_location() #11
  store i32 %24347, ptr %24348, align 4, !tbaa !5
  %24349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24350 = load i32, ptr @test_count, align 4, !tbaa !5
  %24351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24352 = load i32, ptr %24351, align 4, !tbaa !5
  %24353 = call ptr @s2n_strerror(i32 noundef %24352, ptr noundef @.str.10)
  %24354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24355 = load i32, ptr %24354, align 4, !tbaa !5
  %24356 = call ptr @s2n_strerror_debug(i32 noundef %24355, ptr noundef @.str.10)
  %24357 = call ptr @__errno_location() #11
  %24358 = load i32, ptr %24357, align 4, !tbaa !5
  %24359 = call ptr @strerror(i32 noundef %24358) #10
  %24360 = call ptr @__errno_location() #11
  %24361 = load i32, ptr %24360, align 4, !tbaa !5
  %24362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24349, ptr noundef @.str.11, i32 noundef %24350, ptr noundef @.str.126, ptr noundef @.str.7, i32 noundef 910, ptr noundef %24353, ptr noundef %24356, ptr noundef %24359, i32 noundef %24361) #10
  br label %24363

24363:                                            ; preds = %24346, %24329
  call void @llvm.lifetime.end.p0(i64 4, ptr %553) #10
  br label %24364

24364:                                            ; preds = %24363
  br label %24365

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

24366:                                            ; No predecessors!
  br label %24367

24367:                                            ; preds = %24366
  br label %24368

24368:                                            ; preds = %24367, %24307
  br label %24369

24369:                                            ; preds = %24368
  br label %24370

24370:                                            ; preds = %24369
  br label %24371

24371:                                            ; preds = %24370
  %24372 = load i32, ptr @test_count, align 4, !tbaa !5
  %24373 = add nsw i32 %24372, 1
  store i32 %24373, ptr @test_count, align 4, !tbaa !5
  %24374 = getelementptr inbounds [2 x i8], ptr %9, i64 0, i64 0
  %24375 = call i32 @s2n_test_validate_data(ptr noundef %530, ptr noundef %24374, i16 noundef zeroext 2)
  %24376 = getelementptr inbounds %struct.s2n_result, ptr %554, i32 0, i32 0
  store i32 %24375, ptr %24376, align 4
  %24377 = getelementptr inbounds %struct.s2n_result, ptr %554, i32 0, i32 0
  %24378 = load i32, ptr %24377, align 4
  %24379 = call zeroext i1 @s2n_result_is_ok(i32 %24378)
  br i1 %24379, label %24433, label %24380

24380:                                            ; preds = %24371
  br label %24381

24381:                                            ; preds = %24380
  br label %24382

24382:                                            ; preds = %24381
  call void @llvm.lifetime.start.p0(i64 4, ptr %555) #10
  %24383 = call ptr @__errno_location() #11
  %24384 = load i32, ptr %24383, align 4, !tbaa !5
  store i32 %24384, ptr %555, align 4, !tbaa !5
  %24385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24386 = call i32 @s2n_print_stacktrace(ptr noundef %24385)
  %24387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24388 = trunc i8 %24387 to i1
  br i1 %24388, label %24389, label %24411

24389:                                            ; preds = %24382
  %24390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24391 = call i32 @fileno(ptr noundef %24390) #10
  %24392 = call i32 @isatty(i32 noundef %24391) #10
  %24393 = icmp ne i32 %24392, 0
  br i1 %24393, label %24394, label %24411

24394:                                            ; preds = %24389
  %24395 = load i32, ptr %555, align 4, !tbaa !5
  %24396 = call ptr @__errno_location() #11
  store i32 %24395, ptr %24396, align 4, !tbaa !5
  %24397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24398 = load i32, ptr @test_count, align 4, !tbaa !5
  %24399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24400 = load i32, ptr %24399, align 4, !tbaa !5
  %24401 = call ptr @s2n_strerror(i32 noundef %24400, ptr noundef @.str.10)
  %24402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24403 = load i32, ptr %24402, align 4, !tbaa !5
  %24404 = call ptr @s2n_strerror_debug(i32 noundef %24403, ptr noundef @.str.10)
  %24405 = call ptr @__errno_location() #11
  %24406 = load i32, ptr %24405, align 4, !tbaa !5
  %24407 = call ptr @strerror(i32 noundef %24406) #10
  %24408 = call ptr @__errno_location() #11
  %24409 = load i32, ptr %24408, align 4, !tbaa !5
  %24410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24397, ptr noundef @.str.8, i32 noundef %24398, ptr noundef @.str.119, ptr noundef @.str.7, i32 noundef 912, ptr noundef %24401, ptr noundef %24404, ptr noundef %24407, i32 noundef %24409) #10
  br label %24428

24411:                                            ; preds = %24389, %24382
  %24412 = load i32, ptr %555, align 4, !tbaa !5
  %24413 = call ptr @__errno_location() #11
  store i32 %24412, ptr %24413, align 4, !tbaa !5
  %24414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24415 = load i32, ptr @test_count, align 4, !tbaa !5
  %24416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24417 = load i32, ptr %24416, align 4, !tbaa !5
  %24418 = call ptr @s2n_strerror(i32 noundef %24417, ptr noundef @.str.10)
  %24419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24420 = load i32, ptr %24419, align 4, !tbaa !5
  %24421 = call ptr @s2n_strerror_debug(i32 noundef %24420, ptr noundef @.str.10)
  %24422 = call ptr @__errno_location() #11
  %24423 = load i32, ptr %24422, align 4, !tbaa !5
  %24424 = call ptr @strerror(i32 noundef %24423) #10
  %24425 = call ptr @__errno_location() #11
  %24426 = load i32, ptr %24425, align 4, !tbaa !5
  %24427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24414, ptr noundef @.str.11, i32 noundef %24415, ptr noundef @.str.119, ptr noundef @.str.7, i32 noundef 912, ptr noundef %24418, ptr noundef %24421, ptr noundef %24424, i32 noundef %24426) #10
  br label %24428

24428:                                            ; preds = %24411, %24394
  call void @llvm.lifetime.end.p0(i64 4, ptr %555) #10
  br label %24429

24429:                                            ; preds = %24428
  br label %24430

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

24431:                                            ; No predecessors!
  br label %24432

24432:                                            ; preds = %24431
  br label %24433

24433:                                            ; preds = %24432, %24371
  br label %24434

24434:                                            ; preds = %24433
  br label %24435

24435:                                            ; preds = %24434
  call void @llvm.lifetime.start.p0(i64 8, ptr %556) #10
  store i64 0, ptr %556, align 8, !tbaa !45
  br label %24436

24436:                                            ; preds = %24690, %24435
  %24437 = load i64, ptr %556, align 8, !tbaa !45
  %24438 = icmp ult i64 %24437, 5
  br i1 %24438, label %24440, label %24439

24439:                                            ; preds = %24436
  call void @llvm.lifetime.end.p0(i64 8, ptr %556) #10
  br label %24693

24440:                                            ; preds = %24436
  br label %24441

24441:                                            ; preds = %24440
  %24442 = load i32, ptr @test_count, align 4, !tbaa !5
  %24443 = add nsw i32 %24442, 1
  store i32 %24443, ptr @test_count, align 4, !tbaa !5
  %24444 = load ptr, ptr %528, align 8, !tbaa !9
  %24445 = call i32 @s2n_shutdown_send(ptr noundef %24444, ptr noundef %536)
  %24446 = icmp eq i32 %24445, -1
  br i1 %24446, label %24447, label %24500

24447:                                            ; preds = %24441
  br label %24448

24448:                                            ; preds = %24447
  br label %24449

24449:                                            ; preds = %24448
  call void @llvm.lifetime.start.p0(i64 4, ptr %557) #10
  %24450 = call ptr @__errno_location() #11
  %24451 = load i32, ptr %24450, align 4, !tbaa !5
  store i32 %24451, ptr %557, align 4, !tbaa !5
  %24452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24453 = call i32 @s2n_print_stacktrace(ptr noundef %24452)
  %24454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24455 = trunc i8 %24454 to i1
  br i1 %24455, label %24456, label %24478

24456:                                            ; preds = %24449
  %24457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24458 = call i32 @fileno(ptr noundef %24457) #10
  %24459 = call i32 @isatty(i32 noundef %24458) #10
  %24460 = icmp ne i32 %24459, 0
  br i1 %24460, label %24461, label %24478

24461:                                            ; preds = %24456
  %24462 = load i32, ptr %557, align 4, !tbaa !5
  %24463 = call ptr @__errno_location() #11
  store i32 %24462, ptr %24463, align 4, !tbaa !5
  %24464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24465 = load i32, ptr @test_count, align 4, !tbaa !5
  %24466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24467 = load i32, ptr %24466, align 4, !tbaa !5
  %24468 = call ptr @s2n_strerror(i32 noundef %24467, ptr noundef @.str.10)
  %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_debug(i32 noundef %24470, ptr noundef @.str.10)
  %24472 = call ptr @__errno_location() #11
  %24473 = load i32, ptr %24472, align 4, !tbaa !5
  %24474 = call ptr @strerror(i32 noundef %24473) #10
  %24475 = call ptr @__errno_location() #11
  %24476 = load i32, ptr %24475, align 4, !tbaa !5
  %24477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24464, ptr noundef @.str.8, i32 noundef %24465, ptr noundef @.str.110, ptr noundef @.str.7, i32 noundef 916, ptr noundef %24468, ptr noundef %24471, ptr noundef %24474, i32 noundef %24476) #10
  br label %24495

24478:                                            ; preds = %24456, %24449
  %24479 = load i32, ptr %557, align 4, !tbaa !5
  %24480 = call ptr @__errno_location() #11
  store i32 %24479, ptr %24480, align 4, !tbaa !5
  %24481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24482 = load i32, ptr @test_count, align 4, !tbaa !5
  %24483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24484 = load i32, ptr %24483, align 4, !tbaa !5
  %24485 = call ptr @s2n_strerror(i32 noundef %24484, ptr noundef @.str.10)
  %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_debug(i32 noundef %24487, ptr noundef @.str.10)
  %24489 = call ptr @__errno_location() #11
  %24490 = load i32, ptr %24489, align 4, !tbaa !5
  %24491 = call ptr @strerror(i32 noundef %24490) #10
  %24492 = call ptr @__errno_location() #11
  %24493 = load i32, ptr %24492, align 4, !tbaa !5
  %24494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24481, ptr noundef @.str.11, i32 noundef %24482, ptr noundef @.str.110, ptr noundef @.str.7, i32 noundef 916, ptr noundef %24485, ptr noundef %24488, ptr noundef %24491, i32 noundef %24493) #10
  br label %24495

24495:                                            ; preds = %24478, %24461
  call void @llvm.lifetime.end.p0(i64 4, ptr %557) #10
  br label %24496

24496:                                            ; preds = %24495
  br label %24497

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

24498:                                            ; No predecessors!
  br label %24499

24499:                                            ; preds = %24498
  br label %24500

24500:                                            ; preds = %24499, %24441
  br label %24501

24501:                                            ; preds = %24500
  br label %24502

24502:                                            ; preds = %24501
  br label %24503

24503:                                            ; preds = %24502
  %24504 = load i32, ptr @test_count, align 4, !tbaa !5
  %24505 = add nsw i32 %24504, 1
  store i32 %24505, ptr @test_count, align 4, !tbaa !5
  %24506 = load i32, ptr %536, align 4, !tbaa !5
  %24507 = icmp eq i32 %24506, 0
  br i1 %24507, label %24561, label %24508

24508:                                            ; preds = %24503
  br label %24509

24509:                                            ; preds = %24508
  br label %24510

24510:                                            ; preds = %24509
  call void @llvm.lifetime.start.p0(i64 4, ptr %558) #10
  %24511 = call ptr @__errno_location() #11
  %24512 = load i32, ptr %24511, align 4, !tbaa !5
  store i32 %24512, ptr %558, align 4, !tbaa !5
  %24513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24514 = call i32 @s2n_print_stacktrace(ptr noundef %24513)
  %24515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24516 = trunc i8 %24515 to i1
  br i1 %24516, label %24517, label %24539

24517:                                            ; preds = %24510
  %24518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24519 = call i32 @fileno(ptr noundef %24518) #10
  %24520 = call i32 @isatty(i32 noundef %24519) #10
  %24521 = icmp ne i32 %24520, 0
  br i1 %24521, label %24522, label %24539

24522:                                            ; preds = %24517
  %24523 = load i32, ptr %558, align 4, !tbaa !5
  %24524 = call ptr @__errno_location() #11
  store i32 %24523, ptr %24524, align 4, !tbaa !5
  %24525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24526 = load i32, ptr @test_count, align 4, !tbaa !5
  %24527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24528 = load i32, ptr %24527, align 4, !tbaa !5
  %24529 = call ptr @s2n_strerror(i32 noundef %24528, ptr noundef @.str.10)
  %24530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24531 = load i32, ptr %24530, align 4, !tbaa !5
  %24532 = call ptr @s2n_strerror_debug(i32 noundef %24531, ptr noundef @.str.10)
  %24533 = call ptr @__errno_location() #11
  %24534 = load i32, ptr %24533, align 4, !tbaa !5
  %24535 = call ptr @strerror(i32 noundef %24534) #10
  %24536 = call ptr @__errno_location() #11
  %24537 = load i32, ptr %24536, align 4, !tbaa !5
  %24538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24525, ptr noundef @.str.8, i32 noundef %24526, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 917, ptr noundef %24529, ptr noundef %24532, ptr noundef %24535, i32 noundef %24537) #10
  br label %24556

24539:                                            ; preds = %24517, %24510
  %24540 = load i32, ptr %558, align 4, !tbaa !5
  %24541 = call ptr @__errno_location() #11
  store i32 %24540, ptr %24541, align 4, !tbaa !5
  %24542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24543 = load i32, ptr @test_count, align 4, !tbaa !5
  %24544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24545 = load i32, ptr %24544, align 4, !tbaa !5
  %24546 = call ptr @s2n_strerror(i32 noundef %24545, ptr noundef @.str.10)
  %24547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24548 = load i32, ptr %24547, align 4, !tbaa !5
  %24549 = call ptr @s2n_strerror_debug(i32 noundef %24548, ptr noundef @.str.10)
  %24550 = call ptr @__errno_location() #11
  %24551 = load i32, ptr %24550, align 4, !tbaa !5
  %24552 = call ptr @strerror(i32 noundef %24551) #10
  %24553 = call ptr @__errno_location() #11
  %24554 = load i32, ptr %24553, align 4, !tbaa !5
  %24555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24542, ptr noundef @.str.11, i32 noundef %24543, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 917, ptr noundef %24546, ptr noundef %24549, ptr noundef %24552, i32 noundef %24554) #10
  br label %24556

24556:                                            ; preds = %24539, %24522
  call void @llvm.lifetime.end.p0(i64 4, ptr %558) #10
  br label %24557

24557:                                            ; preds = %24556
  br label %24558

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

24559:                                            ; No predecessors!
  br label %24560

24560:                                            ; preds = %24559
  br label %24561

24561:                                            ; preds = %24560, %24503
  br label %24562

24562:                                            ; preds = %24561
  br label %24563

24563:                                            ; preds = %24562
  br label %24564

24564:                                            ; preds = %24563
  %24565 = load i32, ptr @test_count, align 4, !tbaa !5
  %24566 = add nsw i32 %24565, 1
  store i32 %24566, ptr @test_count, align 4, !tbaa !5
  %24567 = load ptr, ptr %528, align 8, !tbaa !9
  %24568 = getelementptr inbounds %struct.s2n_connection, ptr %24567, i32 0, i32 49
  %24569 = load i8, ptr %24568, align 1, !tbaa !16, !range !13, !noundef !14
  %24570 = trunc i8 %24569 to i1
  br i1 %24570, label %24624, label %24571

24571:                                            ; preds = %24564
  br label %24572

24572:                                            ; preds = %24571
  br label %24573

24573:                                            ; preds = %24572
  call void @llvm.lifetime.start.p0(i64 4, ptr %559) #10
  %24574 = call ptr @__errno_location() #11
  %24575 = load i32, ptr %24574, align 4, !tbaa !5
  store i32 %24575, ptr %559, align 4, !tbaa !5
  %24576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24577 = call i32 @s2n_print_stacktrace(ptr noundef %24576)
  %24578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24579 = trunc i8 %24578 to i1
  br i1 %24579, label %24580, label %24602

24580:                                            ; preds = %24573
  %24581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24582 = call i32 @fileno(ptr noundef %24581) #10
  %24583 = call i32 @isatty(i32 noundef %24582) #10
  %24584 = icmp ne i32 %24583, 0
  br i1 %24584, label %24585, label %24602

24585:                                            ; preds = %24580
  %24586 = load i32, ptr %559, align 4, !tbaa !5
  %24587 = call ptr @__errno_location() #11
  store i32 %24586, ptr %24587, align 4, !tbaa !5
  %24588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24589 = load i32, ptr @test_count, align 4, !tbaa !5
  %24590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24591 = load i32, ptr %24590, align 4, !tbaa !5
  %24592 = call ptr @s2n_strerror(i32 noundef %24591, ptr noundef @.str.10)
  %24593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24594 = load i32, ptr %24593, align 4, !tbaa !5
  %24595 = call ptr @s2n_strerror_debug(i32 noundef %24594, ptr noundef @.str.10)
  %24596 = call ptr @__errno_location() #11
  %24597 = load i32, ptr %24596, align 4, !tbaa !5
  %24598 = call ptr @strerror(i32 noundef %24597) #10
  %24599 = call ptr @__errno_location() #11
  %24600 = load i32, ptr %24599, align 4, !tbaa !5
  %24601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24588, ptr noundef @.str.8, i32 noundef %24589, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 918, ptr noundef %24592, ptr noundef %24595, ptr noundef %24598, i32 noundef %24600) #10
  br label %24619

24602:                                            ; preds = %24580, %24573
  %24603 = load i32, ptr %559, align 4, !tbaa !5
  %24604 = call ptr @__errno_location() #11
  store i32 %24603, ptr %24604, align 4, !tbaa !5
  %24605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24606 = load i32, ptr @test_count, align 4, !tbaa !5
  %24607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24608 = load i32, ptr %24607, align 4, !tbaa !5
  %24609 = call ptr @s2n_strerror(i32 noundef %24608, ptr noundef @.str.10)
  %24610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24611 = load i32, ptr %24610, align 4, !tbaa !5
  %24612 = call ptr @s2n_strerror_debug(i32 noundef %24611, ptr noundef @.str.10)
  %24613 = call ptr @__errno_location() #11
  %24614 = load i32, ptr %24613, align 4, !tbaa !5
  %24615 = call ptr @strerror(i32 noundef %24614) #10
  %24616 = call ptr @__errno_location() #11
  %24617 = load i32, ptr %24616, align 4, !tbaa !5
  %24618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24605, ptr noundef @.str.11, i32 noundef %24606, ptr noundef @.str.31, ptr noundef @.str.7, i32 noundef 918, ptr noundef %24609, ptr noundef %24612, ptr noundef %24615, i32 noundef %24617) #10
  br label %24619

24619:                                            ; preds = %24602, %24585
  call void @llvm.lifetime.end.p0(i64 4, ptr %559) #10
  br label %24620

24620:                                            ; preds = %24619
  br label %24621

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

24622:                                            ; No predecessors!
  br label %24623

24623:                                            ; preds = %24622
  br label %24624

24624:                                            ; preds = %24623, %24564
  br label %24625

24625:                                            ; preds = %24624
  br label %24626

24626:                                            ; preds = %24625
  br label %24627

24627:                                            ; preds = %24626
  %24628 = load i32, ptr @test_count, align 4, !tbaa !5
  %24629 = add nsw i32 %24628, 1
  store i32 %24629, ptr @test_count, align 4, !tbaa !5
  %24630 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %530, i32 0, i32 2
  %24631 = load i64, ptr %24630, align 8, !tbaa !58
  %24632 = load i64, ptr %535, align 8, !tbaa !45
  %24633 = icmp eq i64 %24631, %24632
  br i1 %24633, label %24687, label %24634

24634:                                            ; preds = %24627
  br label %24635

24635:                                            ; preds = %24634
  br label %24636

24636:                                            ; preds = %24635
  call void @llvm.lifetime.start.p0(i64 4, ptr %560) #10
  %24637 = call ptr @__errno_location() #11
  %24638 = load i32, ptr %24637, align 4, !tbaa !5
  store i32 %24638, ptr %560, align 4, !tbaa !5
  %24639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24640 = call i32 @s2n_print_stacktrace(ptr noundef %24639)
  %24641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24642 = trunc i8 %24641 to i1
  br i1 %24642, label %24643, label %24665

24643:                                            ; preds = %24636
  %24644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24645 = call i32 @fileno(ptr noundef %24644) #10
  %24646 = call i32 @isatty(i32 noundef %24645) #10
  %24647 = icmp ne i32 %24646, 0
  br i1 %24647, label %24648, label %24665

24648:                                            ; preds = %24643
  %24649 = load i32, ptr %560, align 4, !tbaa !5
  %24650 = call ptr @__errno_location() #11
  store i32 %24649, ptr %24650, align 4, !tbaa !5
  %24651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24652 = load i32, ptr @test_count, align 4, !tbaa !5
  %24653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24654 = load i32, ptr %24653, align 4, !tbaa !5
  %24655 = call ptr @s2n_strerror(i32 noundef %24654, ptr noundef @.str.10)
  %24656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24657 = load i32, ptr %24656, align 4, !tbaa !5
  %24658 = call ptr @s2n_strerror_debug(i32 noundef %24657, ptr noundef @.str.10)
  %24659 = call ptr @__errno_location() #11
  %24660 = load i32, ptr %24659, align 4, !tbaa !5
  %24661 = call ptr @strerror(i32 noundef %24660) #10
  %24662 = call ptr @__errno_location() #11
  %24663 = load i32, ptr %24662, align 4, !tbaa !5
  %24664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24651, ptr noundef @.str.8, i32 noundef %24652, ptr noundef @.str.122, ptr noundef @.str.7, i32 noundef 919, ptr noundef %24655, ptr noundef %24658, ptr noundef %24661, i32 noundef %24663) #10
  br label %24682

24665:                                            ; preds = %24643, %24636
  %24666 = load i32, ptr %560, align 4, !tbaa !5
  %24667 = call ptr @__errno_location() #11
  store i32 %24666, ptr %24667, align 4, !tbaa !5
  %24668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24669 = load i32, ptr @test_count, align 4, !tbaa !5
  %24670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24671 = load i32, ptr %24670, align 4, !tbaa !5
  %24672 = call ptr @s2n_strerror(i32 noundef %24671, ptr noundef @.str.10)
  %24673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24674 = load i32, ptr %24673, align 4, !tbaa !5
  %24675 = call ptr @s2n_strerror_debug(i32 noundef %24674, ptr noundef @.str.10)
  %24676 = call ptr @__errno_location() #11
  %24677 = load i32, ptr %24676, align 4, !tbaa !5
  %24678 = call ptr @strerror(i32 noundef %24677) #10
  %24679 = call ptr @__errno_location() #11
  %24680 = load i32, ptr %24679, align 4, !tbaa !5
  %24681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24668, ptr noundef @.str.11, i32 noundef %24669, ptr noundef @.str.122, ptr noundef @.str.7, i32 noundef 919, ptr noundef %24672, ptr noundef %24675, ptr noundef %24678, i32 noundef %24680) #10
  br label %24682

24682:                                            ; preds = %24665, %24648
  call void @llvm.lifetime.end.p0(i64 4, ptr %560) #10
  br label %24683

24683:                                            ; preds = %24682
  br label %24684

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

24685:                                            ; No predecessors!
  br label %24686

24686:                                            ; preds = %24685
  br label %24687

24687:                                            ; preds = %24686, %24627
  br label %24688

24688:                                            ; preds = %24687
  br label %24689

24689:                                            ; preds = %24688
  br label %24690

24690:                                            ; preds = %24689
  %24691 = load i64, ptr %556, align 8, !tbaa !45
  %24692 = add i64 %24691, 1
  store i64 %24692, ptr %556, align 8, !tbaa !45
  br label %24436, !llvm.loop !61

24693:                                            ; preds = %24439
  call void @llvm.lifetime.end.p0(i64 4, ptr %536) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %535) #10
  %24694 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef %530)
  %24695 = getelementptr inbounds %struct.s2n_result, ptr %561, i32 0, i32 0
  store i32 %24694, ptr %24695, align 4
  call void @llvm.lifetime.end.p0(i64 96, ptr %530) #10
  %24696 = call i32 @s2n_connection_ptr_free(ptr noundef %528)
  %24697 = getelementptr inbounds %struct.s2n_result, ptr %562, i32 0, i32 0
  store i32 %24696, ptr %24697, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %528) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %527) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %526) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %563) #10
  %24698 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %24698, ptr %563, align 8, !tbaa !9
  br label %24699

24699:                                            ; preds = %24693
  %24700 = load i32, ptr @test_count, align 4, !tbaa !5
  %24701 = add nsw i32 %24700, 1
  store i32 %24701, ptr @test_count, align 4, !tbaa !5
  %24702 = load ptr, ptr %563, align 8, !tbaa !9
  %24703 = icmp eq ptr %24702, null
  br i1 %24703, label %24704, label %24757

24704:                                            ; preds = %24699
  br label %24705

24705:                                            ; preds = %24704
  br label %24706

24706:                                            ; preds = %24705
  call void @llvm.lifetime.start.p0(i64 4, ptr %564) #10
  %24707 = call ptr @__errno_location() #11
  %24708 = load i32, ptr %24707, align 4, !tbaa !5
  store i32 %24708, ptr %564, align 4, !tbaa !5
  %24709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24710 = call i32 @s2n_print_stacktrace(ptr noundef %24709)
  %24711 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24712 = trunc i8 %24711 to i1
  br i1 %24712, label %24713, label %24735

24713:                                            ; preds = %24706
  %24714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24715 = call i32 @fileno(ptr noundef %24714) #10
  %24716 = call i32 @isatty(i32 noundef %24715) #10
  %24717 = icmp ne i32 %24716, 0
  br i1 %24717, label %24718, label %24735

24718:                                            ; preds = %24713
  %24719 = load i32, ptr %564, align 4, !tbaa !5
  %24720 = call ptr @__errno_location() #11
  store i32 %24719, ptr %24720, align 4, !tbaa !5
  %24721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24722 = load i32, ptr @test_count, align 4, !tbaa !5
  %24723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24724 = load i32, ptr %24723, align 4, !tbaa !5
  %24725 = call ptr @s2n_strerror(i32 noundef %24724, ptr noundef @.str.10)
  %24726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24727 = load i32, ptr %24726, align 4, !tbaa !5
  %24728 = call ptr @s2n_strerror_debug(i32 noundef %24727, ptr noundef @.str.10)
  %24729 = call ptr @__errno_location() #11
  %24730 = load i32, ptr %24729, align 4, !tbaa !5
  %24731 = call ptr @strerror(i32 noundef %24730) #10
  %24732 = call ptr @__errno_location() #11
  %24733 = load i32, ptr %24732, align 4, !tbaa !5
  %24734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24721, ptr noundef @.str.8, i32 noundef %24722, ptr noundef @.str.73, ptr noundef @.str.7, i32 noundef 931, ptr noundef %24725, ptr noundef %24728, ptr noundef %24731, i32 noundef %24733) #10
  br label %24752

24735:                                            ; preds = %24713, %24706
  %24736 = load i32, ptr %564, align 4, !tbaa !5
  %24737 = call ptr @__errno_location() #11
  store i32 %24736, ptr %24737, align 4, !tbaa !5
  %24738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24739 = load i32, ptr @test_count, align 4, !tbaa !5
  %24740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24741 = load i32, ptr %24740, align 4, !tbaa !5
  %24742 = call ptr @s2n_strerror(i32 noundef %24741, ptr noundef @.str.10)
  %24743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24744 = load i32, ptr %24743, align 4, !tbaa !5
  %24745 = call ptr @s2n_strerror_debug(i32 noundef %24744, ptr noundef @.str.10)
  %24746 = call ptr @__errno_location() #11
  %24747 = load i32, ptr %24746, align 4, !tbaa !5
  %24748 = call ptr @strerror(i32 noundef %24747) #10
  %24749 = call ptr @__errno_location() #11
  %24750 = load i32, ptr %24749, align 4, !tbaa !5
  %24751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24738, ptr noundef @.str.11, i32 noundef %24739, ptr noundef @.str.73, ptr noundef @.str.7, i32 noundef 931, ptr noundef %24742, ptr noundef %24745, ptr noundef %24748, i32 noundef %24750) #10
  br label %24752

24752:                                            ; preds = %24735, %24718
  call void @llvm.lifetime.end.p0(i64 4, ptr %564) #10
  br label %24753

24753:                                            ; preds = %24752
  br label %24754

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

24755:                                            ; No predecessors!
  br label %24756

24756:                                            ; preds = %24755
  br label %24757

24757:                                            ; preds = %24756, %24699
  br label %24758

24758:                                            ; preds = %24757
  br label %24759

24759:                                            ; preds = %24758
  %24760 = load ptr, ptr %563, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %24760, i32 noundef 0)
  %24761 = load ptr, ptr %563, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %24761, i32 noundef 1)
  br label %24762

24762:                                            ; preds = %24759
  %24763 = load i32, ptr @test_count, align 4, !tbaa !5
  %24764 = add nsw i32 %24763, 1
  store i32 %24764, ptr @test_count, align 4, !tbaa !5
  %24765 = load ptr, ptr %563, align 8, !tbaa !9
  %24766 = call i32 @s2n_skip_handshake(ptr noundef %24765)
  %24767 = getelementptr inbounds %struct.s2n_result, ptr %565, i32 0, i32 0
  store i32 %24766, ptr %24767, align 4
  %24768 = getelementptr inbounds %struct.s2n_result, ptr %565, i32 0, i32 0
  %24769 = load i32, ptr %24768, align 4
  %24770 = call zeroext i1 @s2n_result_is_ok(i32 %24769)
  br i1 %24770, label %24824, label %24771

24771:                                            ; preds = %24762
  br label %24772

24772:                                            ; preds = %24771
  br label %24773

24773:                                            ; preds = %24772
  call void @llvm.lifetime.start.p0(i64 4, ptr %566) #10
  %24774 = call ptr @__errno_location() #11
  %24775 = load i32, ptr %24774, align 4, !tbaa !5
  store i32 %24775, ptr %566, align 4, !tbaa !5
  %24776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24777 = call i32 @s2n_print_stacktrace(ptr noundef %24776)
  %24778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24779 = trunc i8 %24778 to i1
  br i1 %24779, label %24780, label %24802

24780:                                            ; preds = %24773
  %24781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24782 = call i32 @fileno(ptr noundef %24781) #10
  %24783 = call i32 @isatty(i32 noundef %24782) #10
  %24784 = icmp ne i32 %24783, 0
  br i1 %24784, label %24785, label %24802

24785:                                            ; preds = %24780
  %24786 = load i32, ptr %566, align 4, !tbaa !5
  %24787 = call ptr @__errno_location() #11
  store i32 %24786, ptr %24787, align 4, !tbaa !5
  %24788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24789 = load i32, ptr @test_count, align 4, !tbaa !5
  %24790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24791 = load i32, ptr %24790, align 4, !tbaa !5
  %24792 = call ptr @s2n_strerror(i32 noundef %24791, ptr noundef @.str.10)
  %24793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24794 = load i32, ptr %24793, align 4, !tbaa !5
  %24795 = call ptr @s2n_strerror_debug(i32 noundef %24794, ptr noundef @.str.10)
  %24796 = call ptr @__errno_location() #11
  %24797 = load i32, ptr %24796, align 4, !tbaa !5
  %24798 = call ptr @strerror(i32 noundef %24797) #10
  %24799 = call ptr @__errno_location() #11
  %24800 = load i32, ptr %24799, align 4, !tbaa !5
  %24801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24788, ptr noundef @.str.8, i32 noundef %24789, ptr noundef @.str.127, ptr noundef @.str.7, i32 noundef 934, ptr noundef %24792, ptr noundef %24795, ptr noundef %24798, i32 noundef %24800) #10
  br label %24819

24802:                                            ; preds = %24780, %24773
  %24803 = load i32, ptr %566, align 4, !tbaa !5
  %24804 = call ptr @__errno_location() #11
  store i32 %24803, ptr %24804, align 4, !tbaa !5
  %24805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24806 = load i32, ptr @test_count, align 4, !tbaa !5
  %24807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24808 = load i32, ptr %24807, align 4, !tbaa !5
  %24809 = call ptr @s2n_strerror(i32 noundef %24808, ptr noundef @.str.10)
  %24810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24811 = load i32, ptr %24810, align 4, !tbaa !5
  %24812 = call ptr @s2n_strerror_debug(i32 noundef %24811, ptr noundef @.str.10)
  %24813 = call ptr @__errno_location() #11
  %24814 = load i32, ptr %24813, align 4, !tbaa !5
  %24815 = call ptr @strerror(i32 noundef %24814) #10
  %24816 = call ptr @__errno_location() #11
  %24817 = load i32, ptr %24816, align 4, !tbaa !5
  %24818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24805, ptr noundef @.str.11, i32 noundef %24806, ptr noundef @.str.127, ptr noundef @.str.7, i32 noundef 934, ptr noundef %24809, ptr noundef %24812, ptr noundef %24815, i32 noundef %24817) #10
  br label %24819

24819:                                            ; preds = %24802, %24785
  call void @llvm.lifetime.end.p0(i64 4, ptr %566) #10
  br label %24820

24820:                                            ; preds = %24819
  br label %24821

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

24822:                                            ; No predecessors!
  br label %24823

24823:                                            ; preds = %24822
  br label %24824

24824:                                            ; preds = %24823, %24762
  br label %24825

24825:                                            ; preds = %24824
  br label %24826

24826:                                            ; preds = %24825
  call void @llvm.lifetime.start.p0(i64 8, ptr %567) #10
  %24827 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %24827, ptr %567, align 8, !tbaa !9
  br label %24828

24828:                                            ; preds = %24826
  %24829 = load i32, ptr @test_count, align 4, !tbaa !5
  %24830 = add nsw i32 %24829, 1
  store i32 %24830, ptr @test_count, align 4, !tbaa !5
  %24831 = load ptr, ptr %567, align 8, !tbaa !9
  %24832 = icmp eq ptr %24831, null
  br i1 %24832, label %24833, label %24886

24833:                                            ; preds = %24828
  br label %24834

24834:                                            ; preds = %24833
  br label %24835

24835:                                            ; preds = %24834
  call void @llvm.lifetime.start.p0(i64 4, ptr %568) #10
  %24836 = call ptr @__errno_location() #11
  %24837 = load i32, ptr %24836, align 4, !tbaa !5
  store i32 %24837, ptr %568, align 4, !tbaa !5
  %24838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24839 = call i32 @s2n_print_stacktrace(ptr noundef %24838)
  %24840 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24841 = trunc i8 %24840 to i1
  br i1 %24841, label %24842, label %24864

24842:                                            ; preds = %24835
  %24843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24844 = call i32 @fileno(ptr noundef %24843) #10
  %24845 = call i32 @isatty(i32 noundef %24844) #10
  %24846 = icmp ne i32 %24845, 0
  br i1 %24846, label %24847, label %24864

24847:                                            ; preds = %24842
  %24848 = load i32, ptr %568, align 4, !tbaa !5
  %24849 = call ptr @__errno_location() #11
  store i32 %24848, ptr %24849, align 4, !tbaa !5
  %24850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24851 = load i32, ptr @test_count, align 4, !tbaa !5
  %24852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24853 = load i32, ptr %24852, align 4, !tbaa !5
  %24854 = call ptr @s2n_strerror(i32 noundef %24853, ptr noundef @.str.10)
  %24855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24856 = load i32, ptr %24855, align 4, !tbaa !5
  %24857 = call ptr @s2n_strerror_debug(i32 noundef %24856, ptr noundef @.str.10)
  %24858 = call ptr @__errno_location() #11
  %24859 = load i32, ptr %24858, align 4, !tbaa !5
  %24860 = call ptr @strerror(i32 noundef %24859) #10
  %24861 = call ptr @__errno_location() #11
  %24862 = load i32, ptr %24861, align 4, !tbaa !5
  %24863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24850, ptr noundef @.str.8, i32 noundef %24851, ptr noundef @.str.75, ptr noundef @.str.7, i32 noundef 938, ptr noundef %24854, ptr noundef %24857, ptr noundef %24860, i32 noundef %24862) #10
  br label %24881

24864:                                            ; preds = %24842, %24835
  %24865 = load i32, ptr %568, align 4, !tbaa !5
  %24866 = call ptr @__errno_location() #11
  store i32 %24865, ptr %24866, align 4, !tbaa !5
  %24867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24868 = load i32, ptr @test_count, align 4, !tbaa !5
  %24869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24870 = load i32, ptr %24869, align 4, !tbaa !5
  %24871 = call ptr @s2n_strerror(i32 noundef %24870, ptr noundef @.str.10)
  %24872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24873 = load i32, ptr %24872, align 4, !tbaa !5
  %24874 = call ptr @s2n_strerror_debug(i32 noundef %24873, ptr noundef @.str.10)
  %24875 = call ptr @__errno_location() #11
  %24876 = load i32, ptr %24875, align 4, !tbaa !5
  %24877 = call ptr @strerror(i32 noundef %24876) #10
  %24878 = call ptr @__errno_location() #11
  %24879 = load i32, ptr %24878, align 4, !tbaa !5
  %24880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24867, ptr noundef @.str.11, i32 noundef %24868, ptr noundef @.str.75, ptr noundef @.str.7, i32 noundef 938, ptr noundef %24871, ptr noundef %24874, ptr noundef %24877, i32 noundef %24879) #10
  br label %24881

24881:                                            ; preds = %24864, %24847
  call void @llvm.lifetime.end.p0(i64 4, ptr %568) #10
  br label %24882

24882:                                            ; preds = %24881
  br label %24883

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

24884:                                            ; No predecessors!
  br label %24885

24885:                                            ; preds = %24884
  br label %24886

24886:                                            ; preds = %24885, %24828
  br label %24887

24887:                                            ; preds = %24886
  br label %24888

24888:                                            ; preds = %24887
  %24889 = load ptr, ptr %567, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %24889, i32 noundef 0)
  %24890 = load ptr, ptr %567, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %24890, i32 noundef 1)
  br label %24891

24891:                                            ; preds = %24888
  %24892 = load i32, ptr @test_count, align 4, !tbaa !5
  %24893 = add nsw i32 %24892, 1
  store i32 %24893, ptr @test_count, align 4, !tbaa !5
  %24894 = load ptr, ptr %567, align 8, !tbaa !9
  %24895 = call i32 @s2n_skip_handshake(ptr noundef %24894)
  %24896 = getelementptr inbounds %struct.s2n_result, ptr %569, i32 0, i32 0
  store i32 %24895, ptr %24896, align 4
  %24897 = getelementptr inbounds %struct.s2n_result, ptr %569, i32 0, i32 0
  %24898 = load i32, ptr %24897, align 4
  %24899 = call zeroext i1 @s2n_result_is_ok(i32 %24898)
  br i1 %24899, label %24953, label %24900

24900:                                            ; preds = %24891
  br label %24901

24901:                                            ; preds = %24900
  br label %24902

24902:                                            ; preds = %24901
  call void @llvm.lifetime.start.p0(i64 4, ptr %570) #10
  %24903 = call ptr @__errno_location() #11
  %24904 = load i32, ptr %24903, align 4, !tbaa !5
  store i32 %24904, ptr %570, align 4, !tbaa !5
  %24905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24906 = call i32 @s2n_print_stacktrace(ptr noundef %24905)
  %24907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24908 = trunc i8 %24907 to i1
  br i1 %24908, label %24909, label %24931

24909:                                            ; preds = %24902
  %24910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24911 = call i32 @fileno(ptr noundef %24910) #10
  %24912 = call i32 @isatty(i32 noundef %24911) #10
  %24913 = icmp ne i32 %24912, 0
  br i1 %24913, label %24914, label %24931

24914:                                            ; preds = %24909
  %24915 = load i32, ptr %570, align 4, !tbaa !5
  %24916 = call ptr @__errno_location() #11
  store i32 %24915, ptr %24916, align 4, !tbaa !5
  %24917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24918 = load i32, ptr @test_count, align 4, !tbaa !5
  %24919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24920 = load i32, ptr %24919, align 4, !tbaa !5
  %24921 = call ptr @s2n_strerror(i32 noundef %24920, ptr noundef @.str.10)
  %24922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24923 = load i32, ptr %24922, align 4, !tbaa !5
  %24924 = call ptr @s2n_strerror_debug(i32 noundef %24923, ptr noundef @.str.10)
  %24925 = call ptr @__errno_location() #11
  %24926 = load i32, ptr %24925, align 4, !tbaa !5
  %24927 = call ptr @strerror(i32 noundef %24926) #10
  %24928 = call ptr @__errno_location() #11
  %24929 = load i32, ptr %24928, align 4, !tbaa !5
  %24930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24917, ptr noundef @.str.8, i32 noundef %24918, ptr noundef @.str.128, ptr noundef @.str.7, i32 noundef 941, ptr noundef %24921, ptr noundef %24924, ptr noundef %24927, i32 noundef %24929) #10
  br label %24948

24931:                                            ; preds = %24909, %24902
  %24932 = load i32, ptr %570, align 4, !tbaa !5
  %24933 = call ptr @__errno_location() #11
  store i32 %24932, ptr %24933, align 4, !tbaa !5
  %24934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24935 = load i32, ptr @test_count, align 4, !tbaa !5
  %24936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24937 = load i32, ptr %24936, align 4, !tbaa !5
  %24938 = call ptr @s2n_strerror(i32 noundef %24937, ptr noundef @.str.10)
  %24939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24940 = load i32, ptr %24939, align 4, !tbaa !5
  %24941 = call ptr @s2n_strerror_debug(i32 noundef %24940, ptr noundef @.str.10)
  %24942 = call ptr @__errno_location() #11
  %24943 = load i32, ptr %24942, align 4, !tbaa !5
  %24944 = call ptr @strerror(i32 noundef %24943) #10
  %24945 = call ptr @__errno_location() #11
  %24946 = load i32, ptr %24945, align 4, !tbaa !5
  %24947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24934, ptr noundef @.str.11, i32 noundef %24935, ptr noundef @.str.128, ptr noundef @.str.7, i32 noundef 941, ptr noundef %24938, ptr noundef %24941, ptr noundef %24944, i32 noundef %24946) #10
  br label %24948

24948:                                            ; preds = %24931, %24914
  call void @llvm.lifetime.end.p0(i64 4, ptr %570) #10
  br label %24949

24949:                                            ; preds = %24948
  br label %24950

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

24951:                                            ; No predecessors!
  br label %24952

24952:                                            ; preds = %24951
  br label %24953

24953:                                            ; preds = %24952, %24891
  br label %24954

24954:                                            ; preds = %24953
  br label %24955

24955:                                            ; preds = %24954
  call void @llvm.lifetime.start.p0(i64 192, ptr %571) #10
  call void @llvm.memset.p0.i64(ptr align 8 %571, i8 0, i64 192, i1 false)
  br label %24956

24956:                                            ; preds = %24955
  %24957 = load i32, ptr @test_count, align 4, !tbaa !5
  %24958 = add nsw i32 %24957, 1
  store i32 %24958, ptr @test_count, align 4, !tbaa !5
  %24959 = load ptr, ptr %567, align 8, !tbaa !9
  %24960 = load ptr, ptr %563, align 8, !tbaa !9
  %24961 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %24959, ptr noundef %24960, ptr noundef %571)
  %24962 = getelementptr inbounds %struct.s2n_result, ptr %572, i32 0, i32 0
  store i32 %24961, ptr %24962, align 4
  %24963 = getelementptr inbounds %struct.s2n_result, ptr %572, i32 0, i32 0
  %24964 = load i32, ptr %24963, align 4
  %24965 = call zeroext i1 @s2n_result_is_ok(i32 %24964)
  br i1 %24965, label %25019, label %24966

24966:                                            ; preds = %24956
  br label %24967

24967:                                            ; preds = %24966
  br label %24968

24968:                                            ; preds = %24967
  call void @llvm.lifetime.start.p0(i64 4, ptr %573) #10
  %24969 = call ptr @__errno_location() #11
  %24970 = load i32, ptr %24969, align 4, !tbaa !5
  store i32 %24970, ptr %573, align 4, !tbaa !5
  %24971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24972 = call i32 @s2n_print_stacktrace(ptr noundef %24971)
  %24973 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24974 = trunc i8 %24973 to i1
  br i1 %24974, label %24975, label %24997

24975:                                            ; preds = %24968
  %24976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24977 = call i32 @fileno(ptr noundef %24976) #10
  %24978 = call i32 @isatty(i32 noundef %24977) #10
  %24979 = icmp ne i32 %24978, 0
  br i1 %24979, label %24980, label %24997

24980:                                            ; preds = %24975
  %24981 = load i32, ptr %573, align 4, !tbaa !5
  %24982 = call ptr @__errno_location() #11
  store i32 %24981, ptr %24982, align 4, !tbaa !5
  %24983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24984 = load i32, ptr @test_count, align 4, !tbaa !5
  %24985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24986 = load i32, ptr %24985, align 4, !tbaa !5
  %24987 = call ptr @s2n_strerror(i32 noundef %24986, ptr noundef @.str.10)
  %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_debug(i32 noundef %24989, ptr noundef @.str.10)
  %24991 = call ptr @__errno_location() #11
  %24992 = load i32, ptr %24991, align 4, !tbaa !5
  %24993 = call ptr @strerror(i32 noundef %24992) #10
  %24994 = call ptr @__errno_location() #11
  %24995 = load i32, ptr %24994, align 4, !tbaa !5
  %24996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24983, ptr noundef @.str.8, i32 noundef %24984, ptr noundef @.str.129, ptr noundef @.str.7, i32 noundef 945, ptr noundef %24987, ptr noundef %24990, ptr noundef %24993, i32 noundef %24995) #10
  br label %25014

24997:                                            ; preds = %24975, %24968
  %24998 = load i32, ptr %573, align 4, !tbaa !5
  %24999 = call ptr @__errno_location() #11
  store i32 %24998, ptr %24999, align 4, !tbaa !5
  %25000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25001 = load i32, ptr @test_count, align 4, !tbaa !5
  %25002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25003 = load i32, ptr %25002, align 4, !tbaa !5
  %25004 = call ptr @s2n_strerror(i32 noundef %25003, ptr noundef @.str.10)
  %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_debug(i32 noundef %25006, ptr noundef @.str.10)
  %25008 = call ptr @__errno_location() #11
  %25009 = load i32, ptr %25008, align 4, !tbaa !5
  %25010 = call ptr @strerror(i32 noundef %25009) #10
  %25011 = call ptr @__errno_location() #11
  %25012 = load i32, ptr %25011, align 4, !tbaa !5
  %25013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25000, ptr noundef @.str.11, i32 noundef %25001, ptr noundef @.str.129, ptr noundef @.str.7, i32 noundef 945, ptr noundef %25004, ptr noundef %25007, ptr noundef %25010, i32 noundef %25012) #10
  br label %25014

25014:                                            ; preds = %24997, %24980
  call void @llvm.lifetime.end.p0(i64 4, ptr %573) #10
  br label %25015

25015:                                            ; preds = %25014
  br label %25016

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

25017:                                            ; No predecessors!
  br label %25018

25018:                                            ; preds = %25017
  br label %25019

25019:                                            ; preds = %25018, %24956
  br label %25020

25020:                                            ; preds = %25019
  br label %25021

25021:                                            ; preds = %25020
  call void @llvm.lifetime.start.p0(i64 4, ptr %574) #10
  store i32 0, ptr %574, align 4, !tbaa !5
  br label %25022

25022:                                            ; preds = %25021
  %25023 = load i32, ptr @test_count, align 4, !tbaa !5
  %25024 = add nsw i32 %25023, 1
  store i32 %25024, ptr @test_count, align 4, !tbaa !5
  %25025 = load ptr, ptr %563, align 8, !tbaa !9
  %25026 = call i32 @s2n_shutdown_send(ptr noundef %25025, ptr noundef %574)
  %25027 = icmp eq i32 %25026, -1
  br i1 %25027, label %25028, label %25081

25028:                                            ; preds = %25022
  br label %25029

25029:                                            ; preds = %25028
  br label %25030

25030:                                            ; preds = %25029
  call void @llvm.lifetime.start.p0(i64 4, ptr %575) #10
  %25031 = call ptr @__errno_location() #11
  %25032 = load i32, ptr %25031, align 4, !tbaa !5
  store i32 %25032, ptr %575, align 4, !tbaa !5
  %25033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25034 = call i32 @s2n_print_stacktrace(ptr noundef %25033)
  %25035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25036 = trunc i8 %25035 to i1
  br i1 %25036, label %25037, label %25059

25037:                                            ; preds = %25030
  %25038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25039 = call i32 @fileno(ptr noundef %25038) #10
  %25040 = call i32 @isatty(i32 noundef %25039) #10
  %25041 = icmp ne i32 %25040, 0
  br i1 %25041, label %25042, label %25059

25042:                                            ; preds = %25037
  %25043 = load i32, ptr %575, align 4, !tbaa !5
  %25044 = call ptr @__errno_location() #11
  store i32 %25043, ptr %25044, align 4, !tbaa !5
  %25045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25046 = load i32, ptr @test_count, align 4, !tbaa !5
  %25047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25048 = load i32, ptr %25047, align 4, !tbaa !5
  %25049 = call ptr @s2n_strerror(i32 noundef %25048, ptr noundef @.str.10)
  %25050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25051 = load i32, ptr %25050, align 4, !tbaa !5
  %25052 = call ptr @s2n_strerror_debug(i32 noundef %25051, ptr noundef @.str.10)
  %25053 = call ptr @__errno_location() #11
  %25054 = load i32, ptr %25053, align 4, !tbaa !5
  %25055 = call ptr @strerror(i32 noundef %25054) #10
  %25056 = call ptr @__errno_location() #11
  %25057 = load i32, ptr %25056, align 4, !tbaa !5
  %25058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25045, ptr noundef @.str.8, i32 noundef %25046, ptr noundef @.str.82, ptr noundef @.str.7, i32 noundef 948, ptr noundef %25049, ptr noundef %25052, ptr noundef %25055, i32 noundef %25057) #10
  br label %25076

25059:                                            ; preds = %25037, %25030
  %25060 = load i32, ptr %575, align 4, !tbaa !5
  %25061 = call ptr @__errno_location() #11
  store i32 %25060, ptr %25061, align 4, !tbaa !5
  %25062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25063 = load i32, ptr @test_count, align 4, !tbaa !5
  %25064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25065 = load i32, ptr %25064, align 4, !tbaa !5
  %25066 = call ptr @s2n_strerror(i32 noundef %25065, ptr noundef @.str.10)
  %25067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25068 = load i32, ptr %25067, align 4, !tbaa !5
  %25069 = call ptr @s2n_strerror_debug(i32 noundef %25068, ptr noundef @.str.10)
  %25070 = call ptr @__errno_location() #11
  %25071 = load i32, ptr %25070, align 4, !tbaa !5
  %25072 = call ptr @strerror(i32 noundef %25071) #10
  %25073 = call ptr @__errno_location() #11
  %25074 = load i32, ptr %25073, align 4, !tbaa !5
  %25075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25062, ptr noundef @.str.11, i32 noundef %25063, ptr noundef @.str.82, ptr noundef @.str.7, i32 noundef 948, ptr noundef %25066, ptr noundef %25069, ptr noundef %25072, i32 noundef %25074) #10
  br label %25076

25076:                                            ; preds = %25059, %25042
  call void @llvm.lifetime.end.p0(i64 4, ptr %575) #10
  br label %25077

25077:                                            ; preds = %25076
  br label %25078

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

25079:                                            ; No predecessors!
  br label %25080

25080:                                            ; preds = %25079
  br label %25081

25081:                                            ; preds = %25080, %25022
  br label %25082

25082:                                            ; preds = %25081
  br label %25083

25083:                                            ; preds = %25082
  br label %25084

25084:                                            ; preds = %25083
  %25085 = load i32, ptr @test_count, align 4, !tbaa !5
  %25086 = add nsw i32 %25085, 1
  store i32 %25086, ptr @test_count, align 4, !tbaa !5
  %25087 = load ptr, ptr %563, align 8, !tbaa !9
  %25088 = getelementptr inbounds %struct.s2n_connection, ptr %25087, i32 0, i32 49
  %25089 = load i8, ptr %25088, align 1, !tbaa !16, !range !13, !noundef !14
  %25090 = trunc i8 %25089 to i1
  br i1 %25090, label %25144, label %25091

25091:                                            ; preds = %25084
  br label %25092

25092:                                            ; preds = %25091
  br label %25093

25093:                                            ; preds = %25092
  call void @llvm.lifetime.start.p0(i64 4, ptr %576) #10
  %25094 = call ptr @__errno_location() #11
  %25095 = load i32, ptr %25094, align 4, !tbaa !5
  store i32 %25095, ptr %576, align 4, !tbaa !5
  %25096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25097 = call i32 @s2n_print_stacktrace(ptr noundef %25096)
  %25098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25099 = trunc i8 %25098 to i1
  br i1 %25099, label %25100, label %25122

25100:                                            ; preds = %25093
  %25101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25102 = call i32 @fileno(ptr noundef %25101) #10
  %25103 = call i32 @isatty(i32 noundef %25102) #10
  %25104 = icmp ne i32 %25103, 0
  br i1 %25104, label %25105, label %25122

25105:                                            ; preds = %25100
  %25106 = load i32, ptr %576, align 4, !tbaa !5
  %25107 = call ptr @__errno_location() #11
  store i32 %25106, ptr %25107, align 4, !tbaa !5
  %25108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25109 = load i32, ptr @test_count, align 4, !tbaa !5
  %25110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25111 = load i32, ptr %25110, align 4, !tbaa !5
  %25112 = call ptr @s2n_strerror(i32 noundef %25111, ptr noundef @.str.10)
  %25113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25114 = load i32, ptr %25113, align 4, !tbaa !5
  %25115 = call ptr @s2n_strerror_debug(i32 noundef %25114, ptr noundef @.str.10)
  %25116 = call ptr @__errno_location() #11
  %25117 = load i32, ptr %25116, align 4, !tbaa !5
  %25118 = call ptr @strerror(i32 noundef %25117) #10
  %25119 = call ptr @__errno_location() #11
  %25120 = load i32, ptr %25119, align 4, !tbaa !5
  %25121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25108, ptr noundef @.str.8, i32 noundef %25109, ptr noundef @.str.130, ptr noundef @.str.7, i32 noundef 949, ptr noundef %25112, ptr noundef %25115, ptr noundef %25118, i32 noundef %25120) #10
  br label %25139

25122:                                            ; preds = %25100, %25093
  %25123 = load i32, ptr %576, align 4, !tbaa !5
  %25124 = call ptr @__errno_location() #11
  store i32 %25123, ptr %25124, align 4, !tbaa !5
  %25125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25126 = load i32, ptr @test_count, align 4, !tbaa !5
  %25127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25128 = load i32, ptr %25127, align 4, !tbaa !5
  %25129 = call ptr @s2n_strerror(i32 noundef %25128, ptr noundef @.str.10)
  %25130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25131 = load i32, ptr %25130, align 4, !tbaa !5
  %25132 = call ptr @s2n_strerror_debug(i32 noundef %25131, ptr noundef @.str.10)
  %25133 = call ptr @__errno_location() #11
  %25134 = load i32, ptr %25133, align 4, !tbaa !5
  %25135 = call ptr @strerror(i32 noundef %25134) #10
  %25136 = call ptr @__errno_location() #11
  %25137 = load i32, ptr %25136, align 4, !tbaa !5
  %25138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25125, ptr noundef @.str.11, i32 noundef %25126, ptr noundef @.str.130, ptr noundef @.str.7, i32 noundef 949, ptr noundef %25129, ptr noundef %25132, ptr noundef %25135, i32 noundef %25137) #10
  br label %25139

25139:                                            ; preds = %25122, %25105
  call void @llvm.lifetime.end.p0(i64 4, ptr %576) #10
  br label %25140

25140:                                            ; preds = %25139
  br label %25141

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

25142:                                            ; No predecessors!
  br label %25143

25143:                                            ; preds = %25142
  br label %25144

25144:                                            ; preds = %25143, %25084
  br label %25145

25145:                                            ; preds = %25144
  br label %25146

25146:                                            ; preds = %25145
  br label %25147

25147:                                            ; preds = %25146
  %25148 = load i32, ptr @test_count, align 4, !tbaa !5
  %25149 = add nsw i32 %25148, 1
  store i32 %25149, ptr @test_count, align 4, !tbaa !5
  %25150 = load ptr, ptr %567, align 8, !tbaa !9
  %25151 = call i32 @s2n_shutdown(ptr noundef %25150, ptr noundef %574)
  %25152 = icmp eq i32 %25151, -1
  br i1 %25152, label %25153, label %25206

25153:                                            ; preds = %25147
  br label %25154

25154:                                            ; preds = %25153
  br label %25155

25155:                                            ; preds = %25154
  call void @llvm.lifetime.start.p0(i64 4, ptr %577) #10
  %25156 = call ptr @__errno_location() #11
  %25157 = load i32, ptr %25156, align 4, !tbaa !5
  store i32 %25157, ptr %577, align 4, !tbaa !5
  %25158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25159 = call i32 @s2n_print_stacktrace(ptr noundef %25158)
  %25160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25161 = trunc i8 %25160 to i1
  br i1 %25161, label %25162, label %25184

25162:                                            ; preds = %25155
  %25163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25164 = call i32 @fileno(ptr noundef %25163) #10
  %25165 = call i32 @isatty(i32 noundef %25164) #10
  %25166 = icmp ne i32 %25165, 0
  br i1 %25166, label %25167, label %25184

25167:                                            ; preds = %25162
  %25168 = load i32, ptr %577, align 4, !tbaa !5
  %25169 = call ptr @__errno_location() #11
  store i32 %25168, ptr %25169, align 4, !tbaa !5
  %25170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25171 = load i32, ptr @test_count, align 4, !tbaa !5
  %25172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25173 = load i32, ptr %25172, align 4, !tbaa !5
  %25174 = call ptr @s2n_strerror(i32 noundef %25173, ptr noundef @.str.10)
  %25175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25176 = load i32, ptr %25175, align 4, !tbaa !5
  %25177 = call ptr @s2n_strerror_debug(i32 noundef %25176, ptr noundef @.str.10)
  %25178 = call ptr @__errno_location() #11
  %25179 = load i32, ptr %25178, align 4, !tbaa !5
  %25180 = call ptr @strerror(i32 noundef %25179) #10
  %25181 = call ptr @__errno_location() #11
  %25182 = load i32, ptr %25181, align 4, !tbaa !5
  %25183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25170, ptr noundef @.str.8, i32 noundef %25171, ptr noundef @.str.83, ptr noundef @.str.7, i32 noundef 951, ptr noundef %25174, ptr noundef %25177, ptr noundef %25180, i32 noundef %25182) #10
  br label %25201

25184:                                            ; preds = %25162, %25155
  %25185 = load i32, ptr %577, align 4, !tbaa !5
  %25186 = call ptr @__errno_location() #11
  store i32 %25185, ptr %25186, align 4, !tbaa !5
  %25187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25188 = load i32, ptr @test_count, align 4, !tbaa !5
  %25189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25190 = load i32, ptr %25189, align 4, !tbaa !5
  %25191 = call ptr @s2n_strerror(i32 noundef %25190, ptr noundef @.str.10)
  %25192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25193 = load i32, ptr %25192, align 4, !tbaa !5
  %25194 = call ptr @s2n_strerror_debug(i32 noundef %25193, ptr noundef @.str.10)
  %25195 = call ptr @__errno_location() #11
  %25196 = load i32, ptr %25195, align 4, !tbaa !5
  %25197 = call ptr @strerror(i32 noundef %25196) #10
  %25198 = call ptr @__errno_location() #11
  %25199 = load i32, ptr %25198, align 4, !tbaa !5
  %25200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25187, ptr noundef @.str.11, i32 noundef %25188, ptr noundef @.str.83, ptr noundef @.str.7, i32 noundef 951, ptr noundef %25191, ptr noundef %25194, ptr noundef %25197, i32 noundef %25199) #10
  br label %25201

25201:                                            ; preds = %25184, %25167
  call void @llvm.lifetime.end.p0(i64 4, ptr %577) #10
  br label %25202

25202:                                            ; preds = %25201
  br label %25203

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

25204:                                            ; No predecessors!
  br label %25205

25205:                                            ; preds = %25204
  br label %25206

25206:                                            ; preds = %25205, %25147
  br label %25207

25207:                                            ; preds = %25206
  br label %25208

25208:                                            ; preds = %25207
  br label %25209

25209:                                            ; preds = %25208
  %25210 = load i32, ptr @test_count, align 4, !tbaa !5
  %25211 = add nsw i32 %25210, 1
  store i32 %25211, ptr @test_count, align 4, !tbaa !5
  %25212 = load ptr, ptr %567, align 8, !tbaa !9
  %25213 = getelementptr inbounds %struct.s2n_connection, ptr %25212, i32 0, i32 49
  %25214 = load i8, ptr %25213, align 1, !tbaa !16, !range !13, !noundef !14
  %25215 = trunc i8 %25214 to i1
  br i1 %25215, label %25269, label %25216

25216:                                            ; preds = %25209
  br label %25217

25217:                                            ; preds = %25216
  br label %25218

25218:                                            ; preds = %25217
  call void @llvm.lifetime.start.p0(i64 4, ptr %578) #10
  %25219 = call ptr @__errno_location() #11
  %25220 = load i32, ptr %25219, align 4, !tbaa !5
  store i32 %25220, ptr %578, align 4, !tbaa !5
  %25221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25222 = call i32 @s2n_print_stacktrace(ptr noundef %25221)
  %25223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25224 = trunc i8 %25223 to i1
  br i1 %25224, label %25225, label %25247

25225:                                            ; preds = %25218
  %25226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25227 = call i32 @fileno(ptr noundef %25226) #10
  %25228 = call i32 @isatty(i32 noundef %25227) #10
  %25229 = icmp ne i32 %25228, 0
  br i1 %25229, label %25230, label %25247

25230:                                            ; preds = %25225
  %25231 = load i32, ptr %578, align 4, !tbaa !5
  %25232 = call ptr @__errno_location() #11
  store i32 %25231, ptr %25232, align 4, !tbaa !5
  %25233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25234 = load i32, ptr @test_count, align 4, !tbaa !5
  %25235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25236 = load i32, ptr %25235, align 4, !tbaa !5
  %25237 = call ptr @s2n_strerror(i32 noundef %25236, ptr noundef @.str.10)
  %25238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25239 = load i32, ptr %25238, align 4, !tbaa !5
  %25240 = call ptr @s2n_strerror_debug(i32 noundef %25239, ptr noundef @.str.10)
  %25241 = call ptr @__errno_location() #11
  %25242 = load i32, ptr %25241, align 4, !tbaa !5
  %25243 = call ptr @strerror(i32 noundef %25242) #10
  %25244 = call ptr @__errno_location() #11
  %25245 = load i32, ptr %25244, align 4, !tbaa !5
  %25246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25233, ptr noundef @.str.8, i32 noundef %25234, ptr noundef @.str.131, ptr noundef @.str.7, i32 noundef 952, ptr noundef %25237, ptr noundef %25240, ptr noundef %25243, i32 noundef %25245) #10
  br label %25264

25247:                                            ; preds = %25225, %25218
  %25248 = load i32, ptr %578, align 4, !tbaa !5
  %25249 = call ptr @__errno_location() #11
  store i32 %25248, ptr %25249, align 4, !tbaa !5
  %25250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25251 = load i32, ptr @test_count, align 4, !tbaa !5
  %25252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25253 = load i32, ptr %25252, align 4, !tbaa !5
  %25254 = call ptr @s2n_strerror(i32 noundef %25253, ptr noundef @.str.10)
  %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_debug(i32 noundef %25256, ptr noundef @.str.10)
  %25258 = call ptr @__errno_location() #11
  %25259 = load i32, ptr %25258, align 4, !tbaa !5
  %25260 = call ptr @strerror(i32 noundef %25259) #10
  %25261 = call ptr @__errno_location() #11
  %25262 = load i32, ptr %25261, align 4, !tbaa !5
  %25263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25250, ptr noundef @.str.11, i32 noundef %25251, ptr noundef @.str.131, ptr noundef @.str.7, i32 noundef 952, ptr noundef %25254, ptr noundef %25257, ptr noundef %25260, i32 noundef %25262) #10
  br label %25264

25264:                                            ; preds = %25247, %25230
  call void @llvm.lifetime.end.p0(i64 4, ptr %578) #10
  br label %25265

25265:                                            ; preds = %25264
  br label %25266

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

25267:                                            ; No predecessors!
  br label %25268

25268:                                            ; preds = %25267
  br label %25269

25269:                                            ; preds = %25268, %25209
  br label %25270

25270:                                            ; preds = %25269
  br label %25271

25271:                                            ; preds = %25270
  br label %25272

25272:                                            ; preds = %25271
  %25273 = load i32, ptr @test_count, align 4, !tbaa !5
  %25274 = add nsw i32 %25273, 1
  store i32 %25274, ptr @test_count, align 4, !tbaa !5
  %25275 = load ptr, ptr %567, align 8, !tbaa !9
  %25276 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %25275, i32 noundef 3)
  br i1 %25276, label %25330, label %25277

25277:                                            ; preds = %25272
  br label %25278

25278:                                            ; preds = %25277
  br label %25279

25279:                                            ; preds = %25278
  call void @llvm.lifetime.start.p0(i64 4, ptr %579) #10
  %25280 = call ptr @__errno_location() #11
  %25281 = load i32, ptr %25280, align 4, !tbaa !5
  store i32 %25281, ptr %579, align 4, !tbaa !5
  %25282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25283 = call i32 @s2n_print_stacktrace(ptr noundef %25282)
  %25284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25285 = trunc i8 %25284 to i1
  br i1 %25285, label %25286, label %25308

25286:                                            ; preds = %25279
  %25287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25288 = call i32 @fileno(ptr noundef %25287) #10
  %25289 = call i32 @isatty(i32 noundef %25288) #10
  %25290 = icmp ne i32 %25289, 0
  br i1 %25290, label %25291, label %25308

25291:                                            ; preds = %25286
  %25292 = load i32, ptr %579, align 4, !tbaa !5
  %25293 = call ptr @__errno_location() #11
  store i32 %25292, ptr %25293, align 4, !tbaa !5
  %25294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25295 = load i32, ptr @test_count, align 4, !tbaa !5
  %25296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25297 = load i32, ptr %25296, align 4, !tbaa !5
  %25298 = call ptr @s2n_strerror(i32 noundef %25297, ptr noundef @.str.10)
  %25299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25300 = load i32, ptr %25299, align 4, !tbaa !5
  %25301 = call ptr @s2n_strerror_debug(i32 noundef %25300, ptr noundef @.str.10)
  %25302 = call ptr @__errno_location() #11
  %25303 = load i32, ptr %25302, align 4, !tbaa !5
  %25304 = call ptr @strerror(i32 noundef %25303) #10
  %25305 = call ptr @__errno_location() #11
  %25306 = load i32, ptr %25305, align 4, !tbaa !5
  %25307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25294, ptr noundef @.str.8, i32 noundef %25295, ptr noundef @.str.132, ptr noundef @.str.7, i32 noundef 953, ptr noundef %25298, ptr noundef %25301, ptr noundef %25304, i32 noundef %25306) #10
  br label %25325

25308:                                            ; preds = %25286, %25279
  %25309 = load i32, ptr %579, align 4, !tbaa !5
  %25310 = call ptr @__errno_location() #11
  store i32 %25309, ptr %25310, align 4, !tbaa !5
  %25311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25312 = load i32, ptr @test_count, align 4, !tbaa !5
  %25313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25314 = load i32, ptr %25313, align 4, !tbaa !5
  %25315 = call ptr @s2n_strerror(i32 noundef %25314, ptr noundef @.str.10)
  %25316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25317 = load i32, ptr %25316, align 4, !tbaa !5
  %25318 = call ptr @s2n_strerror_debug(i32 noundef %25317, ptr noundef @.str.10)
  %25319 = call ptr @__errno_location() #11
  %25320 = load i32, ptr %25319, align 4, !tbaa !5
  %25321 = call ptr @strerror(i32 noundef %25320) #10
  %25322 = call ptr @__errno_location() #11
  %25323 = load i32, ptr %25322, align 4, !tbaa !5
  %25324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25311, ptr noundef @.str.11, i32 noundef %25312, ptr noundef @.str.132, ptr noundef @.str.7, i32 noundef 953, ptr noundef %25315, ptr noundef %25318, ptr noundef %25321, i32 noundef %25323) #10
  br label %25325

25325:                                            ; preds = %25308, %25291
  call void @llvm.lifetime.end.p0(i64 4, ptr %579) #10
  br label %25326

25326:                                            ; preds = %25325
  br label %25327

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

25328:                                            ; No predecessors!
  br label %25329

25329:                                            ; preds = %25328
  br label %25330

25330:                                            ; preds = %25329, %25272
  br label %25331

25331:                                            ; preds = %25330
  br label %25332

25332:                                            ; preds = %25331
  call void @llvm.lifetime.end.p0(i64 4, ptr %574) #10
  %25333 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef %571)
  %25334 = getelementptr inbounds %struct.s2n_result, ptr %580, i32 0, i32 0
  store i32 %25333, ptr %25334, align 4
  call void @llvm.lifetime.end.p0(i64 192, ptr %571) #10
  %25335 = call i32 @s2n_connection_ptr_free(ptr noundef %567)
  %25336 = getelementptr inbounds %struct.s2n_result, ptr %581, i32 0, i32 0
  store i32 %25335, ptr %25336, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %567) #10
  %25337 = call i32 @s2n_connection_ptr_free(ptr noundef %563)
  %25338 = getelementptr inbounds %struct.s2n_result, ptr %582, i32 0, i32 0
  store i32 %25337, ptr %25338, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %563) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %583) #10
  %25339 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %25339, ptr %583, align 8, !tbaa !9
  br label %25340

25340:                                            ; preds = %25332
  %25341 = load i32, ptr @test_count, align 4, !tbaa !5
  %25342 = add nsw i32 %25341, 1
  store i32 %25342, ptr @test_count, align 4, !tbaa !5
  %25343 = load ptr, ptr %583, align 8, !tbaa !9
  %25344 = icmp eq ptr %25343, null
  br i1 %25344, label %25345, label %25398

25345:                                            ; preds = %25340
  br label %25346

25346:                                            ; preds = %25345
  br label %25347

25347:                                            ; preds = %25346
  call void @llvm.lifetime.start.p0(i64 4, ptr %584) #10
  %25348 = call ptr @__errno_location() #11
  %25349 = load i32, ptr %25348, align 4, !tbaa !5
  store i32 %25349, ptr %584, align 4, !tbaa !5
  %25350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25351 = call i32 @s2n_print_stacktrace(ptr noundef %25350)
  %25352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25353 = trunc i8 %25352 to i1
  br i1 %25353, label %25354, label %25376

25354:                                            ; preds = %25347
  %25355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25356 = call i32 @fileno(ptr noundef %25355) #10
  %25357 = call i32 @isatty(i32 noundef %25356) #10
  %25358 = icmp ne i32 %25357, 0
  br i1 %25358, label %25359, label %25376

25359:                                            ; preds = %25354
  %25360 = load i32, ptr %584, align 4, !tbaa !5
  %25361 = call ptr @__errno_location() #11
  store i32 %25360, ptr %25361, align 4, !tbaa !5
  %25362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25363 = load i32, ptr @test_count, align 4, !tbaa !5
  %25364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25365 = load i32, ptr %25364, align 4, !tbaa !5
  %25366 = call ptr @s2n_strerror(i32 noundef %25365, ptr noundef @.str.10)
  %25367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25368 = load i32, ptr %25367, align 4, !tbaa !5
  %25369 = call ptr @s2n_strerror_debug(i32 noundef %25368, ptr noundef @.str.10)
  %25370 = call ptr @__errno_location() #11
  %25371 = load i32, ptr %25370, align 4, !tbaa !5
  %25372 = call ptr @strerror(i32 noundef %25371) #10
  %25373 = call ptr @__errno_location() #11
  %25374 = load i32, ptr %25373, align 4, !tbaa !5
  %25375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25362, ptr noundef @.str.8, i32 noundef %25363, ptr noundef @.str.73, ptr noundef @.str.7, i32 noundef 960, ptr noundef %25366, ptr noundef %25369, ptr noundef %25372, i32 noundef %25374) #10
  br label %25393

25376:                                            ; preds = %25354, %25347
  %25377 = load i32, ptr %584, align 4, !tbaa !5
  %25378 = call ptr @__errno_location() #11
  store i32 %25377, ptr %25378, align 4, !tbaa !5
  %25379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25380 = load i32, ptr @test_count, align 4, !tbaa !5
  %25381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25382 = load i32, ptr %25381, align 4, !tbaa !5
  %25383 = call ptr @s2n_strerror(i32 noundef %25382, ptr noundef @.str.10)
  %25384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25385 = load i32, ptr %25384, align 4, !tbaa !5
  %25386 = call ptr @s2n_strerror_debug(i32 noundef %25385, ptr noundef @.str.10)
  %25387 = call ptr @__errno_location() #11
  %25388 = load i32, ptr %25387, align 4, !tbaa !5
  %25389 = call ptr @strerror(i32 noundef %25388) #10
  %25390 = call ptr @__errno_location() #11
  %25391 = load i32, ptr %25390, align 4, !tbaa !5
  %25392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25379, ptr noundef @.str.11, i32 noundef %25380, ptr noundef @.str.73, ptr noundef @.str.7, i32 noundef 960, ptr noundef %25383, ptr noundef %25386, ptr noundef %25389, i32 noundef %25391) #10
  br label %25393

25393:                                            ; preds = %25376, %25359
  call void @llvm.lifetime.end.p0(i64 4, ptr %584) #10
  br label %25394

25394:                                            ; preds = %25393
  br label %25395

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

25396:                                            ; No predecessors!
  br label %25397

25397:                                            ; preds = %25396
  br label %25398

25398:                                            ; preds = %25397, %25340
  br label %25399

25399:                                            ; preds = %25398
  br label %25400

25400:                                            ; preds = %25399
  %25401 = load ptr, ptr %583, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %25401, i32 noundef 0)
  %25402 = load ptr, ptr %583, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %25402, i32 noundef 1)
  br label %25403

25403:                                            ; preds = %25400
  %25404 = load i32, ptr @test_count, align 4, !tbaa !5
  %25405 = add nsw i32 %25404, 1
  store i32 %25405, ptr @test_count, align 4, !tbaa !5
  %25406 = load ptr, ptr %583, align 8, !tbaa !9
  %25407 = call i32 @s2n_skip_handshake(ptr noundef %25406)
  %25408 = getelementptr inbounds %struct.s2n_result, ptr %585, i32 0, i32 0
  store i32 %25407, ptr %25408, align 4
  %25409 = getelementptr inbounds %struct.s2n_result, ptr %585, i32 0, i32 0
  %25410 = load i32, ptr %25409, align 4
  %25411 = call zeroext i1 @s2n_result_is_ok(i32 %25410)
  br i1 %25411, label %25465, label %25412

25412:                                            ; preds = %25403
  br label %25413

25413:                                            ; preds = %25412
  br label %25414

25414:                                            ; preds = %25413
  call void @llvm.lifetime.start.p0(i64 4, ptr %586) #10
  %25415 = call ptr @__errno_location() #11
  %25416 = load i32, ptr %25415, align 4, !tbaa !5
  store i32 %25416, ptr %586, align 4, !tbaa !5
  %25417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25418 = call i32 @s2n_print_stacktrace(ptr noundef %25417)
  %25419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25420 = trunc i8 %25419 to i1
  br i1 %25420, label %25421, label %25443

25421:                                            ; preds = %25414
  %25422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25423 = call i32 @fileno(ptr noundef %25422) #10
  %25424 = call i32 @isatty(i32 noundef %25423) #10
  %25425 = icmp ne i32 %25424, 0
  br i1 %25425, label %25426, label %25443

25426:                                            ; preds = %25421
  %25427 = load i32, ptr %586, align 4, !tbaa !5
  %25428 = call ptr @__errno_location() #11
  store i32 %25427, ptr %25428, align 4, !tbaa !5
  %25429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25430 = load i32, ptr @test_count, align 4, !tbaa !5
  %25431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25432 = load i32, ptr %25431, align 4, !tbaa !5
  %25433 = call ptr @s2n_strerror(i32 noundef %25432, ptr noundef @.str.10)
  %25434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25435 = load i32, ptr %25434, align 4, !tbaa !5
  %25436 = call ptr @s2n_strerror_debug(i32 noundef %25435, ptr noundef @.str.10)
  %25437 = call ptr @__errno_location() #11
  %25438 = load i32, ptr %25437, align 4, !tbaa !5
  %25439 = call ptr @strerror(i32 noundef %25438) #10
  %25440 = call ptr @__errno_location() #11
  %25441 = load i32, ptr %25440, align 4, !tbaa !5
  %25442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25429, ptr noundef @.str.8, i32 noundef %25430, ptr noundef @.str.127, ptr noundef @.str.7, i32 noundef 963, ptr noundef %25433, ptr noundef %25436, ptr noundef %25439, i32 noundef %25441) #10
  br label %25460

25443:                                            ; preds = %25421, %25414
  %25444 = load i32, ptr %586, align 4, !tbaa !5
  %25445 = call ptr @__errno_location() #11
  store i32 %25444, ptr %25445, align 4, !tbaa !5
  %25446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25447 = load i32, ptr @test_count, align 4, !tbaa !5
  %25448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25449 = load i32, ptr %25448, align 4, !tbaa !5
  %25450 = call ptr @s2n_strerror(i32 noundef %25449, ptr noundef @.str.10)
  %25451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25452 = load i32, ptr %25451, align 4, !tbaa !5
  %25453 = call ptr @s2n_strerror_debug(i32 noundef %25452, ptr noundef @.str.10)
  %25454 = call ptr @__errno_location() #11
  %25455 = load i32, ptr %25454, align 4, !tbaa !5
  %25456 = call ptr @strerror(i32 noundef %25455) #10
  %25457 = call ptr @__errno_location() #11
  %25458 = load i32, ptr %25457, align 4, !tbaa !5
  %25459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25446, ptr noundef @.str.11, i32 noundef %25447, ptr noundef @.str.127, ptr noundef @.str.7, i32 noundef 963, ptr noundef %25450, ptr noundef %25453, ptr noundef %25456, i32 noundef %25458) #10
  br label %25460

25460:                                            ; preds = %25443, %25426
  call void @llvm.lifetime.end.p0(i64 4, ptr %586) #10
  br label %25461

25461:                                            ; preds = %25460
  br label %25462

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

25463:                                            ; No predecessors!
  br label %25464

25464:                                            ; preds = %25463
  br label %25465

25465:                                            ; preds = %25464, %25403
  br label %25466

25466:                                            ; preds = %25465
  br label %25467

25467:                                            ; preds = %25466
  call void @llvm.lifetime.start.p0(i64 8, ptr %587) #10
  %25468 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %25468, ptr %587, align 8, !tbaa !9
  br label %25469

25469:                                            ; preds = %25467
  %25470 = load i32, ptr @test_count, align 4, !tbaa !5
  %25471 = add nsw i32 %25470, 1
  store i32 %25471, ptr @test_count, align 4, !tbaa !5
  %25472 = load ptr, ptr %587, align 8, !tbaa !9
  %25473 = icmp eq ptr %25472, null
  br i1 %25473, label %25474, label %25527

25474:                                            ; preds = %25469
  br label %25475

25475:                                            ; preds = %25474
  br label %25476

25476:                                            ; preds = %25475
  call void @llvm.lifetime.start.p0(i64 4, ptr %588) #10
  %25477 = call ptr @__errno_location() #11
  %25478 = load i32, ptr %25477, align 4, !tbaa !5
  store i32 %25478, ptr %588, align 4, !tbaa !5
  %25479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25480 = call i32 @s2n_print_stacktrace(ptr noundef %25479)
  %25481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25482 = trunc i8 %25481 to i1
  br i1 %25482, label %25483, label %25505

25483:                                            ; preds = %25476
  %25484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25485 = call i32 @fileno(ptr noundef %25484) #10
  %25486 = call i32 @isatty(i32 noundef %25485) #10
  %25487 = icmp ne i32 %25486, 0
  br i1 %25487, label %25488, label %25505

25488:                                            ; preds = %25483
  %25489 = load i32, ptr %588, align 4, !tbaa !5
  %25490 = call ptr @__errno_location() #11
  store i32 %25489, ptr %25490, align 4, !tbaa !5
  %25491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25492 = load i32, ptr @test_count, align 4, !tbaa !5
  %25493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25494 = load i32, ptr %25493, align 4, !tbaa !5
  %25495 = call ptr @s2n_strerror(i32 noundef %25494, ptr noundef @.str.10)
  %25496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25497 = load i32, ptr %25496, align 4, !tbaa !5
  %25498 = call ptr @s2n_strerror_debug(i32 noundef %25497, ptr noundef @.str.10)
  %25499 = call ptr @__errno_location() #11
  %25500 = load i32, ptr %25499, align 4, !tbaa !5
  %25501 = call ptr @strerror(i32 noundef %25500) #10
  %25502 = call ptr @__errno_location() #11
  %25503 = load i32, ptr %25502, align 4, !tbaa !5
  %25504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25491, ptr noundef @.str.8, i32 noundef %25492, ptr noundef @.str.75, ptr noundef @.str.7, i32 noundef 967, ptr noundef %25495, ptr noundef %25498, ptr noundef %25501, i32 noundef %25503) #10
  br label %25522

25505:                                            ; preds = %25483, %25476
  %25506 = load i32, ptr %588, align 4, !tbaa !5
  %25507 = call ptr @__errno_location() #11
  store i32 %25506, ptr %25507, align 4, !tbaa !5
  %25508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25509 = load i32, ptr @test_count, align 4, !tbaa !5
  %25510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25511 = load i32, ptr %25510, align 4, !tbaa !5
  %25512 = call ptr @s2n_strerror(i32 noundef %25511, ptr noundef @.str.10)
  %25513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25514 = load i32, ptr %25513, align 4, !tbaa !5
  %25515 = call ptr @s2n_strerror_debug(i32 noundef %25514, ptr noundef @.str.10)
  %25516 = call ptr @__errno_location() #11
  %25517 = load i32, ptr %25516, align 4, !tbaa !5
  %25518 = call ptr @strerror(i32 noundef %25517) #10
  %25519 = call ptr @__errno_location() #11
  %25520 = load i32, ptr %25519, align 4, !tbaa !5
  %25521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25508, ptr noundef @.str.11, i32 noundef %25509, ptr noundef @.str.75, ptr noundef @.str.7, i32 noundef 967, ptr noundef %25512, ptr noundef %25515, ptr noundef %25518, i32 noundef %25520) #10
  br label %25522

25522:                                            ; preds = %25505, %25488
  call void @llvm.lifetime.end.p0(i64 4, ptr %588) #10
  br label %25523

25523:                                            ; preds = %25522
  br label %25524

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

25525:                                            ; No predecessors!
  br label %25526

25526:                                            ; preds = %25525
  br label %25527

25527:                                            ; preds = %25526, %25469
  br label %25528

25528:                                            ; preds = %25527
  br label %25529

25529:                                            ; preds = %25528
  %25530 = load ptr, ptr %587, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %25530, i32 noundef 0)
  %25531 = load ptr, ptr %587, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %25531, i32 noundef 1)
  br label %25532

25532:                                            ; preds = %25529
  %25533 = load i32, ptr @test_count, align 4, !tbaa !5
  %25534 = add nsw i32 %25533, 1
  store i32 %25534, ptr @test_count, align 4, !tbaa !5
  %25535 = load ptr, ptr %587, align 8, !tbaa !9
  %25536 = call i32 @s2n_skip_handshake(ptr noundef %25535)
  %25537 = getelementptr inbounds %struct.s2n_result, ptr %589, i32 0, i32 0
  store i32 %25536, ptr %25537, align 4
  %25538 = getelementptr inbounds %struct.s2n_result, ptr %589, i32 0, i32 0
  %25539 = load i32, ptr %25538, align 4
  %25540 = call zeroext i1 @s2n_result_is_ok(i32 %25539)
  br i1 %25540, label %25594, label %25541

25541:                                            ; preds = %25532
  br label %25542

25542:                                            ; preds = %25541
  br label %25543

25543:                                            ; preds = %25542
  call void @llvm.lifetime.start.p0(i64 4, ptr %590) #10
  %25544 = call ptr @__errno_location() #11
  %25545 = load i32, ptr %25544, align 4, !tbaa !5
  store i32 %25545, ptr %590, align 4, !tbaa !5
  %25546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25547 = call i32 @s2n_print_stacktrace(ptr noundef %25546)
  %25548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25549 = trunc i8 %25548 to i1
  br i1 %25549, label %25550, label %25572

25550:                                            ; preds = %25543
  %25551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25552 = call i32 @fileno(ptr noundef %25551) #10
  %25553 = call i32 @isatty(i32 noundef %25552) #10
  %25554 = icmp ne i32 %25553, 0
  br i1 %25554, label %25555, label %25572

25555:                                            ; preds = %25550
  %25556 = load i32, ptr %590, align 4, !tbaa !5
  %25557 = call ptr @__errno_location() #11
  store i32 %25556, ptr %25557, align 4, !tbaa !5
  %25558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25559 = load i32, ptr @test_count, align 4, !tbaa !5
  %25560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25561 = load i32, ptr %25560, align 4, !tbaa !5
  %25562 = call ptr @s2n_strerror(i32 noundef %25561, ptr noundef @.str.10)
  %25563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25564 = load i32, ptr %25563, align 4, !tbaa !5
  %25565 = call ptr @s2n_strerror_debug(i32 noundef %25564, ptr noundef @.str.10)
  %25566 = call ptr @__errno_location() #11
  %25567 = load i32, ptr %25566, align 4, !tbaa !5
  %25568 = call ptr @strerror(i32 noundef %25567) #10
  %25569 = call ptr @__errno_location() #11
  %25570 = load i32, ptr %25569, align 4, !tbaa !5
  %25571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25558, ptr noundef @.str.8, i32 noundef %25559, ptr noundef @.str.128, ptr noundef @.str.7, i32 noundef 970, ptr noundef %25562, ptr noundef %25565, ptr noundef %25568, i32 noundef %25570) #10
  br label %25589

25572:                                            ; preds = %25550, %25543
  %25573 = load i32, ptr %590, align 4, !tbaa !5
  %25574 = call ptr @__errno_location() #11
  store i32 %25573, ptr %25574, align 4, !tbaa !5
  %25575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25576 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %25578, ptr noundef @.str.10)
  %25580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25581 = load i32, ptr %25580, align 4, !tbaa !5
  %25582 = call ptr @s2n_strerror_debug(i32 noundef %25581, ptr noundef @.str.10)
  %25583 = call ptr @__errno_location() #11
  %25584 = load i32, ptr %25583, align 4, !tbaa !5
  %25585 = call ptr @strerror(i32 noundef %25584) #10
  %25586 = call ptr @__errno_location() #11
  %25587 = load i32, ptr %25586, align 4, !tbaa !5
  %25588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25575, ptr noundef @.str.11, i32 noundef %25576, ptr noundef @.str.128, ptr noundef @.str.7, i32 noundef 970, ptr noundef %25579, ptr noundef %25582, ptr noundef %25585, i32 noundef %25587) #10
  br label %25589

25589:                                            ; preds = %25572, %25555
  call void @llvm.lifetime.end.p0(i64 4, ptr %590) #10
  br label %25590

25590:                                            ; preds = %25589
  br label %25591

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

25592:                                            ; No predecessors!
  br label %25593

25593:                                            ; preds = %25592
  br label %25594

25594:                                            ; preds = %25593, %25532
  br label %25595

25595:                                            ; preds = %25594
  br label %25596

25596:                                            ; preds = %25595
  call void @llvm.lifetime.start.p0(i64 192, ptr %591) #10
  call void @llvm.memset.p0.i64(ptr align 8 %591, i8 0, i64 192, i1 false)
  br label %25597

25597:                                            ; preds = %25596
  %25598 = load i32, ptr @test_count, align 4, !tbaa !5
  %25599 = add nsw i32 %25598, 1
  store i32 %25599, ptr @test_count, align 4, !tbaa !5
  %25600 = load ptr, ptr %587, align 8, !tbaa !9
  %25601 = load ptr, ptr %583, align 8, !tbaa !9
  %25602 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %25600, ptr noundef %25601, ptr noundef %591)
  %25603 = getelementptr inbounds %struct.s2n_result, ptr %592, i32 0, i32 0
  store i32 %25602, ptr %25603, align 4
  %25604 = getelementptr inbounds %struct.s2n_result, ptr %592, i32 0, i32 0
  %25605 = load i32, ptr %25604, align 4
  %25606 = call zeroext i1 @s2n_result_is_ok(i32 %25605)
  br i1 %25606, label %25660, label %25607

25607:                                            ; preds = %25597
  br label %25608

25608:                                            ; preds = %25607
  br label %25609

25609:                                            ; preds = %25608
  call void @llvm.lifetime.start.p0(i64 4, ptr %593) #10
  %25610 = call ptr @__errno_location() #11
  %25611 = load i32, ptr %25610, align 4, !tbaa !5
  store i32 %25611, ptr %593, align 4, !tbaa !5
  %25612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25613 = call i32 @s2n_print_stacktrace(ptr noundef %25612)
  %25614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25615 = trunc i8 %25614 to i1
  br i1 %25615, label %25616, label %25638

25616:                                            ; preds = %25609
  %25617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25618 = call i32 @fileno(ptr noundef %25617) #10
  %25619 = call i32 @isatty(i32 noundef %25618) #10
  %25620 = icmp ne i32 %25619, 0
  br i1 %25620, label %25621, label %25638

25621:                                            ; preds = %25616
  %25622 = load i32, ptr %593, align 4, !tbaa !5
  %25623 = call ptr @__errno_location() #11
  store i32 %25622, ptr %25623, align 4, !tbaa !5
  %25624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25625 = load i32, ptr @test_count, align 4, !tbaa !5
  %25626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25627 = load i32, ptr %25626, align 4, !tbaa !5
  %25628 = call ptr @s2n_strerror(i32 noundef %25627, ptr noundef @.str.10)
  %25629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25630 = load i32, ptr %25629, align 4, !tbaa !5
  %25631 = call ptr @s2n_strerror_debug(i32 noundef %25630, ptr noundef @.str.10)
  %25632 = call ptr @__errno_location() #11
  %25633 = load i32, ptr %25632, align 4, !tbaa !5
  %25634 = call ptr @strerror(i32 noundef %25633) #10
  %25635 = call ptr @__errno_location() #11
  %25636 = load i32, ptr %25635, align 4, !tbaa !5
  %25637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25624, ptr noundef @.str.8, i32 noundef %25625, ptr noundef @.str.129, ptr noundef @.str.7, i32 noundef 974, ptr noundef %25628, ptr noundef %25631, ptr noundef %25634, i32 noundef %25636) #10
  br label %25655

25638:                                            ; preds = %25616, %25609
  %25639 = load i32, ptr %593, align 4, !tbaa !5
  %25640 = call ptr @__errno_location() #11
  store i32 %25639, ptr %25640, align 4, !tbaa !5
  %25641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25642 = load i32, ptr @test_count, align 4, !tbaa !5
  %25643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25644 = load i32, ptr %25643, align 4, !tbaa !5
  %25645 = call ptr @s2n_strerror(i32 noundef %25644, ptr noundef @.str.10)
  %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_debug(i32 noundef %25647, ptr noundef @.str.10)
  %25649 = call ptr @__errno_location() #11
  %25650 = load i32, ptr %25649, align 4, !tbaa !5
  %25651 = call ptr @strerror(i32 noundef %25650) #10
  %25652 = call ptr @__errno_location() #11
  %25653 = load i32, ptr %25652, align 4, !tbaa !5
  %25654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25641, ptr noundef @.str.11, i32 noundef %25642, ptr noundef @.str.129, ptr noundef @.str.7, i32 noundef 974, ptr noundef %25645, ptr noundef %25648, ptr noundef %25651, i32 noundef %25653) #10
  br label %25655

25655:                                            ; preds = %25638, %25621
  call void @llvm.lifetime.end.p0(i64 4, ptr %593) #10
  br label %25656

25656:                                            ; preds = %25655
  br label %25657

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

25658:                                            ; No predecessors!
  br label %25659

25659:                                            ; preds = %25658
  br label %25660

25660:                                            ; preds = %25659, %25597
  br label %25661

25661:                                            ; preds = %25660
  br label %25662

25662:                                            ; preds = %25661
  br label %25663

25663:                                            ; preds = %25662
  %25664 = load i32, ptr @test_count, align 4, !tbaa !5
  %25665 = add nsw i32 %25664, 1
  store i32 %25665, ptr @test_count, align 4, !tbaa !5
  %25666 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %591, i32 0, i32 1
  %25667 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %25666, i32 0, i32 1
  %25668 = call i32 @s2n_stuffer_free(ptr noundef %25667)
  %25669 = icmp eq i32 %25668, -1
  br i1 %25669, label %25670, label %25723

25670:                                            ; preds = %25663
  br label %25671

25671:                                            ; preds = %25670
  br label %25672

25672:                                            ; preds = %25671
  call void @llvm.lifetime.start.p0(i64 4, ptr %594) #10
  %25673 = call ptr @__errno_location() #11
  %25674 = load i32, ptr %25673, align 4, !tbaa !5
  store i32 %25674, ptr %594, align 4, !tbaa !5
  %25675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25676 = call i32 @s2n_print_stacktrace(ptr noundef %25675)
  %25677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25678 = trunc i8 %25677 to i1
  br i1 %25678, label %25679, label %25701

25679:                                            ; preds = %25672
  %25680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25681 = call i32 @fileno(ptr noundef %25680) #10
  %25682 = call i32 @isatty(i32 noundef %25681) #10
  %25683 = icmp ne i32 %25682, 0
  br i1 %25683, label %25684, label %25701

25684:                                            ; preds = %25679
  %25685 = load i32, ptr %594, align 4, !tbaa !5
  %25686 = call ptr @__errno_location() #11
  store i32 %25685, ptr %25686, align 4, !tbaa !5
  %25687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25688 = load i32, ptr @test_count, align 4, !tbaa !5
  %25689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25690 = load i32, ptr %25689, align 4, !tbaa !5
  %25691 = call ptr @s2n_strerror(i32 noundef %25690, ptr noundef @.str.10)
  %25692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25693 = load i32, ptr %25692, align 4, !tbaa !5
  %25694 = call ptr @s2n_strerror_debug(i32 noundef %25693, ptr noundef @.str.10)
  %25695 = call ptr @__errno_location() #11
  %25696 = load i32, ptr %25695, align 4, !tbaa !5
  %25697 = call ptr @strerror(i32 noundef %25696) #10
  %25698 = call ptr @__errno_location() #11
  %25699 = load i32, ptr %25698, align 4, !tbaa !5
  %25700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25687, ptr noundef @.str.8, i32 noundef %25688, ptr noundef @.str.133, ptr noundef @.str.7, i32 noundef 977, ptr noundef %25691, ptr noundef %25694, ptr noundef %25697, i32 noundef %25699) #10
  br label %25718

25701:                                            ; preds = %25679, %25672
  %25702 = load i32, ptr %594, align 4, !tbaa !5
  %25703 = call ptr @__errno_location() #11
  store i32 %25702, ptr %25703, align 4, !tbaa !5
  %25704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25705 = load i32, ptr @test_count, align 4, !tbaa !5
  %25706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25707 = load i32, ptr %25706, align 4, !tbaa !5
  %25708 = call ptr @s2n_strerror(i32 noundef %25707, ptr noundef @.str.10)
  %25709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25710 = load i32, ptr %25709, align 4, !tbaa !5
  %25711 = call ptr @s2n_strerror_debug(i32 noundef %25710, ptr noundef @.str.10)
  %25712 = call ptr @__errno_location() #11
  %25713 = load i32, ptr %25712, align 4, !tbaa !5
  %25714 = call ptr @strerror(i32 noundef %25713) #10
  %25715 = call ptr @__errno_location() #11
  %25716 = load i32, ptr %25715, align 4, !tbaa !5
  %25717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25704, ptr noundef @.str.11, i32 noundef %25705, ptr noundef @.str.133, ptr noundef @.str.7, i32 noundef 977, ptr noundef %25708, ptr noundef %25711, ptr noundef %25714, i32 noundef %25716) #10
  br label %25718

25718:                                            ; preds = %25701, %25684
  call void @llvm.lifetime.end.p0(i64 4, ptr %594) #10
  br label %25719

25719:                                            ; preds = %25718
  br label %25720

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

25721:                                            ; No predecessors!
  br label %25722

25722:                                            ; preds = %25721
  br label %25723

25723:                                            ; preds = %25722, %25663
  br label %25724

25724:                                            ; preds = %25723
  br label %25725

25725:                                            ; preds = %25724
  br label %25726

25726:                                            ; preds = %25725
  %25727 = load i32, ptr @test_count, align 4, !tbaa !5
  %25728 = add nsw i32 %25727, 1
  store i32 %25728, ptr @test_count, align 4, !tbaa !5
  %25729 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %591, i32 0, i32 1
  %25730 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %25729, i32 0, i32 1
  %25731 = call i32 @s2n_stuffer_alloc(ptr noundef %25730, i32 noundef 1)
  %25732 = icmp eq i32 %25731, -1
  br i1 %25732, label %25733, label %25786

25733:                                            ; preds = %25726
  br label %25734

25734:                                            ; preds = %25733
  br label %25735

25735:                                            ; preds = %25734
  call void @llvm.lifetime.start.p0(i64 4, ptr %595) #10
  %25736 = call ptr @__errno_location() #11
  %25737 = load i32, ptr %25736, align 4, !tbaa !5
  store i32 %25737, ptr %595, align 4, !tbaa !5
  %25738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25739 = call i32 @s2n_print_stacktrace(ptr noundef %25738)
  %25740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25741 = trunc i8 %25740 to i1
  br i1 %25741, label %25742, label %25764

25742:                                            ; preds = %25735
  %25743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25744 = call i32 @fileno(ptr noundef %25743) #10
  %25745 = call i32 @isatty(i32 noundef %25744) #10
  %25746 = icmp ne i32 %25745, 0
  br i1 %25746, label %25747, label %25764

25747:                                            ; preds = %25742
  %25748 = load i32, ptr %595, align 4, !tbaa !5
  %25749 = call ptr @__errno_location() #11
  store i32 %25748, ptr %25749, align 4, !tbaa !5
  %25750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25751 = load i32, ptr @test_count, align 4, !tbaa !5
  %25752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25753 = load i32, ptr %25752, align 4, !tbaa !5
  %25754 = call ptr @s2n_strerror(i32 noundef %25753, ptr noundef @.str.10)
  %25755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25756 = load i32, ptr %25755, align 4, !tbaa !5
  %25757 = call ptr @s2n_strerror_debug(i32 noundef %25756, ptr noundef @.str.10)
  %25758 = call ptr @__errno_location() #11
  %25759 = load i32, ptr %25758, align 4, !tbaa !5
  %25760 = call ptr @strerror(i32 noundef %25759) #10
  %25761 = call ptr @__errno_location() #11
  %25762 = load i32, ptr %25761, align 4, !tbaa !5
  %25763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25750, ptr noundef @.str.8, i32 noundef %25751, ptr noundef @.str.134, ptr noundef @.str.7, i32 noundef 978, ptr noundef %25754, ptr noundef %25757, ptr noundef %25760, i32 noundef %25762) #10
  br label %25781

25764:                                            ; preds = %25742, %25735
  %25765 = load i32, ptr %595, align 4, !tbaa !5
  %25766 = call ptr @__errno_location() #11
  store i32 %25765, ptr %25766, align 4, !tbaa !5
  %25767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25768 = load i32, ptr @test_count, align 4, !tbaa !5
  %25769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25770 = load i32, ptr %25769, align 4, !tbaa !5
  %25771 = call ptr @s2n_strerror(i32 noundef %25770, ptr noundef @.str.10)
  %25772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25773 = load i32, ptr %25772, align 4, !tbaa !5
  %25774 = call ptr @s2n_strerror_debug(i32 noundef %25773, ptr noundef @.str.10)
  %25775 = call ptr @__errno_location() #11
  %25776 = load i32, ptr %25775, align 4, !tbaa !5
  %25777 = call ptr @strerror(i32 noundef %25776) #10
  %25778 = call ptr @__errno_location() #11
  %25779 = load i32, ptr %25778, align 4, !tbaa !5
  %25780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25767, ptr noundef @.str.11, i32 noundef %25768, ptr noundef @.str.134, ptr noundef @.str.7, i32 noundef 978, ptr noundef %25771, ptr noundef %25774, ptr noundef %25777, i32 noundef %25779) #10
  br label %25781

25781:                                            ; preds = %25764, %25747
  call void @llvm.lifetime.end.p0(i64 4, ptr %595) #10
  br label %25782

25782:                                            ; preds = %25781
  br label %25783

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

25784:                                            ; No predecessors!
  br label %25785

25785:                                            ; preds = %25784
  br label %25786

25786:                                            ; preds = %25785, %25726
  br label %25787

25787:                                            ; preds = %25786
  br label %25788

25788:                                            ; preds = %25787
  call void @llvm.lifetime.start.p0(i64 4, ptr %596) #10
  store i32 0, ptr %596, align 4, !tbaa !5
  br label %25789

25789:                                            ; preds = %25788
  br label %25790

25790:                                            ; preds = %25789
  br label %25791

25791:                                            ; preds = %25790
  %25792 = load i32, ptr @test_count, align 4, !tbaa !5
  %25793 = add nsw i32 %25792, 1
  store i32 %25793, ptr @test_count, align 4, !tbaa !5
  %25794 = load ptr, ptr %583, align 8, !tbaa !9
  %25795 = call i32 @s2n_shutdown(ptr noundef %25794, ptr noundef %596)
  %25796 = icmp eq i32 %25795, -1
  br i1 %25796, label %25850, label %25797

25797:                                            ; preds = %25791
  br label %25798

25798:                                            ; preds = %25797
  br label %25799

25799:                                            ; preds = %25798
  call void @llvm.lifetime.start.p0(i64 4, ptr %597) #10
  %25800 = call ptr @__errno_location() #11
  %25801 = load i32, ptr %25800, align 4, !tbaa !5
  store i32 %25801, ptr %597, align 4, !tbaa !5
  %25802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25803 = call i32 @s2n_print_stacktrace(ptr noundef %25802)
  %25804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25805 = trunc i8 %25804 to i1
  br i1 %25805, label %25806, label %25828

25806:                                            ; preds = %25799
  %25807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25808 = call i32 @fileno(ptr noundef %25807) #10
  %25809 = call i32 @isatty(i32 noundef %25808) #10
  %25810 = icmp ne i32 %25809, 0
  br i1 %25810, label %25811, label %25828

25811:                                            ; preds = %25806
  %25812 = load i32, ptr %597, align 4, !tbaa !5
  %25813 = call ptr @__errno_location() #11
  store i32 %25812, ptr %25813, align 4, !tbaa !5
  %25814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25815 = load i32, 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 = call ptr @s2n_strerror(i32 noundef %25817, ptr noundef @.str.10)
  %25819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25820 = load i32, ptr %25819, align 4, !tbaa !5
  %25821 = call ptr @s2n_strerror_debug(i32 noundef %25820, ptr noundef @.str.10)
  %25822 = call ptr @__errno_location() #11
  %25823 = load i32, ptr %25822, align 4, !tbaa !5
  %25824 = call ptr @strerror(i32 noundef %25823) #10
  %25825 = call ptr @__errno_location() #11
  %25826 = load i32, ptr %25825, align 4, !tbaa !5
  %25827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25814, ptr noundef @.str.8, i32 noundef %25815, ptr noundef @.str.135, ptr noundef @.str.7, i32 noundef 981, ptr noundef %25818, ptr noundef %25821, ptr noundef %25824, i32 noundef %25826) #10
  br label %25845

25828:                                            ; preds = %25806, %25799
  %25829 = load i32, ptr %597, align 4, !tbaa !5
  %25830 = call ptr @__errno_location() #11
  store i32 %25829, ptr %25830, align 4, !tbaa !5
  %25831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25832 = load i32, ptr @test_count, align 4, !tbaa !5
  %25833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25834 = load i32, ptr %25833, align 4, !tbaa !5
  %25835 = call ptr @s2n_strerror(i32 noundef %25834, ptr noundef @.str.10)
  %25836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25837 = load i32, ptr %25836, align 4, !tbaa !5
  %25838 = call ptr @s2n_strerror_debug(i32 noundef %25837, ptr noundef @.str.10)
  %25839 = call ptr @__errno_location() #11
  %25840 = load i32, ptr %25839, align 4, !tbaa !5
  %25841 = call ptr @strerror(i32 noundef %25840) #10
  %25842 = call ptr @__errno_location() #11
  %25843 = load i32, ptr %25842, align 4, !tbaa !5
  %25844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25831, ptr noundef @.str.11, i32 noundef %25832, ptr noundef @.str.135, ptr noundef @.str.7, i32 noundef 981, ptr noundef %25835, ptr noundef %25838, ptr noundef %25841, i32 noundef %25843) #10
  br label %25845

25845:                                            ; preds = %25828, %25811
  call void @llvm.lifetime.end.p0(i64 4, ptr %597) #10
  br label %25846

25846:                                            ; preds = %25845
  br label %25847

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

25848:                                            ; No predecessors!
  br label %25849

25849:                                            ; preds = %25848
  br label %25850

25850:                                            ; preds = %25849, %25791
  br label %25851

25851:                                            ; preds = %25850
  br label %25852

25852:                                            ; preds = %25851
  br label %25853

25853:                                            ; preds = %25852
  %25854 = load i32, ptr @test_count, align 4, !tbaa !5
  %25855 = add nsw i32 %25854, 1
  store i32 %25855, ptr @test_count, align 4, !tbaa !5
  %25856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25857 = load i32, ptr %25856, align 4, !tbaa !5
  %25858 = icmp eq i32 %25857, 201326592
  br i1 %25858, label %25912, label %25859

25859:                                            ; preds = %25853
  br label %25860

25860:                                            ; preds = %25859
  br label %25861

25861:                                            ; preds = %25860
  call void @llvm.lifetime.start.p0(i64 4, ptr %598) #10
  %25862 = call ptr @__errno_location() #11
  %25863 = load i32, ptr %25862, align 4, !tbaa !5
  store i32 %25863, ptr %598, align 4, !tbaa !5
  %25864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25865 = call i32 @s2n_print_stacktrace(ptr noundef %25864)
  %25866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25867 = trunc i8 %25866 to i1
  br i1 %25867, label %25868, label %25890

25868:                                            ; preds = %25861
  %25869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25870 = call i32 @fileno(ptr noundef %25869) #10
  %25871 = call i32 @isatty(i32 noundef %25870) #10
  %25872 = icmp ne i32 %25871, 0
  br i1 %25872, label %25873, label %25890

25873:                                            ; preds = %25868
  %25874 = load i32, ptr %598, align 4, !tbaa !5
  %25875 = call ptr @__errno_location() #11
  store i32 %25874, ptr %25875, align 4, !tbaa !5
  %25876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25877 = load i32, 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(i32 noundef %25879, ptr noundef @.str.10)
  %25881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25882 = load i32, ptr %25881, align 4, !tbaa !5
  %25883 = call ptr @s2n_strerror_debug(i32 noundef %25882, ptr noundef @.str.10)
  %25884 = call ptr @__errno_location() #11
  %25885 = load i32, ptr %25884, align 4, !tbaa !5
  %25886 = call ptr @strerror(i32 noundef %25885) #10
  %25887 = call ptr @__errno_location() #11
  %25888 = load i32, ptr %25887, align 4, !tbaa !5
  %25889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25876, ptr noundef @.str.8, i32 noundef %25877, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 981, ptr noundef %25880, ptr noundef %25883, ptr noundef %25886, i32 noundef %25888) #10
  br label %25907

25890:                                            ; preds = %25868, %25861
  %25891 = load i32, ptr %598, align 4, !tbaa !5
  %25892 = call ptr @__errno_location() #11
  store i32 %25891, ptr %25892, align 4, !tbaa !5
  %25893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25894 = load i32, ptr @test_count, align 4, !tbaa !5
  %25895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25896 = load i32, ptr %25895, align 4, !tbaa !5
  %25897 = call ptr @s2n_strerror(i32 noundef %25896, ptr noundef @.str.10)
  %25898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25899 = load i32, ptr %25898, align 4, !tbaa !5
  %25900 = call ptr @s2n_strerror_debug(i32 noundef %25899, ptr noundef @.str.10)
  %25901 = call ptr @__errno_location() #11
  %25902 = load i32, ptr %25901, align 4, !tbaa !5
  %25903 = call ptr @strerror(i32 noundef %25902) #10
  %25904 = call ptr @__errno_location() #11
  %25905 = load i32, ptr %25904, align 4, !tbaa !5
  %25906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25893, ptr noundef @.str.11, i32 noundef %25894, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 981, ptr noundef %25897, ptr noundef %25900, ptr noundef %25903, i32 noundef %25905) #10
  br label %25907

25907:                                            ; preds = %25890, %25873
  call void @llvm.lifetime.end.p0(i64 4, ptr %598) #10
  br label %25908

25908:                                            ; preds = %25907
  br label %25909

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

25910:                                            ; No predecessors!
  br label %25911

25911:                                            ; preds = %25910
  br label %25912

25912:                                            ; preds = %25911, %25853
  br label %25913

25913:                                            ; preds = %25912
  br label %25914

25914:                                            ; preds = %25913
  br label %25915

25915:                                            ; preds = %25914
  %25916 = load i32, ptr @test_count, align 4, !tbaa !5
  %25917 = add nsw i32 %25916, 1
  store i32 %25917, 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_debug(i32 noundef %25919, ptr noundef @.str.10)
  %25921 = icmp eq ptr %25920, null
  br i1 %25921, label %25922, label %25975

25922:                                            ; preds = %25915
  br label %25923

25923:                                            ; preds = %25922
  br label %25924

25924:                                            ; preds = %25923
  call void @llvm.lifetime.start.p0(i64 4, ptr %599) #10
  %25925 = call ptr @__errno_location() #11
  %25926 = load i32, ptr %25925, align 4, !tbaa !5
  store i32 %25926, ptr %599, align 4, !tbaa !5
  %25927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25928 = call i32 @s2n_print_stacktrace(ptr noundef %25927)
  %25929 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25930 = trunc i8 %25929 to i1
  br i1 %25930, label %25931, label %25953

25931:                                            ; preds = %25924
  %25932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25933 = call i32 @fileno(ptr noundef %25932) #10
  %25934 = call i32 @isatty(i32 noundef %25933) #10
  %25935 = icmp ne i32 %25934, 0
  br i1 %25935, label %25936, label %25953

25936:                                            ; preds = %25931
  %25937 = load i32, ptr %599, align 4, !tbaa !5
  %25938 = call ptr @__errno_location() #11
  store i32 %25937, ptr %25938, align 4, !tbaa !5
  %25939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25940 = load i32, ptr @test_count, align 4, !tbaa !5
  %25941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25942 = load i32, ptr %25941, align 4, !tbaa !5
  %25943 = call ptr @s2n_strerror(i32 noundef %25942, ptr noundef @.str.10)
  %25944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25945 = load i32, ptr %25944, align 4, !tbaa !5
  %25946 = call ptr @s2n_strerror_debug(i32 noundef %25945, ptr noundef @.str.10)
  %25947 = call ptr @__errno_location() #11
  %25948 = load i32, ptr %25947, align 4, !tbaa !5
  %25949 = call ptr @strerror(i32 noundef %25948) #10
  %25950 = call ptr @__errno_location() #11
  %25951 = load i32, ptr %25950, align 4, !tbaa !5
  %25952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25939, ptr noundef @.str.8, i32 noundef %25940, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 981, ptr noundef %25943, ptr noundef %25946, ptr noundef %25949, i32 noundef %25951) #10
  br label %25970

25953:                                            ; preds = %25931, %25924
  %25954 = load i32, ptr %599, align 4, !tbaa !5
  %25955 = call ptr @__errno_location() #11
  store i32 %25954, ptr %25955, align 4, !tbaa !5
  %25956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25957 = load i32, ptr @test_count, align 4, !tbaa !5
  %25958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25959 = load i32, ptr %25958, align 4, !tbaa !5
  %25960 = call ptr @s2n_strerror(i32 noundef %25959, ptr noundef @.str.10)
  %25961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25962 = load i32, ptr %25961, align 4, !tbaa !5
  %25963 = call ptr @s2n_strerror_debug(i32 noundef %25962, ptr noundef @.str.10)
  %25964 = call ptr @__errno_location() #11
  %25965 = load i32, ptr %25964, align 4, !tbaa !5
  %25966 = call ptr @strerror(i32 noundef %25965) #10
  %25967 = call ptr @__errno_location() #11
  %25968 = load i32, ptr %25967, align 4, !tbaa !5
  %25969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25956, ptr noundef @.str.11, i32 noundef %25957, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 981, ptr noundef %25960, ptr noundef %25963, ptr noundef %25966, i32 noundef %25968) #10
  br label %25970

25970:                                            ; preds = %25953, %25936
  call void @llvm.lifetime.end.p0(i64 4, ptr %599) #10
  br label %25971

25971:                                            ; preds = %25970
  br label %25972

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

25973:                                            ; No predecessors!
  br label %25974

25974:                                            ; preds = %25973
  br label %25975

25975:                                            ; preds = %25974, %25915
  br label %25976

25976:                                            ; preds = %25975
  br label %25977

25977:                                            ; preds = %25976
  br label %25978

25978:                                            ; preds = %25977
  br label %25979

25979:                                            ; preds = %25978
  br label %25980

25980:                                            ; preds = %25979
  %25981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %25981, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %25982 = call ptr @__errno_location() #11
  store i32 0, ptr %25982, align 4, !tbaa !5
  br label %25983

25983:                                            ; preds = %25980
  br label %25984

25984:                                            ; preds = %25983
  br label %25985

25985:                                            ; preds = %25984
  br label %25986

25986:                                            ; preds = %25985
  br label %25987

25987:                                            ; preds = %25986
  %25988 = load i32, ptr @test_count, align 4, !tbaa !5
  %25989 = add nsw i32 %25988, 1
  store i32 %25989, ptr @test_count, align 4, !tbaa !5
  %25990 = load i32, ptr %596, align 4, !tbaa !5
  %25991 = icmp eq i32 %25990, 2
  br i1 %25991, label %26045, label %25992

25992:                                            ; preds = %25987
  br label %25993

25993:                                            ; preds = %25992
  br label %25994

25994:                                            ; preds = %25993
  call void @llvm.lifetime.start.p0(i64 4, ptr %600) #10
  %25995 = call ptr @__errno_location() #11
  %25996 = load i32, ptr %25995, align 4, !tbaa !5
  store i32 %25996, ptr %600, align 4, !tbaa !5
  %25997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25998 = call i32 @s2n_print_stacktrace(ptr noundef %25997)
  %25999 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26000 = trunc i8 %25999 to i1
  br i1 %26000, label %26001, label %26023

26001:                                            ; preds = %25994
  %26002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26003 = call i32 @fileno(ptr noundef %26002) #10
  %26004 = call i32 @isatty(i32 noundef %26003) #10
  %26005 = icmp ne i32 %26004, 0
  br i1 %26005, label %26006, label %26023

26006:                                            ; preds = %26001
  %26007 = load i32, ptr %600, align 4, !tbaa !5
  %26008 = call ptr @__errno_location() #11
  store i32 %26007, ptr %26008, align 4, !tbaa !5
  %26009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26010 = load i32, ptr @test_count, align 4, !tbaa !5
  %26011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26012 = load i32, ptr %26011, align 4, !tbaa !5
  %26013 = call ptr @s2n_strerror(i32 noundef %26012, ptr noundef @.str.10)
  %26014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26015 = load i32, ptr %26014, align 4, !tbaa !5
  %26016 = call ptr @s2n_strerror_debug(i32 noundef %26015, ptr noundef @.str.10)
  %26017 = call ptr @__errno_location() #11
  %26018 = load i32, ptr %26017, align 4, !tbaa !5
  %26019 = call ptr @strerror(i32 noundef %26018) #10
  %26020 = call ptr @__errno_location() #11
  %26021 = load i32, ptr %26020, align 4, !tbaa !5
  %26022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26009, ptr noundef @.str.8, i32 noundef %26010, ptr noundef @.str.112, ptr noundef @.str.7, i32 noundef 982, ptr noundef %26013, ptr noundef %26016, ptr noundef %26019, i32 noundef %26021) #10
  br label %26040

26023:                                            ; preds = %26001, %25994
  %26024 = load i32, ptr %600, align 4, !tbaa !5
  %26025 = call ptr @__errno_location() #11
  store i32 %26024, ptr %26025, align 4, !tbaa !5
  %26026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26027 = load i32, ptr @test_count, align 4, !tbaa !5
  %26028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26029 = load i32, ptr %26028, align 4, !tbaa !5
  %26030 = call ptr @s2n_strerror(i32 noundef %26029, ptr noundef @.str.10)
  %26031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26032 = load i32, ptr %26031, align 4, !tbaa !5
  %26033 = call ptr @s2n_strerror_debug(i32 noundef %26032, ptr noundef @.str.10)
  %26034 = call ptr @__errno_location() #11
  %26035 = load i32, ptr %26034, align 4, !tbaa !5
  %26036 = call ptr @strerror(i32 noundef %26035) #10
  %26037 = call ptr @__errno_location() #11
  %26038 = load i32, ptr %26037, align 4, !tbaa !5
  %26039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26026, ptr noundef @.str.11, i32 noundef %26027, ptr noundef @.str.112, ptr noundef @.str.7, i32 noundef 982, ptr noundef %26030, ptr noundef %26033, ptr noundef %26036, i32 noundef %26038) #10
  br label %26040

26040:                                            ; preds = %26023, %26006
  call void @llvm.lifetime.end.p0(i64 4, ptr %600) #10
  br label %26041

26041:                                            ; preds = %26040
  br label %26042

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

26043:                                            ; No predecessors!
  br label %26044

26044:                                            ; preds = %26043
  br label %26045

26045:                                            ; preds = %26044, %25987
  br label %26046

26046:                                            ; preds = %26045
  br label %26047

26047:                                            ; preds = %26046
  br label %26048

26048:                                            ; preds = %26047
  %26049 = load i32, ptr @test_count, align 4, !tbaa !5
  %26050 = add nsw i32 %26049, 1
  store i32 %26050, ptr @test_count, align 4, !tbaa !5
  %26051 = load ptr, ptr %583, align 8, !tbaa !9
  %26052 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %26051, i32 noundef 0)
  br i1 %26052, label %26053, label %26106

26053:                                            ; preds = %26048
  br label %26054

26054:                                            ; preds = %26053
  br label %26055

26055:                                            ; preds = %26054
  call void @llvm.lifetime.start.p0(i64 4, ptr %601) #10
  %26056 = call ptr @__errno_location() #11
  %26057 = load i32, ptr %26056, align 4, !tbaa !5
  store i32 %26057, ptr %601, align 4, !tbaa !5
  %26058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26059 = call i32 @s2n_print_stacktrace(ptr noundef %26058)
  %26060 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26061 = trunc i8 %26060 to i1
  br i1 %26061, label %26062, label %26084

26062:                                            ; preds = %26055
  %26063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26064 = call i32 @fileno(ptr noundef %26063) #10
  %26065 = call i32 @isatty(i32 noundef %26064) #10
  %26066 = icmp ne i32 %26065, 0
  br i1 %26066, label %26067, label %26084

26067:                                            ; preds = %26062
  %26068 = load i32, ptr %601, align 4, !tbaa !5
  %26069 = call ptr @__errno_location() #11
  store i32 %26068, ptr %26069, align 4, !tbaa !5
  %26070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26071 = load i32, ptr @test_count, align 4, !tbaa !5
  %26072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26073 = load i32, ptr %26072, align 4, !tbaa !5
  %26074 = call ptr @s2n_strerror(i32 noundef %26073, ptr noundef @.str.10)
  %26075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26076 = load i32, ptr %26075, align 4, !tbaa !5
  %26077 = call ptr @s2n_strerror_debug(i32 noundef %26076, ptr noundef @.str.10)
  %26078 = call ptr @__errno_location() #11
  %26079 = load i32, ptr %26078, align 4, !tbaa !5
  %26080 = call ptr @strerror(i32 noundef %26079) #10
  %26081 = call ptr @__errno_location() #11
  %26082 = load i32, ptr %26081, align 4, !tbaa !5
  %26083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26070, ptr noundef @.str.8, i32 noundef %26071, ptr noundef @.str.136, ptr noundef @.str.7, i32 noundef 983, ptr noundef %26074, ptr noundef %26077, ptr noundef %26080, i32 noundef %26082) #10
  br label %26101

26084:                                            ; preds = %26062, %26055
  %26085 = load i32, ptr %601, align 4, !tbaa !5
  %26086 = call ptr @__errno_location() #11
  store i32 %26085, ptr %26086, align 4, !tbaa !5
  %26087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26088 = load i32, ptr @test_count, align 4, !tbaa !5
  %26089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26090 = load i32, ptr %26089, align 4, !tbaa !5
  %26091 = call ptr @s2n_strerror(i32 noundef %26090, ptr noundef @.str.10)
  %26092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26093 = load i32, ptr %26092, align 4, !tbaa !5
  %26094 = call ptr @s2n_strerror_debug(i32 noundef %26093, ptr noundef @.str.10)
  %26095 = call ptr @__errno_location() #11
  %26096 = load i32, ptr %26095, align 4, !tbaa !5
  %26097 = call ptr @strerror(i32 noundef %26096) #10
  %26098 = call ptr @__errno_location() #11
  %26099 = load i32, ptr %26098, align 4, !tbaa !5
  %26100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26087, ptr noundef @.str.11, i32 noundef %26088, ptr noundef @.str.136, ptr noundef @.str.7, i32 noundef 983, ptr noundef %26091, ptr noundef %26094, ptr noundef %26097, i32 noundef %26099) #10
  br label %26101

26101:                                            ; preds = %26084, %26067
  call void @llvm.lifetime.end.p0(i64 4, ptr %601) #10
  br label %26102

26102:                                            ; preds = %26101
  br label %26103

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

26104:                                            ; No predecessors!
  br label %26105

26105:                                            ; preds = %26104
  br label %26106

26106:                                            ; preds = %26105, %26048
  br label %26107

26107:                                            ; preds = %26106
  br label %26108

26108:                                            ; preds = %26107
  br label %26109

26109:                                            ; preds = %26108
  %26110 = load i32, ptr @test_count, align 4, !tbaa !5
  %26111 = add nsw i32 %26110, 1
  store i32 %26111, ptr @test_count, align 4, !tbaa !5
  %26112 = load ptr, ptr %583, align 8, !tbaa !9
  %26113 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %26112, i32 noundef 1)
  br i1 %26113, label %26167, label %26114

26114:                                            ; preds = %26109
  br label %26115

26115:                                            ; preds = %26114
  br label %26116

26116:                                            ; preds = %26115
  call void @llvm.lifetime.start.p0(i64 4, ptr %602) #10
  %26117 = call ptr @__errno_location() #11
  %26118 = load i32, ptr %26117, align 4, !tbaa !5
  store i32 %26118, ptr %602, align 4, !tbaa !5
  %26119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26120 = call i32 @s2n_print_stacktrace(ptr noundef %26119)
  %26121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26122 = trunc i8 %26121 to i1
  br i1 %26122, label %26123, label %26145

26123:                                            ; preds = %26116
  %26124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26125 = call i32 @fileno(ptr noundef %26124) #10
  %26126 = call i32 @isatty(i32 noundef %26125) #10
  %26127 = icmp ne i32 %26126, 0
  br i1 %26127, label %26128, label %26145

26128:                                            ; preds = %26123
  %26129 = load i32, ptr %602, align 4, !tbaa !5
  %26130 = call ptr @__errno_location() #11
  store i32 %26129, ptr %26130, align 4, !tbaa !5
  %26131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26132 = load i32, ptr @test_count, align 4, !tbaa !5
  %26133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26134 = load i32, ptr %26133, align 4, !tbaa !5
  %26135 = call ptr @s2n_strerror(i32 noundef %26134, ptr noundef @.str.10)
  %26136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26137 = load i32, ptr %26136, align 4, !tbaa !5
  %26138 = call ptr @s2n_strerror_debug(i32 noundef %26137, ptr noundef @.str.10)
  %26139 = call ptr @__errno_location() #11
  %26140 = load i32, ptr %26139, align 4, !tbaa !5
  %26141 = call ptr @strerror(i32 noundef %26140) #10
  %26142 = call ptr @__errno_location() #11
  %26143 = load i32, ptr %26142, align 4, !tbaa !5
  %26144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26131, ptr noundef @.str.8, i32 noundef %26132, ptr noundef @.str.137, ptr noundef @.str.7, i32 noundef 984, ptr noundef %26135, ptr noundef %26138, ptr noundef %26141, i32 noundef %26143) #10
  br label %26162

26145:                                            ; preds = %26123, %26116
  %26146 = load i32, ptr %602, align 4, !tbaa !5
  %26147 = call ptr @__errno_location() #11
  store i32 %26146, ptr %26147, align 4, !tbaa !5
  %26148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26149 = load i32, ptr @test_count, align 4, !tbaa !5
  %26150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26151 = load i32, ptr %26150, align 4, !tbaa !5
  %26152 = call ptr @s2n_strerror(i32 noundef %26151, ptr noundef @.str.10)
  %26153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26154 = load i32, ptr %26153, align 4, !tbaa !5
  %26155 = call ptr @s2n_strerror_debug(i32 noundef %26154, ptr noundef @.str.10)
  %26156 = call ptr @__errno_location() #11
  %26157 = load i32, ptr %26156, align 4, !tbaa !5
  %26158 = call ptr @strerror(i32 noundef %26157) #10
  %26159 = call ptr @__errno_location() #11
  %26160 = load i32, ptr %26159, align 4, !tbaa !5
  %26161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26148, ptr noundef @.str.11, i32 noundef %26149, ptr noundef @.str.137, ptr noundef @.str.7, i32 noundef 984, ptr noundef %26152, ptr noundef %26155, ptr noundef %26158, i32 noundef %26160) #10
  br label %26162

26162:                                            ; preds = %26145, %26128
  call void @llvm.lifetime.end.p0(i64 4, ptr %602) #10
  br label %26163

26163:                                            ; preds = %26162
  br label %26164

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

26165:                                            ; No predecessors!
  br label %26166

26166:                                            ; preds = %26165
  br label %26167

26167:                                            ; preds = %26166, %26109
  br label %26168

26168:                                            ; preds = %26167
  br label %26169

26169:                                            ; preds = %26168
  br label %26170

26170:                                            ; preds = %26169
  br label %26171

26171:                                            ; preds = %26170
  br label %26172

26172:                                            ; preds = %26171
  %26173 = load i32, ptr @test_count, align 4, !tbaa !5
  %26174 = add nsw i32 %26173, 1
  store i32 %26174, ptr @test_count, align 4, !tbaa !5
  %26175 = load ptr, ptr %587, align 8, !tbaa !9
  %26176 = call i32 @s2n_shutdown(ptr noundef %26175, ptr noundef %596)
  %26177 = icmp eq i32 %26176, -1
  br i1 %26177, label %26231, label %26178

26178:                                            ; preds = %26172
  br label %26179

26179:                                            ; preds = %26178
  br label %26180

26180:                                            ; preds = %26179
  call void @llvm.lifetime.start.p0(i64 4, ptr %603) #10
  %26181 = call ptr @__errno_location() #11
  %26182 = load i32, ptr %26181, align 4, !tbaa !5
  store i32 %26182, ptr %603, align 4, !tbaa !5
  %26183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26184 = call i32 @s2n_print_stacktrace(ptr noundef %26183)
  %26185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26186 = trunc i8 %26185 to i1
  br i1 %26186, label %26187, label %26209

26187:                                            ; preds = %26180
  %26188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26189 = call i32 @fileno(ptr noundef %26188) #10
  %26190 = call i32 @isatty(i32 noundef %26189) #10
  %26191 = icmp ne i32 %26190, 0
  br i1 %26191, label %26192, label %26209

26192:                                            ; preds = %26187
  %26193 = load i32, ptr %603, align 4, !tbaa !5
  %26194 = call ptr @__errno_location() #11
  store i32 %26193, ptr %26194, align 4, !tbaa !5
  %26195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26196 = load i32, ptr @test_count, align 4, !tbaa !5
  %26197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26198 = load i32, ptr %26197, align 4, !tbaa !5
  %26199 = call ptr @s2n_strerror(i32 noundef %26198, ptr noundef @.str.10)
  %26200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26201 = load i32, ptr %26200, align 4, !tbaa !5
  %26202 = call ptr @s2n_strerror_debug(i32 noundef %26201, ptr noundef @.str.10)
  %26203 = call ptr @__errno_location() #11
  %26204 = load i32, ptr %26203, align 4, !tbaa !5
  %26205 = call ptr @strerror(i32 noundef %26204) #10
  %26206 = call ptr @__errno_location() #11
  %26207 = load i32, ptr %26206, align 4, !tbaa !5
  %26208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26195, ptr noundef @.str.8, i32 noundef %26196, ptr noundef @.str.91, ptr noundef @.str.7, i32 noundef 986, ptr noundef %26199, ptr noundef %26202, ptr noundef %26205, i32 noundef %26207) #10
  br label %26226

26209:                                            ; preds = %26187, %26180
  %26210 = load i32, ptr %603, align 4, !tbaa !5
  %26211 = call ptr @__errno_location() #11
  store i32 %26210, ptr %26211, align 4, !tbaa !5
  %26212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26213 = load i32, ptr @test_count, align 4, !tbaa !5
  %26214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26215 = load i32, ptr %26214, align 4, !tbaa !5
  %26216 = call ptr @s2n_strerror(i32 noundef %26215, ptr noundef @.str.10)
  %26217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26218 = load i32, ptr %26217, align 4, !tbaa !5
  %26219 = call ptr @s2n_strerror_debug(i32 noundef %26218, ptr noundef @.str.10)
  %26220 = call ptr @__errno_location() #11
  %26221 = load i32, ptr %26220, align 4, !tbaa !5
  %26222 = call ptr @strerror(i32 noundef %26221) #10
  %26223 = call ptr @__errno_location() #11
  %26224 = load i32, ptr %26223, align 4, !tbaa !5
  %26225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26212, ptr noundef @.str.11, i32 noundef %26213, ptr noundef @.str.91, ptr noundef @.str.7, i32 noundef 986, ptr noundef %26216, ptr noundef %26219, ptr noundef %26222, i32 noundef %26224) #10
  br label %26226

26226:                                            ; preds = %26209, %26192
  call void @llvm.lifetime.end.p0(i64 4, ptr %603) #10
  br label %26227

26227:                                            ; preds = %26226
  br label %26228

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

26229:                                            ; No predecessors!
  br label %26230

26230:                                            ; preds = %26229
  br label %26231

26231:                                            ; preds = %26230, %26172
  br label %26232

26232:                                            ; preds = %26231
  br label %26233

26233:                                            ; preds = %26232
  br label %26234

26234:                                            ; preds = %26233
  %26235 = load i32, ptr @test_count, align 4, !tbaa !5
  %26236 = add nsw i32 %26235, 1
  store i32 %26236, 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 = icmp eq i32 %26238, 201326592
  br i1 %26239, label %26293, label %26240

26240:                                            ; preds = %26234
  br label %26241

26241:                                            ; preds = %26240
  br label %26242

26242:                                            ; preds = %26241
  call void @llvm.lifetime.start.p0(i64 4, ptr %604) #10
  %26243 = call ptr @__errno_location() #11
  %26244 = load i32, ptr %26243, align 4, !tbaa !5
  store i32 %26244, ptr %604, align 4, !tbaa !5
  %26245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26246 = call i32 @s2n_print_stacktrace(ptr noundef %26245)
  %26247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26248 = trunc i8 %26247 to i1
  br i1 %26248, label %26249, label %26271

26249:                                            ; preds = %26242
  %26250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26251 = call i32 @fileno(ptr noundef %26250) #10
  %26252 = call i32 @isatty(i32 noundef %26251) #10
  %26253 = icmp ne i32 %26252, 0
  br i1 %26253, label %26254, label %26271

26254:                                            ; preds = %26249
  %26255 = load i32, ptr %604, align 4, !tbaa !5
  %26256 = call ptr @__errno_location() #11
  store i32 %26255, ptr %26256, align 4, !tbaa !5
  %26257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26258 = load i32, ptr @test_count, align 4, !tbaa !5
  %26259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26260 = load i32, ptr %26259, align 4, !tbaa !5
  %26261 = call ptr @s2n_strerror(i32 noundef %26260, ptr noundef @.str.10)
  %26262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26263 = load i32, ptr %26262, align 4, !tbaa !5
  %26264 = call ptr @s2n_strerror_debug(i32 noundef %26263, ptr noundef @.str.10)
  %26265 = call ptr @__errno_location() #11
  %26266 = load i32, ptr %26265, align 4, !tbaa !5
  %26267 = call ptr @strerror(i32 noundef %26266) #10
  %26268 = call ptr @__errno_location() #11
  %26269 = load i32, ptr %26268, align 4, !tbaa !5
  %26270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26257, ptr noundef @.str.8, i32 noundef %26258, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 986, ptr noundef %26261, ptr noundef %26264, ptr noundef %26267, i32 noundef %26269) #10
  br label %26288

26271:                                            ; preds = %26249, %26242
  %26272 = load i32, ptr %604, align 4, !tbaa !5
  %26273 = call ptr @__errno_location() #11
  store i32 %26272, ptr %26273, align 4, !tbaa !5
  %26274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26275 = load i32, ptr @test_count, align 4, !tbaa !5
  %26276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26277 = load i32, ptr %26276, align 4, !tbaa !5
  %26278 = call ptr @s2n_strerror(i32 noundef %26277, ptr noundef @.str.10)
  %26279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26280 = load i32, ptr %26279, align 4, !tbaa !5
  %26281 = call ptr @s2n_strerror_debug(i32 noundef %26280, ptr noundef @.str.10)
  %26282 = call ptr @__errno_location() #11
  %26283 = load i32, ptr %26282, align 4, !tbaa !5
  %26284 = call ptr @strerror(i32 noundef %26283) #10
  %26285 = call ptr @__errno_location() #11
  %26286 = load i32, ptr %26285, align 4, !tbaa !5
  %26287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26274, ptr noundef @.str.11, i32 noundef %26275, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 986, ptr noundef %26278, ptr noundef %26281, ptr noundef %26284, i32 noundef %26286) #10
  br label %26288

26288:                                            ; preds = %26271, %26254
  call void @llvm.lifetime.end.p0(i64 4, ptr %604) #10
  br label %26289

26289:                                            ; preds = %26288
  br label %26290

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

26291:                                            ; No predecessors!
  br label %26292

26292:                                            ; preds = %26291
  br label %26293

26293:                                            ; preds = %26292, %26234
  br label %26294

26294:                                            ; preds = %26293
  br label %26295

26295:                                            ; preds = %26294
  br label %26296

26296:                                            ; preds = %26295
  %26297 = load i32, ptr @test_count, align 4, !tbaa !5
  %26298 = add nsw i32 %26297, 1
  store i32 %26298, ptr @test_count, align 4, !tbaa !5
  %26299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26300 = load i32, ptr %26299, align 4, !tbaa !5
  %26301 = call ptr @s2n_strerror_debug(i32 noundef %26300, ptr noundef @.str.10)
  %26302 = icmp eq ptr %26301, null
  br i1 %26302, label %26303, label %26356

26303:                                            ; preds = %26296
  br label %26304

26304:                                            ; preds = %26303
  br label %26305

26305:                                            ; preds = %26304
  call void @llvm.lifetime.start.p0(i64 4, ptr %605) #10
  %26306 = call ptr @__errno_location() #11
  %26307 = load i32, ptr %26306, align 4, !tbaa !5
  store i32 %26307, ptr %605, align 4, !tbaa !5
  %26308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26309 = call i32 @s2n_print_stacktrace(ptr noundef %26308)
  %26310 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26311 = trunc i8 %26310 to i1
  br i1 %26311, label %26312, label %26334

26312:                                            ; preds = %26305
  %26313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26314 = call i32 @fileno(ptr noundef %26313) #10
  %26315 = call i32 @isatty(i32 noundef %26314) #10
  %26316 = icmp ne i32 %26315, 0
  br i1 %26316, label %26317, label %26334

26317:                                            ; preds = %26312
  %26318 = load i32, ptr %605, align 4, !tbaa !5
  %26319 = call ptr @__errno_location() #11
  store i32 %26318, ptr %26319, align 4, !tbaa !5
  %26320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26321 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %26323, ptr noundef @.str.10)
  %26325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26326 = load i32, ptr %26325, align 4, !tbaa !5
  %26327 = call ptr @s2n_strerror_debug(i32 noundef %26326, ptr noundef @.str.10)
  %26328 = call ptr @__errno_location() #11
  %26329 = load i32, ptr %26328, align 4, !tbaa !5
  %26330 = call ptr @strerror(i32 noundef %26329) #10
  %26331 = call ptr @__errno_location() #11
  %26332 = load i32, ptr %26331, align 4, !tbaa !5
  %26333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26320, ptr noundef @.str.8, i32 noundef %26321, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 986, ptr noundef %26324, ptr noundef %26327, ptr noundef %26330, i32 noundef %26332) #10
  br label %26351

26334:                                            ; preds = %26312, %26305
  %26335 = load i32, ptr %605, align 4, !tbaa !5
  %26336 = call ptr @__errno_location() #11
  store i32 %26335, ptr %26336, align 4, !tbaa !5
  %26337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26338 = load i32, ptr @test_count, align 4, !tbaa !5
  %26339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26340 = load i32, ptr %26339, align 4, !tbaa !5
  %26341 = call ptr @s2n_strerror(i32 noundef %26340, ptr noundef @.str.10)
  %26342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26343 = load i32, ptr %26342, align 4, !tbaa !5
  %26344 = call ptr @s2n_strerror_debug(i32 noundef %26343, ptr noundef @.str.10)
  %26345 = call ptr @__errno_location() #11
  %26346 = load i32, ptr %26345, align 4, !tbaa !5
  %26347 = call ptr @strerror(i32 noundef %26346) #10
  %26348 = call ptr @__errno_location() #11
  %26349 = load i32, ptr %26348, align 4, !tbaa !5
  %26350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26337, ptr noundef @.str.11, i32 noundef %26338, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 986, ptr noundef %26341, ptr noundef %26344, ptr noundef %26347, i32 noundef %26349) #10
  br label %26351

26351:                                            ; preds = %26334, %26317
  call void @llvm.lifetime.end.p0(i64 4, ptr %605) #10
  br label %26352

26352:                                            ; preds = %26351
  br label %26353

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

26354:                                            ; No predecessors!
  br label %26355

26355:                                            ; preds = %26354
  br label %26356

26356:                                            ; preds = %26355, %26296
  br label %26357

26357:                                            ; preds = %26356
  br label %26358

26358:                                            ; preds = %26357
  br label %26359

26359:                                            ; preds = %26358
  br label %26360

26360:                                            ; preds = %26359
  br label %26361

26361:                                            ; preds = %26360
  %26362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %26362, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %26363 = call ptr @__errno_location() #11
  store i32 0, ptr %26363, align 4, !tbaa !5
  br label %26364

26364:                                            ; preds = %26361
  br label %26365

26365:                                            ; preds = %26364
  br label %26366

26366:                                            ; preds = %26365
  br label %26367

26367:                                            ; preds = %26366
  br label %26368

26368:                                            ; preds = %26367
  %26369 = load i32, ptr @test_count, align 4, !tbaa !5
  %26370 = add nsw i32 %26369, 1
  store i32 %26370, ptr @test_count, align 4, !tbaa !5
  %26371 = load i32, ptr %596, align 4, !tbaa !5
  %26372 = icmp eq i32 %26371, 1
  br i1 %26372, label %26426, label %26373

26373:                                            ; preds = %26368
  br label %26374

26374:                                            ; preds = %26373
  br label %26375

26375:                                            ; preds = %26374
  call void @llvm.lifetime.start.p0(i64 4, ptr %606) #10
  %26376 = call ptr @__errno_location() #11
  %26377 = load i32, ptr %26376, align 4, !tbaa !5
  store i32 %26377, ptr %606, align 4, !tbaa !5
  %26378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26379 = call i32 @s2n_print_stacktrace(ptr noundef %26378)
  %26380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26381 = trunc i8 %26380 to i1
  br i1 %26381, label %26382, label %26404

26382:                                            ; preds = %26375
  %26383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26384 = call i32 @fileno(ptr noundef %26383) #10
  %26385 = call i32 @isatty(i32 noundef %26384) #10
  %26386 = icmp ne i32 %26385, 0
  br i1 %26386, label %26387, label %26404

26387:                                            ; preds = %26382
  %26388 = load i32, ptr %606, align 4, !tbaa !5
  %26389 = call ptr @__errno_location() #11
  store i32 %26388, ptr %26389, align 4, !tbaa !5
  %26390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26391 = load i32, ptr @test_count, align 4, !tbaa !5
  %26392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26393 = load i32, ptr %26392, align 4, !tbaa !5
  %26394 = call ptr @s2n_strerror(i32 noundef %26393, ptr noundef @.str.10)
  %26395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26396 = load i32, ptr %26395, align 4, !tbaa !5
  %26397 = call ptr @s2n_strerror_debug(i32 noundef %26396, ptr noundef @.str.10)
  %26398 = call ptr @__errno_location() #11
  %26399 = load i32, ptr %26398, align 4, !tbaa !5
  %26400 = call ptr @strerror(i32 noundef %26399) #10
  %26401 = call ptr @__errno_location() #11
  %26402 = load i32, ptr %26401, align 4, !tbaa !5
  %26403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26390, ptr noundef @.str.8, i32 noundef %26391, ptr noundef @.str.45, ptr noundef @.str.7, i32 noundef 987, ptr noundef %26394, ptr noundef %26397, ptr noundef %26400, i32 noundef %26402) #10
  br label %26421

26404:                                            ; preds = %26382, %26375
  %26405 = load i32, ptr %606, align 4, !tbaa !5
  %26406 = call ptr @__errno_location() #11
  store i32 %26405, ptr %26406, align 4, !tbaa !5
  %26407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26408 = load i32, ptr @test_count, align 4, !tbaa !5
  %26409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26410 = load i32, ptr %26409, align 4, !tbaa !5
  %26411 = call ptr @s2n_strerror(i32 noundef %26410, ptr noundef @.str.10)
  %26412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26413 = load i32, ptr %26412, align 4, !tbaa !5
  %26414 = call ptr @s2n_strerror_debug(i32 noundef %26413, ptr noundef @.str.10)
  %26415 = call ptr @__errno_location() #11
  %26416 = load i32, ptr %26415, align 4, !tbaa !5
  %26417 = call ptr @strerror(i32 noundef %26416) #10
  %26418 = call ptr @__errno_location() #11
  %26419 = load i32, ptr %26418, align 4, !tbaa !5
  %26420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26407, ptr noundef @.str.11, i32 noundef %26408, ptr noundef @.str.45, ptr noundef @.str.7, i32 noundef 987, ptr noundef %26411, ptr noundef %26414, ptr noundef %26417, i32 noundef %26419) #10
  br label %26421

26421:                                            ; preds = %26404, %26387
  call void @llvm.lifetime.end.p0(i64 4, ptr %606) #10
  br label %26422

26422:                                            ; preds = %26421
  br label %26423

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

26424:                                            ; No predecessors!
  br label %26425

26425:                                            ; preds = %26424
  br label %26426

26426:                                            ; preds = %26425, %26368
  br label %26427

26427:                                            ; preds = %26426
  br label %26428

26428:                                            ; preds = %26427
  br label %26429

26429:                                            ; preds = %26428
  %26430 = load i32, ptr @test_count, align 4, !tbaa !5
  %26431 = add nsw i32 %26430, 1
  store i32 %26431, ptr @test_count, align 4, !tbaa !5
  %26432 = load ptr, ptr %587, align 8, !tbaa !9
  %26433 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %26432, i32 noundef 0)
  br i1 %26433, label %26434, label %26487

26434:                                            ; preds = %26429
  br label %26435

26435:                                            ; preds = %26434
  br label %26436

26436:                                            ; preds = %26435
  call void @llvm.lifetime.start.p0(i64 4, ptr %607) #10
  %26437 = call ptr @__errno_location() #11
  %26438 = load i32, ptr %26437, align 4, !tbaa !5
  store i32 %26438, ptr %607, align 4, !tbaa !5
  %26439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26440 = call i32 @s2n_print_stacktrace(ptr noundef %26439)
  %26441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26442 = trunc i8 %26441 to i1
  br i1 %26442, label %26443, label %26465

26443:                                            ; preds = %26436
  %26444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26445 = call i32 @fileno(ptr noundef %26444) #10
  %26446 = call i32 @isatty(i32 noundef %26445) #10
  %26447 = icmp ne i32 %26446, 0
  br i1 %26447, label %26448, label %26465

26448:                                            ; preds = %26443
  %26449 = load i32, ptr %607, align 4, !tbaa !5
  %26450 = call ptr @__errno_location() #11
  store i32 %26449, ptr %26450, align 4, !tbaa !5
  %26451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26452 = load i32, ptr @test_count, align 4, !tbaa !5
  %26453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26454 = load i32, ptr %26453, align 4, !tbaa !5
  %26455 = call ptr @s2n_strerror(i32 noundef %26454, ptr noundef @.str.10)
  %26456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26457 = load i32, ptr %26456, align 4, !tbaa !5
  %26458 = call ptr @s2n_strerror_debug(i32 noundef %26457, ptr noundef @.str.10)
  %26459 = call ptr @__errno_location() #11
  %26460 = load i32, ptr %26459, align 4, !tbaa !5
  %26461 = call ptr @strerror(i32 noundef %26460) #10
  %26462 = call ptr @__errno_location() #11
  %26463 = load i32, ptr %26462, align 4, !tbaa !5
  %26464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26451, ptr noundef @.str.8, i32 noundef %26452, ptr noundef @.str.138, ptr noundef @.str.7, i32 noundef 988, ptr noundef %26455, ptr noundef %26458, ptr noundef %26461, i32 noundef %26463) #10
  br label %26482

26465:                                            ; preds = %26443, %26436
  %26466 = load i32, ptr %607, align 4, !tbaa !5
  %26467 = call ptr @__errno_location() #11
  store i32 %26466, ptr %26467, align 4, !tbaa !5
  %26468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26469 = load i32, ptr @test_count, align 4, !tbaa !5
  %26470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26471 = load i32, ptr %26470, align 4, !tbaa !5
  %26472 = call ptr @s2n_strerror(i32 noundef %26471, ptr noundef @.str.10)
  %26473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26474 = load i32, ptr %26473, align 4, !tbaa !5
  %26475 = call ptr @s2n_strerror_debug(i32 noundef %26474, ptr noundef @.str.10)
  %26476 = call ptr @__errno_location() #11
  %26477 = load i32, ptr %26476, align 4, !tbaa !5
  %26478 = call ptr @strerror(i32 noundef %26477) #10
  %26479 = call ptr @__errno_location() #11
  %26480 = load i32, ptr %26479, align 4, !tbaa !5
  %26481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26468, ptr noundef @.str.11, i32 noundef %26469, ptr noundef @.str.138, ptr noundef @.str.7, i32 noundef 988, ptr noundef %26472, ptr noundef %26475, ptr noundef %26478, i32 noundef %26480) #10
  br label %26482

26482:                                            ; preds = %26465, %26448
  call void @llvm.lifetime.end.p0(i64 4, ptr %607) #10
  br label %26483

26483:                                            ; preds = %26482
  br label %26484

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

26485:                                            ; No predecessors!
  br label %26486

26486:                                            ; preds = %26485
  br label %26487

26487:                                            ; preds = %26486, %26429
  br label %26488

26488:                                            ; preds = %26487
  br label %26489

26489:                                            ; preds = %26488
  br label %26490

26490:                                            ; preds = %26489
  %26491 = load i32, ptr @test_count, align 4, !tbaa !5
  %26492 = add nsw i32 %26491, 1
  store i32 %26492, ptr @test_count, align 4, !tbaa !5
  %26493 = load ptr, ptr %587, align 8, !tbaa !9
  %26494 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %26493, i32 noundef 1)
  br i1 %26494, label %26548, label %26495

26495:                                            ; preds = %26490
  br label %26496

26496:                                            ; preds = %26495
  br label %26497

26497:                                            ; preds = %26496
  call void @llvm.lifetime.start.p0(i64 4, ptr %608) #10
  %26498 = call ptr @__errno_location() #11
  %26499 = load i32, ptr %26498, align 4, !tbaa !5
  store i32 %26499, ptr %608, align 4, !tbaa !5
  %26500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26501 = call i32 @s2n_print_stacktrace(ptr noundef %26500)
  %26502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26503 = trunc i8 %26502 to i1
  br i1 %26503, label %26504, label %26526

26504:                                            ; preds = %26497
  %26505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26506 = call i32 @fileno(ptr noundef %26505) #10
  %26507 = call i32 @isatty(i32 noundef %26506) #10
  %26508 = icmp ne i32 %26507, 0
  br i1 %26508, label %26509, label %26526

26509:                                            ; preds = %26504
  %26510 = load i32, ptr %608, align 4, !tbaa !5
  %26511 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %26520 = call ptr @__errno_location() #11
  %26521 = load i32, ptr %26520, align 4, !tbaa !5
  %26522 = call ptr @strerror(i32 noundef %26521) #10
  %26523 = call ptr @__errno_location() #11
  %26524 = load i32, ptr %26523, align 4, !tbaa !5
  %26525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26512, ptr noundef @.str.8, i32 noundef %26513, ptr noundef @.str.139, ptr noundef @.str.7, i32 noundef 989, ptr noundef %26516, ptr noundef %26519, ptr noundef %26522, i32 noundef %26524) #10
  br label %26543

26526:                                            ; preds = %26504, %26497
  %26527 = load i32, ptr %608, align 4, !tbaa !5
  %26528 = call ptr @__errno_location() #11
  store i32 %26527, ptr %26528, align 4, !tbaa !5
  %26529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26530 = load i32, ptr @test_count, align 4, !tbaa !5
  %26531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26532 = load i32, ptr %26531, align 4, !tbaa !5
  %26533 = call ptr @s2n_strerror(i32 noundef %26532, ptr noundef @.str.10)
  %26534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26535 = load i32, ptr %26534, align 4, !tbaa !5
  %26536 = call ptr @s2n_strerror_debug(i32 noundef %26535, ptr noundef @.str.10)
  %26537 = call ptr @__errno_location() #11
  %26538 = load i32, ptr %26537, align 4, !tbaa !5
  %26539 = call ptr @strerror(i32 noundef %26538) #10
  %26540 = call ptr @__errno_location() #11
  %26541 = load i32, ptr %26540, align 4, !tbaa !5
  %26542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26529, ptr noundef @.str.11, i32 noundef %26530, ptr noundef @.str.139, ptr noundef @.str.7, i32 noundef 989, ptr noundef %26533, ptr noundef %26536, ptr noundef %26539, i32 noundef %26541) #10
  br label %26543

26543:                                            ; preds = %26526, %26509
  call void @llvm.lifetime.end.p0(i64 4, ptr %608) #10
  br label %26544

26544:                                            ; preds = %26543
  br label %26545

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

26546:                                            ; No predecessors!
  br label %26547

26547:                                            ; preds = %26546
  br label %26548

26548:                                            ; preds = %26547, %26490
  br label %26549

26549:                                            ; preds = %26548
  br label %26550

26550:                                            ; preds = %26549
  br label %26551

26551:                                            ; preds = %26550
  %26552 = load i32, ptr @test_count, align 4, !tbaa !5
  %26553 = add nsw i32 %26552, 1
  store i32 %26553, ptr @test_count, align 4, !tbaa !5
  %26554 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %591, i32 0, i32 1
  %26555 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %26554, i32 0, i32 1
  %26556 = call i32 @s2n_stuffer_wipe(ptr noundef %26555)
  %26557 = icmp eq i32 %26556, -1
  br i1 %26557, label %26558, label %26611

26558:                                            ; preds = %26551
  br label %26559

26559:                                            ; preds = %26558
  br label %26560

26560:                                            ; preds = %26559
  call void @llvm.lifetime.start.p0(i64 4, ptr %609) #10
  %26561 = call ptr @__errno_location() #11
  %26562 = load i32, ptr %26561, align 4, !tbaa !5
  store i32 %26562, ptr %609, align 4, !tbaa !5
  %26563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26564 = call i32 @s2n_print_stacktrace(ptr noundef %26563)
  %26565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26566 = trunc i8 %26565 to i1
  br i1 %26566, label %26567, label %26589

26567:                                            ; preds = %26560
  %26568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26569 = call i32 @fileno(ptr noundef %26568) #10
  %26570 = call i32 @isatty(i32 noundef %26569) #10
  %26571 = icmp ne i32 %26570, 0
  br i1 %26571, label %26572, label %26589

26572:                                            ; preds = %26567
  %26573 = load i32, ptr %609, align 4, !tbaa !5
  %26574 = call ptr @__errno_location() #11
  store i32 %26573, ptr %26574, align 4, !tbaa !5
  %26575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26576 = load i32, ptr @test_count, align 4, !tbaa !5
  %26577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26578 = load i32, ptr %26577, align 4, !tbaa !5
  %26579 = call ptr @s2n_strerror(i32 noundef %26578, ptr noundef @.str.10)
  %26580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26581 = load i32, ptr %26580, align 4, !tbaa !5
  %26582 = call ptr @s2n_strerror_debug(i32 noundef %26581, ptr noundef @.str.10)
  %26583 = call ptr @__errno_location() #11
  %26584 = load i32, ptr %26583, align 4, !tbaa !5
  %26585 = call ptr @strerror(i32 noundef %26584) #10
  %26586 = call ptr @__errno_location() #11
  %26587 = load i32, ptr %26586, align 4, !tbaa !5
  %26588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26575, ptr noundef @.str.8, i32 noundef %26576, ptr noundef @.str.140, ptr noundef @.str.7, i32 noundef 992, ptr noundef %26579, ptr noundef %26582, ptr noundef %26585, i32 noundef %26587) #10
  br label %26606

26589:                                            ; preds = %26567, %26560
  %26590 = load i32, ptr %609, align 4, !tbaa !5
  %26591 = call ptr @__errno_location() #11
  store i32 %26590, ptr %26591, align 4, !tbaa !5
  %26592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26593 = load i32, ptr @test_count, align 4, !tbaa !5
  %26594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26595 = load i32, ptr %26594, align 4, !tbaa !5
  %26596 = call ptr @s2n_strerror(i32 noundef %26595, ptr noundef @.str.10)
  %26597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26598 = load i32, ptr %26597, align 4, !tbaa !5
  %26599 = call ptr @s2n_strerror_debug(i32 noundef %26598, ptr noundef @.str.10)
  %26600 = call ptr @__errno_location() #11
  %26601 = load i32, ptr %26600, align 4, !tbaa !5
  %26602 = call ptr @strerror(i32 noundef %26601) #10
  %26603 = call ptr @__errno_location() #11
  %26604 = load i32, ptr %26603, align 4, !tbaa !5
  %26605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26592, ptr noundef @.str.11, i32 noundef %26593, ptr noundef @.str.140, ptr noundef @.str.7, i32 noundef 992, ptr noundef %26596, ptr noundef %26599, ptr noundef %26602, i32 noundef %26604) #10
  br label %26606

26606:                                            ; preds = %26589, %26572
  call void @llvm.lifetime.end.p0(i64 4, ptr %609) #10
  br label %26607

26607:                                            ; preds = %26606
  br label %26608

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

26609:                                            ; No predecessors!
  br label %26610

26610:                                            ; preds = %26609
  br label %26611

26611:                                            ; preds = %26610, %26551
  br label %26612

26612:                                            ; preds = %26611
  br label %26613

26613:                                            ; preds = %26612
  br label %26614

26614:                                            ; preds = %26613
  %26615 = load i32, ptr @test_count, align 4, !tbaa !5
  %26616 = add nsw i32 %26615, 1
  store i32 %26616, ptr @test_count, align 4, !tbaa !5
  %26617 = load ptr, ptr %583, align 8, !tbaa !9
  %26618 = call i32 @s2n_shutdown(ptr noundef %26617, ptr noundef %596)
  %26619 = icmp eq i32 %26618, -1
  br i1 %26619, label %26620, label %26673

26620:                                            ; preds = %26614
  br label %26621

26621:                                            ; preds = %26620
  br label %26622

26622:                                            ; preds = %26621
  call void @llvm.lifetime.start.p0(i64 4, ptr %610) #10
  %26623 = call ptr @__errno_location() #11
  %26624 = load i32, ptr %26623, align 4, !tbaa !5
  store i32 %26624, ptr %610, align 4, !tbaa !5
  %26625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26626 = call i32 @s2n_print_stacktrace(ptr noundef %26625)
  %26627 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26628 = trunc i8 %26627 to i1
  br i1 %26628, label %26629, label %26651

26629:                                            ; preds = %26622
  %26630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26631 = call i32 @fileno(ptr noundef %26630) #10
  %26632 = call i32 @isatty(i32 noundef %26631) #10
  %26633 = icmp ne i32 %26632, 0
  br i1 %26633, label %26634, label %26651

26634:                                            ; preds = %26629
  %26635 = load i32, ptr %610, align 4, !tbaa !5
  %26636 = call ptr @__errno_location() #11
  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.10)
  %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.10)
  %26645 = call ptr @__errno_location() #11
  %26646 = load i32, ptr %26645, align 4, !tbaa !5
  %26647 = call ptr @strerror(i32 noundef %26646) #10
  %26648 = call ptr @__errno_location() #11
  %26649 = load i32, ptr %26648, align 4, !tbaa !5
  %26650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26637, ptr noundef @.str.8, i32 noundef %26638, ptr noundef @.str.141, ptr noundef @.str.7, i32 noundef 994, ptr noundef %26641, ptr noundef %26644, ptr noundef %26647, i32 noundef %26649) #10
  br label %26668

26651:                                            ; preds = %26629, %26622
  %26652 = load i32, ptr %610, align 4, !tbaa !5
  %26653 = call ptr @__errno_location() #11
  store i32 %26652, ptr %26653, align 4, !tbaa !5
  %26654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26655 = load i32, ptr @test_count, align 4, !tbaa !5
  %26656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26657 = load i32, ptr %26656, align 4, !tbaa !5
  %26658 = call ptr @s2n_strerror(i32 noundef %26657, ptr noundef @.str.10)
  %26659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26660 = load i32, ptr %26659, align 4, !tbaa !5
  %26661 = call ptr @s2n_strerror_debug(i32 noundef %26660, ptr noundef @.str.10)
  %26662 = call ptr @__errno_location() #11
  %26663 = load i32, ptr %26662, align 4, !tbaa !5
  %26664 = call ptr @strerror(i32 noundef %26663) #10
  %26665 = call ptr @__errno_location() #11
  %26666 = load i32, ptr %26665, align 4, !tbaa !5
  %26667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26654, ptr noundef @.str.11, i32 noundef %26655, ptr noundef @.str.141, ptr noundef @.str.7, i32 noundef 994, ptr noundef %26658, ptr noundef %26661, ptr noundef %26664, i32 noundef %26666) #10
  br label %26668

26668:                                            ; preds = %26651, %26634
  call void @llvm.lifetime.end.p0(i64 4, ptr %610) #10
  br label %26669

26669:                                            ; preds = %26668
  br label %26670

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

26671:                                            ; No predecessors!
  br label %26672

26672:                                            ; preds = %26671
  br label %26673

26673:                                            ; preds = %26672, %26614
  br label %26674

26674:                                            ; preds = %26673
  br label %26675

26675:                                            ; preds = %26674
  br label %26676

26676:                                            ; preds = %26675
  %26677 = load i32, ptr @test_count, align 4, !tbaa !5
  %26678 = add nsw i32 %26677, 1
  store i32 %26678, ptr @test_count, align 4, !tbaa !5
  %26679 = load ptr, ptr %587, align 8, !tbaa !9
  %26680 = call i32 @s2n_shutdown(ptr noundef %26679, ptr noundef %596)
  %26681 = icmp eq i32 %26680, -1
  br i1 %26681, label %26682, label %26735

26682:                                            ; preds = %26676
  br label %26683

26683:                                            ; preds = %26682
  br label %26684

26684:                                            ; preds = %26683
  call void @llvm.lifetime.start.p0(i64 4, ptr %611) #10
  %26685 = call ptr @__errno_location() #11
  %26686 = load i32, ptr %26685, align 4, !tbaa !5
  store i32 %26686, ptr %611, align 4, !tbaa !5
  %26687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26688 = call i32 @s2n_print_stacktrace(ptr noundef %26687)
  %26689 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26690 = trunc i8 %26689 to i1
  br i1 %26690, label %26691, label %26713

26691:                                            ; preds = %26684
  %26692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26693 = call i32 @fileno(ptr noundef %26692) #10
  %26694 = call i32 @isatty(i32 noundef %26693) #10
  %26695 = icmp ne i32 %26694, 0
  br i1 %26695, label %26696, label %26713

26696:                                            ; preds = %26691
  %26697 = load i32, ptr %611, align 4, !tbaa !5
  %26698 = call ptr @__errno_location() #11
  store i32 %26697, ptr %26698, align 4, !tbaa !5
  %26699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26700 = load i32, ptr @test_count, align 4, !tbaa !5
  %26701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26702 = load i32, ptr %26701, align 4, !tbaa !5
  %26703 = call ptr @s2n_strerror(i32 noundef %26702, ptr noundef @.str.10)
  %26704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26705 = load i32, ptr %26704, align 4, !tbaa !5
  %26706 = call ptr @s2n_strerror_debug(i32 noundef %26705, ptr noundef @.str.10)
  %26707 = call ptr @__errno_location() #11
  %26708 = load i32, ptr %26707, align 4, !tbaa !5
  %26709 = call ptr @strerror(i32 noundef %26708) #10
  %26710 = call ptr @__errno_location() #11
  %26711 = load i32, ptr %26710, align 4, !tbaa !5
  %26712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26699, ptr noundef @.str.8, i32 noundef %26700, ptr noundef @.str.83, ptr noundef @.str.7, i32 noundef 995, ptr noundef %26703, ptr noundef %26706, ptr noundef %26709, i32 noundef %26711) #10
  br label %26730

26713:                                            ; preds = %26691, %26684
  %26714 = load i32, ptr %611, align 4, !tbaa !5
  %26715 = call ptr @__errno_location() #11
  store i32 %26714, ptr %26715, align 4, !tbaa !5
  %26716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26717 = load i32, ptr @test_count, align 4, !tbaa !5
  %26718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26719 = load i32, ptr %26718, align 4, !tbaa !5
  %26720 = call ptr @s2n_strerror(i32 noundef %26719, ptr noundef @.str.10)
  %26721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26722 = load i32, ptr %26721, align 4, !tbaa !5
  %26723 = call ptr @s2n_strerror_debug(i32 noundef %26722, ptr noundef @.str.10)
  %26724 = call ptr @__errno_location() #11
  %26725 = load i32, ptr %26724, align 4, !tbaa !5
  %26726 = call ptr @strerror(i32 noundef %26725) #10
  %26727 = call ptr @__errno_location() #11
  %26728 = load i32, ptr %26727, align 4, !tbaa !5
  %26729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26716, ptr noundef @.str.11, i32 noundef %26717, ptr noundef @.str.83, ptr noundef @.str.7, i32 noundef 995, ptr noundef %26720, ptr noundef %26723, ptr noundef %26726, i32 noundef %26728) #10
  br label %26730

26730:                                            ; preds = %26713, %26696
  call void @llvm.lifetime.end.p0(i64 4, ptr %611) #10
  br label %26731

26731:                                            ; preds = %26730
  br label %26732

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

26733:                                            ; No predecessors!
  br label %26734

26734:                                            ; preds = %26733
  br label %26735

26735:                                            ; preds = %26734, %26676
  br label %26736

26736:                                            ; preds = %26735
  br label %26737

26737:                                            ; preds = %26736
  call void @llvm.lifetime.end.p0(i64 4, ptr %596) #10
  %26738 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef %591)
  %26739 = getelementptr inbounds %struct.s2n_result, ptr %612, i32 0, i32 0
  store i32 %26738, ptr %26739, align 4
  call void @llvm.lifetime.end.p0(i64 192, ptr %591) #10
  %26740 = call i32 @s2n_connection_ptr_free(ptr noundef %587)
  %26741 = getelementptr inbounds %struct.s2n_result, ptr %613, i32 0, i32 0
  store i32 %26740, ptr %26741, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %587) #10
  %26742 = call i32 @s2n_connection_ptr_free(ptr noundef %583)
  %26743 = getelementptr inbounds %struct.s2n_result, ptr %614, i32 0, i32 0
  store i32 %26742, ptr %26743, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %583) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %615) #10
  %26744 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %26744, ptr %615, align 8, !tbaa !9
  br label %26745

26745:                                            ; preds = %26737
  %26746 = load i32, ptr @test_count, align 4, !tbaa !5
  %26747 = add nsw i32 %26746, 1
  store i32 %26747, ptr @test_count, align 4, !tbaa !5
  %26748 = load ptr, ptr %615, align 8, !tbaa !9
  %26749 = icmp eq ptr %26748, null
  br i1 %26749, label %26750, label %26803

26750:                                            ; preds = %26745
  br label %26751

26751:                                            ; preds = %26750
  br label %26752

26752:                                            ; preds = %26751
  call void @llvm.lifetime.start.p0(i64 4, ptr %616) #10
  %26753 = call ptr @__errno_location() #11
  %26754 = load i32, ptr %26753, align 4, !tbaa !5
  store i32 %26754, ptr %616, align 4, !tbaa !5
  %26755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26756 = call i32 @s2n_print_stacktrace(ptr noundef %26755)
  %26757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26758 = trunc i8 %26757 to i1
  br i1 %26758, label %26759, label %26781

26759:                                            ; preds = %26752
  %26760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26761 = call i32 @fileno(ptr noundef %26760) #10
  %26762 = call i32 @isatty(i32 noundef %26761) #10
  %26763 = icmp ne i32 %26762, 0
  br i1 %26763, label %26764, label %26781

26764:                                            ; preds = %26759
  %26765 = load i32, ptr %616, align 4, !tbaa !5
  %26766 = call ptr @__errno_location() #11
  store i32 %26765, ptr %26766, align 4, !tbaa !5
  %26767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26768 = load i32, ptr @test_count, align 4, !tbaa !5
  %26769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26770 = load i32, ptr %26769, align 4, !tbaa !5
  %26771 = call ptr @s2n_strerror(i32 noundef %26770, ptr noundef @.str.10)
  %26772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26773 = load i32, ptr %26772, align 4, !tbaa !5
  %26774 = call ptr @s2n_strerror_debug(i32 noundef %26773, ptr noundef @.str.10)
  %26775 = call ptr @__errno_location() #11
  %26776 = load i32, ptr %26775, align 4, !tbaa !5
  %26777 = call ptr @strerror(i32 noundef %26776) #10
  %26778 = call ptr @__errno_location() #11
  %26779 = load i32, ptr %26778, align 4, !tbaa !5
  %26780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26767, ptr noundef @.str.8, i32 noundef %26768, ptr noundef @.str.73, ptr noundef @.str.7, i32 noundef 1002, ptr noundef %26771, ptr noundef %26774, ptr noundef %26777, i32 noundef %26779) #10
  br label %26798

26781:                                            ; preds = %26759, %26752
  %26782 = load i32, ptr %616, align 4, !tbaa !5
  %26783 = call ptr @__errno_location() #11
  store i32 %26782, ptr %26783, align 4, !tbaa !5
  %26784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26785 = load i32, ptr @test_count, align 4, !tbaa !5
  %26786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26787 = load i32, ptr %26786, align 4, !tbaa !5
  %26788 = call ptr @s2n_strerror(i32 noundef %26787, ptr noundef @.str.10)
  %26789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26790 = load i32, ptr %26789, align 4, !tbaa !5
  %26791 = call ptr @s2n_strerror_debug(i32 noundef %26790, ptr noundef @.str.10)
  %26792 = call ptr @__errno_location() #11
  %26793 = load i32, ptr %26792, align 4, !tbaa !5
  %26794 = call ptr @strerror(i32 noundef %26793) #10
  %26795 = call ptr @__errno_location() #11
  %26796 = load i32, ptr %26795, align 4, !tbaa !5
  %26797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26784, ptr noundef @.str.11, i32 noundef %26785, ptr noundef @.str.73, ptr noundef @.str.7, i32 noundef 1002, ptr noundef %26788, ptr noundef %26791, ptr noundef %26794, i32 noundef %26796) #10
  br label %26798

26798:                                            ; preds = %26781, %26764
  call void @llvm.lifetime.end.p0(i64 4, ptr %616) #10
  br label %26799

26799:                                            ; preds = %26798
  br label %26800

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

26801:                                            ; No predecessors!
  br label %26802

26802:                                            ; preds = %26801
  br label %26803

26803:                                            ; preds = %26802, %26745
  br label %26804

26804:                                            ; preds = %26803
  br label %26805

26805:                                            ; preds = %26804
  %26806 = load ptr, ptr %615, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %26806, i32 noundef 0)
  %26807 = load ptr, ptr %615, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %26807, i32 noundef 1)
  br label %26808

26808:                                            ; preds = %26805
  %26809 = load i32, ptr @test_count, align 4, !tbaa !5
  %26810 = add nsw i32 %26809, 1
  store i32 %26810, ptr @test_count, align 4, !tbaa !5
  %26811 = load ptr, ptr %615, align 8, !tbaa !9
  %26812 = call i32 @s2n_skip_handshake(ptr noundef %26811)
  %26813 = getelementptr inbounds %struct.s2n_result, ptr %617, i32 0, i32 0
  store i32 %26812, ptr %26813, align 4
  %26814 = getelementptr inbounds %struct.s2n_result, ptr %617, i32 0, i32 0
  %26815 = load i32, ptr %26814, align 4
  %26816 = call zeroext i1 @s2n_result_is_ok(i32 %26815)
  br i1 %26816, label %26870, label %26817

26817:                                            ; preds = %26808
  br label %26818

26818:                                            ; preds = %26817
  br label %26819

26819:                                            ; preds = %26818
  call void @llvm.lifetime.start.p0(i64 4, ptr %618) #10
  %26820 = call ptr @__errno_location() #11
  %26821 = load i32, ptr %26820, align 4, !tbaa !5
  store i32 %26821, ptr %618, align 4, !tbaa !5
  %26822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26823 = call i32 @s2n_print_stacktrace(ptr noundef %26822)
  %26824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26825 = trunc i8 %26824 to i1
  br i1 %26825, label %26826, label %26848

26826:                                            ; preds = %26819
  %26827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26828 = call i32 @fileno(ptr noundef %26827) #10
  %26829 = call i32 @isatty(i32 noundef %26828) #10
  %26830 = icmp ne i32 %26829, 0
  br i1 %26830, label %26831, label %26848

26831:                                            ; preds = %26826
  %26832 = load i32, ptr %618, align 4, !tbaa !5
  %26833 = call ptr @__errno_location() #11
  store i32 %26832, ptr %26833, align 4, !tbaa !5
  %26834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26835 = load i32, ptr @test_count, align 4, !tbaa !5
  %26836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26837 = load i32, ptr %26836, align 4, !tbaa !5
  %26838 = call ptr @s2n_strerror(i32 noundef %26837, ptr noundef @.str.10)
  %26839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26840 = load i32, ptr %26839, align 4, !tbaa !5
  %26841 = call ptr @s2n_strerror_debug(i32 noundef %26840, ptr noundef @.str.10)
  %26842 = call ptr @__errno_location() #11
  %26843 = load i32, ptr %26842, align 4, !tbaa !5
  %26844 = call ptr @strerror(i32 noundef %26843) #10
  %26845 = call ptr @__errno_location() #11
  %26846 = load i32, ptr %26845, align 4, !tbaa !5
  %26847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26834, ptr noundef @.str.8, i32 noundef %26835, ptr noundef @.str.127, ptr noundef @.str.7, i32 noundef 1005, ptr noundef %26838, ptr noundef %26841, ptr noundef %26844, i32 noundef %26846) #10
  br label %26865

26848:                                            ; preds = %26826, %26819
  %26849 = load i32, ptr %618, align 4, !tbaa !5
  %26850 = call ptr @__errno_location() #11
  store i32 %26849, ptr %26850, align 4, !tbaa !5
  %26851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26852 = load i32, ptr @test_count, align 4, !tbaa !5
  %26853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26854 = load i32, ptr %26853, align 4, !tbaa !5
  %26855 = call ptr @s2n_strerror(i32 noundef %26854, ptr noundef @.str.10)
  %26856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26857 = load i32, ptr %26856, align 4, !tbaa !5
  %26858 = call ptr @s2n_strerror_debug(i32 noundef %26857, ptr noundef @.str.10)
  %26859 = call ptr @__errno_location() #11
  %26860 = load i32, ptr %26859, align 4, !tbaa !5
  %26861 = call ptr @strerror(i32 noundef %26860) #10
  %26862 = call ptr @__errno_location() #11
  %26863 = load i32, ptr %26862, align 4, !tbaa !5
  %26864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26851, ptr noundef @.str.11, i32 noundef %26852, ptr noundef @.str.127, ptr noundef @.str.7, i32 noundef 1005, ptr noundef %26855, ptr noundef %26858, ptr noundef %26861, i32 noundef %26863) #10
  br label %26865

26865:                                            ; preds = %26848, %26831
  call void @llvm.lifetime.end.p0(i64 4, ptr %618) #10
  br label %26866

26866:                                            ; preds = %26865
  br label %26867

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

26868:                                            ; No predecessors!
  br label %26869

26869:                                            ; preds = %26868
  br label %26870

26870:                                            ; preds = %26869, %26808
  br label %26871

26871:                                            ; preds = %26870
  br label %26872

26872:                                            ; preds = %26871
  call void @llvm.lifetime.start.p0(i64 8, ptr %619) #10
  %26873 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %26873, ptr %619, align 8, !tbaa !9
  br label %26874

26874:                                            ; preds = %26872
  %26875 = load i32, ptr @test_count, align 4, !tbaa !5
  %26876 = add nsw i32 %26875, 1
  store i32 %26876, ptr @test_count, align 4, !tbaa !5
  %26877 = load ptr, ptr %619, align 8, !tbaa !9
  %26878 = icmp eq ptr %26877, null
  br i1 %26878, label %26879, label %26932

26879:                                            ; preds = %26874
  br label %26880

26880:                                            ; preds = %26879
  br label %26881

26881:                                            ; preds = %26880
  call void @llvm.lifetime.start.p0(i64 4, ptr %620) #10
  %26882 = call ptr @__errno_location() #11
  %26883 = load i32, ptr %26882, align 4, !tbaa !5
  store i32 %26883, ptr %620, align 4, !tbaa !5
  %26884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26885 = call i32 @s2n_print_stacktrace(ptr noundef %26884)
  %26886 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26887 = trunc i8 %26886 to i1
  br i1 %26887, label %26888, label %26910

26888:                                            ; preds = %26881
  %26889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26890 = call i32 @fileno(ptr noundef %26889) #10
  %26891 = call i32 @isatty(i32 noundef %26890) #10
  %26892 = icmp ne i32 %26891, 0
  br i1 %26892, label %26893, label %26910

26893:                                            ; preds = %26888
  %26894 = load i32, ptr %620, align 4, !tbaa !5
  %26895 = call ptr @__errno_location() #11
  store i32 %26894, ptr %26895, align 4, !tbaa !5
  %26896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26897 = load i32, ptr @test_count, align 4, !tbaa !5
  %26898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26899 = load i32, ptr %26898, align 4, !tbaa !5
  %26900 = call ptr @s2n_strerror(i32 noundef %26899, ptr noundef @.str.10)
  %26901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26902 = load i32, ptr %26901, align 4, !tbaa !5
  %26903 = call ptr @s2n_strerror_debug(i32 noundef %26902, ptr noundef @.str.10)
  %26904 = call ptr @__errno_location() #11
  %26905 = load i32, ptr %26904, align 4, !tbaa !5
  %26906 = call ptr @strerror(i32 noundef %26905) #10
  %26907 = call ptr @__errno_location() #11
  %26908 = load i32, ptr %26907, align 4, !tbaa !5
  %26909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26896, ptr noundef @.str.8, i32 noundef %26897, ptr noundef @.str.75, ptr noundef @.str.7, i32 noundef 1009, ptr noundef %26900, ptr noundef %26903, ptr noundef %26906, i32 noundef %26908) #10
  br label %26927

26910:                                            ; preds = %26888, %26881
  %26911 = load i32, ptr %620, align 4, !tbaa !5
  %26912 = call ptr @__errno_location() #11
  store i32 %26911, ptr %26912, align 4, !tbaa !5
  %26913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26914 = load i32, ptr @test_count, align 4, !tbaa !5
  %26915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26916 = load i32, ptr %26915, align 4, !tbaa !5
  %26917 = call ptr @s2n_strerror(i32 noundef %26916, ptr noundef @.str.10)
  %26918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26919 = load i32, ptr %26918, align 4, !tbaa !5
  %26920 = call ptr @s2n_strerror_debug(i32 noundef %26919, ptr noundef @.str.10)
  %26921 = call ptr @__errno_location() #11
  %26922 = load i32, ptr %26921, align 4, !tbaa !5
  %26923 = call ptr @strerror(i32 noundef %26922) #10
  %26924 = call ptr @__errno_location() #11
  %26925 = load i32, ptr %26924, align 4, !tbaa !5
  %26926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26913, ptr noundef @.str.11, i32 noundef %26914, ptr noundef @.str.75, ptr noundef @.str.7, i32 noundef 1009, ptr noundef %26917, ptr noundef %26920, ptr noundef %26923, i32 noundef %26925) #10
  br label %26927

26927:                                            ; preds = %26910, %26893
  call void @llvm.lifetime.end.p0(i64 4, ptr %620) #10
  br label %26928

26928:                                            ; preds = %26927
  br label %26929

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

26930:                                            ; No predecessors!
  br label %26931

26931:                                            ; preds = %26930
  br label %26932

26932:                                            ; preds = %26931, %26874
  br label %26933

26933:                                            ; preds = %26932
  br label %26934

26934:                                            ; preds = %26933
  %26935 = load ptr, ptr %619, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %26935, i32 noundef 0)
  %26936 = load ptr, ptr %619, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %26936, i32 noundef 1)
  br label %26937

26937:                                            ; preds = %26934
  %26938 = load i32, ptr @test_count, align 4, !tbaa !5
  %26939 = add nsw i32 %26938, 1
  store i32 %26939, ptr @test_count, align 4, !tbaa !5
  %26940 = load ptr, ptr %619, align 8, !tbaa !9
  %26941 = call i32 @s2n_skip_handshake(ptr noundef %26940)
  %26942 = getelementptr inbounds %struct.s2n_result, ptr %621, i32 0, i32 0
  store i32 %26941, ptr %26942, align 4
  %26943 = getelementptr inbounds %struct.s2n_result, ptr %621, i32 0, i32 0
  %26944 = load i32, ptr %26943, align 4
  %26945 = call zeroext i1 @s2n_result_is_ok(i32 %26944)
  br i1 %26945, label %26999, label %26946

26946:                                            ; preds = %26937
  br label %26947

26947:                                            ; preds = %26946
  br label %26948

26948:                                            ; preds = %26947
  call void @llvm.lifetime.start.p0(i64 4, ptr %622) #10
  %26949 = call ptr @__errno_location() #11
  %26950 = load i32, ptr %26949, align 4, !tbaa !5
  store i32 %26950, ptr %622, align 4, !tbaa !5
  %26951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26952 = call i32 @s2n_print_stacktrace(ptr noundef %26951)
  %26953 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26954 = trunc i8 %26953 to i1
  br i1 %26954, label %26955, label %26977

26955:                                            ; preds = %26948
  %26956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26957 = call i32 @fileno(ptr noundef %26956) #10
  %26958 = call i32 @isatty(i32 noundef %26957) #10
  %26959 = icmp ne i32 %26958, 0
  br i1 %26959, label %26960, label %26977

26960:                                            ; preds = %26955
  %26961 = load i32, ptr %622, align 4, !tbaa !5
  %26962 = call ptr @__errno_location() #11
  store i32 %26961, ptr %26962, align 4, !tbaa !5
  %26963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26964 = load i32, ptr @test_count, align 4, !tbaa !5
  %26965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26966 = load i32, ptr %26965, align 4, !tbaa !5
  %26967 = call ptr @s2n_strerror(i32 noundef %26966, ptr noundef @.str.10)
  %26968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26969 = load i32, ptr %26968, align 4, !tbaa !5
  %26970 = call ptr @s2n_strerror_debug(i32 noundef %26969, ptr noundef @.str.10)
  %26971 = call ptr @__errno_location() #11
  %26972 = load i32, ptr %26971, align 4, !tbaa !5
  %26973 = call ptr @strerror(i32 noundef %26972) #10
  %26974 = call ptr @__errno_location() #11
  %26975 = load i32, ptr %26974, align 4, !tbaa !5
  %26976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26963, ptr noundef @.str.8, i32 noundef %26964, ptr noundef @.str.128, ptr noundef @.str.7, i32 noundef 1012, ptr noundef %26967, ptr noundef %26970, ptr noundef %26973, i32 noundef %26975) #10
  br label %26994

26977:                                            ; preds = %26955, %26948
  %26978 = load i32, ptr %622, align 4, !tbaa !5
  %26979 = call ptr @__errno_location() #11
  store i32 %26978, ptr %26979, align 4, !tbaa !5
  %26980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26981 = load i32, ptr @test_count, align 4, !tbaa !5
  %26982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26983 = load i32, ptr %26982, align 4, !tbaa !5
  %26984 = call ptr @s2n_strerror(i32 noundef %26983, ptr noundef @.str.10)
  %26985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26986 = load i32, ptr %26985, align 4, !tbaa !5
  %26987 = call ptr @s2n_strerror_debug(i32 noundef %26986, ptr noundef @.str.10)
  %26988 = call ptr @__errno_location() #11
  %26989 = load i32, ptr %26988, align 4, !tbaa !5
  %26990 = call ptr @strerror(i32 noundef %26989) #10
  %26991 = call ptr @__errno_location() #11
  %26992 = load i32, ptr %26991, align 4, !tbaa !5
  %26993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26980, ptr noundef @.str.11, i32 noundef %26981, ptr noundef @.str.128, ptr noundef @.str.7, i32 noundef 1012, ptr noundef %26984, ptr noundef %26987, ptr noundef %26990, i32 noundef %26992) #10
  br label %26994

26994:                                            ; preds = %26977, %26960
  call void @llvm.lifetime.end.p0(i64 4, ptr %622) #10
  br label %26995

26995:                                            ; preds = %26994
  br label %26996

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

26997:                                            ; No predecessors!
  br label %26998

26998:                                            ; preds = %26997
  br label %26999

26999:                                            ; preds = %26998, %26937
  br label %27000

27000:                                            ; preds = %26999
  br label %27001

27001:                                            ; preds = %27000
  call void @llvm.lifetime.start.p0(i64 192, ptr %623) #10
  call void @llvm.memset.p0.i64(ptr align 8 %623, i8 0, i64 192, i1 false)
  br label %27002

27002:                                            ; preds = %27001
  %27003 = load i32, ptr @test_count, align 4, !tbaa !5
  %27004 = add nsw i32 %27003, 1
  store i32 %27004, ptr @test_count, align 4, !tbaa !5
  %27005 = load ptr, ptr %619, align 8, !tbaa !9
  %27006 = load ptr, ptr %615, align 8, !tbaa !9
  %27007 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %27005, ptr noundef %27006, ptr noundef %623)
  %27008 = getelementptr inbounds %struct.s2n_result, ptr %624, i32 0, i32 0
  store i32 %27007, ptr %27008, align 4
  %27009 = getelementptr inbounds %struct.s2n_result, ptr %624, i32 0, i32 0
  %27010 = load i32, ptr %27009, align 4
  %27011 = call zeroext i1 @s2n_result_is_ok(i32 %27010)
  br i1 %27011, label %27065, label %27012

27012:                                            ; preds = %27002
  br label %27013

27013:                                            ; preds = %27012
  br label %27014

27014:                                            ; preds = %27013
  call void @llvm.lifetime.start.p0(i64 4, ptr %625) #10
  %27015 = call ptr @__errno_location() #11
  %27016 = load i32, ptr %27015, align 4, !tbaa !5
  store i32 %27016, ptr %625, align 4, !tbaa !5
  %27017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27018 = call i32 @s2n_print_stacktrace(ptr noundef %27017)
  %27019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27020 = trunc i8 %27019 to i1
  br i1 %27020, label %27021, label %27043

27021:                                            ; preds = %27014
  %27022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27023 = call i32 @fileno(ptr noundef %27022) #10
  %27024 = call i32 @isatty(i32 noundef %27023) #10
  %27025 = icmp ne i32 %27024, 0
  br i1 %27025, label %27026, label %27043

27026:                                            ; preds = %27021
  %27027 = load i32, ptr %625, align 4, !tbaa !5
  %27028 = call ptr @__errno_location() #11
  store i32 %27027, ptr %27028, align 4, !tbaa !5
  %27029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27030 = load i32, ptr @test_count, align 4, !tbaa !5
  %27031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27032 = load i32, ptr %27031, align 4, !tbaa !5
  %27033 = call ptr @s2n_strerror(i32 noundef %27032, ptr noundef @.str.10)
  %27034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27035 = load i32, ptr %27034, align 4, !tbaa !5
  %27036 = call ptr @s2n_strerror_debug(i32 noundef %27035, ptr noundef @.str.10)
  %27037 = call ptr @__errno_location() #11
  %27038 = load i32, ptr %27037, align 4, !tbaa !5
  %27039 = call ptr @strerror(i32 noundef %27038) #10
  %27040 = call ptr @__errno_location() #11
  %27041 = load i32, ptr %27040, align 4, !tbaa !5
  %27042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27029, ptr noundef @.str.8, i32 noundef %27030, ptr noundef @.str.129, ptr noundef @.str.7, i32 noundef 1016, ptr noundef %27033, ptr noundef %27036, ptr noundef %27039, i32 noundef %27041) #10
  br label %27060

27043:                                            ; preds = %27021, %27014
  %27044 = load i32, ptr %625, align 4, !tbaa !5
  %27045 = call ptr @__errno_location() #11
  store i32 %27044, ptr %27045, align 4, !tbaa !5
  %27046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27047 = load i32, ptr @test_count, align 4, !tbaa !5
  %27048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27049 = load i32, ptr %27048, align 4, !tbaa !5
  %27050 = call ptr @s2n_strerror(i32 noundef %27049, ptr noundef @.str.10)
  %27051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27052 = load i32, ptr %27051, align 4, !tbaa !5
  %27053 = call ptr @s2n_strerror_debug(i32 noundef %27052, ptr noundef @.str.10)
  %27054 = call ptr @__errno_location() #11
  %27055 = load i32, ptr %27054, align 4, !tbaa !5
  %27056 = call ptr @strerror(i32 noundef %27055) #10
  %27057 = call ptr @__errno_location() #11
  %27058 = load i32, ptr %27057, align 4, !tbaa !5
  %27059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27046, ptr noundef @.str.11, i32 noundef %27047, ptr noundef @.str.129, ptr noundef @.str.7, i32 noundef 1016, ptr noundef %27050, ptr noundef %27053, ptr noundef %27056, i32 noundef %27058) #10
  br label %27060

27060:                                            ; preds = %27043, %27026
  call void @llvm.lifetime.end.p0(i64 4, ptr %625) #10
  br label %27061

27061:                                            ; preds = %27060
  br label %27062

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

27063:                                            ; No predecessors!
  br label %27064

27064:                                            ; preds = %27063
  br label %27065

27065:                                            ; preds = %27064, %27002
  br label %27066

27066:                                            ; preds = %27065
  br label %27067

27067:                                            ; preds = %27066
  call void @llvm.lifetime.start.p0(i64 12, ptr %626) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %626, ptr align 1 @__const.main.app_data, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %627) #10
  store i64 12, ptr %627, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 4, ptr %628) #10
  store i32 0, ptr %628, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %629) #10
  store i64 5, ptr %629, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 8, ptr %630) #10
  store i64 0, ptr %630, align 8, !tbaa !45
  br label %27068

27068:                                            ; preds = %27202, %27067
  %27069 = load i64, ptr %630, align 8, !tbaa !45
  %27070 = load i64, ptr %629, align 8, !tbaa !45
  %27071 = icmp ult i64 %27069, %27070
  br i1 %27071, label %27073, label %27072

27072:                                            ; preds = %27068
  call void @llvm.lifetime.end.p0(i64 8, ptr %630) #10
  br label %27205

27073:                                            ; preds = %27068
  br label %27074

27074:                                            ; preds = %27073
  %27075 = load i32, ptr @test_count, align 4, !tbaa !5
  %27076 = add nsw i32 %27075, 1
  store i32 %27076, ptr @test_count, align 4, !tbaa !5
  %27077 = load ptr, ptr %615, align 8, !tbaa !9
  %27078 = getelementptr inbounds [12 x i8], ptr %626, i64 0, i64 0
  %27079 = load i64, ptr %627, align 8, !tbaa !45
  %27080 = call i64 @s2n_send(ptr noundef %27077, ptr noundef %27078, i64 noundef %27079, ptr noundef %628)
  %27081 = icmp eq i64 %27080, -1
  br i1 %27081, label %27082, label %27135

27082:                                            ; preds = %27074
  br label %27083

27083:                                            ; preds = %27082
  br label %27084

27084:                                            ; preds = %27083
  call void @llvm.lifetime.start.p0(i64 4, ptr %631) #10
  %27085 = call ptr @__errno_location() #11
  %27086 = load i32, ptr %27085, align 4, !tbaa !5
  store i32 %27086, ptr %631, align 4, !tbaa !5
  %27087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27088 = call i32 @s2n_print_stacktrace(ptr noundef %27087)
  %27089 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27090 = trunc i8 %27089 to i1
  br i1 %27090, label %27091, label %27113

27091:                                            ; preds = %27084
  %27092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27093 = call i32 @fileno(ptr noundef %27092) #10
  %27094 = call i32 @isatty(i32 noundef %27093) #10
  %27095 = icmp ne i32 %27094, 0
  br i1 %27095, label %27096, label %27113

27096:                                            ; preds = %27091
  %27097 = load i32, ptr %631, align 4, !tbaa !5
  %27098 = call ptr @__errno_location() #11
  store i32 %27097, ptr %27098, align 4, !tbaa !5
  %27099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27100 = load i32, ptr @test_count, align 4, !tbaa !5
  %27101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27102 = load i32, ptr %27101, align 4, !tbaa !5
  %27103 = call ptr @s2n_strerror(i32 noundef %27102, ptr noundef @.str.10)
  %27104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27105 = load i32, ptr %27104, align 4, !tbaa !5
  %27106 = call ptr @s2n_strerror_debug(i32 noundef %27105, ptr noundef @.str.10)
  %27107 = call ptr @__errno_location() #11
  %27108 = load i32, ptr %27107, align 4, !tbaa !5
  %27109 = call ptr @strerror(i32 noundef %27108) #10
  %27110 = call ptr @__errno_location() #11
  %27111 = load i32, ptr %27110, align 4, !tbaa !5
  %27112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27099, ptr noundef @.str.8, i32 noundef %27100, ptr noundef @.str.142, ptr noundef @.str.7, i32 noundef 1024, ptr noundef %27103, ptr noundef %27106, ptr noundef %27109, i32 noundef %27111) #10
  br label %27130

27113:                                            ; preds = %27091, %27084
  %27114 = load i32, ptr %631, align 4, !tbaa !5
  %27115 = call ptr @__errno_location() #11
  store i32 %27114, ptr %27115, align 4, !tbaa !5
  %27116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27117 = load i32, ptr @test_count, align 4, !tbaa !5
  %27118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27119 = load i32, ptr %27118, align 4, !tbaa !5
  %27120 = call ptr @s2n_strerror(i32 noundef %27119, ptr noundef @.str.10)
  %27121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27122 = load i32, ptr %27121, align 4, !tbaa !5
  %27123 = call ptr @s2n_strerror_debug(i32 noundef %27122, ptr noundef @.str.10)
  %27124 = call ptr @__errno_location() #11
  %27125 = load i32, ptr %27124, align 4, !tbaa !5
  %27126 = call ptr @strerror(i32 noundef %27125) #10
  %27127 = call ptr @__errno_location() #11
  %27128 = load i32, ptr %27127, align 4, !tbaa !5
  %27129 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27116, ptr noundef @.str.11, i32 noundef %27117, ptr noundef @.str.142, ptr noundef @.str.7, i32 noundef 1024, ptr noundef %27120, ptr noundef %27123, ptr noundef %27126, i32 noundef %27128) #10
  br label %27130

27130:                                            ; preds = %27113, %27096
  call void @llvm.lifetime.end.p0(i64 4, ptr %631) #10
  br label %27131

27131:                                            ; preds = %27130
  br label %27132

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

27133:                                            ; No predecessors!
  br label %27134

27134:                                            ; preds = %27133
  br label %27135

27135:                                            ; preds = %27134, %27074
  br label %27136

27136:                                            ; preds = %27135
  br label %27137

27137:                                            ; preds = %27136
  br label %27138

27138:                                            ; preds = %27137
  %27139 = load i32, ptr @test_count, align 4, !tbaa !5
  %27140 = add nsw i32 %27139, 1
  store i32 %27140, ptr @test_count, align 4, !tbaa !5
  %27141 = load ptr, ptr %619, align 8, !tbaa !9
  %27142 = getelementptr inbounds [12 x i8], ptr %626, i64 0, i64 0
  %27143 = load i64, ptr %627, align 8, !tbaa !45
  %27144 = call i64 @s2n_send(ptr noundef %27141, ptr noundef %27142, i64 noundef %27143, ptr noundef %628)
  %27145 = icmp eq i64 %27144, -1
  br i1 %27145, label %27146, label %27199

27146:                                            ; preds = %27138
  br label %27147

27147:                                            ; preds = %27146
  br label %27148

27148:                                            ; preds = %27147
  call void @llvm.lifetime.start.p0(i64 4, ptr %632) #10
  %27149 = call ptr @__errno_location() #11
  %27150 = load i32, ptr %27149, align 4, !tbaa !5
  store i32 %27150, ptr %632, align 4, !tbaa !5
  %27151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27152 = call i32 @s2n_print_stacktrace(ptr noundef %27151)
  %27153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27154 = trunc i8 %27153 to i1
  br i1 %27154, label %27155, label %27177

27155:                                            ; preds = %27148
  %27156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27157 = call i32 @fileno(ptr noundef %27156) #10
  %27158 = call i32 @isatty(i32 noundef %27157) #10
  %27159 = icmp ne i32 %27158, 0
  br i1 %27159, label %27160, label %27177

27160:                                            ; preds = %27155
  %27161 = load i32, ptr %632, align 4, !tbaa !5
  %27162 = call ptr @__errno_location() #11
  store i32 %27161, ptr %27162, align 4, !tbaa !5
  %27163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27164 = load i32, ptr @test_count, align 4, !tbaa !5
  %27165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27166 = load i32, ptr %27165, align 4, !tbaa !5
  %27167 = call ptr @s2n_strerror(i32 noundef %27166, ptr noundef @.str.10)
  %27168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27169 = load i32, ptr %27168, align 4, !tbaa !5
  %27170 = call ptr @s2n_strerror_debug(i32 noundef %27169, ptr noundef @.str.10)
  %27171 = call ptr @__errno_location() #11
  %27172 = load i32, ptr %27171, align 4, !tbaa !5
  %27173 = call ptr @strerror(i32 noundef %27172) #10
  %27174 = call ptr @__errno_location() #11
  %27175 = load i32, ptr %27174, align 4, !tbaa !5
  %27176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27163, ptr noundef @.str.8, i32 noundef %27164, ptr noundef @.str.143, ptr noundef @.str.7, i32 noundef 1025, ptr noundef %27167, ptr noundef %27170, ptr noundef %27173, i32 noundef %27175) #10
  br label %27194

27177:                                            ; preds = %27155, %27148
  %27178 = load i32, ptr %632, align 4, !tbaa !5
  %27179 = call ptr @__errno_location() #11
  store i32 %27178, ptr %27179, align 4, !tbaa !5
  %27180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27181 = load i32, ptr @test_count, align 4, !tbaa !5
  %27182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27183 = load i32, ptr %27182, align 4, !tbaa !5
  %27184 = call ptr @s2n_strerror(i32 noundef %27183, ptr noundef @.str.10)
  %27185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27186 = load i32, ptr %27185, align 4, !tbaa !5
  %27187 = call ptr @s2n_strerror_debug(i32 noundef %27186, ptr noundef @.str.10)
  %27188 = call ptr @__errno_location() #11
  %27189 = load i32, ptr %27188, align 4, !tbaa !5
  %27190 = call ptr @strerror(i32 noundef %27189) #10
  %27191 = call ptr @__errno_location() #11
  %27192 = load i32, ptr %27191, align 4, !tbaa !5
  %27193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27180, ptr noundef @.str.11, i32 noundef %27181, ptr noundef @.str.143, ptr noundef @.str.7, i32 noundef 1025, ptr noundef %27184, ptr noundef %27187, ptr noundef %27190, i32 noundef %27192) #10
  br label %27194

27194:                                            ; preds = %27177, %27160
  call void @llvm.lifetime.end.p0(i64 4, ptr %632) #10
  br label %27195

27195:                                            ; preds = %27194
  br label %27196

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

27197:                                            ; No predecessors!
  br label %27198

27198:                                            ; preds = %27197
  br label %27199

27199:                                            ; preds = %27198, %27138
  br label %27200

27200:                                            ; preds = %27199
  br label %27201

27201:                                            ; preds = %27200
  br label %27202

27202:                                            ; preds = %27201
  %27203 = load i64, ptr %630, align 8, !tbaa !45
  %27204 = add i64 %27203, 1
  store i64 %27204, ptr %630, align 8, !tbaa !45
  br label %27068, !llvm.loop !62

27205:                                            ; preds = %27072
  br label %27206

27206:                                            ; preds = %27205
  %27207 = load i32, ptr @test_count, align 4, !tbaa !5
  %27208 = add nsw i32 %27207, 1
  store i32 %27208, ptr @test_count, align 4, !tbaa !5
  %27209 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %623, i32 0, i32 0
  %27210 = load i64, ptr %627, align 8, !tbaa !45
  %27211 = trunc i64 %27210 to i16
  %27212 = call i32 @s2n_test_validate_ancillary(ptr noundef %27209, i8 noundef zeroext 23, i16 noundef zeroext %27211)
  %27213 = getelementptr inbounds %struct.s2n_result, ptr %633, i32 0, i32 0
  store i32 %27212, ptr %27213, align 4
  %27214 = getelementptr inbounds %struct.s2n_result, ptr %633, i32 0, i32 0
  %27215 = load i32, ptr %27214, align 4
  %27216 = call zeroext i1 @s2n_result_is_ok(i32 %27215)
  br i1 %27216, label %27270, label %27217

27217:                                            ; preds = %27206
  br label %27218

27218:                                            ; preds = %27217
  br label %27219

27219:                                            ; preds = %27218
  call void @llvm.lifetime.start.p0(i64 4, ptr %634) #10
  %27220 = call ptr @__errno_location() #11
  %27221 = load i32, ptr %27220, align 4, !tbaa !5
  store i32 %27221, ptr %634, align 4, !tbaa !5
  %27222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27223 = call i32 @s2n_print_stacktrace(ptr noundef %27222)
  %27224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27225 = trunc i8 %27224 to i1
  br i1 %27225, label %27226, label %27248

27226:                                            ; preds = %27219
  %27227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27228 = call i32 @fileno(ptr noundef %27227) #10
  %27229 = call i32 @isatty(i32 noundef %27228) #10
  %27230 = icmp ne i32 %27229, 0
  br i1 %27230, label %27231, label %27248

27231:                                            ; preds = %27226
  %27232 = load i32, ptr %634, align 4, !tbaa !5
  %27233 = call ptr @__errno_location() #11
  store i32 %27232, ptr %27233, align 4, !tbaa !5
  %27234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27235 = load i32, ptr @test_count, align 4, !tbaa !5
  %27236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27237 = load i32, ptr %27236, align 4, !tbaa !5
  %27238 = call ptr @s2n_strerror(i32 noundef %27237, ptr noundef @.str.10)
  %27239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27240 = load i32, ptr %27239, align 4, !tbaa !5
  %27241 = call ptr @s2n_strerror_debug(i32 noundef %27240, ptr noundef @.str.10)
  %27242 = call ptr @__errno_location() #11
  %27243 = load i32, ptr %27242, align 4, !tbaa !5
  %27244 = call ptr @strerror(i32 noundef %27243) #10
  %27245 = call ptr @__errno_location() #11
  %27246 = load i32, ptr %27245, align 4, !tbaa !5
  %27247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27234, ptr noundef @.str.8, i32 noundef %27235, ptr noundef @.str.144, ptr noundef @.str.7, i32 noundef 1027, ptr noundef %27238, ptr noundef %27241, ptr noundef %27244, i32 noundef %27246) #10
  br label %27265

27248:                                            ; preds = %27226, %27219
  %27249 = load i32, ptr %634, align 4, !tbaa !5
  %27250 = call ptr @__errno_location() #11
  store i32 %27249, ptr %27250, align 4, !tbaa !5
  %27251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27252 = load i32, ptr @test_count, align 4, !tbaa !5
  %27253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27254 = load i32, ptr %27253, align 4, !tbaa !5
  %27255 = call ptr @s2n_strerror(i32 noundef %27254, ptr noundef @.str.10)
  %27256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27257 = load i32, ptr %27256, align 4, !tbaa !5
  %27258 = call ptr @s2n_strerror_debug(i32 noundef %27257, ptr noundef @.str.10)
  %27259 = call ptr @__errno_location() #11
  %27260 = load i32, ptr %27259, align 4, !tbaa !5
  %27261 = call ptr @strerror(i32 noundef %27260) #10
  %27262 = call ptr @__errno_location() #11
  %27263 = load i32, ptr %27262, align 4, !tbaa !5
  %27264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27251, ptr noundef @.str.11, i32 noundef %27252, ptr noundef @.str.144, ptr noundef @.str.7, i32 noundef 1027, ptr noundef %27255, ptr noundef %27258, ptr noundef %27261, i32 noundef %27263) #10
  br label %27265

27265:                                            ; preds = %27248, %27231
  call void @llvm.lifetime.end.p0(i64 4, ptr %634) #10
  br label %27266

27266:                                            ; preds = %27265
  br label %27267

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

27268:                                            ; No predecessors!
  br label %27269

27269:                                            ; preds = %27268
  br label %27270

27270:                                            ; preds = %27269, %27206
  br label %27271

27271:                                            ; preds = %27270
  br label %27272

27272:                                            ; preds = %27271
  br label %27273

27273:                                            ; preds = %27272
  %27274 = load i32, ptr @test_count, align 4, !tbaa !5
  %27275 = add nsw i32 %27274, 1
  store i32 %27275, ptr @test_count, align 4, !tbaa !5
  %27276 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %623, i32 0, i32 1
  %27277 = load i64, ptr %627, align 8, !tbaa !45
  %27278 = trunc i64 %27277 to i16
  %27279 = call i32 @s2n_test_validate_ancillary(ptr noundef %27276, i8 noundef zeroext 23, i16 noundef zeroext %27278)
  %27280 = getelementptr inbounds %struct.s2n_result, ptr %635, i32 0, i32 0
  store i32 %27279, ptr %27280, align 4
  %27281 = getelementptr inbounds %struct.s2n_result, ptr %635, i32 0, i32 0
  %27282 = load i32, ptr %27281, align 4
  %27283 = call zeroext i1 @s2n_result_is_ok(i32 %27282)
  br i1 %27283, label %27337, label %27284

27284:                                            ; preds = %27273
  br label %27285

27285:                                            ; preds = %27284
  br label %27286

27286:                                            ; preds = %27285
  call void @llvm.lifetime.start.p0(i64 4, ptr %636) #10
  %27287 = call ptr @__errno_location() #11
  %27288 = load i32, ptr %27287, align 4, !tbaa !5
  store i32 %27288, ptr %636, align 4, !tbaa !5
  %27289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27290 = call i32 @s2n_print_stacktrace(ptr noundef %27289)
  %27291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27292 = trunc i8 %27291 to i1
  br i1 %27292, label %27293, label %27315

27293:                                            ; preds = %27286
  %27294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27295 = call i32 @fileno(ptr noundef %27294) #10
  %27296 = call i32 @isatty(i32 noundef %27295) #10
  %27297 = icmp ne i32 %27296, 0
  br i1 %27297, label %27298, label %27315

27298:                                            ; preds = %27293
  %27299 = load i32, ptr %636, align 4, !tbaa !5
  %27300 = call ptr @__errno_location() #11
  store i32 %27299, ptr %27300, align 4, !tbaa !5
  %27301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27302 = load i32, ptr @test_count, align 4, !tbaa !5
  %27303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27304 = load i32, ptr %27303, align 4, !tbaa !5
  %27305 = call ptr @s2n_strerror(i32 noundef %27304, ptr noundef @.str.10)
  %27306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27307 = load i32, ptr %27306, align 4, !tbaa !5
  %27308 = call ptr @s2n_strerror_debug(i32 noundef %27307, ptr noundef @.str.10)
  %27309 = call ptr @__errno_location() #11
  %27310 = load i32, ptr %27309, align 4, !tbaa !5
  %27311 = call ptr @strerror(i32 noundef %27310) #10
  %27312 = call ptr @__errno_location() #11
  %27313 = load i32, ptr %27312, align 4, !tbaa !5
  %27314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27301, ptr noundef @.str.8, i32 noundef %27302, ptr noundef @.str.145, ptr noundef @.str.7, i32 noundef 1028, ptr noundef %27305, ptr noundef %27308, ptr noundef %27311, i32 noundef %27313) #10
  br label %27332

27315:                                            ; preds = %27293, %27286
  %27316 = load i32, ptr %636, align 4, !tbaa !5
  %27317 = call ptr @__errno_location() #11
  store i32 %27316, ptr %27317, align 4, !tbaa !5
  %27318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27319 = load i32, ptr @test_count, align 4, !tbaa !5
  %27320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27321 = load i32, ptr %27320, align 4, !tbaa !5
  %27322 = call ptr @s2n_strerror(i32 noundef %27321, ptr noundef @.str.10)
  %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_debug(i32 noundef %27324, ptr noundef @.str.10)
  %27326 = call ptr @__errno_location() #11
  %27327 = load i32, ptr %27326, align 4, !tbaa !5
  %27328 = call ptr @strerror(i32 noundef %27327) #10
  %27329 = call ptr @__errno_location() #11
  %27330 = load i32, ptr %27329, align 4, !tbaa !5
  %27331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27318, ptr noundef @.str.11, i32 noundef %27319, ptr noundef @.str.145, ptr noundef @.str.7, i32 noundef 1028, ptr noundef %27322, ptr noundef %27325, ptr noundef %27328, i32 noundef %27330) #10
  br label %27332

27332:                                            ; preds = %27315, %27298
  call void @llvm.lifetime.end.p0(i64 4, ptr %636) #10
  br label %27333

27333:                                            ; preds = %27332
  br label %27334

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

27335:                                            ; No predecessors!
  br label %27336

27336:                                            ; preds = %27335
  br label %27337

27337:                                            ; preds = %27336, %27273
  br label %27338

27338:                                            ; preds = %27337
  br label %27339

27339:                                            ; preds = %27338
  br label %27340

27340:                                            ; preds = %27339
  %27341 = load i32, ptr @test_count, align 4, !tbaa !5
  %27342 = add nsw i32 %27341, 1
  store i32 %27342, ptr @test_count, align 4, !tbaa !5
  %27343 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %623, i32 0, i32 0
  %27344 = load i64, ptr %629, align 8, !tbaa !45
  %27345 = trunc i64 %27344 to i16
  %27346 = call i32 @s2n_test_records_in_ancillary(ptr noundef %27343, i16 noundef zeroext %27345)
  %27347 = getelementptr inbounds %struct.s2n_result, ptr %637, i32 0, i32 0
  store i32 %27346, ptr %27347, align 4
  %27348 = getelementptr inbounds %struct.s2n_result, ptr %637, i32 0, i32 0
  %27349 = load i32, ptr %27348, align 4
  %27350 = call zeroext i1 @s2n_result_is_ok(i32 %27349)
  br i1 %27350, label %27404, label %27351

27351:                                            ; preds = %27340
  br label %27352

27352:                                            ; preds = %27351
  br label %27353

27353:                                            ; preds = %27352
  call void @llvm.lifetime.start.p0(i64 4, ptr %638) #10
  %27354 = call ptr @__errno_location() #11
  %27355 = load i32, ptr %27354, align 4, !tbaa !5
  store i32 %27355, ptr %638, align 4, !tbaa !5
  %27356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27357 = call i32 @s2n_print_stacktrace(ptr noundef %27356)
  %27358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27359 = trunc i8 %27358 to i1
  br i1 %27359, label %27360, label %27382

27360:                                            ; preds = %27353
  %27361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27362 = call i32 @fileno(ptr noundef %27361) #10
  %27363 = call i32 @isatty(i32 noundef %27362) #10
  %27364 = icmp ne i32 %27363, 0
  br i1 %27364, label %27365, label %27382

27365:                                            ; preds = %27360
  %27366 = load i32, ptr %638, align 4, !tbaa !5
  %27367 = call ptr @__errno_location() #11
  store i32 %27366, ptr %27367, align 4, !tbaa !5
  %27368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27369 = load i32, ptr @test_count, align 4, !tbaa !5
  %27370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27371 = load i32, ptr %27370, align 4, !tbaa !5
  %27372 = call ptr @s2n_strerror(i32 noundef %27371, ptr noundef @.str.10)
  %27373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27374 = load i32, ptr %27373, align 4, !tbaa !5
  %27375 = call ptr @s2n_strerror_debug(i32 noundef %27374, ptr noundef @.str.10)
  %27376 = call ptr @__errno_location() #11
  %27377 = load i32, ptr %27376, align 4, !tbaa !5
  %27378 = call ptr @strerror(i32 noundef %27377) #10
  %27379 = call ptr @__errno_location() #11
  %27380 = load i32, ptr %27379, align 4, !tbaa !5
  %27381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27368, ptr noundef @.str.8, i32 noundef %27369, ptr noundef @.str.146, ptr noundef @.str.7, i32 noundef 1029, ptr noundef %27372, ptr noundef %27375, ptr noundef %27378, i32 noundef %27380) #10
  br label %27399

27382:                                            ; preds = %27360, %27353
  %27383 = load i32, ptr %638, align 4, !tbaa !5
  %27384 = call ptr @__errno_location() #11
  store i32 %27383, ptr %27384, align 4, !tbaa !5
  %27385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27386 = load i32, ptr @test_count, align 4, !tbaa !5
  %27387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27388 = load i32, ptr %27387, align 4, !tbaa !5
  %27389 = call ptr @s2n_strerror(i32 noundef %27388, ptr noundef @.str.10)
  %27390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27391 = load i32, ptr %27390, align 4, !tbaa !5
  %27392 = call ptr @s2n_strerror_debug(i32 noundef %27391, ptr noundef @.str.10)
  %27393 = call ptr @__errno_location() #11
  %27394 = load i32, ptr %27393, align 4, !tbaa !5
  %27395 = call ptr @strerror(i32 noundef %27394) #10
  %27396 = call ptr @__errno_location() #11
  %27397 = load i32, ptr %27396, align 4, !tbaa !5
  %27398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27385, ptr noundef @.str.11, i32 noundef %27386, ptr noundef @.str.146, ptr noundef @.str.7, i32 noundef 1029, ptr noundef %27389, ptr noundef %27392, ptr noundef %27395, i32 noundef %27397) #10
  br label %27399

27399:                                            ; preds = %27382, %27365
  call void @llvm.lifetime.end.p0(i64 4, ptr %638) #10
  br label %27400

27400:                                            ; preds = %27399
  br label %27401

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

27402:                                            ; No predecessors!
  br label %27403

27403:                                            ; preds = %27402
  br label %27404

27404:                                            ; preds = %27403, %27340
  br label %27405

27405:                                            ; preds = %27404
  br label %27406

27406:                                            ; preds = %27405
  br label %27407

27407:                                            ; preds = %27406
  %27408 = load i32, ptr @test_count, align 4, !tbaa !5
  %27409 = add nsw i32 %27408, 1
  store i32 %27409, ptr @test_count, align 4, !tbaa !5
  %27410 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %623, i32 0, i32 1
  %27411 = load i64, ptr %629, align 8, !tbaa !45
  %27412 = trunc i64 %27411 to i16
  %27413 = call i32 @s2n_test_records_in_ancillary(ptr noundef %27410, i16 noundef zeroext %27412)
  %27414 = getelementptr inbounds %struct.s2n_result, ptr %639, i32 0, i32 0
  store i32 %27413, ptr %27414, align 4
  %27415 = getelementptr inbounds %struct.s2n_result, ptr %639, i32 0, i32 0
  %27416 = load i32, ptr %27415, align 4
  %27417 = call zeroext i1 @s2n_result_is_ok(i32 %27416)
  br i1 %27417, label %27471, label %27418

27418:                                            ; preds = %27407
  br label %27419

27419:                                            ; preds = %27418
  br label %27420

27420:                                            ; preds = %27419
  call void @llvm.lifetime.start.p0(i64 4, ptr %640) #10
  %27421 = call ptr @__errno_location() #11
  %27422 = load i32, ptr %27421, align 4, !tbaa !5
  store i32 %27422, ptr %640, align 4, !tbaa !5
  %27423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27424 = call i32 @s2n_print_stacktrace(ptr noundef %27423)
  %27425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27426 = trunc i8 %27425 to i1
  br i1 %27426, label %27427, label %27449

27427:                                            ; preds = %27420
  %27428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27429 = call i32 @fileno(ptr noundef %27428) #10
  %27430 = call i32 @isatty(i32 noundef %27429) #10
  %27431 = icmp ne i32 %27430, 0
  br i1 %27431, label %27432, label %27449

27432:                                            ; preds = %27427
  %27433 = load i32, ptr %640, align 4, !tbaa !5
  %27434 = call ptr @__errno_location() #11
  store i32 %27433, ptr %27434, align 4, !tbaa !5
  %27435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27436 = load i32, ptr @test_count, align 4, !tbaa !5
  %27437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27438 = load i32, ptr %27437, align 4, !tbaa !5
  %27439 = call ptr @s2n_strerror(i32 noundef %27438, ptr noundef @.str.10)
  %27440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27441 = load i32, ptr %27440, align 4, !tbaa !5
  %27442 = call ptr @s2n_strerror_debug(i32 noundef %27441, ptr noundef @.str.10)
  %27443 = call ptr @__errno_location() #11
  %27444 = load i32, ptr %27443, align 4, !tbaa !5
  %27445 = call ptr @strerror(i32 noundef %27444) #10
  %27446 = call ptr @__errno_location() #11
  %27447 = load i32, ptr %27446, align 4, !tbaa !5
  %27448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27435, ptr noundef @.str.8, i32 noundef %27436, ptr noundef @.str.147, ptr noundef @.str.7, i32 noundef 1030, ptr noundef %27439, ptr noundef %27442, ptr noundef %27445, i32 noundef %27447) #10
  br label %27466

27449:                                            ; preds = %27427, %27420
  %27450 = load i32, ptr %640, align 4, !tbaa !5
  %27451 = call ptr @__errno_location() #11
  store i32 %27450, ptr %27451, align 4, !tbaa !5
  %27452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27453 = load i32, ptr @test_count, align 4, !tbaa !5
  %27454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27455 = load i32, ptr %27454, align 4, !tbaa !5
  %27456 = call ptr @s2n_strerror(i32 noundef %27455, ptr noundef @.str.10)
  %27457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27458 = load i32, ptr %27457, align 4, !tbaa !5
  %27459 = call ptr @s2n_strerror_debug(i32 noundef %27458, ptr noundef @.str.10)
  %27460 = call ptr @__errno_location() #11
  %27461 = load i32, ptr %27460, align 4, !tbaa !5
  %27462 = call ptr @strerror(i32 noundef %27461) #10
  %27463 = call ptr @__errno_location() #11
  %27464 = load i32, ptr %27463, align 4, !tbaa !5
  %27465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27452, ptr noundef @.str.11, i32 noundef %27453, ptr noundef @.str.147, ptr noundef @.str.7, i32 noundef 1030, ptr noundef %27456, ptr noundef %27459, ptr noundef %27462, i32 noundef %27464) #10
  br label %27466

27466:                                            ; preds = %27449, %27432
  call void @llvm.lifetime.end.p0(i64 4, ptr %640) #10
  br label %27467

27467:                                            ; preds = %27466
  br label %27468

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

27469:                                            ; No predecessors!
  br label %27470

27470:                                            ; preds = %27469
  br label %27471

27471:                                            ; preds = %27470, %27407
  br label %27472

27472:                                            ; preds = %27471
  br label %27473

27473:                                            ; preds = %27472
  br label %27474

27474:                                            ; preds = %27473
  br label %27475

27475:                                            ; preds = %27474
  br label %27476

27476:                                            ; preds = %27475
  %27477 = load i32, ptr @test_count, align 4, !tbaa !5
  %27478 = add nsw i32 %27477, 1
  store i32 %27478, ptr @test_count, align 4, !tbaa !5
  %27479 = load ptr, ptr %615, align 8, !tbaa !9
  %27480 = call i32 @s2n_shutdown(ptr noundef %27479, ptr noundef %628)
  %27481 = icmp eq i32 %27480, -1
  br i1 %27481, label %27535, label %27482

27482:                                            ; preds = %27476
  br label %27483

27483:                                            ; preds = %27482
  br label %27484

27484:                                            ; preds = %27483
  call void @llvm.lifetime.start.p0(i64 4, ptr %641) #10
  %27485 = call ptr @__errno_location() #11
  %27486 = load i32, ptr %27485, align 4, !tbaa !5
  store i32 %27486, ptr %641, align 4, !tbaa !5
  %27487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27488 = call i32 @s2n_print_stacktrace(ptr noundef %27487)
  %27489 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27490 = trunc i8 %27489 to i1
  br i1 %27490, label %27491, label %27513

27491:                                            ; preds = %27484
  %27492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27493 = call i32 @fileno(ptr noundef %27492) #10
  %27494 = call i32 @isatty(i32 noundef %27493) #10
  %27495 = icmp ne i32 %27494, 0
  br i1 %27495, label %27496, label %27513

27496:                                            ; preds = %27491
  %27497 = load i32, ptr %641, align 4, !tbaa !5
  %27498 = call ptr @__errno_location() #11
  store i32 %27497, ptr %27498, align 4, !tbaa !5
  %27499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27500 = load i32, ptr @test_count, align 4, !tbaa !5
  %27501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27502 = load i32, ptr %27501, align 4, !tbaa !5
  %27503 = call ptr @s2n_strerror(i32 noundef %27502, ptr noundef @.str.10)
  %27504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27505 = load i32, ptr %27504, align 4, !tbaa !5
  %27506 = call ptr @s2n_strerror_debug(i32 noundef %27505, ptr noundef @.str.10)
  %27507 = call ptr @__errno_location() #11
  %27508 = load i32, ptr %27507, align 4, !tbaa !5
  %27509 = call ptr @strerror(i32 noundef %27508) #10
  %27510 = call ptr @__errno_location() #11
  %27511 = load i32, ptr %27510, align 4, !tbaa !5
  %27512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27499, ptr noundef @.str.8, i32 noundef %27500, ptr noundef @.str.135, ptr noundef @.str.7, i32 noundef 1034, ptr noundef %27503, ptr noundef %27506, ptr noundef %27509, i32 noundef %27511) #10
  br label %27530

27513:                                            ; preds = %27491, %27484
  %27514 = load i32, ptr %641, align 4, !tbaa !5
  %27515 = call ptr @__errno_location() #11
  store i32 %27514, ptr %27515, align 4, !tbaa !5
  %27516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27517 = load i32, ptr @test_count, align 4, !tbaa !5
  %27518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27519 = load i32, ptr %27518, align 4, !tbaa !5
  %27520 = call ptr @s2n_strerror(i32 noundef %27519, ptr noundef @.str.10)
  %27521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27522 = load i32, ptr %27521, align 4, !tbaa !5
  %27523 = call ptr @s2n_strerror_debug(i32 noundef %27522, ptr noundef @.str.10)
  %27524 = call ptr @__errno_location() #11
  %27525 = load i32, ptr %27524, align 4, !tbaa !5
  %27526 = call ptr @strerror(i32 noundef %27525) #10
  %27527 = call ptr @__errno_location() #11
  %27528 = load i32, ptr %27527, align 4, !tbaa !5
  %27529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27516, ptr noundef @.str.11, i32 noundef %27517, ptr noundef @.str.135, ptr noundef @.str.7, i32 noundef 1034, ptr noundef %27520, ptr noundef %27523, ptr noundef %27526, i32 noundef %27528) #10
  br label %27530

27530:                                            ; preds = %27513, %27496
  call void @llvm.lifetime.end.p0(i64 4, ptr %641) #10
  br label %27531

27531:                                            ; preds = %27530
  br label %27532

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

27533:                                            ; No predecessors!
  br label %27534

27534:                                            ; preds = %27533
  br label %27535

27535:                                            ; preds = %27534, %27476
  br label %27536

27536:                                            ; preds = %27535
  br label %27537

27537:                                            ; preds = %27536
  br label %27538

27538:                                            ; preds = %27537
  %27539 = load i32, ptr @test_count, align 4, !tbaa !5
  %27540 = add nsw i32 %27539, 1
  store i32 %27540, ptr @test_count, align 4, !tbaa !5
  %27541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27542 = load i32, ptr %27541, align 4, !tbaa !5
  %27543 = icmp eq i32 %27542, 201326592
  br i1 %27543, label %27597, label %27544

27544:                                            ; preds = %27538
  br label %27545

27545:                                            ; preds = %27544
  br label %27546

27546:                                            ; preds = %27545
  call void @llvm.lifetime.start.p0(i64 4, ptr %642) #10
  %27547 = call ptr @__errno_location() #11
  %27548 = load i32, ptr %27547, align 4, !tbaa !5
  store i32 %27548, ptr %642, align 4, !tbaa !5
  %27549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27550 = call i32 @s2n_print_stacktrace(ptr noundef %27549)
  %27551 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27552 = trunc i8 %27551 to i1
  br i1 %27552, label %27553, label %27575

27553:                                            ; preds = %27546
  %27554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27555 = call i32 @fileno(ptr noundef %27554) #10
  %27556 = call i32 @isatty(i32 noundef %27555) #10
  %27557 = icmp ne i32 %27556, 0
  br i1 %27557, label %27558, label %27575

27558:                                            ; preds = %27553
  %27559 = load i32, ptr %642, align 4, !tbaa !5
  %27560 = call ptr @__errno_location() #11
  store i32 %27559, ptr %27560, align 4, !tbaa !5
  %27561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27562 = load i32, ptr @test_count, align 4, !tbaa !5
  %27563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27564 = load i32, ptr %27563, align 4, !tbaa !5
  %27565 = call ptr @s2n_strerror(i32 noundef %27564, ptr noundef @.str.10)
  %27566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27567 = load i32, ptr %27566, align 4, !tbaa !5
  %27568 = call ptr @s2n_strerror_debug(i32 noundef %27567, ptr noundef @.str.10)
  %27569 = call ptr @__errno_location() #11
  %27570 = load i32, ptr %27569, align 4, !tbaa !5
  %27571 = call ptr @strerror(i32 noundef %27570) #10
  %27572 = call ptr @__errno_location() #11
  %27573 = load i32, ptr %27572, align 4, !tbaa !5
  %27574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27561, ptr noundef @.str.8, i32 noundef %27562, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 1034, ptr noundef %27565, ptr noundef %27568, ptr noundef %27571, i32 noundef %27573) #10
  br label %27592

27575:                                            ; preds = %27553, %27546
  %27576 = load i32, ptr %642, align 4, !tbaa !5
  %27577 = call ptr @__errno_location() #11
  store i32 %27576, ptr %27577, align 4, !tbaa !5
  %27578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27579 = load i32, ptr @test_count, align 4, !tbaa !5
  %27580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27581 = load i32, ptr %27580, align 4, !tbaa !5
  %27582 = call ptr @s2n_strerror(i32 noundef %27581, ptr noundef @.str.10)
  %27583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27584 = load i32, ptr %27583, align 4, !tbaa !5
  %27585 = call ptr @s2n_strerror_debug(i32 noundef %27584, ptr noundef @.str.10)
  %27586 = call ptr @__errno_location() #11
  %27587 = load i32, ptr %27586, align 4, !tbaa !5
  %27588 = call ptr @strerror(i32 noundef %27587) #10
  %27589 = call ptr @__errno_location() #11
  %27590 = load i32, ptr %27589, align 4, !tbaa !5
  %27591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27578, ptr noundef @.str.11, i32 noundef %27579, ptr noundef @.str.43, ptr noundef @.str.7, i32 noundef 1034, ptr noundef %27582, ptr noundef %27585, ptr noundef %27588, i32 noundef %27590) #10
  br label %27592

27592:                                            ; preds = %27575, %27558
  call void @llvm.lifetime.end.p0(i64 4, ptr %642) #10
  br label %27593

27593:                                            ; preds = %27592
  br label %27594

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

27595:                                            ; No predecessors!
  br label %27596

27596:                                            ; preds = %27595
  br label %27597

27597:                                            ; preds = %27596, %27538
  br label %27598

27598:                                            ; preds = %27597
  br label %27599

27599:                                            ; preds = %27598
  br label %27600

27600:                                            ; preds = %27599
  %27601 = load i32, ptr @test_count, align 4, !tbaa !5
  %27602 = add nsw i32 %27601, 1
  store i32 %27602, ptr @test_count, align 4, !tbaa !5
  %27603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27604 = load i32, ptr %27603, align 4, !tbaa !5
  %27605 = call ptr @s2n_strerror_debug(i32 noundef %27604, ptr noundef @.str.10)
  %27606 = icmp eq ptr %27605, null
  br i1 %27606, label %27607, label %27660

27607:                                            ; preds = %27600
  br label %27608

27608:                                            ; preds = %27607
  br label %27609

27609:                                            ; preds = %27608
  call void @llvm.lifetime.start.p0(i64 4, ptr %643) #10
  %27610 = call ptr @__errno_location() #11
  %27611 = load i32, ptr %27610, align 4, !tbaa !5
  store i32 %27611, ptr %643, align 4, !tbaa !5
  %27612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27613 = call i32 @s2n_print_stacktrace(ptr noundef %27612)
  %27614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27615 = trunc i8 %27614 to i1
  br i1 %27615, label %27616, label %27638

27616:                                            ; preds = %27609
  %27617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27618 = call i32 @fileno(ptr noundef %27617) #10
  %27619 = call i32 @isatty(i32 noundef %27618) #10
  %27620 = icmp ne i32 %27619, 0
  br i1 %27620, label %27621, label %27638

27621:                                            ; preds = %27616
  %27622 = load i32, ptr %643, align 4, !tbaa !5
  %27623 = call ptr @__errno_location() #11
  store i32 %27622, ptr %27623, align 4, !tbaa !5
  %27624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27625 = load i32, ptr @test_count, align 4, !tbaa !5
  %27626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27627 = load i32, ptr %27626, align 4, !tbaa !5
  %27628 = call ptr @s2n_strerror(i32 noundef %27627, ptr noundef @.str.10)
  %27629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27630 = load i32, ptr %27629, align 4, !tbaa !5
  %27631 = call ptr @s2n_strerror_debug(i32 noundef %27630, ptr noundef @.str.10)
  %27632 = call ptr @__errno_location() #11
  %27633 = load i32, ptr %27632, align 4, !tbaa !5
  %27634 = call ptr @strerror(i32 noundef %27633) #10
  %27635 = call ptr @__errno_location() #11
  %27636 = load i32, ptr %27635, align 4, !tbaa !5
  %27637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27624, ptr noundef @.str.8, i32 noundef %27625, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 1034, ptr noundef %27628, ptr noundef %27631, ptr noundef %27634, i32 noundef %27636) #10
  br label %27655

27638:                                            ; preds = %27616, %27609
  %27639 = load i32, ptr %643, align 4, !tbaa !5
  %27640 = call ptr @__errno_location() #11
  store i32 %27639, ptr %27640, align 4, !tbaa !5
  %27641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27642 = load i32, ptr @test_count, align 4, !tbaa !5
  %27643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27644 = load i32, ptr %27643, align 4, !tbaa !5
  %27645 = call ptr @s2n_strerror(i32 noundef %27644, ptr noundef @.str.10)
  %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_debug(i32 noundef %27647, ptr noundef @.str.10)
  %27649 = call ptr @__errno_location() #11
  %27650 = load i32, ptr %27649, align 4, !tbaa !5
  %27651 = call ptr @strerror(i32 noundef %27650) #10
  %27652 = call ptr @__errno_location() #11
  %27653 = load i32, ptr %27652, align 4, !tbaa !5
  %27654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27641, ptr noundef @.str.11, i32 noundef %27642, ptr noundef @.str.44, ptr noundef @.str.7, i32 noundef 1034, ptr noundef %27645, ptr noundef %27648, ptr noundef %27651, i32 noundef %27653) #10
  br label %27655

27655:                                            ; preds = %27638, %27621
  call void @llvm.lifetime.end.p0(i64 4, ptr %643) #10
  br label %27656

27656:                                            ; preds = %27655
  br label %27657

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

27658:                                            ; No predecessors!
  br label %27659

27659:                                            ; preds = %27658
  br label %27660

27660:                                            ; preds = %27659, %27600
  br label %27661

27661:                                            ; preds = %27660
  br label %27662

27662:                                            ; preds = %27661
  br label %27663

27663:                                            ; preds = %27662
  br label %27664

27664:                                            ; preds = %27663
  br label %27665

27665:                                            ; preds = %27664
  %27666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %27666, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %27667 = call ptr @__errno_location() #11
  store i32 0, ptr %27667, align 4, !tbaa !5
  br label %27668

27668:                                            ; preds = %27665
  br label %27669

27669:                                            ; preds = %27668
  br label %27670

27670:                                            ; preds = %27669
  br label %27671

27671:                                            ; preds = %27670
  br label %27672

27672:                                            ; preds = %27671
  %27673 = load i32, ptr @test_count, align 4, !tbaa !5
  %27674 = add nsw i32 %27673, 1
  store i32 %27674, ptr @test_count, align 4, !tbaa !5
  %27675 = load i32, ptr %628, align 4, !tbaa !5
  %27676 = icmp eq i32 %27675, 1
  br i1 %27676, label %27730, label %27677

27677:                                            ; preds = %27672
  br label %27678

27678:                                            ; preds = %27677
  br label %27679

27679:                                            ; preds = %27678
  call void @llvm.lifetime.start.p0(i64 4, ptr %644) #10
  %27680 = call ptr @__errno_location() #11
  %27681 = load i32, ptr %27680, align 4, !tbaa !5
  store i32 %27681, ptr %644, align 4, !tbaa !5
  %27682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27683 = call i32 @s2n_print_stacktrace(ptr noundef %27682)
  %27684 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27685 = trunc i8 %27684 to i1
  br i1 %27685, label %27686, label %27708

27686:                                            ; preds = %27679
  %27687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27688 = call i32 @fileno(ptr noundef %27687) #10
  %27689 = call i32 @isatty(i32 noundef %27688) #10
  %27690 = icmp ne i32 %27689, 0
  br i1 %27690, label %27691, label %27708

27691:                                            ; preds = %27686
  %27692 = load i32, ptr %644, align 4, !tbaa !5
  %27693 = call ptr @__errno_location() #11
  store i32 %27692, ptr %27693, align 4, !tbaa !5
  %27694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27695 = load i32, ptr @test_count, align 4, !tbaa !5
  %27696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27697 = load i32, ptr %27696, align 4, !tbaa !5
  %27698 = call ptr @s2n_strerror(i32 noundef %27697, ptr noundef @.str.10)
  %27699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27700 = load i32, ptr %27699, align 4, !tbaa !5
  %27701 = call ptr @s2n_strerror_debug(i32 noundef %27700, ptr noundef @.str.10)
  %27702 = call ptr @__errno_location() #11
  %27703 = load i32, ptr %27702, align 4, !tbaa !5
  %27704 = call ptr @strerror(i32 noundef %27703) #10
  %27705 = call ptr @__errno_location() #11
  %27706 = load i32, ptr %27705, align 4, !tbaa !5
  %27707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27694, ptr noundef @.str.8, i32 noundef %27695, ptr noundef @.str.45, ptr noundef @.str.7, i32 noundef 1035, ptr noundef %27698, ptr noundef %27701, ptr noundef %27704, i32 noundef %27706) #10
  br label %27725

27708:                                            ; preds = %27686, %27679
  %27709 = load i32, ptr %644, align 4, !tbaa !5
  %27710 = call ptr @__errno_location() #11
  store i32 %27709, ptr %27710, align 4, !tbaa !5
  %27711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27712 = load i32, ptr @test_count, align 4, !tbaa !5
  %27713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27714 = load i32, ptr %27713, align 4, !tbaa !5
  %27715 = call ptr @s2n_strerror(i32 noundef %27714, ptr noundef @.str.10)
  %27716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27717 = load i32, ptr %27716, align 4, !tbaa !5
  %27718 = call ptr @s2n_strerror_debug(i32 noundef %27717, ptr noundef @.str.10)
  %27719 = call ptr @__errno_location() #11
  %27720 = load i32, ptr %27719, align 4, !tbaa !5
  %27721 = call ptr @strerror(i32 noundef %27720) #10
  %27722 = call ptr @__errno_location() #11
  %27723 = load i32, ptr %27722, align 4, !tbaa !5
  %27724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27711, ptr noundef @.str.11, i32 noundef %27712, ptr noundef @.str.45, ptr noundef @.str.7, i32 noundef 1035, ptr noundef %27715, ptr noundef %27718, ptr noundef %27721, i32 noundef %27723) #10
  br label %27725

27725:                                            ; preds = %27708, %27691
  call void @llvm.lifetime.end.p0(i64 4, ptr %644) #10
  br label %27726

27726:                                            ; preds = %27725
  br label %27727

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

27728:                                            ; No predecessors!
  br label %27729

27729:                                            ; preds = %27728
  br label %27730

27730:                                            ; preds = %27729, %27672
  br label %27731

27731:                                            ; preds = %27730
  br label %27732

27732:                                            ; preds = %27731
  br label %27733

27733:                                            ; preds = %27732
  %27734 = load i32, ptr @test_count, align 4, !tbaa !5
  %27735 = add nsw i32 %27734, 1
  store i32 %27735, ptr @test_count, align 4, !tbaa !5
  %27736 = load ptr, ptr %615, align 8, !tbaa !9
  %27737 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %27736, i32 noundef 0)
  br i1 %27737, label %27738, label %27791

27738:                                            ; preds = %27733
  br label %27739

27739:                                            ; preds = %27738
  br label %27740

27740:                                            ; preds = %27739
  call void @llvm.lifetime.start.p0(i64 4, ptr %645) #10
  %27741 = call ptr @__errno_location() #11
  %27742 = load i32, ptr %27741, align 4, !tbaa !5
  store i32 %27742, ptr %645, align 4, !tbaa !5
  %27743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27744 = call i32 @s2n_print_stacktrace(ptr noundef %27743)
  %27745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27746 = trunc i8 %27745 to i1
  br i1 %27746, label %27747, label %27769

27747:                                            ; preds = %27740
  %27748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27749 = call i32 @fileno(ptr noundef %27748) #10
  %27750 = call i32 @isatty(i32 noundef %27749) #10
  %27751 = icmp ne i32 %27750, 0
  br i1 %27751, label %27752, label %27769

27752:                                            ; preds = %27747
  %27753 = load i32, ptr %645, align 4, !tbaa !5
  %27754 = call ptr @__errno_location() #11
  store i32 %27753, ptr %27754, align 4, !tbaa !5
  %27755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27756 = load i32, ptr @test_count, align 4, !tbaa !5
  %27757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27758 = load i32, ptr %27757, align 4, !tbaa !5
  %27759 = call ptr @s2n_strerror(i32 noundef %27758, ptr noundef @.str.10)
  %27760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27761 = load i32, ptr %27760, align 4, !tbaa !5
  %27762 = call ptr @s2n_strerror_debug(i32 noundef %27761, ptr noundef @.str.10)
  %27763 = call ptr @__errno_location() #11
  %27764 = load i32, ptr %27763, align 4, !tbaa !5
  %27765 = call ptr @strerror(i32 noundef %27764) #10
  %27766 = call ptr @__errno_location() #11
  %27767 = load i32, ptr %27766, align 4, !tbaa !5
  %27768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27755, ptr noundef @.str.8, i32 noundef %27756, ptr noundef @.str.136, ptr noundef @.str.7, i32 noundef 1036, ptr noundef %27759, ptr noundef %27762, ptr noundef %27765, i32 noundef %27767) #10
  br label %27786

27769:                                            ; preds = %27747, %27740
  %27770 = load i32, ptr %645, align 4, !tbaa !5
  %27771 = call ptr @__errno_location() #11
  store i32 %27770, ptr %27771, align 4, !tbaa !5
  %27772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27773 = load i32, ptr @test_count, align 4, !tbaa !5
  %27774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27775 = load i32, ptr %27774, align 4, !tbaa !5
  %27776 = call ptr @s2n_strerror(i32 noundef %27775, ptr noundef @.str.10)
  %27777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27778 = load i32, ptr %27777, align 4, !tbaa !5
  %27779 = call ptr @s2n_strerror_debug(i32 noundef %27778, ptr noundef @.str.10)
  %27780 = call ptr @__errno_location() #11
  %27781 = load i32, ptr %27780, align 4, !tbaa !5
  %27782 = call ptr @strerror(i32 noundef %27781) #10
  %27783 = call ptr @__errno_location() #11
  %27784 = load i32, ptr %27783, align 4, !tbaa !5
  %27785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27772, ptr noundef @.str.11, i32 noundef %27773, ptr noundef @.str.136, ptr noundef @.str.7, i32 noundef 1036, ptr noundef %27776, ptr noundef %27779, ptr noundef %27782, i32 noundef %27784) #10
  br label %27786

27786:                                            ; preds = %27769, %27752
  call void @llvm.lifetime.end.p0(i64 4, ptr %645) #10
  br label %27787

27787:                                            ; preds = %27786
  br label %27788

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

27789:                                            ; No predecessors!
  br label %27790

27790:                                            ; preds = %27789
  br label %27791

27791:                                            ; preds = %27790, %27733
  br label %27792

27792:                                            ; preds = %27791
  br label %27793

27793:                                            ; preds = %27792
  br label %27794

27794:                                            ; preds = %27793
  %27795 = load i32, ptr @test_count, align 4, !tbaa !5
  %27796 = add nsw i32 %27795, 1
  store i32 %27796, ptr @test_count, align 4, !tbaa !5
  %27797 = load ptr, ptr %615, align 8, !tbaa !9
  %27798 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %27797, i32 noundef 1)
  br i1 %27798, label %27852, label %27799

27799:                                            ; preds = %27794
  br label %27800

27800:                                            ; preds = %27799
  br label %27801

27801:                                            ; preds = %27800
  call void @llvm.lifetime.start.p0(i64 4, ptr %646) #10
  %27802 = call ptr @__errno_location() #11
  %27803 = load i32, ptr %27802, align 4, !tbaa !5
  store i32 %27803, ptr %646, align 4, !tbaa !5
  %27804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27805 = call i32 @s2n_print_stacktrace(ptr noundef %27804)
  %27806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27807 = trunc i8 %27806 to i1
  br i1 %27807, label %27808, label %27830

27808:                                            ; preds = %27801
  %27809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27810 = call i32 @fileno(ptr noundef %27809) #10
  %27811 = call i32 @isatty(i32 noundef %27810) #10
  %27812 = icmp ne i32 %27811, 0
  br i1 %27812, label %27813, label %27830

27813:                                            ; preds = %27808
  %27814 = load i32, ptr %646, align 4, !tbaa !5
  %27815 = call ptr @__errno_location() #11
  store i32 %27814, ptr %27815, align 4, !tbaa !5
  %27816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27817 = load i32, ptr @test_count, align 4, !tbaa !5
  %27818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27819 = load i32, ptr %27818, align 4, !tbaa !5
  %27820 = call ptr @s2n_strerror(i32 noundef %27819, ptr noundef @.str.10)
  %27821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27822 = load i32, ptr %27821, align 4, !tbaa !5
  %27823 = call ptr @s2n_strerror_debug(i32 noundef %27822, ptr noundef @.str.10)
  %27824 = call ptr @__errno_location() #11
  %27825 = load i32, ptr %27824, align 4, !tbaa !5
  %27826 = call ptr @strerror(i32 noundef %27825) #10
  %27827 = call ptr @__errno_location() #11
  %27828 = load i32, ptr %27827, align 4, !tbaa !5
  %27829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27816, ptr noundef @.str.8, i32 noundef %27817, ptr noundef @.str.137, ptr noundef @.str.7, i32 noundef 1037, ptr noundef %27820, ptr noundef %27823, ptr noundef %27826, i32 noundef %27828) #10
  br label %27847

27830:                                            ; preds = %27808, %27801
  %27831 = load i32, ptr %646, align 4, !tbaa !5
  %27832 = call ptr @__errno_location() #11
  store i32 %27831, ptr %27832, align 4, !tbaa !5
  %27833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27834 = load i32, ptr @test_count, align 4, !tbaa !5
  %27835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27836 = load i32, ptr %27835, align 4, !tbaa !5
  %27837 = call ptr @s2n_strerror(i32 noundef %27836, ptr noundef @.str.10)
  %27838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27839 = load i32, ptr %27838, align 4, !tbaa !5
  %27840 = call ptr @s2n_strerror_debug(i32 noundef %27839, ptr noundef @.str.10)
  %27841 = call ptr @__errno_location() #11
  %27842 = load i32, ptr %27841, align 4, !tbaa !5
  %27843 = call ptr @strerror(i32 noundef %27842) #10
  %27844 = call ptr @__errno_location() #11
  %27845 = load i32, ptr %27844, align 4, !tbaa !5
  %27846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27833, ptr noundef @.str.11, i32 noundef %27834, ptr noundef @.str.137, ptr noundef @.str.7, i32 noundef 1037, ptr noundef %27837, ptr noundef %27840, ptr noundef %27843, i32 noundef %27845) #10
  br label %27847

27847:                                            ; preds = %27830, %27813
  call void @llvm.lifetime.end.p0(i64 4, ptr %646) #10
  br label %27848

27848:                                            ; preds = %27847
  br label %27849

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

27850:                                            ; No predecessors!
  br label %27851

27851:                                            ; preds = %27850
  br label %27852

27852:                                            ; preds = %27851, %27794
  br label %27853

27853:                                            ; preds = %27852
  br label %27854

27854:                                            ; preds = %27853
  br label %27855

27855:                                            ; preds = %27854
  %27856 = load i32, ptr @test_count, align 4, !tbaa !5
  %27857 = add nsw i32 %27856, 1
  store i32 %27857, ptr @test_count, align 4, !tbaa !5
  %27858 = load ptr, ptr %615, align 8, !tbaa !9
  %27859 = getelementptr inbounds %struct.s2n_connection, ptr %27858, i32 0, i32 49
  %27860 = load i8, ptr %27859, align 1, !tbaa !16, !range !13, !noundef !14
  %27861 = trunc i8 %27860 to i1
  br i1 %27861, label %27915, label %27862

27862:                                            ; preds = %27855
  br label %27863

27863:                                            ; preds = %27862
  br label %27864

27864:                                            ; preds = %27863
  call void @llvm.lifetime.start.p0(i64 4, ptr %647) #10
  %27865 = call ptr @__errno_location() #11
  %27866 = load i32, ptr %27865, align 4, !tbaa !5
  store i32 %27866, ptr %647, align 4, !tbaa !5
  %27867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27868 = call i32 @s2n_print_stacktrace(ptr noundef %27867)
  %27869 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27870 = trunc i8 %27869 to i1
  br i1 %27870, label %27871, label %27893

27871:                                            ; preds = %27864
  %27872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27873 = call i32 @fileno(ptr noundef %27872) #10
  %27874 = call i32 @isatty(i32 noundef %27873) #10
  %27875 = icmp ne i32 %27874, 0
  br i1 %27875, label %27876, label %27893

27876:                                            ; preds = %27871
  %27877 = load i32, ptr %647, align 4, !tbaa !5
  %27878 = call ptr @__errno_location() #11
  store i32 %27877, ptr %27878, align 4, !tbaa !5
  %27879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27880 = load i32, ptr @test_count, align 4, !tbaa !5
  %27881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27882 = load i32, ptr %27881, align 4, !tbaa !5
  %27883 = call ptr @s2n_strerror(i32 noundef %27882, ptr noundef @.str.10)
  %27884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27885 = load i32, ptr %27884, align 4, !tbaa !5
  %27886 = call ptr @s2n_strerror_debug(i32 noundef %27885, ptr noundef @.str.10)
  %27887 = call ptr @__errno_location() #11
  %27888 = load i32, ptr %27887, align 4, !tbaa !5
  %27889 = call ptr @strerror(i32 noundef %27888) #10
  %27890 = call ptr @__errno_location() #11
  %27891 = load i32, ptr %27890, align 4, !tbaa !5
  %27892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27879, ptr noundef @.str.8, i32 noundef %27880, ptr noundef @.str.130, ptr noundef @.str.7, i32 noundef 1038, ptr noundef %27883, ptr noundef %27886, ptr noundef %27889, i32 noundef %27891) #10
  br label %27910

27893:                                            ; preds = %27871, %27864
  %27894 = load i32, ptr %647, align 4, !tbaa !5
  %27895 = call ptr @__errno_location() #11
  store i32 %27894, ptr %27895, align 4, !tbaa !5
  %27896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27897 = load i32, ptr @test_count, align 4, !tbaa !5
  %27898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27899 = load i32, ptr %27898, align 4, !tbaa !5
  %27900 = call ptr @s2n_strerror(i32 noundef %27899, ptr noundef @.str.10)
  %27901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27902 = load i32, ptr %27901, align 4, !tbaa !5
  %27903 = call ptr @s2n_strerror_debug(i32 noundef %27902, ptr noundef @.str.10)
  %27904 = call ptr @__errno_location() #11
  %27905 = load i32, ptr %27904, align 4, !tbaa !5
  %27906 = call ptr @strerror(i32 noundef %27905) #10
  %27907 = call ptr @__errno_location() #11
  %27908 = load i32, ptr %27907, align 4, !tbaa !5
  %27909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27896, ptr noundef @.str.11, i32 noundef %27897, ptr noundef @.str.130, ptr noundef @.str.7, i32 noundef 1038, ptr noundef %27900, ptr noundef %27903, ptr noundef %27906, i32 noundef %27908) #10
  br label %27910

27910:                                            ; preds = %27893, %27876
  call void @llvm.lifetime.end.p0(i64 4, ptr %647) #10
  br label %27911

27911:                                            ; preds = %27910
  br label %27912

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

27913:                                            ; No predecessors!
  br label %27914

27914:                                            ; preds = %27913
  br label %27915

27915:                                            ; preds = %27914, %27855
  br label %27916

27916:                                            ; preds = %27915
  br label %27917

27917:                                            ; preds = %27916
  br label %27918

27918:                                            ; preds = %27917
  %27919 = load i32, ptr @test_count, align 4, !tbaa !5
  %27920 = add nsw i32 %27919, 1
  store i32 %27920, ptr @test_count, align 4, !tbaa !5
  %27921 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %623, i32 0, i32 0
  %27922 = call i32 @s2n_test_records_in_ancillary(ptr noundef %27921, i16 noundef zeroext 0)
  %27923 = getelementptr inbounds %struct.s2n_result, ptr %648, i32 0, i32 0
  store i32 %27922, ptr %27923, align 4
  %27924 = getelementptr inbounds %struct.s2n_result, ptr %648, i32 0, i32 0
  %27925 = load i32, ptr %27924, align 4
  %27926 = call zeroext i1 @s2n_result_is_ok(i32 %27925)
  br i1 %27926, label %27980, label %27927

27927:                                            ; preds = %27918
  br label %27928

27928:                                            ; preds = %27927
  br label %27929

27929:                                            ; preds = %27928
  call void @llvm.lifetime.start.p0(i64 4, ptr %649) #10
  %27930 = call ptr @__errno_location() #11
  %27931 = load i32, ptr %27930, align 4, !tbaa !5
  store i32 %27931, ptr %649, align 4, !tbaa !5
  %27932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27933 = call i32 @s2n_print_stacktrace(ptr noundef %27932)
  %27934 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27935 = trunc i8 %27934 to i1
  br i1 %27935, label %27936, label %27958

27936:                                            ; preds = %27929
  %27937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27938 = call i32 @fileno(ptr noundef %27937) #10
  %27939 = call i32 @isatty(i32 noundef %27938) #10
  %27940 = icmp ne i32 %27939, 0
  br i1 %27940, label %27941, label %27958

27941:                                            ; preds = %27936
  %27942 = load i32, ptr %649, align 4, !tbaa !5
  %27943 = call ptr @__errno_location() #11
  store i32 %27942, ptr %27943, align 4, !tbaa !5
  %27944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27945 = load i32, ptr @test_count, align 4, !tbaa !5
  %27946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27947 = load i32, ptr %27946, align 4, !tbaa !5
  %27948 = call ptr @s2n_strerror(i32 noundef %27947, ptr noundef @.str.10)
  %27949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27950 = load i32, ptr %27949, align 4, !tbaa !5
  %27951 = call ptr @s2n_strerror_debug(i32 noundef %27950, ptr noundef @.str.10)
  %27952 = call ptr @__errno_location() #11
  %27953 = load i32, ptr %27952, align 4, !tbaa !5
  %27954 = call ptr @strerror(i32 noundef %27953) #10
  %27955 = call ptr @__errno_location() #11
  %27956 = load i32, ptr %27955, align 4, !tbaa !5
  %27957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27944, ptr noundef @.str.8, i32 noundef %27945, ptr noundef @.str.148, ptr noundef @.str.7, i32 noundef 1039, ptr noundef %27948, ptr noundef %27951, ptr noundef %27954, i32 noundef %27956) #10
  br label %27975

27958:                                            ; preds = %27936, %27929
  %27959 = load i32, ptr %649, align 4, !tbaa !5
  %27960 = call ptr @__errno_location() #11
  store i32 %27959, ptr %27960, align 4, !tbaa !5
  %27961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27962 = load i32, ptr @test_count, align 4, !tbaa !5
  %27963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27964 = load i32, ptr %27963, align 4, !tbaa !5
  %27965 = call ptr @s2n_strerror(i32 noundef %27964, ptr noundef @.str.10)
  %27966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27967 = load i32, ptr %27966, align 4, !tbaa !5
  %27968 = call ptr @s2n_strerror_debug(i32 noundef %27967, ptr noundef @.str.10)
  %27969 = call ptr @__errno_location() #11
  %27970 = load i32, ptr %27969, align 4, !tbaa !5
  %27971 = call ptr @strerror(i32 noundef %27970) #10
  %27972 = call ptr @__errno_location() #11
  %27973 = load i32, ptr %27972, align 4, !tbaa !5
  %27974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27961, ptr noundef @.str.11, i32 noundef %27962, ptr noundef @.str.148, ptr noundef @.str.7, i32 noundef 1039, ptr noundef %27965, ptr noundef %27968, ptr noundef %27971, i32 noundef %27973) #10
  br label %27975

27975:                                            ; preds = %27958, %27941
  call void @llvm.lifetime.end.p0(i64 4, ptr %649) #10
  br label %27976

27976:                                            ; preds = %27975
  br label %27977

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

27978:                                            ; No predecessors!
  br label %27979

27979:                                            ; preds = %27978
  br label %27980

27980:                                            ; preds = %27979, %27918
  br label %27981

27981:                                            ; preds = %27980
  br label %27982

27982:                                            ; preds = %27981
  br label %27983

27983:                                            ; preds = %27982
  %27984 = load i32, ptr @test_count, align 4, !tbaa !5
  %27985 = add nsw i32 %27984, 1
  store i32 %27985, ptr @test_count, align 4, !tbaa !5
  %27986 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %623, i32 0, i32 1
  %27987 = load i64, ptr %629, align 8, !tbaa !45
  %27988 = add i64 %27987, 1
  %27989 = trunc i64 %27988 to i16
  %27990 = call i32 @s2n_test_records_in_ancillary(ptr noundef %27986, i16 noundef zeroext %27989)
  %27991 = getelementptr inbounds %struct.s2n_result, ptr %650, i32 0, i32 0
  store i32 %27990, ptr %27991, align 4
  %27992 = getelementptr inbounds %struct.s2n_result, ptr %650, i32 0, i32 0
  %27993 = load i32, ptr %27992, align 4
  %27994 = call zeroext i1 @s2n_result_is_ok(i32 %27993)
  br i1 %27994, label %28048, label %27995

27995:                                            ; preds = %27983
  br label %27996

27996:                                            ; preds = %27995
  br label %27997

27997:                                            ; preds = %27996
  call void @llvm.lifetime.start.p0(i64 4, ptr %651) #10
  %27998 = call ptr @__errno_location() #11
  %27999 = load i32, ptr %27998, align 4, !tbaa !5
  store i32 %27999, ptr %651, align 4, !tbaa !5
  %28000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28001 = call i32 @s2n_print_stacktrace(ptr noundef %28000)
  %28002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28003 = trunc i8 %28002 to i1
  br i1 %28003, label %28004, label %28026

28004:                                            ; preds = %27997
  %28005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28006 = call i32 @fileno(ptr noundef %28005) #10
  %28007 = call i32 @isatty(i32 noundef %28006) #10
  %28008 = icmp ne i32 %28007, 0
  br i1 %28008, label %28009, label %28026

28009:                                            ; preds = %28004
  %28010 = load i32, ptr %651, align 4, !tbaa !5
  %28011 = call ptr @__errno_location() #11
  store i32 %28010, ptr %28011, align 4, !tbaa !5
  %28012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28013 = load i32, ptr @test_count, align 4, !tbaa !5
  %28014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28015 = load i32, ptr %28014, align 4, !tbaa !5
  %28016 = call ptr @s2n_strerror(i32 noundef %28015, ptr noundef @.str.10)
  %28017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28018 = load i32, ptr %28017, align 4, !tbaa !5
  %28019 = call ptr @s2n_strerror_debug(i32 noundef %28018, ptr noundef @.str.10)
  %28020 = call ptr @__errno_location() #11
  %28021 = load i32, ptr %28020, align 4, !tbaa !5
  %28022 = call ptr @strerror(i32 noundef %28021) #10
  %28023 = call ptr @__errno_location() #11
  %28024 = load i32, ptr %28023, align 4, !tbaa !5
  %28025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28012, ptr noundef @.str.8, i32 noundef %28013, ptr noundef @.str.149, ptr noundef @.str.7, i32 noundef 1040, ptr noundef %28016, ptr noundef %28019, ptr noundef %28022, i32 noundef %28024) #10
  br label %28043

28026:                                            ; preds = %28004, %27997
  %28027 = load i32, ptr %651, align 4, !tbaa !5
  %28028 = call ptr @__errno_location() #11
  store i32 %28027, ptr %28028, align 4, !tbaa !5
  %28029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28030 = load i32, ptr @test_count, align 4, !tbaa !5
  %28031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28032 = load i32, ptr %28031, align 4, !tbaa !5
  %28033 = call ptr @s2n_strerror(i32 noundef %28032, ptr noundef @.str.10)
  %28034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28035 = load i32, ptr %28034, align 4, !tbaa !5
  %28036 = call ptr @s2n_strerror_debug(i32 noundef %28035, ptr noundef @.str.10)
  %28037 = call ptr @__errno_location() #11
  %28038 = load i32, ptr %28037, align 4, !tbaa !5
  %28039 = call ptr @strerror(i32 noundef %28038) #10
  %28040 = call ptr @__errno_location() #11
  %28041 = load i32, ptr %28040, align 4, !tbaa !5
  %28042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28029, ptr noundef @.str.11, i32 noundef %28030, ptr noundef @.str.149, ptr noundef @.str.7, i32 noundef 1040, ptr noundef %28033, ptr noundef %28036, ptr noundef %28039, i32 noundef %28041) #10
  br label %28043

28043:                                            ; preds = %28026, %28009
  call void @llvm.lifetime.end.p0(i64 4, ptr %651) #10
  br label %28044

28044:                                            ; preds = %28043
  br label %28045

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

28046:                                            ; No predecessors!
  br label %28047

28047:                                            ; preds = %28046
  br label %28048

28048:                                            ; preds = %28047, %27983
  br label %28049

28049:                                            ; preds = %28048
  br label %28050

28050:                                            ; preds = %28049
  br label %28051

28051:                                            ; preds = %28050
  %28052 = load i32, ptr @test_count, align 4, !tbaa !5
  %28053 = add nsw i32 %28052, 1
  store i32 %28053, ptr @test_count, align 4, !tbaa !5
  %28054 = load ptr, ptr %619, align 8, !tbaa !9
  %28055 = call i32 @s2n_shutdown(ptr noundef %28054, ptr noundef %628)
  %28056 = icmp eq i32 %28055, -1
  br i1 %28056, label %28057, label %28110

28057:                                            ; preds = %28051
  br label %28058

28058:                                            ; preds = %28057
  br label %28059

28059:                                            ; preds = %28058
  call void @llvm.lifetime.start.p0(i64 4, ptr %652) #10
  %28060 = call ptr @__errno_location() #11
  %28061 = load i32, ptr %28060, align 4, !tbaa !5
  store i32 %28061, ptr %652, align 4, !tbaa !5
  %28062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28063 = call i32 @s2n_print_stacktrace(ptr noundef %28062)
  %28064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28065 = trunc i8 %28064 to i1
  br i1 %28065, label %28066, label %28088

28066:                                            ; preds = %28059
  %28067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28068 = call i32 @fileno(ptr noundef %28067) #10
  %28069 = call i32 @isatty(i32 noundef %28068) #10
  %28070 = icmp ne i32 %28069, 0
  br i1 %28070, label %28071, label %28088

28071:                                            ; preds = %28066
  %28072 = load i32, ptr %652, align 4, !tbaa !5
  %28073 = call ptr @__errno_location() #11
  store i32 %28072, ptr %28073, align 4, !tbaa !5
  %28074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28075 = load i32, ptr @test_count, align 4, !tbaa !5
  %28076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28077 = load i32, ptr %28076, align 4, !tbaa !5
  %28078 = call ptr @s2n_strerror(i32 noundef %28077, ptr noundef @.str.10)
  %28079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28080 = load i32, ptr %28079, align 4, !tbaa !5
  %28081 = call ptr @s2n_strerror_debug(i32 noundef %28080, ptr noundef @.str.10)
  %28082 = call ptr @__errno_location() #11
  %28083 = load i32, ptr %28082, align 4, !tbaa !5
  %28084 = call ptr @strerror(i32 noundef %28083) #10
  %28085 = call ptr @__errno_location() #11
  %28086 = load i32, ptr %28085, align 4, !tbaa !5
  %28087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28074, ptr noundef @.str.8, i32 noundef %28075, ptr noundef @.str.83, ptr noundef @.str.7, i32 noundef 1044, ptr noundef %28078, ptr noundef %28081, ptr noundef %28084, i32 noundef %28086) #10
  br label %28105

28088:                                            ; preds = %28066, %28059
  %28089 = load i32, ptr %652, align 4, !tbaa !5
  %28090 = call ptr @__errno_location() #11
  store i32 %28089, ptr %28090, align 4, !tbaa !5
  %28091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28092 = load i32, ptr @test_count, align 4, !tbaa !5
  %28093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28094 = load i32, ptr %28093, align 4, !tbaa !5
  %28095 = call ptr @s2n_strerror(i32 noundef %28094, ptr noundef @.str.10)
  %28096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28097 = load i32, ptr %28096, align 4, !tbaa !5
  %28098 = call ptr @s2n_strerror_debug(i32 noundef %28097, ptr noundef @.str.10)
  %28099 = call ptr @__errno_location() #11
  %28100 = load i32, ptr %28099, align 4, !tbaa !5
  %28101 = call ptr @strerror(i32 noundef %28100) #10
  %28102 = call ptr @__errno_location() #11
  %28103 = load i32, ptr %28102, align 4, !tbaa !5
  %28104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28091, ptr noundef @.str.11, i32 noundef %28092, ptr noundef @.str.83, ptr noundef @.str.7, i32 noundef 1044, ptr noundef %28095, ptr noundef %28098, ptr noundef %28101, i32 noundef %28103) #10
  br label %28105

28105:                                            ; preds = %28088, %28071
  call void @llvm.lifetime.end.p0(i64 4, ptr %652) #10
  br label %28106

28106:                                            ; preds = %28105
  br label %28107

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

28108:                                            ; No predecessors!
  br label %28109

28109:                                            ; preds = %28108
  br label %28110

28110:                                            ; preds = %28109, %28051
  br label %28111

28111:                                            ; preds = %28110
  br label %28112

28112:                                            ; preds = %28111
  br label %28113

28113:                                            ; preds = %28112
  %28114 = load i32, ptr @test_count, align 4, !tbaa !5
  %28115 = add nsw i32 %28114, 1
  store i32 %28115, ptr @test_count, align 4, !tbaa !5
  %28116 = load i32, ptr %628, align 4, !tbaa !5
  %28117 = icmp eq i32 %28116, 0
  br i1 %28117, label %28171, label %28118

28118:                                            ; preds = %28113
  br label %28119

28119:                                            ; preds = %28118
  br label %28120

28120:                                            ; preds = %28119
  call void @llvm.lifetime.start.p0(i64 4, ptr %653) #10
  %28121 = call ptr @__errno_location() #11
  %28122 = load i32, ptr %28121, align 4, !tbaa !5
  store i32 %28122, ptr %653, align 4, !tbaa !5
  %28123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28124 = call i32 @s2n_print_stacktrace(ptr noundef %28123)
  %28125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28126 = trunc i8 %28125 to i1
  br i1 %28126, label %28127, label %28149

28127:                                            ; preds = %28120
  %28128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28129 = call i32 @fileno(ptr noundef %28128) #10
  %28130 = call i32 @isatty(i32 noundef %28129) #10
  %28131 = icmp ne i32 %28130, 0
  br i1 %28131, label %28132, label %28149

28132:                                            ; preds = %28127
  %28133 = load i32, ptr %653, align 4, !tbaa !5
  %28134 = call ptr @__errno_location() #11
  store i32 %28133, ptr %28134, align 4, !tbaa !5
  %28135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28136 = load i32, ptr @test_count, align 4, !tbaa !5
  %28137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28138 = load i32, ptr %28137, align 4, !tbaa !5
  %28139 = call ptr @s2n_strerror(i32 noundef %28138, ptr noundef @.str.10)
  %28140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28141 = load i32, ptr %28140, align 4, !tbaa !5
  %28142 = call ptr @s2n_strerror_debug(i32 noundef %28141, ptr noundef @.str.10)
  %28143 = call ptr @__errno_location() #11
  %28144 = load i32, ptr %28143, align 4, !tbaa !5
  %28145 = call ptr @strerror(i32 noundef %28144) #10
  %28146 = call ptr @__errno_location() #11
  %28147 = load i32, ptr %28146, align 4, !tbaa !5
  %28148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28135, ptr noundef @.str.8, i32 noundef %28136, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 1045, ptr noundef %28139, ptr noundef %28142, ptr noundef %28145, i32 noundef %28147) #10
  br label %28166

28149:                                            ; preds = %28127, %28120
  %28150 = load i32, ptr %653, align 4, !tbaa !5
  %28151 = call ptr @__errno_location() #11
  store i32 %28150, ptr %28151, align 4, !tbaa !5
  %28152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28153 = load i32, ptr @test_count, align 4, !tbaa !5
  %28154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28155 = load i32, ptr %28154, align 4, !tbaa !5
  %28156 = call ptr @s2n_strerror(i32 noundef %28155, ptr noundef @.str.10)
  %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_debug(i32 noundef %28158, ptr noundef @.str.10)
  %28160 = call ptr @__errno_location() #11
  %28161 = load i32, ptr %28160, align 4, !tbaa !5
  %28162 = call ptr @strerror(i32 noundef %28161) #10
  %28163 = call ptr @__errno_location() #11
  %28164 = load i32, ptr %28163, align 4, !tbaa !5
  %28165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28152, ptr noundef @.str.11, i32 noundef %28153, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 1045, ptr noundef %28156, ptr noundef %28159, ptr noundef %28162, i32 noundef %28164) #10
  br label %28166

28166:                                            ; preds = %28149, %28132
  call void @llvm.lifetime.end.p0(i64 4, ptr %653) #10
  br label %28167

28167:                                            ; preds = %28166
  br label %28168

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

28169:                                            ; No predecessors!
  br label %28170

28170:                                            ; preds = %28169
  br label %28171

28171:                                            ; preds = %28170, %28113
  br label %28172

28172:                                            ; preds = %28171
  br label %28173

28173:                                            ; preds = %28172
  br label %28174

28174:                                            ; preds = %28173
  %28175 = load i32, ptr @test_count, align 4, !tbaa !5
  %28176 = add nsw i32 %28175, 1
  store i32 %28176, ptr @test_count, align 4, !tbaa !5
  %28177 = load ptr, ptr %619, align 8, !tbaa !9
  %28178 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %28177, i32 noundef 3)
  br i1 %28178, label %28232, label %28179

28179:                                            ; preds = %28174
  br label %28180

28180:                                            ; preds = %28179
  br label %28181

28181:                                            ; preds = %28180
  call void @llvm.lifetime.start.p0(i64 4, ptr %654) #10
  %28182 = call ptr @__errno_location() #11
  %28183 = load i32, ptr %28182, align 4, !tbaa !5
  store i32 %28183, ptr %654, align 4, !tbaa !5
  %28184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28185 = call i32 @s2n_print_stacktrace(ptr noundef %28184)
  %28186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28187 = trunc i8 %28186 to i1
  br i1 %28187, label %28188, label %28210

28188:                                            ; preds = %28181
  %28189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28190 = call i32 @fileno(ptr noundef %28189) #10
  %28191 = call i32 @isatty(i32 noundef %28190) #10
  %28192 = icmp ne i32 %28191, 0
  br i1 %28192, label %28193, label %28210

28193:                                            ; preds = %28188
  %28194 = load i32, ptr %654, align 4, !tbaa !5
  %28195 = call ptr @__errno_location() #11
  store i32 %28194, ptr %28195, align 4, !tbaa !5
  %28196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28197 = load i32, ptr @test_count, align 4, !tbaa !5
  %28198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28199 = load i32, ptr %28198, align 4, !tbaa !5
  %28200 = call ptr @s2n_strerror(i32 noundef %28199, ptr noundef @.str.10)
  %28201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28202 = load i32, ptr %28201, align 4, !tbaa !5
  %28203 = call ptr @s2n_strerror_debug(i32 noundef %28202, ptr noundef @.str.10)
  %28204 = call ptr @__errno_location() #11
  %28205 = load i32, ptr %28204, align 4, !tbaa !5
  %28206 = call ptr @strerror(i32 noundef %28205) #10
  %28207 = call ptr @__errno_location() #11
  %28208 = load i32, ptr %28207, align 4, !tbaa !5
  %28209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28196, ptr noundef @.str.8, i32 noundef %28197, ptr noundef @.str.132, ptr noundef @.str.7, i32 noundef 1046, ptr noundef %28200, ptr noundef %28203, ptr noundef %28206, i32 noundef %28208) #10
  br label %28227

28210:                                            ; preds = %28188, %28181
  %28211 = load i32, ptr %654, align 4, !tbaa !5
  %28212 = call ptr @__errno_location() #11
  store i32 %28211, ptr %28212, align 4, !tbaa !5
  %28213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28214 = load i32, ptr @test_count, align 4, !tbaa !5
  %28215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28216 = load i32, ptr %28215, align 4, !tbaa !5
  %28217 = call ptr @s2n_strerror(i32 noundef %28216, ptr noundef @.str.10)
  %28218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28219 = load i32, ptr %28218, align 4, !tbaa !5
  %28220 = call ptr @s2n_strerror_debug(i32 noundef %28219, ptr noundef @.str.10)
  %28221 = call ptr @__errno_location() #11
  %28222 = load i32, ptr %28221, align 4, !tbaa !5
  %28223 = call ptr @strerror(i32 noundef %28222) #10
  %28224 = call ptr @__errno_location() #11
  %28225 = load i32, ptr %28224, align 4, !tbaa !5
  %28226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28213, ptr noundef @.str.11, i32 noundef %28214, ptr noundef @.str.132, ptr noundef @.str.7, i32 noundef 1046, ptr noundef %28217, ptr noundef %28220, ptr noundef %28223, i32 noundef %28225) #10
  br label %28227

28227:                                            ; preds = %28210, %28193
  call void @llvm.lifetime.end.p0(i64 4, ptr %654) #10
  br label %28228

28228:                                            ; preds = %28227
  br label %28229

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

28230:                                            ; No predecessors!
  br label %28231

28231:                                            ; preds = %28230
  br label %28232

28232:                                            ; preds = %28231, %28174
  br label %28233

28233:                                            ; preds = %28232
  br label %28234

28234:                                            ; preds = %28233
  br label %28235

28235:                                            ; preds = %28234
  %28236 = load i32, ptr @test_count, align 4, !tbaa !5
  %28237 = add nsw i32 %28236, 1
  store i32 %28237, ptr @test_count, align 4, !tbaa !5
  %28238 = load ptr, ptr %619, align 8, !tbaa !9
  %28239 = getelementptr inbounds %struct.s2n_connection, ptr %28238, i32 0, i32 49
  %28240 = load i8, ptr %28239, align 1, !tbaa !16, !range !13, !noundef !14
  %28241 = trunc i8 %28240 to i1
  br i1 %28241, label %28295, label %28242

28242:                                            ; preds = %28235
  br label %28243

28243:                                            ; preds = %28242
  br label %28244

28244:                                            ; preds = %28243
  call void @llvm.lifetime.start.p0(i64 4, ptr %655) #10
  %28245 = call ptr @__errno_location() #11
  %28246 = load i32, ptr %28245, align 4, !tbaa !5
  store i32 %28246, ptr %655, align 4, !tbaa !5
  %28247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28248 = call i32 @s2n_print_stacktrace(ptr noundef %28247)
  %28249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28250 = trunc i8 %28249 to i1
  br i1 %28250, label %28251, label %28273

28251:                                            ; preds = %28244
  %28252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28253 = call i32 @fileno(ptr noundef %28252) #10
  %28254 = call i32 @isatty(i32 noundef %28253) #10
  %28255 = icmp ne i32 %28254, 0
  br i1 %28255, label %28256, label %28273

28256:                                            ; preds = %28251
  %28257 = load i32, ptr %655, align 4, !tbaa !5
  %28258 = call ptr @__errno_location() #11
  store i32 %28257, ptr %28258, align 4, !tbaa !5
  %28259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28260 = load i32, 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 = call ptr @s2n_strerror(i32 noundef %28262, ptr noundef @.str.10)
  %28264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28265 = load i32, ptr %28264, align 4, !tbaa !5
  %28266 = call ptr @s2n_strerror_debug(i32 noundef %28265, ptr noundef @.str.10)
  %28267 = call ptr @__errno_location() #11
  %28268 = load i32, ptr %28267, align 4, !tbaa !5
  %28269 = call ptr @strerror(i32 noundef %28268) #10
  %28270 = call ptr @__errno_location() #11
  %28271 = load i32, ptr %28270, align 4, !tbaa !5
  %28272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28259, ptr noundef @.str.8, i32 noundef %28260, ptr noundef @.str.131, ptr noundef @.str.7, i32 noundef 1047, ptr noundef %28263, ptr noundef %28266, ptr noundef %28269, i32 noundef %28271) #10
  br label %28290

28273:                                            ; preds = %28251, %28244
  %28274 = load i32, ptr %655, align 4, !tbaa !5
  %28275 = call ptr @__errno_location() #11
  store i32 %28274, ptr %28275, align 4, !tbaa !5
  %28276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28277 = load i32, ptr @test_count, align 4, !tbaa !5
  %28278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28279 = load i32, ptr %28278, align 4, !tbaa !5
  %28280 = call ptr @s2n_strerror(i32 noundef %28279, ptr noundef @.str.10)
  %28281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28282 = load i32, ptr %28281, align 4, !tbaa !5
  %28283 = call ptr @s2n_strerror_debug(i32 noundef %28282, ptr noundef @.str.10)
  %28284 = call ptr @__errno_location() #11
  %28285 = load i32, ptr %28284, align 4, !tbaa !5
  %28286 = call ptr @strerror(i32 noundef %28285) #10
  %28287 = call ptr @__errno_location() #11
  %28288 = load i32, ptr %28287, align 4, !tbaa !5
  %28289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28276, ptr noundef @.str.11, i32 noundef %28277, ptr noundef @.str.131, ptr noundef @.str.7, i32 noundef 1047, ptr noundef %28280, ptr noundef %28283, ptr noundef %28286, i32 noundef %28288) #10
  br label %28290

28290:                                            ; preds = %28273, %28256
  call void @llvm.lifetime.end.p0(i64 4, ptr %655) #10
  br label %28291

28291:                                            ; preds = %28290
  br label %28292

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

28293:                                            ; No predecessors!
  br label %28294

28294:                                            ; preds = %28293
  br label %28295

28295:                                            ; preds = %28294, %28235
  br label %28296

28296:                                            ; preds = %28295
  br label %28297

28297:                                            ; preds = %28296
  br label %28298

28298:                                            ; preds = %28297
  %28299 = load i32, ptr @test_count, align 4, !tbaa !5
  %28300 = add nsw i32 %28299, 1
  store i32 %28300, ptr @test_count, align 4, !tbaa !5
  %28301 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %623, i32 0, i32 0
  %28302 = call i32 @s2n_test_records_in_ancillary(ptr noundef %28301, i16 noundef zeroext 1)
  %28303 = getelementptr inbounds %struct.s2n_result, ptr %656, i32 0, i32 0
  store i32 %28302, ptr %28303, align 4
  %28304 = getelementptr inbounds %struct.s2n_result, ptr %656, i32 0, i32 0
  %28305 = load i32, ptr %28304, align 4
  %28306 = call zeroext i1 @s2n_result_is_ok(i32 %28305)
  br i1 %28306, label %28360, label %28307

28307:                                            ; preds = %28298
  br label %28308

28308:                                            ; preds = %28307
  br label %28309

28309:                                            ; preds = %28308
  call void @llvm.lifetime.start.p0(i64 4, ptr %657) #10
  %28310 = call ptr @__errno_location() #11
  %28311 = load i32, ptr %28310, align 4, !tbaa !5
  store i32 %28311, ptr %657, align 4, !tbaa !5
  %28312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28313 = call i32 @s2n_print_stacktrace(ptr noundef %28312)
  %28314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28315 = trunc i8 %28314 to i1
  br i1 %28315, label %28316, label %28338

28316:                                            ; preds = %28309
  %28317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28318 = call i32 @fileno(ptr noundef %28317) #10
  %28319 = call i32 @isatty(i32 noundef %28318) #10
  %28320 = icmp ne i32 %28319, 0
  br i1 %28320, label %28321, label %28338

28321:                                            ; preds = %28316
  %28322 = load i32, ptr %657, align 4, !tbaa !5
  %28323 = call ptr @__errno_location() #11
  store i32 %28322, ptr %28323, align 4, !tbaa !5
  %28324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28325 = load i32, ptr @test_count, align 4, !tbaa !5
  %28326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28327 = load i32, ptr %28326, align 4, !tbaa !5
  %28328 = call ptr @s2n_strerror(i32 noundef %28327, ptr noundef @.str.10)
  %28329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28330 = load i32, ptr %28329, align 4, !tbaa !5
  %28331 = call ptr @s2n_strerror_debug(i32 noundef %28330, ptr noundef @.str.10)
  %28332 = call ptr @__errno_location() #11
  %28333 = load i32, ptr %28332, align 4, !tbaa !5
  %28334 = call ptr @strerror(i32 noundef %28333) #10
  %28335 = call ptr @__errno_location() #11
  %28336 = load i32, ptr %28335, align 4, !tbaa !5
  %28337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28324, ptr noundef @.str.8, i32 noundef %28325, ptr noundef @.str.150, ptr noundef @.str.7, i32 noundef 1048, ptr noundef %28328, ptr noundef %28331, ptr noundef %28334, i32 noundef %28336) #10
  br label %28355

28338:                                            ; preds = %28316, %28309
  %28339 = load i32, ptr %657, align 4, !tbaa !5
  %28340 = call ptr @__errno_location() #11
  store i32 %28339, ptr %28340, align 4, !tbaa !5
  %28341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28342 = load i32, ptr @test_count, align 4, !tbaa !5
  %28343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28344 = load i32, ptr %28343, align 4, !tbaa !5
  %28345 = call ptr @s2n_strerror(i32 noundef %28344, ptr noundef @.str.10)
  %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_debug(i32 noundef %28347, ptr noundef @.str.10)
  %28349 = call ptr @__errno_location() #11
  %28350 = load i32, ptr %28349, align 4, !tbaa !5
  %28351 = call ptr @strerror(i32 noundef %28350) #10
  %28352 = call ptr @__errno_location() #11
  %28353 = load i32, ptr %28352, align 4, !tbaa !5
  %28354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28341, ptr noundef @.str.11, i32 noundef %28342, ptr noundef @.str.150, ptr noundef @.str.7, i32 noundef 1048, ptr noundef %28345, ptr noundef %28348, ptr noundef %28351, i32 noundef %28353) #10
  br label %28355

28355:                                            ; preds = %28338, %28321
  call void @llvm.lifetime.end.p0(i64 4, ptr %657) #10
  br label %28356

28356:                                            ; preds = %28355
  br label %28357

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

28358:                                            ; No predecessors!
  br label %28359

28359:                                            ; preds = %28358
  br label %28360

28360:                                            ; preds = %28359, %28298
  br label %28361

28361:                                            ; preds = %28360
  br label %28362

28362:                                            ; preds = %28361
  br label %28363

28363:                                            ; preds = %28362
  %28364 = load i32, ptr @test_count, align 4, !tbaa !5
  %28365 = add nsw i32 %28364, 1
  store i32 %28365, ptr @test_count, align 4, !tbaa !5
  %28366 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %623, i32 0, i32 1
  %28367 = call i32 @s2n_test_records_in_ancillary(ptr noundef %28366, i16 noundef zeroext 0)
  %28368 = getelementptr inbounds %struct.s2n_result, ptr %658, i32 0, i32 0
  store i32 %28367, ptr %28368, align 4
  %28369 = getelementptr inbounds %struct.s2n_result, ptr %658, i32 0, i32 0
  %28370 = load i32, ptr %28369, align 4
  %28371 = call zeroext i1 @s2n_result_is_ok(i32 %28370)
  br i1 %28371, label %28425, label %28372

28372:                                            ; preds = %28363
  br label %28373

28373:                                            ; preds = %28372
  br label %28374

28374:                                            ; preds = %28373
  call void @llvm.lifetime.start.p0(i64 4, ptr %659) #10
  %28375 = call ptr @__errno_location() #11
  %28376 = load i32, ptr %28375, align 4, !tbaa !5
  store i32 %28376, ptr %659, align 4, !tbaa !5
  %28377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28378 = call i32 @s2n_print_stacktrace(ptr noundef %28377)
  %28379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28380 = trunc i8 %28379 to i1
  br i1 %28380, label %28381, label %28403

28381:                                            ; preds = %28374
  %28382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28383 = call i32 @fileno(ptr noundef %28382) #10
  %28384 = call i32 @isatty(i32 noundef %28383) #10
  %28385 = icmp ne i32 %28384, 0
  br i1 %28385, label %28386, label %28403

28386:                                            ; preds = %28381
  %28387 = load i32, ptr %659, align 4, !tbaa !5
  %28388 = call ptr @__errno_location() #11
  store i32 %28387, ptr %28388, align 4, !tbaa !5
  %28389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28390 = load i32, ptr @test_count, align 4, !tbaa !5
  %28391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28392 = load i32, ptr %28391, align 4, !tbaa !5
  %28393 = call ptr @s2n_strerror(i32 noundef %28392, ptr noundef @.str.10)
  %28394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28395 = load i32, ptr %28394, align 4, !tbaa !5
  %28396 = call ptr @s2n_strerror_debug(i32 noundef %28395, ptr noundef @.str.10)
  %28397 = call ptr @__errno_location() #11
  %28398 = load i32, ptr %28397, align 4, !tbaa !5
  %28399 = call ptr @strerror(i32 noundef %28398) #10
  %28400 = call ptr @__errno_location() #11
  %28401 = load i32, ptr %28400, align 4, !tbaa !5
  %28402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28389, ptr noundef @.str.8, i32 noundef %28390, ptr noundef @.str.151, ptr noundef @.str.7, i32 noundef 1049, ptr noundef %28393, ptr noundef %28396, ptr noundef %28399, i32 noundef %28401) #10
  br label %28420

28403:                                            ; preds = %28381, %28374
  %28404 = load i32, ptr %659, align 4, !tbaa !5
  %28405 = call ptr @__errno_location() #11
  store i32 %28404, ptr %28405, align 4, !tbaa !5
  %28406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28407 = load i32, ptr @test_count, align 4, !tbaa !5
  %28408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28409 = load i32, ptr %28408, align 4, !tbaa !5
  %28410 = call ptr @s2n_strerror(i32 noundef %28409, ptr noundef @.str.10)
  %28411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28412 = load i32, ptr %28411, align 4, !tbaa !5
  %28413 = call ptr @s2n_strerror_debug(i32 noundef %28412, ptr noundef @.str.10)
  %28414 = call ptr @__errno_location() #11
  %28415 = load i32, ptr %28414, align 4, !tbaa !5
  %28416 = call ptr @strerror(i32 noundef %28415) #10
  %28417 = call ptr @__errno_location() #11
  %28418 = load i32, ptr %28417, align 4, !tbaa !5
  %28419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28406, ptr noundef @.str.11, i32 noundef %28407, ptr noundef @.str.151, ptr noundef @.str.7, i32 noundef 1049, ptr noundef %28410, ptr noundef %28413, ptr noundef %28416, i32 noundef %28418) #10
  br label %28420

28420:                                            ; preds = %28403, %28386
  call void @llvm.lifetime.end.p0(i64 4, ptr %659) #10
  br label %28421

28421:                                            ; preds = %28420
  br label %28422

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

28423:                                            ; No predecessors!
  br label %28424

28424:                                            ; preds = %28423
  br label %28425

28425:                                            ; preds = %28424, %28363
  br label %28426

28426:                                            ; preds = %28425
  br label %28427

28427:                                            ; preds = %28426
  br label %28428

28428:                                            ; preds = %28427
  %28429 = load i32, ptr @test_count, align 4, !tbaa !5
  %28430 = add nsw i32 %28429, 1
  store i32 %28430, ptr @test_count, align 4, !tbaa !5
  %28431 = load ptr, ptr %615, align 8, !tbaa !9
  %28432 = call i32 @s2n_shutdown(ptr noundef %28431, ptr noundef %628)
  %28433 = icmp eq i32 %28432, -1
  br i1 %28433, label %28434, label %28487

28434:                                            ; preds = %28428
  br label %28435

28435:                                            ; preds = %28434
  br label %28436

28436:                                            ; preds = %28435
  call void @llvm.lifetime.start.p0(i64 4, ptr %660) #10
  %28437 = call ptr @__errno_location() #11
  %28438 = load i32, ptr %28437, align 4, !tbaa !5
  store i32 %28438, ptr %660, align 4, !tbaa !5
  %28439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28440 = call i32 @s2n_print_stacktrace(ptr noundef %28439)
  %28441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28442 = trunc i8 %28441 to i1
  br i1 %28442, label %28443, label %28465

28443:                                            ; preds = %28436
  %28444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28445 = call i32 @fileno(ptr noundef %28444) #10
  %28446 = call i32 @isatty(i32 noundef %28445) #10
  %28447 = icmp ne i32 %28446, 0
  br i1 %28447, label %28448, label %28465

28448:                                            ; preds = %28443
  %28449 = load i32, ptr %660, align 4, !tbaa !5
  %28450 = call ptr @__errno_location() #11
  store i32 %28449, ptr %28450, align 4, !tbaa !5
  %28451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28452 = load i32, ptr @test_count, align 4, !tbaa !5
  %28453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28454 = load i32, ptr %28453, align 4, !tbaa !5
  %28455 = call ptr @s2n_strerror(i32 noundef %28454, ptr noundef @.str.10)
  %28456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28457 = load i32, ptr %28456, align 4, !tbaa !5
  %28458 = call ptr @s2n_strerror_debug(i32 noundef %28457, ptr noundef @.str.10)
  %28459 = call ptr @__errno_location() #11
  %28460 = load i32, ptr %28459, align 4, !tbaa !5
  %28461 = call ptr @strerror(i32 noundef %28460) #10
  %28462 = call ptr @__errno_location() #11
  %28463 = load i32, ptr %28462, align 4, !tbaa !5
  %28464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28451, ptr noundef @.str.8, i32 noundef %28452, ptr noundef @.str.141, ptr noundef @.str.7, i32 noundef 1052, ptr noundef %28455, ptr noundef %28458, ptr noundef %28461, i32 noundef %28463) #10
  br label %28482

28465:                                            ; preds = %28443, %28436
  %28466 = load i32, ptr %660, align 4, !tbaa !5
  %28467 = call ptr @__errno_location() #11
  store i32 %28466, ptr %28467, align 4, !tbaa !5
  %28468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28469 = load i32, ptr @test_count, align 4, !tbaa !5
  %28470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28471 = load i32, ptr %28470, align 4, !tbaa !5
  %28472 = call ptr @s2n_strerror(i32 noundef %28471, ptr noundef @.str.10)
  %28473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28474 = load i32, ptr %28473, align 4, !tbaa !5
  %28475 = call ptr @s2n_strerror_debug(i32 noundef %28474, ptr noundef @.str.10)
  %28476 = call ptr @__errno_location() #11
  %28477 = load i32, ptr %28476, align 4, !tbaa !5
  %28478 = call ptr @strerror(i32 noundef %28477) #10
  %28479 = call ptr @__errno_location() #11
  %28480 = load i32, ptr %28479, align 4, !tbaa !5
  %28481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28468, ptr noundef @.str.11, i32 noundef %28469, ptr noundef @.str.141, ptr noundef @.str.7, i32 noundef 1052, ptr noundef %28472, ptr noundef %28475, ptr noundef %28478, i32 noundef %28480) #10
  br label %28482

28482:                                            ; preds = %28465, %28448
  call void @llvm.lifetime.end.p0(i64 4, ptr %660) #10
  br label %28483

28483:                                            ; preds = %28482
  br label %28484

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

28485:                                            ; No predecessors!
  br label %28486

28486:                                            ; preds = %28485
  br label %28487

28487:                                            ; preds = %28486, %28428
  br label %28488

28488:                                            ; preds = %28487
  br label %28489

28489:                                            ; preds = %28488
  br label %28490

28490:                                            ; preds = %28489
  %28491 = load i32, ptr @test_count, align 4, !tbaa !5
  %28492 = add nsw i32 %28491, 1
  store i32 %28492, ptr @test_count, align 4, !tbaa !5
  %28493 = load i32, ptr %628, align 4, !tbaa !5
  %28494 = icmp eq i32 %28493, 0
  br i1 %28494, label %28548, label %28495

28495:                                            ; preds = %28490
  br label %28496

28496:                                            ; preds = %28495
  br label %28497

28497:                                            ; preds = %28496
  call void @llvm.lifetime.start.p0(i64 4, ptr %661) #10
  %28498 = call ptr @__errno_location() #11
  %28499 = load i32, ptr %28498, align 4, !tbaa !5
  store i32 %28499, ptr %661, align 4, !tbaa !5
  %28500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28501 = call i32 @s2n_print_stacktrace(ptr noundef %28500)
  %28502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28503 = trunc i8 %28502 to i1
  br i1 %28503, label %28504, label %28526

28504:                                            ; preds = %28497
  %28505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28506 = call i32 @fileno(ptr noundef %28505) #10
  %28507 = call i32 @isatty(i32 noundef %28506) #10
  %28508 = icmp ne i32 %28507, 0
  br i1 %28508, label %28509, label %28526

28509:                                            ; preds = %28504
  %28510 = load i32, ptr %661, align 4, !tbaa !5
  %28511 = call ptr @__errno_location() #11
  store i32 %28510, ptr %28511, align 4, !tbaa !5
  %28512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28513 = load i32, ptr @test_count, align 4, !tbaa !5
  %28514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28515 = load i32, ptr %28514, align 4, !tbaa !5
  %28516 = call ptr @s2n_strerror(i32 noundef %28515, ptr noundef @.str.10)
  %28517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28518 = load i32, ptr %28517, align 4, !tbaa !5
  %28519 = call ptr @s2n_strerror_debug(i32 noundef %28518, ptr noundef @.str.10)
  %28520 = call ptr @__errno_location() #11
  %28521 = load i32, ptr %28520, align 4, !tbaa !5
  %28522 = call ptr @strerror(i32 noundef %28521) #10
  %28523 = call ptr @__errno_location() #11
  %28524 = load i32, ptr %28523, align 4, !tbaa !5
  %28525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28512, ptr noundef @.str.8, i32 noundef %28513, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 1053, ptr noundef %28516, ptr noundef %28519, ptr noundef %28522, i32 noundef %28524) #10
  br label %28543

28526:                                            ; preds = %28504, %28497
  %28527 = load i32, ptr %661, align 4, !tbaa !5
  %28528 = call ptr @__errno_location() #11
  store i32 %28527, ptr %28528, align 4, !tbaa !5
  %28529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28530 = load i32, ptr @test_count, align 4, !tbaa !5
  %28531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28532 = load i32, ptr %28531, align 4, !tbaa !5
  %28533 = call ptr @s2n_strerror(i32 noundef %28532, ptr noundef @.str.10)
  %28534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28535 = load i32, ptr %28534, align 4, !tbaa !5
  %28536 = call ptr @s2n_strerror_debug(i32 noundef %28535, ptr noundef @.str.10)
  %28537 = call ptr @__errno_location() #11
  %28538 = load i32, ptr %28537, align 4, !tbaa !5
  %28539 = call ptr @strerror(i32 noundef %28538) #10
  %28540 = call ptr @__errno_location() #11
  %28541 = load i32, ptr %28540, align 4, !tbaa !5
  %28542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28529, ptr noundef @.str.11, i32 noundef %28530, ptr noundef @.str.65, ptr noundef @.str.7, i32 noundef 1053, ptr noundef %28533, ptr noundef %28536, ptr noundef %28539, i32 noundef %28541) #10
  br label %28543

28543:                                            ; preds = %28526, %28509
  call void @llvm.lifetime.end.p0(i64 4, ptr %661) #10
  br label %28544

28544:                                            ; preds = %28543
  br label %28545

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

28546:                                            ; No predecessors!
  br label %28547

28547:                                            ; preds = %28546
  br label %28548

28548:                                            ; preds = %28547, %28490
  br label %28549

28549:                                            ; preds = %28548
  br label %28550

28550:                                            ; preds = %28549
  br label %28551

28551:                                            ; preds = %28550
  %28552 = load i32, ptr @test_count, align 4, !tbaa !5
  %28553 = add nsw i32 %28552, 1
  store i32 %28553, ptr @test_count, align 4, !tbaa !5
  %28554 = load ptr, ptr %615, align 8, !tbaa !9
  %28555 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %28554, i32 noundef 3)
  br i1 %28555, label %28609, label %28556

28556:                                            ; preds = %28551
  br label %28557

28557:                                            ; preds = %28556
  br label %28558

28558:                                            ; preds = %28557
  call void @llvm.lifetime.start.p0(i64 4, ptr %662) #10
  %28559 = call ptr @__errno_location() #11
  %28560 = load i32, ptr %28559, align 4, !tbaa !5
  store i32 %28560, ptr %662, align 4, !tbaa !5
  %28561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28562 = call i32 @s2n_print_stacktrace(ptr noundef %28561)
  %28563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28564 = trunc i8 %28563 to i1
  br i1 %28564, label %28565, label %28587

28565:                                            ; preds = %28558
  %28566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28567 = call i32 @fileno(ptr noundef %28566) #10
  %28568 = call i32 @isatty(i32 noundef %28567) #10
  %28569 = icmp ne i32 %28568, 0
  br i1 %28569, label %28570, label %28587

28570:                                            ; preds = %28565
  %28571 = load i32, ptr %662, align 4, !tbaa !5
  %28572 = call ptr @__errno_location() #11
  store i32 %28571, ptr %28572, align 4, !tbaa !5
  %28573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28574 = load i32, ptr @test_count, align 4, !tbaa !5
  %28575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28576 = load i32, ptr %28575, align 4, !tbaa !5
  %28577 = call ptr @s2n_strerror(i32 noundef %28576, ptr noundef @.str.10)
  %28578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28579 = load i32, ptr %28578, align 4, !tbaa !5
  %28580 = call ptr @s2n_strerror_debug(i32 noundef %28579, ptr noundef @.str.10)
  %28581 = call ptr @__errno_location() #11
  %28582 = load i32, ptr %28581, align 4, !tbaa !5
  %28583 = call ptr @strerror(i32 noundef %28582) #10
  %28584 = call ptr @__errno_location() #11
  %28585 = load i32, ptr %28584, align 4, !tbaa !5
  %28586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28573, ptr noundef @.str.8, i32 noundef %28574, ptr noundef @.str.152, ptr noundef @.str.7, i32 noundef 1054, ptr noundef %28577, ptr noundef %28580, ptr noundef %28583, i32 noundef %28585) #10
  br label %28604

28587:                                            ; preds = %28565, %28558
  %28588 = load i32, ptr %662, align 4, !tbaa !5
  %28589 = call ptr @__errno_location() #11
  store i32 %28588, ptr %28589, align 4, !tbaa !5
  %28590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28591 = load i32, ptr @test_count, align 4, !tbaa !5
  %28592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28593 = load i32, ptr %28592, align 4, !tbaa !5
  %28594 = call ptr @s2n_strerror(i32 noundef %28593, ptr noundef @.str.10)
  %28595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28596 = load i32, ptr %28595, align 4, !tbaa !5
  %28597 = call ptr @s2n_strerror_debug(i32 noundef %28596, ptr noundef @.str.10)
  %28598 = call ptr @__errno_location() #11
  %28599 = load i32, ptr %28598, align 4, !tbaa !5
  %28600 = call ptr @strerror(i32 noundef %28599) #10
  %28601 = call ptr @__errno_location() #11
  %28602 = load i32, ptr %28601, align 4, !tbaa !5
  %28603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28590, ptr noundef @.str.11, i32 noundef %28591, ptr noundef @.str.152, ptr noundef @.str.7, i32 noundef 1054, ptr noundef %28594, ptr noundef %28597, ptr noundef %28600, i32 noundef %28602) #10
  br label %28604

28604:                                            ; preds = %28587, %28570
  call void @llvm.lifetime.end.p0(i64 4, ptr %662) #10
  br label %28605

28605:                                            ; preds = %28604
  br label %28606

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

28607:                                            ; No predecessors!
  br label %28608

28608:                                            ; preds = %28607
  br label %28609

28609:                                            ; preds = %28608, %28551
  br label %28610

28610:                                            ; preds = %28609
  br label %28611

28611:                                            ; preds = %28610
  br label %28612

28612:                                            ; preds = %28611
  %28613 = load i32, ptr @test_count, align 4, !tbaa !5
  %28614 = add nsw i32 %28613, 1
  store i32 %28614, ptr @test_count, align 4, !tbaa !5
  %28615 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %623, i32 0, i32 0
  %28616 = call i32 @s2n_test_records_in_ancillary(ptr noundef %28615, i16 noundef zeroext 0)
  %28617 = getelementptr inbounds %struct.s2n_result, ptr %663, i32 0, i32 0
  store i32 %28616, ptr %28617, align 4
  %28618 = getelementptr inbounds %struct.s2n_result, ptr %663, i32 0, i32 0
  %28619 = load i32, ptr %28618, align 4
  %28620 = call zeroext i1 @s2n_result_is_ok(i32 %28619)
  br i1 %28620, label %28674, label %28621

28621:                                            ; preds = %28612
  br label %28622

28622:                                            ; preds = %28621
  br label %28623

28623:                                            ; preds = %28622
  call void @llvm.lifetime.start.p0(i64 4, ptr %664) #10
  %28624 = call ptr @__errno_location() #11
  %28625 = load i32, ptr %28624, align 4, !tbaa !5
  store i32 %28625, ptr %664, align 4, !tbaa !5
  %28626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28627 = call i32 @s2n_print_stacktrace(ptr noundef %28626)
  %28628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28629 = trunc i8 %28628 to i1
  br i1 %28629, label %28630, label %28652

28630:                                            ; preds = %28623
  %28631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28632 = call i32 @fileno(ptr noundef %28631) #10
  %28633 = call i32 @isatty(i32 noundef %28632) #10
  %28634 = icmp ne i32 %28633, 0
  br i1 %28634, label %28635, label %28652

28635:                                            ; preds = %28630
  %28636 = load i32, ptr %664, align 4, !tbaa !5
  %28637 = call ptr @__errno_location() #11
  store i32 %28636, ptr %28637, align 4, !tbaa !5
  %28638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28639 = load i32, ptr @test_count, align 4, !tbaa !5
  %28640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28641 = load i32, ptr %28640, align 4, !tbaa !5
  %28642 = call ptr @s2n_strerror(i32 noundef %28641, ptr noundef @.str.10)
  %28643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28644 = load i32, ptr %28643, align 4, !tbaa !5
  %28645 = call ptr @s2n_strerror_debug(i32 noundef %28644, ptr noundef @.str.10)
  %28646 = call ptr @__errno_location() #11
  %28647 = load i32, ptr %28646, align 4, !tbaa !5
  %28648 = call ptr @strerror(i32 noundef %28647) #10
  %28649 = call ptr @__errno_location() #11
  %28650 = load i32, ptr %28649, align 4, !tbaa !5
  %28651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28638, ptr noundef @.str.8, i32 noundef %28639, ptr noundef @.str.148, ptr noundef @.str.7, i32 noundef 1055, ptr noundef %28642, ptr noundef %28645, ptr noundef %28648, i32 noundef %28650) #10
  br label %28669

28652:                                            ; preds = %28630, %28623
  %28653 = load i32, ptr %664, align 4, !tbaa !5
  %28654 = call ptr @__errno_location() #11
  store i32 %28653, ptr %28654, align 4, !tbaa !5
  %28655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28656 = load i32, ptr @test_count, align 4, !tbaa !5
  %28657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28658 = load i32, ptr %28657, align 4, !tbaa !5
  %28659 = call ptr @s2n_strerror(i32 noundef %28658, ptr noundef @.str.10)
  %28660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28661 = load i32, ptr %28660, align 4, !tbaa !5
  %28662 = call ptr @s2n_strerror_debug(i32 noundef %28661, ptr noundef @.str.10)
  %28663 = call ptr @__errno_location() #11
  %28664 = load i32, ptr %28663, align 4, !tbaa !5
  %28665 = call ptr @strerror(i32 noundef %28664) #10
  %28666 = call ptr @__errno_location() #11
  %28667 = load i32, ptr %28666, align 4, !tbaa !5
  %28668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28655, ptr noundef @.str.11, i32 noundef %28656, ptr noundef @.str.148, ptr noundef @.str.7, i32 noundef 1055, ptr noundef %28659, ptr noundef %28662, ptr noundef %28665, i32 noundef %28667) #10
  br label %28669

28669:                                            ; preds = %28652, %28635
  call void @llvm.lifetime.end.p0(i64 4, ptr %664) #10
  br label %28670

28670:                                            ; preds = %28669
  br label %28671

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

28672:                                            ; No predecessors!
  br label %28673

28673:                                            ; preds = %28672
  br label %28674

28674:                                            ; preds = %28673, %28612
  br label %28675

28675:                                            ; preds = %28674
  br label %28676

28676:                                            ; preds = %28675
  br label %28677

28677:                                            ; preds = %28676
  %28678 = load i32, ptr @test_count, align 4, !tbaa !5
  %28679 = add nsw i32 %28678, 1
  store i32 %28679, ptr @test_count, align 4, !tbaa !5
  %28680 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %623, i32 0, i32 1
  %28681 = call i32 @s2n_test_records_in_ancillary(ptr noundef %28680, i16 noundef zeroext 0)
  %28682 = getelementptr inbounds %struct.s2n_result, ptr %665, i32 0, i32 0
  store i32 %28681, ptr %28682, align 4
  %28683 = getelementptr inbounds %struct.s2n_result, ptr %665, i32 0, i32 0
  %28684 = load i32, ptr %28683, align 4
  %28685 = call zeroext i1 @s2n_result_is_ok(i32 %28684)
  br i1 %28685, label %28739, label %28686

28686:                                            ; preds = %28677
  br label %28687

28687:                                            ; preds = %28686
  br label %28688

28688:                                            ; preds = %28687
  call void @llvm.lifetime.start.p0(i64 4, ptr %666) #10
  %28689 = call ptr @__errno_location() #11
  %28690 = load i32, ptr %28689, align 4, !tbaa !5
  store i32 %28690, ptr %666, align 4, !tbaa !5
  %28691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28692 = call i32 @s2n_print_stacktrace(ptr noundef %28691)
  %28693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28694 = trunc i8 %28693 to i1
  br i1 %28694, label %28695, label %28717

28695:                                            ; preds = %28688
  %28696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28697 = call i32 @fileno(ptr noundef %28696) #10
  %28698 = call i32 @isatty(i32 noundef %28697) #10
  %28699 = icmp ne i32 %28698, 0
  br i1 %28699, label %28700, label %28717

28700:                                            ; preds = %28695
  %28701 = load i32, ptr %666, align 4, !tbaa !5
  %28702 = call ptr @__errno_location() #11
  store i32 %28701, ptr %28702, align 4, !tbaa !5
  %28703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28704 = load i32, ptr @test_count, align 4, !tbaa !5
  %28705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28706 = load i32, ptr %28705, align 4, !tbaa !5
  %28707 = call ptr @s2n_strerror(i32 noundef %28706, ptr noundef @.str.10)
  %28708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28709 = load i32, ptr %28708, align 4, !tbaa !5
  %28710 = call ptr @s2n_strerror_debug(i32 noundef %28709, ptr noundef @.str.10)
  %28711 = call ptr @__errno_location() #11
  %28712 = load i32, ptr %28711, align 4, !tbaa !5
  %28713 = call ptr @strerror(i32 noundef %28712) #10
  %28714 = call ptr @__errno_location() #11
  %28715 = load i32, ptr %28714, align 4, !tbaa !5
  %28716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28703, ptr noundef @.str.8, i32 noundef %28704, ptr noundef @.str.151, ptr noundef @.str.7, i32 noundef 1056, ptr noundef %28707, ptr noundef %28710, ptr noundef %28713, i32 noundef %28715) #10
  br label %28734

28717:                                            ; preds = %28695, %28688
  %28718 = load i32, ptr %666, align 4, !tbaa !5
  %28719 = call ptr @__errno_location() #11
  store i32 %28718, ptr %28719, align 4, !tbaa !5
  %28720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28721 = load i32, ptr @test_count, align 4, !tbaa !5
  %28722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28723 = load i32, ptr %28722, align 4, !tbaa !5
  %28724 = call ptr @s2n_strerror(i32 noundef %28723, ptr noundef @.str.10)
  %28725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28726 = load i32, ptr %28725, align 4, !tbaa !5
  %28727 = call ptr @s2n_strerror_debug(i32 noundef %28726, ptr noundef @.str.10)
  %28728 = call ptr @__errno_location() #11
  %28729 = load i32, ptr %28728, align 4, !tbaa !5
  %28730 = call ptr @strerror(i32 noundef %28729) #10
  %28731 = call ptr @__errno_location() #11
  %28732 = load i32, ptr %28731, align 4, !tbaa !5
  %28733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28720, ptr noundef @.str.11, i32 noundef %28721, ptr noundef @.str.151, ptr noundef @.str.7, i32 noundef 1056, ptr noundef %28724, ptr noundef %28727, ptr noundef %28730, i32 noundef %28732) #10
  br label %28734

28734:                                            ; preds = %28717, %28700
  call void @llvm.lifetime.end.p0(i64 4, ptr %666) #10
  br label %28735

28735:                                            ; preds = %28734
  br label %28736

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

28737:                                            ; No predecessors!
  br label %28738

28738:                                            ; preds = %28737
  br label %28739

28739:                                            ; preds = %28738, %28677
  br label %28740

28740:                                            ; preds = %28739
  br label %28741

28741:                                            ; preds = %28740
  call void @llvm.lifetime.end.p0(i64 8, ptr %629) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %628) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %627) #10
  call void @llvm.lifetime.end.p0(i64 12, ptr %626) #10
  %28742 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef %623)
  %28743 = getelementptr inbounds %struct.s2n_result, ptr %667, i32 0, i32 0
  store i32 %28742, ptr %28743, align 4
  call void @llvm.lifetime.end.p0(i64 192, ptr %623) #10
  %28744 = call i32 @s2n_connection_ptr_free(ptr noundef %619)
  %28745 = getelementptr inbounds %struct.s2n_result, ptr %668, i32 0, i32 0
  store i32 %28744, ptr %28745, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %619) #10
  %28746 = call i32 @s2n_connection_ptr_free(ptr noundef %615)
  %28747 = getelementptr inbounds %struct.s2n_result, ptr %669, i32 0, i32 0
  store i32 %28746, ptr %28747, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %615) #10
  br label %28748

28748:                                            ; preds = %28741
  br label %28749

28749:                                            ; preds = %28748
  %28750 = call i32 @s2n_cleanup()
  %28751 = icmp eq i32 %28750, -1
  br i1 %28751, label %28752, label %28805

28752:                                            ; preds = %28749
  br label %28753

28753:                                            ; preds = %28752
  br label %28754

28754:                                            ; preds = %28753
  call void @llvm.lifetime.start.p0(i64 4, ptr %670) #10
  %28755 = call ptr @__errno_location() #11
  %28756 = load i32, ptr %28755, align 4, !tbaa !5
  store i32 %28756, ptr %670, align 4, !tbaa !5
  %28757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28758 = call i32 @s2n_print_stacktrace(ptr noundef %28757)
  %28759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28760 = trunc i8 %28759 to i1
  br i1 %28760, label %28761, label %28783

28761:                                            ; preds = %28754
  %28762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28763 = call i32 @fileno(ptr noundef %28762) #10
  %28764 = call i32 @isatty(i32 noundef %28763) #10
  %28765 = icmp ne i32 %28764, 0
  br i1 %28765, label %28766, label %28783

28766:                                            ; preds = %28761
  %28767 = load i32, ptr %670, align 4, !tbaa !5
  %28768 = call ptr @__errno_location() #11
  store i32 %28767, ptr %28768, align 4, !tbaa !5
  %28769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28770 = load i32, ptr @test_count, align 4, !tbaa !5
  %28771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28772 = load i32, ptr %28771, align 4, !tbaa !5
  %28773 = call ptr @s2n_strerror(i32 noundef %28772, ptr noundef @.str.10)
  %28774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28775 = load i32, ptr %28774, align 4, !tbaa !5
  %28776 = call ptr @s2n_strerror_debug(i32 noundef %28775, ptr noundef @.str.10)
  %28777 = call ptr @__errno_location() #11
  %28778 = load i32, ptr %28777, align 4, !tbaa !5
  %28779 = call ptr @strerror(i32 noundef %28778) #10
  %28780 = call ptr @__errno_location() #11
  %28781 = load i32, ptr %28780, align 4, !tbaa !5
  %28782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28769, ptr noundef @.str.8, i32 noundef %28770, ptr noundef @.str.153, ptr noundef @.str.7, i32 noundef 1060, ptr noundef %28773, ptr noundef %28776, ptr noundef %28779, i32 noundef %28781) #10
  br label %28800

28783:                                            ; preds = %28761, %28754
  %28784 = load i32, ptr %670, align 4, !tbaa !5
  %28785 = call ptr @__errno_location() #11
  store i32 %28784, ptr %28785, align 4, !tbaa !5
  %28786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28787 = load i32, ptr @test_count, align 4, !tbaa !5
  %28788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28789 = load i32, ptr %28788, align 4, !tbaa !5
  %28790 = call ptr @s2n_strerror(i32 noundef %28789, ptr noundef @.str.10)
  %28791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28792 = load i32, ptr %28791, align 4, !tbaa !5
  %28793 = call ptr @s2n_strerror_debug(i32 noundef %28792, ptr noundef @.str.10)
  %28794 = call ptr @__errno_location() #11
  %28795 = load i32, ptr %28794, align 4, !tbaa !5
  %28796 = call ptr @strerror(i32 noundef %28795) #10
  %28797 = call ptr @__errno_location() #11
  %28798 = load i32, ptr %28797, align 4, !tbaa !5
  %28799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28786, ptr noundef @.str.11, i32 noundef %28787, ptr noundef @.str.153, ptr noundef @.str.7, i32 noundef 1060, ptr noundef %28790, ptr noundef %28793, ptr noundef %28796, i32 noundef %28798) #10
  br label %28800

28800:                                            ; preds = %28783, %28766
  call void @llvm.lifetime.end.p0(i64 4, ptr %670) #10
  br label %28801

28801:                                            ; preds = %28800
  br label %28802

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

28803:                                            ; No predecessors!
  br label %28804

28804:                                            ; preds = %28803
  br label %28805

28805:                                            ; preds = %28804, %28749
  br label %28806

28806:                                            ; preds = %28805
  br label %28807

28807:                                            ; preds = %28806
  br label %28808

28808:                                            ; preds = %28807
  br label %28809

28809:                                            ; preds = %28808
  %28810 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %28811 = icmp eq i32 %28810, -1
  br i1 %28811, label %28812, label %28865

28812:                                            ; preds = %28809
  br label %28813

28813:                                            ; preds = %28812
  br label %28814

28814:                                            ; preds = %28813
  call void @llvm.lifetime.start.p0(i64 4, ptr %671) #10
  %28815 = call ptr @__errno_location() #11
  %28816 = load i32, ptr %28815, align 4, !tbaa !5
  store i32 %28816, ptr %671, align 4, !tbaa !5
  %28817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28818 = call i32 @s2n_print_stacktrace(ptr noundef %28817)
  %28819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28820 = trunc i8 %28819 to i1
  br i1 %28820, label %28821, label %28843

28821:                                            ; preds = %28814
  %28822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28823 = call i32 @fileno(ptr noundef %28822) #10
  %28824 = call i32 @isatty(i32 noundef %28823) #10
  %28825 = icmp ne i32 %28824, 0
  br i1 %28825, label %28826, label %28843

28826:                                            ; preds = %28821
  %28827 = load i32, ptr %671, align 4, !tbaa !5
  %28828 = call ptr @__errno_location() #11
  store i32 %28827, ptr %28828, align 4, !tbaa !5
  %28829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28830 = load i32, ptr @test_count, align 4, !tbaa !5
  %28831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28832 = load i32, ptr %28831, align 4, !tbaa !5
  %28833 = call ptr @s2n_strerror(i32 noundef %28832, ptr noundef @.str.10)
  %28834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28835 = load i32, ptr %28834, align 4, !tbaa !5
  %28836 = call ptr @s2n_strerror_debug(i32 noundef %28835, ptr noundef @.str.10)
  %28837 = call ptr @__errno_location() #11
  %28838 = load i32, ptr %28837, align 4, !tbaa !5
  %28839 = call ptr @strerror(i32 noundef %28838) #10
  %28840 = call ptr @__errno_location() #11
  %28841 = load i32, ptr %28840, align 4, !tbaa !5
  %28842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28829, ptr noundef @.str.8, i32 noundef %28830, ptr noundef @.str.154, ptr noundef @.str.7, i32 noundef 1060, ptr noundef %28833, ptr noundef %28836, ptr noundef %28839, i32 noundef %28841) #10
  br label %28860

28843:                                            ; preds = %28821, %28814
  %28844 = load i32, ptr %671, align 4, !tbaa !5
  %28845 = call ptr @__errno_location() #11
  store i32 %28844, ptr %28845, align 4, !tbaa !5
  %28846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28847 = load i32, ptr @test_count, align 4, !tbaa !5
  %28848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28849 = load i32, ptr %28848, align 4, !tbaa !5
  %28850 = call ptr @s2n_strerror(i32 noundef %28849, ptr noundef @.str.10)
  %28851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28852 = load i32, ptr %28851, align 4, !tbaa !5
  %28853 = call ptr @s2n_strerror_debug(i32 noundef %28852, ptr noundef @.str.10)
  %28854 = call ptr @__errno_location() #11
  %28855 = load i32, ptr %28854, align 4, !tbaa !5
  %28856 = call ptr @strerror(i32 noundef %28855) #10
  %28857 = call ptr @__errno_location() #11
  %28858 = load i32, ptr %28857, align 4, !tbaa !5
  %28859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28846, ptr noundef @.str.11, i32 noundef %28847, ptr noundef @.str.154, ptr noundef @.str.7, i32 noundef 1060, ptr noundef %28850, ptr noundef %28853, ptr noundef %28856, i32 noundef %28858) #10
  br label %28860

28860:                                            ; preds = %28843, %28826
  call void @llvm.lifetime.end.p0(i64 4, ptr %671) #10
  br label %28861

28861:                                            ; preds = %28860
  br label %28862

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

28863:                                            ; No predecessors!
  br label %28864

28864:                                            ; preds = %28863
  br label %28865

28865:                                            ; preds = %28864, %28809
  br label %28866

28866:                                            ; preds = %28865
  br label %28867

28867:                                            ; preds = %28866
  %28868 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28869 = trunc i8 %28868 to i1
  br i1 %28869, label %28870, label %28886

28870:                                            ; preds = %28867
  %28871 = load ptr, ptr @stdout, align 8, !tbaa !9
  %28872 = call i32 @fileno(ptr noundef %28871) #10
  %28873 = call i32 @isatty(i32 noundef %28872) #10
  %28874 = icmp ne i32 %28873, 0
  br i1 %28874, label %28875, label %28886

28875:                                            ; preds = %28870
  %28876 = load i32, ptr @test_count, align 4, !tbaa !5
  %28877 = icmp ne i32 %28876, 0
  br i1 %28877, label %28878, label %28882

28878:                                            ; preds = %28875
  %28879 = load ptr, ptr @stdout, align 8, !tbaa !9
  %28880 = load i32, ptr @test_count, align 4, !tbaa !5
  %28881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28879, ptr noundef @.str.155, i32 noundef %28880) #10
  br label %28885

28882:                                            ; preds = %28875
  %28883 = load ptr, ptr @stdout, align 8, !tbaa !9
  %28884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28883, ptr noundef @.str.156) #10
  br label %28885

28885:                                            ; preds = %28882, %28878
  br label %28897

28886:                                            ; preds = %28870, %28867
  %28887 = load i32, ptr @test_count, align 4, !tbaa !5
  %28888 = icmp ne i32 %28887, 0
  br i1 %28888, label %28889, label %28893

28889:                                            ; preds = %28886
  %28890 = load ptr, ptr @stdout, align 8, !tbaa !9
  %28891 = load i32, ptr @test_count, align 4, !tbaa !5
  %28892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28890, ptr noundef @.str.157, i32 noundef %28891) #10
  br label %28896

28893:                                            ; preds = %28886
  %28894 = load ptr, ptr @stdout, align 8, !tbaa !9
  %28895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28894, ptr noundef @.str.158) #10
  br label %28896

28896:                                            ; preds = %28893, %28889
  br label %28897

28897:                                            ; preds = %28896, %28885
  store i32 0, ptr %3, align 4
  store i32 1, ptr %672, align 4
  br label %28902

28898:                                            ; No predecessors!
  br label %28899

28899:                                            ; preds = %28898
  br label %28900

28900:                                            ; preds = %28899
  br label %28901

28901:                                            ; preds = %28900
  store i32 0, ptr %672, align 4
  br label %28902

28902:                                            ; preds = %28901, %28897
  %28903 = call i32 @s2n_config_ptr_free(ptr noundef %14)
  %28904 = getelementptr inbounds %struct.s2n_result, ptr %673, i32 0, i32 0
  store i32 %28903, ptr %28904, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #10
  %28905 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %12)
  %28906 = getelementptr inbounds %struct.s2n_result, ptr %674, i32 0, i32 0
  store i32 %28905, ptr %28906, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #10
  call void @llvm.lifetime.end.p0(i64 5, ptr %10) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr %9) #10
  %28907 = load i32, ptr %672, align 4
  switch i32 %28907, label %28910 [
    i32 0, label %28908
    i32 1, label %28908
  ]

28908:                                            ; preds = %28902, %28902
  %28909 = load i32, ptr %3, align 4
  ret i32 %28909

28910:                                            ; preds = %28902
  unreachable
}

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #5

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

; Function Attrs: nounwind willreturn memory(none)
declare ptr @__errno_location() #6

declare i32 @s2n_print_stacktrace(ptr noundef) #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #5

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #5

declare ptr @s2n_strerror(i32 noundef, ptr noundef) #2

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) #2

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #5

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #7

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #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) #8

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) #2

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) #2

declare ptr @s2n_config_new() #2

declare i32 @s2n_config_ptr_free(ptr noundef) #2

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) #2

declare i32 @s2n_config_set_cipher_preferences(ptr noundef, ptr noundef) #2

declare i32 @s2n_config_disable_x509_verification(ptr noundef) #2

declare ptr @s2n_connection_new(i32 noundef) #2

declare i32 @s2n_connection_ptr_free(ptr noundef) #2

declare i32 @s2n_skip_handshake(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) #9

declare i32 @s2n_stuffer_free(ptr noundef) #2

declare i32 @s2n_stuffer_growable_alloc(ptr noundef, i32 noundef) #2

declare i32 @s2n_connection_set_send_io_stuffer(ptr noundef, ptr noundef) #2

declare zeroext i1 @s2n_handshake_is_complete(ptr noundef) #2

declare zeroext i1 @s2n_connection_check_io_status(ptr noundef, i32 noundef) #2

declare i32 @s2n_queue_reader_handshake_failure_alert(ptr noundef) #2

declare i32 @s2n_stuffer_skip_read(ptr noundef, i32 noundef) #2

declare i32 @s2n_stuffer_read_uint8(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_set_io_stuffers(ptr noundef, ptr noundef, ptr noundef) #2

declare i32 @s2n_queue_reader_no_renegotiation_alert(ptr noundef) #2

declare void @s2n_debug_info_reset() #2

declare i32 @s2n_stuffer_write_bytes(ptr noundef, ptr noundef, i32 noundef) #2

declare i32 @s2n_stuffer_write_uint8(ptr noundef, i8 noundef zeroext) #2

declare i64 @s2n_recv(ptr noundef, ptr noundef, i64 noundef, ptr noundef) #2

declare i32 @s2n_connection_get_alert(ptr noundef) #2

declare zeroext i8 @s2n_connection_get_protocol_version(ptr noundef) #2

declare i32 @s2n_connection_set_blinding(ptr noundef, i32 noundef) #2

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) #2

declare i32 @s2n_io_stuffer_pair_free(ptr noundef) #2

declare i32 @s2n_io_stuffer_pair_init(ptr noundef) #2

declare i32 @s2n_connections_set_io_stuffer_pair(ptr noundef, ptr noundef, ptr noundef) #2

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) #2

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) #2

declare i32 @s2n_stuffer_wipe_n(ptr noundef, i32 noundef) #2

declare i32 @s2n_stuffer_skip_write(ptr noundef, i32 noundef) #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) #2

declare i32 @s2n_connections_set_io_pair(ptr noundef, ptr noundef, ptr noundef) #2

declare i32 @s2n_io_pair_close_one_end(ptr noundef, i32 noundef) #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) #2

declare i32 @s2n_connection_enable_quic(ptr noundef) #2

declare i32 @s2n_connection_wipe(ptr noundef) #2

declare i32 @s2n_stuffer_copy(ptr noundef, ptr noundef, i32 noundef) #2

declare void @s2n_ktls_configure_connection(ptr noundef, i32 noundef) #2

declare i32 @s2n_ktls_io_stuffer_free(ptr noundef) #2

declare i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef, ptr noundef) #2

declare i32 @s2n_test_validate_ancillary(ptr noundef, i8 noundef zeroext, i16 noundef zeroext) #2

declare i32 @s2n_test_validate_data(ptr noundef, ptr noundef, i16 noundef zeroext) #2

declare i32 @s2n_stuffer_alloc(ptr noundef, i32 noundef) #2

declare i32 @s2n_stuffer_wipe(ptr noundef) #2

declare i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef) #2

declare i32 @s2n_test_init_ktls_io_stuffer(ptr noundef, ptr noundef, ptr noundef) #2

declare i32 @s2n_test_records_in_ancillary(ptr noundef, i16 noundef zeroext) #2

declare i32 @s2n_cleanup() #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
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 = { 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 #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 = { 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 #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 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #9 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #10 = { nounwind }
attributes #11 = { nounwind willreturn memory(none) }
attributes #12 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!7, !7, i64 0}
!16 = !{!17, !12, i64 2003}
!17 = !{!"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, !18, i64 160, !19, i64 168, !19, 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, !20, i64 240, !10, i64 632, !10, i64 640, !21, i64 648, !27, i64 1144, !30, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !33, i64 1776, !33, i64 1816, !33, i64 1856, !33, i64 1896, !6, i64 1936, !19, i64 1944, !7, i64 1952, !33, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !34, i64 2004, !34, i64 2008, !35, i64 2016, !32, i64 2208, !6, i64 2212, !32, i64 2216, !19, i64 2224, !7, i64 2232, !19, i64 2240, !19, i64 2248, !19, i64 2256, !34, i64 2264, !34, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !26, i64 2792, !6, i64 2816, !26, i64 2824, !26, i64 2848, !26, i64 2872, !37, i64 2896, !39, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !26, i64 3784, !6, i64 3808, !41, i64 3816, !7, i64 3848, !33, i64 3992, !26, i64 4032, !26, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !32, i64 4084, !32, i64 4086, !6, i64 4088, !6, i64 4092, !26, i64 4096, !6, i64 4120, !42, i64 4128, !34, i64 4176, !7, i64 4180, !7, i64 4181}
!18 = !{!"s2n_timer", !19, i64 0}
!19 = !{!"long", !7, i64 0}
!20 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!21 = !{!"s2n_kex_parameters", !22, i64 0, !23, i64 8, !7, i64 24, !23, i64 56, !24, i64 72, !24, i64 184, !7, i64 296, !25, i64 360, !26, i64 448, !26, i64 472}
!22 = !{!"s2n_dh_params", !10, i64 0}
!23 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!24 = !{!"s2n_kem_group_params", !10, i64 0, !25, i64 8, !23, i64 96}
!25 = !{!"s2n_kem_params", !10, i64 0, !26, i64 8, !26, i64 32, !26, i64 56, !12, i64 80}
!26 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!27 = !{!"s2n_handshake_parameters", !28, i64 0, !28, i64 48, !26, i64 96, !6, i64 120, !29, 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}
!28 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!29 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!30 = !{!"s2n_psk_parameters", !6, i64 0, !31, i64 8, !32, i64 40, !32, i64 42, !10, i64 48, !6, i64 56}
!31 = !{!"s2n_array", !26, i64 0, !6, i64 24, !6, i64 28}
!32 = !{!"short", !7, i64 0}
!33 = !{!"s2n_stuffer", !26, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!34 = !{!"", !6, i64 0}
!35 = !{!"s2n_handshake", !33, 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, !36, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!36 = !{!"s2n_offered_early_data", !10, i64 0}
!37 = !{!"s2n_client_hello", !26, i64 0, !38, i64 24, !26, i64 728, !26, i64 752, !26, 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}
!38 = !{!"", !7, i64 0, !26, i64 672, !32, i64 696}
!39 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !32, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !40, i64 48, !12, i64 52}
!40 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!41 = !{!"s2n_ticket_fields", !26, i64 0, !6, i64 24}
!42 = !{!"s2n_post_handshake", !33, i64 0, !7, i64 40}
!43 = !{!33, !6, i64 28}
!44 = !{!33, !6, i64 24}
!45 = !{!19, !19, i64 0}
!46 = distinct !{!46, !47}
!47 = !{!"llvm.loop.mustprogress"}
!48 = !{!17, !7, i64 222}
!49 = !{!17, !7, i64 220}
!50 = !{!17, !19, i64 176}
!51 = !{!17, !19, i64 160}
!52 = !{!53, !6, i64 68}
!53 = !{!"s2n_test_io_stuffer_pair", !33, i64 0, !33, i64 40}
!54 = distinct !{!54, !47}
!55 = distinct !{!55, !47}
!56 = distinct !{!56, !47}
!57 = distinct !{!57, !47}
!58 = !{!59, !19, i64 80}
!59 = !{!"s2n_test_ktls_io_stuffer", !33, i64 0, !33, i64 40, !19, i64 80, !19, i64 88}
!60 = distinct !{!60, !47}
!61 = distinct !{!61, !47}
!62 = distinct !{!62, !47}


; 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_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_test_io_stuffer_pair = type { %struct.s2n_stuffer, %struct.s2n_stuffer }
%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_test_ktls_io_stuffer = type { %struct.s2n_stuffer, %struct.s2n_stuffer, i64, i64 }
%struct.s2n_test_ktls_io_stuffer_pair = type { %struct.s2n_test_ktls_io_stuffer, %struct.s2n_test_ktls_io_stuffer }

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_shutdown_send(ptr noundef, ptr noundef) local_unnamed_addr #0

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

declare zeroext i1 @s2n_atomic_flag_test(ptr noundef) 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: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) local_unnamed_addr #4

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_shutdown(ptr noundef, ptr noundef) local_unnamed_addr #0

declare i32 @s2n_process_alert_fragment(ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca [2 x i8], align 2
  %4 = alloca [5 x i8], align 1
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca %struct.s2n_stuffer, align 8
  %9 = alloca i32, align 4
  %10 = alloca i8, align 1
  %11 = alloca i8, align 1
  %12 = alloca ptr, align 8
  %13 = alloca %struct.s2n_stuffer, align 8
  %14 = alloca %struct.s2n_stuffer, align 8
  %15 = alloca i32, align 4
  %16 = alloca ptr, align 8
  %17 = alloca %struct.s2n_stuffer, align 8
  %18 = alloca %struct.s2n_stuffer, align 8
  %19 = alloca [1 x i8], align 1
  %20 = alloca i32, align 4
  %21 = alloca ptr, align 8
  %22 = alloca %struct.s2n_stuffer, align 8
  %23 = alloca %struct.s2n_stuffer, align 8
  %24 = alloca i32, align 4
  %25 = alloca ptr, align 8
  %26 = alloca %struct.s2n_stuffer, align 8
  %27 = alloca %struct.s2n_stuffer, align 8
  %28 = alloca i32, align 4
  %29 = alloca ptr, align 8
  %30 = alloca %struct.s2n_stuffer, align 8
  %31 = alloca %struct.s2n_stuffer, align 8
  %32 = alloca i32, align 4
  %33 = alloca ptr, align 8
  %34 = alloca %struct.s2n_stuffer, align 8
  %35 = alloca %struct.s2n_stuffer, align 8
  %36 = alloca i32, align 4
  %37 = alloca ptr, align 8
  %38 = alloca %struct.s2n_stuffer, align 8
  %39 = alloca %struct.s2n_stuffer, align 8
  %40 = alloca i32, align 4
  %41 = alloca [6 x i8], align 1
  %42 = alloca ptr, align 8
  %43 = alloca i32, align 4
  %44 = alloca %struct.s2n_stuffer, align 8
  %45 = alloca %struct.s2n_stuffer, align 8
  %46 = alloca [5 x i8], align 1
  %47 = alloca [1 x i8], align 1
  %48 = alloca ptr, align 8
  %49 = alloca ptr, align 8
  %50 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %51 = alloca i32, align 4
  %52 = alloca [12 x i8], align 1
  %53 = alloca ptr, align 8
  %54 = alloca ptr, align 8
  %55 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %56 = alloca i32, align 4
  %57 = alloca i8, align 1
  %58 = alloca ptr, align 8
  %59 = alloca ptr, align 8
  %60 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %61 = alloca i32, align 4
  %62 = alloca [12 x i8], align 1
  %63 = alloca ptr, align 8
  %64 = alloca ptr, align 8
  %65 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %66 = alloca i32, align 4
  %67 = alloca [12 x i8], align 1
  %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 ptr, align 8
  %73 = alloca i32, align 4
  %74 = alloca ptr, align 8
  %75 = alloca i32, align 4
  %76 = alloca ptr, align 8
  %77 = alloca i32, align 4
  %78 = alloca %struct.s2n_stuffer, align 8
  %79 = alloca ptr, align 8
  %80 = alloca i32, align 4
  %81 = alloca %struct.s2n_stuffer, align 8
  %82 = alloca ptr, align 8
  %83 = alloca i32, align 4
  %84 = alloca ptr, align 8
  %85 = alloca i32, align 4
  %86 = alloca %struct.s2n_stuffer, align 8
  %87 = alloca %struct.s2n_stuffer, align 8
  %88 = alloca ptr, align 8
  %89 = alloca i32, align 4
  %90 = alloca %struct.s2n_stuffer, align 8
  %91 = alloca %struct.s2n_stuffer, align 8
  %92 = alloca ptr, align 8
  %93 = alloca i32, align 4
  %94 = alloca %struct.s2n_stuffer, align 8
  %95 = alloca %struct.s2n_stuffer, align 8
  %96 = alloca [1 x i8], align 1
  %97 = alloca ptr, align 8
  %98 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %99 = alloca i32, align 4
  %100 = alloca ptr, align 8
  %101 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %102 = alloca i32, align 4
  %103 = alloca ptr, align 8
  %104 = alloca ptr, align 8
  %105 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %106 = alloca i32, align 4
  %107 = alloca ptr, align 8
  %108 = alloca ptr, align 8
  %109 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %110 = alloca i32, align 4
  %111 = alloca ptr, align 8
  %112 = alloca ptr, align 8
  %113 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %114 = alloca [12 x i8], align 1
  %115 = alloca i32, align 4
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %116 = load ptr, ptr @stdout, align 8, !tbaa !9
  %117 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %116, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.7) #11
  %118 = load ptr, ptr @stdout, align 8, !tbaa !9
  %119 = tail call i32 @fflush(ptr noundef %118)
  %120 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #11
  %121 = icmp eq i32 %120, -1
  br i1 %121, label %122, label %146

122:                                              ; preds = %2
  %123 = tail call ptr @__errno_location() #12
  %124 = load i32, ptr %123, align 4, !tbaa !5
  %125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %126 = tail call i32 @s2n_print_stacktrace(ptr noundef %125) #11
  %127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %128 = trunc nuw i8 %127 to i1
  br i1 %128, label %129, label %133

129:                                              ; preds = %122
  %130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %131 = tail call i32 @fileno(ptr noundef %130) #11
  %132 = tail call i32 @isatty(i32 noundef %131) #11
  %.not1475 = icmp eq i32 %132, 0
  br i1 %.not1475, label %133, label %134

133:                                              ; preds = %129, %122
  br label %134

134:                                              ; preds = %129, %133
  %.str.11.sink = phi ptr [ @.str.11, %133 ], [ @.str.8, %129 ]
  store i32 %124, ptr %123, align 4, !tbaa !5
  %135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %136 = load i32, ptr @test_count, align 4, !tbaa !5
  %137 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %138 = load i32, ptr %137, align 4, !tbaa !5
  %139 = tail call ptr @s2n_strerror(i32 noundef %138, ptr noundef nonnull @.str.10) #11
  %140 = load i32, ptr %137, align 4, !tbaa !5
  %141 = tail call ptr @s2n_strerror_debug(i32 noundef %140, ptr noundef nonnull @.str.10) #11
  %142 = load i32, ptr %123, align 4, !tbaa !5
  %143 = tail call ptr @strerror(i32 noundef %142) #11
  %144 = load i32, ptr %123, align 4, !tbaa !5
  %145 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %135, ptr noundef nonnull %.str.11.sink, i32 noundef %136, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.7, i32 noundef 28, ptr noundef %139, ptr noundef %141, ptr noundef %143, i32 noundef %144) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

146:                                              ; preds = %2
  %147 = load i32, ptr @test_count, align 4, !tbaa !5
  %148 = add nsw i32 %147, 1
  store i32 %148, ptr @test_count, align 4, !tbaa !5
  %149 = tail call i32 @s2n_enable_atexit() #11
  %150 = icmp eq i32 %149, -1
  br i1 %150, label %151, label %175

151:                                              ; preds = %146
  %152 = tail call ptr @__errno_location() #12
  %153 = load i32, ptr %152, align 4, !tbaa !5
  %154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %155 = tail call i32 @s2n_print_stacktrace(ptr noundef %154) #11
  %156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %157 = trunc nuw i8 %156 to i1
  br i1 %157, label %158, label %162

158:                                              ; preds = %151
  %159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %160 = tail call i32 @fileno(ptr noundef %159) #11
  %161 = tail call i32 @isatty(i32 noundef %160) #11
  %.not1474 = icmp eq i32 %161, 0
  br i1 %.not1474, label %162, label %163

162:                                              ; preds = %158, %151
  br label %163

163:                                              ; preds = %158, %162
  %.str.11.sink1500 = phi ptr [ @.str.11, %162 ], [ @.str.8, %158 ]
  store i32 %153, ptr %152, align 4, !tbaa !5
  %164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %165 = load i32, ptr @test_count, align 4, !tbaa !5
  %166 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %167 = load i32, ptr %166, align 4, !tbaa !5
  %168 = tail call ptr @s2n_strerror(i32 noundef %167, ptr noundef nonnull @.str.10) #11
  %169 = load i32, ptr %166, align 4, !tbaa !5
  %170 = tail call ptr @s2n_strerror_debug(i32 noundef %169, ptr noundef nonnull @.str.10) #11
  %171 = load i32, ptr %152, align 4, !tbaa !5
  %172 = tail call ptr @strerror(i32 noundef %171) #11
  %173 = load i32, ptr %152, align 4, !tbaa !5
  %174 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %164, ptr noundef nonnull %.str.11.sink1500, i32 noundef %165, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.7, i32 noundef 28, ptr noundef %168, ptr noundef %170, ptr noundef %172, i32 noundef %173) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

175:                                              ; preds = %146
  %176 = tail call i32 @s2n_init() #11
  %177 = icmp eq i32 %176, -1
  br i1 %177, label %178, label %202

178:                                              ; preds = %175
  %179 = tail call ptr @__errno_location() #12
  %180 = load i32, ptr %179, align 4, !tbaa !5
  %181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %182 = tail call i32 @s2n_print_stacktrace(ptr noundef %181) #11
  %183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %184 = trunc nuw i8 %183 to i1
  br i1 %184, label %185, label %189

185:                                              ; preds = %178
  %186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %187 = tail call i32 @fileno(ptr noundef %186) #11
  %188 = tail call i32 @isatty(i32 noundef %187) #11
  %.not1473 = icmp eq i32 %188, 0
  br i1 %.not1473, label %189, label %190

189:                                              ; preds = %185, %178
  br label %190

190:                                              ; preds = %185, %189
  %.str.11.sink1511 = phi ptr [ @.str.11, %189 ], [ @.str.8, %185 ]
  store i32 %180, ptr %179, align 4, !tbaa !5
  %191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %192 = load i32, ptr @test_count, align 4, !tbaa !5
  %193 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %194 = load i32, ptr %193, align 4, !tbaa !5
  %195 = tail call ptr @s2n_strerror(i32 noundef %194, ptr noundef nonnull @.str.10) #11
  %196 = load i32, ptr %193, align 4, !tbaa !5
  %197 = tail call ptr @s2n_strerror_debug(i32 noundef %196, ptr noundef nonnull @.str.10) #11
  %198 = load i32, ptr %179, align 4, !tbaa !5
  %199 = tail call ptr @strerror(i32 noundef %198) #11
  %200 = load i32, ptr %179, align 4, !tbaa !5
  %201 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %191, ptr noundef nonnull %.str.11.sink1511, i32 noundef %192, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.7, i32 noundef 28, ptr noundef %195, ptr noundef %197, ptr noundef %199, i32 noundef %200) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

202:                                              ; preds = %175
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %3) #11
  %203 = load i16, ptr @__const.main.close_notify_alert, align 1
  store i16 %203, ptr %3, align 2
  call void @llvm.lifetime.start.p0(i64 5, ptr nonnull %4) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) %4, ptr noundef nonnull align 1 dereferenceable(5) @__const.main.alert_record_header, i64 5, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #11
  %204 = load i32, ptr @test_count, align 4, !tbaa !5
  %205 = add nsw i32 %204, 1
  store i32 %205, ptr @test_count, align 4, !tbaa !5
  %206 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %5, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.15) #11
  %207 = icmp eq i32 %206, -1
  br i1 %207, label %208, label %232

208:                                              ; preds = %202
  %209 = tail call ptr @__errno_location() #12
  %210 = load i32, ptr %209, align 4, !tbaa !5
  %211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %212 = call i32 @s2n_print_stacktrace(ptr noundef %211) #11
  %213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %214 = trunc nuw i8 %213 to i1
  br i1 %214, label %215, label %219

215:                                              ; preds = %208
  %216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %217 = call i32 @fileno(ptr noundef %216) #11
  %218 = call i32 @isatty(i32 noundef %217) #11
  %.not1472 = icmp eq i32 %218, 0
  br i1 %.not1472, label %219, label %220

219:                                              ; preds = %215, %208
  br label %220

220:                                              ; preds = %215, %219
  %.str.11.sink1522 = phi ptr [ @.str.11, %219 ], [ @.str.8, %215 ]
  store i32 %210, ptr %209, align 4, !tbaa !5
  %221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %222 = load i32, ptr @test_count, align 4, !tbaa !5
  %223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %224 = load i32, ptr %223, align 4, !tbaa !5
  %225 = call ptr @s2n_strerror(i32 noundef %224, ptr noundef nonnull @.str.10) #11
  %226 = load i32, ptr %223, align 4, !tbaa !5
  %227 = call ptr @s2n_strerror_debug(i32 noundef %226, ptr noundef nonnull @.str.10) #11
  %228 = load i32, ptr %209, align 4, !tbaa !5
  %229 = call ptr @strerror(i32 noundef %228) #11
  %230 = load i32, ptr %209, align 4, !tbaa !5
  %231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %221, ptr noundef nonnull %.str.11.sink1522, i32 noundef %222, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.7, i32 noundef 51, ptr noundef %225, ptr noundef %227, ptr noundef %229, i32 noundef %230) #13
  call void @exit(i32 noundef 1) #14
  unreachable

232:                                              ; preds = %202
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #11
  %233 = call ptr @s2n_config_new() #11
  store ptr %233, ptr %6, align 8, !tbaa !9
  %234 = load i32, ptr @test_count, align 4, !tbaa !5
  %235 = add nsw i32 %234, 1
  store i32 %235, ptr @test_count, align 4, !tbaa !5
  %236 = load ptr, ptr %5, align 8, !tbaa !9
  %237 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %233, ptr noundef %236) #11
  %238 = icmp eq i32 %237, -1
  br i1 %238, label %239, label %263

239:                                              ; preds = %232
  %240 = tail call ptr @__errno_location() #12
  %241 = load i32, ptr %240, align 4, !tbaa !5
  %242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %243 = call i32 @s2n_print_stacktrace(ptr noundef %242) #11
  %244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %245 = trunc nuw i8 %244 to i1
  br i1 %245, label %246, label %250

246:                                              ; preds = %239
  %247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %248 = call i32 @fileno(ptr noundef %247) #11
  %249 = call i32 @isatty(i32 noundef %248) #11
  %.not1471 = icmp eq i32 %249, 0
  br i1 %.not1471, label %250, label %251

250:                                              ; preds = %246, %239
  br label %251

251:                                              ; preds = %246, %250
  %.str.11.sink1533 = phi ptr [ @.str.11, %250 ], [ @.str.8, %246 ]
  store i32 %241, ptr %240, align 4, !tbaa !5
  %252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %253 = load i32, ptr @test_count, align 4, !tbaa !5
  %254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %255 = load i32, ptr %254, align 4, !tbaa !5
  %256 = call ptr @s2n_strerror(i32 noundef %255, ptr noundef nonnull @.str.10) #11
  %257 = load i32, ptr %254, align 4, !tbaa !5
  %258 = call ptr @s2n_strerror_debug(i32 noundef %257, ptr noundef nonnull @.str.10) #11
  %259 = load i32, ptr %240, align 4, !tbaa !5
  %260 = call ptr @strerror(i32 noundef %259) #11
  %261 = load i32, ptr %240, align 4, !tbaa !5
  %262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %252, ptr noundef nonnull %.str.11.sink1533, i32 noundef %253, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.7, i32 noundef 55, ptr noundef %256, ptr noundef %258, ptr noundef %260, i32 noundef %261) #13
  call void @exit(i32 noundef 1) #14
  unreachable

263:                                              ; preds = %232
  %264 = load i32, ptr @test_count, align 4, !tbaa !5
  %265 = add nsw i32 %264, 1
  store i32 %265, ptr @test_count, align 4, !tbaa !5
  %266 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %233, ptr noundef nonnull @.str.18) #11
  %267 = icmp eq i32 %266, -1
  br i1 %267, label %268, label %292

268:                                              ; preds = %263
  %269 = tail call ptr @__errno_location() #12
  %270 = load i32, ptr %269, align 4, !tbaa !5
  %271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %272 = call i32 @s2n_print_stacktrace(ptr noundef %271) #11
  %273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %274 = trunc nuw i8 %273 to i1
  br i1 %274, label %275, label %279

275:                                              ; preds = %268
  %276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %277 = call i32 @fileno(ptr noundef %276) #11
  %278 = call i32 @isatty(i32 noundef %277) #11
  %.not1470 = icmp eq i32 %278, 0
  br i1 %.not1470, label %279, label %280

279:                                              ; preds = %275, %268
  br label %280

280:                                              ; preds = %275, %279
  %.str.11.sink1544 = phi ptr [ @.str.11, %279 ], [ @.str.8, %275 ]
  store i32 %270, ptr %269, align 4, !tbaa !5
  %281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %282 = load i32, ptr @test_count, align 4, !tbaa !5
  %283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %284 = load i32, ptr %283, align 4, !tbaa !5
  %285 = call ptr @s2n_strerror(i32 noundef %284, ptr noundef nonnull @.str.10) #11
  %286 = load i32, ptr %283, align 4, !tbaa !5
  %287 = call ptr @s2n_strerror_debug(i32 noundef %286, ptr noundef nonnull @.str.10) #11
  %288 = load i32, ptr %269, align 4, !tbaa !5
  %289 = call ptr @strerror(i32 noundef %288) #11
  %290 = load i32, ptr %269, align 4, !tbaa !5
  %291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %281, ptr noundef nonnull %.str.11.sink1544, i32 noundef %282, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.7, i32 noundef 56, ptr noundef %285, ptr noundef %287, ptr noundef %289, i32 noundef %290) #13
  call void @exit(i32 noundef 1) #14
  unreachable

292:                                              ; preds = %263
  %293 = load i32, ptr @test_count, align 4, !tbaa !5
  %294 = add nsw i32 %293, 1
  store i32 %294, ptr @test_count, align 4, !tbaa !5
  %295 = call i32 @s2n_config_disable_x509_verification(ptr noundef %233) #11
  %296 = icmp eq i32 %295, -1
  br i1 %296, label %297, label %321

297:                                              ; preds = %292
  %298 = tail call ptr @__errno_location() #12
  %299 = load i32, ptr %298, align 4, !tbaa !5
  %300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %301 = call i32 @s2n_print_stacktrace(ptr noundef %300) #11
  %302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %303 = trunc nuw i8 %302 to i1
  br i1 %303, label %304, label %308

304:                                              ; preds = %297
  %305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %306 = call i32 @fileno(ptr noundef %305) #11
  %307 = call i32 @isatty(i32 noundef %306) #11
  %.not1469 = icmp eq i32 %307, 0
  br i1 %.not1469, label %308, label %309

308:                                              ; preds = %304, %297
  br label %309

309:                                              ; preds = %304, %308
  %.str.11.sink1555 = phi ptr [ @.str.11, %308 ], [ @.str.8, %304 ]
  store i32 %299, ptr %298, align 4, !tbaa !5
  %310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %311 = load i32, ptr @test_count, align 4, !tbaa !5
  %312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %313 = load i32, ptr %312, align 4, !tbaa !5
  %314 = call ptr @s2n_strerror(i32 noundef %313, ptr noundef nonnull @.str.10) #11
  %315 = load i32, ptr %312, align 4, !tbaa !5
  %316 = call ptr @s2n_strerror_debug(i32 noundef %315, ptr noundef nonnull @.str.10) #11
  %317 = load i32, ptr %298, align 4, !tbaa !5
  %318 = call ptr @strerror(i32 noundef %317) #11
  %319 = load i32, ptr %298, align 4, !tbaa !5
  %320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %310, ptr noundef nonnull %.str.11.sink1555, i32 noundef %311, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.7, i32 noundef 57, ptr noundef %314, ptr noundef %316, ptr noundef %318, i32 noundef %319) #13
  call void @exit(i32 noundef 1) #14
  unreachable

321:                                              ; preds = %292
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #11
  %322 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %322, ptr %7, align 8, !tbaa !9
  %323 = load i32, ptr @test_count, align 4, !tbaa !5
  %324 = add nsw i32 %323, 1
  store i32 %324, ptr @test_count, align 4, !tbaa !5
  %325 = icmp eq ptr %322, null
  br i1 %325, label %326, label %350

326:                                              ; preds = %321
  %327 = tail call ptr @__errno_location() #12
  %328 = load i32, ptr %327, align 4, !tbaa !5
  %329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %330 = call i32 @s2n_print_stacktrace(ptr noundef %329) #11
  %331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %332 = trunc nuw i8 %331 to i1
  br i1 %332, label %333, label %337

333:                                              ; preds = %326
  %334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %335 = call i32 @fileno(ptr noundef %334) #11
  %336 = call i32 @isatty(i32 noundef %335) #11
  %.not1468 = icmp eq i32 %336, 0
  br i1 %.not1468, label %337, label %338

337:                                              ; preds = %333, %326
  br label %338

338:                                              ; preds = %333, %337
  %.str.11.sink1566 = phi ptr [ @.str.11, %337 ], [ @.str.8, %333 ]
  store i32 %328, ptr %327, align 4, !tbaa !5
  %339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %340 = load i32, ptr @test_count, align 4, !tbaa !5
  %341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %342 = load i32, ptr %341, align 4, !tbaa !5
  %343 = call ptr @s2n_strerror(i32 noundef %342, ptr noundef nonnull @.str.10) #11
  %344 = load i32, ptr %341, align 4, !tbaa !5
  %345 = call ptr @s2n_strerror_debug(i32 noundef %344, ptr noundef nonnull @.str.10) #11
  %346 = load i32, ptr %327, align 4, !tbaa !5
  %347 = call ptr @strerror(i32 noundef %346) #11
  %348 = load i32, ptr %327, align 4, !tbaa !5
  %349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %339, ptr noundef nonnull %.str.11.sink1566, i32 noundef %340, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.7, i32 noundef 63, ptr noundef %343, ptr noundef %345, ptr noundef %347, i32 noundef %348) #13
  call void @exit(i32 noundef 1) #14
  unreachable

350:                                              ; preds = %321
  %351 = add nsw i32 %323, 2
  store i32 %351, ptr @test_count, align 4, !tbaa !5
  %352 = call i32 @s2n_skip_handshake(ptr noundef nonnull %322) #11
  %353 = call zeroext i1 @s2n_result_is_ok(i32 %352)
  br i1 %353, label %378, label %354

354:                                              ; preds = %350
  %355 = tail call ptr @__errno_location() #12
  %356 = load i32, ptr %355, align 4, !tbaa !5
  %357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %358 = call i32 @s2n_print_stacktrace(ptr noundef %357) #11
  %359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %360 = trunc nuw i8 %359 to i1
  br i1 %360, label %361, label %365

361:                                              ; preds = %354
  %362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %363 = call i32 @fileno(ptr noundef %362) #11
  %364 = call i32 @isatty(i32 noundef %363) #11
  %.not = icmp eq i32 %364, 0
  br i1 %.not, label %365, label %366

365:                                              ; preds = %361, %354
  br label %366

366:                                              ; preds = %361, %365
  %.str.11.sink1577 = phi ptr [ @.str.11, %365 ], [ @.str.8, %361 ]
  store i32 %356, ptr %355, align 4, !tbaa !5
  %367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %368 = load i32, ptr @test_count, align 4, !tbaa !5
  %369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %370 = load i32, ptr %369, align 4, !tbaa !5
  %371 = call ptr @s2n_strerror(i32 noundef %370, ptr noundef nonnull @.str.10) #11
  %372 = load i32, ptr %369, align 4, !tbaa !5
  %373 = call ptr @s2n_strerror_debug(i32 noundef %372, ptr noundef nonnull @.str.10) #11
  %374 = load i32, ptr %355, align 4, !tbaa !5
  %375 = call ptr @strerror(i32 noundef %374) #11
  %376 = load i32, ptr %355, align 4, !tbaa !5
  %377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %367, ptr noundef nonnull %.str.11.sink1577, i32 noundef %368, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.7, i32 noundef 64, ptr noundef %371, ptr noundef %373, ptr noundef %375, i32 noundef %376) #13
  call void @exit(i32 noundef 1) #14
  unreachable

378:                                              ; preds = %350
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %8) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %8, i8 0, i64 40, i1 false)
  %379 = load i32, ptr @test_count, align 4, !tbaa !5
  %380 = add nsw i32 %379, 1
  store i32 %380, ptr @test_count, align 4, !tbaa !5
  %381 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %8, i32 noundef 0) #11
  %382 = icmp eq i32 %381, -1
  br i1 %382, label %383, label %407

383:                                              ; preds = %378
  %384 = tail call ptr @__errno_location() #12
  %385 = load i32, ptr %384, align 4, !tbaa !5
  %386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %387 = call i32 @s2n_print_stacktrace(ptr noundef %386) #11
  %388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %389 = trunc nuw i8 %388 to i1
  br i1 %389, label %390, label %394

390:                                              ; preds = %383
  %391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %392 = call i32 @fileno(ptr noundef %391) #11
  %393 = call i32 @isatty(i32 noundef %392) #11
  %.not1467 = icmp eq i32 %393, 0
  br i1 %.not1467, label %394, label %395

394:                                              ; preds = %390, %383
  br label %395

395:                                              ; preds = %390, %394
  %.str.11.sink1588 = phi ptr [ @.str.11, %394 ], [ @.str.8, %390 ]
  store i32 %385, ptr %384, align 4, !tbaa !5
  %396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %397 = load i32, ptr @test_count, align 4, !tbaa !5
  %398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %399 = load i32, ptr %398, align 4, !tbaa !5
  %400 = call ptr @s2n_strerror(i32 noundef %399, ptr noundef nonnull @.str.10) #11
  %401 = load i32, ptr %398, align 4, !tbaa !5
  %402 = call ptr @s2n_strerror_debug(i32 noundef %401, ptr noundef nonnull @.str.10) #11
  %403 = load i32, ptr %384, align 4, !tbaa !5
  %404 = call ptr @strerror(i32 noundef %403) #11
  %405 = load i32, ptr %384, align 4, !tbaa !5
  %406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %396, ptr noundef nonnull %.str.11.sink1588, i32 noundef %397, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.7, i32 noundef 68, ptr noundef %400, ptr noundef %402, ptr noundef %404, i32 noundef %405) #13
  call void @exit(i32 noundef 1) #14
  unreachable

407:                                              ; preds = %378
  %408 = load i32, ptr @test_count, align 4, !tbaa !5
  %409 = add nsw i32 %408, 1
  store i32 %409, ptr @test_count, align 4, !tbaa !5
  %410 = load ptr, ptr %7, align 8, !tbaa !9
  %411 = call i32 @s2n_connection_set_send_io_stuffer(ptr noundef nonnull %8, ptr noundef %410) #11
  %412 = icmp eq i32 %411, -1
  br i1 %412, label %413, label %437

413:                                              ; preds = %407
  %414 = tail call ptr @__errno_location() #12
  %415 = load i32, ptr %414, align 4, !tbaa !5
  %416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %417 = call i32 @s2n_print_stacktrace(ptr noundef %416) #11
  %418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %419 = trunc nuw i8 %418 to i1
  br i1 %419, label %420, label %424

420:                                              ; preds = %413
  %421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %422 = call i32 @fileno(ptr noundef %421) #11
  %423 = call i32 @isatty(i32 noundef %422) #11
  %.not1466 = icmp eq i32 %423, 0
  br i1 %.not1466, label %424, label %425

424:                                              ; preds = %420, %413
  br label %425

425:                                              ; preds = %420, %424
  %.str.11.sink1599 = phi ptr [ @.str.11, %424 ], [ @.str.8, %420 ]
  store i32 %415, ptr %414, align 4, !tbaa !5
  %426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %427 = load i32, ptr @test_count, align 4, !tbaa !5
  %428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %429 = load i32, ptr %428, align 4, !tbaa !5
  %430 = call ptr @s2n_strerror(i32 noundef %429, ptr noundef nonnull @.str.10) #11
  %431 = load i32, ptr %428, align 4, !tbaa !5
  %432 = call ptr @s2n_strerror_debug(i32 noundef %431, ptr noundef nonnull @.str.10) #11
  %433 = load i32, ptr %414, align 4, !tbaa !5
  %434 = call ptr @strerror(i32 noundef %433) #11
  %435 = load i32, ptr %414, align 4, !tbaa !5
  %436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %426, ptr noundef nonnull %.str.11.sink1599, i32 noundef %427, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.7, i32 noundef 69, ptr noundef %430, ptr noundef %432, ptr noundef %434, i32 noundef %435) #13
  call void @exit(i32 noundef 1) #14
  unreachable

437:                                              ; preds = %407
  %438 = load i32, ptr @test_count, align 4, !tbaa !5
  %439 = add nsw i32 %438, 1
  store i32 %439, ptr @test_count, align 4, !tbaa !5
  %440 = load ptr, ptr %7, align 8, !tbaa !9
  %441 = call zeroext i1 @s2n_handshake_is_complete(ptr noundef %440) #11
  br i1 %441, label %466, label %442

442:                                              ; preds = %437
  %443 = tail call ptr @__errno_location() #12
  %444 = load i32, ptr %443, align 4, !tbaa !5
  %445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %446 = call i32 @s2n_print_stacktrace(ptr noundef %445) #11
  %447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %448 = trunc nuw i8 %447 to i1
  br i1 %448, label %449, label %453

449:                                              ; preds = %442
  %450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %451 = call i32 @fileno(ptr noundef %450) #11
  %452 = call i32 @isatty(i32 noundef %451) #11
  %.not1029 = icmp eq i32 %452, 0
  br i1 %.not1029, label %453, label %454

453:                                              ; preds = %449, %442
  br label %454

454:                                              ; preds = %449, %453
  %.str.11.sink1610 = phi ptr [ @.str.11, %453 ], [ @.str.8, %449 ]
  store i32 %444, ptr %443, align 4, !tbaa !5
  %455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %456 = load i32, ptr @test_count, align 4, !tbaa !5
  %457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %458 = load i32, ptr %457, align 4, !tbaa !5
  %459 = call ptr @s2n_strerror(i32 noundef %458, ptr noundef nonnull @.str.10) #11
  %460 = load i32, ptr %457, align 4, !tbaa !5
  %461 = call ptr @s2n_strerror_debug(i32 noundef %460, ptr noundef nonnull @.str.10) #11
  %462 = load i32, ptr %443, align 4, !tbaa !5
  %463 = call ptr @strerror(i32 noundef %462) #11
  %464 = load i32, ptr %443, align 4, !tbaa !5
  %465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %455, ptr noundef nonnull %.str.11.sink1610, i32 noundef %456, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.7, i32 noundef 72, ptr noundef %459, ptr noundef %461, ptr noundef %463, i32 noundef %464) #13
  call void @exit(i32 noundef 1) #14
  unreachable

466:                                              ; preds = %437
  %467 = load i32, ptr @test_count, align 4, !tbaa !5
  %468 = add nsw i32 %467, 1
  store i32 %468, ptr @test_count, align 4, !tbaa !5
  %469 = load ptr, ptr %7, align 8, !tbaa !9
  %470 = getelementptr inbounds i8, ptr %469, i64 2008
  %471 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %470) #11
  br i1 %471, label %472, label %496

472:                                              ; preds = %466
  %473 = tail call ptr @__errno_location() #12
  %474 = load i32, ptr %473, align 4, !tbaa !5
  %475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %476 = call i32 @s2n_print_stacktrace(ptr noundef %475) #11
  %477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %478 = trunc nuw i8 %477 to i1
  br i1 %478, label %479, label %483

479:                                              ; preds = %472
  %480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %481 = call i32 @fileno(ptr noundef %480) #11
  %482 = call i32 @isatty(i32 noundef %481) #11
  %.not1465 = icmp eq i32 %482, 0
  br i1 %.not1465, label %483, label %484

483:                                              ; preds = %479, %472
  br label %484

484:                                              ; preds = %479, %483
  %.str.11.sink1621 = phi ptr [ @.str.11, %483 ], [ @.str.8, %479 ]
  store i32 %474, ptr %473, align 4, !tbaa !5
  %485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %486 = load i32, ptr @test_count, align 4, !tbaa !5
  %487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %488 = load i32, ptr %487, align 4, !tbaa !5
  %489 = call ptr @s2n_strerror(i32 noundef %488, ptr noundef nonnull @.str.10) #11
  %490 = load i32, ptr %487, align 4, !tbaa !5
  %491 = call ptr @s2n_strerror_debug(i32 noundef %490, ptr noundef nonnull @.str.10) #11
  %492 = load i32, ptr %473, align 4, !tbaa !5
  %493 = call ptr @strerror(i32 noundef %492) #11
  %494 = load i32, ptr %473, align 4, !tbaa !5
  %495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %485, ptr noundef nonnull %.str.11.sink1621, i32 noundef %486, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.7, i32 noundef 73, ptr noundef %489, ptr noundef %491, ptr noundef %493, i32 noundef %494) #13
  call void @exit(i32 noundef 1) #14
  unreachable

496:                                              ; preds = %466
  %497 = load i32, ptr @test_count, align 4, !tbaa !5
  %498 = add nsw i32 %497, 1
  store i32 %498, ptr @test_count, align 4, !tbaa !5
  %499 = load ptr, ptr %7, align 8, !tbaa !9
  %500 = getelementptr inbounds i8, ptr %499, i64 2003
  %501 = load i8, ptr %500, align 1, !tbaa !15, !range !13, !noundef !14
  %502 = trunc nuw i8 %501 to i1
  br i1 %502, label %503, label %527

503:                                              ; preds = %496
  %504 = tail call ptr @__errno_location() #12
  %505 = load i32, ptr %504, align 4, !tbaa !5
  %506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %507 = call i32 @s2n_print_stacktrace(ptr noundef %506) #11
  %508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %509 = trunc nuw i8 %508 to i1
  br i1 %509, label %510, label %514

510:                                              ; preds = %503
  %511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %512 = call i32 @fileno(ptr noundef %511) #11
  %513 = call i32 @isatty(i32 noundef %512) #11
  %.not1464 = icmp eq i32 %513, 0
  br i1 %.not1464, label %514, label %515

514:                                              ; preds = %510, %503
  br label %515

515:                                              ; preds = %510, %514
  %.str.11.sink1632 = phi ptr [ @.str.11, %514 ], [ @.str.8, %510 ]
  store i32 %505, ptr %504, align 4, !tbaa !5
  %516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %517 = load i32, ptr @test_count, align 4, !tbaa !5
  %518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %519 = load i32, ptr %518, align 4, !tbaa !5
  %520 = call ptr @s2n_strerror(i32 noundef %519, ptr noundef nonnull @.str.10) #11
  %521 = load i32, ptr %518, align 4, !tbaa !5
  %522 = call ptr @s2n_strerror_debug(i32 noundef %521, ptr noundef nonnull @.str.10) #11
  %523 = load i32, ptr %504, align 4, !tbaa !5
  %524 = call ptr @strerror(i32 noundef %523) #11
  %525 = load i32, ptr %504, align 4, !tbaa !5
  %526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %516, ptr noundef nonnull %.str.11.sink1632, i32 noundef %517, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.7, i32 noundef 74, ptr noundef %520, ptr noundef %522, ptr noundef %524, i32 noundef %525) #13
  call void @exit(i32 noundef 1) #14
  unreachable

527:                                              ; preds = %496
  %528 = add nsw i32 %497, 2
  store i32 %528, ptr @test_count, align 4, !tbaa !5
  %529 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %499, i32 noundef 2) #11
  br i1 %529, label %554, label %530

530:                                              ; preds = %527
  %531 = tail call ptr @__errno_location() #12
  %532 = load i32, ptr %531, align 4, !tbaa !5
  %533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %534 = call i32 @s2n_print_stacktrace(ptr noundef %533) #11
  %535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %536 = trunc nuw i8 %535 to i1
  br i1 %536, label %537, label %541

537:                                              ; preds = %530
  %538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %539 = call i32 @fileno(ptr noundef %538) #11
  %540 = call i32 @isatty(i32 noundef %539) #11
  %.not1030 = icmp eq i32 %540, 0
  br i1 %.not1030, label %541, label %542

541:                                              ; preds = %537, %530
  br label %542

542:                                              ; preds = %537, %541
  %.str.11.sink1643 = phi ptr [ @.str.11, %541 ], [ @.str.8, %537 ]
  store i32 %532, ptr %531, align 4, !tbaa !5
  %543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %544 = load i32, ptr @test_count, align 4, !tbaa !5
  %545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %546 = load i32, ptr %545, align 4, !tbaa !5
  %547 = call ptr @s2n_strerror(i32 noundef %546, ptr noundef nonnull @.str.10) #11
  %548 = load i32, ptr %545, align 4, !tbaa !5
  %549 = call ptr @s2n_strerror_debug(i32 noundef %548, ptr noundef nonnull @.str.10) #11
  %550 = load i32, ptr %531, align 4, !tbaa !5
  %551 = call ptr @strerror(i32 noundef %550) #11
  %552 = load i32, ptr %531, align 4, !tbaa !5
  %553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %543, ptr noundef nonnull %.str.11.sink1643, i32 noundef %544, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.7, i32 noundef 75, ptr noundef %547, ptr noundef %549, ptr noundef %551, i32 noundef %552) #13
  call void @exit(i32 noundef 1) #14
  unreachable

554:                                              ; preds = %527
  %555 = load i32, ptr @test_count, align 4, !tbaa !5
  %556 = add nsw i32 %555, 1
  store i32 %556, ptr @test_count, align 4, !tbaa !5
  %557 = load ptr, ptr %7, align 8, !tbaa !9
  %558 = call i32 @s2n_queue_reader_handshake_failure_alert(ptr noundef %557) #11
  %559 = icmp eq i32 %558, -1
  br i1 %559, label %560, label %584

560:                                              ; preds = %554
  %561 = tail call ptr @__errno_location() #12
  %562 = load i32, ptr %561, align 4, !tbaa !5
  %563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %564 = call i32 @s2n_print_stacktrace(ptr noundef %563) #11
  %565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %566 = trunc nuw i8 %565 to i1
  br i1 %566, label %567, label %571

567:                                              ; preds = %560
  %568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %569 = call i32 @fileno(ptr noundef %568) #11
  %570 = call i32 @isatty(i32 noundef %569) #11
  %.not1463 = icmp eq i32 %570, 0
  br i1 %.not1463, label %571, label %572

571:                                              ; preds = %567, %560
  br label %572

572:                                              ; preds = %567, %571
  %.str.11.sink1654 = phi ptr [ @.str.11, %571 ], [ @.str.8, %567 ]
  store i32 %562, ptr %561, align 4, !tbaa !5
  %573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %574 = load i32, ptr @test_count, align 4, !tbaa !5
  %575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %576 = load i32, ptr %575, align 4, !tbaa !5
  %577 = call ptr @s2n_strerror(i32 noundef %576, ptr noundef nonnull @.str.10) #11
  %578 = load i32, ptr %575, align 4, !tbaa !5
  %579 = call ptr @s2n_strerror_debug(i32 noundef %578, ptr noundef nonnull @.str.10) #11
  %580 = load i32, ptr %561, align 4, !tbaa !5
  %581 = call ptr @strerror(i32 noundef %580) #11
  %582 = load i32, ptr %561, align 4, !tbaa !5
  %583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %573, ptr noundef nonnull %.str.11.sink1654, i32 noundef %574, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.7, i32 noundef 78, ptr noundef %577, ptr noundef %579, ptr noundef %581, i32 noundef %582) #13
  call void @exit(i32 noundef 1) #14
  unreachable

584:                                              ; preds = %554
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #11
  store i32 0, ptr %9, align 4, !tbaa !5
  %585 = load i32, ptr @test_count, align 4, !tbaa !5
  %586 = add nsw i32 %585, 1
  store i32 %586, ptr @test_count, align 4, !tbaa !5
  %587 = load ptr, ptr %7, align 8, !tbaa !9
  %588 = call i32 @s2n_shutdown(ptr noundef %587, ptr noundef nonnull %9)
  %589 = icmp eq i32 %588, -1
  br i1 %589, label %590, label %614

590:                                              ; preds = %584
  %591 = tail call ptr @__errno_location() #12
  %592 = load i32, ptr %591, align 4, !tbaa !5
  %593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %594 = call i32 @s2n_print_stacktrace(ptr noundef %593) #11
  %595 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %596 = trunc nuw i8 %595 to i1
  br i1 %596, label %597, label %601

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

601:                                              ; preds = %597, %590
  br label %602

602:                                              ; preds = %597, %601
  %.str.11.sink1665 = phi ptr [ @.str.11, %601 ], [ @.str.8, %597 ]
  store i32 %592, ptr %591, align 4, !tbaa !5
  %603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %604 = load i32, ptr @test_count, align 4, !tbaa !5
  %605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %606 = load i32, ptr %605, align 4, !tbaa !5
  %607 = call ptr @s2n_strerror(i32 noundef %606, ptr noundef nonnull @.str.10) #11
  %608 = load i32, ptr %605, align 4, !tbaa !5
  %609 = call ptr @s2n_strerror_debug(i32 noundef %608, ptr noundef nonnull @.str.10) #11
  %610 = load i32, ptr %591, align 4, !tbaa !5
  %611 = call ptr @strerror(i32 noundef %610) #11
  %612 = load i32, ptr %591, align 4, !tbaa !5
  %613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %603, ptr noundef nonnull %.str.11.sink1665, i32 noundef %604, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.7, i32 noundef 81, ptr noundef %607, ptr noundef %609, ptr noundef %611, i32 noundef %612) #13
  call void @exit(i32 noundef 1) #14
  unreachable

614:                                              ; preds = %584
  %615 = load i32, ptr @test_count, align 4, !tbaa !5
  %616 = add nsw i32 %615, 1
  store i32 %616, ptr @test_count, align 4, !tbaa !5
  %617 = load ptr, ptr %7, align 8, !tbaa !9
  %618 = call zeroext i1 @s2n_handshake_is_complete(ptr noundef %617) #11
  br i1 %618, label %643, label %619

619:                                              ; preds = %614
  %620 = tail call ptr @__errno_location() #12
  %621 = load i32, ptr %620, align 4, !tbaa !5
  %622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %623 = call i32 @s2n_print_stacktrace(ptr noundef %622) #11
  %624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %625 = trunc nuw i8 %624 to i1
  br i1 %625, label %626, label %630

626:                                              ; preds = %619
  %627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %628 = call i32 @fileno(ptr noundef %627) #11
  %629 = call i32 @isatty(i32 noundef %628) #11
  %.not1031 = icmp eq i32 %629, 0
  br i1 %.not1031, label %630, label %631

630:                                              ; preds = %626, %619
  br label %631

631:                                              ; preds = %626, %630
  %.str.11.sink1676 = phi ptr [ @.str.11, %630 ], [ @.str.8, %626 ]
  store i32 %621, ptr %620, align 4, !tbaa !5
  %632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %633 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %635, ptr noundef nonnull @.str.10) #11
  %637 = load i32, ptr %634, align 4, !tbaa !5
  %638 = call ptr @s2n_strerror_debug(i32 noundef %637, ptr noundef nonnull @.str.10) #11
  %639 = load i32, ptr %620, align 4, !tbaa !5
  %640 = call ptr @strerror(i32 noundef %639) #11
  %641 = load i32, ptr %620, align 4, !tbaa !5
  %642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %632, ptr noundef nonnull %.str.11.sink1676, i32 noundef %633, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.7, i32 noundef 84, ptr noundef %636, ptr noundef %638, ptr noundef %640, i32 noundef %641) #13
  call void @exit(i32 noundef 1) #14
  unreachable

643:                                              ; preds = %614
  %644 = load i32, ptr @test_count, align 4, !tbaa !5
  %645 = add nsw i32 %644, 1
  store i32 %645, ptr @test_count, align 4, !tbaa !5
  %646 = load ptr, ptr %7, align 8, !tbaa !9
  %647 = getelementptr inbounds i8, ptr %646, i64 2008
  %648 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %647) #11
  br i1 %648, label %649, label %673

649:                                              ; preds = %643
  %650 = tail call ptr @__errno_location() #12
  %651 = load i32, ptr %650, align 4, !tbaa !5
  %652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %653 = call i32 @s2n_print_stacktrace(ptr noundef %652) #11
  %654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %655 = trunc nuw i8 %654 to i1
  br i1 %655, label %656, label %660

656:                                              ; preds = %649
  %657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %658 = call i32 @fileno(ptr noundef %657) #11
  %659 = call i32 @isatty(i32 noundef %658) #11
  %.not1461 = icmp eq i32 %659, 0
  br i1 %.not1461, label %660, label %661

660:                                              ; preds = %656, %649
  br label %661

661:                                              ; preds = %656, %660
  %.str.11.sink1687 = phi ptr [ @.str.11, %660 ], [ @.str.8, %656 ]
  store i32 %651, ptr %650, align 4, !tbaa !5
  %662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %663 = load i32, ptr @test_count, align 4, !tbaa !5
  %664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %665 = load i32, ptr %664, align 4, !tbaa !5
  %666 = call ptr @s2n_strerror(i32 noundef %665, ptr noundef nonnull @.str.10) #11
  %667 = load i32, ptr %664, align 4, !tbaa !5
  %668 = call ptr @s2n_strerror_debug(i32 noundef %667, ptr noundef nonnull @.str.10) #11
  %669 = load i32, ptr %650, align 4, !tbaa !5
  %670 = call ptr @strerror(i32 noundef %669) #11
  %671 = load i32, ptr %650, align 4, !tbaa !5
  %672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %662, ptr noundef nonnull %.str.11.sink1687, i32 noundef %663, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.7, i32 noundef 85, ptr noundef %666, ptr noundef %668, ptr noundef %670, i32 noundef %671) #13
  call void @exit(i32 noundef 1) #14
  unreachable

673:                                              ; preds = %643
  %674 = load i32, ptr @test_count, align 4, !tbaa !5
  %675 = add nsw i32 %674, 1
  store i32 %675, ptr @test_count, align 4, !tbaa !5
  %676 = load ptr, ptr %7, align 8, !tbaa !9
  %677 = getelementptr inbounds i8, ptr %676, i64 2003
  %678 = load i8, ptr %677, align 1, !tbaa !15, !range !13, !noundef !14
  %679 = trunc nuw i8 %678 to i1
  br i1 %679, label %704, label %680

680:                                              ; preds = %673
  %681 = tail call ptr @__errno_location() #12
  %682 = load i32, ptr %681, align 4, !tbaa !5
  %683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %684 = call i32 @s2n_print_stacktrace(ptr noundef %683) #11
  %685 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %686 = trunc nuw i8 %685 to i1
  br i1 %686, label %687, label %691

687:                                              ; preds = %680
  %688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %689 = call i32 @fileno(ptr noundef %688) #11
  %690 = call i32 @isatty(i32 noundef %689) #11
  %.not1032 = icmp eq i32 %690, 0
  br i1 %.not1032, label %691, label %692

691:                                              ; preds = %687, %680
  br label %692

692:                                              ; preds = %687, %691
  %.str.11.sink1698 = phi ptr [ @.str.11, %691 ], [ @.str.8, %687 ]
  store i32 %682, ptr %681, align 4, !tbaa !5
  %693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %694 = load i32, ptr @test_count, align 4, !tbaa !5
  %695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %696 = load i32, ptr %695, align 4, !tbaa !5
  %697 = call ptr @s2n_strerror(i32 noundef %696, ptr noundef nonnull @.str.10) #11
  %698 = load i32, ptr %695, align 4, !tbaa !5
  %699 = call ptr @s2n_strerror_debug(i32 noundef %698, ptr noundef nonnull @.str.10) #11
  %700 = load i32, ptr %681, align 4, !tbaa !5
  %701 = call ptr @strerror(i32 noundef %700) #11
  %702 = load i32, ptr %681, align 4, !tbaa !5
  %703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %693, ptr noundef nonnull %.str.11.sink1698, i32 noundef %694, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.7, i32 noundef 86, ptr noundef %697, ptr noundef %699, ptr noundef %701, i32 noundef %702) #13
  call void @exit(i32 noundef 1) #14
  unreachable

704:                                              ; preds = %673
  %705 = add nsw i32 %674, 2
  store i32 %705, ptr @test_count, align 4, !tbaa !5
  %706 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %676, i32 noundef 3) #11
  br i1 %706, label %731, label %707

707:                                              ; preds = %704
  %708 = tail call ptr @__errno_location() #12
  %709 = load i32, ptr %708, align 4, !tbaa !5
  %710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %711 = call i32 @s2n_print_stacktrace(ptr noundef %710) #11
  %712 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %713 = trunc nuw i8 %712 to i1
  br i1 %713, label %714, label %718

714:                                              ; preds = %707
  %715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %716 = call i32 @fileno(ptr noundef %715) #11
  %717 = call i32 @isatty(i32 noundef %716) #11
  %.not1033 = icmp eq i32 %717, 0
  br i1 %.not1033, label %718, label %719

718:                                              ; preds = %714, %707
  br label %719

719:                                              ; preds = %714, %718
  %.str.11.sink1709 = phi ptr [ @.str.11, %718 ], [ @.str.8, %714 ]
  store i32 %709, ptr %708, align 4, !tbaa !5
  %720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %721 = load i32, ptr @test_count, align 4, !tbaa !5
  %722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %723 = load i32, ptr %722, align 4, !tbaa !5
  %724 = call ptr @s2n_strerror(i32 noundef %723, ptr noundef nonnull @.str.10) #11
  %725 = load i32, ptr %722, align 4, !tbaa !5
  %726 = call ptr @s2n_strerror_debug(i32 noundef %725, ptr noundef nonnull @.str.10) #11
  %727 = load i32, ptr %708, align 4, !tbaa !5
  %728 = call ptr @strerror(i32 noundef %727) #11
  %729 = load i32, ptr %708, align 4, !tbaa !5
  %730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %720, ptr noundef nonnull %.str.11.sink1709, i32 noundef %721, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.7, i32 noundef 87, ptr noundef %724, ptr noundef %726, ptr noundef %728, i32 noundef %729) #13
  call void @exit(i32 noundef 1) #14
  unreachable

731:                                              ; preds = %704
  %732 = load i32, ptr @test_count, align 4, !tbaa !5
  %733 = add nsw i32 %732, 1
  store i32 %733, ptr @test_count, align 4, !tbaa !5
  %734 = getelementptr inbounds i8, ptr %8, i64 28
  %735 = load i32, ptr %734, align 4, !tbaa !42
  %736 = getelementptr inbounds i8, ptr %8, i64 24
  %737 = load i32, ptr %736, align 8, !tbaa !43
  %738 = sub i32 %735, %737
  %739 = icmp eq i32 %738, 7
  br i1 %739, label %764, label %740

740:                                              ; preds = %731
  %741 = tail call ptr @__errno_location() #12
  %742 = load i32, ptr %741, align 4, !tbaa !5
  %743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %744 = call i32 @s2n_print_stacktrace(ptr noundef %743) #11
  %745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %746 = trunc nuw i8 %745 to i1
  br i1 %746, label %747, label %751

747:                                              ; preds = %740
  %748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %749 = call i32 @fileno(ptr noundef %748) #11
  %750 = call i32 @isatty(i32 noundef %749) #11
  %.not1034 = icmp eq i32 %750, 0
  br i1 %.not1034, label %751, label %752

751:                                              ; preds = %747, %740
  br label %752

752:                                              ; preds = %747, %751
  %.str.11.sink1720 = phi ptr [ @.str.11, %751 ], [ @.str.8, %747 ]
  store i32 %742, ptr %741, align 4, !tbaa !5
  %753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %754 = load i32, ptr @test_count, align 4, !tbaa !5
  %755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %756 = load i32, ptr %755, align 4, !tbaa !5
  %757 = call ptr @s2n_strerror(i32 noundef %756, ptr noundef nonnull @.str.10) #11
  %758 = load i32, ptr %755, align 4, !tbaa !5
  %759 = call ptr @s2n_strerror_debug(i32 noundef %758, ptr noundef nonnull @.str.10) #11
  %760 = load i32, ptr %741, align 4, !tbaa !5
  %761 = call ptr @strerror(i32 noundef %760) #11
  %762 = load i32, ptr %741, align 4, !tbaa !5
  %763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %753, ptr noundef nonnull %.str.11.sink1720, i32 noundef %754, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.7, i32 noundef 90, ptr noundef %757, ptr noundef %759, ptr noundef %761, i32 noundef %762) #13
  call void @exit(i32 noundef 1) #14
  unreachable

764:                                              ; preds = %731
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) #11
  store i8 0, ptr %10, align 1, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %11) #11
  store i8 0, ptr %11, align 1, !tbaa !44
  %765 = add nsw i32 %732, 2
  store i32 %765, ptr @test_count, align 4, !tbaa !5
  %766 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %8, i32 noundef 5) #11
  %767 = icmp eq i32 %766, -1
  br i1 %767, label %768, label %792

768:                                              ; preds = %764
  %769 = tail call ptr @__errno_location() #12
  %770 = load i32, ptr %769, align 4, !tbaa !5
  %771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %772 = call i32 @s2n_print_stacktrace(ptr noundef %771) #11
  %773 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %774 = trunc nuw i8 %773 to i1
  br i1 %774, label %775, label %779

775:                                              ; preds = %768
  %776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %777 = call i32 @fileno(ptr noundef %776) #11
  %778 = call i32 @isatty(i32 noundef %777) #11
  %.not1460 = icmp eq i32 %778, 0
  br i1 %.not1460, label %779, label %780

779:                                              ; preds = %775, %768
  br label %780

780:                                              ; preds = %775, %779
  %.str.11.sink1731 = phi ptr [ @.str.11, %779 ], [ @.str.8, %775 ]
  store i32 %770, ptr %769, align 4, !tbaa !5
  %781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %782 = load i32, ptr @test_count, align 4, !tbaa !5
  %783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %784 = load i32, ptr %783, align 4, !tbaa !5
  %785 = call ptr @s2n_strerror(i32 noundef %784, ptr noundef nonnull @.str.10) #11
  %786 = load i32, ptr %783, align 4, !tbaa !5
  %787 = call ptr @s2n_strerror_debug(i32 noundef %786, ptr noundef nonnull @.str.10) #11
  %788 = load i32, ptr %769, align 4, !tbaa !5
  %789 = call ptr @strerror(i32 noundef %788) #11
  %790 = load i32, ptr %769, align 4, !tbaa !5
  %791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %781, ptr noundef nonnull %.str.11.sink1731, i32 noundef %782, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.7, i32 noundef 94, ptr noundef %785, ptr noundef %787, ptr noundef %789, i32 noundef %790) #13
  call void @exit(i32 noundef 1) #14
  unreachable

792:                                              ; preds = %764
  %793 = load i32, ptr @test_count, align 4, !tbaa !5
  %794 = add nsw i32 %793, 1
  store i32 %794, ptr @test_count, align 4, !tbaa !5
  %795 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %8, ptr noundef nonnull %10) #11
  %796 = icmp eq i32 %795, -1
  br i1 %796, label %797, label %821

797:                                              ; preds = %792
  %798 = tail call ptr @__errno_location() #12
  %799 = load i32, ptr %798, align 4, !tbaa !5
  %800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %801 = call i32 @s2n_print_stacktrace(ptr noundef %800) #11
  %802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %803 = trunc nuw i8 %802 to i1
  br i1 %803, label %804, label %808

804:                                              ; preds = %797
  %805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %806 = call i32 @fileno(ptr noundef %805) #11
  %807 = call i32 @isatty(i32 noundef %806) #11
  %.not1459 = icmp eq i32 %807, 0
  br i1 %.not1459, label %808, label %809

808:                                              ; preds = %804, %797
  br label %809

809:                                              ; preds = %804, %808
  %.str.11.sink1742 = phi ptr [ @.str.11, %808 ], [ @.str.8, %804 ]
  store i32 %799, ptr %798, align 4, !tbaa !5
  %810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %811 = load i32, ptr @test_count, align 4, !tbaa !5
  %812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %813 = load i32, ptr %812, align 4, !tbaa !5
  %814 = call ptr @s2n_strerror(i32 noundef %813, ptr noundef nonnull @.str.10) #11
  %815 = load i32, ptr %812, align 4, !tbaa !5
  %816 = call ptr @s2n_strerror_debug(i32 noundef %815, ptr noundef nonnull @.str.10) #11
  %817 = load i32, ptr %798, align 4, !tbaa !5
  %818 = call ptr @strerror(i32 noundef %817) #11
  %819 = load i32, ptr %798, align 4, !tbaa !5
  %820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %810, ptr noundef nonnull %.str.11.sink1742, i32 noundef %811, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.7, i32 noundef 95, ptr noundef %814, ptr noundef %816, ptr noundef %818, i32 noundef %819) #13
  call void @exit(i32 noundef 1) #14
  unreachable

821:                                              ; preds = %792
  %822 = load i32, ptr @test_count, align 4, !tbaa !5
  %823 = add nsw i32 %822, 1
  store i32 %823, ptr @test_count, align 4, !tbaa !5
  %824 = load i8, ptr %10, align 1, !tbaa !44
  %825 = icmp eq i8 %824, 2
  br i1 %825, label %850, label %826

826:                                              ; preds = %821
  %827 = tail call ptr @__errno_location() #12
  %828 = load i32, ptr %827, align 4, !tbaa !5
  %829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %830 = call i32 @s2n_print_stacktrace(ptr noundef %829) #11
  %831 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %832 = trunc nuw i8 %831 to i1
  br i1 %832, label %833, label %837

833:                                              ; preds = %826
  %834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %835 = call i32 @fileno(ptr noundef %834) #11
  %836 = call i32 @isatty(i32 noundef %835) #11
  %.not1035 = icmp eq i32 %836, 0
  br i1 %.not1035, label %837, label %838

837:                                              ; preds = %833, %826
  br label %838

838:                                              ; preds = %833, %837
  %.str.11.sink1753 = phi ptr [ @.str.11, %837 ], [ @.str.8, %833 ]
  store i32 %828, ptr %827, align 4, !tbaa !5
  %839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %840 = load i32, ptr @test_count, align 4, !tbaa !5
  %841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %842 = load i32, ptr %841, align 4, !tbaa !5
  %843 = call ptr @s2n_strerror(i32 noundef %842, ptr noundef nonnull @.str.10) #11
  %844 = load i32, ptr %841, align 4, !tbaa !5
  %845 = call ptr @s2n_strerror_debug(i32 noundef %844, ptr noundef nonnull @.str.10) #11
  %846 = load i32, ptr %827, align 4, !tbaa !5
  %847 = call ptr @strerror(i32 noundef %846) #11
  %848 = load i32, ptr %827, align 4, !tbaa !5
  %849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %839, ptr noundef nonnull %.str.11.sink1753, i32 noundef %840, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.7, i32 noundef 96, ptr noundef %843, ptr noundef %845, ptr noundef %847, i32 noundef %848) #13
  call void @exit(i32 noundef 1) #14
  unreachable

850:                                              ; preds = %821
  %851 = add nsw i32 %822, 2
  store i32 %851, ptr @test_count, align 4, !tbaa !5
  %852 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %8, ptr noundef nonnull %11) #11
  %853 = icmp eq i32 %852, -1
  br i1 %853, label %854, label %878

854:                                              ; preds = %850
  %855 = tail call ptr @__errno_location() #12
  %856 = load i32, ptr %855, align 4, !tbaa !5
  %857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %858 = call i32 @s2n_print_stacktrace(ptr noundef %857) #11
  %859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %860 = trunc nuw i8 %859 to i1
  br i1 %860, label %861, label %865

861:                                              ; preds = %854
  %862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %863 = call i32 @fileno(ptr noundef %862) #11
  %864 = call i32 @isatty(i32 noundef %863) #11
  %.not1458 = icmp eq i32 %864, 0
  br i1 %.not1458, label %865, label %866

865:                                              ; preds = %861, %854
  br label %866

866:                                              ; preds = %861, %865
  %.str.11.sink1764 = phi ptr [ @.str.11, %865 ], [ @.str.8, %861 ]
  store i32 %856, ptr %855, align 4, !tbaa !5
  %867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %868 = load i32, ptr @test_count, align 4, !tbaa !5
  %869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %870 = load i32, ptr %869, align 4, !tbaa !5
  %871 = call ptr @s2n_strerror(i32 noundef %870, ptr noundef nonnull @.str.10) #11
  %872 = load i32, ptr %869, align 4, !tbaa !5
  %873 = call ptr @s2n_strerror_debug(i32 noundef %872, ptr noundef nonnull @.str.10) #11
  %874 = load i32, ptr %855, align 4, !tbaa !5
  %875 = call ptr @strerror(i32 noundef %874) #11
  %876 = load i32, ptr %855, align 4, !tbaa !5
  %877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %867, ptr noundef nonnull %.str.11.sink1764, i32 noundef %868, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.7, i32 noundef 97, ptr noundef %871, ptr noundef %873, ptr noundef %875, i32 noundef %876) #13
  call void @exit(i32 noundef 1) #14
  unreachable

878:                                              ; preds = %850
  %879 = load i32, ptr @test_count, align 4, !tbaa !5
  %880 = add nsw i32 %879, 1
  store i32 %880, ptr @test_count, align 4, !tbaa !5
  %881 = load i8, ptr %11, align 1, !tbaa !44
  %882 = icmp eq i8 %881, 40
  br i1 %882, label %907, label %883

883:                                              ; preds = %878
  %884 = tail call ptr @__errno_location() #12
  %885 = load i32, ptr %884, align 4, !tbaa !5
  %886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %887 = call i32 @s2n_print_stacktrace(ptr noundef %886) #11
  %888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %889 = trunc nuw i8 %888 to i1
  br i1 %889, label %890, label %894

890:                                              ; preds = %883
  %891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %892 = call i32 @fileno(ptr noundef %891) #11
  %893 = call i32 @isatty(i32 noundef %892) #11
  %.not1036 = icmp eq i32 %893, 0
  br i1 %.not1036, label %894, label %895

894:                                              ; preds = %890, %883
  br label %895

895:                                              ; preds = %890, %894
  %.str.11.sink1775 = phi ptr [ @.str.11, %894 ], [ @.str.8, %890 ]
  store i32 %885, ptr %884, align 4, !tbaa !5
  %896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %897 = load i32, ptr @test_count, align 4, !tbaa !5
  %898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %899 = load i32, ptr %898, align 4, !tbaa !5
  %900 = call ptr @s2n_strerror(i32 noundef %899, ptr noundef nonnull @.str.10) #11
  %901 = load i32, ptr %898, align 4, !tbaa !5
  %902 = call ptr @s2n_strerror_debug(i32 noundef %901, ptr noundef nonnull @.str.10) #11
  %903 = load i32, ptr %884, align 4, !tbaa !5
  %904 = call ptr @strerror(i32 noundef %903) #11
  %905 = load i32, ptr %884, align 4, !tbaa !5
  %906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %896, ptr noundef nonnull %.str.11.sink1775, i32 noundef %897, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.7, i32 noundef 98, ptr noundef %900, ptr noundef %902, ptr noundef %904, i32 noundef %905) #13
  call void @exit(i32 noundef 1) #14
  unreachable

907:                                              ; preds = %878
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #11
  %908 = call i32 @s2n_stuffer_free(ptr noundef nonnull %8) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %8) #11
  %909 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %7) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #11
  %910 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %910, ptr %12, align 8, !tbaa !9
  %911 = load i32, ptr @test_count, align 4, !tbaa !5
  %912 = add nsw i32 %911, 1
  store i32 %912, ptr @test_count, align 4, !tbaa !5
  %913 = icmp eq ptr %910, null
  br i1 %913, label %914, label %938

914:                                              ; preds = %907
  %915 = tail call ptr @__errno_location() #12
  %916 = load i32, ptr %915, align 4, !tbaa !5
  %917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %918 = call i32 @s2n_print_stacktrace(ptr noundef %917) #11
  %919 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %920 = trunc nuw i8 %919 to i1
  br i1 %920, label %921, label %925

921:                                              ; preds = %914
  %922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %923 = call i32 @fileno(ptr noundef %922) #11
  %924 = call i32 @isatty(i32 noundef %923) #11
  %.not1457 = icmp eq i32 %924, 0
  br i1 %.not1457, label %925, label %926

925:                                              ; preds = %921, %914
  br label %926

926:                                              ; preds = %921, %925
  %.str.11.sink1786 = phi ptr [ @.str.11, %925 ], [ @.str.8, %921 ]
  store i32 %916, ptr %915, align 4, !tbaa !5
  %927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %928 = load i32, ptr @test_count, align 4, !tbaa !5
  %929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %930 = load i32, ptr %929, align 4, !tbaa !5
  %931 = call ptr @s2n_strerror(i32 noundef %930, ptr noundef nonnull @.str.10) #11
  %932 = load i32, ptr %929, align 4, !tbaa !5
  %933 = call ptr @s2n_strerror_debug(i32 noundef %932, ptr noundef nonnull @.str.10) #11
  %934 = load i32, ptr %915, align 4, !tbaa !5
  %935 = call ptr @strerror(i32 noundef %934) #11
  %936 = load i32, ptr %915, align 4, !tbaa !5
  %937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %927, ptr noundef nonnull %.str.11.sink1786, i32 noundef %928, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.7, i32 noundef 105, ptr noundef %931, ptr noundef %933, ptr noundef %935, i32 noundef %936) #13
  call void @exit(i32 noundef 1) #14
  unreachable

938:                                              ; preds = %907
  %939 = add nsw i32 %911, 2
  store i32 %939, ptr @test_count, align 4, !tbaa !5
  %940 = call i32 @s2n_skip_handshake(ptr noundef nonnull %910) #11
  %941 = call zeroext i1 @s2n_result_is_ok(i32 %940)
  br i1 %941, label %966, label %942

942:                                              ; preds = %938
  %943 = tail call ptr @__errno_location() #12
  %944 = load i32, ptr %943, align 4, !tbaa !5
  %945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %946 = call i32 @s2n_print_stacktrace(ptr noundef %945) #11
  %947 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %948 = trunc nuw i8 %947 to i1
  br i1 %948, label %949, label %953

949:                                              ; preds = %942
  %950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %951 = call i32 @fileno(ptr noundef %950) #11
  %952 = call i32 @isatty(i32 noundef %951) #11
  %.not1037 = icmp eq i32 %952, 0
  br i1 %.not1037, label %953, label %954

953:                                              ; preds = %949, %942
  br label %954

954:                                              ; preds = %949, %953
  %.str.11.sink1797 = phi ptr [ @.str.11, %953 ], [ @.str.8, %949 ]
  store i32 %944, ptr %943, 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 nonnull @.str.10) #11
  %960 = load i32, ptr %957, align 4, !tbaa !5
  %961 = call ptr @s2n_strerror_debug(i32 noundef %960, ptr noundef nonnull @.str.10) #11
  %962 = load i32, ptr %943, align 4, !tbaa !5
  %963 = call ptr @strerror(i32 noundef %962) #11
  %964 = load i32, ptr %943, align 4, !tbaa !5
  %965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %955, ptr noundef nonnull %.str.11.sink1797, i32 noundef %956, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.7, i32 noundef 106, ptr noundef %959, ptr noundef %961, ptr noundef %963, i32 noundef %964) #13
  call void @exit(i32 noundef 1) #14
  unreachable

966:                                              ; preds = %938
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %13) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %13, i8 0, i64 40, i1 false)
  %967 = load i32, ptr @test_count, align 4, !tbaa !5
  %968 = add nsw i32 %967, 1
  store i32 %968, ptr @test_count, align 4, !tbaa !5
  %969 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %13, i32 noundef 0) #11
  %970 = icmp eq i32 %969, -1
  br i1 %970, label %971, label %995

971:                                              ; preds = %966
  %972 = tail call ptr @__errno_location() #12
  %973 = load i32, ptr %972, align 4, !tbaa !5
  %974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %975 = call i32 @s2n_print_stacktrace(ptr noundef %974) #11
  %976 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %977 = trunc nuw i8 %976 to i1
  br i1 %977, label %978, label %982

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

982:                                              ; preds = %978, %971
  br label %983

983:                                              ; preds = %978, %982
  %.str.11.sink1808 = phi ptr [ @.str.11, %982 ], [ @.str.8, %978 ]
  store i32 %973, ptr %972, align 4, !tbaa !5
  %984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %985 = load i32, ptr @test_count, align 4, !tbaa !5
  %986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %987 = load i32, ptr %986, align 4, !tbaa !5
  %988 = call ptr @s2n_strerror(i32 noundef %987, ptr noundef nonnull @.str.10) #11
  %989 = load i32, ptr %986, align 4, !tbaa !5
  %990 = call ptr @s2n_strerror_debug(i32 noundef %989, ptr noundef nonnull @.str.10) #11
  %991 = load i32, ptr %972, align 4, !tbaa !5
  %992 = call ptr @strerror(i32 noundef %991) #11
  %993 = load i32, ptr %972, align 4, !tbaa !5
  %994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %984, ptr noundef nonnull %.str.11.sink1808, i32 noundef %985, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.7, i32 noundef 109, ptr noundef %988, ptr noundef %990, ptr noundef %992, i32 noundef %993) #13
  call void @exit(i32 noundef 1) #14
  unreachable

995:                                              ; preds = %966
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %14) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %14, i8 0, i64 40, i1 false)
  %996 = load i32, ptr @test_count, align 4, !tbaa !5
  %997 = add nsw i32 %996, 1
  store i32 %997, ptr @test_count, align 4, !tbaa !5
  %998 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %14, i32 noundef 0) #11
  %999 = icmp eq i32 %998, -1
  br i1 %999, label %1000, label %1024

1000:                                             ; preds = %995
  %1001 = tail call ptr @__errno_location() #12
  %1002 = load i32, ptr %1001, align 4, !tbaa !5
  %1003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1004 = call i32 @s2n_print_stacktrace(ptr noundef %1003) #11
  %1005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1006 = trunc nuw i8 %1005 to i1
  br i1 %1006, label %1007, label %1011

1007:                                             ; preds = %1000
  %1008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1009 = call i32 @fileno(ptr noundef %1008) #11
  %1010 = call i32 @isatty(i32 noundef %1009) #11
  %.not1455 = icmp eq i32 %1010, 0
  br i1 %.not1455, label %1011, label %1012

1011:                                             ; preds = %1007, %1000
  br label %1012

1012:                                             ; preds = %1007, %1011
  %.str.11.sink1819 = phi ptr [ @.str.11, %1011 ], [ @.str.8, %1007 ]
  store i32 %1002, ptr %1001, align 4, !tbaa !5
  %1013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1014 = load i32, ptr @test_count, align 4, !tbaa !5
  %1015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1016 = load i32, ptr %1015, align 4, !tbaa !5
  %1017 = call ptr @s2n_strerror(i32 noundef %1016, ptr noundef nonnull @.str.10) #11
  %1018 = load i32, ptr %1015, align 4, !tbaa !5
  %1019 = call ptr @s2n_strerror_debug(i32 noundef %1018, ptr noundef nonnull @.str.10) #11
  %1020 = load i32, ptr %1001, align 4, !tbaa !5
  %1021 = call ptr @strerror(i32 noundef %1020) #11
  %1022 = load i32, ptr %1001, align 4, !tbaa !5
  %1023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1013, ptr noundef nonnull %.str.11.sink1819, i32 noundef %1014, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.7, i32 noundef 111, ptr noundef %1017, ptr noundef %1019, ptr noundef %1021, i32 noundef %1022) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1024:                                             ; preds = %995
  %1025 = load i32, ptr @test_count, align 4, !tbaa !5
  %1026 = add nsw i32 %1025, 1
  store i32 %1026, ptr @test_count, align 4, !tbaa !5
  %1027 = load ptr, ptr %12, align 8, !tbaa !9
  %1028 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %13, ptr noundef nonnull %14, ptr noundef %1027) #11
  %1029 = icmp eq i32 %1028, -1
  br i1 %1029, label %1030, label %1054

1030:                                             ; preds = %1024
  %1031 = tail call ptr @__errno_location() #12
  %1032 = load i32, ptr %1031, align 4, !tbaa !5
  %1033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1034 = call i32 @s2n_print_stacktrace(ptr noundef %1033) #11
  %1035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1036 = trunc nuw i8 %1035 to i1
  br i1 %1036, label %1037, label %1041

1037:                                             ; preds = %1030
  %1038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1039 = call i32 @fileno(ptr noundef %1038) #11
  %1040 = call i32 @isatty(i32 noundef %1039) #11
  %.not1454 = icmp eq i32 %1040, 0
  br i1 %.not1454, label %1041, label %1042

1041:                                             ; preds = %1037, %1030
  br label %1042

1042:                                             ; preds = %1037, %1041
  %.str.11.sink1830 = phi ptr [ @.str.11, %1041 ], [ @.str.8, %1037 ]
  store i32 %1032, ptr %1031, align 4, !tbaa !5
  %1043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1044 = load i32, ptr @test_count, align 4, !tbaa !5
  %1045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1046 = load i32, ptr %1045, align 4, !tbaa !5
  %1047 = call ptr @s2n_strerror(i32 noundef %1046, ptr noundef nonnull @.str.10) #11
  %1048 = load i32, ptr %1045, align 4, !tbaa !5
  %1049 = call ptr @s2n_strerror_debug(i32 noundef %1048, ptr noundef nonnull @.str.10) #11
  %1050 = load i32, ptr %1031, align 4, !tbaa !5
  %1051 = call ptr @strerror(i32 noundef %1050) #11
  %1052 = load i32, ptr %1031, align 4, !tbaa !5
  %1053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1043, ptr noundef nonnull %.str.11.sink1830, i32 noundef %1044, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.7, i32 noundef 112, ptr noundef %1047, ptr noundef %1049, ptr noundef %1051, i32 noundef %1052) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1054:                                             ; preds = %1024
  %1055 = load i32, ptr @test_count, align 4, !tbaa !5
  %1056 = add nsw i32 %1055, 1
  store i32 %1056, ptr @test_count, align 4, !tbaa !5
  %1057 = load ptr, ptr %12, align 8, !tbaa !9
  %1058 = call zeroext i1 @s2n_handshake_is_complete(ptr noundef %1057) #11
  br i1 %1058, label %1083, label %1059

1059:                                             ; preds = %1054
  %1060 = tail call ptr @__errno_location() #12
  %1061 = load i32, ptr %1060, align 4, !tbaa !5
  %1062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1063 = call i32 @s2n_print_stacktrace(ptr noundef %1062) #11
  %1064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1065 = trunc nuw i8 %1064 to i1
  br i1 %1065, label %1066, label %1070

1066:                                             ; preds = %1059
  %1067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1068 = call i32 @fileno(ptr noundef %1067) #11
  %1069 = call i32 @isatty(i32 noundef %1068) #11
  %.not1038 = icmp eq i32 %1069, 0
  br i1 %.not1038, label %1070, label %1071

1070:                                             ; preds = %1066, %1059
  br label %1071

1071:                                             ; preds = %1066, %1070
  %.str.11.sink1841 = phi ptr [ @.str.11, %1070 ], [ @.str.8, %1066 ]
  store i32 %1061, ptr %1060, align 4, !tbaa !5
  %1072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1073 = load i32, ptr @test_count, align 4, !tbaa !5
  %1074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1075 = load i32, ptr %1074, align 4, !tbaa !5
  %1076 = call ptr @s2n_strerror(i32 noundef %1075, ptr noundef nonnull @.str.10) #11
  %1077 = load i32, ptr %1074, align 4, !tbaa !5
  %1078 = call ptr @s2n_strerror_debug(i32 noundef %1077, ptr noundef nonnull @.str.10) #11
  %1079 = load i32, ptr %1060, align 4, !tbaa !5
  %1080 = call ptr @strerror(i32 noundef %1079) #11
  %1081 = load i32, ptr %1060, align 4, !tbaa !5
  %1082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1072, ptr noundef nonnull %.str.11.sink1841, i32 noundef %1073, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.7, i32 noundef 115, ptr noundef %1076, ptr noundef %1078, ptr noundef %1080, i32 noundef %1081) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1083:                                             ; preds = %1054
  %1084 = load i32, ptr @test_count, align 4, !tbaa !5
  %1085 = add nsw i32 %1084, 1
  store i32 %1085, ptr @test_count, align 4, !tbaa !5
  %1086 = load ptr, ptr %12, align 8, !tbaa !9
  %1087 = getelementptr inbounds i8, ptr %1086, i64 2008
  %1088 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %1087) #11
  br i1 %1088, label %1089, label %1113

1089:                                             ; preds = %1083
  %1090 = tail call ptr @__errno_location() #12
  %1091 = load i32, ptr %1090, align 4, !tbaa !5
  %1092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1093 = call i32 @s2n_print_stacktrace(ptr noundef %1092) #11
  %1094 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1095 = trunc nuw i8 %1094 to i1
  br i1 %1095, label %1096, label %1100

1096:                                             ; preds = %1089
  %1097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1098 = call i32 @fileno(ptr noundef %1097) #11
  %1099 = call i32 @isatty(i32 noundef %1098) #11
  %.not1453 = icmp eq i32 %1099, 0
  br i1 %.not1453, label %1100, label %1101

1100:                                             ; preds = %1096, %1089
  br label %1101

1101:                                             ; preds = %1096, %1100
  %.str.11.sink1852 = phi ptr [ @.str.11, %1100 ], [ @.str.8, %1096 ]
  store i32 %1091, ptr %1090, align 4, !tbaa !5
  %1102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1103 = load i32, ptr @test_count, align 4, !tbaa !5
  %1104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1105 = load i32, ptr %1104, align 4, !tbaa !5
  %1106 = call ptr @s2n_strerror(i32 noundef %1105, ptr noundef nonnull @.str.10) #11
  %1107 = load i32, ptr %1104, align 4, !tbaa !5
  %1108 = call ptr @s2n_strerror_debug(i32 noundef %1107, ptr noundef nonnull @.str.10) #11
  %1109 = load i32, ptr %1090, align 4, !tbaa !5
  %1110 = call ptr @strerror(i32 noundef %1109) #11
  %1111 = load i32, ptr %1090, align 4, !tbaa !5
  %1112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1102, ptr noundef nonnull %.str.11.sink1852, i32 noundef %1103, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.7, i32 noundef 116, ptr noundef %1106, ptr noundef %1108, ptr noundef %1110, i32 noundef %1111) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1113:                                             ; preds = %1083
  %1114 = load i32, ptr @test_count, align 4, !tbaa !5
  %1115 = add nsw i32 %1114, 1
  store i32 %1115, ptr @test_count, align 4, !tbaa !5
  %1116 = load ptr, ptr %12, align 8, !tbaa !9
  %1117 = getelementptr inbounds i8, ptr %1116, i64 2003
  %1118 = load i8, ptr %1117, align 1, !tbaa !15, !range !13, !noundef !14
  %1119 = trunc nuw i8 %1118 to i1
  br i1 %1119, label %1120, label %1144

1120:                                             ; preds = %1113
  %1121 = tail call ptr @__errno_location() #12
  %1122 = load i32, ptr %1121, align 4, !tbaa !5
  %1123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1124 = call i32 @s2n_print_stacktrace(ptr noundef %1123) #11
  %1125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1126 = trunc nuw i8 %1125 to i1
  br i1 %1126, label %1127, label %1131

1127:                                             ; preds = %1120
  %1128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1129 = call i32 @fileno(ptr noundef %1128) #11
  %1130 = call i32 @isatty(i32 noundef %1129) #11
  %.not1452 = icmp eq i32 %1130, 0
  br i1 %.not1452, label %1131, label %1132

1131:                                             ; preds = %1127, %1120
  br label %1132

1132:                                             ; preds = %1127, %1131
  %.str.11.sink1863 = phi ptr [ @.str.11, %1131 ], [ @.str.8, %1127 ]
  store i32 %1122, ptr %1121, align 4, !tbaa !5
  %1133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1134 = load i32, ptr @test_count, align 4, !tbaa !5
  %1135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1136 = load i32, ptr %1135, align 4, !tbaa !5
  %1137 = call ptr @s2n_strerror(i32 noundef %1136, ptr noundef nonnull @.str.10) #11
  %1138 = load i32, ptr %1135, align 4, !tbaa !5
  %1139 = call ptr @s2n_strerror_debug(i32 noundef %1138, ptr noundef nonnull @.str.10) #11
  %1140 = load i32, ptr %1121, align 4, !tbaa !5
  %1141 = call ptr @strerror(i32 noundef %1140) #11
  %1142 = load i32, ptr %1121, align 4, !tbaa !5
  %1143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1133, ptr noundef nonnull %.str.11.sink1863, i32 noundef %1134, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.7, i32 noundef 117, ptr noundef %1137, ptr noundef %1139, ptr noundef %1141, i32 noundef %1142) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1144:                                             ; preds = %1113
  %1145 = add nsw i32 %1114, 2
  store i32 %1145, ptr @test_count, align 4, !tbaa !5
  %1146 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %1116, i32 noundef 2) #11
  br i1 %1146, label %1171, label %1147

1147:                                             ; preds = %1144
  %1148 = tail call ptr @__errno_location() #12
  %1149 = load i32, ptr %1148, align 4, !tbaa !5
  %1150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1151 = call i32 @s2n_print_stacktrace(ptr noundef %1150) #11
  %1152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1153 = trunc nuw i8 %1152 to i1
  br i1 %1153, label %1154, label %1158

1154:                                             ; preds = %1147
  %1155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1156 = call i32 @fileno(ptr noundef %1155) #11
  %1157 = call i32 @isatty(i32 noundef %1156) #11
  %.not1039 = icmp eq i32 %1157, 0
  br i1 %.not1039, label %1158, label %1159

1158:                                             ; preds = %1154, %1147
  br label %1159

1159:                                             ; preds = %1154, %1158
  %.str.11.sink1874 = phi ptr [ @.str.11, %1158 ], [ @.str.8, %1154 ]
  store i32 %1149, ptr %1148, align 4, !tbaa !5
  %1160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1161 = load i32, ptr @test_count, align 4, !tbaa !5
  %1162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1163 = load i32, ptr %1162, align 4, !tbaa !5
  %1164 = call ptr @s2n_strerror(i32 noundef %1163, ptr noundef nonnull @.str.10) #11
  %1165 = load i32, ptr %1162, align 4, !tbaa !5
  %1166 = call ptr @s2n_strerror_debug(i32 noundef %1165, ptr noundef nonnull @.str.10) #11
  %1167 = load i32, ptr %1148, align 4, !tbaa !5
  %1168 = call ptr @strerror(i32 noundef %1167) #11
  %1169 = load i32, ptr %1148, align 4, !tbaa !5
  %1170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1160, ptr noundef nonnull %.str.11.sink1874, i32 noundef %1161, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.7, i32 noundef 118, ptr noundef %1164, ptr noundef %1166, ptr noundef %1168, i32 noundef %1169) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1171:                                             ; preds = %1144
  %1172 = load i32, ptr @test_count, align 4, !tbaa !5
  %1173 = add nsw i32 %1172, 1
  store i32 %1173, ptr @test_count, align 4, !tbaa !5
  %1174 = load ptr, ptr %12, align 8, !tbaa !9
  %1175 = call i32 @s2n_queue_reader_no_renegotiation_alert(ptr noundef %1174) #11
  %1176 = call zeroext i1 @s2n_result_is_ok(i32 %1175)
  br i1 %1176, label %1201, label %1177

1177:                                             ; preds = %1171
  %1178 = tail call ptr @__errno_location() #12
  %1179 = load i32, ptr %1178, align 4, !tbaa !5
  %1180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1181 = call i32 @s2n_print_stacktrace(ptr noundef %1180) #11
  %1182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1183 = trunc nuw i8 %1182 to i1
  br i1 %1183, label %1184, label %1188

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

1188:                                             ; preds = %1184, %1177
  br label %1189

1189:                                             ; preds = %1184, %1188
  %.str.11.sink1885 = phi ptr [ @.str.11, %1188 ], [ @.str.8, %1184 ]
  store i32 %1179, ptr %1178, 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 nonnull @.str.10) #11
  %1195 = load i32, ptr %1192, align 4, !tbaa !5
  %1196 = call ptr @s2n_strerror_debug(i32 noundef %1195, ptr noundef nonnull @.str.10) #11
  %1197 = load i32, ptr %1178, align 4, !tbaa !5
  %1198 = call ptr @strerror(i32 noundef %1197) #11
  %1199 = load i32, ptr %1178, align 4, !tbaa !5
  %1200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1190, ptr noundef nonnull %.str.11.sink1885, i32 noundef %1191, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.7, i32 noundef 121, ptr noundef %1194, ptr noundef %1196, ptr noundef %1198, i32 noundef %1199) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1201:                                             ; preds = %1171
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #11
  store i32 0, ptr %15, align 4, !tbaa !5
  %1202 = load i32, ptr @test_count, align 4, !tbaa !5
  %1203 = add nsw i32 %1202, 1
  store i32 %1203, ptr @test_count, align 4, !tbaa !5
  %1204 = load ptr, ptr %12, align 8, !tbaa !9
  %1205 = call i32 @s2n_shutdown(ptr noundef %1204, ptr noundef nonnull %15)
  %1206 = icmp eq i32 %1205, -1
  br i1 %1206, label %1231, label %1207

1207:                                             ; preds = %1201
  %1208 = tail call ptr @__errno_location() #12
  %1209 = load i32, ptr %1208, align 4, !tbaa !5
  %1210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1211 = call i32 @s2n_print_stacktrace(ptr noundef %1210) #11
  %1212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1213 = trunc nuw i8 %1212 to i1
  br i1 %1213, label %1214, label %1218

1214:                                             ; preds = %1207
  %1215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1216 = call i32 @fileno(ptr noundef %1215) #11
  %1217 = call i32 @isatty(i32 noundef %1216) #11
  %.not1041 = icmp eq i32 %1217, 0
  br i1 %.not1041, label %1218, label %1219

1218:                                             ; preds = %1214, %1207
  br label %1219

1219:                                             ; preds = %1214, %1218
  %.str.11.sink1896 = phi ptr [ @.str.11, %1218 ], [ @.str.8, %1214 ]
  store i32 %1209, ptr %1208, align 4, !tbaa !5
  %1220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1221 = load i32, ptr @test_count, align 4, !tbaa !5
  %1222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1223 = load i32, ptr %1222, align 4, !tbaa !5
  %1224 = call ptr @s2n_strerror(i32 noundef %1223, ptr noundef nonnull @.str.10) #11
  %1225 = load i32, ptr %1222, align 4, !tbaa !5
  %1226 = call ptr @s2n_strerror_debug(i32 noundef %1225, ptr noundef nonnull @.str.10) #11
  %1227 = load i32, ptr %1208, align 4, !tbaa !5
  %1228 = call ptr @strerror(i32 noundef %1227) #11
  %1229 = load i32, ptr %1208, align 4, !tbaa !5
  %1230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1220, ptr noundef nonnull %.str.11.sink1896, i32 noundef %1221, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.7, i32 noundef 125, ptr noundef %1224, ptr noundef %1226, ptr noundef %1228, i32 noundef %1229) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1231:                                             ; preds = %1201
  %1232 = load i32, ptr @test_count, align 4, !tbaa !5
  %1233 = add nsw i32 %1232, 1
  store i32 %1233, ptr @test_count, align 4, !tbaa !5
  %1234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1235 = load i32, ptr %1234, align 4, !tbaa !5
  %1236 = icmp eq i32 %1235, 201326592
  br i1 %1236, label %1260, label %1237

1237:                                             ; preds = %1231
  %1238 = tail call ptr @__errno_location() #12
  %1239 = load i32, ptr %1238, align 4, !tbaa !5
  %1240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1241 = call i32 @s2n_print_stacktrace(ptr noundef %1240) #11
  %1242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1243 = trunc nuw i8 %1242 to i1
  br i1 %1243, label %1244, label %1248

1244:                                             ; preds = %1237
  %1245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1246 = call i32 @fileno(ptr noundef %1245) #11
  %1247 = call i32 @isatty(i32 noundef %1246) #11
  %.not1042 = icmp eq i32 %1247, 0
  br i1 %.not1042, label %1248, label %1249

1248:                                             ; preds = %1244, %1237
  br label %1249

1249:                                             ; preds = %1244, %1248
  %.str.11.sink1907 = phi ptr [ @.str.11, %1248 ], [ @.str.8, %1244 ]
  store i32 %1239, ptr %1238, align 4, !tbaa !5
  %1250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1251 = load i32, ptr @test_count, align 4, !tbaa !5
  %1252 = load i32, ptr %1234, align 4, !tbaa !5
  %1253 = call ptr @s2n_strerror(i32 noundef %1252, ptr noundef nonnull @.str.10) #11
  %1254 = load i32, ptr %1234, align 4, !tbaa !5
  %1255 = call ptr @s2n_strerror_debug(i32 noundef %1254, ptr noundef nonnull @.str.10) #11
  %1256 = load i32, ptr %1238, align 4, !tbaa !5
  %1257 = call ptr @strerror(i32 noundef %1256) #11
  %1258 = load i32, ptr %1238, align 4, !tbaa !5
  %1259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1250, ptr noundef nonnull %.str.11.sink1907, i32 noundef %1251, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.7, i32 noundef 125, ptr noundef %1253, ptr noundef %1255, ptr noundef %1257, i32 noundef %1258) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1260:                                             ; preds = %1231
  %1261 = add nsw i32 %1232, 2
  store i32 %1261, ptr @test_count, align 4, !tbaa !5
  %1262 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %1263 = icmp eq ptr %1262, null
  br i1 %1263, label %1264, label %1287

1264:                                             ; preds = %1260
  %1265 = tail call ptr @__errno_location() #12
  %1266 = load i32, ptr %1265, align 4, !tbaa !5
  %1267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1268 = call i32 @s2n_print_stacktrace(ptr noundef %1267) #11
  %1269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1270 = trunc nuw i8 %1269 to i1
  br i1 %1270, label %1271, label %1275

1271:                                             ; preds = %1264
  %1272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1273 = call i32 @fileno(ptr noundef %1272) #11
  %1274 = call i32 @isatty(i32 noundef %1273) #11
  %.not1451 = icmp eq i32 %1274, 0
  br i1 %.not1451, label %1275, label %1276

1275:                                             ; preds = %1271, %1264
  br label %1276

1276:                                             ; preds = %1271, %1275
  %.str.11.sink1916 = phi ptr [ @.str.11, %1275 ], [ @.str.8, %1271 ]
  store i32 %1266, ptr %1265, align 4, !tbaa !5
  %1277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1278 = load i32, ptr @test_count, align 4, !tbaa !5
  %1279 = load i32, ptr %1234, align 4, !tbaa !5
  %1280 = call ptr @s2n_strerror(i32 noundef %1279, ptr noundef nonnull @.str.10) #11
  %1281 = load i32, ptr %1234, align 4, !tbaa !5
  %1282 = call ptr @s2n_strerror_debug(i32 noundef %1281, ptr noundef nonnull @.str.10) #11
  %1283 = load i32, ptr %1265, align 4, !tbaa !5
  %1284 = call ptr @strerror(i32 noundef %1283) #11
  %1285 = load i32, ptr %1265, align 4, !tbaa !5
  %1286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1277, ptr noundef nonnull %.str.11.sink1916, i32 noundef %1278, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 125, ptr noundef %1280, ptr noundef %1282, ptr noundef %1284, i32 noundef %1285) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1287:                                             ; preds = %1260
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  %1288 = tail call ptr @__errno_location() #12
  store i32 0, ptr %1288, align 4, !tbaa !5
  %1289 = load i32, ptr @test_count, align 4, !tbaa !5
  %1290 = add nsw i32 %1289, 1
  store i32 %1290, ptr @test_count, align 4, !tbaa !5
  %1291 = load i32, ptr %15, align 4, !tbaa !5
  %1292 = icmp eq i32 %1291, 1
  br i1 %1292, label %1315, label %1293

1293:                                             ; preds = %1287
  %1294 = load i32, ptr %1288, align 4, !tbaa !5
  %1295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1296 = call i32 @s2n_print_stacktrace(ptr noundef %1295) #11
  %1297 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1298 = trunc nuw i8 %1297 to i1
  br i1 %1298, label %1299, label %1303

1299:                                             ; preds = %1293
  %1300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1301 = call i32 @fileno(ptr noundef %1300) #11
  %1302 = call i32 @isatty(i32 noundef %1301) #11
  %.not1043 = icmp eq i32 %1302, 0
  br i1 %.not1043, label %1303, label %1304

1303:                                             ; preds = %1299, %1293
  br label %1304

1304:                                             ; preds = %1299, %1303
  %.str.11.sink1925 = phi ptr [ @.str.11, %1303 ], [ @.str.8, %1299 ]
  store i32 %1294, ptr %1288, align 4, !tbaa !5
  %1305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1306 = load i32, ptr @test_count, align 4, !tbaa !5
  %1307 = load i32, ptr %1234, align 4, !tbaa !5
  %1308 = call ptr @s2n_strerror(i32 noundef %1307, ptr noundef nonnull @.str.10) #11
  %1309 = load i32, ptr %1234, align 4, !tbaa !5
  %1310 = call ptr @s2n_strerror_debug(i32 noundef %1309, ptr noundef nonnull @.str.10) #11
  %1311 = load i32, ptr %1288, align 4, !tbaa !5
  %1312 = call ptr @strerror(i32 noundef %1311) #11
  %1313 = load i32, ptr %1288, align 4, !tbaa !5
  %1314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1305, ptr noundef nonnull %.str.11.sink1925, i32 noundef %1306, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.7, i32 noundef 126, ptr noundef %1308, ptr noundef %1310, ptr noundef %1312, i32 noundef %1313) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1315:                                             ; preds = %1287
  %1316 = add nsw i32 %1289, 2
  store i32 %1316, ptr @test_count, align 4, !tbaa !5
  %1317 = load ptr, ptr %12, align 8, !tbaa !9
  %1318 = call zeroext i1 @s2n_handshake_is_complete(ptr noundef %1317) #11
  br i1 %1318, label %1341, label %1319

1319:                                             ; preds = %1315
  %1320 = load i32, ptr %1288, align 4, !tbaa !5
  %1321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1322 = call i32 @s2n_print_stacktrace(ptr noundef %1321) #11
  %1323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1324 = trunc nuw i8 %1323 to i1
  br i1 %1324, label %1325, label %1329

1325:                                             ; preds = %1319
  %1326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1327 = call i32 @fileno(ptr noundef %1326) #11
  %1328 = call i32 @isatty(i32 noundef %1327) #11
  %.not1044 = icmp eq i32 %1328, 0
  br i1 %.not1044, label %1329, label %1330

1329:                                             ; preds = %1325, %1319
  br label %1330

1330:                                             ; preds = %1325, %1329
  %.str.11.sink1934 = phi ptr [ @.str.11, %1329 ], [ @.str.8, %1325 ]
  store i32 %1320, ptr %1288, align 4, !tbaa !5
  %1331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1332 = load i32, ptr @test_count, align 4, !tbaa !5
  %1333 = load i32, ptr %1234, align 4, !tbaa !5
  %1334 = call ptr @s2n_strerror(i32 noundef %1333, ptr noundef nonnull @.str.10) #11
  %1335 = load i32, ptr %1234, align 4, !tbaa !5
  %1336 = call ptr @s2n_strerror_debug(i32 noundef %1335, ptr noundef nonnull @.str.10) #11
  %1337 = load i32, ptr %1288, align 4, !tbaa !5
  %1338 = call ptr @strerror(i32 noundef %1337) #11
  %1339 = load i32, ptr %1288, align 4, !tbaa !5
  %1340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1331, ptr noundef nonnull %.str.11.sink1934, i32 noundef %1332, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.7, i32 noundef 129, ptr noundef %1334, ptr noundef %1336, ptr noundef %1338, i32 noundef %1339) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1341:                                             ; preds = %1315
  %1342 = load i32, ptr @test_count, align 4, !tbaa !5
  %1343 = add nsw i32 %1342, 1
  store i32 %1343, ptr @test_count, align 4, !tbaa !5
  %1344 = load ptr, ptr %12, align 8, !tbaa !9
  %1345 = getelementptr inbounds i8, ptr %1344, i64 2008
  %1346 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %1345) #11
  br i1 %1346, label %1347, label %1369

1347:                                             ; preds = %1341
  %1348 = load i32, ptr %1288, align 4, !tbaa !5
  %1349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1350 = call i32 @s2n_print_stacktrace(ptr noundef %1349) #11
  %1351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1352 = trunc nuw i8 %1351 to i1
  br i1 %1352, label %1353, label %1357

1353:                                             ; preds = %1347
  %1354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1355 = call i32 @fileno(ptr noundef %1354) #11
  %1356 = call i32 @isatty(i32 noundef %1355) #11
  %.not1450 = icmp eq i32 %1356, 0
  br i1 %.not1450, label %1357, label %1358

1357:                                             ; preds = %1353, %1347
  br label %1358

1358:                                             ; preds = %1353, %1357
  %.str.11.sink1943 = phi ptr [ @.str.11, %1357 ], [ @.str.8, %1353 ]
  store i32 %1348, ptr %1288, align 4, !tbaa !5
  %1359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1360 = load i32, ptr @test_count, align 4, !tbaa !5
  %1361 = load i32, ptr %1234, align 4, !tbaa !5
  %1362 = call ptr @s2n_strerror(i32 noundef %1361, ptr noundef nonnull @.str.10) #11
  %1363 = load i32, ptr %1234, align 4, !tbaa !5
  %1364 = call ptr @s2n_strerror_debug(i32 noundef %1363, ptr noundef nonnull @.str.10) #11
  %1365 = load i32, ptr %1288, align 4, !tbaa !5
  %1366 = call ptr @strerror(i32 noundef %1365) #11
  %1367 = load i32, ptr %1288, align 4, !tbaa !5
  %1368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1359, ptr noundef nonnull %.str.11.sink1943, i32 noundef %1360, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.7, i32 noundef 130, ptr noundef %1362, ptr noundef %1364, ptr noundef %1366, i32 noundef %1367) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1369:                                             ; preds = %1341
  %1370 = load i32, ptr @test_count, align 4, !tbaa !5
  %1371 = add nsw i32 %1370, 1
  store i32 %1371, ptr @test_count, align 4, !tbaa !5
  %1372 = load ptr, ptr %12, align 8, !tbaa !9
  %1373 = getelementptr inbounds i8, ptr %1372, i64 2003
  %1374 = load i8, ptr %1373, align 1, !tbaa !15, !range !13, !noundef !14
  %1375 = trunc nuw i8 %1374 to i1
  br i1 %1375, label %1398, label %1376

1376:                                             ; preds = %1369
  %1377 = load i32, ptr %1288, align 4, !tbaa !5
  %1378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1379 = call i32 @s2n_print_stacktrace(ptr noundef %1378) #11
  %1380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1381 = trunc nuw i8 %1380 to i1
  br i1 %1381, label %1382, label %1386

1382:                                             ; preds = %1376
  %1383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1384 = call i32 @fileno(ptr noundef %1383) #11
  %1385 = call i32 @isatty(i32 noundef %1384) #11
  %.not1045 = icmp eq i32 %1385, 0
  br i1 %.not1045, label %1386, label %1387

1386:                                             ; preds = %1382, %1376
  br label %1387

1387:                                             ; preds = %1382, %1386
  %.str.11.sink1952 = phi ptr [ @.str.11, %1386 ], [ @.str.8, %1382 ]
  store i32 %1377, ptr %1288, align 4, !tbaa !5
  %1388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1389 = load i32, ptr @test_count, align 4, !tbaa !5
  %1390 = load i32, ptr %1234, align 4, !tbaa !5
  %1391 = call ptr @s2n_strerror(i32 noundef %1390, ptr noundef nonnull @.str.10) #11
  %1392 = load i32, ptr %1234, align 4, !tbaa !5
  %1393 = call ptr @s2n_strerror_debug(i32 noundef %1392, ptr noundef nonnull @.str.10) #11
  %1394 = load i32, ptr %1288, align 4, !tbaa !5
  %1395 = call ptr @strerror(i32 noundef %1394) #11
  %1396 = load i32, ptr %1288, align 4, !tbaa !5
  %1397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1388, ptr noundef nonnull %.str.11.sink1952, i32 noundef %1389, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.7, i32 noundef 131, ptr noundef %1391, ptr noundef %1393, ptr noundef %1395, i32 noundef %1396) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1398:                                             ; preds = %1369
  %1399 = add nsw i32 %1370, 2
  store i32 %1399, ptr @test_count, align 4, !tbaa !5
  %1400 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %1372, i32 noundef 0) #11
  br i1 %1400, label %1401, label %1423

1401:                                             ; preds = %1398
  %1402 = load i32, ptr %1288, align 4, !tbaa !5
  %1403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1404 = call i32 @s2n_print_stacktrace(ptr noundef %1403) #11
  %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 = %1401
  %1408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1409 = call i32 @fileno(ptr noundef %1408) #11
  %1410 = call i32 @isatty(i32 noundef %1409) #11
  %.not1449 = icmp eq i32 %1410, 0
  br i1 %.not1449, label %1411, label %1412

1411:                                             ; preds = %1407, %1401
  br label %1412

1412:                                             ; preds = %1407, %1411
  %.str.11.sink1961 = phi ptr [ @.str.11, %1411 ], [ @.str.8, %1407 ]
  store i32 %1402, ptr %1288, align 4, !tbaa !5
  %1413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1414 = load i32, ptr @test_count, align 4, !tbaa !5
  %1415 = load i32, ptr %1234, align 4, !tbaa !5
  %1416 = call ptr @s2n_strerror(i32 noundef %1415, ptr noundef nonnull @.str.10) #11
  %1417 = load i32, ptr %1234, align 4, !tbaa !5
  %1418 = call ptr @s2n_strerror_debug(i32 noundef %1417, ptr noundef nonnull @.str.10) #11
  %1419 = load i32, ptr %1288, align 4, !tbaa !5
  %1420 = call ptr @strerror(i32 noundef %1419) #11
  %1421 = load i32, ptr %1288, align 4, !tbaa !5
  %1422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1413, ptr noundef nonnull %.str.11.sink1961, i32 noundef %1414, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.7, i32 noundef 132, ptr noundef %1416, ptr noundef %1418, ptr noundef %1420, i32 noundef %1421) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1423:                                             ; preds = %1398
  %1424 = load i32, ptr @test_count, align 4, !tbaa !5
  %1425 = add nsw i32 %1424, 1
  store i32 %1425, ptr @test_count, align 4, !tbaa !5
  %1426 = getelementptr inbounds i8, ptr %14, i64 28
  %1427 = load i32, ptr %1426, align 4, !tbaa !42
  %1428 = getelementptr inbounds i8, ptr %14, i64 24
  %1429 = load i32, ptr %1428, align 8, !tbaa !43
  %1430 = sub i32 %1427, %1429
  %1431 = icmp eq i32 %1430, 14
  br i1 %1431, label %1454, label %1432

1432:                                             ; preds = %1423
  %1433 = load i32, ptr %1288, align 4, !tbaa !5
  %1434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1435 = call i32 @s2n_print_stacktrace(ptr noundef %1434) #11
  %1436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1437 = trunc nuw i8 %1436 to i1
  br i1 %1437, label %1438, label %1442

1438:                                             ; preds = %1432
  %1439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1440 = call i32 @fileno(ptr noundef %1439) #11
  %1441 = call i32 @isatty(i32 noundef %1440) #11
  %.not1046 = icmp eq i32 %1441, 0
  br i1 %.not1046, label %1442, label %1443

1442:                                             ; preds = %1438, %1432
  br label %1443

1443:                                             ; preds = %1438, %1442
  %.str.11.sink1970 = phi ptr [ @.str.11, %1442 ], [ @.str.8, %1438 ]
  store i32 %1433, ptr %1288, align 4, !tbaa !5
  %1444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1445 = load i32, ptr @test_count, align 4, !tbaa !5
  %1446 = load i32, ptr %1234, align 4, !tbaa !5
  %1447 = call ptr @s2n_strerror(i32 noundef %1446, ptr noundef nonnull @.str.10) #11
  %1448 = load i32, ptr %1234, align 4, !tbaa !5
  %1449 = call ptr @s2n_strerror_debug(i32 noundef %1448, ptr noundef nonnull @.str.10) #11
  %1450 = load i32, ptr %1288, align 4, !tbaa !5
  %1451 = call ptr @strerror(i32 noundef %1450) #11
  %1452 = load i32, ptr %1288, align 4, !tbaa !5
  %1453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1444, ptr noundef nonnull %.str.11.sink1970, i32 noundef %1445, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.7, i32 noundef 135, ptr noundef %1447, ptr noundef %1449, ptr noundef %1451, i32 noundef %1452) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1454:                                             ; preds = %1423
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #11
  %1455 = call i32 @s2n_stuffer_free(ptr noundef nonnull %14) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %14) #11
  %1456 = call i32 @s2n_stuffer_free(ptr noundef nonnull %13) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %13) #11
  %1457 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %12) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #11
  %1458 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %1458, ptr %16, align 8, !tbaa !9
  %1459 = load i32, ptr @test_count, align 4, !tbaa !5
  %1460 = add nsw i32 %1459, 1
  store i32 %1460, ptr @test_count, align 4, !tbaa !5
  %1461 = icmp eq ptr %1458, null
  br i1 %1461, label %1462, label %1484

1462:                                             ; preds = %1454
  %1463 = load i32, ptr %1288, align 4, !tbaa !5
  %1464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1465 = call i32 @s2n_print_stacktrace(ptr noundef %1464) #11
  %1466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1467 = trunc nuw i8 %1466 to i1
  br i1 %1467, label %1468, label %1472

1468:                                             ; preds = %1462
  %1469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1470 = call i32 @fileno(ptr noundef %1469) #11
  %1471 = call i32 @isatty(i32 noundef %1470) #11
  %.not1448 = icmp eq i32 %1471, 0
  br i1 %.not1448, label %1472, label %1473

1472:                                             ; preds = %1468, %1462
  br label %1473

1473:                                             ; preds = %1468, %1472
  %.str.11.sink1979 = phi ptr [ @.str.11, %1472 ], [ @.str.8, %1468 ]
  store i32 %1463, ptr %1288, align 4, !tbaa !5
  %1474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1475 = load i32, ptr @test_count, align 4, !tbaa !5
  %1476 = load i32, ptr %1234, align 4, !tbaa !5
  %1477 = call ptr @s2n_strerror(i32 noundef %1476, ptr noundef nonnull @.str.10) #11
  %1478 = load i32, ptr %1234, align 4, !tbaa !5
  %1479 = call ptr @s2n_strerror_debug(i32 noundef %1478, ptr noundef nonnull @.str.10) #11
  %1480 = load i32, ptr %1288, align 4, !tbaa !5
  %1481 = call ptr @strerror(i32 noundef %1480) #11
  %1482 = load i32, ptr %1288, align 4, !tbaa !5
  %1483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1474, ptr noundef nonnull %.str.11.sink1979, i32 noundef %1475, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.7, i32 noundef 142, ptr noundef %1477, ptr noundef %1479, ptr noundef %1481, i32 noundef %1482) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1484:                                             ; preds = %1454
  %1485 = add nsw i32 %1459, 2
  store i32 %1485, ptr @test_count, align 4, !tbaa !5
  %1486 = call i32 @s2n_skip_handshake(ptr noundef nonnull %1458) #11
  %1487 = call zeroext i1 @s2n_result_is_ok(i32 %1486)
  br i1 %1487, label %1510, label %1488

1488:                                             ; preds = %1484
  %1489 = load i32, ptr %1288, align 4, !tbaa !5
  %1490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1491 = call i32 @s2n_print_stacktrace(ptr noundef %1490) #11
  %1492 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1493 = trunc nuw i8 %1492 to i1
  br i1 %1493, label %1494, label %1498

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

1498:                                             ; preds = %1494, %1488
  br label %1499

1499:                                             ; preds = %1494, %1498
  %.str.11.sink1988 = phi ptr [ @.str.11, %1498 ], [ @.str.8, %1494 ]
  store i32 %1489, ptr %1288, align 4, !tbaa !5
  %1500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1501 = load i32, ptr @test_count, align 4, !tbaa !5
  %1502 = load i32, ptr %1234, align 4, !tbaa !5
  %1503 = call ptr @s2n_strerror(i32 noundef %1502, ptr noundef nonnull @.str.10) #11
  %1504 = load i32, ptr %1234, align 4, !tbaa !5
  %1505 = call ptr @s2n_strerror_debug(i32 noundef %1504, ptr noundef nonnull @.str.10) #11
  %1506 = load i32, ptr %1288, align 4, !tbaa !5
  %1507 = call ptr @strerror(i32 noundef %1506) #11
  %1508 = load i32, ptr %1288, align 4, !tbaa !5
  %1509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1500, ptr noundef nonnull %.str.11.sink1988, i32 noundef %1501, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.7, i32 noundef 143, ptr noundef %1503, ptr noundef %1505, ptr noundef %1507, i32 noundef %1508) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1510:                                             ; preds = %1484
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %17) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %17, i8 0, i64 40, i1 false)
  %1511 = load i32, ptr @test_count, align 4, !tbaa !5
  %1512 = add nsw i32 %1511, 1
  store i32 %1512, ptr @test_count, align 4, !tbaa !5
  %1513 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %17, i32 noundef 0) #11
  %1514 = icmp eq i32 %1513, -1
  br i1 %1514, label %1515, label %1537

1515:                                             ; preds = %1510
  %1516 = load i32, ptr %1288, align 4, !tbaa !5
  %1517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1518 = call i32 @s2n_print_stacktrace(ptr noundef %1517) #11
  %1519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1520 = trunc nuw i8 %1519 to i1
  br i1 %1520, label %1521, label %1525

1521:                                             ; preds = %1515
  %1522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1523 = call i32 @fileno(ptr noundef %1522) #11
  %1524 = call i32 @isatty(i32 noundef %1523) #11
  %.not1447 = icmp eq i32 %1524, 0
  br i1 %.not1447, label %1525, label %1526

1525:                                             ; preds = %1521, %1515
  br label %1526

1526:                                             ; preds = %1521, %1525
  %.str.11.sink1997 = phi ptr [ @.str.11, %1525 ], [ @.str.8, %1521 ]
  store i32 %1516, ptr %1288, align 4, !tbaa !5
  %1527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1528 = load i32, ptr @test_count, align 4, !tbaa !5
  %1529 = load i32, ptr %1234, align 4, !tbaa !5
  %1530 = call ptr @s2n_strerror(i32 noundef %1529, ptr noundef nonnull @.str.10) #11
  %1531 = load i32, ptr %1234, align 4, !tbaa !5
  %1532 = call ptr @s2n_strerror_debug(i32 noundef %1531, ptr noundef nonnull @.str.10) #11
  %1533 = load i32, ptr %1288, align 4, !tbaa !5
  %1534 = call ptr @strerror(i32 noundef %1533) #11
  %1535 = load i32, ptr %1288, align 4, !tbaa !5
  %1536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1527, ptr noundef nonnull %.str.11.sink1997, i32 noundef %1528, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.7, i32 noundef 146, ptr noundef %1530, ptr noundef %1532, ptr noundef %1534, i32 noundef %1535) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1537:                                             ; preds = %1510
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %18) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %18, i8 0, i64 40, i1 false)
  %1538 = load i32, ptr @test_count, align 4, !tbaa !5
  %1539 = add nsw i32 %1538, 1
  store i32 %1539, ptr @test_count, align 4, !tbaa !5
  %1540 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %18, i32 noundef 0) #11
  %1541 = icmp eq i32 %1540, -1
  br i1 %1541, label %1542, label %1564

1542:                                             ; preds = %1537
  %1543 = load i32, ptr %1288, align 4, !tbaa !5
  %1544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1545 = call i32 @s2n_print_stacktrace(ptr noundef %1544) #11
  %1546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1547 = trunc nuw i8 %1546 to i1
  br i1 %1547, label %1548, label %1552

1548:                                             ; preds = %1542
  %1549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1550 = call i32 @fileno(ptr noundef %1549) #11
  %1551 = call i32 @isatty(i32 noundef %1550) #11
  %.not1446 = icmp eq i32 %1551, 0
  br i1 %.not1446, label %1552, label %1553

1552:                                             ; preds = %1548, %1542
  br label %1553

1553:                                             ; preds = %1548, %1552
  %.str.11.sink2006 = phi ptr [ @.str.11, %1552 ], [ @.str.8, %1548 ]
  store i32 %1543, ptr %1288, align 4, !tbaa !5
  %1554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1555 = load i32, ptr @test_count, align 4, !tbaa !5
  %1556 = load i32, ptr %1234, align 4, !tbaa !5
  %1557 = call ptr @s2n_strerror(i32 noundef %1556, ptr noundef nonnull @.str.10) #11
  %1558 = load i32, ptr %1234, align 4, !tbaa !5
  %1559 = call ptr @s2n_strerror_debug(i32 noundef %1558, ptr noundef nonnull @.str.10) #11
  %1560 = load i32, ptr %1288, align 4, !tbaa !5
  %1561 = call ptr @strerror(i32 noundef %1560) #11
  %1562 = load i32, ptr %1288, align 4, !tbaa !5
  %1563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1554, ptr noundef nonnull %.str.11.sink2006, i32 noundef %1555, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.7, i32 noundef 148, ptr noundef %1557, ptr noundef %1559, ptr noundef %1561, i32 noundef %1562) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1564:                                             ; preds = %1537
  %1565 = load i32, ptr @test_count, align 4, !tbaa !5
  %1566 = add nsw i32 %1565, 1
  store i32 %1566, ptr @test_count, align 4, !tbaa !5
  %1567 = load ptr, ptr %16, align 8, !tbaa !9
  %1568 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %17, ptr noundef nonnull %18, ptr noundef %1567) #11
  %1569 = icmp eq i32 %1568, -1
  br i1 %1569, label %1570, label %1592

1570:                                             ; preds = %1564
  %1571 = load i32, ptr %1288, align 4, !tbaa !5
  %1572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1573 = call i32 @s2n_print_stacktrace(ptr noundef %1572) #11
  %1574 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1575 = trunc nuw i8 %1574 to i1
  br i1 %1575, label %1576, label %1580

1576:                                             ; preds = %1570
  %1577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1578 = call i32 @fileno(ptr noundef %1577) #11
  %1579 = call i32 @isatty(i32 noundef %1578) #11
  %.not1445 = icmp eq i32 %1579, 0
  br i1 %.not1445, label %1580, label %1581

1580:                                             ; preds = %1576, %1570
  br label %1581

1581:                                             ; preds = %1576, %1580
  %.str.11.sink2015 = phi ptr [ @.str.11, %1580 ], [ @.str.8, %1576 ]
  store i32 %1571, ptr %1288, align 4, !tbaa !5
  %1582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1583 = load i32, ptr @test_count, align 4, !tbaa !5
  %1584 = load i32, ptr %1234, align 4, !tbaa !5
  %1585 = call ptr @s2n_strerror(i32 noundef %1584, ptr noundef nonnull @.str.10) #11
  %1586 = load i32, ptr %1234, align 4, !tbaa !5
  %1587 = call ptr @s2n_strerror_debug(i32 noundef %1586, ptr noundef nonnull @.str.10) #11
  %1588 = load i32, ptr %1288, align 4, !tbaa !5
  %1589 = call ptr @strerror(i32 noundef %1588) #11
  %1590 = load i32, ptr %1288, align 4, !tbaa !5
  %1591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1582, ptr noundef nonnull %.str.11.sink2015, i32 noundef %1583, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.7, i32 noundef 149, ptr noundef %1585, ptr noundef %1587, ptr noundef %1589, i32 noundef %1590) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1592:                                             ; preds = %1564
  %1593 = load i32, ptr @test_count, align 4, !tbaa !5
  %1594 = add nsw i32 %1593, 1
  store i32 %1594, ptr @test_count, align 4, !tbaa !5
  %1595 = load ptr, ptr %16, align 8, !tbaa !9
  %1596 = call zeroext i1 @s2n_handshake_is_complete(ptr noundef %1595) #11
  br i1 %1596, label %1619, label %1597

1597:                                             ; preds = %1592
  %1598 = load i32, ptr %1288, align 4, !tbaa !5
  %1599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1600 = call i32 @s2n_print_stacktrace(ptr noundef %1599) #11
  %1601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1602 = trunc nuw i8 %1601 to i1
  br i1 %1602, label %1603, label %1607

1603:                                             ; preds = %1597
  %1604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1605 = call i32 @fileno(ptr noundef %1604) #11
  %1606 = call i32 @isatty(i32 noundef %1605) #11
  %.not1048 = icmp eq i32 %1606, 0
  br i1 %.not1048, label %1607, label %1608

1607:                                             ; preds = %1603, %1597
  br label %1608

1608:                                             ; preds = %1603, %1607
  %.str.11.sink2024 = phi ptr [ @.str.11, %1607 ], [ @.str.8, %1603 ]
  store i32 %1598, ptr %1288, align 4, !tbaa !5
  %1609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1610 = load i32, ptr @test_count, align 4, !tbaa !5
  %1611 = load i32, ptr %1234, align 4, !tbaa !5
  %1612 = call ptr @s2n_strerror(i32 noundef %1611, ptr noundef nonnull @.str.10) #11
  %1613 = load i32, ptr %1234, align 4, !tbaa !5
  %1614 = call ptr @s2n_strerror_debug(i32 noundef %1613, ptr noundef nonnull @.str.10) #11
  %1615 = load i32, ptr %1288, align 4, !tbaa !5
  %1616 = call ptr @strerror(i32 noundef %1615) #11
  %1617 = load i32, ptr %1288, align 4, !tbaa !5
  %1618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1609, ptr noundef nonnull %.str.11.sink2024, i32 noundef %1610, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.7, i32 noundef 152, ptr noundef %1612, ptr noundef %1614, ptr noundef %1616, i32 noundef %1617) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1619:                                             ; preds = %1592
  %1620 = load i32, ptr @test_count, align 4, !tbaa !5
  %1621 = add nsw i32 %1620, 1
  store i32 %1621, ptr @test_count, align 4, !tbaa !5
  %1622 = load ptr, ptr %16, align 8, !tbaa !9
  %1623 = getelementptr inbounds i8, ptr %1622, i64 2008
  %1624 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %1623) #11
  br i1 %1624, label %1625, label %1647

1625:                                             ; preds = %1619
  %1626 = load i32, ptr %1288, align 4, !tbaa !5
  %1627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1628 = call i32 @s2n_print_stacktrace(ptr noundef %1627) #11
  %1629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1630 = trunc nuw i8 %1629 to i1
  br i1 %1630, label %1631, label %1635

1631:                                             ; preds = %1625
  %1632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1633 = call i32 @fileno(ptr noundef %1632) #11
  %1634 = call i32 @isatty(i32 noundef %1633) #11
  %.not1444 = icmp eq i32 %1634, 0
  br i1 %.not1444, label %1635, label %1636

1635:                                             ; preds = %1631, %1625
  br label %1636

1636:                                             ; preds = %1631, %1635
  %.str.11.sink2033 = phi ptr [ @.str.11, %1635 ], [ @.str.8, %1631 ]
  store i32 %1626, ptr %1288, align 4, !tbaa !5
  %1637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1638 = load i32, ptr @test_count, align 4, !tbaa !5
  %1639 = load i32, ptr %1234, align 4, !tbaa !5
  %1640 = call ptr @s2n_strerror(i32 noundef %1639, ptr noundef nonnull @.str.10) #11
  %1641 = load i32, ptr %1234, align 4, !tbaa !5
  %1642 = call ptr @s2n_strerror_debug(i32 noundef %1641, ptr noundef nonnull @.str.10) #11
  %1643 = load i32, ptr %1288, align 4, !tbaa !5
  %1644 = call ptr @strerror(i32 noundef %1643) #11
  %1645 = load i32, ptr %1288, align 4, !tbaa !5
  %1646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1637, ptr noundef nonnull %.str.11.sink2033, i32 noundef %1638, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.7, i32 noundef 153, ptr noundef %1640, ptr noundef %1642, ptr noundef %1644, i32 noundef %1645) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1647:                                             ; preds = %1619
  %1648 = load i32, ptr @test_count, align 4, !tbaa !5
  %1649 = add nsw i32 %1648, 1
  store i32 %1649, ptr @test_count, align 4, !tbaa !5
  %1650 = load ptr, ptr %16, align 8, !tbaa !9
  %1651 = getelementptr inbounds i8, ptr %1650, i64 2003
  %1652 = load i8, ptr %1651, align 1, !tbaa !15, !range !13, !noundef !14
  %1653 = trunc nuw i8 %1652 to i1
  br i1 %1653, label %1654, label %1676

1654:                                             ; preds = %1647
  %1655 = load i32, ptr %1288, align 4, !tbaa !5
  %1656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1657 = call i32 @s2n_print_stacktrace(ptr noundef %1656) #11
  %1658 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1659 = trunc nuw i8 %1658 to i1
  br i1 %1659, label %1660, label %1664

1660:                                             ; preds = %1654
  %1661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1662 = call i32 @fileno(ptr noundef %1661) #11
  %1663 = call i32 @isatty(i32 noundef %1662) #11
  %.not1443 = icmp eq i32 %1663, 0
  br i1 %.not1443, label %1664, label %1665

1664:                                             ; preds = %1660, %1654
  br label %1665

1665:                                             ; preds = %1660, %1664
  %.str.11.sink2042 = phi ptr [ @.str.11, %1664 ], [ @.str.8, %1660 ]
  store i32 %1655, ptr %1288, align 4, !tbaa !5
  %1666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1667 = load i32, ptr @test_count, align 4, !tbaa !5
  %1668 = load i32, ptr %1234, align 4, !tbaa !5
  %1669 = call ptr @s2n_strerror(i32 noundef %1668, ptr noundef nonnull @.str.10) #11
  %1670 = load i32, ptr %1234, align 4, !tbaa !5
  %1671 = call ptr @s2n_strerror_debug(i32 noundef %1670, ptr noundef nonnull @.str.10) #11
  %1672 = load i32, ptr %1288, align 4, !tbaa !5
  %1673 = call ptr @strerror(i32 noundef %1672) #11
  %1674 = load i32, ptr %1288, align 4, !tbaa !5
  %1675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1666, ptr noundef nonnull %.str.11.sink2042, i32 noundef %1667, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.7, i32 noundef 154, ptr noundef %1669, ptr noundef %1671, ptr noundef %1673, i32 noundef %1674) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1676:                                             ; preds = %1647
  %1677 = add nsw i32 %1648, 2
  store i32 %1677, ptr @test_count, align 4, !tbaa !5
  %1678 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %1650, i32 noundef 2) #11
  br i1 %1678, label %1701, label %1679

1679:                                             ; preds = %1676
  %1680 = load i32, ptr %1288, align 4, !tbaa !5
  %1681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1682 = call i32 @s2n_print_stacktrace(ptr noundef %1681) #11
  %1683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1684 = trunc nuw i8 %1683 to i1
  br i1 %1684, label %1685, label %1689

1685:                                             ; preds = %1679
  %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
  %.not1049 = icmp eq i32 %1688, 0
  br i1 %.not1049, label %1689, label %1690

1689:                                             ; preds = %1685, %1679
  br label %1690

1690:                                             ; preds = %1685, %1689
  %.str.11.sink2051 = phi ptr [ @.str.11, %1689 ], [ @.str.8, %1685 ]
  store i32 %1680, ptr %1288, align 4, !tbaa !5
  %1691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1692 = load i32, ptr @test_count, align 4, !tbaa !5
  %1693 = load i32, ptr %1234, align 4, !tbaa !5
  %1694 = call ptr @s2n_strerror(i32 noundef %1693, ptr noundef nonnull @.str.10) #11
  %1695 = load i32, ptr %1234, align 4, !tbaa !5
  %1696 = call ptr @s2n_strerror_debug(i32 noundef %1695, ptr noundef nonnull @.str.10) #11
  %1697 = load i32, ptr %1288, align 4, !tbaa !5
  %1698 = call ptr @strerror(i32 noundef %1697) #11
  %1699 = load i32, ptr %1288, align 4, !tbaa !5
  %1700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1691, ptr noundef nonnull %.str.11.sink2051, i32 noundef %1692, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.7, i32 noundef 155, ptr noundef %1694, ptr noundef %1696, ptr noundef %1698, i32 noundef %1699) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1701:                                             ; preds = %1676
  %1702 = load i32, ptr @test_count, align 4, !tbaa !5
  %1703 = add nsw i32 %1702, 1
  store i32 %1703, ptr @test_count, align 4, !tbaa !5
  %1704 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %17, ptr noundef nonnull %4, i32 noundef 5) #11
  %1705 = icmp eq i32 %1704, -1
  br i1 %1705, label %1706, label %1728

1706:                                             ; preds = %1701
  %1707 = load i32, ptr %1288, align 4, !tbaa !5
  %1708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1709 = call i32 @s2n_print_stacktrace(ptr noundef %1708) #11
  %1710 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1711 = trunc nuw i8 %1710 to i1
  br i1 %1711, label %1712, label %1716

1712:                                             ; preds = %1706
  %1713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1714 = call i32 @fileno(ptr noundef %1713) #11
  %1715 = call i32 @isatty(i32 noundef %1714) #11
  %.not1442 = icmp eq i32 %1715, 0
  br i1 %.not1442, label %1716, label %1717

1716:                                             ; preds = %1712, %1706
  br label %1717

1717:                                             ; preds = %1712, %1716
  %.str.11.sink2060 = phi ptr [ @.str.11, %1716 ], [ @.str.8, %1712 ]
  store i32 %1707, ptr %1288, align 4, !tbaa !5
  %1718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1719 = load i32, ptr @test_count, align 4, !tbaa !5
  %1720 = load i32, ptr %1234, align 4, !tbaa !5
  %1721 = call ptr @s2n_strerror(i32 noundef %1720, ptr noundef nonnull @.str.10) #11
  %1722 = load i32, ptr %1234, align 4, !tbaa !5
  %1723 = call ptr @s2n_strerror_debug(i32 noundef %1722, ptr noundef nonnull @.str.10) #11
  %1724 = load i32, ptr %1288, align 4, !tbaa !5
  %1725 = call ptr @strerror(i32 noundef %1724) #11
  %1726 = load i32, ptr %1288, align 4, !tbaa !5
  %1727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1718, ptr noundef nonnull %.str.11.sink2060, i32 noundef %1719, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.7, i32 noundef 159, ptr noundef %1721, ptr noundef %1723, ptr noundef %1725, i32 noundef %1726) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1728:                                             ; preds = %1701
  %1729 = load i32, ptr @test_count, align 4, !tbaa !5
  %1730 = add nsw i32 %1729, 1
  store i32 %1730, ptr @test_count, align 4, !tbaa !5
  %1731 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %17, i8 noundef zeroext 2) #11
  %1732 = icmp eq i32 %1731, -1
  br i1 %1732, label %1733, label %1755

1733:                                             ; preds = %1728
  %1734 = load i32, ptr %1288, align 4, !tbaa !5
  %1735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1736 = call i32 @s2n_print_stacktrace(ptr noundef %1735) #11
  %1737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1738 = trunc nuw i8 %1737 to i1
  br i1 %1738, label %1739, label %1743

1739:                                             ; preds = %1733
  %1740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1741 = call i32 @fileno(ptr noundef %1740) #11
  %1742 = call i32 @isatty(i32 noundef %1741) #11
  %.not1441 = icmp eq i32 %1742, 0
  br i1 %.not1441, label %1743, label %1744

1743:                                             ; preds = %1739, %1733
  br label %1744

1744:                                             ; preds = %1739, %1743
  %.str.11.sink2069 = phi ptr [ @.str.11, %1743 ], [ @.str.8, %1739 ]
  store i32 %1734, ptr %1288, align 4, !tbaa !5
  %1745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1746 = load i32, ptr @test_count, align 4, !tbaa !5
  %1747 = load i32, ptr %1234, align 4, !tbaa !5
  %1748 = call ptr @s2n_strerror(i32 noundef %1747, ptr noundef nonnull @.str.10) #11
  %1749 = load i32, ptr %1234, align 4, !tbaa !5
  %1750 = call ptr @s2n_strerror_debug(i32 noundef %1749, ptr noundef nonnull @.str.10) #11
  %1751 = load i32, ptr %1288, align 4, !tbaa !5
  %1752 = call ptr @strerror(i32 noundef %1751) #11
  %1753 = load i32, ptr %1288, align 4, !tbaa !5
  %1754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1745, ptr noundef nonnull %.str.11.sink2069, i32 noundef %1746, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.7, i32 noundef 160, ptr noundef %1748, ptr noundef %1750, ptr noundef %1752, i32 noundef %1753) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1755:                                             ; preds = %1728
  %1756 = load i32, ptr @test_count, align 4, !tbaa !5
  %1757 = add nsw i32 %1756, 1
  store i32 %1757, ptr @test_count, align 4, !tbaa !5
  %1758 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %17, i8 noundef zeroext 80) #11
  %1759 = icmp eq i32 %1758, -1
  br i1 %1759, label %1760, label %1782

1760:                                             ; preds = %1755
  %1761 = load i32, ptr %1288, align 4, !tbaa !5
  %1762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1763 = call i32 @s2n_print_stacktrace(ptr noundef %1762) #11
  %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 = %1760
  %1767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1768 = call i32 @fileno(ptr noundef %1767) #11
  %1769 = call i32 @isatty(i32 noundef %1768) #11
  %.not1440 = icmp eq i32 %1769, 0
  br i1 %.not1440, label %1770, label %1771

1770:                                             ; preds = %1766, %1760
  br label %1771

1771:                                             ; preds = %1766, %1770
  %.str.11.sink2078 = phi ptr [ @.str.11, %1770 ], [ @.str.8, %1766 ]
  store i32 %1761, ptr %1288, align 4, !tbaa !5
  %1772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1773 = load i32, ptr @test_count, align 4, !tbaa !5
  %1774 = load i32, ptr %1234, align 4, !tbaa !5
  %1775 = call ptr @s2n_strerror(i32 noundef %1774, ptr noundef nonnull @.str.10) #11
  %1776 = load i32, ptr %1234, align 4, !tbaa !5
  %1777 = call ptr @s2n_strerror_debug(i32 noundef %1776, ptr noundef nonnull @.str.10) #11
  %1778 = load i32, ptr %1288, align 4, !tbaa !5
  %1779 = call ptr @strerror(i32 noundef %1778) #11
  %1780 = load i32, ptr %1288, align 4, !tbaa !5
  %1781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1772, ptr noundef nonnull %.str.11.sink2078, i32 noundef %1773, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.7, i32 noundef 161, ptr noundef %1775, ptr noundef %1777, ptr noundef %1779, i32 noundef %1780) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1782:                                             ; preds = %1755
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %19) #11
  store i8 0, ptr %19, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #11
  store i32 0, ptr %20, align 4, !tbaa !5
  %1783 = load i32, ptr @test_count, align 4, !tbaa !5
  %1784 = add nsw i32 %1783, 1
  store i32 %1784, ptr @test_count, align 4, !tbaa !5
  %1785 = load ptr, ptr %16, align 8, !tbaa !9
  %1786 = call i64 @s2n_recv(ptr noundef %1785, ptr noundef nonnull %19, i64 noundef 1, ptr noundef nonnull %20) #11
  %1787 = icmp eq i64 %1786, -1
  br i1 %1787, label %1810, label %1788

1788:                                             ; preds = %1782
  %1789 = load i32, ptr %1288, align 4, !tbaa !5
  %1790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1791 = call i32 @s2n_print_stacktrace(ptr noundef %1790) #11
  %1792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1793 = trunc nuw i8 %1792 to i1
  br i1 %1793, label %1794, label %1798

1794:                                             ; preds = %1788
  %1795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1796 = call i32 @fileno(ptr noundef %1795) #11
  %1797 = call i32 @isatty(i32 noundef %1796) #11
  %.not1050 = icmp eq i32 %1797, 0
  br i1 %.not1050, label %1798, label %1799

1798:                                             ; preds = %1794, %1788
  br label %1799

1799:                                             ; preds = %1794, %1798
  %.str.11.sink2087 = phi ptr [ @.str.11, %1798 ], [ @.str.8, %1794 ]
  store i32 %1789, ptr %1288, align 4, !tbaa !5
  %1800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1801 = load i32, ptr @test_count, align 4, !tbaa !5
  %1802 = load i32, ptr %1234, align 4, !tbaa !5
  %1803 = call ptr @s2n_strerror(i32 noundef %1802, ptr noundef nonnull @.str.10) #11
  %1804 = load i32, ptr %1234, align 4, !tbaa !5
  %1805 = call ptr @s2n_strerror_debug(i32 noundef %1804, ptr noundef nonnull @.str.10) #11
  %1806 = load i32, ptr %1288, align 4, !tbaa !5
  %1807 = call ptr @strerror(i32 noundef %1806) #11
  %1808 = load i32, ptr %1288, align 4, !tbaa !5
  %1809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1800, ptr noundef nonnull %.str.11.sink2087, i32 noundef %1801, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.7, i32 noundef 167, ptr noundef %1803, ptr noundef %1805, ptr noundef %1807, i32 noundef %1808) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1810:                                             ; preds = %1782
  %1811 = load i32, ptr @test_count, align 4, !tbaa !5
  %1812 = add nsw i32 %1811, 1
  store i32 %1812, ptr @test_count, align 4, !tbaa !5
  %1813 = load i32, ptr %1234, align 4, !tbaa !5
  %1814 = icmp eq i32 %1813, 268435456
  br i1 %1814, label %1837, label %1815

1815:                                             ; preds = %1810
  %1816 = load i32, ptr %1288, align 4, !tbaa !5
  %1817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1818 = call i32 @s2n_print_stacktrace(ptr noundef %1817) #11
  %1819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1820 = trunc nuw i8 %1819 to i1
  br i1 %1820, label %1821, label %1825

1821:                                             ; preds = %1815
  %1822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1823 = call i32 @fileno(ptr noundef %1822) #11
  %1824 = call i32 @isatty(i32 noundef %1823) #11
  %.not1051 = icmp eq i32 %1824, 0
  br i1 %.not1051, label %1825, label %1826

1825:                                             ; preds = %1821, %1815
  br label %1826

1826:                                             ; preds = %1821, %1825
  %.str.11.sink2096 = phi ptr [ @.str.11, %1825 ], [ @.str.8, %1821 ]
  store i32 %1816, ptr %1288, align 4, !tbaa !5
  %1827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1828 = load i32, ptr @test_count, align 4, !tbaa !5
  %1829 = load i32, ptr %1234, align 4, !tbaa !5
  %1830 = call ptr @s2n_strerror(i32 noundef %1829, ptr noundef nonnull @.str.10) #11
  %1831 = load i32, ptr %1234, align 4, !tbaa !5
  %1832 = call ptr @s2n_strerror_debug(i32 noundef %1831, ptr noundef nonnull @.str.10) #11
  %1833 = load i32, ptr %1288, align 4, !tbaa !5
  %1834 = call ptr @strerror(i32 noundef %1833) #11
  %1835 = load i32, ptr %1288, align 4, !tbaa !5
  %1836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1827, ptr noundef nonnull %.str.11.sink2096, i32 noundef %1828, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.7, i32 noundef 167, ptr noundef %1830, ptr noundef %1832, ptr noundef %1834, i32 noundef %1835) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1837:                                             ; preds = %1810
  %1838 = add nsw i32 %1811, 2
  store i32 %1838, ptr @test_count, align 4, !tbaa !5
  %1839 = call ptr @s2n_strerror_debug(i32 noundef 268435456, ptr noundef nonnull @.str.10) #11
  %1840 = icmp eq ptr %1839, null
  br i1 %1840, label %1841, label %1863

1841:                                             ; preds = %1837
  %1842 = load i32, ptr %1288, align 4, !tbaa !5
  %1843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1844 = call i32 @s2n_print_stacktrace(ptr noundef %1843) #11
  %1845 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1846 = trunc nuw i8 %1845 to i1
  br i1 %1846, label %1847, label %1851

1847:                                             ; preds = %1841
  %1848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1849 = call i32 @fileno(ptr noundef %1848) #11
  %1850 = call i32 @isatty(i32 noundef %1849) #11
  %.not1439 = icmp eq i32 %1850, 0
  br i1 %.not1439, label %1851, label %1852

1851:                                             ; preds = %1847, %1841
  br label %1852

1852:                                             ; preds = %1847, %1851
  %.str.11.sink2105 = phi ptr [ @.str.11, %1851 ], [ @.str.8, %1847 ]
  store i32 %1842, ptr %1288, align 4, !tbaa !5
  %1853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1854 = load i32, ptr @test_count, align 4, !tbaa !5
  %1855 = load i32, ptr %1234, align 4, !tbaa !5
  %1856 = call ptr @s2n_strerror(i32 noundef %1855, ptr noundef nonnull @.str.10) #11
  %1857 = load i32, ptr %1234, align 4, !tbaa !5
  %1858 = call ptr @s2n_strerror_debug(i32 noundef %1857, ptr noundef nonnull @.str.10) #11
  %1859 = load i32, ptr %1288, align 4, !tbaa !5
  %1860 = call ptr @strerror(i32 noundef %1859) #11
  %1861 = load i32, ptr %1288, align 4, !tbaa !5
  %1862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1853, ptr noundef nonnull %.str.11.sink2105, i32 noundef %1854, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 167, ptr noundef %1856, ptr noundef %1858, ptr noundef %1860, i32 noundef %1861) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1863:                                             ; preds = %1837
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %1864 = load i32, ptr @test_count, align 4, !tbaa !5
  %1865 = add nsw i32 %1864, 1
  store i32 %1865, ptr @test_count, align 4, !tbaa !5
  %1866 = load ptr, ptr %16, align 8, !tbaa !9
  %1867 = call i32 @s2n_connection_get_alert(ptr noundef %1866) #11
  %1868 = icmp eq i32 %1867, 80
  br i1 %1868, label %1891, label %1869

1869:                                             ; preds = %1863
  %1870 = load i32, ptr %1288, align 4, !tbaa !5
  %1871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1872 = call i32 @s2n_print_stacktrace(ptr noundef %1871) #11
  %1873 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1874 = trunc nuw i8 %1873 to i1
  br i1 %1874, label %1875, label %1879

1875:                                             ; preds = %1869
  %1876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1877 = call i32 @fileno(ptr noundef %1876) #11
  %1878 = call i32 @isatty(i32 noundef %1877) #11
  %.not1052 = icmp eq i32 %1878, 0
  br i1 %.not1052, label %1879, label %1880

1879:                                             ; preds = %1875, %1869
  br label %1880

1880:                                             ; preds = %1875, %1879
  %.str.11.sink2114 = phi ptr [ @.str.11, %1879 ], [ @.str.8, %1875 ]
  store i32 %1870, ptr %1288, align 4, !tbaa !5
  %1881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1882 = load i32, ptr @test_count, align 4, !tbaa !5
  %1883 = load i32, ptr %1234, align 4, !tbaa !5
  %1884 = call ptr @s2n_strerror(i32 noundef %1883, ptr noundef nonnull @.str.10) #11
  %1885 = load i32, ptr %1234, align 4, !tbaa !5
  %1886 = call ptr @s2n_strerror_debug(i32 noundef %1885, ptr noundef nonnull @.str.10) #11
  %1887 = load i32, ptr %1288, align 4, !tbaa !5
  %1888 = call ptr @strerror(i32 noundef %1887) #11
  %1889 = load i32, ptr %1288, align 4, !tbaa !5
  %1890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1881, ptr noundef nonnull %.str.11.sink2114, i32 noundef %1882, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.7, i32 noundef 172, ptr noundef %1884, ptr noundef %1886, ptr noundef %1888, i32 noundef %1889) #13
  call void @exit(i32 noundef 1) #14
  unreachable

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

1897:                                             ; preds = %1891
  %1898 = load i32, ptr %1288, align 4, !tbaa !5
  %1899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1900 = call i32 @s2n_print_stacktrace(ptr noundef %1899) #11
  %1901 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1902 = trunc nuw i8 %1901 to i1
  br i1 %1902, label %1903, label %1907

1903:                                             ; preds = %1897
  %1904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1905 = call i32 @fileno(ptr noundef %1904) #11
  %1906 = call i32 @isatty(i32 noundef %1905) #11
  %.not1053 = icmp eq i32 %1906, 0
  br i1 %.not1053, label %1907, label %1908

1907:                                             ; preds = %1903, %1897
  br label %1908

1908:                                             ; preds = %1903, %1907
  %.str.11.sink2123 = phi ptr [ @.str.11, %1907 ], [ @.str.8, %1903 ]
  store i32 %1898, ptr %1288, align 4, !tbaa !5
  %1909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1910 = load i32, ptr @test_count, align 4, !tbaa !5
  %1911 = load i32, ptr %1234, align 4, !tbaa !5
  %1912 = call ptr @s2n_strerror(i32 noundef %1911, ptr noundef nonnull @.str.10) #11
  %1913 = load i32, ptr %1234, align 4, !tbaa !5
  %1914 = call ptr @s2n_strerror_debug(i32 noundef %1913, ptr noundef nonnull @.str.10) #11
  %1915 = load i32, ptr %1288, align 4, !tbaa !5
  %1916 = call ptr @strerror(i32 noundef %1915) #11
  %1917 = load i32, ptr %1288, align 4, !tbaa !5
  %1918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1909, ptr noundef nonnull %.str.11.sink2123, i32 noundef %1910, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.7, i32 noundef 173, ptr noundef %1912, ptr noundef %1914, ptr noundef %1916, i32 noundef %1917) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1919:                                             ; preds = %1891
  %1920 = load i32, ptr @test_count, align 4, !tbaa !5
  %1921 = add nsw i32 %1920, 1
  store i32 %1921, ptr @test_count, align 4, !tbaa !5
  %1922 = load i32, ptr %1234, align 4, !tbaa !5
  %1923 = icmp eq i32 %1922, 469762048
  br i1 %1923, label %1946, label %1924

1924:                                             ; preds = %1919
  %1925 = load i32, ptr %1288, align 4, !tbaa !5
  %1926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1927 = call i32 @s2n_print_stacktrace(ptr noundef %1926) #11
  %1928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1929 = trunc nuw i8 %1928 to i1
  br i1 %1929, label %1930, label %1934

1930:                                             ; preds = %1924
  %1931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1932 = call i32 @fileno(ptr noundef %1931) #11
  %1933 = call i32 @isatty(i32 noundef %1932) #11
  %.not1054 = icmp eq i32 %1933, 0
  br i1 %.not1054, label %1934, label %1935

1934:                                             ; preds = %1930, %1924
  br label %1935

1935:                                             ; preds = %1930, %1934
  %.str.11.sink2132 = phi ptr [ @.str.11, %1934 ], [ @.str.8, %1930 ]
  store i32 %1925, ptr %1288, align 4, !tbaa !5
  %1936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1937 = load i32, ptr @test_count, align 4, !tbaa !5
  %1938 = load i32, ptr %1234, align 4, !tbaa !5
  %1939 = call ptr @s2n_strerror(i32 noundef %1938, ptr noundef nonnull @.str.10) #11
  %1940 = load i32, ptr %1234, align 4, !tbaa !5
  %1941 = call ptr @s2n_strerror_debug(i32 noundef %1940, ptr noundef nonnull @.str.10) #11
  %1942 = load i32, ptr %1288, align 4, !tbaa !5
  %1943 = call ptr @strerror(i32 noundef %1942) #11
  %1944 = load i32, ptr %1288, align 4, !tbaa !5
  %1945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1936, ptr noundef nonnull %.str.11.sink2132, i32 noundef %1937, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.7, i32 noundef 173, ptr noundef %1939, ptr noundef %1941, ptr noundef %1943, i32 noundef %1944) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1946:                                             ; preds = %1919
  %1947 = add nsw i32 %1920, 2
  store i32 %1947, ptr @test_count, align 4, !tbaa !5
  %1948 = call ptr @s2n_strerror_debug(i32 noundef 469762048, ptr noundef nonnull @.str.10) #11
  %1949 = icmp eq ptr %1948, null
  br i1 %1949, label %1950, label %1972

1950:                                             ; preds = %1946
  %1951 = load i32, ptr %1288, align 4, !tbaa !5
  %1952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1953 = call i32 @s2n_print_stacktrace(ptr noundef %1952) #11
  %1954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1955 = trunc nuw i8 %1954 to i1
  br i1 %1955, label %1956, label %1960

1956:                                             ; preds = %1950
  %1957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1958 = call i32 @fileno(ptr noundef %1957) #11
  %1959 = call i32 @isatty(i32 noundef %1958) #11
  %.not1438 = icmp eq i32 %1959, 0
  br i1 %.not1438, label %1960, label %1961

1960:                                             ; preds = %1956, %1950
  br label %1961

1961:                                             ; preds = %1956, %1960
  %.str.11.sink2141 = phi ptr [ @.str.11, %1960 ], [ @.str.8, %1956 ]
  store i32 %1951, ptr %1288, align 4, !tbaa !5
  %1962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1963 = load i32, ptr @test_count, align 4, !tbaa !5
  %1964 = load i32, ptr %1234, align 4, !tbaa !5
  %1965 = call ptr @s2n_strerror(i32 noundef %1964, ptr noundef nonnull @.str.10) #11
  %1966 = load i32, ptr %1234, align 4, !tbaa !5
  %1967 = call ptr @s2n_strerror_debug(i32 noundef %1966, ptr noundef nonnull @.str.10) #11
  %1968 = load i32, ptr %1288, align 4, !tbaa !5
  %1969 = call ptr @strerror(i32 noundef %1968) #11
  %1970 = load i32, ptr %1288, align 4, !tbaa !5
  %1971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1962, ptr noundef nonnull %.str.11.sink2141, i32 noundef %1963, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 173, ptr noundef %1965, ptr noundef %1967, ptr noundef %1969, i32 noundef %1970) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1972:                                             ; preds = %1946
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %1973 = load i32, ptr @test_count, align 4, !tbaa !5
  %1974 = add nsw i32 %1973, 1
  store i32 %1974, ptr @test_count, align 4, !tbaa !5
  %1975 = load ptr, ptr %16, align 8, !tbaa !9
  %1976 = call i32 @s2n_shutdown(ptr noundef %1975, ptr noundef nonnull %20)
  %1977 = icmp eq i32 %1976, -1
  br i1 %1977, label %1978, label %2000

1978:                                             ; preds = %1972
  %1979 = load i32, ptr %1288, align 4, !tbaa !5
  %1980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1981 = call i32 @s2n_print_stacktrace(ptr noundef %1980) #11
  %1982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1983 = trunc nuw i8 %1982 to i1
  br i1 %1983, label %1984, label %1988

1984:                                             ; preds = %1978
  %1985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1986 = call i32 @fileno(ptr noundef %1985) #11
  %1987 = call i32 @isatty(i32 noundef %1986) #11
  %.not1437 = icmp eq i32 %1987, 0
  br i1 %.not1437, label %1988, label %1989

1988:                                             ; preds = %1984, %1978
  br label %1989

1989:                                             ; preds = %1984, %1988
  %.str.11.sink2150 = phi ptr [ @.str.11, %1988 ], [ @.str.8, %1984 ]
  store i32 %1979, ptr %1288, align 4, !tbaa !5
  %1990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1991 = load i32, ptr @test_count, align 4, !tbaa !5
  %1992 = load i32, ptr %1234, align 4, !tbaa !5
  %1993 = call ptr @s2n_strerror(i32 noundef %1992, ptr noundef nonnull @.str.10) #11
  %1994 = load i32, ptr %1234, align 4, !tbaa !5
  %1995 = call ptr @s2n_strerror_debug(i32 noundef %1994, ptr noundef nonnull @.str.10) #11
  %1996 = load i32, ptr %1288, align 4, !tbaa !5
  %1997 = call ptr @strerror(i32 noundef %1996) #11
  %1998 = load i32, ptr %1288, align 4, !tbaa !5
  %1999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1990, ptr noundef nonnull %.str.11.sink2150, i32 noundef %1991, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.7, i32 noundef 176, ptr noundef %1993, ptr noundef %1995, ptr noundef %1997, i32 noundef %1998) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2000:                                             ; preds = %1972
  %2001 = load i32, ptr @test_count, align 4, !tbaa !5
  %2002 = add nsw i32 %2001, 1
  store i32 %2002, ptr @test_count, align 4, !tbaa !5
  %2003 = load ptr, ptr %16, align 8, !tbaa !9
  %2004 = call zeroext i1 @s2n_handshake_is_complete(ptr noundef %2003) #11
  br i1 %2004, label %2027, label %2005

2005:                                             ; preds = %2000
  %2006 = load i32, ptr %1288, align 4, !tbaa !5
  %2007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2008 = call i32 @s2n_print_stacktrace(ptr noundef %2007) #11
  %2009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2010 = trunc nuw i8 %2009 to i1
  br i1 %2010, label %2011, label %2015

2011:                                             ; preds = %2005
  %2012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2013 = call i32 @fileno(ptr noundef %2012) #11
  %2014 = call i32 @isatty(i32 noundef %2013) #11
  %.not1055 = icmp eq i32 %2014, 0
  br i1 %.not1055, label %2015, label %2016

2015:                                             ; preds = %2011, %2005
  br label %2016

2016:                                             ; preds = %2011, %2015
  %.str.11.sink2159 = phi ptr [ @.str.11, %2015 ], [ @.str.8, %2011 ]
  store i32 %2006, ptr %1288, align 4, !tbaa !5
  %2017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2018 = load i32, ptr @test_count, align 4, !tbaa !5
  %2019 = load i32, ptr %1234, align 4, !tbaa !5
  %2020 = call ptr @s2n_strerror(i32 noundef %2019, ptr noundef nonnull @.str.10) #11
  %2021 = load i32, ptr %1234, align 4, !tbaa !5
  %2022 = call ptr @s2n_strerror_debug(i32 noundef %2021, ptr noundef nonnull @.str.10) #11
  %2023 = load i32, ptr %1288, align 4, !tbaa !5
  %2024 = call ptr @strerror(i32 noundef %2023) #11
  %2025 = load i32, ptr %1288, align 4, !tbaa !5
  %2026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2017, ptr noundef nonnull %.str.11.sink2159, i32 noundef %2018, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.7, i32 noundef 179, ptr noundef %2020, ptr noundef %2022, ptr noundef %2024, i32 noundef %2025) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2027:                                             ; preds = %2000
  %2028 = load i32, ptr @test_count, align 4, !tbaa !5
  %2029 = add nsw i32 %2028, 1
  store i32 %2029, ptr @test_count, align 4, !tbaa !5
  %2030 = load ptr, ptr %16, align 8, !tbaa !9
  %2031 = getelementptr inbounds i8, ptr %2030, i64 2008
  %2032 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %2031) #11
  br i1 %2032, label %2033, label %2055

2033:                                             ; preds = %2027
  %2034 = load i32, ptr %1288, align 4, !tbaa !5
  %2035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2036 = call i32 @s2n_print_stacktrace(ptr noundef %2035) #11
  %2037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2038 = trunc nuw i8 %2037 to i1
  br i1 %2038, label %2039, label %2043

2039:                                             ; preds = %2033
  %2040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2041 = call i32 @fileno(ptr noundef %2040) #11
  %2042 = call i32 @isatty(i32 noundef %2041) #11
  %.not1436 = icmp eq i32 %2042, 0
  br i1 %.not1436, label %2043, label %2044

2043:                                             ; preds = %2039, %2033
  br label %2044

2044:                                             ; preds = %2039, %2043
  %.str.11.sink2168 = phi ptr [ @.str.11, %2043 ], [ @.str.8, %2039 ]
  store i32 %2034, ptr %1288, align 4, !tbaa !5
  %2045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2046 = load i32, ptr @test_count, align 4, !tbaa !5
  %2047 = load i32, ptr %1234, align 4, !tbaa !5
  %2048 = call ptr @s2n_strerror(i32 noundef %2047, ptr noundef nonnull @.str.10) #11
  %2049 = load i32, ptr %1234, align 4, !tbaa !5
  %2050 = call ptr @s2n_strerror_debug(i32 noundef %2049, ptr noundef nonnull @.str.10) #11
  %2051 = load i32, ptr %1288, align 4, !tbaa !5
  %2052 = call ptr @strerror(i32 noundef %2051) #11
  %2053 = load i32, ptr %1288, align 4, !tbaa !5
  %2054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2045, ptr noundef nonnull %.str.11.sink2168, i32 noundef %2046, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.7, i32 noundef 180, ptr noundef %2048, ptr noundef %2050, ptr noundef %2052, i32 noundef %2053) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2055:                                             ; preds = %2027
  %2056 = load i32, ptr @test_count, align 4, !tbaa !5
  %2057 = add nsw i32 %2056, 1
  store i32 %2057, ptr @test_count, align 4, !tbaa !5
  %2058 = load ptr, ptr %16, align 8, !tbaa !9
  %2059 = getelementptr inbounds i8, ptr %2058, i64 2003
  %2060 = load i8, ptr %2059, align 1, !tbaa !15, !range !13, !noundef !14
  %2061 = trunc nuw i8 %2060 to i1
  br i1 %2061, label %2062, label %2084

2062:                                             ; preds = %2055
  %2063 = load i32, ptr %1288, align 4, !tbaa !5
  %2064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2065 = call i32 @s2n_print_stacktrace(ptr noundef %2064) #11
  %2066 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2067 = trunc nuw i8 %2066 to i1
  br i1 %2067, label %2068, label %2072

2068:                                             ; preds = %2062
  %2069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2070 = call i32 @fileno(ptr noundef %2069) #11
  %2071 = call i32 @isatty(i32 noundef %2070) #11
  %.not1435 = icmp eq i32 %2071, 0
  br i1 %.not1435, label %2072, label %2073

2072:                                             ; preds = %2068, %2062
  br label %2073

2073:                                             ; preds = %2068, %2072
  %.str.11.sink2177 = phi ptr [ @.str.11, %2072 ], [ @.str.8, %2068 ]
  store i32 %2063, ptr %1288, align 4, !tbaa !5
  %2074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2075 = load i32, ptr @test_count, align 4, !tbaa !5
  %2076 = load i32, ptr %1234, align 4, !tbaa !5
  %2077 = call ptr @s2n_strerror(i32 noundef %2076, ptr noundef nonnull @.str.10) #11
  %2078 = load i32, ptr %1234, align 4, !tbaa !5
  %2079 = call ptr @s2n_strerror_debug(i32 noundef %2078, ptr noundef nonnull @.str.10) #11
  %2080 = load i32, ptr %1288, align 4, !tbaa !5
  %2081 = call ptr @strerror(i32 noundef %2080) #11
  %2082 = load i32, ptr %1288, align 4, !tbaa !5
  %2083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2074, ptr noundef nonnull %.str.11.sink2177, i32 noundef %2075, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.7, i32 noundef 181, ptr noundef %2077, ptr noundef %2079, ptr noundef %2081, i32 noundef %2082) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2084:                                             ; preds = %2055
  %2085 = add nsw i32 %2056, 2
  store i32 %2085, ptr @test_count, align 4, !tbaa !5
  %2086 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %2058, i32 noundef 3) #11
  br i1 %2086, label %2109, label %2087

2087:                                             ; preds = %2084
  %2088 = load i32, ptr %1288, align 4, !tbaa !5
  %2089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2090 = call i32 @s2n_print_stacktrace(ptr noundef %2089) #11
  %2091 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2092 = trunc nuw i8 %2091 to i1
  br i1 %2092, label %2093, label %2097

2093:                                             ; preds = %2087
  %2094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2095 = call i32 @fileno(ptr noundef %2094) #11
  %2096 = call i32 @isatty(i32 noundef %2095) #11
  %.not1056 = icmp eq i32 %2096, 0
  br i1 %.not1056, label %2097, label %2098

2097:                                             ; preds = %2093, %2087
  br label %2098

2098:                                             ; preds = %2093, %2097
  %.str.11.sink2186 = phi ptr [ @.str.11, %2097 ], [ @.str.8, %2093 ]
  store i32 %2088, ptr %1288, align 4, !tbaa !5
  %2099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2100 = load i32, ptr @test_count, align 4, !tbaa !5
  %2101 = load i32, ptr %1234, align 4, !tbaa !5
  %2102 = call ptr @s2n_strerror(i32 noundef %2101, ptr noundef nonnull @.str.10) #11
  %2103 = load i32, ptr %1234, align 4, !tbaa !5
  %2104 = call ptr @s2n_strerror_debug(i32 noundef %2103, ptr noundef nonnull @.str.10) #11
  %2105 = load i32, ptr %1288, align 4, !tbaa !5
  %2106 = call ptr @strerror(i32 noundef %2105) #11
  %2107 = load i32, ptr %1288, align 4, !tbaa !5
  %2108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2099, ptr noundef nonnull %.str.11.sink2186, i32 noundef %2100, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.7, i32 noundef 182, ptr noundef %2102, ptr noundef %2104, ptr noundef %2106, i32 noundef %2107) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2109:                                             ; preds = %2084
  %2110 = load i32, ptr @test_count, align 4, !tbaa !5
  %2111 = add nsw i32 %2110, 1
  store i32 %2111, ptr @test_count, align 4, !tbaa !5
  %2112 = getelementptr inbounds i8, ptr %18, i64 28
  %2113 = load i32, ptr %2112, align 4, !tbaa !42
  %2114 = getelementptr inbounds i8, ptr %18, i64 24
  %2115 = load i32, ptr %2114, align 8, !tbaa !43
  %2116 = icmp eq i32 %2113, %2115
  br i1 %2116, label %2139, label %2117

2117:                                             ; preds = %2109
  %2118 = load i32, ptr %1288, align 4, !tbaa !5
  %2119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2120 = call i32 @s2n_print_stacktrace(ptr noundef %2119) #11
  %2121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2122 = trunc nuw i8 %2121 to i1
  br i1 %2122, label %2123, label %2127

2123:                                             ; preds = %2117
  %2124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2125 = call i32 @fileno(ptr noundef %2124) #11
  %2126 = call i32 @isatty(i32 noundef %2125) #11
  %.not1057 = icmp eq i32 %2126, 0
  br i1 %.not1057, label %2127, label %2128

2127:                                             ; preds = %2123, %2117
  br label %2128

2128:                                             ; preds = %2123, %2127
  %.str.11.sink2195 = phi ptr [ @.str.11, %2127 ], [ @.str.8, %2123 ]
  store i32 %2118, ptr %1288, align 4, !tbaa !5
  %2129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2130 = load i32, ptr @test_count, align 4, !tbaa !5
  %2131 = load i32, ptr %1234, align 4, !tbaa !5
  %2132 = call ptr @s2n_strerror(i32 noundef %2131, ptr noundef nonnull @.str.10) #11
  %2133 = load i32, ptr %1234, align 4, !tbaa !5
  %2134 = call ptr @s2n_strerror_debug(i32 noundef %2133, ptr noundef nonnull @.str.10) #11
  %2135 = load i32, ptr %1288, align 4, !tbaa !5
  %2136 = call ptr @strerror(i32 noundef %2135) #11
  %2137 = load i32, ptr %1288, align 4, !tbaa !5
  %2138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2129, ptr noundef nonnull %.str.11.sink2195, i32 noundef %2130, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.7, i32 noundef 185, ptr noundef %2132, ptr noundef %2134, ptr noundef %2136, i32 noundef %2137) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2139:                                             ; preds = %2109
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #11
  %2140 = call i32 @s2n_stuffer_free(ptr noundef nonnull %18) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %18) #11
  %2141 = call i32 @s2n_stuffer_free(ptr noundef nonnull %17) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %17) #11
  %2142 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %16) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #11
  %2143 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %2143, ptr %21, align 8, !tbaa !9
  %2144 = load i32, ptr @test_count, align 4, !tbaa !5
  %2145 = add nsw i32 %2144, 1
  store i32 %2145, ptr @test_count, align 4, !tbaa !5
  %2146 = icmp eq ptr %2143, null
  br i1 %2146, label %2147, label %2169

2147:                                             ; preds = %2139
  %2148 = load i32, ptr %1288, align 4, !tbaa !5
  %2149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2150 = call i32 @s2n_print_stacktrace(ptr noundef %2149) #11
  %2151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2152 = trunc nuw i8 %2151 to i1
  br i1 %2152, label %2153, label %2157

2153:                                             ; preds = %2147
  %2154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2155 = call i32 @fileno(ptr noundef %2154) #11
  %2156 = call i32 @isatty(i32 noundef %2155) #11
  %.not1434 = icmp eq i32 %2156, 0
  br i1 %.not1434, label %2157, label %2158

2157:                                             ; preds = %2153, %2147
  br label %2158

2158:                                             ; preds = %2153, %2157
  %.str.11.sink2204 = phi ptr [ @.str.11, %2157 ], [ @.str.8, %2153 ]
  store i32 %2148, ptr %1288, align 4, !tbaa !5
  %2159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2160 = load i32, ptr @test_count, align 4, !tbaa !5
  %2161 = load i32, ptr %1234, align 4, !tbaa !5
  %2162 = call ptr @s2n_strerror(i32 noundef %2161, ptr noundef nonnull @.str.10) #11
  %2163 = load i32, ptr %1234, align 4, !tbaa !5
  %2164 = call ptr @s2n_strerror_debug(i32 noundef %2163, ptr noundef nonnull @.str.10) #11
  %2165 = load i32, ptr %1288, align 4, !tbaa !5
  %2166 = call ptr @strerror(i32 noundef %2165) #11
  %2167 = load i32, ptr %1288, align 4, !tbaa !5
  %2168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2159, ptr noundef nonnull %.str.11.sink2204, i32 noundef %2160, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.7, i32 noundef 192, ptr noundef %2162, ptr noundef %2164, ptr noundef %2166, i32 noundef %2167) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2169:                                             ; preds = %2139
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %22) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %22, i8 0, i64 40, i1 false)
  %2170 = add nsw i32 %2144, 2
  store i32 %2170, ptr @test_count, align 4, !tbaa !5
  %2171 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %22, i32 noundef 0) #11
  %2172 = icmp eq i32 %2171, -1
  br i1 %2172, label %2173, label %2195

2173:                                             ; preds = %2169
  %2174 = load i32, ptr %1288, align 4, !tbaa !5
  %2175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2176 = call i32 @s2n_print_stacktrace(ptr noundef %2175) #11
  %2177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2178 = trunc nuw i8 %2177 to i1
  br i1 %2178, label %2179, label %2183

2179:                                             ; preds = %2173
  %2180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2181 = call i32 @fileno(ptr noundef %2180) #11
  %2182 = call i32 @isatty(i32 noundef %2181) #11
  %.not1433 = icmp eq i32 %2182, 0
  br i1 %.not1433, label %2183, label %2184

2183:                                             ; preds = %2179, %2173
  br label %2184

2184:                                             ; preds = %2179, %2183
  %.str.11.sink2213 = phi ptr [ @.str.11, %2183 ], [ @.str.8, %2179 ]
  store i32 %2174, ptr %1288, align 4, !tbaa !5
  %2185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2186 = load i32, ptr @test_count, align 4, !tbaa !5
  %2187 = load i32, ptr %1234, align 4, !tbaa !5
  %2188 = call ptr @s2n_strerror(i32 noundef %2187, ptr noundef nonnull @.str.10) #11
  %2189 = load i32, ptr %1234, align 4, !tbaa !5
  %2190 = call ptr @s2n_strerror_debug(i32 noundef %2189, ptr noundef nonnull @.str.10) #11
  %2191 = load i32, ptr %1288, align 4, !tbaa !5
  %2192 = call ptr @strerror(i32 noundef %2191) #11
  %2193 = load i32, ptr %1288, align 4, !tbaa !5
  %2194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2185, ptr noundef nonnull %.str.11.sink2213, i32 noundef %2186, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.7, i32 noundef 195, ptr noundef %2188, ptr noundef %2190, ptr noundef %2192, i32 noundef %2193) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2195:                                             ; preds = %2169
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %23) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %23, i8 0, i64 40, i1 false)
  %2196 = load i32, ptr @test_count, align 4, !tbaa !5
  %2197 = add nsw i32 %2196, 1
  store i32 %2197, ptr @test_count, align 4, !tbaa !5
  %2198 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %23, i32 noundef 0) #11
  %2199 = icmp eq i32 %2198, -1
  br i1 %2199, label %2200, label %2222

2200:                                             ; preds = %2195
  %2201 = load i32, ptr %1288, align 4, !tbaa !5
  %2202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2203 = call i32 @s2n_print_stacktrace(ptr noundef %2202) #11
  %2204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2205 = trunc nuw i8 %2204 to i1
  br i1 %2205, label %2206, label %2210

2206:                                             ; preds = %2200
  %2207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2208 = call i32 @fileno(ptr noundef %2207) #11
  %2209 = call i32 @isatty(i32 noundef %2208) #11
  %.not1432 = icmp eq i32 %2209, 0
  br i1 %.not1432, label %2210, label %2211

2210:                                             ; preds = %2206, %2200
  br label %2211

2211:                                             ; preds = %2206, %2210
  %.str.11.sink2222 = phi ptr [ @.str.11, %2210 ], [ @.str.8, %2206 ]
  store i32 %2201, ptr %1288, align 4, !tbaa !5
  %2212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2213 = load i32, ptr @test_count, align 4, !tbaa !5
  %2214 = load i32, ptr %1234, align 4, !tbaa !5
  %2215 = call ptr @s2n_strerror(i32 noundef %2214, ptr noundef nonnull @.str.10) #11
  %2216 = load i32, ptr %1234, align 4, !tbaa !5
  %2217 = call ptr @s2n_strerror_debug(i32 noundef %2216, ptr noundef nonnull @.str.10) #11
  %2218 = load i32, ptr %1288, align 4, !tbaa !5
  %2219 = call ptr @strerror(i32 noundef %2218) #11
  %2220 = load i32, ptr %1288, align 4, !tbaa !5
  %2221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2212, ptr noundef nonnull %.str.11.sink2222, i32 noundef %2213, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.7, i32 noundef 197, ptr noundef %2215, ptr noundef %2217, ptr noundef %2219, i32 noundef %2220) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2222:                                             ; preds = %2195
  %2223 = load i32, ptr @test_count, align 4, !tbaa !5
  %2224 = add nsw i32 %2223, 1
  store i32 %2224, ptr @test_count, align 4, !tbaa !5
  %2225 = load ptr, ptr %21, align 8, !tbaa !9
  %2226 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %22, ptr noundef nonnull %23, ptr noundef %2225) #11
  %2227 = icmp eq i32 %2226, -1
  br i1 %2227, label %2228, label %2250

2228:                                             ; preds = %2222
  %2229 = load i32, ptr %1288, align 4, !tbaa !5
  %2230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2231 = call i32 @s2n_print_stacktrace(ptr noundef %2230) #11
  %2232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2233 = trunc nuw i8 %2232 to i1
  br i1 %2233, label %2234, label %2238

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

2238:                                             ; preds = %2234, %2228
  br label %2239

2239:                                             ; preds = %2234, %2238
  %.str.11.sink2231 = phi ptr [ @.str.11, %2238 ], [ @.str.8, %2234 ]
  store i32 %2229, ptr %1288, align 4, !tbaa !5
  %2240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2241 = load i32, ptr @test_count, align 4, !tbaa !5
  %2242 = load i32, ptr %1234, align 4, !tbaa !5
  %2243 = call ptr @s2n_strerror(i32 noundef %2242, ptr noundef nonnull @.str.10) #11
  %2244 = load i32, ptr %1234, align 4, !tbaa !5
  %2245 = call ptr @s2n_strerror_debug(i32 noundef %2244, ptr noundef nonnull @.str.10) #11
  %2246 = load i32, ptr %1288, align 4, !tbaa !5
  %2247 = call ptr @strerror(i32 noundef %2246) #11
  %2248 = load i32, ptr %1288, align 4, !tbaa !5
  %2249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2240, ptr noundef nonnull %.str.11.sink2231, i32 noundef %2241, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.7, i32 noundef 198, ptr noundef %2243, ptr noundef %2245, ptr noundef %2247, i32 noundef %2248) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2250:                                             ; preds = %2222
  %2251 = load i32, ptr @test_count, align 4, !tbaa !5
  %2252 = add nsw i32 %2251, 1
  store i32 %2252, ptr @test_count, align 4, !tbaa !5
  %2253 = load ptr, ptr %21, align 8, !tbaa !9
  %2254 = call zeroext i1 @s2n_handshake_is_complete(ptr noundef %2253) #11
  br i1 %2254, label %2255, label %2277

2255:                                             ; preds = %2250
  %2256 = load i32, ptr %1288, align 4, !tbaa !5
  %2257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2258 = call i32 @s2n_print_stacktrace(ptr noundef %2257) #11
  %2259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2260 = trunc nuw i8 %2259 to i1
  br i1 %2260, label %2261, label %2265

2261:                                             ; preds = %2255
  %2262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2263 = call i32 @fileno(ptr noundef %2262) #11
  %2264 = call i32 @isatty(i32 noundef %2263) #11
  %.not1430 = icmp eq i32 %2264, 0
  br i1 %.not1430, label %2265, label %2266

2265:                                             ; preds = %2261, %2255
  br label %2266

2266:                                             ; preds = %2261, %2265
  %.str.11.sink2240 = phi ptr [ @.str.11, %2265 ], [ @.str.8, %2261 ]
  store i32 %2256, ptr %1288, align 4, !tbaa !5
  %2267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2268 = load i32, ptr @test_count, align 4, !tbaa !5
  %2269 = load i32, ptr %1234, align 4, !tbaa !5
  %2270 = call ptr @s2n_strerror(i32 noundef %2269, ptr noundef nonnull @.str.10) #11
  %2271 = load i32, ptr %1234, align 4, !tbaa !5
  %2272 = call ptr @s2n_strerror_debug(i32 noundef %2271, ptr noundef nonnull @.str.10) #11
  %2273 = load i32, ptr %1288, align 4, !tbaa !5
  %2274 = call ptr @strerror(i32 noundef %2273) #11
  %2275 = load i32, ptr %1288, align 4, !tbaa !5
  %2276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2267, ptr noundef nonnull %.str.11.sink2240, i32 noundef %2268, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.7, i32 noundef 201, ptr noundef %2270, ptr noundef %2272, ptr noundef %2274, i32 noundef %2275) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2277:                                             ; preds = %2250
  %2278 = load i32, ptr @test_count, align 4, !tbaa !5
  %2279 = add nsw i32 %2278, 1
  store i32 %2279, ptr @test_count, align 4, !tbaa !5
  %2280 = load ptr, ptr %21, align 8, !tbaa !9
  %2281 = getelementptr inbounds i8, ptr %2280, i64 2008
  %2282 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %2281) #11
  br i1 %2282, label %2283, label %2305

2283:                                             ; preds = %2277
  %2284 = load i32, ptr %1288, align 4, !tbaa !5
  %2285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2286 = call i32 @s2n_print_stacktrace(ptr noundef %2285) #11
  %2287 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2288 = trunc nuw i8 %2287 to i1
  br i1 %2288, label %2289, label %2293

2289:                                             ; preds = %2283
  %2290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2291 = call i32 @fileno(ptr noundef %2290) #11
  %2292 = call i32 @isatty(i32 noundef %2291) #11
  %.not1429 = icmp eq i32 %2292, 0
  br i1 %.not1429, label %2293, label %2294

2293:                                             ; preds = %2289, %2283
  br label %2294

2294:                                             ; preds = %2289, %2293
  %.str.11.sink2249 = phi ptr [ @.str.11, %2293 ], [ @.str.8, %2289 ]
  store i32 %2284, ptr %1288, align 4, !tbaa !5
  %2295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2296 = load i32, ptr @test_count, align 4, !tbaa !5
  %2297 = load i32, ptr %1234, align 4, !tbaa !5
  %2298 = call ptr @s2n_strerror(i32 noundef %2297, ptr noundef nonnull @.str.10) #11
  %2299 = load i32, ptr %1234, align 4, !tbaa !5
  %2300 = call ptr @s2n_strerror_debug(i32 noundef %2299, ptr noundef nonnull @.str.10) #11
  %2301 = load i32, ptr %1288, align 4, !tbaa !5
  %2302 = call ptr @strerror(i32 noundef %2301) #11
  %2303 = load i32, ptr %1288, align 4, !tbaa !5
  %2304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2295, ptr noundef nonnull %.str.11.sink2249, i32 noundef %2296, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.7, i32 noundef 202, ptr noundef %2298, ptr noundef %2300, ptr noundef %2302, i32 noundef %2303) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2305:                                             ; preds = %2277
  %2306 = load i32, ptr @test_count, align 4, !tbaa !5
  %2307 = add nsw i32 %2306, 1
  store i32 %2307, ptr @test_count, align 4, !tbaa !5
  %2308 = load ptr, ptr %21, align 8, !tbaa !9
  %2309 = getelementptr inbounds i8, ptr %2308, i64 2003
  %2310 = load i8, ptr %2309, align 1, !tbaa !15, !range !13, !noundef !14
  %2311 = trunc nuw i8 %2310 to i1
  br i1 %2311, label %2312, label %2334

2312:                                             ; preds = %2305
  %2313 = load i32, ptr %1288, align 4, !tbaa !5
  %2314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2315 = call i32 @s2n_print_stacktrace(ptr noundef %2314) #11
  %2316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2317 = trunc nuw i8 %2316 to i1
  br i1 %2317, label %2318, label %2322

2318:                                             ; preds = %2312
  %2319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2320 = call i32 @fileno(ptr noundef %2319) #11
  %2321 = call i32 @isatty(i32 noundef %2320) #11
  %.not1428 = icmp eq i32 %2321, 0
  br i1 %.not1428, label %2322, label %2323

2322:                                             ; preds = %2318, %2312
  br label %2323

2323:                                             ; preds = %2318, %2322
  %.str.11.sink2258 = phi ptr [ @.str.11, %2322 ], [ @.str.8, %2318 ]
  store i32 %2313, ptr %1288, align 4, !tbaa !5
  %2324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2325 = load i32, ptr @test_count, align 4, !tbaa !5
  %2326 = load i32, ptr %1234, align 4, !tbaa !5
  %2327 = call ptr @s2n_strerror(i32 noundef %2326, ptr noundef nonnull @.str.10) #11
  %2328 = load i32, ptr %1234, align 4, !tbaa !5
  %2329 = call ptr @s2n_strerror_debug(i32 noundef %2328, ptr noundef nonnull @.str.10) #11
  %2330 = load i32, ptr %1288, align 4, !tbaa !5
  %2331 = call ptr @strerror(i32 noundef %2330) #11
  %2332 = load i32, ptr %1288, align 4, !tbaa !5
  %2333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2324, ptr noundef nonnull %.str.11.sink2258, i32 noundef %2325, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.7, i32 noundef 203, ptr noundef %2327, ptr noundef %2329, ptr noundef %2331, i32 noundef %2332) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2334:                                             ; preds = %2305
  %2335 = add nsw i32 %2306, 2
  store i32 %2335, ptr @test_count, align 4, !tbaa !5
  %2336 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %2308, i32 noundef 2) #11
  br i1 %2336, label %2359, label %2337

2337:                                             ; preds = %2334
  %2338 = load i32, ptr %1288, align 4, !tbaa !5
  %2339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2340 = call i32 @s2n_print_stacktrace(ptr noundef %2339) #11
  %2341 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2342 = trunc nuw i8 %2341 to i1
  br i1 %2342, label %2343, label %2347

2343:                                             ; preds = %2337
  %2344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2345 = call i32 @fileno(ptr noundef %2344) #11
  %2346 = call i32 @isatty(i32 noundef %2345) #11
  %.not1058 = icmp eq i32 %2346, 0
  br i1 %.not1058, label %2347, label %2348

2347:                                             ; preds = %2343, %2337
  br label %2348

2348:                                             ; preds = %2343, %2347
  %.str.11.sink2267 = phi ptr [ @.str.11, %2347 ], [ @.str.8, %2343 ]
  store i32 %2338, ptr %1288, align 4, !tbaa !5
  %2349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2350 = load i32, ptr @test_count, align 4, !tbaa !5
  %2351 = load i32, ptr %1234, align 4, !tbaa !5
  %2352 = call ptr @s2n_strerror(i32 noundef %2351, ptr noundef nonnull @.str.10) #11
  %2353 = load i32, ptr %1234, align 4, !tbaa !5
  %2354 = call ptr @s2n_strerror_debug(i32 noundef %2353, ptr noundef nonnull @.str.10) #11
  %2355 = load i32, ptr %1288, align 4, !tbaa !5
  %2356 = call ptr @strerror(i32 noundef %2355) #11
  %2357 = load i32, ptr %1288, align 4, !tbaa !5
  %2358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2349, ptr noundef nonnull %.str.11.sink2267, i32 noundef %2350, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.7, i32 noundef 204, ptr noundef %2352, ptr noundef %2354, ptr noundef %2356, i32 noundef %2357) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2359:                                             ; preds = %2334
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #11
  store i32 0, ptr %24, align 4, !tbaa !5
  %2360 = load i32, ptr @test_count, align 4, !tbaa !5
  %2361 = add nsw i32 %2360, 1
  store i32 %2361, ptr @test_count, align 4, !tbaa !5
  %2362 = load ptr, ptr %21, align 8, !tbaa !9
  %2363 = call i32 @s2n_shutdown(ptr noundef %2362, ptr noundef nonnull %24)
  %2364 = icmp eq i32 %2363, -1
  br i1 %2364, label %2365, label %2387

2365:                                             ; preds = %2359
  %2366 = load i32, ptr %1288, align 4, !tbaa !5
  %2367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2368 = call i32 @s2n_print_stacktrace(ptr noundef %2367) #11
  %2369 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2370 = trunc nuw i8 %2369 to i1
  br i1 %2370, label %2371, label %2375

2371:                                             ; preds = %2365
  %2372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2373 = call i32 @fileno(ptr noundef %2372) #11
  %2374 = call i32 @isatty(i32 noundef %2373) #11
  %.not1427 = icmp eq i32 %2374, 0
  br i1 %.not1427, label %2375, label %2376

2375:                                             ; preds = %2371, %2365
  br label %2376

2376:                                             ; preds = %2371, %2375
  %.str.11.sink2276 = phi ptr [ @.str.11, %2375 ], [ @.str.8, %2371 ]
  store i32 %2366, ptr %1288, align 4, !tbaa !5
  %2377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2378 = load i32, ptr @test_count, align 4, !tbaa !5
  %2379 = load i32, ptr %1234, align 4, !tbaa !5
  %2380 = call ptr @s2n_strerror(i32 noundef %2379, ptr noundef nonnull @.str.10) #11
  %2381 = load i32, ptr %1234, align 4, !tbaa !5
  %2382 = call ptr @s2n_strerror_debug(i32 noundef %2381, ptr noundef nonnull @.str.10) #11
  %2383 = load i32, ptr %1288, align 4, !tbaa !5
  %2384 = call ptr @strerror(i32 noundef %2383) #11
  %2385 = load i32, ptr %1288, align 4, !tbaa !5
  %2386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2377, ptr noundef nonnull %.str.11.sink2276, i32 noundef %2378, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.7, i32 noundef 207, ptr noundef %2380, ptr noundef %2382, ptr noundef %2384, i32 noundef %2385) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2387:                                             ; preds = %2359
  %2388 = load i32, ptr @test_count, align 4, !tbaa !5
  %2389 = add nsw i32 %2388, 1
  store i32 %2389, ptr @test_count, align 4, !tbaa !5
  %2390 = load ptr, ptr %21, align 8, !tbaa !9
  %2391 = call zeroext i1 @s2n_handshake_is_complete(ptr noundef %2390) #11
  br i1 %2391, label %2392, label %2414

2392:                                             ; preds = %2387
  %2393 = load i32, ptr %1288, align 4, !tbaa !5
  %2394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2395 = call i32 @s2n_print_stacktrace(ptr noundef %2394) #11
  %2396 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2397 = trunc nuw i8 %2396 to i1
  br i1 %2397, label %2398, label %2402

2398:                                             ; preds = %2392
  %2399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2400 = call i32 @fileno(ptr noundef %2399) #11
  %2401 = call i32 @isatty(i32 noundef %2400) #11
  %.not1426 = icmp eq i32 %2401, 0
  br i1 %.not1426, label %2402, label %2403

2402:                                             ; preds = %2398, %2392
  br label %2403

2403:                                             ; preds = %2398, %2402
  %.str.11.sink2285 = phi ptr [ @.str.11, %2402 ], [ @.str.8, %2398 ]
  store i32 %2393, ptr %1288, align 4, !tbaa !5
  %2404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2405 = load i32, ptr @test_count, align 4, !tbaa !5
  %2406 = load i32, ptr %1234, align 4, !tbaa !5
  %2407 = call ptr @s2n_strerror(i32 noundef %2406, ptr noundef nonnull @.str.10) #11
  %2408 = load i32, ptr %1234, align 4, !tbaa !5
  %2409 = call ptr @s2n_strerror_debug(i32 noundef %2408, ptr noundef nonnull @.str.10) #11
  %2410 = load i32, ptr %1288, align 4, !tbaa !5
  %2411 = call ptr @strerror(i32 noundef %2410) #11
  %2412 = load i32, ptr %1288, align 4, !tbaa !5
  %2413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2404, ptr noundef nonnull %.str.11.sink2285, i32 noundef %2405, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.7, i32 noundef 210, ptr noundef %2407, ptr noundef %2409, ptr noundef %2411, i32 noundef %2412) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2414:                                             ; preds = %2387
  %2415 = load i32, ptr @test_count, align 4, !tbaa !5
  %2416 = add nsw i32 %2415, 1
  store i32 %2416, ptr @test_count, align 4, !tbaa !5
  %2417 = load ptr, ptr %21, align 8, !tbaa !9
  %2418 = getelementptr inbounds i8, ptr %2417, i64 2008
  %2419 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %2418) #11
  br i1 %2419, label %2420, label %2442

2420:                                             ; preds = %2414
  %2421 = load i32, ptr %1288, align 4, !tbaa !5
  %2422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2423 = call i32 @s2n_print_stacktrace(ptr noundef %2422) #11
  %2424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2425 = trunc nuw i8 %2424 to i1
  br i1 %2425, label %2426, label %2430

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

2430:                                             ; preds = %2426, %2420
  br label %2431

2431:                                             ; preds = %2426, %2430
  %.str.11.sink2294 = phi ptr [ @.str.11, %2430 ], [ @.str.8, %2426 ]
  store i32 %2421, ptr %1288, align 4, !tbaa !5
  %2432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2433 = load i32, ptr @test_count, align 4, !tbaa !5
  %2434 = load i32, ptr %1234, align 4, !tbaa !5
  %2435 = call ptr @s2n_strerror(i32 noundef %2434, ptr noundef nonnull @.str.10) #11
  %2436 = load i32, ptr %1234, align 4, !tbaa !5
  %2437 = call ptr @s2n_strerror_debug(i32 noundef %2436, ptr noundef nonnull @.str.10) #11
  %2438 = load i32, ptr %1288, align 4, !tbaa !5
  %2439 = call ptr @strerror(i32 noundef %2438) #11
  %2440 = load i32, ptr %1288, align 4, !tbaa !5
  %2441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2432, ptr noundef nonnull %.str.11.sink2294, i32 noundef %2433, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.7, i32 noundef 211, ptr noundef %2435, ptr noundef %2437, ptr noundef %2439, i32 noundef %2440) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2442:                                             ; preds = %2414
  %2443 = load i32, ptr @test_count, align 4, !tbaa !5
  %2444 = add nsw i32 %2443, 1
  store i32 %2444, ptr @test_count, align 4, !tbaa !5
  %2445 = load ptr, ptr %21, align 8, !tbaa !9
  %2446 = getelementptr inbounds i8, ptr %2445, i64 2003
  %2447 = load i8, ptr %2446, align 1, !tbaa !15, !range !13, !noundef !14
  %2448 = trunc nuw i8 %2447 to i1
  br i1 %2448, label %2471, label %2449

2449:                                             ; preds = %2442
  %2450 = load i32, ptr %1288, align 4, !tbaa !5
  %2451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2452 = call i32 @s2n_print_stacktrace(ptr noundef %2451) #11
  %2453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2454 = trunc nuw i8 %2453 to i1
  br i1 %2454, label %2455, label %2459

2455:                                             ; preds = %2449
  %2456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2457 = call i32 @fileno(ptr noundef %2456) #11
  %2458 = call i32 @isatty(i32 noundef %2457) #11
  %.not1059 = icmp eq i32 %2458, 0
  br i1 %.not1059, label %2459, label %2460

2459:                                             ; preds = %2455, %2449
  br label %2460

2460:                                             ; preds = %2455, %2459
  %.str.11.sink2303 = phi ptr [ @.str.11, %2459 ], [ @.str.8, %2455 ]
  store i32 %2450, ptr %1288, align 4, !tbaa !5
  %2461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2462 = load i32, ptr @test_count, align 4, !tbaa !5
  %2463 = load i32, ptr %1234, align 4, !tbaa !5
  %2464 = call ptr @s2n_strerror(i32 noundef %2463, ptr noundef nonnull @.str.10) #11
  %2465 = load i32, ptr %1234, align 4, !tbaa !5
  %2466 = call ptr @s2n_strerror_debug(i32 noundef %2465, ptr noundef nonnull @.str.10) #11
  %2467 = load i32, ptr %1288, align 4, !tbaa !5
  %2468 = call ptr @strerror(i32 noundef %2467) #11
  %2469 = load i32, ptr %1288, align 4, !tbaa !5
  %2470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2461, ptr noundef nonnull %.str.11.sink2303, i32 noundef %2462, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.7, i32 noundef 212, ptr noundef %2464, ptr noundef %2466, ptr noundef %2468, i32 noundef %2469) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2471:                                             ; preds = %2442
  %2472 = add nsw i32 %2443, 2
  store i32 %2472, ptr @test_count, align 4, !tbaa !5
  %2473 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %2445, i32 noundef 3) #11
  br i1 %2473, label %2496, label %2474

2474:                                             ; preds = %2471
  %2475 = load i32, ptr %1288, align 4, !tbaa !5
  %2476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2477 = call i32 @s2n_print_stacktrace(ptr noundef %2476) #11
  %2478 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2479 = trunc nuw i8 %2478 to i1
  br i1 %2479, label %2480, label %2484

2480:                                             ; preds = %2474
  %2481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2482 = call i32 @fileno(ptr noundef %2481) #11
  %2483 = call i32 @isatty(i32 noundef %2482) #11
  %.not1060 = icmp eq i32 %2483, 0
  br i1 %.not1060, label %2484, label %2485

2484:                                             ; preds = %2480, %2474
  br label %2485

2485:                                             ; preds = %2480, %2484
  %.str.11.sink2312 = phi ptr [ @.str.11, %2484 ], [ @.str.8, %2480 ]
  store i32 %2475, ptr %1288, align 4, !tbaa !5
  %2486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2487 = load i32, ptr @test_count, align 4, !tbaa !5
  %2488 = load i32, ptr %1234, align 4, !tbaa !5
  %2489 = call ptr @s2n_strerror(i32 noundef %2488, ptr noundef nonnull @.str.10) #11
  %2490 = load i32, ptr %1234, align 4, !tbaa !5
  %2491 = call ptr @s2n_strerror_debug(i32 noundef %2490, ptr noundef nonnull @.str.10) #11
  %2492 = load i32, ptr %1288, align 4, !tbaa !5
  %2493 = call ptr @strerror(i32 noundef %2492) #11
  %2494 = load i32, ptr %1288, align 4, !tbaa !5
  %2495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2486, ptr noundef nonnull %.str.11.sink2312, i32 noundef %2487, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.7, i32 noundef 215, ptr noundef %2489, ptr noundef %2491, ptr noundef %2493, i32 noundef %2494) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2496:                                             ; preds = %2471
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #11
  %2497 = call i32 @s2n_stuffer_free(ptr noundef nonnull %23) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %23) #11
  %2498 = call i32 @s2n_stuffer_free(ptr noundef nonnull %22) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %22) #11
  %2499 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %21) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #11
  %2500 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %2500, ptr %25, align 8, !tbaa !9
  %2501 = load i32, ptr @test_count, align 4, !tbaa !5
  %2502 = add nsw i32 %2501, 1
  store i32 %2502, ptr @test_count, align 4, !tbaa !5
  %2503 = icmp eq ptr %2500, null
  br i1 %2503, label %2504, label %2526

2504:                                             ; preds = %2496
  %2505 = load i32, ptr %1288, align 4, !tbaa !5
  %2506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2507 = call i32 @s2n_print_stacktrace(ptr noundef %2506) #11
  %2508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2509 = trunc nuw i8 %2508 to i1
  br i1 %2509, label %2510, label %2514

2510:                                             ; preds = %2504
  %2511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2512 = call i32 @fileno(ptr noundef %2511) #11
  %2513 = call i32 @isatty(i32 noundef %2512) #11
  %.not1424 = icmp eq i32 %2513, 0
  br i1 %.not1424, label %2514, label %2515

2514:                                             ; preds = %2510, %2504
  br label %2515

2515:                                             ; preds = %2510, %2514
  %.str.11.sink2321 = phi ptr [ @.str.11, %2514 ], [ @.str.8, %2510 ]
  store i32 %2505, ptr %1288, align 4, !tbaa !5
  %2516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2517 = load i32, ptr @test_count, align 4, !tbaa !5
  %2518 = load i32, ptr %1234, align 4, !tbaa !5
  %2519 = call ptr @s2n_strerror(i32 noundef %2518, ptr noundef nonnull @.str.10) #11
  %2520 = load i32, ptr %1234, align 4, !tbaa !5
  %2521 = call ptr @s2n_strerror_debug(i32 noundef %2520, ptr noundef nonnull @.str.10) #11
  %2522 = load i32, ptr %1288, align 4, !tbaa !5
  %2523 = call ptr @strerror(i32 noundef %2522) #11
  %2524 = load i32, ptr %1288, align 4, !tbaa !5
  %2525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2516, ptr noundef nonnull %.str.11.sink2321, i32 noundef %2517, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.7, i32 noundef 222, ptr noundef %2519, ptr noundef %2521, ptr noundef %2523, i32 noundef %2524) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2526:                                             ; preds = %2496
  %2527 = add nsw i32 %2501, 2
  store i32 %2527, ptr @test_count, align 4, !tbaa !5
  %2528 = call i32 @s2n_skip_handshake(ptr noundef nonnull %2500) #11
  %2529 = call zeroext i1 @s2n_result_is_ok(i32 %2528)
  br i1 %2529, label %2552, label %2530

2530:                                             ; preds = %2526
  %2531 = load i32, ptr %1288, align 4, !tbaa !5
  %2532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2533 = call i32 @s2n_print_stacktrace(ptr noundef %2532) #11
  %2534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2535 = trunc nuw i8 %2534 to i1
  br i1 %2535, label %2536, label %2540

2536:                                             ; preds = %2530
  %2537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2538 = call i32 @fileno(ptr noundef %2537) #11
  %2539 = call i32 @isatty(i32 noundef %2538) #11
  %.not1061 = icmp eq i32 %2539, 0
  br i1 %.not1061, label %2540, label %2541

2540:                                             ; preds = %2536, %2530
  br label %2541

2541:                                             ; preds = %2536, %2540
  %.str.11.sink2330 = phi ptr [ @.str.11, %2540 ], [ @.str.8, %2536 ]
  store i32 %2531, ptr %1288, align 4, !tbaa !5
  %2542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2543 = load i32, ptr @test_count, align 4, !tbaa !5
  %2544 = load i32, ptr %1234, align 4, !tbaa !5
  %2545 = call ptr @s2n_strerror(i32 noundef %2544, ptr noundef nonnull @.str.10) #11
  %2546 = load i32, ptr %1234, align 4, !tbaa !5
  %2547 = call ptr @s2n_strerror_debug(i32 noundef %2546, ptr noundef nonnull @.str.10) #11
  %2548 = load i32, ptr %1288, align 4, !tbaa !5
  %2549 = call ptr @strerror(i32 noundef %2548) #11
  %2550 = load i32, ptr %1288, align 4, !tbaa !5
  %2551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2542, ptr noundef nonnull %.str.11.sink2330, i32 noundef %2543, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.7, i32 noundef 223, ptr noundef %2545, ptr noundef %2547, ptr noundef %2549, i32 noundef %2550) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2552:                                             ; preds = %2526
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %26) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %26, i8 0, i64 40, i1 false)
  %2553 = load i32, ptr @test_count, align 4, !tbaa !5
  %2554 = add nsw i32 %2553, 1
  store i32 %2554, ptr @test_count, align 4, !tbaa !5
  %2555 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %26, i32 noundef 0) #11
  %2556 = icmp eq i32 %2555, -1
  br i1 %2556, label %2557, label %2579

2557:                                             ; preds = %2552
  %2558 = load i32, ptr %1288, align 4, !tbaa !5
  %2559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2560 = call i32 @s2n_print_stacktrace(ptr noundef %2559) #11
  %2561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2562 = trunc nuw i8 %2561 to i1
  br i1 %2562, label %2563, label %2567

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

2567:                                             ; preds = %2563, %2557
  br label %2568

2568:                                             ; preds = %2563, %2567
  %.str.11.sink2339 = phi ptr [ @.str.11, %2567 ], [ @.str.8, %2563 ]
  store i32 %2558, ptr %1288, align 4, !tbaa !5
  %2569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2570 = load i32, ptr @test_count, align 4, !tbaa !5
  %2571 = load i32, ptr %1234, align 4, !tbaa !5
  %2572 = call ptr @s2n_strerror(i32 noundef %2571, ptr noundef nonnull @.str.10) #11
  %2573 = load i32, ptr %1234, align 4, !tbaa !5
  %2574 = call ptr @s2n_strerror_debug(i32 noundef %2573, ptr noundef nonnull @.str.10) #11
  %2575 = load i32, ptr %1288, align 4, !tbaa !5
  %2576 = call ptr @strerror(i32 noundef %2575) #11
  %2577 = load i32, ptr %1288, align 4, !tbaa !5
  %2578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2569, ptr noundef nonnull %.str.11.sink2339, i32 noundef %2570, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.7, i32 noundef 226, ptr noundef %2572, ptr noundef %2574, ptr noundef %2576, i32 noundef %2577) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2579:                                             ; preds = %2552
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %27) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %27, i8 0, i64 40, i1 false)
  %2580 = load i32, ptr @test_count, align 4, !tbaa !5
  %2581 = add nsw i32 %2580, 1
  store i32 %2581, ptr @test_count, align 4, !tbaa !5
  %2582 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %27, i32 noundef 0) #11
  %2583 = icmp eq i32 %2582, -1
  br i1 %2583, label %2584, label %2606

2584:                                             ; preds = %2579
  %2585 = load i32, ptr %1288, align 4, !tbaa !5
  %2586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2587 = call i32 @s2n_print_stacktrace(ptr noundef %2586) #11
  %2588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2589 = trunc nuw i8 %2588 to i1
  br i1 %2589, label %2590, label %2594

2590:                                             ; preds = %2584
  %2591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2592 = call i32 @fileno(ptr noundef %2591) #11
  %2593 = call i32 @isatty(i32 noundef %2592) #11
  %.not1422 = icmp eq i32 %2593, 0
  br i1 %.not1422, label %2594, label %2595

2594:                                             ; preds = %2590, %2584
  br label %2595

2595:                                             ; preds = %2590, %2594
  %.str.11.sink2348 = phi ptr [ @.str.11, %2594 ], [ @.str.8, %2590 ]
  store i32 %2585, ptr %1288, align 4, !tbaa !5
  %2596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2597 = load i32, ptr @test_count, align 4, !tbaa !5
  %2598 = load i32, ptr %1234, align 4, !tbaa !5
  %2599 = call ptr @s2n_strerror(i32 noundef %2598, ptr noundef nonnull @.str.10) #11
  %2600 = load i32, ptr %1234, align 4, !tbaa !5
  %2601 = call ptr @s2n_strerror_debug(i32 noundef %2600, ptr noundef nonnull @.str.10) #11
  %2602 = load i32, ptr %1288, align 4, !tbaa !5
  %2603 = call ptr @strerror(i32 noundef %2602) #11
  %2604 = load i32, ptr %1288, align 4, !tbaa !5
  %2605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2596, ptr noundef nonnull %.str.11.sink2348, i32 noundef %2597, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.7, i32 noundef 228, ptr noundef %2599, ptr noundef %2601, ptr noundef %2603, i32 noundef %2604) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2606:                                             ; preds = %2579
  %2607 = load i32, ptr @test_count, align 4, !tbaa !5
  %2608 = add nsw i32 %2607, 1
  store i32 %2608, ptr @test_count, align 4, !tbaa !5
  %2609 = load ptr, ptr %25, align 8, !tbaa !9
  %2610 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %26, ptr noundef nonnull %27, ptr noundef %2609) #11
  %2611 = icmp eq i32 %2610, -1
  br i1 %2611, label %2612, label %2634

2612:                                             ; preds = %2606
  %2613 = load i32, ptr %1288, align 4, !tbaa !5
  %2614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2615 = call i32 @s2n_print_stacktrace(ptr noundef %2614) #11
  %2616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2617 = trunc nuw i8 %2616 to i1
  br i1 %2617, label %2618, label %2622

2618:                                             ; preds = %2612
  %2619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2620 = call i32 @fileno(ptr noundef %2619) #11
  %2621 = call i32 @isatty(i32 noundef %2620) #11
  %.not1421 = icmp eq i32 %2621, 0
  br i1 %.not1421, label %2622, label %2623

2622:                                             ; preds = %2618, %2612
  br label %2623

2623:                                             ; preds = %2618, %2622
  %.str.11.sink2357 = phi ptr [ @.str.11, %2622 ], [ @.str.8, %2618 ]
  store i32 %2613, ptr %1288, align 4, !tbaa !5
  %2624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2625 = load i32, ptr @test_count, align 4, !tbaa !5
  %2626 = load i32, ptr %1234, align 4, !tbaa !5
  %2627 = call ptr @s2n_strerror(i32 noundef %2626, ptr noundef nonnull @.str.10) #11
  %2628 = load i32, ptr %1234, align 4, !tbaa !5
  %2629 = call ptr @s2n_strerror_debug(i32 noundef %2628, ptr noundef nonnull @.str.10) #11
  %2630 = load i32, ptr %1288, align 4, !tbaa !5
  %2631 = call ptr @strerror(i32 noundef %2630) #11
  %2632 = load i32, ptr %1288, align 4, !tbaa !5
  %2633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2624, ptr noundef nonnull %.str.11.sink2357, i32 noundef %2625, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.7, i32 noundef 229, ptr noundef %2627, ptr noundef %2629, ptr noundef %2631, i32 noundef %2632) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2634:                                             ; preds = %2606
  %2635 = load i32, ptr @test_count, align 4, !tbaa !5
  %2636 = add nsw i32 %2635, 1
  store i32 %2636, ptr @test_count, align 4, !tbaa !5
  %2637 = load ptr, ptr %25, align 8, !tbaa !9
  %2638 = getelementptr inbounds i8, ptr %2637, i64 2008
  %2639 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %2638) #11
  br i1 %2639, label %2640, label %2662

2640:                                             ; preds = %2634
  %2641 = load i32, ptr %1288, align 4, !tbaa !5
  %2642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2643 = call i32 @s2n_print_stacktrace(ptr noundef %2642) #11
  %2644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2645 = trunc nuw i8 %2644 to i1
  br i1 %2645, label %2646, label %2650

2646:                                             ; preds = %2640
  %2647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2648 = call i32 @fileno(ptr noundef %2647) #11
  %2649 = call i32 @isatty(i32 noundef %2648) #11
  %.not1420 = icmp eq i32 %2649, 0
  br i1 %.not1420, label %2650, label %2651

2650:                                             ; preds = %2646, %2640
  br label %2651

2651:                                             ; preds = %2646, %2650
  %.str.11.sink2366 = phi ptr [ @.str.11, %2650 ], [ @.str.8, %2646 ]
  store i32 %2641, ptr %1288, align 4, !tbaa !5
  %2652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2653 = load i32, ptr @test_count, align 4, !tbaa !5
  %2654 = load i32, ptr %1234, align 4, !tbaa !5
  %2655 = call ptr @s2n_strerror(i32 noundef %2654, ptr noundef nonnull @.str.10) #11
  %2656 = load i32, ptr %1234, align 4, !tbaa !5
  %2657 = call ptr @s2n_strerror_debug(i32 noundef %2656, ptr noundef nonnull @.str.10) #11
  %2658 = load i32, ptr %1288, align 4, !tbaa !5
  %2659 = call ptr @strerror(i32 noundef %2658) #11
  %2660 = load i32, ptr %1288, align 4, !tbaa !5
  %2661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2652, ptr noundef nonnull %.str.11.sink2366, i32 noundef %2653, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.7, i32 noundef 232, ptr noundef %2655, ptr noundef %2657, ptr noundef %2659, i32 noundef %2660) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2662:                                             ; preds = %2634
  %2663 = load i32, ptr @test_count, align 4, !tbaa !5
  %2664 = add nsw i32 %2663, 1
  store i32 %2664, ptr @test_count, align 4, !tbaa !5
  %2665 = load ptr, ptr %25, align 8, !tbaa !9
  %2666 = getelementptr inbounds i8, ptr %2665, i64 2003
  %2667 = load i8, ptr %2666, align 1, !tbaa !15, !range !13, !noundef !14
  %2668 = trunc nuw i8 %2667 to i1
  br i1 %2668, label %2669, label %2691

2669:                                             ; preds = %2662
  %2670 = load i32, ptr %1288, align 4, !tbaa !5
  %2671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2672 = call i32 @s2n_print_stacktrace(ptr noundef %2671) #11
  %2673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2674 = trunc nuw i8 %2673 to i1
  br i1 %2674, label %2675, label %2679

2675:                                             ; preds = %2669
  %2676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2677 = call i32 @fileno(ptr noundef %2676) #11
  %2678 = call i32 @isatty(i32 noundef %2677) #11
  %.not1419 = icmp eq i32 %2678, 0
  br i1 %.not1419, label %2679, label %2680

2679:                                             ; preds = %2675, %2669
  br label %2680

2680:                                             ; preds = %2675, %2679
  %.str.11.sink2375 = phi ptr [ @.str.11, %2679 ], [ @.str.8, %2675 ]
  store i32 %2670, ptr %1288, align 4, !tbaa !5
  %2681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2682 = load i32, ptr @test_count, align 4, !tbaa !5
  %2683 = load i32, ptr %1234, align 4, !tbaa !5
  %2684 = call ptr @s2n_strerror(i32 noundef %2683, ptr noundef nonnull @.str.10) #11
  %2685 = load i32, ptr %1234, align 4, !tbaa !5
  %2686 = call ptr @s2n_strerror_debug(i32 noundef %2685, ptr noundef nonnull @.str.10) #11
  %2687 = load i32, ptr %1288, align 4, !tbaa !5
  %2688 = call ptr @strerror(i32 noundef %2687) #11
  %2689 = load i32, ptr %1288, align 4, !tbaa !5
  %2690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2681, ptr noundef nonnull %.str.11.sink2375, i32 noundef %2682, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.7, i32 noundef 233, ptr noundef %2684, ptr noundef %2686, ptr noundef %2688, i32 noundef %2689) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2691:                                             ; preds = %2662
  %2692 = add nsw i32 %2663, 2
  store i32 %2692, ptr @test_count, align 4, !tbaa !5
  %2693 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %2665, i32 noundef 2) #11
  br i1 %2693, label %2716, label %2694

2694:                                             ; preds = %2691
  %2695 = load i32, ptr %1288, align 4, !tbaa !5
  %2696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2697 = call i32 @s2n_print_stacktrace(ptr noundef %2696) #11
  %2698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2699 = trunc nuw i8 %2698 to i1
  br i1 %2699, label %2700, label %2704

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

2704:                                             ; preds = %2700, %2694
  br label %2705

2705:                                             ; preds = %2700, %2704
  %.str.11.sink2384 = phi ptr [ @.str.11, %2704 ], [ @.str.8, %2700 ]
  store i32 %2695, ptr %1288, align 4, !tbaa !5
  %2706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2707 = load i32, ptr @test_count, align 4, !tbaa !5
  %2708 = load i32, ptr %1234, align 4, !tbaa !5
  %2709 = call ptr @s2n_strerror(i32 noundef %2708, ptr noundef nonnull @.str.10) #11
  %2710 = load i32, ptr %1234, align 4, !tbaa !5
  %2711 = call ptr @s2n_strerror_debug(i32 noundef %2710, ptr noundef nonnull @.str.10) #11
  %2712 = load i32, ptr %1288, align 4, !tbaa !5
  %2713 = call ptr @strerror(i32 noundef %2712) #11
  %2714 = load i32, ptr %1288, align 4, !tbaa !5
  %2715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2706, ptr noundef nonnull %.str.11.sink2384, i32 noundef %2707, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.7, i32 noundef 234, ptr noundef %2709, ptr noundef %2711, ptr noundef %2713, i32 noundef %2714) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2716:                                             ; preds = %2691
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #11
  store i32 0, ptr %28, align 4, !tbaa !5
  %2717 = load i32, ptr @test_count, align 4, !tbaa !5
  %2718 = add nsw i32 %2717, 1
  store i32 %2718, ptr @test_count, align 4, !tbaa !5
  %2719 = load ptr, ptr %25, align 8, !tbaa !9
  %2720 = call i32 @s2n_shutdown(ptr noundef %2719, ptr noundef nonnull %28)
  %2721 = icmp eq i32 %2720, -1
  br i1 %2721, label %2744, label %2722

2722:                                             ; preds = %2716
  %2723 = load i32, ptr %1288, align 4, !tbaa !5
  %2724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2725 = call i32 @s2n_print_stacktrace(ptr noundef %2724) #11
  %2726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2727 = trunc nuw i8 %2726 to i1
  br i1 %2727, label %2728, label %2732

2728:                                             ; preds = %2722
  %2729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2730 = call i32 @fileno(ptr noundef %2729) #11
  %2731 = call i32 @isatty(i32 noundef %2730) #11
  %.not1063 = icmp eq i32 %2731, 0
  br i1 %.not1063, label %2732, label %2733

2732:                                             ; preds = %2728, %2722
  br label %2733

2733:                                             ; preds = %2728, %2732
  %.str.11.sink2393 = phi ptr [ @.str.11, %2732 ], [ @.str.8, %2728 ]
  store i32 %2723, ptr %1288, align 4, !tbaa !5
  %2734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2735 = load i32, ptr @test_count, align 4, !tbaa !5
  %2736 = load i32, ptr %1234, align 4, !tbaa !5
  %2737 = call ptr @s2n_strerror(i32 noundef %2736, ptr noundef nonnull @.str.10) #11
  %2738 = load i32, ptr %1234, align 4, !tbaa !5
  %2739 = call ptr @s2n_strerror_debug(i32 noundef %2738, ptr noundef nonnull @.str.10) #11
  %2740 = load i32, ptr %1288, align 4, !tbaa !5
  %2741 = call ptr @strerror(i32 noundef %2740) #11
  %2742 = load i32, ptr %1288, align 4, !tbaa !5
  %2743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2734, ptr noundef nonnull %.str.11.sink2393, i32 noundef %2735, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.7, i32 noundef 237, ptr noundef %2737, ptr noundef %2739, ptr noundef %2741, i32 noundef %2742) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2744:                                             ; preds = %2716
  %2745 = load i32, ptr @test_count, align 4, !tbaa !5
  %2746 = add nsw i32 %2745, 1
  store i32 %2746, ptr @test_count, align 4, !tbaa !5
  %2747 = load i32, ptr %1234, align 4, !tbaa !5
  %2748 = icmp eq i32 %2747, 201326592
  br i1 %2748, label %2771, label %2749

2749:                                             ; preds = %2744
  %2750 = load i32, ptr %1288, align 4, !tbaa !5
  %2751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2752 = call i32 @s2n_print_stacktrace(ptr noundef %2751) #11
  %2753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2754 = trunc nuw i8 %2753 to i1
  br i1 %2754, label %2755, label %2759

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

2759:                                             ; preds = %2755, %2749
  br label %2760

2760:                                             ; preds = %2755, %2759
  %.str.11.sink2402 = phi ptr [ @.str.11, %2759 ], [ @.str.8, %2755 ]
  store i32 %2750, ptr %1288, align 4, !tbaa !5
  %2761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2762 = load i32, ptr @test_count, align 4, !tbaa !5
  %2763 = load i32, ptr %1234, align 4, !tbaa !5
  %2764 = call ptr @s2n_strerror(i32 noundef %2763, ptr noundef nonnull @.str.10) #11
  %2765 = load i32, ptr %1234, align 4, !tbaa !5
  %2766 = call ptr @s2n_strerror_debug(i32 noundef %2765, ptr noundef nonnull @.str.10) #11
  %2767 = load i32, ptr %1288, align 4, !tbaa !5
  %2768 = call ptr @strerror(i32 noundef %2767) #11
  %2769 = load i32, ptr %1288, align 4, !tbaa !5
  %2770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2761, ptr noundef nonnull %.str.11.sink2402, i32 noundef %2762, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.7, i32 noundef 237, ptr noundef %2764, ptr noundef %2766, ptr noundef %2768, i32 noundef %2769) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2771:                                             ; preds = %2744
  %2772 = add nsw i32 %2745, 2
  store i32 %2772, ptr @test_count, align 4, !tbaa !5
  %2773 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %2774 = icmp eq ptr %2773, null
  br i1 %2774, label %2775, label %2797

2775:                                             ; preds = %2771
  %2776 = load i32, ptr %1288, align 4, !tbaa !5
  %2777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2778 = call i32 @s2n_print_stacktrace(ptr noundef %2777) #11
  %2779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2780 = trunc nuw i8 %2779 to i1
  br i1 %2780, label %2781, label %2785

2781:                                             ; preds = %2775
  %2782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2783 = call i32 @fileno(ptr noundef %2782) #11
  %2784 = call i32 @isatty(i32 noundef %2783) #11
  %.not1418 = icmp eq i32 %2784, 0
  br i1 %.not1418, label %2785, label %2786

2785:                                             ; preds = %2781, %2775
  br label %2786

2786:                                             ; preds = %2781, %2785
  %.str.11.sink2411 = phi ptr [ @.str.11, %2785 ], [ @.str.8, %2781 ]
  store i32 %2776, ptr %1288, align 4, !tbaa !5
  %2787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2788 = load i32, ptr @test_count, align 4, !tbaa !5
  %2789 = load i32, ptr %1234, align 4, !tbaa !5
  %2790 = call ptr @s2n_strerror(i32 noundef %2789, ptr noundef nonnull @.str.10) #11
  %2791 = load i32, ptr %1234, align 4, !tbaa !5
  %2792 = call ptr @s2n_strerror_debug(i32 noundef %2791, ptr noundef nonnull @.str.10) #11
  %2793 = load i32, ptr %1288, align 4, !tbaa !5
  %2794 = call ptr @strerror(i32 noundef %2793) #11
  %2795 = load i32, ptr %1288, align 4, !tbaa !5
  %2796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2787, ptr noundef nonnull %.str.11.sink2411, i32 noundef %2788, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 237, ptr noundef %2790, ptr noundef %2792, ptr noundef %2794, i32 noundef %2795) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2797:                                             ; preds = %2771
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %2798 = load i32, ptr @test_count, align 4, !tbaa !5
  %2799 = add nsw i32 %2798, 1
  store i32 %2799, ptr @test_count, align 4, !tbaa !5
  %2800 = load i32, ptr %28, align 4, !tbaa !5
  %2801 = icmp eq i32 %2800, 1
  br i1 %2801, label %2824, label %2802

2802:                                             ; preds = %2797
  %2803 = load i32, ptr %1288, align 4, !tbaa !5
  %2804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2805 = call i32 @s2n_print_stacktrace(ptr noundef %2804) #11
  %2806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2807 = trunc nuw i8 %2806 to i1
  br i1 %2807, label %2808, label %2812

2808:                                             ; preds = %2802
  %2809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2810 = call i32 @fileno(ptr noundef %2809) #11
  %2811 = call i32 @isatty(i32 noundef %2810) #11
  %.not1065 = icmp eq i32 %2811, 0
  br i1 %.not1065, label %2812, label %2813

2812:                                             ; preds = %2808, %2802
  br label %2813

2813:                                             ; preds = %2808, %2812
  %.str.11.sink2420 = phi ptr [ @.str.11, %2812 ], [ @.str.8, %2808 ]
  store i32 %2803, ptr %1288, align 4, !tbaa !5
  %2814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2815 = load i32, ptr @test_count, align 4, !tbaa !5
  %2816 = load i32, ptr %1234, align 4, !tbaa !5
  %2817 = call ptr @s2n_strerror(i32 noundef %2816, ptr noundef nonnull @.str.10) #11
  %2818 = load i32, ptr %1234, align 4, !tbaa !5
  %2819 = call ptr @s2n_strerror_debug(i32 noundef %2818, ptr noundef nonnull @.str.10) #11
  %2820 = load i32, ptr %1288, align 4, !tbaa !5
  %2821 = call ptr @strerror(i32 noundef %2820) #11
  %2822 = load i32, ptr %1288, align 4, !tbaa !5
  %2823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2814, ptr noundef nonnull %.str.11.sink2420, i32 noundef %2815, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.7, i32 noundef 238, ptr noundef %2817, ptr noundef %2819, ptr noundef %2821, i32 noundef %2822) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2824:                                             ; preds = %2797
  %2825 = add nsw i32 %2798, 2
  store i32 %2825, ptr @test_count, align 4, !tbaa !5
  %2826 = load ptr, ptr %25, align 8, !tbaa !9
  %2827 = getelementptr inbounds i8, ptr %2826, i64 2008
  %2828 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %2827) #11
  br i1 %2828, label %2829, label %2851

2829:                                             ; preds = %2824
  %2830 = load i32, ptr %1288, align 4, !tbaa !5
  %2831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2832 = call i32 @s2n_print_stacktrace(ptr noundef %2831) #11
  %2833 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2834 = trunc nuw i8 %2833 to i1
  br i1 %2834, label %2835, label %2839

2835:                                             ; preds = %2829
  %2836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2837 = call i32 @fileno(ptr noundef %2836) #11
  %2838 = call i32 @isatty(i32 noundef %2837) #11
  %.not1417 = icmp eq i32 %2838, 0
  br i1 %.not1417, label %2839, label %2840

2839:                                             ; preds = %2835, %2829
  br label %2840

2840:                                             ; preds = %2835, %2839
  %.str.11.sink2429 = phi ptr [ @.str.11, %2839 ], [ @.str.8, %2835 ]
  store i32 %2830, ptr %1288, align 4, !tbaa !5
  %2841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2842 = load i32, ptr @test_count, align 4, !tbaa !5
  %2843 = load i32, ptr %1234, align 4, !tbaa !5
  %2844 = call ptr @s2n_strerror(i32 noundef %2843, ptr noundef nonnull @.str.10) #11
  %2845 = load i32, ptr %1234, align 4, !tbaa !5
  %2846 = call ptr @s2n_strerror_debug(i32 noundef %2845, ptr noundef nonnull @.str.10) #11
  %2847 = load i32, ptr %1288, align 4, !tbaa !5
  %2848 = call ptr @strerror(i32 noundef %2847) #11
  %2849 = load i32, ptr %1288, align 4, !tbaa !5
  %2850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2841, ptr noundef nonnull %.str.11.sink2429, i32 noundef %2842, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.7, i32 noundef 241, ptr noundef %2844, ptr noundef %2846, ptr noundef %2848, i32 noundef %2849) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2851:                                             ; preds = %2824
  %2852 = load i32, ptr @test_count, align 4, !tbaa !5
  %2853 = add nsw i32 %2852, 1
  store i32 %2853, ptr @test_count, align 4, !tbaa !5
  %2854 = load ptr, ptr %25, align 8, !tbaa !9
  %2855 = getelementptr inbounds i8, ptr %2854, i64 2003
  %2856 = load i8, ptr %2855, align 1, !tbaa !15, !range !13, !noundef !14
  %2857 = trunc nuw i8 %2856 to i1
  br i1 %2857, label %2880, label %2858

2858:                                             ; preds = %2851
  %2859 = load i32, ptr %1288, align 4, !tbaa !5
  %2860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2861 = call i32 @s2n_print_stacktrace(ptr noundef %2860) #11
  %2862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2863 = trunc nuw i8 %2862 to i1
  br i1 %2863, label %2864, label %2868

2864:                                             ; preds = %2858
  %2865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2866 = call i32 @fileno(ptr noundef %2865) #11
  %2867 = call i32 @isatty(i32 noundef %2866) #11
  %.not1066 = icmp eq i32 %2867, 0
  br i1 %.not1066, label %2868, label %2869

2868:                                             ; preds = %2864, %2858
  br label %2869

2869:                                             ; preds = %2864, %2868
  %.str.11.sink2438 = phi ptr [ @.str.11, %2868 ], [ @.str.8, %2864 ]
  store i32 %2859, ptr %1288, align 4, !tbaa !5
  %2870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2871 = load i32, ptr @test_count, align 4, !tbaa !5
  %2872 = load i32, ptr %1234, align 4, !tbaa !5
  %2873 = call ptr @s2n_strerror(i32 noundef %2872, ptr noundef nonnull @.str.10) #11
  %2874 = load i32, ptr %1234, align 4, !tbaa !5
  %2875 = call ptr @s2n_strerror_debug(i32 noundef %2874, ptr noundef nonnull @.str.10) #11
  %2876 = load i32, ptr %1288, align 4, !tbaa !5
  %2877 = call ptr @strerror(i32 noundef %2876) #11
  %2878 = load i32, ptr %1288, align 4, !tbaa !5
  %2879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2870, ptr noundef nonnull %.str.11.sink2438, i32 noundef %2871, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.7, i32 noundef 242, ptr noundef %2873, ptr noundef %2875, ptr noundef %2877, i32 noundef %2878) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2880:                                             ; preds = %2851
  %2881 = add nsw i32 %2852, 2
  store i32 %2881, ptr @test_count, align 4, !tbaa !5
  %2882 = call zeroext i8 @s2n_connection_get_protocol_version(ptr noundef nonnull %2854) #11
  %2883 = icmp eq i8 %2882, 34
  br i1 %2883, label %2906, label %2884

2884:                                             ; preds = %2880
  %2885 = load i32, ptr %1288, align 4, !tbaa !5
  %2886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2887 = call i32 @s2n_print_stacktrace(ptr noundef %2886) #11
  %2888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2889 = trunc nuw i8 %2888 to i1
  br i1 %2889, label %2890, label %2894

2890:                                             ; preds = %2884
  %2891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2892 = call i32 @fileno(ptr noundef %2891) #11
  %2893 = call i32 @isatty(i32 noundef %2892) #11
  %.not1067 = icmp eq i32 %2893, 0
  br i1 %.not1067, label %2894, label %2895

2894:                                             ; preds = %2890, %2884
  br label %2895

2895:                                             ; preds = %2890, %2894
  %.str.11.sink2447 = phi ptr [ @.str.11, %2894 ], [ @.str.8, %2890 ]
  store i32 %2885, ptr %1288, align 4, !tbaa !5
  %2896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2897 = load i32, ptr @test_count, align 4, !tbaa !5
  %2898 = load i32, ptr %1234, align 4, !tbaa !5
  %2899 = call ptr @s2n_strerror(i32 noundef %2898, ptr noundef nonnull @.str.10) #11
  %2900 = load i32, ptr %1234, align 4, !tbaa !5
  %2901 = call ptr @s2n_strerror_debug(i32 noundef %2900, ptr noundef nonnull @.str.10) #11
  %2902 = load i32, ptr %1288, align 4, !tbaa !5
  %2903 = call ptr @strerror(i32 noundef %2902) #11
  %2904 = load i32, ptr %1288, align 4, !tbaa !5
  %2905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2896, ptr noundef nonnull %.str.11.sink2447, i32 noundef %2897, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.7, i32 noundef 245, ptr noundef %2899, ptr noundef %2901, ptr noundef %2903, i32 noundef %2904) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2906:                                             ; preds = %2880
  %2907 = load i32, ptr @test_count, align 4, !tbaa !5
  %2908 = add nsw i32 %2907, 1
  store i32 %2908, ptr @test_count, align 4, !tbaa !5
  %2909 = load ptr, ptr %25, align 8, !tbaa !9
  %2910 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %2909, i32 noundef 0) #11
  br i1 %2910, label %2911, label %2933

2911:                                             ; preds = %2906
  %2912 = load i32, ptr %1288, align 4, !tbaa !5
  %2913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2914 = call i32 @s2n_print_stacktrace(ptr noundef %2913) #11
  %2915 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2916 = trunc nuw i8 %2915 to i1
  br i1 %2916, label %2917, label %2921

2917:                                             ; preds = %2911
  %2918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2919 = call i32 @fileno(ptr noundef %2918) #11
  %2920 = call i32 @isatty(i32 noundef %2919) #11
  %.not1416 = icmp eq i32 %2920, 0
  br i1 %.not1416, label %2921, label %2922

2921:                                             ; preds = %2917, %2911
  br label %2922

2922:                                             ; preds = %2917, %2921
  %.str.11.sink2456 = phi ptr [ @.str.11, %2921 ], [ @.str.8, %2917 ]
  store i32 %2912, ptr %1288, align 4, !tbaa !5
  %2923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2924 = load i32, ptr @test_count, align 4, !tbaa !5
  %2925 = load i32, ptr %1234, align 4, !tbaa !5
  %2926 = call ptr @s2n_strerror(i32 noundef %2925, ptr noundef nonnull @.str.10) #11
  %2927 = load i32, ptr %1234, align 4, !tbaa !5
  %2928 = call ptr @s2n_strerror_debug(i32 noundef %2927, ptr noundef nonnull @.str.10) #11
  %2929 = load i32, ptr %1288, align 4, !tbaa !5
  %2930 = call ptr @strerror(i32 noundef %2929) #11
  %2931 = load i32, ptr %1288, align 4, !tbaa !5
  %2932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2923, ptr noundef nonnull %.str.11.sink2456, i32 noundef %2924, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.7, i32 noundef 246, ptr noundef %2926, ptr noundef %2928, ptr noundef %2930, i32 noundef %2931) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2933:                                             ; preds = %2906
  %2934 = load i32, ptr @test_count, align 4, !tbaa !5
  %2935 = add nsw i32 %2934, 1
  store i32 %2935, ptr @test_count, align 4, !tbaa !5
  %2936 = load ptr, ptr %25, align 8, !tbaa !9
  %2937 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %2936, i32 noundef 1) #11
  br i1 %2937, label %2960, label %2938

2938:                                             ; preds = %2933
  %2939 = load i32, ptr %1288, align 4, !tbaa !5
  %2940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2941 = call i32 @s2n_print_stacktrace(ptr noundef %2940) #11
  %2942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2943 = trunc nuw i8 %2942 to i1
  br i1 %2943, label %2944, label %2948

2944:                                             ; preds = %2938
  %2945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2946 = call i32 @fileno(ptr noundef %2945) #11
  %2947 = call i32 @isatty(i32 noundef %2946) #11
  %.not1068 = icmp eq i32 %2947, 0
  br i1 %.not1068, label %2948, label %2949

2948:                                             ; preds = %2944, %2938
  br label %2949

2949:                                             ; preds = %2944, %2948
  %.str.11.sink2465 = phi ptr [ @.str.11, %2948 ], [ @.str.8, %2944 ]
  store i32 %2939, ptr %1288, align 4, !tbaa !5
  %2950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2951 = load i32, ptr @test_count, align 4, !tbaa !5
  %2952 = load i32, ptr %1234, align 4, !tbaa !5
  %2953 = call ptr @s2n_strerror(i32 noundef %2952, ptr noundef nonnull @.str.10) #11
  %2954 = load i32, ptr %1234, align 4, !tbaa !5
  %2955 = call ptr @s2n_strerror_debug(i32 noundef %2954, ptr noundef nonnull @.str.10) #11
  %2956 = load i32, ptr %1288, align 4, !tbaa !5
  %2957 = call ptr @strerror(i32 noundef %2956) #11
  %2958 = load i32, ptr %1288, align 4, !tbaa !5
  %2959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2950, ptr noundef nonnull %.str.11.sink2465, i32 noundef %2951, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.7, i32 noundef 247, ptr noundef %2953, ptr noundef %2955, ptr noundef %2957, i32 noundef %2958) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2960:                                             ; preds = %2933
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #11
  %2961 = call i32 @s2n_stuffer_free(ptr noundef nonnull %27) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %27) #11
  %2962 = call i32 @s2n_stuffer_free(ptr noundef nonnull %26) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %26) #11
  %2963 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %25) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #11
  %2964 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %2964, ptr %29, align 8, !tbaa !9
  %2965 = load i32, ptr @test_count, align 4, !tbaa !5
  %2966 = add nsw i32 %2965, 1
  store i32 %2966, ptr @test_count, align 4, !tbaa !5
  %2967 = icmp eq ptr %2964, null
  br i1 %2967, label %2968, label %2990

2968:                                             ; preds = %2960
  %2969 = load i32, ptr %1288, align 4, !tbaa !5
  %2970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2971 = call i32 @s2n_print_stacktrace(ptr noundef %2970) #11
  %2972 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2973 = trunc nuw i8 %2972 to i1
  br i1 %2973, label %2974, label %2978

2974:                                             ; preds = %2968
  %2975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2976 = call i32 @fileno(ptr noundef %2975) #11
  %2977 = call i32 @isatty(i32 noundef %2976) #11
  %.not1415 = icmp eq i32 %2977, 0
  br i1 %.not1415, label %2978, label %2979

2978:                                             ; preds = %2974, %2968
  br label %2979

2979:                                             ; preds = %2974, %2978
  %.str.11.sink2474 = phi ptr [ @.str.11, %2978 ], [ @.str.8, %2974 ]
  store i32 %2969, ptr %1288, align 4, !tbaa !5
  %2980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2981 = load i32, ptr @test_count, align 4, !tbaa !5
  %2982 = load i32, ptr %1234, align 4, !tbaa !5
  %2983 = call ptr @s2n_strerror(i32 noundef %2982, ptr noundef nonnull @.str.10) #11
  %2984 = load i32, ptr %1234, align 4, !tbaa !5
  %2985 = call ptr @s2n_strerror_debug(i32 noundef %2984, ptr noundef nonnull @.str.10) #11
  %2986 = load i32, ptr %1288, align 4, !tbaa !5
  %2987 = call ptr @strerror(i32 noundef %2986) #11
  %2988 = load i32, ptr %1288, align 4, !tbaa !5
  %2989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2980, ptr noundef nonnull %.str.11.sink2474, i32 noundef %2981, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.7, i32 noundef 254, ptr noundef %2983, ptr noundef %2985, ptr noundef %2987, i32 noundef %2988) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2990:                                             ; preds = %2960
  %2991 = add nsw i32 %2965, 2
  store i32 %2991, ptr @test_count, align 4, !tbaa !5
  %2992 = call i32 @s2n_skip_handshake(ptr noundef nonnull %2964) #11
  %2993 = call zeroext i1 @s2n_result_is_ok(i32 %2992)
  br i1 %2993, label %3016, label %2994

2994:                                             ; preds = %2990
  %2995 = load i32, ptr %1288, align 4, !tbaa !5
  %2996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2997 = call i32 @s2n_print_stacktrace(ptr noundef %2996) #11
  %2998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2999 = trunc nuw i8 %2998 to i1
  br i1 %2999, label %3000, label %3004

3000:                                             ; preds = %2994
  %3001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3002 = call i32 @fileno(ptr noundef %3001) #11
  %3003 = call i32 @isatty(i32 noundef %3002) #11
  %.not1069 = icmp eq i32 %3003, 0
  br i1 %.not1069, label %3004, label %3005

3004:                                             ; preds = %3000, %2994
  br label %3005

3005:                                             ; preds = %3000, %3004
  %.str.11.sink2483 = phi ptr [ @.str.11, %3004 ], [ @.str.8, %3000 ]
  store i32 %2995, ptr %1288, align 4, !tbaa !5
  %3006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3007 = load i32, ptr @test_count, align 4, !tbaa !5
  %3008 = load i32, ptr %1234, align 4, !tbaa !5
  %3009 = call ptr @s2n_strerror(i32 noundef %3008, ptr noundef nonnull @.str.10) #11
  %3010 = load i32, ptr %1234, align 4, !tbaa !5
  %3011 = call ptr @s2n_strerror_debug(i32 noundef %3010, ptr noundef nonnull @.str.10) #11
  %3012 = load i32, ptr %1288, align 4, !tbaa !5
  %3013 = call ptr @strerror(i32 noundef %3012) #11
  %3014 = load i32, ptr %1288, align 4, !tbaa !5
  %3015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3006, ptr noundef nonnull %.str.11.sink2483, i32 noundef %3007, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.7, i32 noundef 255, ptr noundef %3009, ptr noundef %3011, ptr noundef %3013, i32 noundef %3014) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3016:                                             ; preds = %2990
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %30) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %30, i8 0, i64 40, i1 false)
  %3017 = load i32, ptr @test_count, align 4, !tbaa !5
  %3018 = add nsw i32 %3017, 1
  store i32 %3018, ptr @test_count, align 4, !tbaa !5
  %3019 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %30, i32 noundef 0) #11
  %3020 = icmp eq i32 %3019, -1
  br i1 %3020, label %3021, label %3043

3021:                                             ; preds = %3016
  %3022 = load i32, ptr %1288, align 4, !tbaa !5
  %3023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3024 = call i32 @s2n_print_stacktrace(ptr noundef %3023) #11
  %3025 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3026 = trunc nuw i8 %3025 to i1
  br i1 %3026, label %3027, label %3031

3027:                                             ; preds = %3021
  %3028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3029 = call i32 @fileno(ptr noundef %3028) #11
  %3030 = call i32 @isatty(i32 noundef %3029) #11
  %.not1414 = icmp eq i32 %3030, 0
  br i1 %.not1414, label %3031, label %3032

3031:                                             ; preds = %3027, %3021
  br label %3032

3032:                                             ; preds = %3027, %3031
  %.str.11.sink2492 = phi ptr [ @.str.11, %3031 ], [ @.str.8, %3027 ]
  store i32 %3022, ptr %1288, align 4, !tbaa !5
  %3033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3034 = load i32, ptr @test_count, align 4, !tbaa !5
  %3035 = load i32, ptr %1234, align 4, !tbaa !5
  %3036 = call ptr @s2n_strerror(i32 noundef %3035, ptr noundef nonnull @.str.10) #11
  %3037 = load i32, ptr %1234, align 4, !tbaa !5
  %3038 = call ptr @s2n_strerror_debug(i32 noundef %3037, ptr noundef nonnull @.str.10) #11
  %3039 = load i32, ptr %1288, align 4, !tbaa !5
  %3040 = call ptr @strerror(i32 noundef %3039) #11
  %3041 = load i32, ptr %1288, align 4, !tbaa !5
  %3042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3033, ptr noundef nonnull %.str.11.sink2492, i32 noundef %3034, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.7, i32 noundef 258, ptr noundef %3036, ptr noundef %3038, ptr noundef %3040, i32 noundef %3041) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3043:                                             ; preds = %3016
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %31) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %31, i8 0, i64 40, i1 false)
  %3044 = load i32, ptr @test_count, align 4, !tbaa !5
  %3045 = add nsw i32 %3044, 1
  store i32 %3045, ptr @test_count, align 4, !tbaa !5
  %3046 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %31, i32 noundef 0) #11
  %3047 = icmp eq i32 %3046, -1
  br i1 %3047, label %3048, label %3070

3048:                                             ; preds = %3043
  %3049 = load i32, ptr %1288, align 4, !tbaa !5
  %3050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3051 = call i32 @s2n_print_stacktrace(ptr noundef %3050) #11
  %3052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3053 = trunc nuw i8 %3052 to i1
  br i1 %3053, label %3054, label %3058

3054:                                             ; preds = %3048
  %3055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3056 = call i32 @fileno(ptr noundef %3055) #11
  %3057 = call i32 @isatty(i32 noundef %3056) #11
  %.not1413 = icmp eq i32 %3057, 0
  br i1 %.not1413, label %3058, label %3059

3058:                                             ; preds = %3054, %3048
  br label %3059

3059:                                             ; preds = %3054, %3058
  %.str.11.sink2501 = phi ptr [ @.str.11, %3058 ], [ @.str.8, %3054 ]
  store i32 %3049, ptr %1288, align 4, !tbaa !5
  %3060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3061 = load i32, ptr @test_count, align 4, !tbaa !5
  %3062 = load i32, ptr %1234, align 4, !tbaa !5
  %3063 = call ptr @s2n_strerror(i32 noundef %3062, ptr noundef nonnull @.str.10) #11
  %3064 = load i32, ptr %1234, align 4, !tbaa !5
  %3065 = call ptr @s2n_strerror_debug(i32 noundef %3064, ptr noundef nonnull @.str.10) #11
  %3066 = load i32, ptr %1288, align 4, !tbaa !5
  %3067 = call ptr @strerror(i32 noundef %3066) #11
  %3068 = load i32, ptr %1288, align 4, !tbaa !5
  %3069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3060, ptr noundef nonnull %.str.11.sink2501, i32 noundef %3061, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.7, i32 noundef 260, ptr noundef %3063, ptr noundef %3065, ptr noundef %3067, i32 noundef %3068) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3070:                                             ; preds = %3043
  %3071 = load i32, ptr @test_count, align 4, !tbaa !5
  %3072 = add nsw i32 %3071, 1
  store i32 %3072, ptr @test_count, align 4, !tbaa !5
  %3073 = load ptr, ptr %29, align 8, !tbaa !9
  %3074 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %30, ptr noundef nonnull %31, ptr noundef %3073) #11
  %3075 = icmp eq i32 %3074, -1
  br i1 %3075, label %3076, label %3098

3076:                                             ; preds = %3070
  %3077 = load i32, ptr %1288, align 4, !tbaa !5
  %3078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3079 = call i32 @s2n_print_stacktrace(ptr noundef %3078) #11
  %3080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3081 = trunc nuw i8 %3080 to i1
  br i1 %3081, label %3082, label %3086

3082:                                             ; preds = %3076
  %3083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3084 = call i32 @fileno(ptr noundef %3083) #11
  %3085 = call i32 @isatty(i32 noundef %3084) #11
  %.not1412 = icmp eq i32 %3085, 0
  br i1 %.not1412, label %3086, label %3087

3086:                                             ; preds = %3082, %3076
  br label %3087

3087:                                             ; preds = %3082, %3086
  %.str.11.sink2510 = phi ptr [ @.str.11, %3086 ], [ @.str.8, %3082 ]
  store i32 %3077, ptr %1288, align 4, !tbaa !5
  %3088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3089 = load i32, ptr @test_count, align 4, !tbaa !5
  %3090 = load i32, ptr %1234, align 4, !tbaa !5
  %3091 = call ptr @s2n_strerror(i32 noundef %3090, ptr noundef nonnull @.str.10) #11
  %3092 = load i32, ptr %1234, align 4, !tbaa !5
  %3093 = call ptr @s2n_strerror_debug(i32 noundef %3092, ptr noundef nonnull @.str.10) #11
  %3094 = load i32, ptr %1288, align 4, !tbaa !5
  %3095 = call ptr @strerror(i32 noundef %3094) #11
  %3096 = load i32, ptr %1288, align 4, !tbaa !5
  %3097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3088, ptr noundef nonnull %.str.11.sink2510, i32 noundef %3089, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.7, i32 noundef 261, ptr noundef %3091, ptr noundef %3093, ptr noundef %3095, i32 noundef %3096) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3098:                                             ; preds = %3070
  %3099 = load i32, ptr @test_count, align 4, !tbaa !5
  %3100 = add nsw i32 %3099, 1
  store i32 %3100, ptr @test_count, align 4, !tbaa !5
  %3101 = load ptr, ptr %29, align 8, !tbaa !9
  %3102 = getelementptr inbounds i8, ptr %3101, i64 2008
  %3103 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %3102) #11
  br i1 %3103, label %3104, label %3126

3104:                                             ; preds = %3098
  %3105 = load i32, ptr %1288, align 4, !tbaa !5
  %3106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3107 = call i32 @s2n_print_stacktrace(ptr noundef %3106) #11
  %3108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3109 = trunc nuw i8 %3108 to i1
  br i1 %3109, label %3110, label %3114

3110:                                             ; preds = %3104
  %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
  %.not1411 = icmp eq i32 %3113, 0
  br i1 %.not1411, label %3114, label %3115

3114:                                             ; preds = %3110, %3104
  br label %3115

3115:                                             ; preds = %3110, %3114
  %.str.11.sink2519 = phi ptr [ @.str.11, %3114 ], [ @.str.8, %3110 ]
  store i32 %3105, ptr %1288, align 4, !tbaa !5
  %3116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3117 = load i32, ptr @test_count, align 4, !tbaa !5
  %3118 = load i32, ptr %1234, align 4, !tbaa !5
  %3119 = call ptr @s2n_strerror(i32 noundef %3118, ptr noundef nonnull @.str.10) #11
  %3120 = load i32, ptr %1234, align 4, !tbaa !5
  %3121 = call ptr @s2n_strerror_debug(i32 noundef %3120, ptr noundef nonnull @.str.10) #11
  %3122 = load i32, ptr %1288, align 4, !tbaa !5
  %3123 = call ptr @strerror(i32 noundef %3122) #11
  %3124 = load i32, ptr %1288, align 4, !tbaa !5
  %3125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3116, ptr noundef nonnull %.str.11.sink2519, i32 noundef %3117, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.7, i32 noundef 264, ptr noundef %3119, ptr noundef %3121, ptr noundef %3123, i32 noundef %3124) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3126:                                             ; preds = %3098
  %3127 = load i32, ptr @test_count, align 4, !tbaa !5
  %3128 = add nsw i32 %3127, 1
  store i32 %3128, ptr @test_count, align 4, !tbaa !5
  %3129 = load ptr, ptr %29, align 8, !tbaa !9
  %3130 = getelementptr inbounds i8, ptr %3129, i64 2003
  %3131 = load i8, ptr %3130, align 1, !tbaa !15, !range !13, !noundef !14
  %3132 = trunc nuw i8 %3131 to i1
  br i1 %3132, label %3133, label %3155

3133:                                             ; preds = %3126
  %3134 = load i32, ptr %1288, align 4, !tbaa !5
  %3135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3136 = call i32 @s2n_print_stacktrace(ptr noundef %3135) #11
  %3137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3138 = trunc nuw i8 %3137 to i1
  br i1 %3138, label %3139, label %3143

3139:                                             ; preds = %3133
  %3140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3141 = call i32 @fileno(ptr noundef %3140) #11
  %3142 = call i32 @isatty(i32 noundef %3141) #11
  %.not1410 = icmp eq i32 %3142, 0
  br i1 %.not1410, label %3143, label %3144

3143:                                             ; preds = %3139, %3133
  br label %3144

3144:                                             ; preds = %3139, %3143
  %.str.11.sink2528 = phi ptr [ @.str.11, %3143 ], [ @.str.8, %3139 ]
  store i32 %3134, ptr %1288, align 4, !tbaa !5
  %3145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3146 = load i32, ptr @test_count, align 4, !tbaa !5
  %3147 = load i32, ptr %1234, align 4, !tbaa !5
  %3148 = call ptr @s2n_strerror(i32 noundef %3147, ptr noundef nonnull @.str.10) #11
  %3149 = load i32, ptr %1234, align 4, !tbaa !5
  %3150 = call ptr @s2n_strerror_debug(i32 noundef %3149, ptr noundef nonnull @.str.10) #11
  %3151 = load i32, ptr %1288, align 4, !tbaa !5
  %3152 = call ptr @strerror(i32 noundef %3151) #11
  %3153 = load i32, ptr %1288, align 4, !tbaa !5
  %3154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3145, ptr noundef nonnull %.str.11.sink2528, i32 noundef %3146, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.7, i32 noundef 265, ptr noundef %3148, ptr noundef %3150, ptr noundef %3152, i32 noundef %3153) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3155:                                             ; preds = %3126
  %3156 = add nsw i32 %3127, 2
  store i32 %3156, ptr @test_count, align 4, !tbaa !5
  %3157 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %3129, i32 noundef 2) #11
  br i1 %3157, label %3180, label %3158

3158:                                             ; preds = %3155
  %3159 = load i32, ptr %1288, align 4, !tbaa !5
  %3160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3161 = call i32 @s2n_print_stacktrace(ptr noundef %3160) #11
  %3162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3163 = trunc nuw i8 %3162 to i1
  br i1 %3163, label %3164, label %3168

3164:                                             ; preds = %3158
  %3165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3166 = call i32 @fileno(ptr noundef %3165) #11
  %3167 = call i32 @isatty(i32 noundef %3166) #11
  %.not1070 = icmp eq i32 %3167, 0
  br i1 %.not1070, label %3168, label %3169

3168:                                             ; preds = %3164, %3158
  br label %3169

3169:                                             ; preds = %3164, %3168
  %.str.11.sink2537 = phi ptr [ @.str.11, %3168 ], [ @.str.8, %3164 ]
  store i32 %3159, ptr %1288, align 4, !tbaa !5
  %3170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3171 = load i32, ptr @test_count, align 4, !tbaa !5
  %3172 = load i32, ptr %1234, align 4, !tbaa !5
  %3173 = call ptr @s2n_strerror(i32 noundef %3172, ptr noundef nonnull @.str.10) #11
  %3174 = load i32, ptr %1234, align 4, !tbaa !5
  %3175 = call ptr @s2n_strerror_debug(i32 noundef %3174, ptr noundef nonnull @.str.10) #11
  %3176 = load i32, ptr %1288, align 4, !tbaa !5
  %3177 = call ptr @strerror(i32 noundef %3176) #11
  %3178 = load i32, ptr %1288, align 4, !tbaa !5
  %3179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3170, ptr noundef nonnull %.str.11.sink2537, i32 noundef %3171, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.7, i32 noundef 266, ptr noundef %3173, ptr noundef %3175, ptr noundef %3177, i32 noundef %3178) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3180:                                             ; preds = %3155
  %3181 = load i32, ptr @test_count, align 4, !tbaa !5
  %3182 = add nsw i32 %3181, 1
  store i32 %3182, ptr @test_count, align 4, !tbaa !5
  %3183 = load ptr, ptr %29, align 8, !tbaa !9
  %3184 = getelementptr inbounds i8, ptr %3183, i64 1856
  %3185 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %3184, ptr noundef nonnull %3, i32 noundef 2) #11
  %3186 = icmp eq i32 %3185, -1
  br i1 %3186, label %3187, label %3209

3187:                                             ; preds = %3180
  %3188 = load i32, ptr %1288, align 4, !tbaa !5
  %3189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3190 = call i32 @s2n_print_stacktrace(ptr noundef %3189) #11
  %3191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3192 = trunc nuw i8 %3191 to i1
  br i1 %3192, label %3193, label %3197

3193:                                             ; preds = %3187
  %3194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3195 = call i32 @fileno(ptr noundef %3194) #11
  %3196 = call i32 @isatty(i32 noundef %3195) #11
  %.not1409 = icmp eq i32 %3196, 0
  br i1 %.not1409, label %3197, label %3198

3197:                                             ; preds = %3193, %3187
  br label %3198

3198:                                             ; preds = %3193, %3197
  %.str.11.sink2546 = phi ptr [ @.str.11, %3197 ], [ @.str.8, %3193 ]
  store i32 %3188, ptr %1288, align 4, !tbaa !5
  %3199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3200 = load i32, ptr @test_count, align 4, !tbaa !5
  %3201 = load i32, ptr %1234, align 4, !tbaa !5
  %3202 = call ptr @s2n_strerror(i32 noundef %3201, ptr noundef nonnull @.str.10) #11
  %3203 = load i32, ptr %1234, align 4, !tbaa !5
  %3204 = call ptr @s2n_strerror_debug(i32 noundef %3203, ptr noundef nonnull @.str.10) #11
  %3205 = load i32, ptr %1288, align 4, !tbaa !5
  %3206 = call ptr @strerror(i32 noundef %3205) #11
  %3207 = load i32, ptr %1288, align 4, !tbaa !5
  %3208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3199, ptr noundef nonnull %.str.11.sink2546, i32 noundef %3200, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.7, i32 noundef 269, ptr noundef %3202, ptr noundef %3204, ptr noundef %3206, i32 noundef %3207) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3209:                                             ; preds = %3180
  %3210 = load i32, ptr @test_count, align 4, !tbaa !5
  %3211 = add nsw i32 %3210, 1
  store i32 %3211, ptr @test_count, align 4, !tbaa !5
  %3212 = load ptr, ptr %29, align 8, !tbaa !9
  %3213 = call i32 @s2n_process_alert_fragment(ptr noundef %3212) #11
  %3214 = icmp eq i32 %3213, -1
  br i1 %3214, label %3215, label %3237

3215:                                             ; preds = %3209
  %3216 = load i32, ptr %1288, align 4, !tbaa !5
  %3217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3218 = call i32 @s2n_print_stacktrace(ptr noundef %3217) #11
  %3219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3220 = trunc nuw i8 %3219 to i1
  br i1 %3220, label %3221, label %3225

3221:                                             ; preds = %3215
  %3222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3223 = call i32 @fileno(ptr noundef %3222) #11
  %3224 = call i32 @isatty(i32 noundef %3223) #11
  %.not1408 = icmp eq i32 %3224, 0
  br i1 %.not1408, label %3225, label %3226

3225:                                             ; preds = %3221, %3215
  br label %3226

3226:                                             ; preds = %3221, %3225
  %.str.11.sink2555 = phi ptr [ @.str.11, %3225 ], [ @.str.8, %3221 ]
  store i32 %3216, ptr %1288, align 4, !tbaa !5
  %3227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3228 = load i32, ptr @test_count, align 4, !tbaa !5
  %3229 = load i32, ptr %1234, align 4, !tbaa !5
  %3230 = call ptr @s2n_strerror(i32 noundef %3229, ptr noundef nonnull @.str.10) #11
  %3231 = load i32, ptr %1234, align 4, !tbaa !5
  %3232 = call ptr @s2n_strerror_debug(i32 noundef %3231, ptr noundef nonnull @.str.10) #11
  %3233 = load i32, ptr %1288, align 4, !tbaa !5
  %3234 = call ptr @strerror(i32 noundef %3233) #11
  %3235 = load i32, ptr %1288, align 4, !tbaa !5
  %3236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3227, ptr noundef nonnull %.str.11.sink2555, i32 noundef %3228, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.7, i32 noundef 270, ptr noundef %3230, ptr noundef %3232, ptr noundef %3234, i32 noundef %3235) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3237:                                             ; preds = %3209
  %3238 = load i32, ptr @test_count, align 4, !tbaa !5
  %3239 = add nsw i32 %3238, 1
  store i32 %3239, ptr @test_count, align 4, !tbaa !5
  %3240 = load ptr, ptr %29, align 8, !tbaa !9
  %3241 = getelementptr inbounds i8, ptr %3240, i64 2008
  %3242 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %3241) #11
  br i1 %3242, label %3265, label %3243

3243:                                             ; preds = %3237
  %3244 = load i32, ptr %1288, align 4, !tbaa !5
  %3245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3246 = call i32 @s2n_print_stacktrace(ptr noundef %3245) #11
  %3247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3248 = trunc nuw i8 %3247 to i1
  br i1 %3248, label %3249, label %3253

3249:                                             ; preds = %3243
  %3250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3251 = call i32 @fileno(ptr noundef %3250) #11
  %3252 = call i32 @isatty(i32 noundef %3251) #11
  %.not1071 = icmp eq i32 %3252, 0
  br i1 %.not1071, label %3253, label %3254

3253:                                             ; preds = %3249, %3243
  br label %3254

3254:                                             ; preds = %3249, %3253
  %.str.11.sink2564 = phi ptr [ @.str.11, %3253 ], [ @.str.8, %3249 ]
  store i32 %3244, ptr %1288, align 4, !tbaa !5
  %3255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3256 = load i32, ptr @test_count, align 4, !tbaa !5
  %3257 = load i32, ptr %1234, align 4, !tbaa !5
  %3258 = call ptr @s2n_strerror(i32 noundef %3257, ptr noundef nonnull @.str.10) #11
  %3259 = load i32, ptr %1234, align 4, !tbaa !5
  %3260 = call ptr @s2n_strerror_debug(i32 noundef %3259, ptr noundef nonnull @.str.10) #11
  %3261 = load i32, ptr %1288, align 4, !tbaa !5
  %3262 = call ptr @strerror(i32 noundef %3261) #11
  %3263 = load i32, ptr %1288, align 4, !tbaa !5
  %3264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3255, ptr noundef nonnull %.str.11.sink2564, i32 noundef %3256, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.7, i32 noundef 273, ptr noundef %3258, ptr noundef %3260, ptr noundef %3262, i32 noundef %3263) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3265:                                             ; preds = %3237
  %3266 = load i32, ptr @test_count, align 4, !tbaa !5
  %3267 = add nsw i32 %3266, 1
  store i32 %3267, ptr @test_count, align 4, !tbaa !5
  %3268 = load ptr, ptr %29, align 8, !tbaa !9
  %3269 = getelementptr inbounds i8, ptr %3268, i64 2003
  %3270 = load i8, ptr %3269, align 1, !tbaa !15, !range !13, !noundef !14
  %3271 = trunc nuw i8 %3270 to i1
  br i1 %3271, label %3272, label %3294

3272:                                             ; preds = %3265
  %3273 = load i32, ptr %1288, align 4, !tbaa !5
  %3274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3275 = call i32 @s2n_print_stacktrace(ptr noundef %3274) #11
  %3276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3277 = trunc nuw i8 %3276 to i1
  br i1 %3277, label %3278, label %3282

3278:                                             ; preds = %3272
  %3279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3280 = call i32 @fileno(ptr noundef %3279) #11
  %3281 = call i32 @isatty(i32 noundef %3280) #11
  %.not1407 = icmp eq i32 %3281, 0
  br i1 %.not1407, label %3282, label %3283

3282:                                             ; preds = %3278, %3272
  br label %3283

3283:                                             ; preds = %3278, %3282
  %.str.11.sink2573 = phi ptr [ @.str.11, %3282 ], [ @.str.8, %3278 ]
  store i32 %3273, ptr %1288, align 4, !tbaa !5
  %3284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3285 = load i32, ptr @test_count, align 4, !tbaa !5
  %3286 = load i32, ptr %1234, align 4, !tbaa !5
  %3287 = call ptr @s2n_strerror(i32 noundef %3286, ptr noundef nonnull @.str.10) #11
  %3288 = load i32, ptr %1234, align 4, !tbaa !5
  %3289 = call ptr @s2n_strerror_debug(i32 noundef %3288, ptr noundef nonnull @.str.10) #11
  %3290 = load i32, ptr %1288, align 4, !tbaa !5
  %3291 = call ptr @strerror(i32 noundef %3290) #11
  %3292 = load i32, ptr %1288, align 4, !tbaa !5
  %3293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3284, ptr noundef nonnull %.str.11.sink2573, i32 noundef %3285, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.7, i32 noundef 274, ptr noundef %3287, ptr noundef %3289, ptr noundef %3291, i32 noundef %3292) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3294:                                             ; preds = %3265
  %3295 = add nsw i32 %3266, 2
  store i32 %3295, ptr @test_count, align 4, !tbaa !5
  %3296 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %3268, i32 noundef 0) #11
  br i1 %3296, label %3319, label %3297

3297:                                             ; preds = %3294
  %3298 = load i32, ptr %1288, align 4, !tbaa !5
  %3299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3300 = call i32 @s2n_print_stacktrace(ptr noundef %3299) #11
  %3301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3302 = trunc nuw i8 %3301 to i1
  br i1 %3302, label %3303, label %3307

3303:                                             ; preds = %3297
  %3304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3305 = call i32 @fileno(ptr noundef %3304) #11
  %3306 = call i32 @isatty(i32 noundef %3305) #11
  %.not1072 = icmp eq i32 %3306, 0
  br i1 %.not1072, label %3307, label %3308

3307:                                             ; preds = %3303, %3297
  br label %3308

3308:                                             ; preds = %3303, %3307
  %.str.11.sink2582 = phi ptr [ @.str.11, %3307 ], [ @.str.8, %3303 ]
  store i32 %3298, ptr %1288, align 4, !tbaa !5
  %3309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3310 = load i32, ptr @test_count, align 4, !tbaa !5
  %3311 = load i32, ptr %1234, align 4, !tbaa !5
  %3312 = call ptr @s2n_strerror(i32 noundef %3311, ptr noundef nonnull @.str.10) #11
  %3313 = load i32, ptr %1234, align 4, !tbaa !5
  %3314 = call ptr @s2n_strerror_debug(i32 noundef %3313, ptr noundef nonnull @.str.10) #11
  %3315 = load i32, ptr %1288, align 4, !tbaa !5
  %3316 = call ptr @strerror(i32 noundef %3315) #11
  %3317 = load i32, ptr %1288, align 4, !tbaa !5
  %3318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3309, ptr noundef nonnull %.str.11.sink2582, i32 noundef %3310, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.7, i32 noundef 275, ptr noundef %3312, ptr noundef %3314, ptr noundef %3316, i32 noundef %3317) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3319:                                             ; preds = %3294
  %3320 = load i32, ptr @test_count, align 4, !tbaa !5
  %3321 = add nsw i32 %3320, 1
  store i32 %3321, ptr @test_count, align 4, !tbaa !5
  %3322 = load ptr, ptr %29, align 8, !tbaa !9
  %3323 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %3322, i32 noundef 1) #11
  br i1 %3323, label %3324, label %3346

3324:                                             ; preds = %3319
  %3325 = load i32, ptr %1288, align 4, !tbaa !5
  %3326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3327 = call i32 @s2n_print_stacktrace(ptr noundef %3326) #11
  %3328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3329 = trunc nuw i8 %3328 to i1
  br i1 %3329, label %3330, label %3334

3330:                                             ; preds = %3324
  %3331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3332 = call i32 @fileno(ptr noundef %3331) #11
  %3333 = call i32 @isatty(i32 noundef %3332) #11
  %.not1406 = icmp eq i32 %3333, 0
  br i1 %.not1406, label %3334, label %3335

3334:                                             ; preds = %3330, %3324
  br label %3335

3335:                                             ; preds = %3330, %3334
  %.str.11.sink2591 = phi ptr [ @.str.11, %3334 ], [ @.str.8, %3330 ]
  store i32 %3325, ptr %1288, align 4, !tbaa !5
  %3336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3337 = load i32, ptr @test_count, align 4, !tbaa !5
  %3338 = load i32, ptr %1234, align 4, !tbaa !5
  %3339 = call ptr @s2n_strerror(i32 noundef %3338, ptr noundef nonnull @.str.10) #11
  %3340 = load i32, ptr %1234, align 4, !tbaa !5
  %3341 = call ptr @s2n_strerror_debug(i32 noundef %3340, ptr noundef nonnull @.str.10) #11
  %3342 = load i32, ptr %1288, align 4, !tbaa !5
  %3343 = call ptr @strerror(i32 noundef %3342) #11
  %3344 = load i32, ptr %1288, align 4, !tbaa !5
  %3345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3336, ptr noundef nonnull %.str.11.sink2591, i32 noundef %3337, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.7, i32 noundef 276, ptr noundef %3339, ptr noundef %3341, ptr noundef %3343, i32 noundef %3344) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3346:                                             ; preds = %3319
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %32) #11
  store i32 0, ptr %32, align 4, !tbaa !5
  %3347 = load i32, ptr @test_count, align 4, !tbaa !5
  %3348 = add nsw i32 %3347, 1
  store i32 %3348, ptr @test_count, align 4, !tbaa !5
  %3349 = load ptr, ptr %29, align 8, !tbaa !9
  %3350 = call i32 @s2n_shutdown(ptr noundef %3349, ptr noundef nonnull %32)
  %3351 = icmp eq i32 %3350, -1
  br i1 %3351, label %3352, label %3374

3352:                                             ; preds = %3346
  %3353 = load i32, ptr %1288, align 4, !tbaa !5
  %3354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3355 = call i32 @s2n_print_stacktrace(ptr noundef %3354) #11
  %3356 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3357 = trunc nuw i8 %3356 to i1
  br i1 %3357, label %3358, label %3362

3358:                                             ; preds = %3352
  %3359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3360 = call i32 @fileno(ptr noundef %3359) #11
  %3361 = call i32 @isatty(i32 noundef %3360) #11
  %.not1405 = icmp eq i32 %3361, 0
  br i1 %.not1405, label %3362, label %3363

3362:                                             ; preds = %3358, %3352
  br label %3363

3363:                                             ; preds = %3358, %3362
  %.str.11.sink2600 = phi ptr [ @.str.11, %3362 ], [ @.str.8, %3358 ]
  store i32 %3353, ptr %1288, align 4, !tbaa !5
  %3364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3365 = load i32, ptr @test_count, align 4, !tbaa !5
  %3366 = load i32, ptr %1234, align 4, !tbaa !5
  %3367 = call ptr @s2n_strerror(i32 noundef %3366, ptr noundef nonnull @.str.10) #11
  %3368 = load i32, ptr %1234, align 4, !tbaa !5
  %3369 = call ptr @s2n_strerror_debug(i32 noundef %3368, ptr noundef nonnull @.str.10) #11
  %3370 = load i32, ptr %1288, align 4, !tbaa !5
  %3371 = call ptr @strerror(i32 noundef %3370) #11
  %3372 = load i32, ptr %1288, align 4, !tbaa !5
  %3373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3364, ptr noundef nonnull %.str.11.sink2600, i32 noundef %3365, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.7, i32 noundef 279, ptr noundef %3367, ptr noundef %3369, ptr noundef %3371, i32 noundef %3372) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3374:                                             ; preds = %3346
  %3375 = load i32, ptr @test_count, align 4, !tbaa !5
  %3376 = add nsw i32 %3375, 1
  store i32 %3376, ptr @test_count, align 4, !tbaa !5
  %3377 = load i32, ptr %32, align 4, !tbaa !5
  %3378 = icmp eq i32 %3377, 0
  br i1 %3378, label %3401, label %3379

3379:                                             ; preds = %3374
  %3380 = load i32, ptr %1288, align 4, !tbaa !5
  %3381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3382 = call i32 @s2n_print_stacktrace(ptr noundef %3381) #11
  %3383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3384 = trunc nuw i8 %3383 to i1
  br i1 %3384, label %3385, label %3389

3385:                                             ; preds = %3379
  %3386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3387 = call i32 @fileno(ptr noundef %3386) #11
  %3388 = call i32 @isatty(i32 noundef %3387) #11
  %.not1073 = icmp eq i32 %3388, 0
  br i1 %.not1073, label %3389, label %3390

3389:                                             ; preds = %3385, %3379
  br label %3390

3390:                                             ; preds = %3385, %3389
  %.str.11.sink2609 = phi ptr [ @.str.11, %3389 ], [ @.str.8, %3385 ]
  store i32 %3380, ptr %1288, align 4, !tbaa !5
  %3391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3392 = load i32, ptr @test_count, align 4, !tbaa !5
  %3393 = load i32, ptr %1234, align 4, !tbaa !5
  %3394 = call ptr @s2n_strerror(i32 noundef %3393, ptr noundef nonnull @.str.10) #11
  %3395 = load i32, ptr %1234, align 4, !tbaa !5
  %3396 = call ptr @s2n_strerror_debug(i32 noundef %3395, ptr noundef nonnull @.str.10) #11
  %3397 = load i32, ptr %1288, align 4, !tbaa !5
  %3398 = call ptr @strerror(i32 noundef %3397) #11
  %3399 = load i32, ptr %1288, align 4, !tbaa !5
  %3400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3391, ptr noundef nonnull %.str.11.sink2609, i32 noundef %3392, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.7, i32 noundef 280, ptr noundef %3394, ptr noundef %3396, ptr noundef %3398, i32 noundef %3399) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3401:                                             ; preds = %3374
  %3402 = add nsw i32 %3375, 2
  store i32 %3402, ptr @test_count, align 4, !tbaa !5
  %3403 = load ptr, ptr %29, align 8, !tbaa !9
  %3404 = getelementptr inbounds i8, ptr %3403, i64 2008
  %3405 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %3404) #11
  br i1 %3405, label %3428, label %3406

3406:                                             ; preds = %3401
  %3407 = load i32, ptr %1288, align 4, !tbaa !5
  %3408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3409 = call i32 @s2n_print_stacktrace(ptr noundef %3408) #11
  %3410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3411 = trunc nuw i8 %3410 to i1
  br i1 %3411, label %3412, label %3416

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

3416:                                             ; preds = %3412, %3406
  br label %3417

3417:                                             ; preds = %3412, %3416
  %.str.11.sink2618 = phi ptr [ @.str.11, %3416 ], [ @.str.8, %3412 ]
  store i32 %3407, ptr %1288, align 4, !tbaa !5
  %3418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3419 = load i32, ptr @test_count, align 4, !tbaa !5
  %3420 = load i32, ptr %1234, align 4, !tbaa !5
  %3421 = call ptr @s2n_strerror(i32 noundef %3420, ptr noundef nonnull @.str.10) #11
  %3422 = load i32, ptr %1234, align 4, !tbaa !5
  %3423 = call ptr @s2n_strerror_debug(i32 noundef %3422, ptr noundef nonnull @.str.10) #11
  %3424 = load i32, ptr %1288, align 4, !tbaa !5
  %3425 = call ptr @strerror(i32 noundef %3424) #11
  %3426 = load i32, ptr %1288, align 4, !tbaa !5
  %3427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3418, ptr noundef nonnull %.str.11.sink2618, i32 noundef %3419, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.7, i32 noundef 283, ptr noundef %3421, ptr noundef %3423, ptr noundef %3425, i32 noundef %3426) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3428:                                             ; preds = %3401
  %3429 = load i32, ptr @test_count, align 4, !tbaa !5
  %3430 = add nsw i32 %3429, 1
  store i32 %3430, ptr @test_count, align 4, !tbaa !5
  %3431 = load ptr, ptr %29, align 8, !tbaa !9
  %3432 = getelementptr inbounds i8, ptr %3431, i64 2003
  %3433 = load i8, ptr %3432, align 1, !tbaa !15, !range !13, !noundef !14
  %3434 = trunc nuw i8 %3433 to i1
  br i1 %3434, label %3457, label %3435

3435:                                             ; preds = %3428
  %3436 = load i32, ptr %1288, align 4, !tbaa !5
  %3437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3438 = call i32 @s2n_print_stacktrace(ptr noundef %3437) #11
  %3439 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3440 = trunc nuw i8 %3439 to i1
  br i1 %3440, label %3441, label %3445

3441:                                             ; preds = %3435
  %3442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3443 = call i32 @fileno(ptr noundef %3442) #11
  %3444 = call i32 @isatty(i32 noundef %3443) #11
  %.not1075 = icmp eq i32 %3444, 0
  br i1 %.not1075, label %3445, label %3446

3445:                                             ; preds = %3441, %3435
  br label %3446

3446:                                             ; preds = %3441, %3445
  %.str.11.sink2627 = phi ptr [ @.str.11, %3445 ], [ @.str.8, %3441 ]
  store i32 %3436, ptr %1288, align 4, !tbaa !5
  %3447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3448 = load i32, ptr @test_count, align 4, !tbaa !5
  %3449 = load i32, ptr %1234, align 4, !tbaa !5
  %3450 = call ptr @s2n_strerror(i32 noundef %3449, ptr noundef nonnull @.str.10) #11
  %3451 = load i32, ptr %1234, align 4, !tbaa !5
  %3452 = call ptr @s2n_strerror_debug(i32 noundef %3451, ptr noundef nonnull @.str.10) #11
  %3453 = load i32, ptr %1288, align 4, !tbaa !5
  %3454 = call ptr @strerror(i32 noundef %3453) #11
  %3455 = load i32, ptr %1288, align 4, !tbaa !5
  %3456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3447, ptr noundef nonnull %.str.11.sink2627, i32 noundef %3448, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.7, i32 noundef 284, ptr noundef %3450, ptr noundef %3452, ptr noundef %3454, i32 noundef %3455) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3457:                                             ; preds = %3428
  %3458 = add nsw i32 %3429, 2
  store i32 %3458, ptr @test_count, align 4, !tbaa !5
  %3459 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %3431, i32 noundef 3) #11
  br i1 %3459, label %3482, label %3460

3460:                                             ; preds = %3457
  %3461 = load i32, ptr %1288, align 4, !tbaa !5
  %3462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3463 = call i32 @s2n_print_stacktrace(ptr noundef %3462) #11
  %3464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3465 = trunc nuw i8 %3464 to i1
  br i1 %3465, label %3466, label %3470

3466:                                             ; preds = %3460
  %3467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3468 = call i32 @fileno(ptr noundef %3467) #11
  %3469 = call i32 @isatty(i32 noundef %3468) #11
  %.not1076 = icmp eq i32 %3469, 0
  br i1 %.not1076, label %3470, label %3471

3470:                                             ; preds = %3466, %3460
  br label %3471

3471:                                             ; preds = %3466, %3470
  %.str.11.sink2636 = phi ptr [ @.str.11, %3470 ], [ @.str.8, %3466 ]
  store i32 %3461, ptr %1288, align 4, !tbaa !5
  %3472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3473 = load i32, ptr @test_count, align 4, !tbaa !5
  %3474 = load i32, ptr %1234, align 4, !tbaa !5
  %3475 = call ptr @s2n_strerror(i32 noundef %3474, ptr noundef nonnull @.str.10) #11
  %3476 = load i32, ptr %1234, align 4, !tbaa !5
  %3477 = call ptr @s2n_strerror_debug(i32 noundef %3476, ptr noundef nonnull @.str.10) #11
  %3478 = load i32, ptr %1288, align 4, !tbaa !5
  %3479 = call ptr @strerror(i32 noundef %3478) #11
  %3480 = load i32, ptr %1288, align 4, !tbaa !5
  %3481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3472, ptr noundef nonnull %.str.11.sink2636, i32 noundef %3473, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.7, i32 noundef 285, ptr noundef %3475, ptr noundef %3477, ptr noundef %3479, i32 noundef %3480) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3482:                                             ; preds = %3457
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #11
  %3483 = call i32 @s2n_stuffer_free(ptr noundef nonnull %31) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %31) #11
  %3484 = call i32 @s2n_stuffer_free(ptr noundef nonnull %30) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %30) #11
  %3485 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %29) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #11
  %3486 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %3486, ptr %33, align 8, !tbaa !9
  %3487 = load i32, ptr @test_count, align 4, !tbaa !5
  %3488 = add nsw i32 %3487, 1
  store i32 %3488, ptr @test_count, align 4, !tbaa !5
  %3489 = icmp eq ptr %3486, null
  br i1 %3489, label %3490, label %3512

3490:                                             ; preds = %3482
  %3491 = load i32, ptr %1288, align 4, !tbaa !5
  %3492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3493 = call i32 @s2n_print_stacktrace(ptr noundef %3492) #11
  %3494 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3495 = trunc nuw i8 %3494 to i1
  br i1 %3495, label %3496, label %3500

3496:                                             ; preds = %3490
  %3497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3498 = call i32 @fileno(ptr noundef %3497) #11
  %3499 = call i32 @isatty(i32 noundef %3498) #11
  %.not1404 = icmp eq i32 %3499, 0
  br i1 %.not1404, label %3500, label %3501

3500:                                             ; preds = %3496, %3490
  br label %3501

3501:                                             ; preds = %3496, %3500
  %.str.11.sink2645 = phi ptr [ @.str.11, %3500 ], [ @.str.8, %3496 ]
  store i32 %3491, ptr %1288, align 4, !tbaa !5
  %3502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3503 = load i32, ptr @test_count, align 4, !tbaa !5
  %3504 = load i32, ptr %1234, align 4, !tbaa !5
  %3505 = call ptr @s2n_strerror(i32 noundef %3504, ptr noundef nonnull @.str.10) #11
  %3506 = load i32, ptr %1234, align 4, !tbaa !5
  %3507 = call ptr @s2n_strerror_debug(i32 noundef %3506, ptr noundef nonnull @.str.10) #11
  %3508 = load i32, ptr %1288, align 4, !tbaa !5
  %3509 = call ptr @strerror(i32 noundef %3508) #11
  %3510 = load i32, ptr %1288, align 4, !tbaa !5
  %3511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3502, ptr noundef nonnull %.str.11.sink2645, i32 noundef %3503, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.7, i32 noundef 292, ptr noundef %3505, ptr noundef %3507, ptr noundef %3509, i32 noundef %3510) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3512:                                             ; preds = %3482
  %3513 = add nsw i32 %3487, 2
  store i32 %3513, ptr @test_count, align 4, !tbaa !5
  %3514 = call i32 @s2n_skip_handshake(ptr noundef nonnull %3486) #11
  %3515 = call zeroext i1 @s2n_result_is_ok(i32 %3514)
  br i1 %3515, label %3538, label %3516

3516:                                             ; preds = %3512
  %3517 = load i32, ptr %1288, align 4, !tbaa !5
  %3518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3519 = call i32 @s2n_print_stacktrace(ptr noundef %3518) #11
  %3520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3521 = trunc nuw i8 %3520 to i1
  br i1 %3521, label %3522, label %3526

3522:                                             ; preds = %3516
  %3523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3524 = call i32 @fileno(ptr noundef %3523) #11
  %3525 = call i32 @isatty(i32 noundef %3524) #11
  %.not1077 = icmp eq i32 %3525, 0
  br i1 %.not1077, label %3526, label %3527

3526:                                             ; preds = %3522, %3516
  br label %3527

3527:                                             ; preds = %3522, %3526
  %.str.11.sink2654 = phi ptr [ @.str.11, %3526 ], [ @.str.8, %3522 ]
  store i32 %3517, ptr %1288, align 4, !tbaa !5
  %3528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3529 = load i32, ptr @test_count, align 4, !tbaa !5
  %3530 = load i32, ptr %1234, align 4, !tbaa !5
  %3531 = call ptr @s2n_strerror(i32 noundef %3530, ptr noundef nonnull @.str.10) #11
  %3532 = load i32, ptr %1234, align 4, !tbaa !5
  %3533 = call ptr @s2n_strerror_debug(i32 noundef %3532, ptr noundef nonnull @.str.10) #11
  %3534 = load i32, ptr %1288, align 4, !tbaa !5
  %3535 = call ptr @strerror(i32 noundef %3534) #11
  %3536 = load i32, ptr %1288, align 4, !tbaa !5
  %3537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3528, ptr noundef nonnull %.str.11.sink2654, i32 noundef %3529, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.7, i32 noundef 293, ptr noundef %3531, ptr noundef %3533, ptr noundef %3535, i32 noundef %3536) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3538:                                             ; preds = %3512
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %34) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %34, i8 0, i64 40, i1 false)
  %3539 = load i32, ptr @test_count, align 4, !tbaa !5
  %3540 = add nsw i32 %3539, 1
  store i32 %3540, ptr @test_count, align 4, !tbaa !5
  %3541 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %34, i32 noundef 0) #11
  %3542 = icmp eq i32 %3541, -1
  br i1 %3542, label %3543, label %3565

3543:                                             ; preds = %3538
  %3544 = load i32, ptr %1288, align 4, !tbaa !5
  %3545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3546 = call i32 @s2n_print_stacktrace(ptr noundef %3545) #11
  %3547 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3548 = trunc nuw i8 %3547 to i1
  br i1 %3548, label %3549, label %3553

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

3553:                                             ; preds = %3549, %3543
  br label %3554

3554:                                             ; preds = %3549, %3553
  %.str.11.sink2663 = phi ptr [ @.str.11, %3553 ], [ @.str.8, %3549 ]
  store i32 %3544, ptr %1288, align 4, !tbaa !5
  %3555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3556 = load i32, ptr @test_count, align 4, !tbaa !5
  %3557 = load i32, ptr %1234, align 4, !tbaa !5
  %3558 = call ptr @s2n_strerror(i32 noundef %3557, ptr noundef nonnull @.str.10) #11
  %3559 = load i32, ptr %1234, align 4, !tbaa !5
  %3560 = call ptr @s2n_strerror_debug(i32 noundef %3559, ptr noundef nonnull @.str.10) #11
  %3561 = load i32, ptr %1288, align 4, !tbaa !5
  %3562 = call ptr @strerror(i32 noundef %3561) #11
  %3563 = load i32, ptr %1288, align 4, !tbaa !5
  %3564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3555, ptr noundef nonnull %.str.11.sink2663, i32 noundef %3556, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.7, i32 noundef 296, ptr noundef %3558, ptr noundef %3560, ptr noundef %3562, i32 noundef %3563) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3565:                                             ; preds = %3538
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %35) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %35, i8 0, i64 40, i1 false)
  %3566 = load i32, ptr @test_count, align 4, !tbaa !5
  %3567 = add nsw i32 %3566, 1
  store i32 %3567, ptr @test_count, align 4, !tbaa !5
  %3568 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %35, i32 noundef 0) #11
  %3569 = icmp eq i32 %3568, -1
  br i1 %3569, label %3570, label %3592

3570:                                             ; preds = %3565
  %3571 = load i32, ptr %1288, align 4, !tbaa !5
  %3572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3573 = call i32 @s2n_print_stacktrace(ptr noundef %3572) #11
  %3574 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3575 = trunc nuw i8 %3574 to i1
  br i1 %3575, label %3576, label %3580

3576:                                             ; preds = %3570
  %3577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3578 = call i32 @fileno(ptr noundef %3577) #11
  %3579 = call i32 @isatty(i32 noundef %3578) #11
  %.not1402 = icmp eq i32 %3579, 0
  br i1 %.not1402, label %3580, label %3581

3580:                                             ; preds = %3576, %3570
  br label %3581

3581:                                             ; preds = %3576, %3580
  %.str.11.sink2672 = phi ptr [ @.str.11, %3580 ], [ @.str.8, %3576 ]
  store i32 %3571, ptr %1288, align 4, !tbaa !5
  %3582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3583 = load i32, ptr @test_count, align 4, !tbaa !5
  %3584 = load i32, ptr %1234, align 4, !tbaa !5
  %3585 = call ptr @s2n_strerror(i32 noundef %3584, ptr noundef nonnull @.str.10) #11
  %3586 = load i32, ptr %1234, align 4, !tbaa !5
  %3587 = call ptr @s2n_strerror_debug(i32 noundef %3586, ptr noundef nonnull @.str.10) #11
  %3588 = load i32, ptr %1288, align 4, !tbaa !5
  %3589 = call ptr @strerror(i32 noundef %3588) #11
  %3590 = load i32, ptr %1288, align 4, !tbaa !5
  %3591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3582, ptr noundef nonnull %.str.11.sink2672, i32 noundef %3583, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.7, i32 noundef 298, ptr noundef %3585, ptr noundef %3587, ptr noundef %3589, i32 noundef %3590) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3592:                                             ; preds = %3565
  %3593 = load i32, ptr @test_count, align 4, !tbaa !5
  %3594 = add nsw i32 %3593, 1
  store i32 %3594, ptr @test_count, align 4, !tbaa !5
  %3595 = load ptr, ptr %33, align 8, !tbaa !9
  %3596 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %34, ptr noundef nonnull %35, ptr noundef %3595) #11
  %3597 = icmp eq i32 %3596, -1
  br i1 %3597, label %3598, label %3620

3598:                                             ; preds = %3592
  %3599 = load i32, ptr %1288, align 4, !tbaa !5
  %3600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3601 = call i32 @s2n_print_stacktrace(ptr noundef %3600) #11
  %3602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3603 = trunc nuw i8 %3602 to i1
  br i1 %3603, label %3604, label %3608

3604:                                             ; preds = %3598
  %3605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3606 = call i32 @fileno(ptr noundef %3605) #11
  %3607 = call i32 @isatty(i32 noundef %3606) #11
  %.not1401 = icmp eq i32 %3607, 0
  br i1 %.not1401, label %3608, label %3609

3608:                                             ; preds = %3604, %3598
  br label %3609

3609:                                             ; preds = %3604, %3608
  %.str.11.sink2681 = phi ptr [ @.str.11, %3608 ], [ @.str.8, %3604 ]
  store i32 %3599, ptr %1288, align 4, !tbaa !5
  %3610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3611 = load i32, ptr @test_count, align 4, !tbaa !5
  %3612 = load i32, ptr %1234, align 4, !tbaa !5
  %3613 = call ptr @s2n_strerror(i32 noundef %3612, ptr noundef nonnull @.str.10) #11
  %3614 = load i32, ptr %1234, align 4, !tbaa !5
  %3615 = call ptr @s2n_strerror_debug(i32 noundef %3614, ptr noundef nonnull @.str.10) #11
  %3616 = load i32, ptr %1288, align 4, !tbaa !5
  %3617 = call ptr @strerror(i32 noundef %3616) #11
  %3618 = load i32, ptr %1288, align 4, !tbaa !5
  %3619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3610, ptr noundef nonnull %.str.11.sink2681, i32 noundef %3611, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.7, i32 noundef 299, ptr noundef %3613, ptr noundef %3615, ptr noundef %3617, i32 noundef %3618) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3620:                                             ; preds = %3592
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %36) #11
  store i32 0, ptr %36, align 4, !tbaa !5
  %3621 = load i32, ptr @test_count, align 4, !tbaa !5
  %3622 = add nsw i32 %3621, 1
  store i32 %3622, ptr @test_count, align 4, !tbaa !5
  %3623 = load ptr, ptr %33, align 8, !tbaa !9
  %3624 = call i32 @s2n_shutdown(ptr noundef %3623, ptr noundef nonnull %36)
  %3625 = icmp eq i32 %3624, -1
  br i1 %3625, label %3648, label %3626

3626:                                             ; preds = %3620
  %3627 = load i32, ptr %1288, align 4, !tbaa !5
  %3628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3629 = call i32 @s2n_print_stacktrace(ptr noundef %3628) #11
  %3630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3631 = trunc nuw i8 %3630 to i1
  br i1 %3631, label %3632, label %3636

3632:                                             ; preds = %3626
  %3633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3634 = call i32 @fileno(ptr noundef %3633) #11
  %3635 = call i32 @isatty(i32 noundef %3634) #11
  %.not1078 = icmp eq i32 %3635, 0
  br i1 %.not1078, label %3636, label %3637

3636:                                             ; preds = %3632, %3626
  br label %3637

3637:                                             ; preds = %3632, %3636
  %.str.11.sink2690 = phi ptr [ @.str.11, %3636 ], [ @.str.8, %3632 ]
  store i32 %3627, ptr %1288, align 4, !tbaa !5
  %3638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3639 = load i32, ptr @test_count, align 4, !tbaa !5
  %3640 = load i32, ptr %1234, align 4, !tbaa !5
  %3641 = call ptr @s2n_strerror(i32 noundef %3640, ptr noundef nonnull @.str.10) #11
  %3642 = load i32, ptr %1234, align 4, !tbaa !5
  %3643 = call ptr @s2n_strerror_debug(i32 noundef %3642, ptr noundef nonnull @.str.10) #11
  %3644 = load i32, ptr %1288, align 4, !tbaa !5
  %3645 = call ptr @strerror(i32 noundef %3644) #11
  %3646 = load i32, ptr %1288, align 4, !tbaa !5
  %3647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3638, ptr noundef nonnull %.str.11.sink2690, i32 noundef %3639, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.7, i32 noundef 303, ptr noundef %3641, ptr noundef %3643, ptr noundef %3645, i32 noundef %3646) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3648:                                             ; preds = %3620
  %3649 = load i32, ptr @test_count, align 4, !tbaa !5
  %3650 = add nsw i32 %3649, 1
  store i32 %3650, ptr @test_count, align 4, !tbaa !5
  %3651 = load i32, ptr %1234, align 4, !tbaa !5
  %3652 = icmp eq i32 %3651, 201326592
  br i1 %3652, label %3675, label %3653

3653:                                             ; preds = %3648
  %3654 = load i32, ptr %1288, align 4, !tbaa !5
  %3655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3656 = call i32 @s2n_print_stacktrace(ptr noundef %3655) #11
  %3657 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3658 = trunc nuw i8 %3657 to i1
  br i1 %3658, label %3659, label %3663

3659:                                             ; preds = %3653
  %3660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3661 = call i32 @fileno(ptr noundef %3660) #11
  %3662 = call i32 @isatty(i32 noundef %3661) #11
  %.not1079 = icmp eq i32 %3662, 0
  br i1 %.not1079, label %3663, label %3664

3663:                                             ; preds = %3659, %3653
  br label %3664

3664:                                             ; preds = %3659, %3663
  %.str.11.sink2699 = phi ptr [ @.str.11, %3663 ], [ @.str.8, %3659 ]
  store i32 %3654, ptr %1288, align 4, !tbaa !5
  %3665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3666 = load i32, ptr @test_count, align 4, !tbaa !5
  %3667 = load i32, ptr %1234, align 4, !tbaa !5
  %3668 = call ptr @s2n_strerror(i32 noundef %3667, ptr noundef nonnull @.str.10) #11
  %3669 = load i32, ptr %1234, align 4, !tbaa !5
  %3670 = call ptr @s2n_strerror_debug(i32 noundef %3669, ptr noundef nonnull @.str.10) #11
  %3671 = load i32, ptr %1288, align 4, !tbaa !5
  %3672 = call ptr @strerror(i32 noundef %3671) #11
  %3673 = load i32, ptr %1288, align 4, !tbaa !5
  %3674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3665, ptr noundef nonnull %.str.11.sink2699, i32 noundef %3666, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.7, i32 noundef 303, ptr noundef %3668, ptr noundef %3670, ptr noundef %3672, i32 noundef %3673) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3675:                                             ; preds = %3648
  %3676 = add nsw i32 %3649, 2
  store i32 %3676, ptr @test_count, align 4, !tbaa !5
  %3677 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %3678 = icmp eq ptr %3677, null
  br i1 %3678, label %3679, label %3701

3679:                                             ; preds = %3675
  %3680 = load i32, ptr %1288, align 4, !tbaa !5
  %3681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3682 = call i32 @s2n_print_stacktrace(ptr noundef %3681) #11
  %3683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3684 = trunc nuw i8 %3683 to i1
  br i1 %3684, label %3685, label %3689

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

3689:                                             ; preds = %3685, %3679
  br label %3690

3690:                                             ; preds = %3685, %3689
  %.str.11.sink2708 = phi ptr [ @.str.11, %3689 ], [ @.str.8, %3685 ]
  store i32 %3680, ptr %1288, align 4, !tbaa !5
  %3691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3692 = load i32, ptr @test_count, align 4, !tbaa !5
  %3693 = load i32, ptr %1234, align 4, !tbaa !5
  %3694 = call ptr @s2n_strerror(i32 noundef %3693, ptr noundef nonnull @.str.10) #11
  %3695 = load i32, ptr %1234, align 4, !tbaa !5
  %3696 = call ptr @s2n_strerror_debug(i32 noundef %3695, ptr noundef nonnull @.str.10) #11
  %3697 = load i32, ptr %1288, align 4, !tbaa !5
  %3698 = call ptr @strerror(i32 noundef %3697) #11
  %3699 = load i32, ptr %1288, align 4, !tbaa !5
  %3700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3691, ptr noundef nonnull %.str.11.sink2708, i32 noundef %3692, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 303, ptr noundef %3694, ptr noundef %3696, ptr noundef %3698, i32 noundef %3699) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3701:                                             ; preds = %3675
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %3702 = load i32, ptr @test_count, align 4, !tbaa !5
  %3703 = add nsw i32 %3702, 1
  store i32 %3703, ptr @test_count, align 4, !tbaa !5
  %3704 = load i32, ptr %36, align 4, !tbaa !5
  %3705 = icmp eq i32 %3704, 1
  br i1 %3705, label %3728, label %3706

3706:                                             ; preds = %3701
  %3707 = load i32, ptr %1288, align 4, !tbaa !5
  %3708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3709 = call i32 @s2n_print_stacktrace(ptr noundef %3708) #11
  %3710 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3711 = trunc nuw i8 %3710 to i1
  br i1 %3711, label %3712, label %3716

3712:                                             ; preds = %3706
  %3713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3714 = call i32 @fileno(ptr noundef %3713) #11
  %3715 = call i32 @isatty(i32 noundef %3714) #11
  %.not1080 = icmp eq i32 %3715, 0
  br i1 %.not1080, label %3716, label %3717

3716:                                             ; preds = %3712, %3706
  br label %3717

3717:                                             ; preds = %3712, %3716
  %.str.11.sink2717 = phi ptr [ @.str.11, %3716 ], [ @.str.8, %3712 ]
  store i32 %3707, ptr %1288, align 4, !tbaa !5
  %3718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3719 = load i32, ptr @test_count, align 4, !tbaa !5
  %3720 = load i32, ptr %1234, align 4, !tbaa !5
  %3721 = call ptr @s2n_strerror(i32 noundef %3720, ptr noundef nonnull @.str.10) #11
  %3722 = load i32, ptr %1234, align 4, !tbaa !5
  %3723 = call ptr @s2n_strerror_debug(i32 noundef %3722, ptr noundef nonnull @.str.10) #11
  %3724 = load i32, ptr %1288, align 4, !tbaa !5
  %3725 = call ptr @strerror(i32 noundef %3724) #11
  %3726 = load i32, ptr %1288, align 4, !tbaa !5
  %3727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3718, ptr noundef nonnull %.str.11.sink2717, i32 noundef %3719, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.7, i32 noundef 304, ptr noundef %3721, ptr noundef %3723, ptr noundef %3725, i32 noundef %3726) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3728:                                             ; preds = %3701
  %3729 = add nsw i32 %3702, 2
  store i32 %3729, ptr @test_count, align 4, !tbaa !5
  %3730 = load ptr, ptr %33, align 8, !tbaa !9
  %3731 = getelementptr inbounds i8, ptr %3730, i64 2003
  %3732 = load i8, ptr %3731, align 1, !tbaa !15, !range !13, !noundef !14
  %3733 = trunc nuw i8 %3732 to i1
  br i1 %3733, label %3756, label %3734

3734:                                             ; preds = %3728
  %3735 = load i32, ptr %1288, align 4, !tbaa !5
  %3736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3737 = call i32 @s2n_print_stacktrace(ptr noundef %3736) #11
  %3738 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3739 = trunc nuw i8 %3738 to i1
  br i1 %3739, label %3740, label %3744

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

3744:                                             ; preds = %3740, %3734
  br label %3745

3745:                                             ; preds = %3740, %3744
  %.str.11.sink2726 = phi ptr [ @.str.11, %3744 ], [ @.str.8, %3740 ]
  store i32 %3735, ptr %1288, align 4, !tbaa !5
  %3746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3747 = load i32, ptr @test_count, align 4, !tbaa !5
  %3748 = load i32, ptr %1234, align 4, !tbaa !5
  %3749 = call ptr @s2n_strerror(i32 noundef %3748, ptr noundef nonnull @.str.10) #11
  %3750 = load i32, ptr %1234, align 4, !tbaa !5
  %3751 = call ptr @s2n_strerror_debug(i32 noundef %3750, ptr noundef nonnull @.str.10) #11
  %3752 = load i32, ptr %1288, align 4, !tbaa !5
  %3753 = call ptr @strerror(i32 noundef %3752) #11
  %3754 = load i32, ptr %1288, align 4, !tbaa !5
  %3755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3746, ptr noundef nonnull %.str.11.sink2726, i32 noundef %3747, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.7, i32 noundef 305, ptr noundef %3749, ptr noundef %3751, ptr noundef %3753, i32 noundef %3754) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3756:                                             ; preds = %3728
  %3757 = add nsw i32 %3702, 3
  store i32 %3757, ptr @test_count, align 4, !tbaa !5
  %3758 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %34, ptr noundef nonnull %4, i32 noundef 5) #11
  %3759 = icmp eq i32 %3758, -1
  br i1 %3759, label %3760, label %3782

3760:                                             ; preds = %3756
  %3761 = load i32, ptr %1288, align 4, !tbaa !5
  %3762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3763 = call i32 @s2n_print_stacktrace(ptr noundef %3762) #11
  %3764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3765 = trunc nuw i8 %3764 to i1
  br i1 %3765, label %3766, label %3770

3766:                                             ; preds = %3760
  %3767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3768 = call i32 @fileno(ptr noundef %3767) #11
  %3769 = call i32 @isatty(i32 noundef %3768) #11
  %.not1399 = icmp eq i32 %3769, 0
  br i1 %.not1399, label %3770, label %3771

3770:                                             ; preds = %3766, %3760
  br label %3771

3771:                                             ; preds = %3766, %3770
  %.str.11.sink2735 = phi ptr [ @.str.11, %3770 ], [ @.str.8, %3766 ]
  store i32 %3761, ptr %1288, align 4, !tbaa !5
  %3772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3773 = load i32, ptr @test_count, align 4, !tbaa !5
  %3774 = load i32, ptr %1234, align 4, !tbaa !5
  %3775 = call ptr @s2n_strerror(i32 noundef %3774, ptr noundef nonnull @.str.10) #11
  %3776 = load i32, ptr %1234, align 4, !tbaa !5
  %3777 = call ptr @s2n_strerror_debug(i32 noundef %3776, ptr noundef nonnull @.str.10) #11
  %3778 = load i32, ptr %1288, align 4, !tbaa !5
  %3779 = call ptr @strerror(i32 noundef %3778) #11
  %3780 = load i32, ptr %1288, align 4, !tbaa !5
  %3781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3772, ptr noundef nonnull %.str.11.sink2735, i32 noundef %3773, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.7, i32 noundef 308, ptr noundef %3775, ptr noundef %3777, ptr noundef %3779, i32 noundef %3780) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3782:                                             ; preds = %3756
  %3783 = load i32, ptr @test_count, align 4, !tbaa !5
  %3784 = add nsw i32 %3783, 1
  store i32 %3784, ptr @test_count, align 4, !tbaa !5
  %3785 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %34, i8 noundef zeroext 2) #11
  %3786 = icmp eq i32 %3785, -1
  br i1 %3786, label %3787, label %3809

3787:                                             ; preds = %3782
  %3788 = load i32, ptr %1288, align 4, !tbaa !5
  %3789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3790 = call i32 @s2n_print_stacktrace(ptr noundef %3789) #11
  %3791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3792 = trunc nuw i8 %3791 to i1
  br i1 %3792, label %3793, label %3797

3793:                                             ; preds = %3787
  %3794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3795 = call i32 @fileno(ptr noundef %3794) #11
  %3796 = call i32 @isatty(i32 noundef %3795) #11
  %.not1398 = icmp eq i32 %3796, 0
  br i1 %.not1398, label %3797, label %3798

3797:                                             ; preds = %3793, %3787
  br label %3798

3798:                                             ; preds = %3793, %3797
  %.str.11.sink2744 = phi ptr [ @.str.11, %3797 ], [ @.str.8, %3793 ]
  store i32 %3788, ptr %1288, align 4, !tbaa !5
  %3799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3800 = load i32, ptr @test_count, align 4, !tbaa !5
  %3801 = load i32, ptr %1234, align 4, !tbaa !5
  %3802 = call ptr @s2n_strerror(i32 noundef %3801, ptr noundef nonnull @.str.10) #11
  %3803 = load i32, ptr %1234, align 4, !tbaa !5
  %3804 = call ptr @s2n_strerror_debug(i32 noundef %3803, ptr noundef nonnull @.str.10) #11
  %3805 = load i32, ptr %1288, align 4, !tbaa !5
  %3806 = call ptr @strerror(i32 noundef %3805) #11
  %3807 = load i32, ptr %1288, align 4, !tbaa !5
  %3808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3799, ptr noundef nonnull %.str.11.sink2744, i32 noundef %3800, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.7, i32 noundef 309, ptr noundef %3802, ptr noundef %3804, ptr noundef %3806, i32 noundef %3807) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3809:                                             ; preds = %3782
  %3810 = load i32, ptr @test_count, align 4, !tbaa !5
  %3811 = add nsw i32 %3810, 1
  store i32 %3811, ptr @test_count, align 4, !tbaa !5
  %3812 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %34, i8 noundef zeroext 80) #11
  %3813 = icmp eq i32 %3812, -1
  br i1 %3813, label %3814, label %3836

3814:                                             ; preds = %3809
  %3815 = load i32, ptr %1288, align 4, !tbaa !5
  %3816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3817 = call i32 @s2n_print_stacktrace(ptr noundef %3816) #11
  %3818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3819 = trunc nuw i8 %3818 to i1
  br i1 %3819, label %3820, label %3824

3820:                                             ; preds = %3814
  %3821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3822 = call i32 @fileno(ptr noundef %3821) #11
  %3823 = call i32 @isatty(i32 noundef %3822) #11
  %.not1397 = icmp eq i32 %3823, 0
  br i1 %.not1397, label %3824, label %3825

3824:                                             ; preds = %3820, %3814
  br label %3825

3825:                                             ; preds = %3820, %3824
  %.str.11.sink2753 = phi ptr [ @.str.11, %3824 ], [ @.str.8, %3820 ]
  store i32 %3815, ptr %1288, align 4, !tbaa !5
  %3826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3827 = load i32, ptr @test_count, align 4, !tbaa !5
  %3828 = load i32, ptr %1234, align 4, !tbaa !5
  %3829 = call ptr @s2n_strerror(i32 noundef %3828, ptr noundef nonnull @.str.10) #11
  %3830 = load i32, ptr %1234, align 4, !tbaa !5
  %3831 = call ptr @s2n_strerror_debug(i32 noundef %3830, ptr noundef nonnull @.str.10) #11
  %3832 = load i32, ptr %1288, align 4, !tbaa !5
  %3833 = call ptr @strerror(i32 noundef %3832) #11
  %3834 = load i32, ptr %1288, align 4, !tbaa !5
  %3835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3826, ptr noundef nonnull %.str.11.sink2753, i32 noundef %3827, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.7, i32 noundef 310, ptr noundef %3829, ptr noundef %3831, ptr noundef %3833, i32 noundef %3834) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3836:                                             ; preds = %3809
  %3837 = load i32, ptr @test_count, align 4, !tbaa !5
  %3838 = add nsw i32 %3837, 1
  store i32 %3838, ptr @test_count, align 4, !tbaa !5
  %3839 = load ptr, ptr %33, align 8, !tbaa !9
  %3840 = call i32 @s2n_shutdown(ptr noundef %3839, ptr noundef nonnull %36)
  %3841 = icmp eq i32 %3840, -1
  br i1 %3841, label %3864, label %3842

3842:                                             ; preds = %3836
  %3843 = load i32, ptr %1288, align 4, !tbaa !5
  %3844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3845 = call i32 @s2n_print_stacktrace(ptr noundef %3844) #11
  %3846 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3847 = trunc nuw i8 %3846 to i1
  br i1 %3847, label %3848, label %3852

3848:                                             ; preds = %3842
  %3849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3850 = call i32 @fileno(ptr noundef %3849) #11
  %3851 = call i32 @isatty(i32 noundef %3850) #11
  %.not1082 = icmp eq i32 %3851, 0
  br i1 %.not1082, label %3852, label %3853

3852:                                             ; preds = %3848, %3842
  br label %3853

3853:                                             ; preds = %3848, %3852
  %.str.11.sink2762 = phi ptr [ @.str.11, %3852 ], [ @.str.8, %3848 ]
  store i32 %3843, ptr %1288, align 4, !tbaa !5
  %3854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3855 = load i32, ptr @test_count, align 4, !tbaa !5
  %3856 = load i32, ptr %1234, align 4, !tbaa !5
  %3857 = call ptr @s2n_strerror(i32 noundef %3856, ptr noundef nonnull @.str.10) #11
  %3858 = load i32, ptr %1234, align 4, !tbaa !5
  %3859 = call ptr @s2n_strerror_debug(i32 noundef %3858, ptr noundef nonnull @.str.10) #11
  %3860 = load i32, ptr %1288, align 4, !tbaa !5
  %3861 = call ptr @strerror(i32 noundef %3860) #11
  %3862 = load i32, ptr %1288, align 4, !tbaa !5
  %3863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3854, ptr noundef nonnull %.str.11.sink2762, i32 noundef %3855, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.7, i32 noundef 313, ptr noundef %3857, ptr noundef %3859, ptr noundef %3861, i32 noundef %3862) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3864:                                             ; preds = %3836
  %3865 = load i32, ptr @test_count, align 4, !tbaa !5
  %3866 = add nsw i32 %3865, 1
  store i32 %3866, ptr @test_count, align 4, !tbaa !5
  %3867 = load i32, ptr %1234, align 4, !tbaa !5
  %3868 = icmp eq i32 %3867, 268435456
  br i1 %3868, label %3891, label %3869

3869:                                             ; preds = %3864
  %3870 = load i32, ptr %1288, align 4, !tbaa !5
  %3871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3872 = call i32 @s2n_print_stacktrace(ptr noundef %3871) #11
  %3873 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3874 = trunc nuw i8 %3873 to i1
  br i1 %3874, label %3875, label %3879

3875:                                             ; preds = %3869
  %3876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3877 = call i32 @fileno(ptr noundef %3876) #11
  %3878 = call i32 @isatty(i32 noundef %3877) #11
  %.not1083 = icmp eq i32 %3878, 0
  br i1 %.not1083, label %3879, label %3880

3879:                                             ; preds = %3875, %3869
  br label %3880

3880:                                             ; preds = %3875, %3879
  %.str.11.sink2771 = phi ptr [ @.str.11, %3879 ], [ @.str.8, %3875 ]
  store i32 %3870, ptr %1288, align 4, !tbaa !5
  %3881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3882 = load i32, ptr @test_count, align 4, !tbaa !5
  %3883 = load i32, ptr %1234, align 4, !tbaa !5
  %3884 = call ptr @s2n_strerror(i32 noundef %3883, ptr noundef nonnull @.str.10) #11
  %3885 = load i32, ptr %1234, align 4, !tbaa !5
  %3886 = call ptr @s2n_strerror_debug(i32 noundef %3885, ptr noundef nonnull @.str.10) #11
  %3887 = load i32, ptr %1288, align 4, !tbaa !5
  %3888 = call ptr @strerror(i32 noundef %3887) #11
  %3889 = load i32, ptr %1288, align 4, !tbaa !5
  %3890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3881, ptr noundef nonnull %.str.11.sink2771, i32 noundef %3882, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.7, i32 noundef 313, ptr noundef %3884, ptr noundef %3886, ptr noundef %3888, i32 noundef %3889) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3891:                                             ; preds = %3864
  %3892 = add nsw i32 %3865, 2
  store i32 %3892, ptr @test_count, align 4, !tbaa !5
  %3893 = call ptr @s2n_strerror_debug(i32 noundef 268435456, ptr noundef nonnull @.str.10) #11
  %3894 = icmp eq ptr %3893, null
  br i1 %3894, label %3895, label %3917

3895:                                             ; preds = %3891
  %3896 = load i32, ptr %1288, align 4, !tbaa !5
  %3897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3898 = call i32 @s2n_print_stacktrace(ptr noundef %3897) #11
  %3899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3900 = trunc nuw i8 %3899 to i1
  br i1 %3900, label %3901, label %3905

3901:                                             ; preds = %3895
  %3902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3903 = call i32 @fileno(ptr noundef %3902) #11
  %3904 = call i32 @isatty(i32 noundef %3903) #11
  %.not1396 = icmp eq i32 %3904, 0
  br i1 %.not1396, label %3905, label %3906

3905:                                             ; preds = %3901, %3895
  br label %3906

3906:                                             ; preds = %3901, %3905
  %.str.11.sink2780 = phi ptr [ @.str.11, %3905 ], [ @.str.8, %3901 ]
  store i32 %3896, ptr %1288, align 4, !tbaa !5
  %3907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3908 = load i32, ptr @test_count, align 4, !tbaa !5
  %3909 = load i32, ptr %1234, align 4, !tbaa !5
  %3910 = call ptr @s2n_strerror(i32 noundef %3909, ptr noundef nonnull @.str.10) #11
  %3911 = load i32, ptr %1234, align 4, !tbaa !5
  %3912 = call ptr @s2n_strerror_debug(i32 noundef %3911, ptr noundef nonnull @.str.10) #11
  %3913 = load i32, ptr %1288, align 4, !tbaa !5
  %3914 = call ptr @strerror(i32 noundef %3913) #11
  %3915 = load i32, ptr %1288, align 4, !tbaa !5
  %3916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3907, ptr noundef nonnull %.str.11.sink2780, i32 noundef %3908, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 313, ptr noundef %3910, ptr noundef %3912, ptr noundef %3914, i32 noundef %3915) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3917:                                             ; preds = %3891
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %3918 = load i32, ptr @test_count, align 4, !tbaa !5
  %3919 = add nsw i32 %3918, 1
  store i32 %3919, ptr @test_count, align 4, !tbaa !5
  %3920 = load ptr, ptr %33, align 8, !tbaa !9
  %3921 = getelementptr inbounds i8, ptr %3920, i64 2008
  %3922 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %3921) #11
  br i1 %3922, label %3923, label %3945

3923:                                             ; preds = %3917
  %3924 = load i32, ptr %1288, align 4, !tbaa !5
  %3925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3926 = call i32 @s2n_print_stacktrace(ptr noundef %3925) #11
  %3927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3928 = trunc nuw i8 %3927 to i1
  br i1 %3928, label %3929, label %3933

3929:                                             ; preds = %3923
  %3930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3931 = call i32 @fileno(ptr noundef %3930) #11
  %3932 = call i32 @isatty(i32 noundef %3931) #11
  %.not1395 = icmp eq i32 %3932, 0
  br i1 %.not1395, label %3933, label %3934

3933:                                             ; preds = %3929, %3923
  br label %3934

3934:                                             ; preds = %3929, %3933
  %.str.11.sink2789 = phi ptr [ @.str.11, %3933 ], [ @.str.8, %3929 ]
  store i32 %3924, ptr %1288, align 4, !tbaa !5
  %3935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3936 = load i32, ptr @test_count, align 4, !tbaa !5
  %3937 = load i32, ptr %1234, align 4, !tbaa !5
  %3938 = call ptr @s2n_strerror(i32 noundef %3937, ptr noundef nonnull @.str.10) #11
  %3939 = load i32, ptr %1234, align 4, !tbaa !5
  %3940 = call ptr @s2n_strerror_debug(i32 noundef %3939, ptr noundef nonnull @.str.10) #11
  %3941 = load i32, ptr %1288, align 4, !tbaa !5
  %3942 = call ptr @strerror(i32 noundef %3941) #11
  %3943 = load i32, ptr %1288, align 4, !tbaa !5
  %3944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3935, ptr noundef nonnull %.str.11.sink2789, i32 noundef %3936, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.7, i32 noundef 316, ptr noundef %3938, ptr noundef %3940, ptr noundef %3942, i32 noundef %3943) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3945:                                             ; preds = %3917
  %3946 = load i32, ptr @test_count, align 4, !tbaa !5
  %3947 = add nsw i32 %3946, 1
  store i32 %3947, ptr @test_count, align 4, !tbaa !5
  %3948 = load ptr, ptr %33, align 8, !tbaa !9
  %3949 = getelementptr inbounds i8, ptr %3948, i64 2003
  %3950 = load i8, ptr %3949, align 1, !tbaa !15, !range !13, !noundef !14
  %3951 = trunc nuw i8 %3950 to i1
  br i1 %3951, label %3974, label %3952

3952:                                             ; preds = %3945
  %3953 = load i32, ptr %1288, align 4, !tbaa !5
  %3954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3955 = call i32 @s2n_print_stacktrace(ptr noundef %3954) #11
  %3956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3957 = trunc nuw i8 %3956 to i1
  br i1 %3957, label %3958, label %3962

3958:                                             ; preds = %3952
  %3959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3960 = call i32 @fileno(ptr noundef %3959) #11
  %3961 = call i32 @isatty(i32 noundef %3960) #11
  %.not1084 = icmp eq i32 %3961, 0
  br i1 %.not1084, label %3962, label %3963

3962:                                             ; preds = %3958, %3952
  br label %3963

3963:                                             ; preds = %3958, %3962
  %.str.11.sink2798 = phi ptr [ @.str.11, %3962 ], [ @.str.8, %3958 ]
  store i32 %3953, ptr %1288, align 4, !tbaa !5
  %3964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3965 = load i32, ptr @test_count, align 4, !tbaa !5
  %3966 = load i32, ptr %1234, align 4, !tbaa !5
  %3967 = call ptr @s2n_strerror(i32 noundef %3966, ptr noundef nonnull @.str.10) #11
  %3968 = load i32, ptr %1234, align 4, !tbaa !5
  %3969 = call ptr @s2n_strerror_debug(i32 noundef %3968, ptr noundef nonnull @.str.10) #11
  %3970 = load i32, ptr %1288, align 4, !tbaa !5
  %3971 = call ptr @strerror(i32 noundef %3970) #11
  %3972 = load i32, ptr %1288, align 4, !tbaa !5
  %3973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3964, ptr noundef nonnull %.str.11.sink2798, i32 noundef %3965, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.7, i32 noundef 317, ptr noundef %3967, ptr noundef %3969, ptr noundef %3971, i32 noundef %3972) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3974:                                             ; preds = %3945
  %3975 = add nsw i32 %3946, 2
  store i32 %3975, ptr @test_count, align 4, !tbaa !5
  %3976 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %3948, i32 noundef 3) #11
  br i1 %3976, label %3999, label %3977

3977:                                             ; preds = %3974
  %3978 = load i32, ptr %1288, align 4, !tbaa !5
  %3979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3980 = call i32 @s2n_print_stacktrace(ptr noundef %3979) #11
  %3981 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3982 = trunc nuw i8 %3981 to i1
  br i1 %3982, label %3983, label %3987

3983:                                             ; preds = %3977
  %3984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3985 = call i32 @fileno(ptr noundef %3984) #11
  %3986 = call i32 @isatty(i32 noundef %3985) #11
  %.not1085 = icmp eq i32 %3986, 0
  br i1 %.not1085, label %3987, label %3988

3987:                                             ; preds = %3983, %3977
  br label %3988

3988:                                             ; preds = %3983, %3987
  %.str.11.sink2807 = phi ptr [ @.str.11, %3987 ], [ @.str.8, %3983 ]
  store i32 %3978, ptr %1288, align 4, !tbaa !5
  %3989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3990 = load i32, ptr @test_count, align 4, !tbaa !5
  %3991 = load i32, ptr %1234, align 4, !tbaa !5
  %3992 = call ptr @s2n_strerror(i32 noundef %3991, ptr noundef nonnull @.str.10) #11
  %3993 = load i32, ptr %1234, align 4, !tbaa !5
  %3994 = call ptr @s2n_strerror_debug(i32 noundef %3993, ptr noundef nonnull @.str.10) #11
  %3995 = load i32, ptr %1288, align 4, !tbaa !5
  %3996 = call ptr @strerror(i32 noundef %3995) #11
  %3997 = load i32, ptr %1288, align 4, !tbaa !5
  %3998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3989, ptr noundef nonnull %.str.11.sink2807, i32 noundef %3990, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.7, i32 noundef 318, ptr noundef %3992, ptr noundef %3994, ptr noundef %3996, i32 noundef %3997) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3999:                                             ; preds = %3974
  %4000 = load i32, ptr @test_count, align 4, !tbaa !5
  %4001 = add nsw i32 %4000, 1
  store i32 %4001, ptr @test_count, align 4, !tbaa !5
  %4002 = getelementptr inbounds i8, ptr %35, i64 28
  %4003 = load i32, ptr %4002, align 4, !tbaa !42
  %4004 = getelementptr inbounds i8, ptr %35, i64 24
  %4005 = load i32, ptr %4004, align 8, !tbaa !43
  %4006 = sub i32 %4003, %4005
  %4007 = icmp eq i32 %4006, 7
  br i1 %4007, label %.preheader1481.preheader, label %4012

.preheader1481.preheader:                         ; preds = %3999
  %4008 = add nsw i32 %4000, 2
  store i32 %4008, ptr @test_count, align 4, !tbaa !5
  %4009 = load ptr, ptr %33, align 8, !tbaa !9
  %4010 = call i32 @s2n_shutdown(ptr noundef %4009, ptr noundef nonnull %36)
  %4011 = icmp eq i32 %4010, -1
  br i1 %4011, label %4106, label %4128

4012:                                             ; preds = %3999
  %4013 = load i32, ptr %1288, align 4, !tbaa !5
  %4014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4015 = call i32 @s2n_print_stacktrace(ptr noundef %4014) #11
  %4016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4017 = trunc nuw i8 %4016 to i1
  br i1 %4017, label %4018, label %4022

4018:                                             ; preds = %4012
  %4019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4020 = call i32 @fileno(ptr noundef %4019) #11
  %4021 = call i32 @isatty(i32 noundef %4020) #11
  %.not1086 = icmp eq i32 %4021, 0
  br i1 %.not1086, label %4022, label %4023

4022:                                             ; preds = %4018, %4012
  br label %4023

4023:                                             ; preds = %4018, %4022
  %.str.11.sink2816 = phi ptr [ @.str.11, %4022 ], [ @.str.8, %4018 ]
  store i32 %4013, ptr %1288, align 4, !tbaa !5
  %4024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4025 = load i32, ptr @test_count, align 4, !tbaa !5
  %4026 = load i32, ptr %1234, align 4, !tbaa !5
  %4027 = call ptr @s2n_strerror(i32 noundef %4026, ptr noundef nonnull @.str.10) #11
  %4028 = load i32, ptr %1234, align 4, !tbaa !5
  %4029 = call ptr @s2n_strerror_debug(i32 noundef %4028, ptr noundef nonnull @.str.10) #11
  %4030 = load i32, ptr %1288, align 4, !tbaa !5
  %4031 = call ptr @strerror(i32 noundef %4030) #11
  %4032 = load i32, ptr %1288, align 4, !tbaa !5
  %4033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4024, ptr noundef nonnull %.str.11.sink2816, i32 noundef %4025, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.7, i32 noundef 319, ptr noundef %4027, ptr noundef %4029, ptr noundef %4031, i32 noundef %4032) #13
  call void @exit(i32 noundef 1) #14
  unreachable

.preheader1481.1:                                 ; preds = %4156
  %4034 = add nsw i32 %4157, 2
  store i32 %4034, ptr @test_count, align 4, !tbaa !5
  %4035 = call i32 @s2n_shutdown(ptr noundef nonnull %4159, ptr noundef nonnull %36)
  %4036 = icmp eq i32 %4035, -1
  br i1 %4036, label %4106, label %4037

4037:                                             ; preds = %.preheader1481.1
  %4038 = load i32, ptr @test_count, align 4, !tbaa !5
  %4039 = add nsw i32 %4038, 1
  store i32 %4039, ptr @test_count, align 4, !tbaa !5
  %4040 = load ptr, ptr %33, align 8, !tbaa !9
  %4041 = getelementptr inbounds i8, ptr %4040, i64 2008
  %4042 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %4041) #11
  br i1 %4042, label %4134, label %4043

4043:                                             ; preds = %4037
  %4044 = load i32, ptr @test_count, align 4, !tbaa !5
  %4045 = add nsw i32 %4044, 1
  store i32 %4045, ptr @test_count, align 4, !tbaa !5
  %4046 = load ptr, ptr %33, align 8, !tbaa !9
  %4047 = getelementptr inbounds i8, ptr %4046, i64 2003
  %4048 = load i8, ptr %4047, align 1, !tbaa !15, !range !13, !noundef !14
  %4049 = trunc nuw i8 %4048 to i1
  br i1 %4049, label %.preheader1481.2, label %4163

.preheader1481.2:                                 ; preds = %4043
  %4050 = add nsw i32 %4044, 2
  store i32 %4050, ptr @test_count, align 4, !tbaa !5
  %4051 = call i32 @s2n_shutdown(ptr noundef nonnull %4046, ptr noundef nonnull %36)
  %4052 = icmp eq i32 %4051, -1
  br i1 %4052, label %4106, label %4053

4053:                                             ; preds = %.preheader1481.2
  %4054 = load i32, ptr @test_count, align 4, !tbaa !5
  %4055 = add nsw i32 %4054, 1
  store i32 %4055, ptr @test_count, align 4, !tbaa !5
  %4056 = load ptr, ptr %33, align 8, !tbaa !9
  %4057 = getelementptr inbounds i8, ptr %4056, i64 2008
  %4058 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %4057) #11
  br i1 %4058, label %4134, label %4059

4059:                                             ; preds = %4053
  %4060 = load i32, ptr @test_count, align 4, !tbaa !5
  %4061 = add nsw i32 %4060, 1
  store i32 %4061, ptr @test_count, align 4, !tbaa !5
  %4062 = load ptr, ptr %33, align 8, !tbaa !9
  %4063 = getelementptr inbounds i8, ptr %4062, i64 2003
  %4064 = load i8, ptr %4063, align 1, !tbaa !15, !range !13, !noundef !14
  %4065 = trunc nuw i8 %4064 to i1
  br i1 %4065, label %.preheader1481.3, label %4163

.preheader1481.3:                                 ; preds = %4059
  %4066 = add nsw i32 %4060, 2
  store i32 %4066, ptr @test_count, align 4, !tbaa !5
  %4067 = call i32 @s2n_shutdown(ptr noundef nonnull %4062, ptr noundef nonnull %36)
  %4068 = icmp eq i32 %4067, -1
  br i1 %4068, label %4106, label %4069

4069:                                             ; preds = %.preheader1481.3
  %4070 = load i32, ptr @test_count, align 4, !tbaa !5
  %4071 = add nsw i32 %4070, 1
  store i32 %4071, ptr @test_count, align 4, !tbaa !5
  %4072 = load ptr, ptr %33, align 8, !tbaa !9
  %4073 = getelementptr inbounds i8, ptr %4072, i64 2008
  %4074 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %4073) #11
  br i1 %4074, label %4134, label %4075

4075:                                             ; preds = %4069
  %4076 = load i32, ptr @test_count, align 4, !tbaa !5
  %4077 = add nsw i32 %4076, 1
  store i32 %4077, ptr @test_count, align 4, !tbaa !5
  %4078 = load ptr, ptr %33, align 8, !tbaa !9
  %4079 = getelementptr inbounds i8, ptr %4078, i64 2003
  %4080 = load i8, ptr %4079, align 1, !tbaa !15, !range !13, !noundef !14
  %4081 = trunc nuw i8 %4080 to i1
  br i1 %4081, label %.preheader1481.4, label %4163

.preheader1481.4:                                 ; preds = %4075
  %4082 = add nsw i32 %4076, 2
  store i32 %4082, ptr @test_count, align 4, !tbaa !5
  %4083 = call i32 @s2n_shutdown(ptr noundef nonnull %4078, ptr noundef nonnull %36)
  %4084 = icmp eq i32 %4083, -1
  br i1 %4084, label %4106, label %4085

4085:                                             ; preds = %.preheader1481.4
  %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 = load ptr, ptr %33, align 8, !tbaa !9
  %4089 = getelementptr inbounds i8, ptr %4088, i64 2008
  %4090 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %4089) #11
  br i1 %4090, label %4134, label %4091

4091:                                             ; preds = %4085
  %4092 = load i32, ptr @test_count, align 4, !tbaa !5
  %4093 = add nsw i32 %4092, 1
  store i32 %4093, ptr @test_count, align 4, !tbaa !5
  %4094 = load ptr, ptr %33, align 8, !tbaa !9
  %4095 = getelementptr inbounds i8, ptr %4094, i64 2003
  %4096 = load i8, ptr %4095, align 1, !tbaa !15, !range !13, !noundef !14
  %4097 = trunc nuw i8 %4096 to i1
  br i1 %4097, label %4098, label %4163

4098:                                             ; preds = %4091
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #11
  %4099 = call i32 @s2n_stuffer_free(ptr noundef nonnull %35) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %35) #11
  %4100 = call i32 @s2n_stuffer_free(ptr noundef nonnull %34) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %34) #11
  %4101 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %33) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #11
  %4102 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %4102, ptr %37, align 8, !tbaa !9
  %4103 = load i32, ptr @test_count, align 4, !tbaa !5
  %4104 = add nsw i32 %4103, 1
  store i32 %4104, ptr @test_count, align 4, !tbaa !5
  %4105 = icmp eq ptr %4102, null
  br i1 %4105, label %4185, label %4207

4106:                                             ; preds = %.preheader1481.4, %.preheader1481.3, %.preheader1481.2, %.preheader1481.1, %.preheader1481.preheader
  %4107 = load i32, ptr %1288, align 4, !tbaa !5
  %4108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4109 = call i32 @s2n_print_stacktrace(ptr noundef %4108) #11
  %4110 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4111 = trunc nuw i8 %4110 to i1
  br i1 %4111, label %4112, label %4116

4112:                                             ; preds = %4106
  %4113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4114 = call i32 @fileno(ptr noundef %4113) #11
  %4115 = call i32 @isatty(i32 noundef %4114) #11
  %.not1394 = icmp eq i32 %4115, 0
  br i1 %.not1394, label %4116, label %4117

4116:                                             ; preds = %4112, %4106
  br label %4117

4117:                                             ; preds = %4112, %4116
  %.str.11.sink2825 = phi ptr [ @.str.11, %4116 ], [ @.str.8, %4112 ]
  store i32 %4107, ptr %1288, align 4, !tbaa !5
  %4118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4119 = load i32, ptr @test_count, align 4, !tbaa !5
  %4120 = load i32, ptr %1234, align 4, !tbaa !5
  %4121 = call ptr @s2n_strerror(i32 noundef %4120, ptr noundef nonnull @.str.10) #11
  %4122 = load i32, ptr %1234, align 4, !tbaa !5
  %4123 = call ptr @s2n_strerror_debug(i32 noundef %4122, ptr noundef nonnull @.str.10) #11
  %4124 = load i32, ptr %1288, align 4, !tbaa !5
  %4125 = call ptr @strerror(i32 noundef %4124) #11
  %4126 = load i32, ptr %1288, align 4, !tbaa !5
  %4127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4118, ptr noundef nonnull %.str.11.sink2825, i32 noundef %4119, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.7, i32 noundef 323, ptr noundef %4121, ptr noundef %4123, ptr noundef %4125, i32 noundef %4126) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4128:                                             ; preds = %.preheader1481.preheader
  %4129 = load i32, ptr @test_count, align 4, !tbaa !5
  %4130 = add nsw i32 %4129, 1
  store i32 %4130, ptr @test_count, align 4, !tbaa !5
  %4131 = load ptr, ptr %33, align 8, !tbaa !9
  %4132 = getelementptr inbounds i8, ptr %4131, i64 2008
  %4133 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %4132) #11
  br i1 %4133, label %4134, label %4156

4134:                                             ; preds = %4085, %4069, %4053, %4037, %4128
  %4135 = load i32, ptr %1288, align 4, !tbaa !5
  %4136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4137 = call i32 @s2n_print_stacktrace(ptr noundef %4136) #11
  %4138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4139 = trunc nuw i8 %4138 to i1
  br i1 %4139, label %4140, label %4144

4140:                                             ; preds = %4134
  %4141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4142 = call i32 @fileno(ptr noundef %4141) #11
  %4143 = call i32 @isatty(i32 noundef %4142) #11
  %.not1393 = icmp eq i32 %4143, 0
  br i1 %.not1393, label %4144, label %4145

4144:                                             ; preds = %4140, %4134
  br label %4145

4145:                                             ; preds = %4140, %4144
  %.str.11.sink2834 = phi ptr [ @.str.11, %4144 ], [ @.str.8, %4140 ]
  store i32 %4135, ptr %1288, align 4, !tbaa !5
  %4146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4147 = load i32, ptr @test_count, align 4, !tbaa !5
  %4148 = load i32, ptr %1234, align 4, !tbaa !5
  %4149 = call ptr @s2n_strerror(i32 noundef %4148, ptr noundef nonnull @.str.10) #11
  %4150 = load i32, ptr %1234, align 4, !tbaa !5
  %4151 = call ptr @s2n_strerror_debug(i32 noundef %4150, ptr noundef nonnull @.str.10) #11
  %4152 = load i32, ptr %1288, align 4, !tbaa !5
  %4153 = call ptr @strerror(i32 noundef %4152) #11
  %4154 = load i32, ptr %1288, align 4, !tbaa !5
  %4155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4146, ptr noundef nonnull %.str.11.sink2834, i32 noundef %4147, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.7, i32 noundef 324, ptr noundef %4149, ptr noundef %4151, ptr noundef %4153, i32 noundef %4154) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4156:                                             ; preds = %4128
  %4157 = load i32, ptr @test_count, align 4, !tbaa !5
  %4158 = add nsw i32 %4157, 1
  store i32 %4158, ptr @test_count, align 4, !tbaa !5
  %4159 = load ptr, ptr %33, align 8, !tbaa !9
  %4160 = getelementptr inbounds i8, ptr %4159, i64 2003
  %4161 = load i8, ptr %4160, align 1, !tbaa !15, !range !13, !noundef !14
  %4162 = trunc nuw i8 %4161 to i1
  br i1 %4162, label %.preheader1481.1, label %4163

4163:                                             ; preds = %4091, %4075, %4059, %4043, %4156
  %4164 = load i32, ptr %1288, align 4, !tbaa !5
  %4165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4166 = call i32 @s2n_print_stacktrace(ptr noundef %4165) #11
  %4167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4168 = trunc nuw i8 %4167 to i1
  br i1 %4168, label %4169, label %4173

4169:                                             ; preds = %4163
  %4170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4171 = call i32 @fileno(ptr noundef %4170) #11
  %4172 = call i32 @isatty(i32 noundef %4171) #11
  %.not1392 = icmp eq i32 %4172, 0
  br i1 %.not1392, label %4173, label %4174

4173:                                             ; preds = %4169, %4163
  br label %4174

4174:                                             ; preds = %4169, %4173
  %.str.11.sink2843 = phi ptr [ @.str.11, %4173 ], [ @.str.8, %4169 ]
  store i32 %4164, ptr %1288, align 4, !tbaa !5
  %4175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4176 = load i32, ptr @test_count, align 4, !tbaa !5
  %4177 = load i32, ptr %1234, align 4, !tbaa !5
  %4178 = call ptr @s2n_strerror(i32 noundef %4177, ptr noundef nonnull @.str.10) #11
  %4179 = load i32, ptr %1234, align 4, !tbaa !5
  %4180 = call ptr @s2n_strerror_debug(i32 noundef %4179, ptr noundef nonnull @.str.10) #11
  %4181 = load i32, ptr %1288, align 4, !tbaa !5
  %4182 = call ptr @strerror(i32 noundef %4181) #11
  %4183 = load i32, ptr %1288, align 4, !tbaa !5
  %4184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4175, ptr noundef nonnull %.str.11.sink2843, i32 noundef %4176, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.7, i32 noundef 325, ptr noundef %4178, ptr noundef %4180, ptr noundef %4182, i32 noundef %4183) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4185:                                             ; preds = %4098
  %4186 = load i32, ptr %1288, align 4, !tbaa !5
  %4187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4188 = call i32 @s2n_print_stacktrace(ptr noundef %4187) #11
  %4189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4190 = trunc nuw i8 %4189 to i1
  br i1 %4190, label %4191, label %4195

4191:                                             ; preds = %4185
  %4192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4193 = call i32 @fileno(ptr noundef %4192) #11
  %4194 = call i32 @isatty(i32 noundef %4193) #11
  %.not1391 = icmp eq i32 %4194, 0
  br i1 %.not1391, label %4195, label %4196

4195:                                             ; preds = %4191, %4185
  br label %4196

4196:                                             ; preds = %4191, %4195
  %.str.11.sink2852 = phi ptr [ @.str.11, %4195 ], [ @.str.8, %4191 ]
  store i32 %4186, ptr %1288, align 4, !tbaa !5
  %4197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4198 = load i32, ptr @test_count, align 4, !tbaa !5
  %4199 = load i32, ptr %1234, align 4, !tbaa !5
  %4200 = call ptr @s2n_strerror(i32 noundef %4199, ptr noundef nonnull @.str.10) #11
  %4201 = load i32, ptr %1234, align 4, !tbaa !5
  %4202 = call ptr @s2n_strerror_debug(i32 noundef %4201, ptr noundef nonnull @.str.10) #11
  %4203 = load i32, ptr %1288, align 4, !tbaa !5
  %4204 = call ptr @strerror(i32 noundef %4203) #11
  %4205 = load i32, ptr %1288, align 4, !tbaa !5
  %4206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4197, ptr noundef nonnull %.str.11.sink2852, i32 noundef %4198, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.7, i32 noundef 333, ptr noundef %4200, ptr noundef %4202, ptr noundef %4204, i32 noundef %4205) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4207:                                             ; preds = %4098
  %4208 = add nsw i32 %4103, 2
  store i32 %4208, ptr @test_count, align 4, !tbaa !5
  %4209 = call i32 @s2n_skip_handshake(ptr noundef nonnull %4102) #11
  %4210 = call zeroext i1 @s2n_result_is_ok(i32 %4209)
  br i1 %4210, label %4233, label %4211

4211:                                             ; preds = %4207
  %4212 = load i32, ptr %1288, align 4, !tbaa !5
  %4213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4214 = call i32 @s2n_print_stacktrace(ptr noundef %4213) #11
  %4215 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4216 = trunc nuw i8 %4215 to i1
  br i1 %4216, label %4217, label %4221

4217:                                             ; preds = %4211
  %4218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4219 = call i32 @fileno(ptr noundef %4218) #11
  %4220 = call i32 @isatty(i32 noundef %4219) #11
  %.not1087 = icmp eq i32 %4220, 0
  br i1 %.not1087, label %4221, label %4222

4221:                                             ; preds = %4217, %4211
  br label %4222

4222:                                             ; preds = %4217, %4221
  %.str.11.sink2861 = phi ptr [ @.str.11, %4221 ], [ @.str.8, %4217 ]
  store i32 %4212, ptr %1288, align 4, !tbaa !5
  %4223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4224 = load i32, ptr @test_count, align 4, !tbaa !5
  %4225 = load i32, ptr %1234, align 4, !tbaa !5
  %4226 = call ptr @s2n_strerror(i32 noundef %4225, ptr noundef nonnull @.str.10) #11
  %4227 = load i32, ptr %1234, align 4, !tbaa !5
  %4228 = call ptr @s2n_strerror_debug(i32 noundef %4227, ptr noundef nonnull @.str.10) #11
  %4229 = load i32, ptr %1288, align 4, !tbaa !5
  %4230 = call ptr @strerror(i32 noundef %4229) #11
  %4231 = load i32, ptr %1288, align 4, !tbaa !5
  %4232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4223, ptr noundef nonnull %.str.11.sink2861, i32 noundef %4224, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.7, i32 noundef 334, ptr noundef %4226, ptr noundef %4228, ptr noundef %4230, i32 noundef %4231) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4233:                                             ; preds = %4207
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %38) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %38, i8 0, i64 40, i1 false)
  %4234 = load i32, ptr @test_count, align 4, !tbaa !5
  %4235 = add nsw i32 %4234, 1
  store i32 %4235, ptr @test_count, align 4, !tbaa !5
  %4236 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %38, i32 noundef 0) #11
  %4237 = icmp eq i32 %4236, -1
  br i1 %4237, label %4238, label %4260

4238:                                             ; preds = %4233
  %4239 = load i32, ptr %1288, align 4, !tbaa !5
  %4240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4241 = call i32 @s2n_print_stacktrace(ptr noundef %4240) #11
  %4242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4243 = trunc nuw i8 %4242 to i1
  br i1 %4243, label %4244, label %4248

4244:                                             ; preds = %4238
  %4245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4246 = call i32 @fileno(ptr noundef %4245) #11
  %4247 = call i32 @isatty(i32 noundef %4246) #11
  %.not1390 = icmp eq i32 %4247, 0
  br i1 %.not1390, label %4248, label %4249

4248:                                             ; preds = %4244, %4238
  br label %4249

4249:                                             ; preds = %4244, %4248
  %.str.11.sink2870 = phi ptr [ @.str.11, %4248 ], [ @.str.8, %4244 ]
  store i32 %4239, ptr %1288, align 4, !tbaa !5
  %4250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4251 = load i32, ptr @test_count, align 4, !tbaa !5
  %4252 = load i32, ptr %1234, align 4, !tbaa !5
  %4253 = call ptr @s2n_strerror(i32 noundef %4252, ptr noundef nonnull @.str.10) #11
  %4254 = load i32, ptr %1234, align 4, !tbaa !5
  %4255 = call ptr @s2n_strerror_debug(i32 noundef %4254, ptr noundef nonnull @.str.10) #11
  %4256 = load i32, ptr %1288, align 4, !tbaa !5
  %4257 = call ptr @strerror(i32 noundef %4256) #11
  %4258 = load i32, ptr %1288, align 4, !tbaa !5
  %4259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4250, ptr noundef nonnull %.str.11.sink2870, i32 noundef %4251, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.7, i32 noundef 337, ptr noundef %4253, ptr noundef %4255, ptr noundef %4257, i32 noundef %4258) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4260:                                             ; preds = %4233
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %39) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %39, i8 0, i64 40, i1 false)
  %4261 = load i32, ptr @test_count, align 4, !tbaa !5
  %4262 = add nsw i32 %4261, 1
  store i32 %4262, ptr @test_count, align 4, !tbaa !5
  %4263 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %39, i32 noundef 0) #11
  %4264 = icmp eq i32 %4263, -1
  br i1 %4264, label %4265, label %4287

4265:                                             ; preds = %4260
  %4266 = load i32, ptr %1288, align 4, !tbaa !5
  %4267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4268 = call i32 @s2n_print_stacktrace(ptr noundef %4267) #11
  %4269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4270 = trunc nuw i8 %4269 to i1
  br i1 %4270, label %4271, label %4275

4271:                                             ; preds = %4265
  %4272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4273 = call i32 @fileno(ptr noundef %4272) #11
  %4274 = call i32 @isatty(i32 noundef %4273) #11
  %.not1389 = icmp eq i32 %4274, 0
  br i1 %.not1389, label %4275, label %4276

4275:                                             ; preds = %4271, %4265
  br label %4276

4276:                                             ; preds = %4271, %4275
  %.str.11.sink2879 = phi ptr [ @.str.11, %4275 ], [ @.str.8, %4271 ]
  store i32 %4266, ptr %1288, align 4, !tbaa !5
  %4277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4278 = load i32, ptr @test_count, align 4, !tbaa !5
  %4279 = load i32, ptr %1234, align 4, !tbaa !5
  %4280 = call ptr @s2n_strerror(i32 noundef %4279, ptr noundef nonnull @.str.10) #11
  %4281 = load i32, ptr %1234, align 4, !tbaa !5
  %4282 = call ptr @s2n_strerror_debug(i32 noundef %4281, ptr noundef nonnull @.str.10) #11
  %4283 = load i32, ptr %1288, align 4, !tbaa !5
  %4284 = call ptr @strerror(i32 noundef %4283) #11
  %4285 = load i32, ptr %1288, align 4, !tbaa !5
  %4286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4277, ptr noundef nonnull %.str.11.sink2879, i32 noundef %4278, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.7, i32 noundef 339, ptr noundef %4280, ptr noundef %4282, ptr noundef %4284, i32 noundef %4285) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4287:                                             ; preds = %4260
  %4288 = load i32, ptr @test_count, align 4, !tbaa !5
  %4289 = add nsw i32 %4288, 1
  store i32 %4289, ptr @test_count, align 4, !tbaa !5
  %4290 = load ptr, ptr %37, align 8, !tbaa !9
  %4291 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %38, ptr noundef nonnull %39, ptr noundef %4290) #11
  %4292 = icmp eq i32 %4291, -1
  br i1 %4292, label %4293, label %4315

4293:                                             ; preds = %4287
  %4294 = load i32, ptr %1288, align 4, !tbaa !5
  %4295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4296 = call i32 @s2n_print_stacktrace(ptr noundef %4295) #11
  %4297 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4298 = trunc nuw i8 %4297 to i1
  br i1 %4298, label %4299, label %4303

4299:                                             ; preds = %4293
  %4300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4301 = call i32 @fileno(ptr noundef %4300) #11
  %4302 = call i32 @isatty(i32 noundef %4301) #11
  %.not1388 = icmp eq i32 %4302, 0
  br i1 %.not1388, label %4303, label %4304

4303:                                             ; preds = %4299, %4293
  br label %4304

4304:                                             ; preds = %4299, %4303
  %.str.11.sink2888 = phi ptr [ @.str.11, %4303 ], [ @.str.8, %4299 ]
  store i32 %4294, ptr %1288, align 4, !tbaa !5
  %4305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4306 = load i32, ptr @test_count, align 4, !tbaa !5
  %4307 = load i32, ptr %1234, align 4, !tbaa !5
  %4308 = call ptr @s2n_strerror(i32 noundef %4307, ptr noundef nonnull @.str.10) #11
  %4309 = load i32, ptr %1234, align 4, !tbaa !5
  %4310 = call ptr @s2n_strerror_debug(i32 noundef %4309, ptr noundef nonnull @.str.10) #11
  %4311 = load i32, ptr %1288, align 4, !tbaa !5
  %4312 = call ptr @strerror(i32 noundef %4311) #11
  %4313 = load i32, ptr %1288, align 4, !tbaa !5
  %4314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4305, ptr noundef nonnull %.str.11.sink2888, i32 noundef %4306, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.7, i32 noundef 340, ptr noundef %4308, ptr noundef %4310, ptr noundef %4312, i32 noundef %4313) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4315:                                             ; preds = %4287
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %40) #11
  store i32 0, ptr %40, align 4, !tbaa !5
  %4316 = load i32, ptr @test_count, align 4, !tbaa !5
  %4317 = add nsw i32 %4316, 1
  store i32 %4317, ptr @test_count, align 4, !tbaa !5
  %4318 = load ptr, ptr %37, align 8, !tbaa !9
  %4319 = call i32 @s2n_shutdown(ptr noundef %4318, ptr noundef nonnull %40)
  %4320 = icmp eq i32 %4319, -1
  br i1 %4320, label %4343, label %4321

4321:                                             ; preds = %4315
  %4322 = load i32, ptr %1288, align 4, !tbaa !5
  %4323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4324 = call i32 @s2n_print_stacktrace(ptr noundef %4323) #11
  %4325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4326 = trunc nuw i8 %4325 to i1
  br i1 %4326, label %4327, label %4331

4327:                                             ; preds = %4321
  %4328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4329 = call i32 @fileno(ptr noundef %4328) #11
  %4330 = call i32 @isatty(i32 noundef %4329) #11
  %.not1088 = icmp eq i32 %4330, 0
  br i1 %.not1088, label %4331, label %4332

4331:                                             ; preds = %4327, %4321
  br label %4332

4332:                                             ; preds = %4327, %4331
  %.str.11.sink2897 = phi ptr [ @.str.11, %4331 ], [ @.str.8, %4327 ]
  store i32 %4322, ptr %1288, align 4, !tbaa !5
  %4333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4334 = load i32, ptr @test_count, align 4, !tbaa !5
  %4335 = load i32, ptr %1234, align 4, !tbaa !5
  %4336 = call ptr @s2n_strerror(i32 noundef %4335, ptr noundef nonnull @.str.10) #11
  %4337 = load i32, ptr %1234, align 4, !tbaa !5
  %4338 = call ptr @s2n_strerror_debug(i32 noundef %4337, ptr noundef nonnull @.str.10) #11
  %4339 = load i32, ptr %1288, align 4, !tbaa !5
  %4340 = call ptr @strerror(i32 noundef %4339) #11
  %4341 = load i32, ptr %1288, align 4, !tbaa !5
  %4342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4333, ptr noundef nonnull %.str.11.sink2897, i32 noundef %4334, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.7, i32 noundef 343, ptr noundef %4336, ptr noundef %4338, ptr noundef %4340, i32 noundef %4341) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4343:                                             ; preds = %4315
  %4344 = load i32, ptr @test_count, align 4, !tbaa !5
  %4345 = add nsw i32 %4344, 1
  store i32 %4345, ptr @test_count, align 4, !tbaa !5
  %4346 = load i32, ptr %1234, align 4, !tbaa !5
  %4347 = icmp eq i32 %4346, 201326592
  br i1 %4347, label %4370, label %4348

4348:                                             ; preds = %4343
  %4349 = load i32, ptr %1288, align 4, !tbaa !5
  %4350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4351 = call i32 @s2n_print_stacktrace(ptr noundef %4350) #11
  %4352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4353 = trunc nuw i8 %4352 to i1
  br i1 %4353, label %4354, label %4358

4354:                                             ; preds = %4348
  %4355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4356 = call i32 @fileno(ptr noundef %4355) #11
  %4357 = call i32 @isatty(i32 noundef %4356) #11
  %.not1089 = icmp eq i32 %4357, 0
  br i1 %.not1089, label %4358, label %4359

4358:                                             ; preds = %4354, %4348
  br label %4359

4359:                                             ; preds = %4354, %4358
  %.str.11.sink2906 = phi ptr [ @.str.11, %4358 ], [ @.str.8, %4354 ]
  store i32 %4349, ptr %1288, align 4, !tbaa !5
  %4360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4361 = load i32, ptr @test_count, align 4, !tbaa !5
  %4362 = load i32, ptr %1234, align 4, !tbaa !5
  %4363 = call ptr @s2n_strerror(i32 noundef %4362, ptr noundef nonnull @.str.10) #11
  %4364 = load i32, ptr %1234, align 4, !tbaa !5
  %4365 = call ptr @s2n_strerror_debug(i32 noundef %4364, ptr noundef nonnull @.str.10) #11
  %4366 = load i32, ptr %1288, align 4, !tbaa !5
  %4367 = call ptr @strerror(i32 noundef %4366) #11
  %4368 = load i32, ptr %1288, align 4, !tbaa !5
  %4369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4360, ptr noundef nonnull %.str.11.sink2906, i32 noundef %4361, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.7, i32 noundef 343, ptr noundef %4363, ptr noundef %4365, ptr noundef %4367, i32 noundef %4368) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4370:                                             ; preds = %4343
  %4371 = add nsw i32 %4344, 2
  store i32 %4371, ptr @test_count, align 4, !tbaa !5
  %4372 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %4373 = icmp eq ptr %4372, null
  br i1 %4373, label %4374, label %4396

4374:                                             ; preds = %4370
  %4375 = load i32, ptr %1288, align 4, !tbaa !5
  %4376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4377 = call i32 @s2n_print_stacktrace(ptr noundef %4376) #11
  %4378 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4379 = trunc nuw i8 %4378 to i1
  br i1 %4379, label %4380, label %4384

4380:                                             ; preds = %4374
  %4381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4382 = call i32 @fileno(ptr noundef %4381) #11
  %4383 = call i32 @isatty(i32 noundef %4382) #11
  %.not1387 = icmp eq i32 %4383, 0
  br i1 %.not1387, label %4384, label %4385

4384:                                             ; preds = %4380, %4374
  br label %4385

4385:                                             ; preds = %4380, %4384
  %.str.11.sink2915 = phi ptr [ @.str.11, %4384 ], [ @.str.8, %4380 ]
  store i32 %4375, ptr %1288, align 4, !tbaa !5
  %4386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4387 = load i32, ptr @test_count, align 4, !tbaa !5
  %4388 = load i32, ptr %1234, align 4, !tbaa !5
  %4389 = call ptr @s2n_strerror(i32 noundef %4388, ptr noundef nonnull @.str.10) #11
  %4390 = load i32, ptr %1234, align 4, !tbaa !5
  %4391 = call ptr @s2n_strerror_debug(i32 noundef %4390, ptr noundef nonnull @.str.10) #11
  %4392 = load i32, ptr %1288, align 4, !tbaa !5
  %4393 = call ptr @strerror(i32 noundef %4392) #11
  %4394 = load i32, ptr %1288, align 4, !tbaa !5
  %4395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4386, ptr noundef nonnull %.str.11.sink2915, i32 noundef %4387, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 343, ptr noundef %4389, ptr noundef %4391, ptr noundef %4393, i32 noundef %4394) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4396:                                             ; preds = %4370
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %4397 = load i32, ptr @test_count, align 4, !tbaa !5
  %4398 = add nsw i32 %4397, 1
  store i32 %4398, ptr @test_count, align 4, !tbaa !5
  %4399 = load i32, ptr %40, align 4, !tbaa !5
  %4400 = icmp eq i32 %4399, 1
  br i1 %4400, label %4423, label %4401

4401:                                             ; preds = %4396
  %4402 = load i32, ptr %1288, align 4, !tbaa !5
  %4403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4404 = call i32 @s2n_print_stacktrace(ptr noundef %4403) #11
  %4405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4406 = trunc nuw i8 %4405 to i1
  br i1 %4406, label %4407, label %4411

4407:                                             ; preds = %4401
  %4408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4409 = call i32 @fileno(ptr noundef %4408) #11
  %4410 = call i32 @isatty(i32 noundef %4409) #11
  %.not1090 = icmp eq i32 %4410, 0
  br i1 %.not1090, label %4411, label %4412

4411:                                             ; preds = %4407, %4401
  br label %4412

4412:                                             ; preds = %4407, %4411
  %.str.11.sink2924 = phi ptr [ @.str.11, %4411 ], [ @.str.8, %4407 ]
  store i32 %4402, ptr %1288, align 4, !tbaa !5
  %4413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4414 = load i32, ptr @test_count, align 4, !tbaa !5
  %4415 = load i32, ptr %1234, align 4, !tbaa !5
  %4416 = call ptr @s2n_strerror(i32 noundef %4415, ptr noundef nonnull @.str.10) #11
  %4417 = load i32, ptr %1234, align 4, !tbaa !5
  %4418 = call ptr @s2n_strerror_debug(i32 noundef %4417, ptr noundef nonnull @.str.10) #11
  %4419 = load i32, ptr %1288, align 4, !tbaa !5
  %4420 = call ptr @strerror(i32 noundef %4419) #11
  %4421 = load i32, ptr %1288, align 4, !tbaa !5
  %4422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4413, ptr noundef nonnull %.str.11.sink2924, i32 noundef %4414, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.7, i32 noundef 344, ptr noundef %4416, ptr noundef %4418, ptr noundef %4420, i32 noundef %4421) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4423:                                             ; preds = %4396
  %4424 = add nsw i32 %4397, 2
  store i32 %4424, ptr @test_count, align 4, !tbaa !5
  %4425 = load ptr, ptr %37, align 8, !tbaa !9
  %4426 = getelementptr inbounds i8, ptr %4425, i64 2003
  %4427 = load i8, ptr %4426, align 1, !tbaa !15, !range !13, !noundef !14
  %4428 = trunc nuw i8 %4427 to i1
  br i1 %4428, label %4451, label %4429

4429:                                             ; preds = %4423
  %4430 = load i32, ptr %1288, align 4, !tbaa !5
  %4431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4432 = call i32 @s2n_print_stacktrace(ptr noundef %4431) #11
  %4433 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4434 = trunc nuw i8 %4433 to i1
  br i1 %4434, label %4435, label %4439

4435:                                             ; preds = %4429
  %4436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4437 = call i32 @fileno(ptr noundef %4436) #11
  %4438 = call i32 @isatty(i32 noundef %4437) #11
  %.not1091 = icmp eq i32 %4438, 0
  br i1 %.not1091, label %4439, label %4440

4439:                                             ; preds = %4435, %4429
  br label %4440

4440:                                             ; preds = %4435, %4439
  %.str.11.sink2933 = phi ptr [ @.str.11, %4439 ], [ @.str.8, %4435 ]
  store i32 %4430, ptr %1288, align 4, !tbaa !5
  %4441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4442 = load i32, ptr @test_count, align 4, !tbaa !5
  %4443 = load i32, ptr %1234, align 4, !tbaa !5
  %4444 = call ptr @s2n_strerror(i32 noundef %4443, ptr noundef nonnull @.str.10) #11
  %4445 = load i32, ptr %1234, align 4, !tbaa !5
  %4446 = call ptr @s2n_strerror_debug(i32 noundef %4445, ptr noundef nonnull @.str.10) #11
  %4447 = load i32, ptr %1288, align 4, !tbaa !5
  %4448 = call ptr @strerror(i32 noundef %4447) #11
  %4449 = load i32, ptr %1288, align 4, !tbaa !5
  %4450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4441, ptr noundef nonnull %.str.11.sink2933, i32 noundef %4442, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.7, i32 noundef 345, ptr noundef %4444, ptr noundef %4446, ptr noundef %4448, i32 noundef %4449) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4451:                                             ; preds = %4423
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %41) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(6) %41, ptr noundef nonnull align 1 dereferenceable(6) @__const.main.record_bytes, i64 6, i1 false)
  %4452 = add nsw i32 %4397, 3
  store i32 %4452, ptr @test_count, align 4, !tbaa !5
  %4453 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %38, ptr noundef nonnull %41, i32 noundef 6) #11
  %4454 = icmp eq i32 %4453, -1
  br i1 %4454, label %4455, label %4477

4455:                                             ; preds = %4451
  %4456 = load i32, ptr %1288, align 4, !tbaa !5
  %4457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4458 = call i32 @s2n_print_stacktrace(ptr noundef %4457) #11
  %4459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4460 = trunc nuw i8 %4459 to i1
  br i1 %4460, label %4461, label %4465

4461:                                             ; preds = %4455
  %4462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4463 = call i32 @fileno(ptr noundef %4462) #11
  %4464 = call i32 @isatty(i32 noundef %4463) #11
  %.not1386 = icmp eq i32 %4464, 0
  br i1 %.not1386, label %4465, label %4466

4465:                                             ; preds = %4461, %4455
  br label %4466

4466:                                             ; preds = %4461, %4465
  %.str.11.sink2942 = phi ptr [ @.str.11, %4465 ], [ @.str.8, %4461 ]
  store i32 %4456, ptr %1288, align 4, !tbaa !5
  %4467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4468 = load i32, ptr @test_count, align 4, !tbaa !5
  %4469 = load i32, ptr %1234, align 4, !tbaa !5
  %4470 = call ptr @s2n_strerror(i32 noundef %4469, ptr noundef nonnull @.str.10) #11
  %4471 = load i32, ptr %1234, align 4, !tbaa !5
  %4472 = call ptr @s2n_strerror_debug(i32 noundef %4471, ptr noundef nonnull @.str.10) #11
  %4473 = load i32, ptr %1288, align 4, !tbaa !5
  %4474 = call ptr @strerror(i32 noundef %4473) #11
  %4475 = load i32, ptr %1288, align 4, !tbaa !5
  %4476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4467, ptr noundef nonnull %.str.11.sink2942, i32 noundef %4468, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.7, i32 noundef 360, ptr noundef %4470, ptr noundef %4472, ptr noundef %4474, i32 noundef %4475) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4477:                                             ; preds = %4451
  %4478 = load i32, ptr @test_count, align 4, !tbaa !5
  %4479 = add nsw i32 %4478, 1
  store i32 %4479, ptr @test_count, align 4, !tbaa !5
  %4480 = load ptr, ptr %37, align 8, !tbaa !9
  %4481 = call i32 @s2n_shutdown(ptr noundef %4480, ptr noundef nonnull %40)
  %4482 = icmp eq i32 %4481, -1
  br i1 %4482, label %4505, label %4483

4483:                                             ; preds = %4477
  %4484 = load i32, ptr %1288, align 4, !tbaa !5
  %4485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4486 = call i32 @s2n_print_stacktrace(ptr noundef %4485) #11
  %4487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4488 = trunc nuw i8 %4487 to i1
  br i1 %4488, label %4489, label %4493

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

4493:                                             ; preds = %4489, %4483
  br label %4494

4494:                                             ; preds = %4489, %4493
  %.str.11.sink2951 = phi ptr [ @.str.11, %4493 ], [ @.str.8, %4489 ]
  store i32 %4484, ptr %1288, align 4, !tbaa !5
  %4495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4496 = load i32, ptr @test_count, align 4, !tbaa !5
  %4497 = load i32, ptr %1234, align 4, !tbaa !5
  %4498 = call ptr @s2n_strerror(i32 noundef %4497, ptr noundef nonnull @.str.10) #11
  %4499 = load i32, ptr %1234, align 4, !tbaa !5
  %4500 = call ptr @s2n_strerror_debug(i32 noundef %4499, ptr noundef nonnull @.str.10) #11
  %4501 = load i32, ptr %1288, align 4, !tbaa !5
  %4502 = call ptr @strerror(i32 noundef %4501) #11
  %4503 = load i32, ptr %1288, align 4, !tbaa !5
  %4504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4495, ptr noundef nonnull %.str.11.sink2951, i32 noundef %4496, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.7, i32 noundef 361, ptr noundef %4498, ptr noundef %4500, ptr noundef %4502, i32 noundef %4503) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4505:                                             ; preds = %4477
  %4506 = load i32, ptr @test_count, align 4, !tbaa !5
  %4507 = add nsw i32 %4506, 1
  store i32 %4507, ptr @test_count, align 4, !tbaa !5
  %4508 = load i32, ptr %1234, align 4, !tbaa !5
  %4509 = icmp eq i32 %4508, 201326592
  br i1 %4509, label %4532, label %4510

4510:                                             ; preds = %4505
  %4511 = load i32, ptr %1288, align 4, !tbaa !5
  %4512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4513 = call i32 @s2n_print_stacktrace(ptr noundef %4512) #11
  %4514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4515 = trunc nuw i8 %4514 to i1
  br i1 %4515, label %4516, label %4520

4516:                                             ; preds = %4510
  %4517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4518 = call i32 @fileno(ptr noundef %4517) #11
  %4519 = call i32 @isatty(i32 noundef %4518) #11
  %.not1093 = icmp eq i32 %4519, 0
  br i1 %.not1093, label %4520, label %4521

4520:                                             ; preds = %4516, %4510
  br label %4521

4521:                                             ; preds = %4516, %4520
  %.str.11.sink2960 = phi ptr [ @.str.11, %4520 ], [ @.str.8, %4516 ]
  store i32 %4511, ptr %1288, align 4, !tbaa !5
  %4522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4523 = load i32, ptr @test_count, align 4, !tbaa !5
  %4524 = load i32, ptr %1234, align 4, !tbaa !5
  %4525 = call ptr @s2n_strerror(i32 noundef %4524, ptr noundef nonnull @.str.10) #11
  %4526 = load i32, ptr %1234, align 4, !tbaa !5
  %4527 = call ptr @s2n_strerror_debug(i32 noundef %4526, ptr noundef nonnull @.str.10) #11
  %4528 = load i32, ptr %1288, align 4, !tbaa !5
  %4529 = call ptr @strerror(i32 noundef %4528) #11
  %4530 = load i32, ptr %1288, align 4, !tbaa !5
  %4531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4522, ptr noundef nonnull %.str.11.sink2960, i32 noundef %4523, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.7, i32 noundef 361, ptr noundef %4525, ptr noundef %4527, ptr noundef %4529, i32 noundef %4530) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4532:                                             ; preds = %4505
  %4533 = add nsw i32 %4506, 2
  store i32 %4533, ptr @test_count, align 4, !tbaa !5
  %4534 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %4535 = icmp eq ptr %4534, null
  br i1 %4535, label %4536, label %4558

4536:                                             ; preds = %4532
  %4537 = load i32, ptr %1288, align 4, !tbaa !5
  %4538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4539 = call i32 @s2n_print_stacktrace(ptr noundef %4538) #11
  %4540 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4541 = trunc nuw i8 %4540 to i1
  br i1 %4541, label %4542, label %4546

4542:                                             ; preds = %4536
  %4543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4544 = call i32 @fileno(ptr noundef %4543) #11
  %4545 = call i32 @isatty(i32 noundef %4544) #11
  %.not1385 = icmp eq i32 %4545, 0
  br i1 %.not1385, label %4546, label %4547

4546:                                             ; preds = %4542, %4536
  br label %4547

4547:                                             ; preds = %4542, %4546
  %.str.11.sink2969 = phi ptr [ @.str.11, %4546 ], [ @.str.8, %4542 ]
  store i32 %4537, ptr %1288, align 4, !tbaa !5
  %4548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4549 = load i32, ptr @test_count, align 4, !tbaa !5
  %4550 = load i32, ptr %1234, align 4, !tbaa !5
  %4551 = call ptr @s2n_strerror(i32 noundef %4550, ptr noundef nonnull @.str.10) #11
  %4552 = load i32, ptr %1234, align 4, !tbaa !5
  %4553 = call ptr @s2n_strerror_debug(i32 noundef %4552, ptr noundef nonnull @.str.10) #11
  %4554 = load i32, ptr %1288, align 4, !tbaa !5
  %4555 = call ptr @strerror(i32 noundef %4554) #11
  %4556 = load i32, ptr %1288, align 4, !tbaa !5
  %4557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4548, ptr noundef nonnull %.str.11.sink2969, i32 noundef %4549, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 361, ptr noundef %4551, ptr noundef %4553, ptr noundef %4555, i32 noundef %4556) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4558:                                             ; preds = %4532
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %4559 = load i32, ptr @test_count, align 4, !tbaa !5
  %4560 = add nsw i32 %4559, 1
  store i32 %4560, ptr @test_count, align 4, !tbaa !5
  %4561 = load i32, ptr %40, align 4, !tbaa !5
  %4562 = icmp eq i32 %4561, 1
  br i1 %4562, label %4585, label %4563

4563:                                             ; preds = %4558
  %4564 = load i32, ptr %1288, align 4, !tbaa !5
  %4565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4566 = call i32 @s2n_print_stacktrace(ptr noundef %4565) #11
  %4567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4568 = trunc nuw i8 %4567 to i1
  br i1 %4568, label %4569, label %4573

4569:                                             ; preds = %4563
  %4570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4571 = call i32 @fileno(ptr noundef %4570) #11
  %4572 = call i32 @isatty(i32 noundef %4571) #11
  %.not1094 = icmp eq i32 %4572, 0
  br i1 %.not1094, label %4573, label %4574

4573:                                             ; preds = %4569, %4563
  br label %4574

4574:                                             ; preds = %4569, %4573
  %.str.11.sink2978 = phi ptr [ @.str.11, %4573 ], [ @.str.8, %4569 ]
  store i32 %4564, ptr %1288, align 4, !tbaa !5
  %4575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4576 = load i32, ptr @test_count, align 4, !tbaa !5
  %4577 = load i32, ptr %1234, align 4, !tbaa !5
  %4578 = call ptr @s2n_strerror(i32 noundef %4577, ptr noundef nonnull @.str.10) #11
  %4579 = load i32, ptr %1234, align 4, !tbaa !5
  %4580 = call ptr @s2n_strerror_debug(i32 noundef %4579, ptr noundef nonnull @.str.10) #11
  %4581 = load i32, ptr %1288, align 4, !tbaa !5
  %4582 = call ptr @strerror(i32 noundef %4581) #11
  %4583 = load i32, ptr %1288, align 4, !tbaa !5
  %4584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4575, ptr noundef nonnull %.str.11.sink2978, i32 noundef %4576, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.7, i32 noundef 362, ptr noundef %4578, ptr noundef %4580, ptr noundef %4582, i32 noundef %4583) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4585:                                             ; preds = %4558
  %4586 = add nsw i32 %4559, 2
  store i32 %4586, ptr @test_count, align 4, !tbaa !5
  %4587 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %38, ptr noundef nonnull %4, i32 noundef 5) #11
  %4588 = icmp eq i32 %4587, -1
  br i1 %4588, label %4589, label %4611

4589:                                             ; preds = %4585
  %4590 = load i32, ptr %1288, align 4, !tbaa !5
  %4591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4592 = call i32 @s2n_print_stacktrace(ptr noundef %4591) #11
  %4593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4594 = trunc nuw i8 %4593 to i1
  br i1 %4594, label %4595, label %4599

4595:                                             ; preds = %4589
  %4596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4597 = call i32 @fileno(ptr noundef %4596) #11
  %4598 = call i32 @isatty(i32 noundef %4597) #11
  %.not1384 = icmp eq i32 %4598, 0
  br i1 %.not1384, label %4599, label %4600

4599:                                             ; preds = %4595, %4589
  br label %4600

4600:                                             ; preds = %4595, %4599
  %.str.11.sink2987 = phi ptr [ @.str.11, %4599 ], [ @.str.8, %4595 ]
  store i32 %4590, ptr %1288, align 4, !tbaa !5
  %4601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4602 = load i32, ptr @test_count, align 4, !tbaa !5
  %4603 = load i32, ptr %1234, align 4, !tbaa !5
  %4604 = call ptr @s2n_strerror(i32 noundef %4603, ptr noundef nonnull @.str.10) #11
  %4605 = load i32, ptr %1234, align 4, !tbaa !5
  %4606 = call ptr @s2n_strerror_debug(i32 noundef %4605, ptr noundef nonnull @.str.10) #11
  %4607 = load i32, ptr %1288, align 4, !tbaa !5
  %4608 = call ptr @strerror(i32 noundef %4607) #11
  %4609 = load i32, ptr %1288, align 4, !tbaa !5
  %4610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4601, ptr noundef nonnull %.str.11.sink2987, i32 noundef %4602, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.7, i32 noundef 365, ptr noundef %4604, ptr noundef %4606, ptr noundef %4608, i32 noundef %4609) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4611:                                             ; preds = %4585
  %4612 = load i32, ptr @test_count, align 4, !tbaa !5
  %4613 = add nsw i32 %4612, 1
  store i32 %4613, ptr @test_count, align 4, !tbaa !5
  %4614 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %38, ptr noundef nonnull %3, i32 noundef 2) #11
  %4615 = icmp eq i32 %4614, -1
  br i1 %4615, label %4616, label %4638

4616:                                             ; preds = %4611
  %4617 = load i32, ptr %1288, align 4, !tbaa !5
  %4618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4619 = call i32 @s2n_print_stacktrace(ptr noundef %4618) #11
  %4620 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4621 = trunc nuw i8 %4620 to i1
  br i1 %4621, label %4622, label %4626

4622:                                             ; preds = %4616
  %4623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4624 = call i32 @fileno(ptr noundef %4623) #11
  %4625 = call i32 @isatty(i32 noundef %4624) #11
  %.not1383 = icmp eq i32 %4625, 0
  br i1 %.not1383, label %4626, label %4627

4626:                                             ; preds = %4622, %4616
  br label %4627

4627:                                             ; preds = %4622, %4626
  %.str.11.sink2996 = phi ptr [ @.str.11, %4626 ], [ @.str.8, %4622 ]
  store i32 %4617, ptr %1288, align 4, !tbaa !5
  %4628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4629 = load i32, ptr @test_count, align 4, !tbaa !5
  %4630 = load i32, ptr %1234, align 4, !tbaa !5
  %4631 = call ptr @s2n_strerror(i32 noundef %4630, ptr noundef nonnull @.str.10) #11
  %4632 = load i32, ptr %1234, align 4, !tbaa !5
  %4633 = call ptr @s2n_strerror_debug(i32 noundef %4632, ptr noundef nonnull @.str.10) #11
  %4634 = load i32, ptr %1288, align 4, !tbaa !5
  %4635 = call ptr @strerror(i32 noundef %4634) #11
  %4636 = load i32, ptr %1288, align 4, !tbaa !5
  %4637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4628, ptr noundef nonnull %.str.11.sink2996, i32 noundef %4629, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.7, i32 noundef 366, ptr noundef %4631, ptr noundef %4633, ptr noundef %4635, i32 noundef %4636) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4638:                                             ; preds = %4611
  %4639 = load i32, ptr @test_count, align 4, !tbaa !5
  %4640 = add nsw i32 %4639, 1
  store i32 %4640, ptr @test_count, align 4, !tbaa !5
  %4641 = load ptr, ptr %37, align 8, !tbaa !9
  %4642 = call i32 @s2n_shutdown(ptr noundef %4641, ptr noundef nonnull %40)
  %4643 = icmp eq i32 %4642, -1
  br i1 %4643, label %4644, label %4666

4644:                                             ; preds = %4638
  %4645 = load i32, ptr %1288, align 4, !tbaa !5
  %4646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4647 = call i32 @s2n_print_stacktrace(ptr noundef %4646) #11
  %4648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4649 = trunc nuw i8 %4648 to i1
  br i1 %4649, label %4650, label %4654

4650:                                             ; preds = %4644
  %4651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4652 = call i32 @fileno(ptr noundef %4651) #11
  %4653 = call i32 @isatty(i32 noundef %4652) #11
  %.not1382 = icmp eq i32 %4653, 0
  br i1 %.not1382, label %4654, label %4655

4654:                                             ; preds = %4650, %4644
  br label %4655

4655:                                             ; preds = %4650, %4654
  %.str.11.sink3005 = phi ptr [ @.str.11, %4654 ], [ @.str.8, %4650 ]
  store i32 %4645, ptr %1288, align 4, !tbaa !5
  %4656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4657 = load i32, ptr @test_count, align 4, !tbaa !5
  %4658 = load i32, ptr %1234, align 4, !tbaa !5
  %4659 = call ptr @s2n_strerror(i32 noundef %4658, ptr noundef nonnull @.str.10) #11
  %4660 = load i32, ptr %1234, align 4, !tbaa !5
  %4661 = call ptr @s2n_strerror_debug(i32 noundef %4660, ptr noundef nonnull @.str.10) #11
  %4662 = load i32, ptr %1288, align 4, !tbaa !5
  %4663 = call ptr @strerror(i32 noundef %4662) #11
  %4664 = load i32, ptr %1288, align 4, !tbaa !5
  %4665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4656, ptr noundef nonnull %.str.11.sink3005, i32 noundef %4657, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.7, i32 noundef 367, ptr noundef %4659, ptr noundef %4661, ptr noundef %4663, i32 noundef %4664) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4666:                                             ; preds = %4638
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %41) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #11
  %4667 = call i32 @s2n_stuffer_free(ptr noundef nonnull %39) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %39) #11
  %4668 = call i32 @s2n_stuffer_free(ptr noundef nonnull %38) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %38) #11
  %4669 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %37) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #11
  %4670 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %4670, ptr %42, align 8, !tbaa !9
  %4671 = load i32, ptr @test_count, align 4, !tbaa !5
  %4672 = add nsw i32 %4671, 1
  store i32 %4672, ptr @test_count, align 4, !tbaa !5
  %4673 = icmp eq ptr %4670, null
  br i1 %4673, label %4674, label %4696

4674:                                             ; preds = %4666
  %4675 = load i32, ptr %1288, align 4, !tbaa !5
  %4676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4677 = call i32 @s2n_print_stacktrace(ptr noundef %4676) #11
  %4678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4679 = trunc nuw i8 %4678 to i1
  br i1 %4679, label %4680, label %4684

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

4684:                                             ; preds = %4680, %4674
  br label %4685

4685:                                             ; preds = %4680, %4684
  %.str.11.sink3014 = phi ptr [ @.str.11, %4684 ], [ @.str.8, %4680 ]
  store i32 %4675, ptr %1288, align 4, !tbaa !5
  %4686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4687 = load i32, ptr @test_count, align 4, !tbaa !5
  %4688 = load i32, ptr %1234, align 4, !tbaa !5
  %4689 = call ptr @s2n_strerror(i32 noundef %4688, ptr noundef nonnull @.str.10) #11
  %4690 = load i32, ptr %1234, align 4, !tbaa !5
  %4691 = call ptr @s2n_strerror_debug(i32 noundef %4690, ptr noundef nonnull @.str.10) #11
  %4692 = load i32, ptr %1288, align 4, !tbaa !5
  %4693 = call ptr @strerror(i32 noundef %4692) #11
  %4694 = load i32, ptr %1288, align 4, !tbaa !5
  %4695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4686, ptr noundef nonnull %.str.11.sink3014, i32 noundef %4687, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.7, i32 noundef 374, ptr noundef %4689, ptr noundef %4691, ptr noundef %4693, i32 noundef %4694) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4696:                                             ; preds = %4666
  %4697 = add nsw i32 %4671, 2
  store i32 %4697, ptr @test_count, align 4, !tbaa !5
  %4698 = call i32 @s2n_skip_handshake(ptr noundef nonnull %4670) #11
  %4699 = call zeroext i1 @s2n_result_is_ok(i32 %4698)
  br i1 %4699, label %4722, label %4700

4700:                                             ; preds = %4696
  %4701 = load i32, ptr %1288, align 4, !tbaa !5
  %4702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4703 = call i32 @s2n_print_stacktrace(ptr noundef %4702) #11
  %4704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4705 = trunc nuw i8 %4704 to i1
  br i1 %4705, label %4706, label %4710

4706:                                             ; preds = %4700
  %4707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4708 = call i32 @fileno(ptr noundef %4707) #11
  %4709 = call i32 @isatty(i32 noundef %4708) #11
  %.not1095 = icmp eq i32 %4709, 0
  br i1 %.not1095, label %4710, label %4711

4710:                                             ; preds = %4706, %4700
  br label %4711

4711:                                             ; preds = %4706, %4710
  %.str.11.sink3023 = phi ptr [ @.str.11, %4710 ], [ @.str.8, %4706 ]
  store i32 %4701, ptr %1288, align 4, !tbaa !5
  %4712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4713 = load i32, ptr @test_count, align 4, !tbaa !5
  %4714 = load i32, ptr %1234, align 4, !tbaa !5
  %4715 = call ptr @s2n_strerror(i32 noundef %4714, ptr noundef nonnull @.str.10) #11
  %4716 = load i32, ptr %1234, align 4, !tbaa !5
  %4717 = call ptr @s2n_strerror_debug(i32 noundef %4716, ptr noundef nonnull @.str.10) #11
  %4718 = load i32, ptr %1288, align 4, !tbaa !5
  %4719 = call ptr @strerror(i32 noundef %4718) #11
  %4720 = load i32, ptr %1288, align 4, !tbaa !5
  %4721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4712, ptr noundef nonnull %.str.11.sink3023, i32 noundef %4713, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.7, i32 noundef 375, ptr noundef %4715, ptr noundef %4717, ptr noundef %4719, i32 noundef %4720) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4722:                                             ; preds = %4696
  %4723 = load i32, ptr @test_count, align 4, !tbaa !5
  %4724 = add nsw i32 %4723, 1
  store i32 %4724, ptr @test_count, align 4, !tbaa !5
  %4725 = load ptr, ptr %42, align 8, !tbaa !9
  %4726 = call i32 @s2n_connection_set_blinding(ptr noundef %4725, i32 noundef 1) #11
  %4727 = icmp eq i32 %4726, -1
  br i1 %4727, label %4728, label %4750

4728:                                             ; preds = %4722
  %4729 = load i32, ptr %1288, align 4, !tbaa !5
  %4730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4731 = call i32 @s2n_print_stacktrace(ptr noundef %4730) #11
  %4732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4733 = trunc nuw i8 %4732 to i1
  br i1 %4733, label %4734, label %4738

4734:                                             ; preds = %4728
  %4735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4736 = call i32 @fileno(ptr noundef %4735) #11
  %4737 = call i32 @isatty(i32 noundef %4736) #11
  %.not1380 = icmp eq i32 %4737, 0
  br i1 %.not1380, label %4738, label %4739

4738:                                             ; preds = %4734, %4728
  br label %4739

4739:                                             ; preds = %4734, %4738
  %.str.11.sink3032 = phi ptr [ @.str.11, %4738 ], [ @.str.8, %4734 ]
  store i32 %4729, ptr %1288, align 4, !tbaa !5
  %4740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4741 = load i32, ptr @test_count, align 4, !tbaa !5
  %4742 = load i32, ptr %1234, align 4, !tbaa !5
  %4743 = call ptr @s2n_strerror(i32 noundef %4742, ptr noundef nonnull @.str.10) #11
  %4744 = load i32, ptr %1234, align 4, !tbaa !5
  %4745 = call ptr @s2n_strerror_debug(i32 noundef %4744, ptr noundef nonnull @.str.10) #11
  %4746 = load i32, ptr %1288, align 4, !tbaa !5
  %4747 = call ptr @strerror(i32 noundef %4746) #11
  %4748 = load i32, ptr %1288, align 4, !tbaa !5
  %4749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4740, ptr noundef nonnull %.str.11.sink3032, i32 noundef %4741, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.7, i32 noundef 376, ptr noundef %4743, ptr noundef %4745, ptr noundef %4747, i32 noundef %4748) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4750:                                             ; preds = %4722
  %4751 = load ptr, ptr %42, align 8, !tbaa !9
  %4752 = getelementptr inbounds i8, ptr %4751, i64 222
  store i8 1, ptr %4752, align 2, !tbaa !45
  %4753 = getelementptr inbounds i8, ptr %4751, i64 220
  store i8 34, ptr %4753, align 4, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #11
  store i32 0, ptr %43, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %44) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %44, i8 0, i64 40, i1 false)
  %4754 = load i32, ptr @test_count, align 4, !tbaa !5
  %4755 = add nsw i32 %4754, 1
  store i32 %4755, ptr @test_count, align 4, !tbaa !5
  %4756 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %44, i32 noundef 0) #11
  %4757 = icmp eq i32 %4756, -1
  br i1 %4757, label %4758, label %4780

4758:                                             ; preds = %4750
  %4759 = load i32, ptr %1288, align 4, !tbaa !5
  %4760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4761 = call i32 @s2n_print_stacktrace(ptr noundef %4760) #11
  %4762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4763 = trunc nuw i8 %4762 to i1
  br i1 %4763, label %4764, label %4768

4764:                                             ; preds = %4758
  %4765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4766 = call i32 @fileno(ptr noundef %4765) #11
  %4767 = call i32 @isatty(i32 noundef %4766) #11
  %.not1379 = icmp eq i32 %4767, 0
  br i1 %.not1379, label %4768, label %4769

4768:                                             ; preds = %4764, %4758
  br label %4769

4769:                                             ; preds = %4764, %4768
  %.str.11.sink3041 = phi ptr [ @.str.11, %4768 ], [ @.str.8, %4764 ]
  store i32 %4759, ptr %1288, align 4, !tbaa !5
  %4770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4771 = load i32, ptr @test_count, align 4, !tbaa !5
  %4772 = load i32, ptr %1234, align 4, !tbaa !5
  %4773 = call ptr @s2n_strerror(i32 noundef %4772, ptr noundef nonnull @.str.10) #11
  %4774 = load i32, ptr %1234, align 4, !tbaa !5
  %4775 = call ptr @s2n_strerror_debug(i32 noundef %4774, ptr noundef nonnull @.str.10) #11
  %4776 = load i32, ptr %1288, align 4, !tbaa !5
  %4777 = call ptr @strerror(i32 noundef %4776) #11
  %4778 = load i32, ptr %1288, align 4, !tbaa !5
  %4779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4770, ptr noundef nonnull %.str.11.sink3041, i32 noundef %4771, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.7, i32 noundef 386, ptr noundef %4773, ptr noundef %4775, ptr noundef %4777, i32 noundef %4778) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4780:                                             ; preds = %4750
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %45) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %45, i8 0, i64 40, i1 false)
  %4781 = load i32, ptr @test_count, align 4, !tbaa !5
  %4782 = add nsw i32 %4781, 1
  store i32 %4782, ptr @test_count, align 4, !tbaa !5
  %4783 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %45, i32 noundef 0) #11
  %4784 = icmp eq i32 %4783, -1
  br i1 %4784, label %4785, label %4807

4785:                                             ; preds = %4780
  %4786 = load i32, ptr %1288, align 4, !tbaa !5
  %4787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4788 = call i32 @s2n_print_stacktrace(ptr noundef %4787) #11
  %4789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4790 = trunc nuw i8 %4789 to i1
  br i1 %4790, label %4791, label %4795

4791:                                             ; preds = %4785
  %4792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4793 = call i32 @fileno(ptr noundef %4792) #11
  %4794 = call i32 @isatty(i32 noundef %4793) #11
  %.not1378 = icmp eq i32 %4794, 0
  br i1 %.not1378, label %4795, label %4796

4795:                                             ; preds = %4791, %4785
  br label %4796

4796:                                             ; preds = %4791, %4795
  %.str.11.sink3050 = phi ptr [ @.str.11, %4795 ], [ @.str.8, %4791 ]
  store i32 %4786, ptr %1288, align 4, !tbaa !5
  %4797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4798 = load i32, ptr @test_count, align 4, !tbaa !5
  %4799 = load i32, ptr %1234, align 4, !tbaa !5
  %4800 = call ptr @s2n_strerror(i32 noundef %4799, ptr noundef nonnull @.str.10) #11
  %4801 = load i32, ptr %1234, align 4, !tbaa !5
  %4802 = call ptr @s2n_strerror_debug(i32 noundef %4801, ptr noundef nonnull @.str.10) #11
  %4803 = load i32, ptr %1288, align 4, !tbaa !5
  %4804 = call ptr @strerror(i32 noundef %4803) #11
  %4805 = load i32, ptr %1288, align 4, !tbaa !5
  %4806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4797, ptr noundef nonnull %.str.11.sink3050, i32 noundef %4798, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.7, i32 noundef 388, ptr noundef %4800, ptr noundef %4802, ptr noundef %4804, i32 noundef %4805) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4807:                                             ; preds = %4780
  %4808 = load i32, ptr @test_count, align 4, !tbaa !5
  %4809 = add nsw i32 %4808, 1
  store i32 %4809, ptr @test_count, align 4, !tbaa !5
  %4810 = load ptr, ptr %42, align 8, !tbaa !9
  %4811 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %44, ptr noundef nonnull %45, ptr noundef %4810) #11
  %4812 = icmp eq i32 %4811, -1
  br i1 %4812, label %4813, label %4835

4813:                                             ; preds = %4807
  %4814 = load i32, ptr %1288, align 4, !tbaa !5
  %4815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4816 = call i32 @s2n_print_stacktrace(ptr noundef %4815) #11
  %4817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4818 = trunc nuw i8 %4817 to i1
  br i1 %4818, label %4819, label %4823

4819:                                             ; preds = %4813
  %4820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4821 = call i32 @fileno(ptr noundef %4820) #11
  %4822 = call i32 @isatty(i32 noundef %4821) #11
  %.not1377 = icmp eq i32 %4822, 0
  br i1 %.not1377, label %4823, label %4824

4823:                                             ; preds = %4819, %4813
  br label %4824

4824:                                             ; preds = %4819, %4823
  %.str.11.sink3059 = phi ptr [ @.str.11, %4823 ], [ @.str.8, %4819 ]
  store i32 %4814, ptr %1288, align 4, !tbaa !5
  %4825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4826 = load i32, ptr @test_count, align 4, !tbaa !5
  %4827 = load i32, ptr %1234, align 4, !tbaa !5
  %4828 = call ptr @s2n_strerror(i32 noundef %4827, ptr noundef nonnull @.str.10) #11
  %4829 = load i32, ptr %1234, align 4, !tbaa !5
  %4830 = call ptr @s2n_strerror_debug(i32 noundef %4829, ptr noundef nonnull @.str.10) #11
  %4831 = load i32, ptr %1288, align 4, !tbaa !5
  %4832 = call ptr @strerror(i32 noundef %4831) #11
  %4833 = load i32, ptr %1288, align 4, !tbaa !5
  %4834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4825, ptr noundef nonnull %.str.11.sink3059, i32 noundef %4826, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.7, i32 noundef 389, ptr noundef %4828, ptr noundef %4830, ptr noundef %4832, i32 noundef %4833) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4835:                                             ; preds = %4807
  call void @llvm.lifetime.start.p0(i64 5, ptr nonnull %46) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) %46, ptr noundef nonnull align 1 dereferenceable(5) @__const.main.header_bytes, i64 5, i1 false)
  %4836 = load i32, ptr @test_count, align 4, !tbaa !5
  %4837 = add nsw i32 %4836, 1
  store i32 %4837, ptr @test_count, align 4, !tbaa !5
  %4838 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %44, ptr noundef nonnull %46, i32 noundef 5) #11
  %4839 = icmp eq i32 %4838, -1
  br i1 %4839, label %4840, label %4862

4840:                                             ; preds = %4835
  %4841 = load i32, ptr %1288, align 4, !tbaa !5
  %4842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4843 = call i32 @s2n_print_stacktrace(ptr noundef %4842) #11
  %4844 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4845 = trunc nuw i8 %4844 to i1
  br i1 %4845, label %4846, label %4850

4846:                                             ; preds = %4840
  %4847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4848 = call i32 @fileno(ptr noundef %4847) #11
  %4849 = call i32 @isatty(i32 noundef %4848) #11
  %.not1376 = icmp eq i32 %4849, 0
  br i1 %.not1376, label %4850, label %4851

4850:                                             ; preds = %4846, %4840
  br label %4851

4851:                                             ; preds = %4846, %4850
  %.str.11.sink3068 = phi ptr [ @.str.11, %4850 ], [ @.str.8, %4846 ]
  store i32 %4841, ptr %1288, align 4, !tbaa !5
  %4852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4853 = load i32, ptr @test_count, align 4, !tbaa !5
  %4854 = load i32, ptr %1234, align 4, !tbaa !5
  %4855 = call ptr @s2n_strerror(i32 noundef %4854, ptr noundef nonnull @.str.10) #11
  %4856 = load i32, ptr %1234, align 4, !tbaa !5
  %4857 = call ptr @s2n_strerror_debug(i32 noundef %4856, ptr noundef nonnull @.str.10) #11
  %4858 = load i32, ptr %1288, align 4, !tbaa !5
  %4859 = call ptr @strerror(i32 noundef %4858) #11
  %4860 = load i32, ptr %1288, align 4, !tbaa !5
  %4861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4852, ptr noundef nonnull %.str.11.sink3068, i32 noundef %4853, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.7, i32 noundef 404, ptr noundef %4855, ptr noundef %4857, ptr noundef %4859, i32 noundef %4860) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4862:                                             ; preds = %4835
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %47) #11
  store i8 0, ptr %47, align 1
  %4863 = load i32, ptr @test_count, align 4, !tbaa !5
  %4864 = add nsw i32 %4863, 1
  store i32 %4864, ptr @test_count, align 4, !tbaa !5
  %4865 = load ptr, ptr %42, align 8, !tbaa !9
  %4866 = call i64 @s2n_recv(ptr noundef %4865, ptr noundef nonnull %47, i64 noundef 1, ptr noundef nonnull %43) #11
  %4867 = icmp eq i64 %4866, -1
  br i1 %4867, label %4890, label %4868

4868:                                             ; preds = %4862
  %4869 = load i32, ptr %1288, align 4, !tbaa !5
  %4870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4871 = call i32 @s2n_print_stacktrace(ptr noundef %4870) #11
  %4872 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4873 = trunc nuw i8 %4872 to i1
  br i1 %4873, label %4874, label %4878

4874:                                             ; preds = %4868
  %4875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4876 = call i32 @fileno(ptr noundef %4875) #11
  %4877 = call i32 @isatty(i32 noundef %4876) #11
  %.not1096 = icmp eq i32 %4877, 0
  br i1 %.not1096, label %4878, label %4879

4878:                                             ; preds = %4874, %4868
  br label %4879

4879:                                             ; preds = %4874, %4878
  %.str.11.sink3077 = phi ptr [ @.str.11, %4878 ], [ @.str.8, %4874 ]
  store i32 %4869, ptr %1288, align 4, !tbaa !5
  %4880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4881 = load i32, ptr @test_count, align 4, !tbaa !5
  %4882 = load i32, ptr %1234, align 4, !tbaa !5
  %4883 = call ptr @s2n_strerror(i32 noundef %4882, ptr noundef nonnull @.str.10) #11
  %4884 = load i32, ptr %1234, align 4, !tbaa !5
  %4885 = call ptr @s2n_strerror_debug(i32 noundef %4884, ptr noundef nonnull @.str.10) #11
  %4886 = load i32, ptr %1288, align 4, !tbaa !5
  %4887 = call ptr @strerror(i32 noundef %4886) #11
  %4888 = load i32, ptr %1288, align 4, !tbaa !5
  %4889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4880, ptr noundef nonnull %.str.11.sink3077, i32 noundef %4881, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.7, i32 noundef 408, ptr noundef %4883, ptr noundef %4885, ptr noundef %4887, i32 noundef %4888) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4890:                                             ; preds = %4862
  %4891 = load i32, ptr @test_count, align 4, !tbaa !5
  %4892 = add nsw i32 %4891, 1
  store i32 %4892, ptr @test_count, align 4, !tbaa !5
  %4893 = load i32, ptr %1234, align 4, !tbaa !5
  %4894 = icmp eq i32 %4893, 335544322
  br i1 %4894, label %4917, label %4895

4895:                                             ; preds = %4890
  %4896 = load i32, ptr %1288, align 4, !tbaa !5
  %4897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4898 = call i32 @s2n_print_stacktrace(ptr noundef %4897) #11
  %4899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4900 = trunc nuw i8 %4899 to i1
  br i1 %4900, label %4901, label %4905

4901:                                             ; preds = %4895
  %4902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4903 = call i32 @fileno(ptr noundef %4902) #11
  %4904 = call i32 @isatty(i32 noundef %4903) #11
  %.not1097 = icmp eq i32 %4904, 0
  br i1 %.not1097, label %4905, label %4906

4905:                                             ; preds = %4901, %4895
  br label %4906

4906:                                             ; preds = %4901, %4905
  %.str.11.sink3086 = phi ptr [ @.str.11, %4905 ], [ @.str.8, %4901 ]
  store i32 %4896, ptr %1288, align 4, !tbaa !5
  %4907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4908 = load i32, ptr @test_count, align 4, !tbaa !5
  %4909 = load i32, ptr %1234, align 4, !tbaa !5
  %4910 = call ptr @s2n_strerror(i32 noundef %4909, ptr noundef nonnull @.str.10) #11
  %4911 = load i32, ptr %1234, align 4, !tbaa !5
  %4912 = call ptr @s2n_strerror_debug(i32 noundef %4911, ptr noundef nonnull @.str.10) #11
  %4913 = load i32, ptr %1288, align 4, !tbaa !5
  %4914 = call ptr @strerror(i32 noundef %4913) #11
  %4915 = load i32, ptr %1288, align 4, !tbaa !5
  %4916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4907, ptr noundef nonnull %.str.11.sink3086, i32 noundef %4908, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.7, i32 noundef 408, ptr noundef %4910, ptr noundef %4912, ptr noundef %4914, i32 noundef %4915) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4917:                                             ; preds = %4890
  %4918 = add nsw i32 %4891, 2
  store i32 %4918, ptr @test_count, align 4, !tbaa !5
  %4919 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.10) #11
  %4920 = icmp eq ptr %4919, null
  br i1 %4920, label %4921, label %4943

4921:                                             ; preds = %4917
  %4922 = load i32, ptr %1288, align 4, !tbaa !5
  %4923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4924 = call i32 @s2n_print_stacktrace(ptr noundef %4923) #11
  %4925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4926 = trunc nuw i8 %4925 to i1
  br i1 %4926, label %4927, label %4931

4927:                                             ; preds = %4921
  %4928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4929 = call i32 @fileno(ptr noundef %4928) #11
  %4930 = call i32 @isatty(i32 noundef %4929) #11
  %.not1375 = icmp eq i32 %4930, 0
  br i1 %.not1375, label %4931, label %4932

4931:                                             ; preds = %4927, %4921
  br label %4932

4932:                                             ; preds = %4927, %4931
  %.str.11.sink3095 = phi ptr [ @.str.11, %4931 ], [ @.str.8, %4927 ]
  store i32 %4922, ptr %1288, align 4, !tbaa !5
  %4933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4934 = load i32, ptr @test_count, align 4, !tbaa !5
  %4935 = load i32, ptr %1234, align 4, !tbaa !5
  %4936 = call ptr @s2n_strerror(i32 noundef %4935, ptr noundef nonnull @.str.10) #11
  %4937 = load i32, ptr %1234, align 4, !tbaa !5
  %4938 = call ptr @s2n_strerror_debug(i32 noundef %4937, ptr noundef nonnull @.str.10) #11
  %4939 = load i32, ptr %1288, align 4, !tbaa !5
  %4940 = call ptr @strerror(i32 noundef %4939) #11
  %4941 = load i32, ptr %1288, align 4, !tbaa !5
  %4942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4933, ptr noundef nonnull %.str.11.sink3095, i32 noundef %4934, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 408, ptr noundef %4936, ptr noundef %4938, ptr noundef %4940, i32 noundef %4941) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4943:                                             ; preds = %4917
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %4944 = load i32, ptr @test_count, align 4, !tbaa !5
  %4945 = add nsw i32 %4944, 1
  store i32 %4945, ptr @test_count, align 4, !tbaa !5
  %4946 = load ptr, ptr %42, align 8, !tbaa !9
  %4947 = getelementptr inbounds i8, ptr %4946, i64 176
  %4948 = load i64, ptr %4947, align 8, !tbaa !47
  %.not1098 = icmp eq i64 %4948, 0
  br i1 %.not1098, label %4949, label %4971

4949:                                             ; preds = %4943
  %4950 = load i32, ptr %1288, align 4, !tbaa !5
  %4951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4952 = call i32 @s2n_print_stacktrace(ptr noundef %4951) #11
  %4953 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4954 = trunc nuw i8 %4953 to i1
  br i1 %4954, label %4955, label %4959

4955:                                             ; preds = %4949
  %4956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4957 = call i32 @fileno(ptr noundef %4956) #11
  %4958 = call i32 @isatty(i32 noundef %4957) #11
  %.not1099 = icmp eq i32 %4958, 0
  br i1 %.not1099, label %4959, label %4960

4959:                                             ; preds = %4955, %4949
  br label %4960

4960:                                             ; preds = %4955, %4959
  %.str.11.sink3104 = phi ptr [ @.str.11, %4959 ], [ @.str.8, %4955 ]
  store i32 %4950, ptr %1288, align 4, !tbaa !5
  %4961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4962 = load i32, ptr @test_count, align 4, !tbaa !5
  %4963 = load i32, ptr %1234, align 4, !tbaa !5
  %4964 = call ptr @s2n_strerror(i32 noundef %4963, ptr noundef nonnull @.str.10) #11
  %4965 = load i32, ptr %1234, align 4, !tbaa !5
  %4966 = call ptr @s2n_strerror_debug(i32 noundef %4965, ptr noundef nonnull @.str.10) #11
  %4967 = load i32, ptr %1288, align 4, !tbaa !5
  %4968 = call ptr @strerror(i32 noundef %4967) #11
  %4969 = load i32, ptr %1288, align 4, !tbaa !5
  %4970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4961, ptr noundef nonnull %.str.11.sink3104, i32 noundef %4962, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.7, i32 noundef 411, ptr noundef %4964, ptr noundef %4966, ptr noundef %4968, i32 noundef %4969) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4971:                                             ; preds = %4943
  %4972 = getelementptr inbounds i8, ptr %4946, i64 160
  store i64 0, ptr %4972, align 8, !tbaa !48
  %4973 = add nsw i32 %4944, 2
  store i32 %4973, ptr @test_count, align 4, !tbaa !5
  %4974 = call i32 @s2n_shutdown(ptr noundef nonnull %4946, ptr noundef nonnull %43)
  %4975 = icmp eq i32 %4974, -1
  br i1 %4975, label %4976, label %4998

4976:                                             ; preds = %4971
  %4977 = load i32, ptr %1288, align 4, !tbaa !5
  %4978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4979 = call i32 @s2n_print_stacktrace(ptr noundef %4978) #11
  %4980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4981 = trunc nuw i8 %4980 to i1
  br i1 %4981, label %4982, label %4986

4982:                                             ; preds = %4976
  %4983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4984 = call i32 @fileno(ptr noundef %4983) #11
  %4985 = call i32 @isatty(i32 noundef %4984) #11
  %.not1374 = icmp eq i32 %4985, 0
  br i1 %.not1374, label %4986, label %4987

4986:                                             ; preds = %4982, %4976
  br label %4987

4987:                                             ; preds = %4982, %4986
  %.str.11.sink3113 = phi ptr [ @.str.11, %4986 ], [ @.str.8, %4982 ]
  store i32 %4977, ptr %1288, align 4, !tbaa !5
  %4988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4989 = load i32, ptr @test_count, align 4, !tbaa !5
  %4990 = load i32, ptr %1234, align 4, !tbaa !5
  %4991 = call ptr @s2n_strerror(i32 noundef %4990, ptr noundef nonnull @.str.10) #11
  %4992 = load i32, ptr %1234, align 4, !tbaa !5
  %4993 = call ptr @s2n_strerror_debug(i32 noundef %4992, ptr noundef nonnull @.str.10) #11
  %4994 = load i32, ptr %1288, align 4, !tbaa !5
  %4995 = call ptr @strerror(i32 noundef %4994) #11
  %4996 = load i32, ptr %1288, align 4, !tbaa !5
  %4997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4988, ptr noundef nonnull %.str.11.sink3113, i32 noundef %4989, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.7, i32 noundef 415, ptr noundef %4991, ptr noundef %4993, ptr noundef %4995, i32 noundef %4996) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4998:                                             ; preds = %4971
  %4999 = load i32, ptr @test_count, align 4, !tbaa !5
  %5000 = add nsw i32 %4999, 1
  store i32 %5000, ptr @test_count, align 4, !tbaa !5
  %5001 = load ptr, ptr %42, align 8, !tbaa !9
  %5002 = getelementptr inbounds i8, ptr %5001, i64 2008
  %5003 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %5002) #11
  br i1 %5003, label %5004, label %5026

5004:                                             ; preds = %4998
  %5005 = load i32, ptr %1288, align 4, !tbaa !5
  %5006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5007 = call i32 @s2n_print_stacktrace(ptr noundef %5006) #11
  %5008 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5009 = trunc nuw i8 %5008 to i1
  br i1 %5009, label %5010, label %5014

5010:                                             ; preds = %5004
  %5011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5012 = call i32 @fileno(ptr noundef %5011) #11
  %5013 = call i32 @isatty(i32 noundef %5012) #11
  %.not1373 = icmp eq i32 %5013, 0
  br i1 %.not1373, label %5014, label %5015

5014:                                             ; preds = %5010, %5004
  br label %5015

5015:                                             ; preds = %5010, %5014
  %.str.11.sink3122 = phi ptr [ @.str.11, %5014 ], [ @.str.8, %5010 ]
  store i32 %5005, ptr %1288, align 4, !tbaa !5
  %5016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5017 = load i32, ptr @test_count, align 4, !tbaa !5
  %5018 = load i32, ptr %1234, align 4, !tbaa !5
  %5019 = call ptr @s2n_strerror(i32 noundef %5018, ptr noundef nonnull @.str.10) #11
  %5020 = load i32, ptr %1234, align 4, !tbaa !5
  %5021 = call ptr @s2n_strerror_debug(i32 noundef %5020, ptr noundef nonnull @.str.10) #11
  %5022 = load i32, ptr %1288, align 4, !tbaa !5
  %5023 = call ptr @strerror(i32 noundef %5022) #11
  %5024 = load i32, ptr %1288, align 4, !tbaa !5
  %5025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5016, ptr noundef nonnull %.str.11.sink3122, i32 noundef %5017, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.7, i32 noundef 416, ptr noundef %5019, ptr noundef %5021, ptr noundef %5023, i32 noundef %5024) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5026:                                             ; preds = %4998
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #11
  call void @llvm.lifetime.end.p0(i64 5, ptr nonnull %46) #11
  %5027 = call i32 @s2n_stuffer_free(ptr noundef nonnull %45) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %45) #11
  %5028 = call i32 @s2n_stuffer_free(ptr noundef nonnull %44) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %44) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #11
  %5029 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %42) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #11
  %5030 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %5030, ptr %48, align 8, !tbaa !9
  %5031 = load i32, ptr @test_count, align 4, !tbaa !5
  %5032 = add nsw i32 %5031, 1
  store i32 %5032, ptr @test_count, align 4, !tbaa !5
  %5033 = icmp eq ptr %5030, null
  br i1 %5033, label %5034, label %5056

5034:                                             ; preds = %5026
  %5035 = load i32, ptr %1288, align 4, !tbaa !5
  %5036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5037 = call i32 @s2n_print_stacktrace(ptr noundef %5036) #11
  %5038 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5039 = trunc nuw i8 %5038 to i1
  br i1 %5039, label %5040, label %5044

5040:                                             ; preds = %5034
  %5041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5042 = call i32 @fileno(ptr noundef %5041) #11
  %5043 = call i32 @isatty(i32 noundef %5042) #11
  %.not1372 = icmp eq i32 %5043, 0
  br i1 %.not1372, label %5044, label %5045

5044:                                             ; preds = %5040, %5034
  br label %5045

5045:                                             ; preds = %5040, %5044
  %.str.11.sink3131 = phi ptr [ @.str.11, %5044 ], [ @.str.8, %5040 ]
  store i32 %5035, ptr %1288, align 4, !tbaa !5
  %5046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5047 = load i32, ptr @test_count, align 4, !tbaa !5
  %5048 = load i32, ptr %1234, align 4, !tbaa !5
  %5049 = call ptr @s2n_strerror(i32 noundef %5048, ptr noundef nonnull @.str.10) #11
  %5050 = load i32, ptr %1234, align 4, !tbaa !5
  %5051 = call ptr @s2n_strerror_debug(i32 noundef %5050, ptr noundef nonnull @.str.10) #11
  %5052 = load i32, ptr %1288, align 4, !tbaa !5
  %5053 = call ptr @strerror(i32 noundef %5052) #11
  %5054 = load i32, ptr %1288, align 4, !tbaa !5
  %5055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5046, ptr noundef nonnull %.str.11.sink3131, i32 noundef %5047, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.7, i32 noundef 423, ptr noundef %5049, ptr noundef %5051, ptr noundef %5053, i32 noundef %5054) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5056:                                             ; preds = %5026
  %5057 = add nsw i32 %5031, 2
  store i32 %5057, ptr @test_count, align 4, !tbaa !5
  %5058 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5030, ptr noundef %233) #11
  %5059 = icmp eq i32 %5058, -1
  br i1 %5059, label %5060, label %5082

5060:                                             ; preds = %5056
  %5061 = load i32, ptr %1288, align 4, !tbaa !5
  %5062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5063 = call i32 @s2n_print_stacktrace(ptr noundef %5062) #11
  %5064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5065 = trunc nuw i8 %5064 to i1
  br i1 %5065, label %5066, label %5070

5066:                                             ; preds = %5060
  %5067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5068 = call i32 @fileno(ptr noundef %5067) #11
  %5069 = call i32 @isatty(i32 noundef %5068) #11
  %.not1371 = icmp eq i32 %5069, 0
  br i1 %.not1371, label %5070, label %5071

5070:                                             ; preds = %5066, %5060
  br label %5071

5071:                                             ; preds = %5066, %5070
  %.str.11.sink3140 = phi ptr [ @.str.11, %5070 ], [ @.str.8, %5066 ]
  store i32 %5061, ptr %1288, align 4, !tbaa !5
  %5072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5073 = load i32, ptr @test_count, align 4, !tbaa !5
  %5074 = load i32, ptr %1234, align 4, !tbaa !5
  %5075 = call ptr @s2n_strerror(i32 noundef %5074, ptr noundef nonnull @.str.10) #11
  %5076 = load i32, ptr %1234, align 4, !tbaa !5
  %5077 = call ptr @s2n_strerror_debug(i32 noundef %5076, ptr noundef nonnull @.str.10) #11
  %5078 = load i32, ptr %1288, align 4, !tbaa !5
  %5079 = call ptr @strerror(i32 noundef %5078) #11
  %5080 = load i32, ptr %1288, align 4, !tbaa !5
  %5081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5072, ptr noundef nonnull %.str.11.sink3140, i32 noundef %5073, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.7, i32 noundef 424, ptr noundef %5075, ptr noundef %5077, ptr noundef %5079, i32 noundef %5080) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5082:                                             ; preds = %5056
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #11
  %5083 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %5083, ptr %49, align 8, !tbaa !9
  %5084 = load i32, ptr @test_count, align 4, !tbaa !5
  %5085 = add nsw i32 %5084, 1
  store i32 %5085, ptr @test_count, align 4, !tbaa !5
  %5086 = icmp eq ptr %5083, null
  br i1 %5086, label %5087, label %5109

5087:                                             ; preds = %5082
  %5088 = load i32, ptr %1288, align 4, !tbaa !5
  %5089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5090 = call i32 @s2n_print_stacktrace(ptr noundef %5089) #11
  %5091 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5092 = trunc nuw i8 %5091 to i1
  br i1 %5092, label %5093, label %5097

5093:                                             ; preds = %5087
  %5094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5095 = call i32 @fileno(ptr noundef %5094) #11
  %5096 = call i32 @isatty(i32 noundef %5095) #11
  %.not1370 = icmp eq i32 %5096, 0
  br i1 %.not1370, label %5097, label %5098

5097:                                             ; preds = %5093, %5087
  br label %5098

5098:                                             ; preds = %5093, %5097
  %.str.11.sink3149 = phi ptr [ @.str.11, %5097 ], [ @.str.8, %5093 ]
  store i32 %5088, ptr %1288, align 4, !tbaa !5
  %5099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5100 = load i32, ptr @test_count, align 4, !tbaa !5
  %5101 = load i32, ptr %1234, align 4, !tbaa !5
  %5102 = call ptr @s2n_strerror(i32 noundef %5101, ptr noundef nonnull @.str.10) #11
  %5103 = load i32, ptr %1234, align 4, !tbaa !5
  %5104 = call ptr @s2n_strerror_debug(i32 noundef %5103, ptr noundef nonnull @.str.10) #11
  %5105 = load i32, ptr %1288, align 4, !tbaa !5
  %5106 = call ptr @strerror(i32 noundef %5105) #11
  %5107 = load i32, ptr %1288, align 4, !tbaa !5
  %5108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5099, ptr noundef nonnull %.str.11.sink3149, i32 noundef %5100, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.7, i32 noundef 428, ptr noundef %5102, ptr noundef %5104, ptr noundef %5106, i32 noundef %5107) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5109:                                             ; preds = %5082
  %5110 = add nsw i32 %5084, 2
  store i32 %5110, ptr @test_count, align 4, !tbaa !5
  %5111 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5083, ptr noundef %233) #11
  %5112 = icmp eq i32 %5111, -1
  br i1 %5112, label %5113, label %5135

5113:                                             ; preds = %5109
  %5114 = load i32, ptr %1288, align 4, !tbaa !5
  %5115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5116 = call i32 @s2n_print_stacktrace(ptr noundef %5115) #11
  %5117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5118 = trunc nuw i8 %5117 to i1
  br i1 %5118, label %5119, label %5123

5119:                                             ; preds = %5113
  %5120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5121 = call i32 @fileno(ptr noundef %5120) #11
  %5122 = call i32 @isatty(i32 noundef %5121) #11
  %.not1369 = icmp eq i32 %5122, 0
  br i1 %.not1369, label %5123, label %5124

5123:                                             ; preds = %5119, %5113
  br label %5124

5124:                                             ; preds = %5119, %5123
  %.str.11.sink3158 = phi ptr [ @.str.11, %5123 ], [ @.str.8, %5119 ]
  store i32 %5114, ptr %1288, align 4, !tbaa !5
  %5125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5126 = load i32, ptr @test_count, align 4, !tbaa !5
  %5127 = load i32, ptr %1234, align 4, !tbaa !5
  %5128 = call ptr @s2n_strerror(i32 noundef %5127, ptr noundef nonnull @.str.10) #11
  %5129 = load i32, ptr %1234, align 4, !tbaa !5
  %5130 = call ptr @s2n_strerror_debug(i32 noundef %5129, ptr noundef nonnull @.str.10) #11
  %5131 = load i32, ptr %1288, align 4, !tbaa !5
  %5132 = call ptr @strerror(i32 noundef %5131) #11
  %5133 = load i32, ptr %1288, align 4, !tbaa !5
  %5134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5125, ptr noundef nonnull %.str.11.sink3158, i32 noundef %5126, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.7, i32 noundef 429, ptr noundef %5128, ptr noundef %5130, ptr noundef %5132, i32 noundef %5133) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5135:                                             ; preds = %5109
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %50) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %50, i8 0, i64 80, i1 false)
  %5136 = load i32, ptr @test_count, align 4, !tbaa !5
  %5137 = add nsw i32 %5136, 1
  store i32 %5137, ptr @test_count, align 4, !tbaa !5
  %5138 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %50) #11
  %5139 = call zeroext i1 @s2n_result_is_ok(i32 %5138)
  br i1 %5139, label %5162, label %5140

5140:                                             ; preds = %5135
  %5141 = load i32, ptr %1288, align 4, !tbaa !5
  %5142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5143 = call i32 @s2n_print_stacktrace(ptr noundef %5142) #11
  %5144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5145 = trunc nuw i8 %5144 to i1
  br i1 %5145, label %5146, label %5150

5146:                                             ; preds = %5140
  %5147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5148 = call i32 @fileno(ptr noundef %5147) #11
  %5149 = call i32 @isatty(i32 noundef %5148) #11
  %.not1100 = icmp eq i32 %5149, 0
  br i1 %.not1100, label %5150, label %5151

5150:                                             ; preds = %5146, %5140
  br label %5151

5151:                                             ; preds = %5146, %5150
  %.str.11.sink3167 = phi ptr [ @.str.11, %5150 ], [ @.str.8, %5146 ]
  store i32 %5141, ptr %1288, align 4, !tbaa !5
  %5152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5153 = load i32, ptr @test_count, align 4, !tbaa !5
  %5154 = load i32, ptr %1234, align 4, !tbaa !5
  %5155 = call ptr @s2n_strerror(i32 noundef %5154, ptr noundef nonnull @.str.10) #11
  %5156 = load i32, ptr %1234, align 4, !tbaa !5
  %5157 = call ptr @s2n_strerror_debug(i32 noundef %5156, ptr noundef nonnull @.str.10) #11
  %5158 = load i32, ptr %1288, align 4, !tbaa !5
  %5159 = call ptr @strerror(i32 noundef %5158) #11
  %5160 = load i32, ptr %1288, align 4, !tbaa !5
  %5161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5152, ptr noundef nonnull %.str.11.sink3167, i32 noundef %5153, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.7, i32 noundef 433, ptr noundef %5155, ptr noundef %5157, ptr noundef %5159, i32 noundef %5160) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5162:                                             ; preds = %5135
  %5163 = load i32, ptr @test_count, align 4, !tbaa !5
  %5164 = add nsw i32 %5163, 1
  store i32 %5164, ptr @test_count, align 4, !tbaa !5
  %5165 = load ptr, ptr %48, align 8, !tbaa !9
  %5166 = load ptr, ptr %49, align 8, !tbaa !9
  %5167 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %5165, ptr noundef %5166, ptr noundef nonnull %50) #11
  %5168 = call zeroext i1 @s2n_result_is_ok(i32 %5167)
  br i1 %5168, label %5191, label %5169

5169:                                             ; preds = %5162
  %5170 = load i32, ptr %1288, align 4, !tbaa !5
  %5171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5172 = call i32 @s2n_print_stacktrace(ptr noundef %5171) #11
  %5173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5174 = trunc nuw i8 %5173 to i1
  br i1 %5174, label %5175, label %5179

5175:                                             ; preds = %5169
  %5176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5177 = call i32 @fileno(ptr noundef %5176) #11
  %5178 = call i32 @isatty(i32 noundef %5177) #11
  %.not1101 = icmp eq i32 %5178, 0
  br i1 %.not1101, label %5179, label %5180

5179:                                             ; preds = %5175, %5169
  br label %5180

5180:                                             ; preds = %5175, %5179
  %.str.11.sink3176 = phi ptr [ @.str.11, %5179 ], [ @.str.8, %5175 ]
  store i32 %5170, ptr %1288, align 4, !tbaa !5
  %5181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5182 = load i32, ptr @test_count, align 4, !tbaa !5
  %5183 = load i32, ptr %1234, align 4, !tbaa !5
  %5184 = call ptr @s2n_strerror(i32 noundef %5183, ptr noundef nonnull @.str.10) #11
  %5185 = load i32, ptr %1234, align 4, !tbaa !5
  %5186 = call ptr @s2n_strerror_debug(i32 noundef %5185, ptr noundef nonnull @.str.10) #11
  %5187 = load i32, ptr %1288, align 4, !tbaa !5
  %5188 = call ptr @strerror(i32 noundef %5187) #11
  %5189 = load i32, ptr %1288, align 4, !tbaa !5
  %5190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5181, ptr noundef nonnull %.str.11.sink3176, i32 noundef %5182, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.7, i32 noundef 434, ptr noundef %5184, ptr noundef %5186, ptr noundef %5188, i32 noundef %5189) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5191:                                             ; preds = %5162
  %5192 = load i32, ptr @test_count, align 4, !tbaa !5
  %5193 = add nsw i32 %5192, 1
  store i32 %5193, ptr @test_count, align 4, !tbaa !5
  %5194 = load ptr, ptr %49, align 8, !tbaa !9
  %5195 = load ptr, ptr %48, align 8, !tbaa !9
  %5196 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5194, ptr noundef %5195) #11
  %5197 = icmp eq i32 %5196, -1
  br i1 %5197, label %5198, label %5220

5198:                                             ; preds = %5191
  %5199 = load i32, ptr %1288, align 4, !tbaa !5
  %5200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5201 = call i32 @s2n_print_stacktrace(ptr noundef %5200) #11
  %5202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5203 = trunc nuw i8 %5202 to i1
  br i1 %5203, label %5204, label %5208

5204:                                             ; preds = %5198
  %5205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5206 = call i32 @fileno(ptr noundef %5205) #11
  %5207 = call i32 @isatty(i32 noundef %5206) #11
  %.not1368 = icmp eq i32 %5207, 0
  br i1 %.not1368, label %5208, label %5209

5208:                                             ; preds = %5204, %5198
  br label %5209

5209:                                             ; preds = %5204, %5208
  %.str.11.sink3185 = phi ptr [ @.str.11, %5208 ], [ @.str.8, %5204 ]
  store i32 %5199, ptr %1288, align 4, !tbaa !5
  %5210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5211 = load i32, ptr @test_count, align 4, !tbaa !5
  %5212 = load i32, ptr %1234, align 4, !tbaa !5
  %5213 = call ptr @s2n_strerror(i32 noundef %5212, ptr noundef nonnull @.str.10) #11
  %5214 = load i32, ptr %1234, align 4, !tbaa !5
  %5215 = call ptr @s2n_strerror_debug(i32 noundef %5214, ptr noundef nonnull @.str.10) #11
  %5216 = load i32, ptr %1288, align 4, !tbaa !5
  %5217 = call ptr @strerror(i32 noundef %5216) #11
  %5218 = load i32, ptr %1288, align 4, !tbaa !5
  %5219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5210, ptr noundef nonnull %.str.11.sink3185, i32 noundef %5211, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.7, i32 noundef 435, ptr noundef %5213, ptr noundef %5215, ptr noundef %5217, i32 noundef %5218) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5220:                                             ; preds = %5191
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %51) #11
  store i32 0, ptr %51, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %52) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %52, ptr noundef nonnull align 1 dereferenceable(12) @__const.main.test_data, i64 12, i1 false)
  %5221 = load i32, ptr @test_count, align 4, !tbaa !5
  %5222 = add nsw i32 %5221, 1
  store i32 %5222, ptr @test_count, align 4, !tbaa !5
  %5223 = load ptr, ptr %48, align 8, !tbaa !9
  %5224 = call i64 @s2n_send(ptr noundef %5223, ptr noundef nonnull %52, i64 noundef 12, ptr noundef nonnull %51) #11
  %5225 = icmp eq i64 %5224, 12
  br i1 %5225, label %5248, label %5226

5226:                                             ; preds = %5220
  %5227 = load i32, ptr %1288, align 4, !tbaa !5
  %5228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5229 = call i32 @s2n_print_stacktrace(ptr noundef %5228) #11
  %5230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5231 = trunc nuw i8 %5230 to i1
  br i1 %5231, label %5232, label %5236

5232:                                             ; preds = %5226
  %5233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5234 = call i32 @fileno(ptr noundef %5233) #11
  %5235 = call i32 @isatty(i32 noundef %5234) #11
  %.not1102 = icmp eq i32 %5235, 0
  br i1 %.not1102, label %5236, label %5237

5236:                                             ; preds = %5232, %5226
  br label %5237

5237:                                             ; preds = %5232, %5236
  %.str.11.sink3194 = phi ptr [ @.str.11, %5236 ], [ @.str.8, %5232 ]
  store i32 %5227, ptr %1288, align 4, !tbaa !5
  %5238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5239 = load i32, ptr @test_count, align 4, !tbaa !5
  %5240 = load i32, ptr %1234, align 4, !tbaa !5
  %5241 = call ptr @s2n_strerror(i32 noundef %5240, ptr noundef nonnull @.str.10) #11
  %5242 = load i32, ptr %1234, align 4, !tbaa !5
  %5243 = call ptr @s2n_strerror_debug(i32 noundef %5242, ptr noundef nonnull @.str.10) #11
  %5244 = load i32, ptr %1288, align 4, !tbaa !5
  %5245 = call ptr @strerror(i32 noundef %5244) #11
  %5246 = load i32, ptr %1288, align 4, !tbaa !5
  %5247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5238, ptr noundef nonnull %.str.11.sink3194, i32 noundef %5239, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.7, i32 noundef 441, ptr noundef %5241, ptr noundef %5243, ptr noundef %5245, i32 noundef %5246) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5248:                                             ; preds = %5220
  %5249 = getelementptr inbounds i8, ptr %50, i64 68
  %5250 = load i32, ptr %5249, align 4, !tbaa !49
  %5251 = add i32 %5250, -1
  store i32 %5251, ptr %5249, align 4, !tbaa !49
  %5252 = load i32, ptr @test_count, align 4, !tbaa !5
  %5253 = add nsw i32 %5252, 1
  store i32 %5253, ptr @test_count, align 4, !tbaa !5
  %5254 = load ptr, ptr %49, align 8, !tbaa !9
  %5255 = call i64 @s2n_recv(ptr noundef %5254, ptr noundef nonnull %52, i64 noundef 12, ptr noundef nonnull %51) #11
  %5256 = icmp eq i64 %5255, -1
  br i1 %5256, label %5279, label %5257

5257:                                             ; preds = %5248
  %5258 = load i32, ptr %1288, align 4, !tbaa !5
  %5259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5260 = call i32 @s2n_print_stacktrace(ptr noundef %5259) #11
  %5261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5262 = trunc nuw i8 %5261 to i1
  br i1 %5262, label %5263, label %5267

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

5267:                                             ; preds = %5263, %5257
  br label %5268

5268:                                             ; preds = %5263, %5267
  %.str.11.sink3203 = phi ptr [ @.str.11, %5267 ], [ @.str.8, %5263 ]
  store i32 %5258, ptr %1288, align 4, !tbaa !5
  %5269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5270 = load i32, ptr @test_count, align 4, !tbaa !5
  %5271 = load i32, ptr %1234, align 4, !tbaa !5
  %5272 = call ptr @s2n_strerror(i32 noundef %5271, ptr noundef nonnull @.str.10) #11
  %5273 = load i32, ptr %1234, align 4, !tbaa !5
  %5274 = call ptr @s2n_strerror_debug(i32 noundef %5273, ptr noundef nonnull @.str.10) #11
  %5275 = load i32, ptr %1288, align 4, !tbaa !5
  %5276 = call ptr @strerror(i32 noundef %5275) #11
  %5277 = load i32, ptr %1288, align 4, !tbaa !5
  %5278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5269, ptr noundef nonnull %.str.11.sink3203, i32 noundef %5270, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.7, i32 noundef 446, ptr noundef %5272, ptr noundef %5274, ptr noundef %5276, i32 noundef %5277) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5279:                                             ; preds = %5248
  %5280 = load i32, ptr @test_count, align 4, !tbaa !5
  %5281 = add nsw i32 %5280, 1
  store i32 %5281, ptr @test_count, align 4, !tbaa !5
  %5282 = load i32, ptr %1234, align 4, !tbaa !5
  %5283 = icmp eq i32 %5282, 201326592
  br i1 %5283, label %5306, label %5284

5284:                                             ; preds = %5279
  %5285 = load i32, ptr %1288, align 4, !tbaa !5
  %5286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5287 = call i32 @s2n_print_stacktrace(ptr noundef %5286) #11
  %5288 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5289 = trunc nuw i8 %5288 to i1
  br i1 %5289, label %5290, label %5294

5290:                                             ; preds = %5284
  %5291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5292 = call i32 @fileno(ptr noundef %5291) #11
  %5293 = call i32 @isatty(i32 noundef %5292) #11
  %.not1104 = icmp eq i32 %5293, 0
  br i1 %.not1104, label %5294, label %5295

5294:                                             ; preds = %5290, %5284
  br label %5295

5295:                                             ; preds = %5290, %5294
  %.str.11.sink3212 = phi ptr [ @.str.11, %5294 ], [ @.str.8, %5290 ]
  store i32 %5285, ptr %1288, align 4, !tbaa !5
  %5296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5297 = load i32, ptr @test_count, align 4, !tbaa !5
  %5298 = load i32, ptr %1234, align 4, !tbaa !5
  %5299 = call ptr @s2n_strerror(i32 noundef %5298, ptr noundef nonnull @.str.10) #11
  %5300 = load i32, ptr %1234, align 4, !tbaa !5
  %5301 = call ptr @s2n_strerror_debug(i32 noundef %5300, ptr noundef nonnull @.str.10) #11
  %5302 = load i32, ptr %1288, align 4, !tbaa !5
  %5303 = call ptr @strerror(i32 noundef %5302) #11
  %5304 = load i32, ptr %1288, align 4, !tbaa !5
  %5305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5296, ptr noundef nonnull %.str.11.sink3212, i32 noundef %5297, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.7, i32 noundef 446, ptr noundef %5299, ptr noundef %5301, ptr noundef %5303, i32 noundef %5304) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5306:                                             ; preds = %5279
  %5307 = add nsw i32 %5280, 2
  store i32 %5307, ptr @test_count, align 4, !tbaa !5
  %5308 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %5309 = icmp eq ptr %5308, null
  br i1 %5309, label %5310, label %5332

5310:                                             ; preds = %5306
  %5311 = load i32, ptr %1288, align 4, !tbaa !5
  %5312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5313 = call i32 @s2n_print_stacktrace(ptr noundef %5312) #11
  %5314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5315 = trunc nuw i8 %5314 to i1
  br i1 %5315, label %5316, label %5320

5316:                                             ; preds = %5310
  %5317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5318 = call i32 @fileno(ptr noundef %5317) #11
  %5319 = call i32 @isatty(i32 noundef %5318) #11
  %.not1367 = icmp eq i32 %5319, 0
  br i1 %.not1367, label %5320, label %5321

5320:                                             ; preds = %5316, %5310
  br label %5321

5321:                                             ; preds = %5316, %5320
  %.str.11.sink3221 = phi ptr [ @.str.11, %5320 ], [ @.str.8, %5316 ]
  store i32 %5311, ptr %1288, align 4, !tbaa !5
  %5322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5323 = load i32, ptr @test_count, align 4, !tbaa !5
  %5324 = load i32, ptr %1234, align 4, !tbaa !5
  %5325 = call ptr @s2n_strerror(i32 noundef %5324, ptr noundef nonnull @.str.10) #11
  %5326 = load i32, ptr %1234, align 4, !tbaa !5
  %5327 = call ptr @s2n_strerror_debug(i32 noundef %5326, ptr noundef nonnull @.str.10) #11
  %5328 = load i32, ptr %1288, align 4, !tbaa !5
  %5329 = call ptr @strerror(i32 noundef %5328) #11
  %5330 = load i32, ptr %1288, align 4, !tbaa !5
  %5331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5322, ptr noundef nonnull %.str.11.sink3221, i32 noundef %5323, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 446, ptr noundef %5325, ptr noundef %5327, ptr noundef %5329, i32 noundef %5330) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5332:                                             ; preds = %5306
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %5333 = load i32, ptr %5249, align 4, !tbaa !49
  %5334 = add i32 %5333, 1
  store i32 %5334, ptr %5249, align 4, !tbaa !49
  %5335 = load i32, ptr @test_count, align 4, !tbaa !5
  %5336 = add nsw i32 %5335, 1
  store i32 %5336, ptr @test_count, align 4, !tbaa !5
  %5337 = load ptr, ptr %48, align 8, !tbaa !9
  %5338 = call i32 @s2n_shutdown_send(ptr noundef %5337, ptr noundef nonnull %51)
  %5339 = icmp eq i32 %5338, -1
  br i1 %5339, label %5340, label %5362

5340:                                             ; preds = %5332
  %5341 = load i32, ptr %1288, align 4, !tbaa !5
  %5342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5343 = call i32 @s2n_print_stacktrace(ptr noundef %5342) #11
  %5344 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5345 = trunc nuw i8 %5344 to i1
  br i1 %5345, label %5346, label %5350

5346:                                             ; preds = %5340
  %5347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5348 = call i32 @fileno(ptr noundef %5347) #11
  %5349 = call i32 @isatty(i32 noundef %5348) #11
  %.not1366 = icmp eq i32 %5349, 0
  br i1 %.not1366, label %5350, label %5351

5350:                                             ; preds = %5346, %5340
  br label %5351

5351:                                             ; preds = %5346, %5350
  %.str.11.sink3230 = phi ptr [ @.str.11, %5350 ], [ @.str.8, %5346 ]
  store i32 %5341, ptr %1288, align 4, !tbaa !5
  %5352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5353 = load i32, ptr @test_count, align 4, !tbaa !5
  %5354 = load i32, ptr %1234, align 4, !tbaa !5
  %5355 = call ptr @s2n_strerror(i32 noundef %5354, ptr noundef nonnull @.str.10) #11
  %5356 = load i32, ptr %1234, align 4, !tbaa !5
  %5357 = call ptr @s2n_strerror_debug(i32 noundef %5356, ptr noundef nonnull @.str.10) #11
  %5358 = load i32, ptr %1288, align 4, !tbaa !5
  %5359 = call ptr @strerror(i32 noundef %5358) #11
  %5360 = load i32, ptr %1288, align 4, !tbaa !5
  %5361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5352, ptr noundef nonnull %.str.11.sink3230, i32 noundef %5353, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.7, i32 noundef 450, ptr noundef %5355, ptr noundef %5357, ptr noundef %5359, i32 noundef %5360) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5362:                                             ; preds = %5332
  %5363 = load i32, ptr @test_count, align 4, !tbaa !5
  %5364 = add nsw i32 %5363, 1
  store i32 %5364, ptr @test_count, align 4, !tbaa !5
  %5365 = load ptr, ptr %49, align 8, !tbaa !9
  %5366 = call i32 @s2n_shutdown(ptr noundef %5365, ptr noundef nonnull %51)
  %5367 = icmp eq i32 %5366, -1
  br i1 %5367, label %5368, label %5390

5368:                                             ; preds = %5362
  %5369 = load i32, ptr %1288, align 4, !tbaa !5
  %5370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5371 = call i32 @s2n_print_stacktrace(ptr noundef %5370) #11
  %5372 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5373 = trunc nuw i8 %5372 to i1
  br i1 %5373, label %5374, label %5378

5374:                                             ; preds = %5368
  %5375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5376 = call i32 @fileno(ptr noundef %5375) #11
  %5377 = call i32 @isatty(i32 noundef %5376) #11
  %.not1365 = icmp eq i32 %5377, 0
  br i1 %.not1365, label %5378, label %5379

5378:                                             ; preds = %5374, %5368
  br label %5379

5379:                                             ; preds = %5374, %5378
  %.str.11.sink3239 = phi ptr [ @.str.11, %5378 ], [ @.str.8, %5374 ]
  store i32 %5369, ptr %1288, align 4, !tbaa !5
  %5380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5381 = load i32, ptr @test_count, align 4, !tbaa !5
  %5382 = load i32, ptr %1234, align 4, !tbaa !5
  %5383 = call ptr @s2n_strerror(i32 noundef %5382, ptr noundef nonnull @.str.10) #11
  %5384 = load i32, ptr %1234, align 4, !tbaa !5
  %5385 = call ptr @s2n_strerror_debug(i32 noundef %5384, ptr noundef nonnull @.str.10) #11
  %5386 = load i32, ptr %1288, align 4, !tbaa !5
  %5387 = call ptr @strerror(i32 noundef %5386) #11
  %5388 = load i32, ptr %1288, align 4, !tbaa !5
  %5389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5380, ptr noundef nonnull %.str.11.sink3239, i32 noundef %5381, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.7, i32 noundef 455, ptr noundef %5383, ptr noundef %5385, ptr noundef %5387, i32 noundef %5388) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5390:                                             ; preds = %5362
  %5391 = load i32, ptr @test_count, align 4, !tbaa !5
  %5392 = add nsw i32 %5391, 1
  store i32 %5392, ptr @test_count, align 4, !tbaa !5
  %5393 = load ptr, ptr %49, align 8, !tbaa !9
  %5394 = getelementptr inbounds i8, ptr %5393, i64 2008
  %5395 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %5394) #11
  br i1 %5395, label %5418, label %5396

5396:                                             ; preds = %5390
  %5397 = load i32, ptr %1288, align 4, !tbaa !5
  %5398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5399 = call i32 @s2n_print_stacktrace(ptr noundef %5398) #11
  %5400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5401 = trunc nuw i8 %5400 to i1
  br i1 %5401, label %5402, label %5406

5402:                                             ; preds = %5396
  %5403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5404 = call i32 @fileno(ptr noundef %5403) #11
  %5405 = call i32 @isatty(i32 noundef %5404) #11
  %.not1105 = icmp eq i32 %5405, 0
  br i1 %.not1105, label %5406, label %5407

5406:                                             ; preds = %5402, %5396
  br label %5407

5407:                                             ; preds = %5402, %5406
  %.str.11.sink3248 = phi ptr [ @.str.11, %5406 ], [ @.str.8, %5402 ]
  store i32 %5397, ptr %1288, align 4, !tbaa !5
  %5408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5409 = load i32, ptr @test_count, align 4, !tbaa !5
  %5410 = load i32, ptr %1234, align 4, !tbaa !5
  %5411 = call ptr @s2n_strerror(i32 noundef %5410, ptr noundef nonnull @.str.10) #11
  %5412 = load i32, ptr %1234, align 4, !tbaa !5
  %5413 = call ptr @s2n_strerror_debug(i32 noundef %5412, ptr noundef nonnull @.str.10) #11
  %5414 = load i32, ptr %1288, align 4, !tbaa !5
  %5415 = call ptr @strerror(i32 noundef %5414) #11
  %5416 = load i32, ptr %1288, align 4, !tbaa !5
  %5417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5408, ptr noundef nonnull %.str.11.sink3248, i32 noundef %5409, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.7, i32 noundef 456, ptr noundef %5411, ptr noundef %5413, ptr noundef %5415, i32 noundef %5416) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5418:                                             ; preds = %5390
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %52) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #11
  %5419 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %50) #11
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %50) #11
  %5420 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %49) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #11
  %5421 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %48) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #11
  %5422 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %5422, ptr %53, align 8, !tbaa !9
  %5423 = load i32, ptr @test_count, align 4, !tbaa !5
  %5424 = add nsw i32 %5423, 1
  store i32 %5424, ptr @test_count, align 4, !tbaa !5
  %5425 = icmp eq ptr %5422, null
  br i1 %5425, label %5426, label %5448

5426:                                             ; preds = %5418
  %5427 = load i32, ptr %1288, align 4, !tbaa !5
  %5428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5429 = call i32 @s2n_print_stacktrace(ptr noundef %5428) #11
  %5430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5431 = trunc nuw i8 %5430 to i1
  br i1 %5431, label %5432, label %5436

5432:                                             ; preds = %5426
  %5433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5434 = call i32 @fileno(ptr noundef %5433) #11
  %5435 = call i32 @isatty(i32 noundef %5434) #11
  %.not1364 = icmp eq i32 %5435, 0
  br i1 %.not1364, label %5436, label %5437

5436:                                             ; preds = %5432, %5426
  br label %5437

5437:                                             ; preds = %5432, %5436
  %.str.11.sink3257 = phi ptr [ @.str.11, %5436 ], [ @.str.8, %5432 ]
  store i32 %5427, ptr %1288, align 4, !tbaa !5
  %5438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5439 = load i32, ptr @test_count, align 4, !tbaa !5
  %5440 = load i32, ptr %1234, align 4, !tbaa !5
  %5441 = call ptr @s2n_strerror(i32 noundef %5440, ptr noundef nonnull @.str.10) #11
  %5442 = load i32, ptr %1234, align 4, !tbaa !5
  %5443 = call ptr @s2n_strerror_debug(i32 noundef %5442, ptr noundef nonnull @.str.10) #11
  %5444 = load i32, ptr %1288, align 4, !tbaa !5
  %5445 = call ptr @strerror(i32 noundef %5444) #11
  %5446 = load i32, ptr %1288, align 4, !tbaa !5
  %5447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5438, ptr noundef nonnull %.str.11.sink3257, i32 noundef %5439, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.7, i32 noundef 463, ptr noundef %5441, ptr noundef %5443, ptr noundef %5445, i32 noundef %5446) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5448:                                             ; preds = %5418
  %5449 = add nsw i32 %5423, 2
  store i32 %5449, ptr @test_count, align 4, !tbaa !5
  %5450 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5422, ptr noundef %233) #11
  %5451 = icmp eq i32 %5450, -1
  br i1 %5451, label %5452, label %5474

5452:                                             ; preds = %5448
  %5453 = load i32, ptr %1288, align 4, !tbaa !5
  %5454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5455 = call i32 @s2n_print_stacktrace(ptr noundef %5454) #11
  %5456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5457 = trunc nuw i8 %5456 to i1
  br i1 %5457, label %5458, label %5462

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

5462:                                             ; preds = %5458, %5452
  br label %5463

5463:                                             ; preds = %5458, %5462
  %.str.11.sink3266 = phi ptr [ @.str.11, %5462 ], [ @.str.8, %5458 ]
  store i32 %5453, ptr %1288, align 4, !tbaa !5
  %5464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5465 = load i32, ptr @test_count, align 4, !tbaa !5
  %5466 = load i32, ptr %1234, align 4, !tbaa !5
  %5467 = call ptr @s2n_strerror(i32 noundef %5466, ptr noundef nonnull @.str.10) #11
  %5468 = load i32, ptr %1234, align 4, !tbaa !5
  %5469 = call ptr @s2n_strerror_debug(i32 noundef %5468, ptr noundef nonnull @.str.10) #11
  %5470 = load i32, ptr %1288, align 4, !tbaa !5
  %5471 = call ptr @strerror(i32 noundef %5470) #11
  %5472 = load i32, ptr %1288, align 4, !tbaa !5
  %5473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5464, ptr noundef nonnull %.str.11.sink3266, i32 noundef %5465, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.7, i32 noundef 464, ptr noundef %5467, ptr noundef %5469, ptr noundef %5471, i32 noundef %5472) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5474:                                             ; preds = %5448
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #11
  %5475 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %5475, ptr %54, align 8, !tbaa !9
  %5476 = load i32, ptr @test_count, align 4, !tbaa !5
  %5477 = add nsw i32 %5476, 1
  store i32 %5477, ptr @test_count, align 4, !tbaa !5
  %5478 = icmp eq ptr %5475, null
  br i1 %5478, label %5479, label %5501

5479:                                             ; preds = %5474
  %5480 = load i32, ptr %1288, align 4, !tbaa !5
  %5481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5482 = call i32 @s2n_print_stacktrace(ptr noundef %5481) #11
  %5483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5484 = trunc nuw i8 %5483 to i1
  br i1 %5484, label %5485, label %5489

5485:                                             ; preds = %5479
  %5486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5487 = call i32 @fileno(ptr noundef %5486) #11
  %5488 = call i32 @isatty(i32 noundef %5487) #11
  %.not1362 = icmp eq i32 %5488, 0
  br i1 %.not1362, label %5489, label %5490

5489:                                             ; preds = %5485, %5479
  br label %5490

5490:                                             ; preds = %5485, %5489
  %.str.11.sink3275 = phi ptr [ @.str.11, %5489 ], [ @.str.8, %5485 ]
  store i32 %5480, ptr %1288, align 4, !tbaa !5
  %5491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5492 = load i32, ptr @test_count, align 4, !tbaa !5
  %5493 = load i32, ptr %1234, align 4, !tbaa !5
  %5494 = call ptr @s2n_strerror(i32 noundef %5493, ptr noundef nonnull @.str.10) #11
  %5495 = load i32, ptr %1234, align 4, !tbaa !5
  %5496 = call ptr @s2n_strerror_debug(i32 noundef %5495, ptr noundef nonnull @.str.10) #11
  %5497 = load i32, ptr %1288, align 4, !tbaa !5
  %5498 = call ptr @strerror(i32 noundef %5497) #11
  %5499 = load i32, ptr %1288, align 4, !tbaa !5
  %5500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5491, ptr noundef nonnull %.str.11.sink3275, i32 noundef %5492, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.7, i32 noundef 468, ptr noundef %5494, ptr noundef %5496, ptr noundef %5498, i32 noundef %5499) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5501:                                             ; preds = %5474
  %5502 = add nsw i32 %5476, 2
  store i32 %5502, ptr @test_count, align 4, !tbaa !5
  %5503 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5475, ptr noundef %233) #11
  %5504 = icmp eq i32 %5503, -1
  br i1 %5504, label %5505, label %5527

5505:                                             ; preds = %5501
  %5506 = load i32, ptr %1288, align 4, !tbaa !5
  %5507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5508 = call i32 @s2n_print_stacktrace(ptr noundef %5507) #11
  %5509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5510 = trunc nuw i8 %5509 to i1
  br i1 %5510, label %5511, label %5515

5511:                                             ; preds = %5505
  %5512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5513 = call i32 @fileno(ptr noundef %5512) #11
  %5514 = call i32 @isatty(i32 noundef %5513) #11
  %.not1361 = icmp eq i32 %5514, 0
  br i1 %.not1361, label %5515, label %5516

5515:                                             ; preds = %5511, %5505
  br label %5516

5516:                                             ; preds = %5511, %5515
  %.str.11.sink3284 = phi ptr [ @.str.11, %5515 ], [ @.str.8, %5511 ]
  store i32 %5506, ptr %1288, align 4, !tbaa !5
  %5517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5518 = load i32, ptr @test_count, align 4, !tbaa !5
  %5519 = load i32, ptr %1234, align 4, !tbaa !5
  %5520 = call ptr @s2n_strerror(i32 noundef %5519, ptr noundef nonnull @.str.10) #11
  %5521 = load i32, ptr %1234, align 4, !tbaa !5
  %5522 = call ptr @s2n_strerror_debug(i32 noundef %5521, ptr noundef nonnull @.str.10) #11
  %5523 = load i32, ptr %1288, align 4, !tbaa !5
  %5524 = call ptr @strerror(i32 noundef %5523) #11
  %5525 = load i32, ptr %1288, align 4, !tbaa !5
  %5526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5517, ptr noundef nonnull %.str.11.sink3284, i32 noundef %5518, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.7, i32 noundef 469, ptr noundef %5520, ptr noundef %5522, ptr noundef %5524, i32 noundef %5525) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5527:                                             ; preds = %5501
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %55) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %55, i8 0, i64 80, i1 false)
  %5528 = load i32, ptr @test_count, align 4, !tbaa !5
  %5529 = add nsw i32 %5528, 1
  store i32 %5529, ptr @test_count, align 4, !tbaa !5
  %5530 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %55) #11
  %5531 = call zeroext i1 @s2n_result_is_ok(i32 %5530)
  br i1 %5531, label %5554, label %5532

5532:                                             ; preds = %5527
  %5533 = load i32, ptr %1288, align 4, !tbaa !5
  %5534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5535 = call i32 @s2n_print_stacktrace(ptr noundef %5534) #11
  %5536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5537 = trunc nuw i8 %5536 to i1
  br i1 %5537, label %5538, label %5542

5538:                                             ; preds = %5532
  %5539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5540 = call i32 @fileno(ptr noundef %5539) #11
  %5541 = call i32 @isatty(i32 noundef %5540) #11
  %.not1106 = icmp eq i32 %5541, 0
  br i1 %.not1106, label %5542, label %5543

5542:                                             ; preds = %5538, %5532
  br label %5543

5543:                                             ; preds = %5538, %5542
  %.str.11.sink3293 = phi ptr [ @.str.11, %5542 ], [ @.str.8, %5538 ]
  store i32 %5533, ptr %1288, align 4, !tbaa !5
  %5544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5545 = load i32, ptr @test_count, align 4, !tbaa !5
  %5546 = load i32, ptr %1234, align 4, !tbaa !5
  %5547 = call ptr @s2n_strerror(i32 noundef %5546, ptr noundef nonnull @.str.10) #11
  %5548 = load i32, ptr %1234, align 4, !tbaa !5
  %5549 = call ptr @s2n_strerror_debug(i32 noundef %5548, ptr noundef nonnull @.str.10) #11
  %5550 = load i32, ptr %1288, align 4, !tbaa !5
  %5551 = call ptr @strerror(i32 noundef %5550) #11
  %5552 = load i32, ptr %1288, align 4, !tbaa !5
  %5553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5544, ptr noundef nonnull %.str.11.sink3293, i32 noundef %5545, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.7, i32 noundef 473, ptr noundef %5547, ptr noundef %5549, ptr noundef %5551, i32 noundef %5552) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5554:                                             ; preds = %5527
  %5555 = load i32, ptr @test_count, align 4, !tbaa !5
  %5556 = add nsw i32 %5555, 1
  store i32 %5556, ptr @test_count, align 4, !tbaa !5
  %5557 = load ptr, ptr %53, align 8, !tbaa !9
  %5558 = load ptr, ptr %54, align 8, !tbaa !9
  %5559 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %5557, ptr noundef %5558, ptr noundef nonnull %55) #11
  %5560 = call zeroext i1 @s2n_result_is_ok(i32 %5559)
  br i1 %5560, label %5583, label %5561

5561:                                             ; preds = %5554
  %5562 = load i32, ptr %1288, align 4, !tbaa !5
  %5563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5564 = call i32 @s2n_print_stacktrace(ptr noundef %5563) #11
  %5565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5566 = trunc nuw i8 %5565 to i1
  br i1 %5566, label %5567, label %5571

5567:                                             ; preds = %5561
  %5568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5569 = call i32 @fileno(ptr noundef %5568) #11
  %5570 = call i32 @isatty(i32 noundef %5569) #11
  %.not1107 = icmp eq i32 %5570, 0
  br i1 %.not1107, label %5571, label %5572

5571:                                             ; preds = %5567, %5561
  br label %5572

5572:                                             ; preds = %5567, %5571
  %.str.11.sink3302 = phi ptr [ @.str.11, %5571 ], [ @.str.8, %5567 ]
  store i32 %5562, ptr %1288, align 4, !tbaa !5
  %5573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5574 = load i32, ptr @test_count, align 4, !tbaa !5
  %5575 = load i32, ptr %1234, align 4, !tbaa !5
  %5576 = call ptr @s2n_strerror(i32 noundef %5575, ptr noundef nonnull @.str.10) #11
  %5577 = load i32, ptr %1234, align 4, !tbaa !5
  %5578 = call ptr @s2n_strerror_debug(i32 noundef %5577, ptr noundef nonnull @.str.10) #11
  %5579 = load i32, ptr %1288, align 4, !tbaa !5
  %5580 = call ptr @strerror(i32 noundef %5579) #11
  %5581 = load i32, ptr %1288, align 4, !tbaa !5
  %5582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5573, ptr noundef nonnull %.str.11.sink3302, i32 noundef %5574, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.7, i32 noundef 474, ptr noundef %5576, ptr noundef %5578, ptr noundef %5580, i32 noundef %5581) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5583:                                             ; preds = %5554
  %5584 = load i32, ptr @test_count, align 4, !tbaa !5
  %5585 = add nsw i32 %5584, 1
  store i32 %5585, ptr @test_count, align 4, !tbaa !5
  %5586 = load ptr, ptr %54, align 8, !tbaa !9
  %5587 = load ptr, ptr %53, align 8, !tbaa !9
  %5588 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5586, ptr noundef %5587) #11
  %5589 = icmp eq i32 %5588, -1
  br i1 %5589, label %5590, label %5612

5590:                                             ; preds = %5583
  %5591 = load i32, ptr %1288, align 4, !tbaa !5
  %5592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5593 = call i32 @s2n_print_stacktrace(ptr noundef %5592) #11
  %5594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5595 = trunc nuw i8 %5594 to i1
  br i1 %5595, label %5596, label %5600

5596:                                             ; preds = %5590
  %5597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5598 = call i32 @fileno(ptr noundef %5597) #11
  %5599 = call i32 @isatty(i32 noundef %5598) #11
  %.not1360 = icmp eq i32 %5599, 0
  br i1 %.not1360, label %5600, label %5601

5600:                                             ; preds = %5596, %5590
  br label %5601

5601:                                             ; preds = %5596, %5600
  %.str.11.sink3311 = phi ptr [ @.str.11, %5600 ], [ @.str.8, %5596 ]
  store i32 %5591, ptr %1288, align 4, !tbaa !5
  %5602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5603 = load i32, ptr @test_count, align 4, !tbaa !5
  %5604 = load i32, ptr %1234, align 4, !tbaa !5
  %5605 = call ptr @s2n_strerror(i32 noundef %5604, ptr noundef nonnull @.str.10) #11
  %5606 = load i32, ptr %1234, align 4, !tbaa !5
  %5607 = call ptr @s2n_strerror_debug(i32 noundef %5606, ptr noundef nonnull @.str.10) #11
  %5608 = load i32, ptr %1288, align 4, !tbaa !5
  %5609 = call ptr @strerror(i32 noundef %5608) #11
  %5610 = load i32, ptr %1288, align 4, !tbaa !5
  %5611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5602, ptr noundef nonnull %.str.11.sink3311, i32 noundef %5603, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.7, i32 noundef 475, ptr noundef %5605, ptr noundef %5607, ptr noundef %5609, i32 noundef %5610) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5612:                                             ; preds = %5583
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %56) #11
  store i32 0, ptr %56, align 4, !tbaa !5
  %5613 = load i32, ptr @test_count, align 4, !tbaa !5
  %5614 = add nsw i32 %5613, 1
  store i32 %5614, ptr @test_count, align 4, !tbaa !5
  %5615 = load ptr, ptr %53, align 8, !tbaa !9
  %5616 = call i32 @s2n_shutdown_send(ptr noundef %5615, ptr noundef nonnull %56)
  %5617 = icmp eq i32 %5616, -1
  br i1 %5617, label %5618, label %5640

5618:                                             ; preds = %5612
  %5619 = load i32, ptr %1288, align 4, !tbaa !5
  %5620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5621 = call i32 @s2n_print_stacktrace(ptr noundef %5620) #11
  %5622 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5623 = trunc nuw i8 %5622 to i1
  br i1 %5623, label %5624, label %5628

5624:                                             ; preds = %5618
  %5625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5626 = call i32 @fileno(ptr noundef %5625) #11
  %5627 = call i32 @isatty(i32 noundef %5626) #11
  %.not1359 = icmp eq i32 %5627, 0
  br i1 %.not1359, label %5628, label %5629

5628:                                             ; preds = %5624, %5618
  br label %5629

5629:                                             ; preds = %5624, %5628
  %.str.11.sink3320 = phi ptr [ @.str.11, %5628 ], [ @.str.8, %5624 ]
  store i32 %5619, ptr %1288, align 4, !tbaa !5
  %5630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5631 = load i32, ptr @test_count, align 4, !tbaa !5
  %5632 = load i32, ptr %1234, align 4, !tbaa !5
  %5633 = call ptr @s2n_strerror(i32 noundef %5632, ptr noundef nonnull @.str.10) #11
  %5634 = load i32, ptr %1234, align 4, !tbaa !5
  %5635 = call ptr @s2n_strerror_debug(i32 noundef %5634, ptr noundef nonnull @.str.10) #11
  %5636 = load i32, ptr %1288, align 4, !tbaa !5
  %5637 = call ptr @strerror(i32 noundef %5636) #11
  %5638 = load i32, ptr %1288, align 4, !tbaa !5
  %5639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5630, ptr noundef nonnull %.str.11.sink3320, i32 noundef %5631, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.7, i32 noundef 480, ptr noundef %5633, ptr noundef %5635, ptr noundef %5637, i32 noundef %5638) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5640:                                             ; preds = %5612
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %57) #11
  store i8 0, ptr %57, align 1, !tbaa !44
  %5641 = getelementptr inbounds i8, ptr %55, i64 68
  %5642 = load i32, ptr %5641, align 4, !tbaa !49
  %5643 = add i32 %5642, -1
  store i32 %5643, ptr %5641, align 4, !tbaa !49
  %5644 = load i32, ptr @test_count, align 4, !tbaa !5
  %5645 = add nsw i32 %5644, 1
  store i32 %5645, ptr @test_count, align 4, !tbaa !5
  %5646 = load ptr, ptr %54, align 8, !tbaa !9
  %5647 = call i64 @s2n_recv(ptr noundef %5646, ptr noundef nonnull %57, i64 noundef 1, ptr noundef nonnull %56) #11
  %5648 = icmp eq i64 %5647, -1
  br i1 %5648, label %5671, label %5649

5649:                                             ; preds = %5640
  %5650 = load i32, ptr %1288, align 4, !tbaa !5
  %5651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5652 = call i32 @s2n_print_stacktrace(ptr noundef %5651) #11
  %5653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5654 = trunc nuw i8 %5653 to i1
  br i1 %5654, label %5655, label %5659

5655:                                             ; preds = %5649
  %5656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5657 = call i32 @fileno(ptr noundef %5656) #11
  %5658 = call i32 @isatty(i32 noundef %5657) #11
  %.not1108 = icmp eq i32 %5658, 0
  br i1 %.not1108, label %5659, label %5660

5659:                                             ; preds = %5655, %5649
  br label %5660

5660:                                             ; preds = %5655, %5659
  %.str.11.sink3329 = phi ptr [ @.str.11, %5659 ], [ @.str.8, %5655 ]
  store i32 %5650, ptr %1288, align 4, !tbaa !5
  %5661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5662 = load i32, ptr @test_count, align 4, !tbaa !5
  %5663 = load i32, ptr %1234, align 4, !tbaa !5
  %5664 = call ptr @s2n_strerror(i32 noundef %5663, ptr noundef nonnull @.str.10) #11
  %5665 = load i32, ptr %1234, align 4, !tbaa !5
  %5666 = call ptr @s2n_strerror_debug(i32 noundef %5665, ptr noundef nonnull @.str.10) #11
  %5667 = load i32, ptr %1288, align 4, !tbaa !5
  %5668 = call ptr @strerror(i32 noundef %5667) #11
  %5669 = load i32, ptr %1288, align 4, !tbaa !5
  %5670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5661, ptr noundef nonnull %.str.11.sink3329, i32 noundef %5662, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.7, i32 noundef 485, ptr noundef %5664, ptr noundef %5666, ptr noundef %5668, i32 noundef %5669) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5671:                                             ; preds = %5640
  %5672 = load i32, ptr @test_count, align 4, !tbaa !5
  %5673 = add nsw i32 %5672, 1
  store i32 %5673, ptr @test_count, align 4, !tbaa !5
  %5674 = load i32, ptr %1234, align 4, !tbaa !5
  %5675 = icmp eq i32 %5674, 201326592
  br i1 %5675, label %5698, label %5676

5676:                                             ; preds = %5671
  %5677 = load i32, ptr %1288, align 4, !tbaa !5
  %5678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5679 = call i32 @s2n_print_stacktrace(ptr noundef %5678) #11
  %5680 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5681 = trunc nuw i8 %5680 to i1
  br i1 %5681, label %5682, label %5686

5682:                                             ; preds = %5676
  %5683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5684 = call i32 @fileno(ptr noundef %5683) #11
  %5685 = call i32 @isatty(i32 noundef %5684) #11
  %.not1109 = icmp eq i32 %5685, 0
  br i1 %.not1109, label %5686, label %5687

5686:                                             ; preds = %5682, %5676
  br label %5687

5687:                                             ; preds = %5682, %5686
  %.str.11.sink3338 = phi ptr [ @.str.11, %5686 ], [ @.str.8, %5682 ]
  store i32 %5677, ptr %1288, align 4, !tbaa !5
  %5688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5689 = load i32, ptr @test_count, align 4, !tbaa !5
  %5690 = load i32, ptr %1234, align 4, !tbaa !5
  %5691 = call ptr @s2n_strerror(i32 noundef %5690, ptr noundef nonnull @.str.10) #11
  %5692 = load i32, ptr %1234, align 4, !tbaa !5
  %5693 = call ptr @s2n_strerror_debug(i32 noundef %5692, ptr noundef nonnull @.str.10) #11
  %5694 = load i32, ptr %1288, align 4, !tbaa !5
  %5695 = call ptr @strerror(i32 noundef %5694) #11
  %5696 = load i32, ptr %1288, align 4, !tbaa !5
  %5697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5688, ptr noundef nonnull %.str.11.sink3338, i32 noundef %5689, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.7, i32 noundef 485, ptr noundef %5691, ptr noundef %5693, ptr noundef %5695, i32 noundef %5696) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5698:                                             ; preds = %5671
  %5699 = add nsw i32 %5672, 2
  store i32 %5699, ptr @test_count, align 4, !tbaa !5
  %5700 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %5701 = icmp eq ptr %5700, null
  br i1 %5701, label %5702, label %5724

5702:                                             ; preds = %5698
  %5703 = load i32, ptr %1288, align 4, !tbaa !5
  %5704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5705 = call i32 @s2n_print_stacktrace(ptr noundef %5704) #11
  %5706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5707 = trunc nuw i8 %5706 to i1
  br i1 %5707, label %5708, label %5712

5708:                                             ; preds = %5702
  %5709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5710 = call i32 @fileno(ptr noundef %5709) #11
  %5711 = call i32 @isatty(i32 noundef %5710) #11
  %.not1358 = icmp eq i32 %5711, 0
  br i1 %.not1358, label %5712, label %5713

5712:                                             ; preds = %5708, %5702
  br label %5713

5713:                                             ; preds = %5708, %5712
  %.str.11.sink3347 = phi ptr [ @.str.11, %5712 ], [ @.str.8, %5708 ]
  store i32 %5703, ptr %1288, align 4, !tbaa !5
  %5714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5715 = load i32, ptr @test_count, align 4, !tbaa !5
  %5716 = load i32, ptr %1234, align 4, !tbaa !5
  %5717 = call ptr @s2n_strerror(i32 noundef %5716, ptr noundef nonnull @.str.10) #11
  %5718 = load i32, ptr %1234, align 4, !tbaa !5
  %5719 = call ptr @s2n_strerror_debug(i32 noundef %5718, ptr noundef nonnull @.str.10) #11
  %5720 = load i32, ptr %1288, align 4, !tbaa !5
  %5721 = call ptr @strerror(i32 noundef %5720) #11
  %5722 = load i32, ptr %1288, align 4, !tbaa !5
  %5723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5714, ptr noundef nonnull %.str.11.sink3347, i32 noundef %5715, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 485, ptr noundef %5717, ptr noundef %5719, ptr noundef %5721, i32 noundef %5722) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5724:                                             ; preds = %5698
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %5725 = load i32, ptr @test_count, align 4, !tbaa !5
  %5726 = add nsw i32 %5725, 1
  store i32 %5726, ptr @test_count, align 4, !tbaa !5
  %5727 = load ptr, ptr %54, align 8, !tbaa !9
  %5728 = getelementptr inbounds i8, ptr %5727, i64 2008
  %5729 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %5728) #11
  br i1 %5729, label %5730, label %5752

5730:                                             ; preds = %5724
  %5731 = load i32, ptr %1288, align 4, !tbaa !5
  %5732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5733 = call i32 @s2n_print_stacktrace(ptr noundef %5732) #11
  %5734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5735 = trunc nuw i8 %5734 to i1
  br i1 %5735, label %5736, label %5740

5736:                                             ; preds = %5730
  %5737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5738 = call i32 @fileno(ptr noundef %5737) #11
  %5739 = call i32 @isatty(i32 noundef %5738) #11
  %.not1357 = icmp eq i32 %5739, 0
  br i1 %.not1357, label %5740, label %5741

5740:                                             ; preds = %5736, %5730
  br label %5741

5741:                                             ; preds = %5736, %5740
  %.str.11.sink3356 = phi ptr [ @.str.11, %5740 ], [ @.str.8, %5736 ]
  store i32 %5731, ptr %1288, align 4, !tbaa !5
  %5742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5743 = load i32, ptr @test_count, align 4, !tbaa !5
  %5744 = load i32, ptr %1234, align 4, !tbaa !5
  %5745 = call ptr @s2n_strerror(i32 noundef %5744, ptr noundef nonnull @.str.10) #11
  %5746 = load i32, ptr %1234, align 4, !tbaa !5
  %5747 = call ptr @s2n_strerror_debug(i32 noundef %5746, ptr noundef nonnull @.str.10) #11
  %5748 = load i32, ptr %1288, align 4, !tbaa !5
  %5749 = call ptr @strerror(i32 noundef %5748) #11
  %5750 = load i32, ptr %1288, align 4, !tbaa !5
  %5751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5742, ptr noundef nonnull %.str.11.sink3356, i32 noundef %5743, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.7, i32 noundef 486, ptr noundef %5745, ptr noundef %5747, ptr noundef %5749, i32 noundef %5750) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5752:                                             ; preds = %5724
  %5753 = load i32, ptr %5641, align 4, !tbaa !49
  %5754 = add i32 %5753, 1
  store i32 %5754, ptr %5641, align 4, !tbaa !49
  %5755 = load i32, ptr @test_count, align 4, !tbaa !5
  %5756 = add nsw i32 %5755, 1
  store i32 %5756, ptr @test_count, align 4, !tbaa !5
  %5757 = load ptr, ptr %54, align 8, !tbaa !9
  %5758 = call i32 @s2n_shutdown(ptr noundef %5757, ptr noundef nonnull %56)
  %5759 = icmp eq i32 %5758, -1
  br i1 %5759, label %5760, label %5782

5760:                                             ; preds = %5752
  %5761 = load i32, ptr %1288, align 4, !tbaa !5
  %5762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5763 = call i32 @s2n_print_stacktrace(ptr noundef %5762) #11
  %5764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5765 = trunc nuw i8 %5764 to i1
  br i1 %5765, label %5766, label %5770

5766:                                             ; preds = %5760
  %5767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5768 = call i32 @fileno(ptr noundef %5767) #11
  %5769 = call i32 @isatty(i32 noundef %5768) #11
  %.not1356 = icmp eq i32 %5769, 0
  br i1 %.not1356, label %5770, label %5771

5770:                                             ; preds = %5766, %5760
  br label %5771

5771:                                             ; preds = %5766, %5770
  %.str.11.sink3365 = phi ptr [ @.str.11, %5770 ], [ @.str.8, %5766 ]
  store i32 %5761, ptr %1288, align 4, !tbaa !5
  %5772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5773 = load i32, ptr @test_count, align 4, !tbaa !5
  %5774 = load i32, ptr %1234, align 4, !tbaa !5
  %5775 = call ptr @s2n_strerror(i32 noundef %5774, ptr noundef nonnull @.str.10) #11
  %5776 = load i32, ptr %1234, align 4, !tbaa !5
  %5777 = call ptr @s2n_strerror_debug(i32 noundef %5776, ptr noundef nonnull @.str.10) #11
  %5778 = load i32, ptr %1288, align 4, !tbaa !5
  %5779 = call ptr @strerror(i32 noundef %5778) #11
  %5780 = load i32, ptr %1288, align 4, !tbaa !5
  %5781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5772, ptr noundef nonnull %.str.11.sink3365, i32 noundef %5773, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.7, i32 noundef 490, ptr noundef %5775, ptr noundef %5777, ptr noundef %5779, i32 noundef %5780) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5782:                                             ; preds = %5752
  %5783 = load i32, ptr @test_count, align 4, !tbaa !5
  %5784 = add nsw i32 %5783, 1
  store i32 %5784, ptr @test_count, align 4, !tbaa !5
  %5785 = load ptr, ptr %54, align 8, !tbaa !9
  %5786 = getelementptr inbounds i8, ptr %5785, i64 2008
  %5787 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %5786) #11
  br i1 %5787, label %5810, label %5788

5788:                                             ; preds = %5782
  %5789 = load i32, ptr %1288, align 4, !tbaa !5
  %5790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5791 = call i32 @s2n_print_stacktrace(ptr noundef %5790) #11
  %5792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5793 = trunc nuw i8 %5792 to i1
  br i1 %5793, label %5794, label %5798

5794:                                             ; preds = %5788
  %5795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5796 = call i32 @fileno(ptr noundef %5795) #11
  %5797 = call i32 @isatty(i32 noundef %5796) #11
  %.not1110 = icmp eq i32 %5797, 0
  br i1 %.not1110, label %5798, label %5799

5798:                                             ; preds = %5794, %5788
  br label %5799

5799:                                             ; preds = %5794, %5798
  %.str.11.sink3374 = phi ptr [ @.str.11, %5798 ], [ @.str.8, %5794 ]
  store i32 %5789, ptr %1288, align 4, !tbaa !5
  %5800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5801 = load i32, ptr @test_count, align 4, !tbaa !5
  %5802 = load i32, ptr %1234, align 4, !tbaa !5
  %5803 = call ptr @s2n_strerror(i32 noundef %5802, ptr noundef nonnull @.str.10) #11
  %5804 = load i32, ptr %1234, align 4, !tbaa !5
  %5805 = call ptr @s2n_strerror_debug(i32 noundef %5804, ptr noundef nonnull @.str.10) #11
  %5806 = load i32, ptr %1288, align 4, !tbaa !5
  %5807 = call ptr @strerror(i32 noundef %5806) #11
  %5808 = load i32, ptr %1288, align 4, !tbaa !5
  %5809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5800, ptr noundef nonnull %.str.11.sink3374, i32 noundef %5801, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.7, i32 noundef 491, ptr noundef %5803, ptr noundef %5805, ptr noundef %5807, i32 noundef %5808) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5810:                                             ; preds = %5782
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %57) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %56) #11
  %5811 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %55) #11
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %55) #11
  %5812 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %54) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #11
  %5813 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %53) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #11
  %5814 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %5814, ptr %58, align 8, !tbaa !9
  %5815 = load i32, ptr @test_count, align 4, !tbaa !5
  %5816 = add nsw i32 %5815, 1
  store i32 %5816, ptr @test_count, align 4, !tbaa !5
  %5817 = icmp eq ptr %5814, null
  br i1 %5817, label %5818, label %5840

5818:                                             ; preds = %5810
  %5819 = load i32, ptr %1288, align 4, !tbaa !5
  %5820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5821 = call i32 @s2n_print_stacktrace(ptr noundef %5820) #11
  %5822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5823 = trunc nuw i8 %5822 to i1
  br i1 %5823, label %5824, label %5828

5824:                                             ; preds = %5818
  %5825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5826 = call i32 @fileno(ptr noundef %5825) #11
  %5827 = call i32 @isatty(i32 noundef %5826) #11
  %.not1355 = icmp eq i32 %5827, 0
  br i1 %.not1355, label %5828, label %5829

5828:                                             ; preds = %5824, %5818
  br label %5829

5829:                                             ; preds = %5824, %5828
  %.str.11.sink3383 = phi ptr [ @.str.11, %5828 ], [ @.str.8, %5824 ]
  store i32 %5819, ptr %1288, align 4, !tbaa !5
  %5830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5831 = load i32, ptr @test_count, align 4, !tbaa !5
  %5832 = load i32, ptr %1234, align 4, !tbaa !5
  %5833 = call ptr @s2n_strerror(i32 noundef %5832, ptr noundef nonnull @.str.10) #11
  %5834 = load i32, ptr %1234, align 4, !tbaa !5
  %5835 = call ptr @s2n_strerror_debug(i32 noundef %5834, ptr noundef nonnull @.str.10) #11
  %5836 = load i32, ptr %1288, align 4, !tbaa !5
  %5837 = call ptr @strerror(i32 noundef %5836) #11
  %5838 = load i32, ptr %1288, align 4, !tbaa !5
  %5839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5830, ptr noundef nonnull %.str.11.sink3383, i32 noundef %5831, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.7, i32 noundef 498, ptr noundef %5833, ptr noundef %5835, ptr noundef %5837, i32 noundef %5838) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5840:                                             ; preds = %5810
  %5841 = add nsw i32 %5815, 2
  store i32 %5841, ptr @test_count, align 4, !tbaa !5
  %5842 = load ptr, ptr %6, align 8, !tbaa !9
  %5843 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5814, ptr noundef %5842) #11
  %5844 = icmp eq i32 %5843, -1
  br i1 %5844, label %5845, label %5867

5845:                                             ; preds = %5840
  %5846 = load i32, ptr %1288, align 4, !tbaa !5
  %5847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5848 = call i32 @s2n_print_stacktrace(ptr noundef %5847) #11
  %5849 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5850 = trunc nuw i8 %5849 to i1
  br i1 %5850, label %5851, label %5855

5851:                                             ; preds = %5845
  %5852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5853 = call i32 @fileno(ptr noundef %5852) #11
  %5854 = call i32 @isatty(i32 noundef %5853) #11
  %.not1354 = icmp eq i32 %5854, 0
  br i1 %.not1354, label %5855, label %5856

5855:                                             ; preds = %5851, %5845
  br label %5856

5856:                                             ; preds = %5851, %5855
  %.str.11.sink3392 = phi ptr [ @.str.11, %5855 ], [ @.str.8, %5851 ]
  store i32 %5846, ptr %1288, align 4, !tbaa !5
  %5857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5858 = load i32, ptr @test_count, align 4, !tbaa !5
  %5859 = load i32, ptr %1234, align 4, !tbaa !5
  %5860 = call ptr @s2n_strerror(i32 noundef %5859, ptr noundef nonnull @.str.10) #11
  %5861 = load i32, ptr %1234, align 4, !tbaa !5
  %5862 = call ptr @s2n_strerror_debug(i32 noundef %5861, ptr noundef nonnull @.str.10) #11
  %5863 = load i32, ptr %1288, align 4, !tbaa !5
  %5864 = call ptr @strerror(i32 noundef %5863) #11
  %5865 = load i32, ptr %1288, align 4, !tbaa !5
  %5866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5857, ptr noundef nonnull %.str.11.sink3392, i32 noundef %5858, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.7, i32 noundef 499, ptr noundef %5860, ptr noundef %5862, ptr noundef %5864, i32 noundef %5865) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5867:                                             ; preds = %5840
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #11
  %5868 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %5868, ptr %59, align 8, !tbaa !9
  %5869 = load i32, ptr @test_count, align 4, !tbaa !5
  %5870 = add nsw i32 %5869, 1
  store i32 %5870, ptr @test_count, align 4, !tbaa !5
  %5871 = icmp eq ptr %5868, null
  br i1 %5871, label %5872, label %5894

5872:                                             ; preds = %5867
  %5873 = load i32, ptr %1288, align 4, !tbaa !5
  %5874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5875 = call i32 @s2n_print_stacktrace(ptr noundef %5874) #11
  %5876 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5877 = trunc nuw i8 %5876 to i1
  br i1 %5877, label %5878, label %5882

5878:                                             ; preds = %5872
  %5879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5880 = call i32 @fileno(ptr noundef %5879) #11
  %5881 = call i32 @isatty(i32 noundef %5880) #11
  %.not1353 = icmp eq i32 %5881, 0
  br i1 %.not1353, label %5882, label %5883

5882:                                             ; preds = %5878, %5872
  br label %5883

5883:                                             ; preds = %5878, %5882
  %.str.11.sink3401 = phi ptr [ @.str.11, %5882 ], [ @.str.8, %5878 ]
  store i32 %5873, ptr %1288, align 4, !tbaa !5
  %5884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5885 = load i32, ptr @test_count, align 4, !tbaa !5
  %5886 = load i32, ptr %1234, align 4, !tbaa !5
  %5887 = call ptr @s2n_strerror(i32 noundef %5886, ptr noundef nonnull @.str.10) #11
  %5888 = load i32, ptr %1234, align 4, !tbaa !5
  %5889 = call ptr @s2n_strerror_debug(i32 noundef %5888, ptr noundef nonnull @.str.10) #11
  %5890 = load i32, ptr %1288, align 4, !tbaa !5
  %5891 = call ptr @strerror(i32 noundef %5890) #11
  %5892 = load i32, ptr %1288, align 4, !tbaa !5
  %5893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5884, ptr noundef nonnull %.str.11.sink3401, i32 noundef %5885, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.7, i32 noundef 503, ptr noundef %5887, ptr noundef %5889, ptr noundef %5891, i32 noundef %5892) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5894:                                             ; preds = %5867
  %5895 = add nsw i32 %5869, 2
  store i32 %5895, ptr @test_count, align 4, !tbaa !5
  %5896 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5868, ptr noundef %5842) #11
  %5897 = icmp eq i32 %5896, -1
  br i1 %5897, label %5898, label %5920

5898:                                             ; preds = %5894
  %5899 = load i32, ptr %1288, align 4, !tbaa !5
  %5900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5901 = call i32 @s2n_print_stacktrace(ptr noundef %5900) #11
  %5902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5903 = trunc nuw i8 %5902 to i1
  br i1 %5903, label %5904, label %5908

5904:                                             ; preds = %5898
  %5905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5906 = call i32 @fileno(ptr noundef %5905) #11
  %5907 = call i32 @isatty(i32 noundef %5906) #11
  %.not1352 = icmp eq i32 %5907, 0
  br i1 %.not1352, label %5908, label %5909

5908:                                             ; preds = %5904, %5898
  br label %5909

5909:                                             ; preds = %5904, %5908
  %.str.11.sink3410 = phi ptr [ @.str.11, %5908 ], [ @.str.8, %5904 ]
  store i32 %5899, ptr %1288, align 4, !tbaa !5
  %5910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5911 = load i32, ptr @test_count, align 4, !tbaa !5
  %5912 = load i32, ptr %1234, align 4, !tbaa !5
  %5913 = call ptr @s2n_strerror(i32 noundef %5912, ptr noundef nonnull @.str.10) #11
  %5914 = load i32, ptr %1234, align 4, !tbaa !5
  %5915 = call ptr @s2n_strerror_debug(i32 noundef %5914, ptr noundef nonnull @.str.10) #11
  %5916 = load i32, ptr %1288, align 4, !tbaa !5
  %5917 = call ptr @strerror(i32 noundef %5916) #11
  %5918 = load i32, ptr %1288, align 4, !tbaa !5
  %5919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5910, ptr noundef nonnull %.str.11.sink3410, i32 noundef %5911, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.7, i32 noundef 504, ptr noundef %5913, ptr noundef %5915, ptr noundef %5917, i32 noundef %5918) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5920:                                             ; preds = %5894
  %5921 = load i32, ptr @test_count, align 4, !tbaa !5
  %5922 = add nsw i32 %5921, 1
  store i32 %5922, ptr @test_count, align 4, !tbaa !5
  %5923 = load ptr, ptr %59, align 8, !tbaa !9
  %5924 = call i32 @s2n_connection_set_blinding(ptr noundef %5923, i32 noundef 1) #11
  %5925 = icmp eq i32 %5924, -1
  br i1 %5925, label %5926, label %5948

5926:                                             ; preds = %5920
  %5927 = load i32, ptr %1288, align 4, !tbaa !5
  %5928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5929 = call i32 @s2n_print_stacktrace(ptr noundef %5928) #11
  %5930 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5931 = trunc nuw i8 %5930 to i1
  br i1 %5931, label %5932, label %5936

5932:                                             ; preds = %5926
  %5933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5934 = call i32 @fileno(ptr noundef %5933) #11
  %5935 = call i32 @isatty(i32 noundef %5934) #11
  %.not1351 = icmp eq i32 %5935, 0
  br i1 %.not1351, label %5936, label %5937

5936:                                             ; preds = %5932, %5926
  br label %5937

5937:                                             ; preds = %5932, %5936
  %.str.11.sink3419 = phi ptr [ @.str.11, %5936 ], [ @.str.8, %5932 ]
  store i32 %5927, ptr %1288, align 4, !tbaa !5
  %5938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5939 = load i32, ptr @test_count, align 4, !tbaa !5
  %5940 = load i32, ptr %1234, align 4, !tbaa !5
  %5941 = call ptr @s2n_strerror(i32 noundef %5940, ptr noundef nonnull @.str.10) #11
  %5942 = load i32, ptr %1234, align 4, !tbaa !5
  %5943 = call ptr @s2n_strerror_debug(i32 noundef %5942, ptr noundef nonnull @.str.10) #11
  %5944 = load i32, ptr %1288, align 4, !tbaa !5
  %5945 = call ptr @strerror(i32 noundef %5944) #11
  %5946 = load i32, ptr %1288, align 4, !tbaa !5
  %5947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5938, ptr noundef nonnull %.str.11.sink3419, i32 noundef %5939, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.7, i32 noundef 505, ptr noundef %5941, ptr noundef %5943, ptr noundef %5945, i32 noundef %5946) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5948:                                             ; preds = %5920
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %60) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %60, i8 0, i64 80, i1 false)
  %5949 = load i32, ptr @test_count, align 4, !tbaa !5
  %5950 = add nsw i32 %5949, 1
  store i32 %5950, ptr @test_count, align 4, !tbaa !5
  %5951 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %60) #11
  %5952 = call zeroext i1 @s2n_result_is_ok(i32 %5951)
  br i1 %5952, label %5975, label %5953

5953:                                             ; preds = %5948
  %5954 = load i32, ptr %1288, align 4, !tbaa !5
  %5955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5956 = call i32 @s2n_print_stacktrace(ptr noundef %5955) #11
  %5957 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5958 = trunc nuw i8 %5957 to i1
  br i1 %5958, label %5959, label %5963

5959:                                             ; preds = %5953
  %5960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5961 = call i32 @fileno(ptr noundef %5960) #11
  %5962 = call i32 @isatty(i32 noundef %5961) #11
  %.not1111 = icmp eq i32 %5962, 0
  br i1 %.not1111, label %5963, label %5964

5963:                                             ; preds = %5959, %5953
  br label %5964

5964:                                             ; preds = %5959, %5963
  %.str.11.sink3428 = phi ptr [ @.str.11, %5963 ], [ @.str.8, %5959 ]
  store i32 %5954, ptr %1288, align 4, !tbaa !5
  %5965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5966 = load i32, ptr @test_count, align 4, !tbaa !5
  %5967 = load i32, ptr %1234, align 4, !tbaa !5
  %5968 = call ptr @s2n_strerror(i32 noundef %5967, ptr noundef nonnull @.str.10) #11
  %5969 = load i32, ptr %1234, align 4, !tbaa !5
  %5970 = call ptr @s2n_strerror_debug(i32 noundef %5969, ptr noundef nonnull @.str.10) #11
  %5971 = load i32, ptr %1288, align 4, !tbaa !5
  %5972 = call ptr @strerror(i32 noundef %5971) #11
  %5973 = load i32, ptr %1288, align 4, !tbaa !5
  %5974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5965, ptr noundef nonnull %.str.11.sink3428, i32 noundef %5966, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.7, i32 noundef 509, ptr noundef %5968, ptr noundef %5970, ptr noundef %5972, i32 noundef %5973) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5975:                                             ; preds = %5948
  %5976 = load i32, ptr @test_count, align 4, !tbaa !5
  %5977 = add nsw i32 %5976, 1
  store i32 %5977, ptr @test_count, align 4, !tbaa !5
  %5978 = load ptr, ptr %58, align 8, !tbaa !9
  %5979 = load ptr, ptr %59, align 8, !tbaa !9
  %5980 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %5978, ptr noundef %5979, ptr noundef nonnull %60) #11
  %5981 = call zeroext i1 @s2n_result_is_ok(i32 %5980)
  br i1 %5981, label %6004, label %5982

5982:                                             ; preds = %5975
  %5983 = load i32, ptr %1288, align 4, !tbaa !5
  %5984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5985 = call i32 @s2n_print_stacktrace(ptr noundef %5984) #11
  %5986 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5987 = trunc nuw i8 %5986 to i1
  br i1 %5987, label %5988, label %5992

5988:                                             ; preds = %5982
  %5989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5990 = call i32 @fileno(ptr noundef %5989) #11
  %5991 = call i32 @isatty(i32 noundef %5990) #11
  %.not1112 = icmp eq i32 %5991, 0
  br i1 %.not1112, label %5992, label %5993

5992:                                             ; preds = %5988, %5982
  br label %5993

5993:                                             ; preds = %5988, %5992
  %.str.11.sink3437 = phi ptr [ @.str.11, %5992 ], [ @.str.8, %5988 ]
  store i32 %5983, ptr %1288, align 4, !tbaa !5
  %5994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5995 = load i32, ptr @test_count, align 4, !tbaa !5
  %5996 = load i32, ptr %1234, align 4, !tbaa !5
  %5997 = call ptr @s2n_strerror(i32 noundef %5996, ptr noundef nonnull @.str.10) #11
  %5998 = load i32, ptr %1234, align 4, !tbaa !5
  %5999 = call ptr @s2n_strerror_debug(i32 noundef %5998, ptr noundef nonnull @.str.10) #11
  %6000 = load i32, ptr %1288, align 4, !tbaa !5
  %6001 = call ptr @strerror(i32 noundef %6000) #11
  %6002 = load i32, ptr %1288, align 4, !tbaa !5
  %6003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5994, ptr noundef nonnull %.str.11.sink3437, i32 noundef %5995, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.7, i32 noundef 510, ptr noundef %5997, ptr noundef %5999, ptr noundef %6001, i32 noundef %6002) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6004:                                             ; preds = %5975
  %6005 = load i32, ptr @test_count, align 4, !tbaa !5
  %6006 = add nsw i32 %6005, 1
  store i32 %6006, ptr @test_count, align 4, !tbaa !5
  %6007 = load ptr, ptr %59, align 8, !tbaa !9
  %6008 = load ptr, ptr %58, align 8, !tbaa !9
  %6009 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %6007, ptr noundef %6008) #11
  %6010 = icmp eq i32 %6009, -1
  br i1 %6010, label %6011, label %6033

6011:                                             ; preds = %6004
  %6012 = load i32, ptr %1288, align 4, !tbaa !5
  %6013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6014 = call i32 @s2n_print_stacktrace(ptr noundef %6013) #11
  %6015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6016 = trunc nuw i8 %6015 to i1
  br i1 %6016, label %6017, label %6021

6017:                                             ; preds = %6011
  %6018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6019 = call i32 @fileno(ptr noundef %6018) #11
  %6020 = call i32 @isatty(i32 noundef %6019) #11
  %.not1350 = icmp eq i32 %6020, 0
  br i1 %.not1350, label %6021, label %6022

6021:                                             ; preds = %6017, %6011
  br label %6022

6022:                                             ; preds = %6017, %6021
  %.str.11.sink3446 = phi ptr [ @.str.11, %6021 ], [ @.str.8, %6017 ]
  store i32 %6012, ptr %1288, align 4, !tbaa !5
  %6023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6024 = load i32, ptr @test_count, align 4, !tbaa !5
  %6025 = load i32, ptr %1234, align 4, !tbaa !5
  %6026 = call ptr @s2n_strerror(i32 noundef %6025, ptr noundef nonnull @.str.10) #11
  %6027 = load i32, ptr %1234, align 4, !tbaa !5
  %6028 = call ptr @s2n_strerror_debug(i32 noundef %6027, ptr noundef nonnull @.str.10) #11
  %6029 = load i32, ptr %1288, align 4, !tbaa !5
  %6030 = call ptr @strerror(i32 noundef %6029) #11
  %6031 = load i32, ptr %1288, align 4, !tbaa !5
  %6032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6023, ptr noundef nonnull %.str.11.sink3446, i32 noundef %6024, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.7, i32 noundef 511, ptr noundef %6026, ptr noundef %6028, ptr noundef %6030, i32 noundef %6031) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6033:                                             ; preds = %6004
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %61) #11
  store i32 0, ptr %61, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %62) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %62, ptr noundef nonnull align 1 dereferenceable(12) @__const.main.test_data.88, i64 12, i1 false)
  %6034 = load i32, ptr @test_count, align 4, !tbaa !5
  %6035 = add nsw i32 %6034, 1
  store i32 %6035, ptr @test_count, align 4, !tbaa !5
  %6036 = load ptr, ptr %58, align 8, !tbaa !9
  %6037 = call i64 @s2n_send(ptr noundef %6036, ptr noundef nonnull %62, i64 noundef 12, ptr noundef nonnull %61) #11
  %6038 = icmp eq i64 %6037, 12
  br i1 %6038, label %6061, label %6039

6039:                                             ; preds = %6033
  %6040 = load i32, ptr %1288, align 4, !tbaa !5
  %6041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6042 = call i32 @s2n_print_stacktrace(ptr noundef %6041) #11
  %6043 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6044 = trunc nuw i8 %6043 to i1
  br i1 %6044, label %6045, label %6049

6045:                                             ; preds = %6039
  %6046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6047 = call i32 @fileno(ptr noundef %6046) #11
  %6048 = call i32 @isatty(i32 noundef %6047) #11
  %.not1113 = icmp eq i32 %6048, 0
  br i1 %.not1113, label %6049, label %6050

6049:                                             ; preds = %6045, %6039
  br label %6050

6050:                                             ; preds = %6045, %6049
  %.str.11.sink3455 = phi ptr [ @.str.11, %6049 ], [ @.str.8, %6045 ]
  store i32 %6040, ptr %1288, align 4, !tbaa !5
  %6051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6052 = load i32, ptr @test_count, align 4, !tbaa !5
  %6053 = load i32, ptr %1234, align 4, !tbaa !5
  %6054 = call ptr @s2n_strerror(i32 noundef %6053, ptr noundef nonnull @.str.10) #11
  %6055 = load i32, ptr %1234, align 4, !tbaa !5
  %6056 = call ptr @s2n_strerror_debug(i32 noundef %6055, ptr noundef nonnull @.str.10) #11
  %6057 = load i32, ptr %1288, align 4, !tbaa !5
  %6058 = call ptr @strerror(i32 noundef %6057) #11
  %6059 = load i32, ptr %1288, align 4, !tbaa !5
  %6060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6051, ptr noundef nonnull %.str.11.sink3455, i32 noundef %6052, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.7, i32 noundef 517, ptr noundef %6054, ptr noundef %6056, ptr noundef %6058, i32 noundef %6059) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6061:                                             ; preds = %6033
  %6062 = load i32, ptr @test_count, align 4, !tbaa !5
  %6063 = add nsw i32 %6062, 1
  store i32 %6063, ptr @test_count, align 4, !tbaa !5
  %6064 = getelementptr inbounds i8, ptr %60, i64 40
  %6065 = call i32 @s2n_stuffer_wipe_n(ptr noundef nonnull %6064, i32 noundef 6) #11
  %6066 = icmp eq i32 %6065, -1
  br i1 %6066, label %6067, label %6089

6067:                                             ; preds = %6061
  %6068 = load i32, ptr %1288, align 4, !tbaa !5
  %6069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6070 = call i32 @s2n_print_stacktrace(ptr noundef %6069) #11
  %6071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6072 = trunc nuw i8 %6071 to i1
  br i1 %6072, label %6073, label %6077

6073:                                             ; preds = %6067
  %6074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6075 = call i32 @fileno(ptr noundef %6074) #11
  %6076 = call i32 @isatty(i32 noundef %6075) #11
  %.not1349 = icmp eq i32 %6076, 0
  br i1 %.not1349, label %6077, label %6078

6077:                                             ; preds = %6073, %6067
  br label %6078

6078:                                             ; preds = %6073, %6077
  %.str.11.sink3464 = phi ptr [ @.str.11, %6077 ], [ @.str.8, %6073 ]
  store i32 %6068, ptr %1288, align 4, !tbaa !5
  %6079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6080 = load i32, ptr @test_count, align 4, !tbaa !5
  %6081 = load i32, ptr %1234, align 4, !tbaa !5
  %6082 = call ptr @s2n_strerror(i32 noundef %6081, ptr noundef nonnull @.str.10) #11
  %6083 = load i32, ptr %1234, align 4, !tbaa !5
  %6084 = call ptr @s2n_strerror_debug(i32 noundef %6083, ptr noundef nonnull @.str.10) #11
  %6085 = load i32, ptr %1288, align 4, !tbaa !5
  %6086 = call ptr @strerror(i32 noundef %6085) #11
  %6087 = load i32, ptr %1288, align 4, !tbaa !5
  %6088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6079, ptr noundef nonnull %.str.11.sink3464, i32 noundef %6080, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.7, i32 noundef 519, ptr noundef %6082, ptr noundef %6084, ptr noundef %6086, i32 noundef %6087) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6089:                                             ; preds = %6061
  %6090 = load i32, ptr @test_count, align 4, !tbaa !5
  %6091 = add nsw i32 %6090, 1
  store i32 %6091, ptr @test_count, align 4, !tbaa !5
  %6092 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %6064, i32 noundef 6) #11
  %6093 = icmp eq i32 %6092, -1
  br i1 %6093, label %6094, label %6116

6094:                                             ; preds = %6089
  %6095 = load i32, ptr %1288, align 4, !tbaa !5
  %6096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6097 = call i32 @s2n_print_stacktrace(ptr noundef %6096) #11
  %6098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6099 = trunc nuw i8 %6098 to i1
  br i1 %6099, label %6100, label %6104

6100:                                             ; preds = %6094
  %6101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6102 = call i32 @fileno(ptr noundef %6101) #11
  %6103 = call i32 @isatty(i32 noundef %6102) #11
  %.not1348 = icmp eq i32 %6103, 0
  br i1 %.not1348, label %6104, label %6105

6104:                                             ; preds = %6100, %6094
  br label %6105

6105:                                             ; preds = %6100, %6104
  %.str.11.sink3473 = phi ptr [ @.str.11, %6104 ], [ @.str.8, %6100 ]
  store i32 %6095, ptr %1288, align 4, !tbaa !5
  %6106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6107 = load i32, ptr @test_count, align 4, !tbaa !5
  %6108 = load i32, ptr %1234, align 4, !tbaa !5
  %6109 = call ptr @s2n_strerror(i32 noundef %6108, ptr noundef nonnull @.str.10) #11
  %6110 = load i32, ptr %1234, align 4, !tbaa !5
  %6111 = call ptr @s2n_strerror_debug(i32 noundef %6110, ptr noundef nonnull @.str.10) #11
  %6112 = load i32, ptr %1288, align 4, !tbaa !5
  %6113 = call ptr @strerror(i32 noundef %6112) #11
  %6114 = load i32, ptr %1288, align 4, !tbaa !5
  %6115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6106, ptr noundef nonnull %.str.11.sink3473, i32 noundef %6107, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.7, i32 noundef 520, ptr noundef %6109, ptr noundef %6111, ptr noundef %6113, i32 noundef %6114) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6116:                                             ; preds = %6089
  %6117 = getelementptr inbounds i8, ptr %60, i64 68
  %6118 = load i32, ptr %6117, align 4, !tbaa !49
  %6119 = add i32 %6118, -1
  store i32 %6119, ptr %6117, align 4, !tbaa !49
  %6120 = load i32, ptr @test_count, align 4, !tbaa !5
  %6121 = add nsw i32 %6120, 1
  store i32 %6121, ptr @test_count, align 4, !tbaa !5
  %6122 = load ptr, ptr %59, align 8, !tbaa !9
  %6123 = call i64 @s2n_recv(ptr noundef %6122, ptr noundef nonnull %62, i64 noundef 12, ptr noundef nonnull %61) #11
  %6124 = icmp eq i64 %6123, -1
  br i1 %6124, label %6147, label %6125

6125:                                             ; preds = %6116
  %6126 = load i32, ptr %1288, align 4, !tbaa !5
  %6127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6128 = call i32 @s2n_print_stacktrace(ptr noundef %6127) #11
  %6129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6130 = trunc nuw i8 %6129 to i1
  br i1 %6130, label %6131, label %6135

6131:                                             ; preds = %6125
  %6132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6133 = call i32 @fileno(ptr noundef %6132) #11
  %6134 = call i32 @isatty(i32 noundef %6133) #11
  %.not1114 = icmp eq i32 %6134, 0
  br i1 %.not1114, label %6135, label %6136

6135:                                             ; preds = %6131, %6125
  br label %6136

6136:                                             ; preds = %6131, %6135
  %.str.11.sink3482 = phi ptr [ @.str.11, %6135 ], [ @.str.8, %6131 ]
  store i32 %6126, ptr %1288, align 4, !tbaa !5
  %6137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6138 = load i32, ptr @test_count, align 4, !tbaa !5
  %6139 = load i32, ptr %1234, align 4, !tbaa !5
  %6140 = call ptr @s2n_strerror(i32 noundef %6139, ptr noundef nonnull @.str.10) #11
  %6141 = load i32, ptr %1234, align 4, !tbaa !5
  %6142 = call ptr @s2n_strerror_debug(i32 noundef %6141, ptr noundef nonnull @.str.10) #11
  %6143 = load i32, ptr %1288, align 4, !tbaa !5
  %6144 = call ptr @strerror(i32 noundef %6143) #11
  %6145 = load i32, ptr %1288, align 4, !tbaa !5
  %6146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6137, ptr noundef nonnull %.str.11.sink3482, i32 noundef %6138, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.7, i32 noundef 525, ptr noundef %6140, ptr noundef %6142, ptr noundef %6144, i32 noundef %6145) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6147:                                             ; preds = %6116
  %6148 = load i32, ptr @test_count, align 4, !tbaa !5
  %6149 = add nsw i32 %6148, 1
  store i32 %6149, ptr @test_count, align 4, !tbaa !5
  %6150 = load i32, ptr %1234, align 4, !tbaa !5
  %6151 = icmp eq i32 %6150, 201326592
  br i1 %6151, label %6174, label %6152

6152:                                             ; preds = %6147
  %6153 = load i32, ptr %1288, align 4, !tbaa !5
  %6154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6155 = call i32 @s2n_print_stacktrace(ptr noundef %6154) #11
  %6156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6157 = trunc nuw i8 %6156 to i1
  br i1 %6157, label %6158, label %6162

6158:                                             ; preds = %6152
  %6159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6160 = call i32 @fileno(ptr noundef %6159) #11
  %6161 = call i32 @isatty(i32 noundef %6160) #11
  %.not1115 = icmp eq i32 %6161, 0
  br i1 %.not1115, label %6162, label %6163

6162:                                             ; preds = %6158, %6152
  br label %6163

6163:                                             ; preds = %6158, %6162
  %.str.11.sink3491 = phi ptr [ @.str.11, %6162 ], [ @.str.8, %6158 ]
  store i32 %6153, ptr %1288, align 4, !tbaa !5
  %6164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6165 = load i32, ptr @test_count, align 4, !tbaa !5
  %6166 = load i32, ptr %1234, align 4, !tbaa !5
  %6167 = call ptr @s2n_strerror(i32 noundef %6166, ptr noundef nonnull @.str.10) #11
  %6168 = load i32, ptr %1234, align 4, !tbaa !5
  %6169 = call ptr @s2n_strerror_debug(i32 noundef %6168, ptr noundef nonnull @.str.10) #11
  %6170 = load i32, ptr %1288, align 4, !tbaa !5
  %6171 = call ptr @strerror(i32 noundef %6170) #11
  %6172 = load i32, ptr %1288, align 4, !tbaa !5
  %6173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6164, ptr noundef nonnull %.str.11.sink3491, i32 noundef %6165, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.7, i32 noundef 525, ptr noundef %6167, ptr noundef %6169, ptr noundef %6171, i32 noundef %6172) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6174:                                             ; preds = %6147
  %6175 = add nsw i32 %6148, 2
  store i32 %6175, ptr @test_count, align 4, !tbaa !5
  %6176 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %6177 = icmp eq ptr %6176, null
  br i1 %6177, label %6178, label %6200

6178:                                             ; preds = %6174
  %6179 = load i32, ptr %1288, align 4, !tbaa !5
  %6180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6181 = call i32 @s2n_print_stacktrace(ptr noundef %6180) #11
  %6182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6183 = trunc nuw i8 %6182 to i1
  br i1 %6183, label %6184, label %6188

6184:                                             ; preds = %6178
  %6185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6186 = call i32 @fileno(ptr noundef %6185) #11
  %6187 = call i32 @isatty(i32 noundef %6186) #11
  %.not1347 = icmp eq i32 %6187, 0
  br i1 %.not1347, label %6188, label %6189

6188:                                             ; preds = %6184, %6178
  br label %6189

6189:                                             ; preds = %6184, %6188
  %.str.11.sink3500 = phi ptr [ @.str.11, %6188 ], [ @.str.8, %6184 ]
  store i32 %6179, ptr %1288, align 4, !tbaa !5
  %6190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6191 = load i32, ptr @test_count, align 4, !tbaa !5
  %6192 = load i32, ptr %1234, align 4, !tbaa !5
  %6193 = call ptr @s2n_strerror(i32 noundef %6192, ptr noundef nonnull @.str.10) #11
  %6194 = load i32, ptr %1234, align 4, !tbaa !5
  %6195 = call ptr @s2n_strerror_debug(i32 noundef %6194, ptr noundef nonnull @.str.10) #11
  %6196 = load i32, ptr %1288, align 4, !tbaa !5
  %6197 = call ptr @strerror(i32 noundef %6196) #11
  %6198 = load i32, ptr %1288, align 4, !tbaa !5
  %6199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6190, ptr noundef nonnull %.str.11.sink3500, i32 noundef %6191, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 525, ptr noundef %6193, ptr noundef %6195, ptr noundef %6197, i32 noundef %6198) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6200:                                             ; preds = %6174
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %6201 = load i32, ptr %6117, align 4, !tbaa !49
  %6202 = add i32 %6201, 1
  store i32 %6202, ptr %6117, align 4, !tbaa !49
  %6203 = load i32, ptr @test_count, align 4, !tbaa !5
  %6204 = add nsw i32 %6203, 1
  store i32 %6204, ptr @test_count, align 4, !tbaa !5
  %6205 = load ptr, ptr %58, align 8, !tbaa !9
  %6206 = call i32 @s2n_shutdown_send(ptr noundef %6205, ptr noundef nonnull %61)
  %6207 = icmp eq i32 %6206, -1
  br i1 %6207, label %6208, label %6230

6208:                                             ; preds = %6200
  %6209 = load i32, ptr %1288, align 4, !tbaa !5
  %6210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6211 = call i32 @s2n_print_stacktrace(ptr noundef %6210) #11
  %6212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6213 = trunc nuw i8 %6212 to i1
  br i1 %6213, label %6214, label %6218

6214:                                             ; preds = %6208
  %6215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6216 = call i32 @fileno(ptr noundef %6215) #11
  %6217 = call i32 @isatty(i32 noundef %6216) #11
  %.not1346 = icmp eq i32 %6217, 0
  br i1 %.not1346, label %6218, label %6219

6218:                                             ; preds = %6214, %6208
  br label %6219

6219:                                             ; preds = %6214, %6218
  %.str.11.sink3509 = phi ptr [ @.str.11, %6218 ], [ @.str.8, %6214 ]
  store i32 %6209, ptr %1288, align 4, !tbaa !5
  %6220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6221 = load i32, ptr @test_count, align 4, !tbaa !5
  %6222 = load i32, ptr %1234, align 4, !tbaa !5
  %6223 = call ptr @s2n_strerror(i32 noundef %6222, ptr noundef nonnull @.str.10) #11
  %6224 = load i32, ptr %1234, align 4, !tbaa !5
  %6225 = call ptr @s2n_strerror_debug(i32 noundef %6224, ptr noundef nonnull @.str.10) #11
  %6226 = load i32, ptr %1288, align 4, !tbaa !5
  %6227 = call ptr @strerror(i32 noundef %6226) #11
  %6228 = load i32, ptr %1288, align 4, !tbaa !5
  %6229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6220, ptr noundef nonnull %.str.11.sink3509, i32 noundef %6221, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.7, i32 noundef 529, ptr noundef %6223, ptr noundef %6225, ptr noundef %6227, i32 noundef %6228) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6230:                                             ; preds = %6200
  %6231 = load i32, ptr @test_count, align 4, !tbaa !5
  %6232 = add nsw i32 %6231, 1
  store i32 %6232, ptr @test_count, align 4, !tbaa !5
  %6233 = load ptr, ptr %59, align 8, !tbaa !9
  %6234 = call i32 @s2n_shutdown(ptr noundef %6233, ptr noundef nonnull %61)
  %6235 = icmp eq i32 %6234, -1
  br i1 %6235, label %6258, label %6236

6236:                                             ; preds = %6230
  %6237 = load i32, ptr %1288, align 4, !tbaa !5
  %6238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6239 = call i32 @s2n_print_stacktrace(ptr noundef %6238) #11
  %6240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6241 = trunc nuw i8 %6240 to i1
  br i1 %6241, label %6242, label %6246

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

6246:                                             ; preds = %6242, %6236
  br label %6247

6247:                                             ; preds = %6242, %6246
  %.str.11.sink3518 = phi ptr [ @.str.11, %6246 ], [ @.str.8, %6242 ]
  store i32 %6237, ptr %1288, align 4, !tbaa !5
  %6248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6249 = load i32, ptr @test_count, align 4, !tbaa !5
  %6250 = load i32, ptr %1234, align 4, !tbaa !5
  %6251 = call ptr @s2n_strerror(i32 noundef %6250, ptr noundef nonnull @.str.10) #11
  %6252 = load i32, ptr %1234, align 4, !tbaa !5
  %6253 = call ptr @s2n_strerror_debug(i32 noundef %6252, ptr noundef nonnull @.str.10) #11
  %6254 = load i32, ptr %1288, align 4, !tbaa !5
  %6255 = call ptr @strerror(i32 noundef %6254) #11
  %6256 = load i32, ptr %1288, align 4, !tbaa !5
  %6257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6248, ptr noundef nonnull %.str.11.sink3518, i32 noundef %6249, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.7, i32 noundef 532, ptr noundef %6251, ptr noundef %6253, ptr noundef %6255, i32 noundef %6256) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6258:                                             ; preds = %6230
  %6259 = load i32, ptr @test_count, align 4, !tbaa !5
  %6260 = add nsw i32 %6259, 1
  store i32 %6260, ptr @test_count, align 4, !tbaa !5
  %6261 = load i32, ptr %1234, align 4, !tbaa !5
  %6262 = icmp eq i32 %6261, 335544321
  br i1 %6262, label %6285, label %6263

6263:                                             ; preds = %6258
  %6264 = load i32, ptr %1288, align 4, !tbaa !5
  %6265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6266 = call i32 @s2n_print_stacktrace(ptr noundef %6265) #11
  %6267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6268 = trunc nuw i8 %6267 to i1
  br i1 %6268, label %6269, label %6273

6269:                                             ; preds = %6263
  %6270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6271 = call i32 @fileno(ptr noundef %6270) #11
  %6272 = call i32 @isatty(i32 noundef %6271) #11
  %.not1117 = icmp eq i32 %6272, 0
  br i1 %.not1117, label %6273, label %6274

6273:                                             ; preds = %6269, %6263
  br label %6274

6274:                                             ; preds = %6269, %6273
  %.str.11.sink3527 = phi ptr [ @.str.11, %6273 ], [ @.str.8, %6269 ]
  store i32 %6264, ptr %1288, align 4, !tbaa !5
  %6275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6276 = load i32, ptr @test_count, align 4, !tbaa !5
  %6277 = load i32, ptr %1234, align 4, !tbaa !5
  %6278 = call ptr @s2n_strerror(i32 noundef %6277, ptr noundef nonnull @.str.10) #11
  %6279 = load i32, ptr %1234, align 4, !tbaa !5
  %6280 = call ptr @s2n_strerror_debug(i32 noundef %6279, ptr noundef nonnull @.str.10) #11
  %6281 = load i32, ptr %1288, align 4, !tbaa !5
  %6282 = call ptr @strerror(i32 noundef %6281) #11
  %6283 = load i32, ptr %1288, align 4, !tbaa !5
  %6284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6275, ptr noundef nonnull %.str.11.sink3527, i32 noundef %6276, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.7, i32 noundef 532, ptr noundef %6278, ptr noundef %6280, ptr noundef %6282, i32 noundef %6283) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6285:                                             ; preds = %6258
  %6286 = add nsw i32 %6259, 2
  store i32 %6286, ptr @test_count, align 4, !tbaa !5
  %6287 = call ptr @s2n_strerror_debug(i32 noundef 335544321, ptr noundef nonnull @.str.10) #11
  %6288 = icmp eq ptr %6287, null
  br i1 %6288, label %6289, label %6311

6289:                                             ; preds = %6285
  %6290 = load i32, ptr %1288, align 4, !tbaa !5
  %6291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6292 = call i32 @s2n_print_stacktrace(ptr noundef %6291) #11
  %6293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6294 = trunc nuw i8 %6293 to i1
  br i1 %6294, label %6295, label %6299

6295:                                             ; preds = %6289
  %6296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6297 = call i32 @fileno(ptr noundef %6296) #11
  %6298 = call i32 @isatty(i32 noundef %6297) #11
  %.not1345 = icmp eq i32 %6298, 0
  br i1 %.not1345, label %6299, label %6300

6299:                                             ; preds = %6295, %6289
  br label %6300

6300:                                             ; preds = %6295, %6299
  %.str.11.sink3536 = phi ptr [ @.str.11, %6299 ], [ @.str.8, %6295 ]
  store i32 %6290, ptr %1288, align 4, !tbaa !5
  %6301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6302 = load i32, ptr @test_count, align 4, !tbaa !5
  %6303 = load i32, ptr %1234, align 4, !tbaa !5
  %6304 = call ptr @s2n_strerror(i32 noundef %6303, ptr noundef nonnull @.str.10) #11
  %6305 = load i32, ptr %1234, align 4, !tbaa !5
  %6306 = call ptr @s2n_strerror_debug(i32 noundef %6305, ptr noundef nonnull @.str.10) #11
  %6307 = load i32, ptr %1288, align 4, !tbaa !5
  %6308 = call ptr @strerror(i32 noundef %6307) #11
  %6309 = load i32, ptr %1288, align 4, !tbaa !5
  %6310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6301, ptr noundef nonnull %.str.11.sink3536, i32 noundef %6302, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 532, ptr noundef %6304, ptr noundef %6306, ptr noundef %6308, i32 noundef %6309) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6311:                                             ; preds = %6285
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %6312 = load i32, ptr @test_count, align 4, !tbaa !5
  %6313 = add nsw i32 %6312, 1
  store i32 %6313, ptr @test_count, align 4, !tbaa !5
  %6314 = load ptr, ptr %59, align 8, !tbaa !9
  %6315 = getelementptr inbounds i8, ptr %6314, i64 2008
  %6316 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %6315) #11
  br i1 %6316, label %6317, label %6339

6317:                                             ; preds = %6311
  %6318 = load i32, ptr %1288, align 4, !tbaa !5
  %6319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6320 = call i32 @s2n_print_stacktrace(ptr noundef %6319) #11
  %6321 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6322 = trunc nuw i8 %6321 to i1
  br i1 %6322, label %6323, label %6327

6323:                                             ; preds = %6317
  %6324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6325 = call i32 @fileno(ptr noundef %6324) #11
  %6326 = call i32 @isatty(i32 noundef %6325) #11
  %.not1344 = icmp eq i32 %6326, 0
  br i1 %.not1344, label %6327, label %6328

6327:                                             ; preds = %6323, %6317
  br label %6328

6328:                                             ; preds = %6323, %6327
  %.str.11.sink3545 = phi ptr [ @.str.11, %6327 ], [ @.str.8, %6323 ]
  store i32 %6318, ptr %1288, align 4, !tbaa !5
  %6329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6330 = load i32, ptr @test_count, align 4, !tbaa !5
  %6331 = load i32, ptr %1234, align 4, !tbaa !5
  %6332 = call ptr @s2n_strerror(i32 noundef %6331, ptr noundef nonnull @.str.10) #11
  %6333 = load i32, ptr %1234, align 4, !tbaa !5
  %6334 = call ptr @s2n_strerror_debug(i32 noundef %6333, ptr noundef nonnull @.str.10) #11
  %6335 = load i32, ptr %1288, align 4, !tbaa !5
  %6336 = call ptr @strerror(i32 noundef %6335) #11
  %6337 = load i32, ptr %1288, align 4, !tbaa !5
  %6338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6329, ptr noundef nonnull %.str.11.sink3545, i32 noundef %6330, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.7, i32 noundef 533, ptr noundef %6332, ptr noundef %6334, ptr noundef %6336, i32 noundef %6337) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6339:                                             ; preds = %6311
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %62) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %61) #11
  %6340 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %60) #11
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %60) #11
  %6341 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %59) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #11
  %6342 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %58) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %63) #11
  %6343 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %6343, ptr %63, align 8, !tbaa !9
  %6344 = load i32, ptr @test_count, align 4, !tbaa !5
  %6345 = add nsw i32 %6344, 1
  store i32 %6345, ptr @test_count, align 4, !tbaa !5
  %6346 = icmp eq ptr %6343, null
  br i1 %6346, label %6347, label %6369

6347:                                             ; preds = %6339
  %6348 = load i32, ptr %1288, align 4, !tbaa !5
  %6349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6350 = call i32 @s2n_print_stacktrace(ptr noundef %6349) #11
  %6351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6352 = trunc nuw i8 %6351 to i1
  br i1 %6352, label %6353, label %6357

6353:                                             ; preds = %6347
  %6354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6355 = call i32 @fileno(ptr noundef %6354) #11
  %6356 = call i32 @isatty(i32 noundef %6355) #11
  %.not1343 = icmp eq i32 %6356, 0
  br i1 %.not1343, label %6357, label %6358

6357:                                             ; preds = %6353, %6347
  br label %6358

6358:                                             ; preds = %6353, %6357
  %.str.11.sink3554 = phi ptr [ @.str.11, %6357 ], [ @.str.8, %6353 ]
  store i32 %6348, ptr %1288, align 4, !tbaa !5
  %6359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6360 = load i32, ptr @test_count, align 4, !tbaa !5
  %6361 = load i32, ptr %1234, align 4, !tbaa !5
  %6362 = call ptr @s2n_strerror(i32 noundef %6361, ptr noundef nonnull @.str.10) #11
  %6363 = load i32, ptr %1234, align 4, !tbaa !5
  %6364 = call ptr @s2n_strerror_debug(i32 noundef %6363, ptr noundef nonnull @.str.10) #11
  %6365 = load i32, ptr %1288, align 4, !tbaa !5
  %6366 = call ptr @strerror(i32 noundef %6365) #11
  %6367 = load i32, ptr %1288, align 4, !tbaa !5
  %6368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6359, ptr noundef nonnull %.str.11.sink3554, i32 noundef %6360, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.7, i32 noundef 544, ptr noundef %6362, ptr noundef %6364, ptr noundef %6366, i32 noundef %6367) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6369:                                             ; preds = %6339
  %6370 = add nsw i32 %6344, 2
  store i32 %6370, ptr @test_count, align 4, !tbaa !5
  %6371 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6343, ptr noundef %5842) #11
  %6372 = icmp eq i32 %6371, -1
  br i1 %6372, label %6373, label %6395

6373:                                             ; preds = %6369
  %6374 = load i32, ptr %1288, align 4, !tbaa !5
  %6375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6376 = call i32 @s2n_print_stacktrace(ptr noundef %6375) #11
  %6377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6378 = trunc nuw i8 %6377 to i1
  br i1 %6378, label %6379, label %6383

6379:                                             ; preds = %6373
  %6380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6381 = call i32 @fileno(ptr noundef %6380) #11
  %6382 = call i32 @isatty(i32 noundef %6381) #11
  %.not1342 = icmp eq i32 %6382, 0
  br i1 %.not1342, label %6383, label %6384

6383:                                             ; preds = %6379, %6373
  br label %6384

6384:                                             ; preds = %6379, %6383
  %.str.11.sink3563 = phi ptr [ @.str.11, %6383 ], [ @.str.8, %6379 ]
  store i32 %6374, ptr %1288, align 4, !tbaa !5
  %6385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6386 = load i32, ptr @test_count, align 4, !tbaa !5
  %6387 = load i32, ptr %1234, align 4, !tbaa !5
  %6388 = call ptr @s2n_strerror(i32 noundef %6387, ptr noundef nonnull @.str.10) #11
  %6389 = load i32, ptr %1234, align 4, !tbaa !5
  %6390 = call ptr @s2n_strerror_debug(i32 noundef %6389, ptr noundef nonnull @.str.10) #11
  %6391 = load i32, ptr %1288, align 4, !tbaa !5
  %6392 = call ptr @strerror(i32 noundef %6391) #11
  %6393 = load i32, ptr %1288, align 4, !tbaa !5
  %6394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6385, ptr noundef nonnull %.str.11.sink3563, i32 noundef %6386, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.7, i32 noundef 545, ptr noundef %6388, ptr noundef %6390, ptr noundef %6392, i32 noundef %6393) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6395:                                             ; preds = %6369
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %64) #11
  %6396 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %6396, ptr %64, align 8, !tbaa !9
  %6397 = load i32, ptr @test_count, align 4, !tbaa !5
  %6398 = add nsw i32 %6397, 1
  store i32 %6398, ptr @test_count, align 4, !tbaa !5
  %6399 = icmp eq ptr %6396, null
  br i1 %6399, label %6400, label %6422

6400:                                             ; preds = %6395
  %6401 = load i32, ptr %1288, align 4, !tbaa !5
  %6402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6403 = call i32 @s2n_print_stacktrace(ptr noundef %6402) #11
  %6404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6405 = trunc nuw i8 %6404 to i1
  br i1 %6405, label %6406, label %6410

6406:                                             ; preds = %6400
  %6407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6408 = call i32 @fileno(ptr noundef %6407) #11
  %6409 = call i32 @isatty(i32 noundef %6408) #11
  %.not1341 = icmp eq i32 %6409, 0
  br i1 %.not1341, label %6410, label %6411

6410:                                             ; preds = %6406, %6400
  br label %6411

6411:                                             ; preds = %6406, %6410
  %.str.11.sink3572 = phi ptr [ @.str.11, %6410 ], [ @.str.8, %6406 ]
  store i32 %6401, ptr %1288, align 4, !tbaa !5
  %6412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6413 = load i32, ptr @test_count, align 4, !tbaa !5
  %6414 = load i32, ptr %1234, align 4, !tbaa !5
  %6415 = call ptr @s2n_strerror(i32 noundef %6414, ptr noundef nonnull @.str.10) #11
  %6416 = load i32, ptr %1234, align 4, !tbaa !5
  %6417 = call ptr @s2n_strerror_debug(i32 noundef %6416, ptr noundef nonnull @.str.10) #11
  %6418 = load i32, ptr %1288, align 4, !tbaa !5
  %6419 = call ptr @strerror(i32 noundef %6418) #11
  %6420 = load i32, ptr %1288, align 4, !tbaa !5
  %6421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6412, ptr noundef nonnull %.str.11.sink3572, i32 noundef %6413, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.7, i32 noundef 549, ptr noundef %6415, ptr noundef %6417, ptr noundef %6419, i32 noundef %6420) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6422:                                             ; preds = %6395
  %6423 = add nsw i32 %6397, 2
  store i32 %6423, ptr @test_count, align 4, !tbaa !5
  %6424 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6396, ptr noundef %5842) #11
  %6425 = icmp eq i32 %6424, -1
  br i1 %6425, label %6426, label %6448

6426:                                             ; preds = %6422
  %6427 = load i32, ptr %1288, align 4, !tbaa !5
  %6428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6429 = call i32 @s2n_print_stacktrace(ptr noundef %6428) #11
  %6430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6431 = trunc nuw i8 %6430 to i1
  br i1 %6431, label %6432, label %6436

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

6436:                                             ; preds = %6432, %6426
  br label %6437

6437:                                             ; preds = %6432, %6436
  %.str.11.sink3581 = phi ptr [ @.str.11, %6436 ], [ @.str.8, %6432 ]
  store i32 %6427, ptr %1288, align 4, !tbaa !5
  %6438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6439 = load i32, ptr @test_count, align 4, !tbaa !5
  %6440 = load i32, ptr %1234, align 4, !tbaa !5
  %6441 = call ptr @s2n_strerror(i32 noundef %6440, ptr noundef nonnull @.str.10) #11
  %6442 = load i32, ptr %1234, align 4, !tbaa !5
  %6443 = call ptr @s2n_strerror_debug(i32 noundef %6442, ptr noundef nonnull @.str.10) #11
  %6444 = load i32, ptr %1288, align 4, !tbaa !5
  %6445 = call ptr @strerror(i32 noundef %6444) #11
  %6446 = load i32, ptr %1288, align 4, !tbaa !5
  %6447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6438, ptr noundef nonnull %.str.11.sink3581, i32 noundef %6439, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.7, i32 noundef 550, ptr noundef %6441, ptr noundef %6443, ptr noundef %6445, i32 noundef %6446) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6448:                                             ; preds = %6422
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %65) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %65, i8 0, i64 80, i1 false)
  %6449 = load i32, ptr @test_count, align 4, !tbaa !5
  %6450 = add nsw i32 %6449, 1
  store i32 %6450, ptr @test_count, align 4, !tbaa !5
  %6451 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %65) #11
  %6452 = call zeroext i1 @s2n_result_is_ok(i32 %6451)
  br i1 %6452, label %6475, label %6453

6453:                                             ; preds = %6448
  %6454 = load i32, ptr %1288, align 4, !tbaa !5
  %6455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6456 = call i32 @s2n_print_stacktrace(ptr noundef %6455) #11
  %6457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6458 = trunc nuw i8 %6457 to i1
  br i1 %6458, label %6459, label %6463

6459:                                             ; preds = %6453
  %6460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6461 = call i32 @fileno(ptr noundef %6460) #11
  %6462 = call i32 @isatty(i32 noundef %6461) #11
  %.not1118 = icmp eq i32 %6462, 0
  br i1 %.not1118, label %6463, label %6464

6463:                                             ; preds = %6459, %6453
  br label %6464

6464:                                             ; preds = %6459, %6463
  %.str.11.sink3590 = phi ptr [ @.str.11, %6463 ], [ @.str.8, %6459 ]
  store i32 %6454, ptr %1288, align 4, !tbaa !5
  %6465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6466 = load i32, ptr @test_count, align 4, !tbaa !5
  %6467 = load i32, ptr %1234, align 4, !tbaa !5
  %6468 = call ptr @s2n_strerror(i32 noundef %6467, ptr noundef nonnull @.str.10) #11
  %6469 = load i32, ptr %1234, align 4, !tbaa !5
  %6470 = call ptr @s2n_strerror_debug(i32 noundef %6469, ptr noundef nonnull @.str.10) #11
  %6471 = load i32, ptr %1288, align 4, !tbaa !5
  %6472 = call ptr @strerror(i32 noundef %6471) #11
  %6473 = load i32, ptr %1288, align 4, !tbaa !5
  %6474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6465, ptr noundef nonnull %.str.11.sink3590, i32 noundef %6466, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.7, i32 noundef 554, ptr noundef %6468, ptr noundef %6470, ptr noundef %6472, i32 noundef %6473) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6475:                                             ; preds = %6448
  %6476 = load i32, ptr @test_count, align 4, !tbaa !5
  %6477 = add nsw i32 %6476, 1
  store i32 %6477, ptr @test_count, align 4, !tbaa !5
  %6478 = load ptr, ptr %63, align 8, !tbaa !9
  %6479 = load ptr, ptr %64, align 8, !tbaa !9
  %6480 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %6478, ptr noundef %6479, ptr noundef nonnull %65) #11
  %6481 = call zeroext i1 @s2n_result_is_ok(i32 %6480)
  br i1 %6481, label %6504, label %6482

6482:                                             ; preds = %6475
  %6483 = load i32, ptr %1288, align 4, !tbaa !5
  %6484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6485 = call i32 @s2n_print_stacktrace(ptr noundef %6484) #11
  %6486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6487 = trunc nuw i8 %6486 to i1
  br i1 %6487, label %6488, label %6492

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

6492:                                             ; preds = %6488, %6482
  br label %6493

6493:                                             ; preds = %6488, %6492
  %.str.11.sink3599 = phi ptr [ @.str.11, %6492 ], [ @.str.8, %6488 ]
  store i32 %6483, ptr %1288, align 4, !tbaa !5
  %6494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6495 = load i32, ptr @test_count, align 4, !tbaa !5
  %6496 = load i32, ptr %1234, align 4, !tbaa !5
  %6497 = call ptr @s2n_strerror(i32 noundef %6496, ptr noundef nonnull @.str.10) #11
  %6498 = load i32, ptr %1234, align 4, !tbaa !5
  %6499 = call ptr @s2n_strerror_debug(i32 noundef %6498, ptr noundef nonnull @.str.10) #11
  %6500 = load i32, ptr %1288, align 4, !tbaa !5
  %6501 = call ptr @strerror(i32 noundef %6500) #11
  %6502 = load i32, ptr %1288, align 4, !tbaa !5
  %6503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6494, ptr noundef nonnull %.str.11.sink3599, i32 noundef %6495, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.7, i32 noundef 555, ptr noundef %6497, ptr noundef %6499, ptr noundef %6501, i32 noundef %6502) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6504:                                             ; preds = %6475
  %6505 = load i32, ptr @test_count, align 4, !tbaa !5
  %6506 = add nsw i32 %6505, 1
  store i32 %6506, ptr @test_count, align 4, !tbaa !5
  %6507 = load ptr, ptr %64, align 8, !tbaa !9
  %6508 = load ptr, ptr %63, align 8, !tbaa !9
  %6509 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %6507, ptr noundef %6508) #11
  %6510 = icmp eq i32 %6509, -1
  br i1 %6510, label %6511, label %6533

6511:                                             ; preds = %6504
  %6512 = load i32, ptr %1288, align 4, !tbaa !5
  %6513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6514 = call i32 @s2n_print_stacktrace(ptr noundef %6513) #11
  %6515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6516 = trunc nuw i8 %6515 to i1
  br i1 %6516, label %6517, label %6521

6517:                                             ; preds = %6511
  %6518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6519 = call i32 @fileno(ptr noundef %6518) #11
  %6520 = call i32 @isatty(i32 noundef %6519) #11
  %.not1339 = icmp eq i32 %6520, 0
  br i1 %.not1339, label %6521, label %6522

6521:                                             ; preds = %6517, %6511
  br label %6522

6522:                                             ; preds = %6517, %6521
  %.str.11.sink3608 = phi ptr [ @.str.11, %6521 ], [ @.str.8, %6517 ]
  store i32 %6512, ptr %1288, align 4, !tbaa !5
  %6523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6524 = load i32, ptr @test_count, align 4, !tbaa !5
  %6525 = load i32, ptr %1234, align 4, !tbaa !5
  %6526 = call ptr @s2n_strerror(i32 noundef %6525, ptr noundef nonnull @.str.10) #11
  %6527 = load i32, ptr %1234, align 4, !tbaa !5
  %6528 = call ptr @s2n_strerror_debug(i32 noundef %6527, ptr noundef nonnull @.str.10) #11
  %6529 = load i32, ptr %1288, align 4, !tbaa !5
  %6530 = call ptr @strerror(i32 noundef %6529) #11
  %6531 = load i32, ptr %1288, align 4, !tbaa !5
  %6532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6523, ptr noundef nonnull %.str.11.sink3608, i32 noundef %6524, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.7, i32 noundef 556, ptr noundef %6526, ptr noundef %6528, ptr noundef %6530, i32 noundef %6531) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6533:                                             ; preds = %6504
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %66) #11
  store i32 0, ptr %66, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %67) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %67, ptr noundef nonnull align 1 dereferenceable(12) @__const.main.test_data.93, i64 12, i1 false)
  %6534 = load i32, ptr @test_count, align 4, !tbaa !5
  %6535 = add nsw i32 %6534, 1
  store i32 %6535, ptr @test_count, align 4, !tbaa !5
  %6536 = load ptr, ptr %63, align 8, !tbaa !9
  %6537 = call i64 @s2n_send(ptr noundef %6536, ptr noundef nonnull %67, i64 noundef 12, ptr noundef nonnull %66) #11
  %6538 = icmp eq i64 %6537, 12
  br i1 %6538, label %6561, label %6539

6539:                                             ; preds = %6533
  %6540 = load i32, ptr %1288, align 4, !tbaa !5
  %6541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6542 = call i32 @s2n_print_stacktrace(ptr noundef %6541) #11
  %6543 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6544 = trunc nuw i8 %6543 to i1
  br i1 %6544, label %6545, label %6549

6545:                                             ; preds = %6539
  %6546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6547 = call i32 @fileno(ptr noundef %6546) #11
  %6548 = call i32 @isatty(i32 noundef %6547) #11
  %.not1120 = icmp eq i32 %6548, 0
  br i1 %.not1120, label %6549, label %6550

6549:                                             ; preds = %6545, %6539
  br label %6550

6550:                                             ; preds = %6545, %6549
  %.str.11.sink3617 = phi ptr [ @.str.11, %6549 ], [ @.str.8, %6545 ]
  store i32 %6540, ptr %1288, align 4, !tbaa !5
  %6551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6552 = load i32, ptr @test_count, align 4, !tbaa !5
  %6553 = load i32, ptr %1234, align 4, !tbaa !5
  %6554 = call ptr @s2n_strerror(i32 noundef %6553, ptr noundef nonnull @.str.10) #11
  %6555 = load i32, ptr %1234, align 4, !tbaa !5
  %6556 = call ptr @s2n_strerror_debug(i32 noundef %6555, ptr noundef nonnull @.str.10) #11
  %6557 = load i32, ptr %1288, align 4, !tbaa !5
  %6558 = call ptr @strerror(i32 noundef %6557) #11
  %6559 = load i32, ptr %1288, align 4, !tbaa !5
  %6560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6551, ptr noundef nonnull %.str.11.sink3617, i32 noundef %6552, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.7, i32 noundef 562, ptr noundef %6554, ptr noundef %6556, ptr noundef %6558, i32 noundef %6559) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6561:                                             ; preds = %6533
  %6562 = load i32, ptr @test_count, align 4, !tbaa !5
  %6563 = add nsw i32 %6562, 1
  store i32 %6563, ptr @test_count, align 4, !tbaa !5
  %6564 = load ptr, ptr %64, align 8, !tbaa !9
  %6565 = call i64 @s2n_recv(ptr noundef %6564, ptr noundef nonnull %67, i64 noundef 1, ptr noundef nonnull %66) #11
  %6566 = icmp eq i64 %6565, 1
  br i1 %6566, label %6589, label %6567

6567:                                             ; preds = %6561
  %6568 = load i32, ptr %1288, align 4, !tbaa !5
  %6569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6570 = call i32 @s2n_print_stacktrace(ptr noundef %6569) #11
  %6571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6572 = trunc nuw i8 %6571 to i1
  br i1 %6572, label %6573, label %6577

6573:                                             ; preds = %6567
  %6574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6575 = call i32 @fileno(ptr noundef %6574) #11
  %6576 = call i32 @isatty(i32 noundef %6575) #11
  %.not1121 = icmp eq i32 %6576, 0
  br i1 %.not1121, label %6577, label %6578

6577:                                             ; preds = %6573, %6567
  br label %6578

6578:                                             ; preds = %6573, %6577
  %.str.11.sink3626 = phi ptr [ @.str.11, %6577 ], [ @.str.8, %6573 ]
  store i32 %6568, ptr %1288, align 4, !tbaa !5
  %6579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6580 = load i32, ptr @test_count, align 4, !tbaa !5
  %6581 = load i32, ptr %1234, align 4, !tbaa !5
  %6582 = call ptr @s2n_strerror(i32 noundef %6581, ptr noundef nonnull @.str.10) #11
  %6583 = load i32, ptr %1234, align 4, !tbaa !5
  %6584 = call ptr @s2n_strerror_debug(i32 noundef %6583, ptr noundef nonnull @.str.10) #11
  %6585 = load i32, ptr %1288, align 4, !tbaa !5
  %6586 = call ptr @strerror(i32 noundef %6585) #11
  %6587 = load i32, ptr %1288, align 4, !tbaa !5
  %6588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6579, ptr noundef nonnull %.str.11.sink3626, i32 noundef %6580, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.7, i32 noundef 565, ptr noundef %6582, ptr noundef %6584, ptr noundef %6586, i32 noundef %6587) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6589:                                             ; preds = %6561
  %6590 = load i32, ptr @test_count, align 4, !tbaa !5
  %6591 = add nsw i32 %6590, 1
  store i32 %6591, ptr @test_count, align 4, !tbaa !5
  %6592 = load ptr, ptr %63, align 8, !tbaa !9
  %6593 = call i32 @s2n_shutdown_send(ptr noundef %6592, ptr noundef nonnull %66)
  %6594 = icmp eq i32 %6593, -1
  br i1 %6594, label %6595, label %6617

6595:                                             ; preds = %6589
  %6596 = load i32, ptr %1288, align 4, !tbaa !5
  %6597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6598 = call i32 @s2n_print_stacktrace(ptr noundef %6597) #11
  %6599 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6600 = trunc nuw i8 %6599 to i1
  br i1 %6600, label %6601, label %6605

6601:                                             ; preds = %6595
  %6602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6603 = call i32 @fileno(ptr noundef %6602) #11
  %6604 = call i32 @isatty(i32 noundef %6603) #11
  %.not1338 = icmp eq i32 %6604, 0
  br i1 %.not1338, label %6605, label %6606

6605:                                             ; preds = %6601, %6595
  br label %6606

6606:                                             ; preds = %6601, %6605
  %.str.11.sink3635 = phi ptr [ @.str.11, %6605 ], [ @.str.8, %6601 ]
  store i32 %6596, ptr %1288, align 4, !tbaa !5
  %6607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6608 = load i32, ptr @test_count, align 4, !tbaa !5
  %6609 = load i32, ptr %1234, align 4, !tbaa !5
  %6610 = call ptr @s2n_strerror(i32 noundef %6609, ptr noundef nonnull @.str.10) #11
  %6611 = load i32, ptr %1234, align 4, !tbaa !5
  %6612 = call ptr @s2n_strerror_debug(i32 noundef %6611, ptr noundef nonnull @.str.10) #11
  %6613 = load i32, ptr %1288, align 4, !tbaa !5
  %6614 = call ptr @strerror(i32 noundef %6613) #11
  %6615 = load i32, ptr %1288, align 4, !tbaa !5
  %6616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6607, ptr noundef nonnull %.str.11.sink3635, i32 noundef %6608, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.7, i32 noundef 568, ptr noundef %6610, ptr noundef %6612, ptr noundef %6614, i32 noundef %6615) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6617:                                             ; preds = %6589
  %6618 = load i32, ptr @test_count, align 4, !tbaa !5
  %6619 = add nsw i32 %6618, 1
  store i32 %6619, ptr @test_count, align 4, !tbaa !5
  %6620 = load ptr, ptr %64, align 8, !tbaa !9
  %6621 = call i32 @s2n_shutdown(ptr noundef %6620, ptr noundef nonnull %66)
  %6622 = icmp eq i32 %6621, -1
  br i1 %6622, label %6623, label %6645

6623:                                             ; preds = %6617
  %6624 = load i32, ptr %1288, align 4, !tbaa !5
  %6625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6626 = call i32 @s2n_print_stacktrace(ptr noundef %6625) #11
  %6627 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6628 = trunc nuw i8 %6627 to i1
  br i1 %6628, label %6629, label %6633

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

6633:                                             ; preds = %6629, %6623
  br label %6634

6634:                                             ; preds = %6629, %6633
  %.str.11.sink3644 = phi ptr [ @.str.11, %6633 ], [ @.str.8, %6629 ]
  store i32 %6624, ptr %1288, align 4, !tbaa !5
  %6635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6636 = load i32, ptr @test_count, align 4, !tbaa !5
  %6637 = load i32, ptr %1234, align 4, !tbaa !5
  %6638 = call ptr @s2n_strerror(i32 noundef %6637, ptr noundef nonnull @.str.10) #11
  %6639 = load i32, ptr %1234, align 4, !tbaa !5
  %6640 = call ptr @s2n_strerror_debug(i32 noundef %6639, ptr noundef nonnull @.str.10) #11
  %6641 = load i32, ptr %1288, align 4, !tbaa !5
  %6642 = call ptr @strerror(i32 noundef %6641) #11
  %6643 = load i32, ptr %1288, align 4, !tbaa !5
  %6644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6635, ptr noundef nonnull %.str.11.sink3644, i32 noundef %6636, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.7, i32 noundef 573, ptr noundef %6638, ptr noundef %6640, ptr noundef %6642, i32 noundef %6643) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6645:                                             ; preds = %6617
  %6646 = load i32, ptr @test_count, align 4, !tbaa !5
  %6647 = add nsw i32 %6646, 1
  store i32 %6647, ptr @test_count, align 4, !tbaa !5
  %6648 = load ptr, ptr %64, align 8, !tbaa !9
  %6649 = getelementptr inbounds i8, ptr %6648, i64 2008
  %6650 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %6649) #11
  br i1 %6650, label %6673, label %6651

6651:                                             ; preds = %6645
  %6652 = load i32, ptr %1288, align 4, !tbaa !5
  %6653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6654 = call i32 @s2n_print_stacktrace(ptr noundef %6653) #11
  %6655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6656 = trunc nuw i8 %6655 to i1
  br i1 %6656, label %6657, label %6661

6657:                                             ; preds = %6651
  %6658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6659 = call i32 @fileno(ptr noundef %6658) #11
  %6660 = call i32 @isatty(i32 noundef %6659) #11
  %.not1122 = icmp eq i32 %6660, 0
  br i1 %.not1122, label %6661, label %6662

6661:                                             ; preds = %6657, %6651
  br label %6662

6662:                                             ; preds = %6657, %6661
  %.str.11.sink3653 = phi ptr [ @.str.11, %6661 ], [ @.str.8, %6657 ]
  store i32 %6652, ptr %1288, align 4, !tbaa !5
  %6663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6664 = load i32, ptr @test_count, align 4, !tbaa !5
  %6665 = load i32, ptr %1234, align 4, !tbaa !5
  %6666 = call ptr @s2n_strerror(i32 noundef %6665, ptr noundef nonnull @.str.10) #11
  %6667 = load i32, ptr %1234, align 4, !tbaa !5
  %6668 = call ptr @s2n_strerror_debug(i32 noundef %6667, ptr noundef nonnull @.str.10) #11
  %6669 = load i32, ptr %1288, align 4, !tbaa !5
  %6670 = call ptr @strerror(i32 noundef %6669) #11
  %6671 = load i32, ptr %1288, align 4, !tbaa !5
  %6672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6663, ptr noundef nonnull %.str.11.sink3653, i32 noundef %6664, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.7, i32 noundef 574, ptr noundef %6666, ptr noundef %6668, ptr noundef %6670, i32 noundef %6671) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6673:                                             ; preds = %6645
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %67) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %66) #11
  %6674 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %65) #11
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %65) #11
  %6675 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %64) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #11
  %6676 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %63) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %68) #11
  %6677 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %6677, ptr %68, align 8, !tbaa !9
  %6678 = load i32, ptr @test_count, align 4, !tbaa !5
  %6679 = add nsw i32 %6678, 1
  store i32 %6679, ptr @test_count, align 4, !tbaa !5
  %6680 = icmp eq ptr %6677, null
  br i1 %6680, label %6681, label %6703

6681:                                             ; preds = %6673
  %6682 = load i32, ptr %1288, align 4, !tbaa !5
  %6683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6684 = call i32 @s2n_print_stacktrace(ptr noundef %6683) #11
  %6685 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6686 = trunc nuw i8 %6685 to i1
  br i1 %6686, label %6687, label %6691

6687:                                             ; preds = %6681
  %6688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6689 = call i32 @fileno(ptr noundef %6688) #11
  %6690 = call i32 @isatty(i32 noundef %6689) #11
  %.not1336 = icmp eq i32 %6690, 0
  br i1 %.not1336, label %6691, label %6692

6691:                                             ; preds = %6687, %6681
  br label %6692

6692:                                             ; preds = %6687, %6691
  %.str.11.sink3662 = phi ptr [ @.str.11, %6691 ], [ @.str.8, %6687 ]
  store i32 %6682, ptr %1288, align 4, !tbaa !5
  %6693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6694 = load i32, ptr @test_count, align 4, !tbaa !5
  %6695 = load i32, ptr %1234, align 4, !tbaa !5
  %6696 = call ptr @s2n_strerror(i32 noundef %6695, ptr noundef nonnull @.str.10) #11
  %6697 = load i32, ptr %1234, align 4, !tbaa !5
  %6698 = call ptr @s2n_strerror_debug(i32 noundef %6697, ptr noundef nonnull @.str.10) #11
  %6699 = load i32, ptr %1288, align 4, !tbaa !5
  %6700 = call ptr @strerror(i32 noundef %6699) #11
  %6701 = load i32, ptr %1288, align 4, !tbaa !5
  %6702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6693, ptr noundef nonnull %.str.11.sink3662, i32 noundef %6694, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.7, i32 noundef 581, ptr noundef %6696, ptr noundef %6698, ptr noundef %6700, i32 noundef %6701) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6703:                                             ; preds = %6673
  %6704 = add nsw i32 %6678, 2
  store i32 %6704, ptr @test_count, align 4, !tbaa !5
  %6705 = call i32 @s2n_skip_handshake(ptr noundef nonnull %6677) #11
  %6706 = call zeroext i1 @s2n_result_is_ok(i32 %6705)
  br i1 %6706, label %6729, label %6707

6707:                                             ; preds = %6703
  %6708 = load i32, ptr %1288, align 4, !tbaa !5
  %6709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6710 = call i32 @s2n_print_stacktrace(ptr noundef %6709) #11
  %6711 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6712 = trunc nuw i8 %6711 to i1
  br i1 %6712, label %6713, label %6717

6713:                                             ; preds = %6707
  %6714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6715 = call i32 @fileno(ptr noundef %6714) #11
  %6716 = call i32 @isatty(i32 noundef %6715) #11
  %.not1123 = icmp eq i32 %6716, 0
  br i1 %.not1123, label %6717, label %6718

6717:                                             ; preds = %6713, %6707
  br label %6718

6718:                                             ; preds = %6713, %6717
  %.str.11.sink3671 = phi ptr [ @.str.11, %6717 ], [ @.str.8, %6713 ]
  store i32 %6708, ptr %1288, align 4, !tbaa !5
  %6719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6720 = load i32, ptr @test_count, align 4, !tbaa !5
  %6721 = load i32, ptr %1234, align 4, !tbaa !5
  %6722 = call ptr @s2n_strerror(i32 noundef %6721, ptr noundef nonnull @.str.10) #11
  %6723 = load i32, ptr %1234, align 4, !tbaa !5
  %6724 = call ptr @s2n_strerror_debug(i32 noundef %6723, ptr noundef nonnull @.str.10) #11
  %6725 = load i32, ptr %1288, align 4, !tbaa !5
  %6726 = call ptr @strerror(i32 noundef %6725) #11
  %6727 = load i32, ptr %1288, align 4, !tbaa !5
  %6728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6719, ptr noundef nonnull %.str.11.sink3671, i32 noundef %6720, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.7, i32 noundef 582, ptr noundef %6722, ptr noundef %6724, ptr noundef %6726, i32 noundef %6727) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6729:                                             ; preds = %6703
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %69) #11
  %6730 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %6730, ptr %69, align 8, !tbaa !9
  %6731 = load i32, ptr @test_count, align 4, !tbaa !5
  %6732 = add nsw i32 %6731, 1
  store i32 %6732, ptr @test_count, align 4, !tbaa !5
  %6733 = icmp eq ptr %6730, null
  br i1 %6733, label %6734, label %6756

6734:                                             ; preds = %6729
  %6735 = load i32, ptr %1288, align 4, !tbaa !5
  %6736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6737 = call i32 @s2n_print_stacktrace(ptr noundef %6736) #11
  %6738 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6739 = trunc nuw i8 %6738 to i1
  br i1 %6739, label %6740, label %6744

6740:                                             ; preds = %6734
  %6741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6742 = call i32 @fileno(ptr noundef %6741) #11
  %6743 = call i32 @isatty(i32 noundef %6742) #11
  %.not1335 = icmp eq i32 %6743, 0
  br i1 %.not1335, label %6744, label %6745

6744:                                             ; preds = %6740, %6734
  br label %6745

6745:                                             ; preds = %6740, %6744
  %.str.11.sink3680 = phi ptr [ @.str.11, %6744 ], [ @.str.8, %6740 ]
  store i32 %6735, ptr %1288, align 4, !tbaa !5
  %6746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6747 = load i32, ptr @test_count, align 4, !tbaa !5
  %6748 = load i32, ptr %1234, align 4, !tbaa !5
  %6749 = call ptr @s2n_strerror(i32 noundef %6748, ptr noundef nonnull @.str.10) #11
  %6750 = load i32, ptr %1234, align 4, !tbaa !5
  %6751 = call ptr @s2n_strerror_debug(i32 noundef %6750, ptr noundef nonnull @.str.10) #11
  %6752 = load i32, ptr %1288, align 4, !tbaa !5
  %6753 = call ptr @strerror(i32 noundef %6752) #11
  %6754 = load i32, ptr %1288, align 4, !tbaa !5
  %6755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6746, ptr noundef nonnull %.str.11.sink3680, i32 noundef %6747, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.7, i32 noundef 586, ptr noundef %6749, ptr noundef %6751, ptr noundef %6753, i32 noundef %6754) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6756:                                             ; preds = %6729
  %6757 = add nsw i32 %6731, 2
  store i32 %6757, ptr @test_count, align 4, !tbaa !5
  %6758 = call i32 @s2n_skip_handshake(ptr noundef nonnull %6730) #11
  %6759 = call zeroext i1 @s2n_result_is_ok(i32 %6758)
  br i1 %6759, label %6782, label %6760

6760:                                             ; preds = %6756
  %6761 = load i32, ptr %1288, align 4, !tbaa !5
  %6762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6763 = call i32 @s2n_print_stacktrace(ptr noundef %6762) #11
  %6764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6765 = trunc nuw i8 %6764 to i1
  br i1 %6765, label %6766, label %6770

6766:                                             ; preds = %6760
  %6767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6768 = call i32 @fileno(ptr noundef %6767) #11
  %6769 = call i32 @isatty(i32 noundef %6768) #11
  %.not1124 = icmp eq i32 %6769, 0
  br i1 %.not1124, label %6770, label %6771

6770:                                             ; preds = %6766, %6760
  br label %6771

6771:                                             ; preds = %6766, %6770
  %.str.11.sink3689 = phi ptr [ @.str.11, %6770 ], [ @.str.8, %6766 ]
  store i32 %6761, ptr %1288, align 4, !tbaa !5
  %6772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6773 = load i32, ptr @test_count, align 4, !tbaa !5
  %6774 = load i32, ptr %1234, align 4, !tbaa !5
  %6775 = call ptr @s2n_strerror(i32 noundef %6774, ptr noundef nonnull @.str.10) #11
  %6776 = load i32, ptr %1234, align 4, !tbaa !5
  %6777 = call ptr @s2n_strerror_debug(i32 noundef %6776, ptr noundef nonnull @.str.10) #11
  %6778 = load i32, ptr %1288, align 4, !tbaa !5
  %6779 = call ptr @strerror(i32 noundef %6778) #11
  %6780 = load i32, ptr %1288, align 4, !tbaa !5
  %6781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6772, ptr noundef nonnull %.str.11.sink3689, i32 noundef %6773, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.7, i32 noundef 587, ptr noundef %6775, ptr noundef %6777, ptr noundef %6779, i32 noundef %6780) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6782:                                             ; preds = %6756
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %70) #11
  store i64 0, ptr %70, align 8
  %6783 = load i32, ptr @test_count, align 4, !tbaa !5
  %6784 = add nsw i32 %6783, 1
  store i32 %6784, ptr @test_count, align 4, !tbaa !5
  %6785 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %70) #11
  %6786 = icmp eq i32 %6785, -1
  br i1 %6786, label %6787, label %6809

6787:                                             ; preds = %6782
  %6788 = load i32, ptr %1288, align 4, !tbaa !5
  %6789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6790 = call i32 @s2n_print_stacktrace(ptr noundef %6789) #11
  %6791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6792 = trunc nuw i8 %6791 to i1
  br i1 %6792, label %6793, label %6797

6793:                                             ; preds = %6787
  %6794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6795 = call i32 @fileno(ptr noundef %6794) #11
  %6796 = call i32 @isatty(i32 noundef %6795) #11
  %.not1334 = icmp eq i32 %6796, 0
  br i1 %.not1334, label %6797, label %6798

6797:                                             ; preds = %6793, %6787
  br label %6798

6798:                                             ; preds = %6793, %6797
  %.str.11.sink3698 = phi ptr [ @.str.11, %6797 ], [ @.str.8, %6793 ]
  store i32 %6788, ptr %1288, align 4, !tbaa !5
  %6799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6800 = load i32, ptr @test_count, align 4, !tbaa !5
  %6801 = load i32, ptr %1234, align 4, !tbaa !5
  %6802 = call ptr @s2n_strerror(i32 noundef %6801, ptr noundef nonnull @.str.10) #11
  %6803 = load i32, ptr %1234, align 4, !tbaa !5
  %6804 = call ptr @s2n_strerror_debug(i32 noundef %6803, ptr noundef nonnull @.str.10) #11
  %6805 = load i32, ptr %1288, align 4, !tbaa !5
  %6806 = call ptr @strerror(i32 noundef %6805) #11
  %6807 = load i32, ptr %1288, align 4, !tbaa !5
  %6808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6799, ptr noundef nonnull %.str.11.sink3698, i32 noundef %6800, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.7, i32 noundef 590, ptr noundef %6802, ptr noundef %6804, ptr noundef %6806, i32 noundef %6807) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6809:                                             ; preds = %6782
  %6810 = load i32, ptr @test_count, align 4, !tbaa !5
  %6811 = add nsw i32 %6810, 1
  store i32 %6811, ptr @test_count, align 4, !tbaa !5
  %6812 = load ptr, ptr %69, align 8, !tbaa !9
  %6813 = load ptr, ptr %68, align 8, !tbaa !9
  %6814 = call i32 @s2n_connections_set_io_pair(ptr noundef %6812, ptr noundef %6813, ptr noundef nonnull %70) #11
  %6815 = icmp eq i32 %6814, -1
  br i1 %6815, label %6816, label %6838

6816:                                             ; preds = %6809
  %6817 = load i32, ptr %1288, align 4, !tbaa !5
  %6818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6819 = call i32 @s2n_print_stacktrace(ptr noundef %6818) #11
  %6820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6821 = trunc nuw i8 %6820 to i1
  br i1 %6821, label %6822, label %6826

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

6826:                                             ; preds = %6822, %6816
  br label %6827

6827:                                             ; preds = %6822, %6826
  %.str.11.sink3707 = phi ptr [ @.str.11, %6826 ], [ @.str.8, %6822 ]
  store i32 %6817, ptr %1288, align 4, !tbaa !5
  %6828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6829 = load i32, ptr @test_count, align 4, !tbaa !5
  %6830 = load i32, ptr %1234, align 4, !tbaa !5
  %6831 = call ptr @s2n_strerror(i32 noundef %6830, ptr noundef nonnull @.str.10) #11
  %6832 = load i32, ptr %1234, align 4, !tbaa !5
  %6833 = call ptr @s2n_strerror_debug(i32 noundef %6832, ptr noundef nonnull @.str.10) #11
  %6834 = load i32, ptr %1288, align 4, !tbaa !5
  %6835 = call ptr @strerror(i32 noundef %6834) #11
  %6836 = load i32, ptr %1288, align 4, !tbaa !5
  %6837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6828, ptr noundef nonnull %.str.11.sink3707, i32 noundef %6829, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.7, i32 noundef 591, ptr noundef %6831, ptr noundef %6833, ptr noundef %6835, i32 noundef %6836) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6838:                                             ; preds = %6809
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %71) #11
  store i32 0, ptr %71, align 4, !tbaa !5
  %6839 = load i32, ptr @test_count, align 4, !tbaa !5
  %6840 = add nsw i32 %6839, 1
  store i32 %6840, ptr @test_count, align 4, !tbaa !5
  %6841 = load ptr, ptr %69, align 8, !tbaa !9
  %6842 = call i32 @s2n_shutdown(ptr noundef %6841, ptr noundef nonnull %71)
  %6843 = icmp eq i32 %6842, -1
  br i1 %6843, label %6866, label %6844

6844:                                             ; preds = %6838
  %6845 = load i32, ptr %1288, align 4, !tbaa !5
  %6846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6847 = call i32 @s2n_print_stacktrace(ptr noundef %6846) #11
  %6848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6849 = trunc nuw i8 %6848 to i1
  br i1 %6849, label %6850, label %6854

6850:                                             ; preds = %6844
  %6851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6852 = call i32 @fileno(ptr noundef %6851) #11
  %6853 = call i32 @isatty(i32 noundef %6852) #11
  %.not1125 = icmp eq i32 %6853, 0
  br i1 %.not1125, label %6854, label %6855

6854:                                             ; preds = %6850, %6844
  br label %6855

6855:                                             ; preds = %6850, %6854
  %.str.11.sink3716 = phi ptr [ @.str.11, %6854 ], [ @.str.8, %6850 ]
  store i32 %6845, ptr %1288, align 4, !tbaa !5
  %6856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6857 = load i32, ptr @test_count, align 4, !tbaa !5
  %6858 = load i32, ptr %1234, align 4, !tbaa !5
  %6859 = call ptr @s2n_strerror(i32 noundef %6858, ptr noundef nonnull @.str.10) #11
  %6860 = load i32, ptr %1234, align 4, !tbaa !5
  %6861 = call ptr @s2n_strerror_debug(i32 noundef %6860, ptr noundef nonnull @.str.10) #11
  %6862 = load i32, ptr %1288, align 4, !tbaa !5
  %6863 = call ptr @strerror(i32 noundef %6862) #11
  %6864 = load i32, ptr %1288, align 4, !tbaa !5
  %6865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6856, ptr noundef nonnull %.str.11.sink3716, i32 noundef %6857, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.7, i32 noundef 595, ptr noundef %6859, ptr noundef %6861, ptr noundef %6863, i32 noundef %6864) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6866:                                             ; preds = %6838
  %6867 = load i32, ptr @test_count, align 4, !tbaa !5
  %6868 = add nsw i32 %6867, 1
  store i32 %6868, ptr @test_count, align 4, !tbaa !5
  %6869 = load i32, ptr %1234, align 4, !tbaa !5
  %6870 = icmp eq i32 %6869, 201326592
  br i1 %6870, label %6893, label %6871

6871:                                             ; preds = %6866
  %6872 = load i32, ptr %1288, align 4, !tbaa !5
  %6873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6874 = call i32 @s2n_print_stacktrace(ptr noundef %6873) #11
  %6875 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6876 = trunc nuw i8 %6875 to i1
  br i1 %6876, label %6877, label %6881

6877:                                             ; preds = %6871
  %6878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6879 = call i32 @fileno(ptr noundef %6878) #11
  %6880 = call i32 @isatty(i32 noundef %6879) #11
  %.not1126 = icmp eq i32 %6880, 0
  br i1 %.not1126, label %6881, label %6882

6881:                                             ; preds = %6877, %6871
  br label %6882

6882:                                             ; preds = %6877, %6881
  %.str.11.sink3725 = phi ptr [ @.str.11, %6881 ], [ @.str.8, %6877 ]
  store i32 %6872, ptr %1288, align 4, !tbaa !5
  %6883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6884 = load i32, ptr @test_count, align 4, !tbaa !5
  %6885 = load i32, ptr %1234, align 4, !tbaa !5
  %6886 = call ptr @s2n_strerror(i32 noundef %6885, ptr noundef nonnull @.str.10) #11
  %6887 = load i32, ptr %1234, align 4, !tbaa !5
  %6888 = call ptr @s2n_strerror_debug(i32 noundef %6887, ptr noundef nonnull @.str.10) #11
  %6889 = load i32, ptr %1288, align 4, !tbaa !5
  %6890 = call ptr @strerror(i32 noundef %6889) #11
  %6891 = load i32, ptr %1288, align 4, !tbaa !5
  %6892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6883, ptr noundef nonnull %.str.11.sink3725, i32 noundef %6884, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.7, i32 noundef 595, ptr noundef %6886, ptr noundef %6888, ptr noundef %6890, i32 noundef %6891) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6893:                                             ; preds = %6866
  %6894 = add nsw i32 %6867, 2
  store i32 %6894, ptr @test_count, align 4, !tbaa !5
  %6895 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %6896 = icmp eq ptr %6895, null
  br i1 %6896, label %6897, label %6919

6897:                                             ; preds = %6893
  %6898 = load i32, ptr %1288, align 4, !tbaa !5
  %6899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6900 = call i32 @s2n_print_stacktrace(ptr noundef %6899) #11
  %6901 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6902 = trunc nuw i8 %6901 to i1
  br i1 %6902, label %6903, label %6907

6903:                                             ; preds = %6897
  %6904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6905 = call i32 @fileno(ptr noundef %6904) #11
  %6906 = call i32 @isatty(i32 noundef %6905) #11
  %.not1332 = icmp eq i32 %6906, 0
  br i1 %.not1332, label %6907, label %6908

6907:                                             ; preds = %6903, %6897
  br label %6908

6908:                                             ; preds = %6903, %6907
  %.str.11.sink3734 = phi ptr [ @.str.11, %6907 ], [ @.str.8, %6903 ]
  store i32 %6898, ptr %1288, align 4, !tbaa !5
  %6909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6910 = load i32, ptr @test_count, align 4, !tbaa !5
  %6911 = load i32, ptr %1234, align 4, !tbaa !5
  %6912 = call ptr @s2n_strerror(i32 noundef %6911, ptr noundef nonnull @.str.10) #11
  %6913 = load i32, ptr %1234, align 4, !tbaa !5
  %6914 = call ptr @s2n_strerror_debug(i32 noundef %6913, ptr noundef nonnull @.str.10) #11
  %6915 = load i32, ptr %1288, align 4, !tbaa !5
  %6916 = call ptr @strerror(i32 noundef %6915) #11
  %6917 = load i32, ptr %1288, align 4, !tbaa !5
  %6918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6909, ptr noundef nonnull %.str.11.sink3734, i32 noundef %6910, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 595, ptr noundef %6912, ptr noundef %6914, ptr noundef %6916, i32 noundef %6917) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6919:                                             ; preds = %6893
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %6920 = load i32, ptr @test_count, align 4, !tbaa !5
  %6921 = add nsw i32 %6920, 1
  store i32 %6921, ptr @test_count, align 4, !tbaa !5
  %6922 = load i32, ptr %71, align 4, !tbaa !5
  %6923 = icmp eq i32 %6922, 1
  br i1 %6923, label %6946, label %6924

6924:                                             ; preds = %6919
  %6925 = load i32, ptr %1288, align 4, !tbaa !5
  %6926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6927 = call i32 @s2n_print_stacktrace(ptr noundef %6926) #11
  %6928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6929 = trunc nuw i8 %6928 to i1
  br i1 %6929, label %6930, label %6934

6930:                                             ; preds = %6924
  %6931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6932 = call i32 @fileno(ptr noundef %6931) #11
  %6933 = call i32 @isatty(i32 noundef %6932) #11
  %.not1127 = icmp eq i32 %6933, 0
  br i1 %.not1127, label %6934, label %6935

6934:                                             ; preds = %6930, %6924
  br label %6935

6935:                                             ; preds = %6930, %6934
  %.str.11.sink3743 = phi ptr [ @.str.11, %6934 ], [ @.str.8, %6930 ]
  store i32 %6925, ptr %1288, align 4, !tbaa !5
  %6936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6937 = load i32, ptr @test_count, align 4, !tbaa !5
  %6938 = load i32, ptr %1234, align 4, !tbaa !5
  %6939 = call ptr @s2n_strerror(i32 noundef %6938, ptr noundef nonnull @.str.10) #11
  %6940 = load i32, ptr %1234, align 4, !tbaa !5
  %6941 = call ptr @s2n_strerror_debug(i32 noundef %6940, ptr noundef nonnull @.str.10) #11
  %6942 = load i32, ptr %1288, align 4, !tbaa !5
  %6943 = call ptr @strerror(i32 noundef %6942) #11
  %6944 = load i32, ptr %1288, align 4, !tbaa !5
  %6945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6936, ptr noundef nonnull %.str.11.sink3743, i32 noundef %6937, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.7, i32 noundef 596, ptr noundef %6939, ptr noundef %6941, ptr noundef %6943, i32 noundef %6944) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6946:                                             ; preds = %6919
  %6947 = add nsw i32 %6920, 2
  store i32 %6947, ptr @test_count, align 4, !tbaa !5
  %6948 = load ptr, ptr %68, align 8, !tbaa !9
  %6949 = call i32 @s2n_shutdown(ptr noundef %6948, ptr noundef nonnull %71)
  %6950 = icmp eq i32 %6949, -1
  br i1 %6950, label %6951, label %6973

6951:                                             ; preds = %6946
  %6952 = load i32, ptr %1288, align 4, !tbaa !5
  %6953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6954 = call i32 @s2n_print_stacktrace(ptr noundef %6953) #11
  %6955 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6956 = trunc nuw i8 %6955 to i1
  br i1 %6956, label %6957, label %6961

6957:                                             ; preds = %6951
  %6958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6959 = call i32 @fileno(ptr noundef %6958) #11
  %6960 = call i32 @isatty(i32 noundef %6959) #11
  %.not1331 = icmp eq i32 %6960, 0
  br i1 %.not1331, label %6961, label %6962

6961:                                             ; preds = %6957, %6951
  br label %6962

6962:                                             ; preds = %6957, %6961
  %.str.11.sink3752 = phi ptr [ @.str.11, %6961 ], [ @.str.8, %6957 ]
  store i32 %6952, ptr %1288, align 4, !tbaa !5
  %6963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6964 = load i32, ptr @test_count, align 4, !tbaa !5
  %6965 = load i32, ptr %1234, align 4, !tbaa !5
  %6966 = call ptr @s2n_strerror(i32 noundef %6965, ptr noundef nonnull @.str.10) #11
  %6967 = load i32, ptr %1234, align 4, !tbaa !5
  %6968 = call ptr @s2n_strerror_debug(i32 noundef %6967, ptr noundef nonnull @.str.10) #11
  %6969 = load i32, ptr %1288, align 4, !tbaa !5
  %6970 = call ptr @strerror(i32 noundef %6969) #11
  %6971 = load i32, ptr %1288, align 4, !tbaa !5
  %6972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6963, ptr noundef nonnull %.str.11.sink3752, i32 noundef %6964, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.7, i32 noundef 602, ptr noundef %6966, ptr noundef %6968, ptr noundef %6970, i32 noundef %6971) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6973:                                             ; preds = %6946
  %6974 = load i32, ptr @test_count, align 4, !tbaa !5
  %6975 = add nsw i32 %6974, 1
  store i32 %6975, ptr @test_count, align 4, !tbaa !5
  %6976 = call i32 @s2n_io_pair_close_one_end(ptr noundef nonnull %70, i32 noundef 0) #11
  %6977 = icmp eq i32 %6976, -1
  br i1 %6977, label %6978, label %7000

6978:                                             ; preds = %6973
  %6979 = load i32, ptr %1288, align 4, !tbaa !5
  %6980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6981 = call i32 @s2n_print_stacktrace(ptr noundef %6980) #11
  %6982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6983 = trunc nuw i8 %6982 to i1
  br i1 %6983, label %6984, label %6988

6984:                                             ; preds = %6978
  %6985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6986 = call i32 @fileno(ptr noundef %6985) #11
  %6987 = call i32 @isatty(i32 noundef %6986) #11
  %.not1330 = icmp eq i32 %6987, 0
  br i1 %.not1330, label %6988, label %6989

6988:                                             ; preds = %6984, %6978
  br label %6989

6989:                                             ; preds = %6984, %6988
  %.str.11.sink3761 = phi ptr [ @.str.11, %6988 ], [ @.str.8, %6984 ]
  store i32 %6979, ptr %1288, align 4, !tbaa !5
  %6990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6991 = load i32, ptr @test_count, align 4, !tbaa !5
  %6992 = load i32, ptr %1234, align 4, !tbaa !5
  %6993 = call ptr @s2n_strerror(i32 noundef %6992, ptr noundef nonnull @.str.10) #11
  %6994 = load i32, ptr %1234, align 4, !tbaa !5
  %6995 = call ptr @s2n_strerror_debug(i32 noundef %6994, ptr noundef nonnull @.str.10) #11
  %6996 = load i32, ptr %1288, align 4, !tbaa !5
  %6997 = call ptr @strerror(i32 noundef %6996) #11
  %6998 = load i32, ptr %1288, align 4, !tbaa !5
  %6999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6990, ptr noundef nonnull %.str.11.sink3761, i32 noundef %6991, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.7, i32 noundef 603, ptr noundef %6993, ptr noundef %6995, ptr noundef %6997, i32 noundef %6998) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7000:                                             ; preds = %6973
  %7001 = load i32, ptr @test_count, align 4, !tbaa !5
  %7002 = add nsw i32 %7001, 1
  store i32 %7002, ptr @test_count, align 4, !tbaa !5
  %7003 = load ptr, ptr %69, align 8, !tbaa !9
  %7004 = call i32 @s2n_shutdown(ptr noundef %7003, ptr noundef nonnull %71)
  %7005 = icmp eq i32 %7004, -1
  br i1 %7005, label %7006, label %7028

7006:                                             ; preds = %7000
  %7007 = load i32, ptr %1288, align 4, !tbaa !5
  %7008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7009 = call i32 @s2n_print_stacktrace(ptr noundef %7008) #11
  %7010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7011 = trunc nuw i8 %7010 to i1
  br i1 %7011, label %7012, label %7016

7012:                                             ; preds = %7006
  %7013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7014 = call i32 @fileno(ptr noundef %7013) #11
  %7015 = call i32 @isatty(i32 noundef %7014) #11
  %.not1329 = icmp eq i32 %7015, 0
  br i1 %.not1329, label %7016, label %7017

7016:                                             ; preds = %7012, %7006
  br label %7017

7017:                                             ; preds = %7012, %7016
  %.str.11.sink3770 = phi ptr [ @.str.11, %7016 ], [ @.str.8, %7012 ]
  store i32 %7007, ptr %1288, align 4, !tbaa !5
  %7018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7019 = load i32, ptr @test_count, align 4, !tbaa !5
  %7020 = load i32, ptr %1234, align 4, !tbaa !5
  %7021 = call ptr @s2n_strerror(i32 noundef %7020, ptr noundef nonnull @.str.10) #11
  %7022 = load i32, ptr %1234, align 4, !tbaa !5
  %7023 = call ptr @s2n_strerror_debug(i32 noundef %7022, ptr noundef nonnull @.str.10) #11
  %7024 = load i32, ptr %1288, align 4, !tbaa !5
  %7025 = call ptr @strerror(i32 noundef %7024) #11
  %7026 = load i32, ptr %1288, align 4, !tbaa !5
  %7027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7018, ptr noundef nonnull %.str.11.sink3770, i32 noundef %7019, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.7, i32 noundef 608, ptr noundef %7021, ptr noundef %7023, ptr noundef %7025, i32 noundef %7026) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7028:                                             ; preds = %7000
  %7029 = load i32, ptr @test_count, align 4, !tbaa !5
  %7030 = add nsw i32 %7029, 1
  store i32 %7030, ptr @test_count, align 4, !tbaa !5
  %7031 = call i32 @s2n_io_pair_close_one_end(ptr noundef nonnull %70, i32 noundef 1) #11
  %7032 = icmp eq i32 %7031, -1
  br i1 %7032, label %7033, label %7055

7033:                                             ; preds = %7028
  %7034 = load i32, ptr %1288, align 4, !tbaa !5
  %7035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7036 = call i32 @s2n_print_stacktrace(ptr noundef %7035) #11
  %7037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7038 = trunc nuw i8 %7037 to i1
  br i1 %7038, label %7039, label %7043

7039:                                             ; preds = %7033
  %7040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7041 = call i32 @fileno(ptr noundef %7040) #11
  %7042 = call i32 @isatty(i32 noundef %7041) #11
  %.not1328 = icmp eq i32 %7042, 0
  br i1 %.not1328, label %7043, label %7044

7043:                                             ; preds = %7039, %7033
  br label %7044

7044:                                             ; preds = %7039, %7043
  %.str.11.sink3779 = phi ptr [ @.str.11, %7043 ], [ @.str.8, %7039 ]
  store i32 %7034, ptr %1288, align 4, !tbaa !5
  %7045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7046 = load i32, ptr @test_count, align 4, !tbaa !5
  %7047 = load i32, ptr %1234, align 4, !tbaa !5
  %7048 = call ptr @s2n_strerror(i32 noundef %7047, ptr noundef nonnull @.str.10) #11
  %7049 = load i32, ptr %1234, align 4, !tbaa !5
  %7050 = call ptr @s2n_strerror_debug(i32 noundef %7049, ptr noundef nonnull @.str.10) #11
  %7051 = load i32, ptr %1288, align 4, !tbaa !5
  %7052 = call ptr @strerror(i32 noundef %7051) #11
  %7053 = load i32, ptr %1288, align 4, !tbaa !5
  %7054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7045, ptr noundef nonnull %.str.11.sink3779, i32 noundef %7046, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.7, i32 noundef 609, ptr noundef %7048, ptr noundef %7050, ptr noundef %7052, i32 noundef %7053) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7055:                                             ; preds = %7028
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %71) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #11
  %7056 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %69) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #11
  %7057 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %68) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #11
  %7058 = call zeroext i1 (...) @s2n_is_tls13_fully_supported() #11
  br i1 %7058, label %7059, label %7250

7059:                                             ; preds = %7055
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %72) #11
  %7060 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %7060, ptr %72, align 8, !tbaa !9
  %7061 = load i32, ptr @test_count, align 4, !tbaa !5
  %7062 = add nsw i32 %7061, 1
  store i32 %7062, ptr @test_count, align 4, !tbaa !5
  %7063 = icmp eq ptr %7060, null
  br i1 %7063, label %7064, label %7086

7064:                                             ; preds = %7059
  %7065 = load i32, ptr %1288, align 4, !tbaa !5
  %7066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7067 = call i32 @s2n_print_stacktrace(ptr noundef %7066) #11
  %7068 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7069 = trunc nuw i8 %7068 to i1
  br i1 %7069, label %7070, label %7074

7070:                                             ; preds = %7064
  %7071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7072 = call i32 @fileno(ptr noundef %7071) #11
  %7073 = call i32 @isatty(i32 noundef %7072) #11
  %.not1327 = icmp eq i32 %7073, 0
  br i1 %.not1327, label %7074, label %7075

7074:                                             ; preds = %7070, %7064
  br label %7075

7075:                                             ; preds = %7070, %7074
  %.str.11.sink3788 = phi ptr [ @.str.11, %7074 ], [ @.str.8, %7070 ]
  store i32 %7065, ptr %1288, align 4, !tbaa !5
  %7076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7077 = load i32, ptr @test_count, align 4, !tbaa !5
  %7078 = load i32, ptr %1234, align 4, !tbaa !5
  %7079 = call ptr @s2n_strerror(i32 noundef %7078, ptr noundef nonnull @.str.10) #11
  %7080 = load i32, ptr %1234, align 4, !tbaa !5
  %7081 = call ptr @s2n_strerror_debug(i32 noundef %7080, ptr noundef nonnull @.str.10) #11
  %7082 = load i32, ptr %1288, align 4, !tbaa !5
  %7083 = call ptr @strerror(i32 noundef %7082) #11
  %7084 = load i32, ptr %1288, align 4, !tbaa !5
  %7085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7076, ptr noundef nonnull %.str.11.sink3788, i32 noundef %7077, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.7, i32 noundef 616, ptr noundef %7079, ptr noundef %7081, ptr noundef %7083, i32 noundef %7084) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7086:                                             ; preds = %7059
  %7087 = add nsw i32 %7061, 2
  store i32 %7087, ptr @test_count, align 4, !tbaa !5
  %7088 = call i32 @s2n_connection_enable_quic(ptr noundef nonnull %7060) #11
  %7089 = icmp eq i32 %7088, -1
  br i1 %7089, label %7090, label %7112

7090:                                             ; preds = %7086
  %7091 = load i32, ptr %1288, align 4, !tbaa !5
  %7092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7093 = call i32 @s2n_print_stacktrace(ptr noundef %7092) #11
  %7094 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7095 = trunc nuw i8 %7094 to i1
  br i1 %7095, label %7096, label %7100

7096:                                             ; preds = %7090
  %7097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7098 = call i32 @fileno(ptr noundef %7097) #11
  %7099 = call i32 @isatty(i32 noundef %7098) #11
  %.not1326 = icmp eq i32 %7099, 0
  br i1 %.not1326, label %7100, label %7101

7100:                                             ; preds = %7096, %7090
  br label %7101

7101:                                             ; preds = %7096, %7100
  %.str.11.sink3797 = phi ptr [ @.str.11, %7100 ], [ @.str.8, %7096 ]
  store i32 %7091, ptr %1288, align 4, !tbaa !5
  %7102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7103 = load i32, ptr @test_count, align 4, !tbaa !5
  %7104 = load i32, ptr %1234, align 4, !tbaa !5
  %7105 = call ptr @s2n_strerror(i32 noundef %7104, ptr noundef nonnull @.str.10) #11
  %7106 = load i32, ptr %1234, align 4, !tbaa !5
  %7107 = call ptr @s2n_strerror_debug(i32 noundef %7106, ptr noundef nonnull @.str.10) #11
  %7108 = load i32, ptr %1288, align 4, !tbaa !5
  %7109 = call ptr @strerror(i32 noundef %7108) #11
  %7110 = load i32, ptr %1288, align 4, !tbaa !5
  %7111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7102, ptr noundef nonnull %.str.11.sink3797, i32 noundef %7103, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.7, i32 noundef 617, ptr noundef %7105, ptr noundef %7107, ptr noundef %7109, i32 noundef %7110) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7112:                                             ; preds = %7086
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %73) #11
  store i32 0, ptr %73, align 4, !tbaa !5
  %7113 = load i32, ptr @test_count, align 4, !tbaa !5
  %7114 = add nsw i32 %7113, 1
  store i32 %7114, ptr @test_count, align 4, !tbaa !5
  %7115 = load ptr, ptr %72, align 8, !tbaa !9
  %7116 = call i32 @s2n_shutdown(ptr noundef %7115, ptr noundef nonnull %73)
  %7117 = icmp eq i32 %7116, -1
  br i1 %7117, label %7118, label %7140

7118:                                             ; preds = %7112
  %7119 = load i32, ptr %1288, align 4, !tbaa !5
  %7120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7121 = call i32 @s2n_print_stacktrace(ptr noundef %7120) #11
  %7122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7123 = trunc nuw i8 %7122 to i1
  br i1 %7123, label %7124, label %7128

7124:                                             ; preds = %7118
  %7125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7126 = call i32 @fileno(ptr noundef %7125) #11
  %7127 = call i32 @isatty(i32 noundef %7126) #11
  %.not1325 = icmp eq i32 %7127, 0
  br i1 %.not1325, label %7128, label %7129

7128:                                             ; preds = %7124, %7118
  br label %7129

7129:                                             ; preds = %7124, %7128
  %.str.11.sink3806 = phi ptr [ @.str.11, %7128 ], [ @.str.8, %7124 ]
  store i32 %7119, ptr %1288, align 4, !tbaa !5
  %7130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7131 = load i32, ptr @test_count, align 4, !tbaa !5
  %7132 = load i32, ptr %1234, align 4, !tbaa !5
  %7133 = call ptr @s2n_strerror(i32 noundef %7132, ptr noundef nonnull @.str.10) #11
  %7134 = load i32, ptr %1234, align 4, !tbaa !5
  %7135 = call ptr @s2n_strerror_debug(i32 noundef %7134, ptr noundef nonnull @.str.10) #11
  %7136 = load i32, ptr %1288, align 4, !tbaa !5
  %7137 = call ptr @strerror(i32 noundef %7136) #11
  %7138 = load i32, ptr %1288, align 4, !tbaa !5
  %7139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7130, ptr noundef nonnull %.str.11.sink3806, i32 noundef %7131, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.7, i32 noundef 620, ptr noundef %7133, ptr noundef %7135, ptr noundef %7137, i32 noundef %7138) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7140:                                             ; preds = %7112
  %7141 = load i32, ptr @test_count, align 4, !tbaa !5
  %7142 = add nsw i32 %7141, 1
  store i32 %7142, ptr @test_count, align 4, !tbaa !5
  %7143 = load i32, ptr %73, align 4, !tbaa !5
  %7144 = icmp eq i32 %7143, 0
  br i1 %7144, label %7167, label %7145

7145:                                             ; preds = %7140
  %7146 = load i32, ptr %1288, align 4, !tbaa !5
  %7147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7148 = call i32 @s2n_print_stacktrace(ptr noundef %7147) #11
  %7149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7150 = trunc nuw i8 %7149 to i1
  br i1 %7150, label %7151, label %7155

7151:                                             ; preds = %7145
  %7152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7153 = call i32 @fileno(ptr noundef %7152) #11
  %7154 = call i32 @isatty(i32 noundef %7153) #11
  %.not1128 = icmp eq i32 %7154, 0
  br i1 %.not1128, label %7155, label %7156

7155:                                             ; preds = %7151, %7145
  br label %7156

7156:                                             ; preds = %7151, %7155
  %.str.11.sink3815 = phi ptr [ @.str.11, %7155 ], [ @.str.8, %7151 ]
  store i32 %7146, ptr %1288, align 4, !tbaa !5
  %7157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7158 = load i32, ptr @test_count, align 4, !tbaa !5
  %7159 = load i32, ptr %1234, align 4, !tbaa !5
  %7160 = call ptr @s2n_strerror(i32 noundef %7159, ptr noundef nonnull @.str.10) #11
  %7161 = load i32, ptr %1234, align 4, !tbaa !5
  %7162 = call ptr @s2n_strerror_debug(i32 noundef %7161, ptr noundef nonnull @.str.10) #11
  %7163 = load i32, ptr %1288, align 4, !tbaa !5
  %7164 = call ptr @strerror(i32 noundef %7163) #11
  %7165 = load i32, ptr %1288, align 4, !tbaa !5
  %7166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7157, ptr noundef nonnull %.str.11.sink3815, i32 noundef %7158, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.7, i32 noundef 621, ptr noundef %7160, ptr noundef %7162, ptr noundef %7164, i32 noundef %7165) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7167:                                             ; preds = %7140
  %7168 = add nsw i32 %7141, 2
  store i32 %7168, ptr @test_count, align 4, !tbaa !5
  %7169 = load ptr, ptr %72, align 8, !tbaa !9
  %7170 = getelementptr inbounds i8, ptr %7169, i64 2008
  %7171 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %7170) #11
  br i1 %7171, label %7172, label %7194

7172:                                             ; preds = %7167
  %7173 = load i32, ptr %1288, align 4, !tbaa !5
  %7174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7175 = call i32 @s2n_print_stacktrace(ptr noundef %7174) #11
  %7176 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7177 = trunc nuw i8 %7176 to i1
  br i1 %7177, label %7178, label %7182

7178:                                             ; preds = %7172
  %7179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7180 = call i32 @fileno(ptr noundef %7179) #11
  %7181 = call i32 @isatty(i32 noundef %7180) #11
  %.not1324 = icmp eq i32 %7181, 0
  br i1 %.not1324, label %7182, label %7183

7182:                                             ; preds = %7178, %7172
  br label %7183

7183:                                             ; preds = %7178, %7182
  %.str.11.sink3824 = phi ptr [ @.str.11, %7182 ], [ @.str.8, %7178 ]
  store i32 %7173, ptr %1288, align 4, !tbaa !5
  %7184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7185 = load i32, ptr @test_count, align 4, !tbaa !5
  %7186 = load i32, ptr %1234, align 4, !tbaa !5
  %7187 = call ptr @s2n_strerror(i32 noundef %7186, ptr noundef nonnull @.str.10) #11
  %7188 = load i32, ptr %1234, align 4, !tbaa !5
  %7189 = call ptr @s2n_strerror_debug(i32 noundef %7188, ptr noundef nonnull @.str.10) #11
  %7190 = load i32, ptr %1288, align 4, !tbaa !5
  %7191 = call ptr @strerror(i32 noundef %7190) #11
  %7192 = load i32, ptr %1288, align 4, !tbaa !5
  %7193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7184, ptr noundef nonnull %.str.11.sink3824, i32 noundef %7185, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.7, i32 noundef 624, ptr noundef %7187, ptr noundef %7189, ptr noundef %7191, i32 noundef %7192) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7194:                                             ; preds = %7167
  %7195 = load i32, ptr @test_count, align 4, !tbaa !5
  %7196 = add nsw i32 %7195, 1
  store i32 %7196, ptr @test_count, align 4, !tbaa !5
  %7197 = load ptr, ptr %72, align 8, !tbaa !9
  %7198 = getelementptr inbounds i8, ptr %7197, i64 2003
  %7199 = load i8, ptr %7198, align 1, !tbaa !15, !range !13, !noundef !14
  %7200 = trunc nuw i8 %7199 to i1
  br i1 %7200, label %7201, label %7223

7201:                                             ; preds = %7194
  %7202 = load i32, ptr %1288, align 4, !tbaa !5
  %7203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7204 = call i32 @s2n_print_stacktrace(ptr noundef %7203) #11
  %7205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7206 = trunc nuw i8 %7205 to i1
  br i1 %7206, label %7207, label %7211

7207:                                             ; preds = %7201
  %7208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7209 = call i32 @fileno(ptr noundef %7208) #11
  %7210 = call i32 @isatty(i32 noundef %7209) #11
  %.not1323 = icmp eq i32 %7210, 0
  br i1 %.not1323, label %7211, label %7212

7211:                                             ; preds = %7207, %7201
  br label %7212

7212:                                             ; preds = %7207, %7211
  %.str.11.sink3833 = phi ptr [ @.str.11, %7211 ], [ @.str.8, %7207 ]
  store i32 %7202, ptr %1288, align 4, !tbaa !5
  %7213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7214 = load i32, ptr @test_count, align 4, !tbaa !5
  %7215 = load i32, ptr %1234, align 4, !tbaa !5
  %7216 = call ptr @s2n_strerror(i32 noundef %7215, ptr noundef nonnull @.str.10) #11
  %7217 = load i32, ptr %1234, align 4, !tbaa !5
  %7218 = call ptr @s2n_strerror_debug(i32 noundef %7217, ptr noundef nonnull @.str.10) #11
  %7219 = load i32, ptr %1288, align 4, !tbaa !5
  %7220 = call ptr @strerror(i32 noundef %7219) #11
  %7221 = load i32, ptr %1288, align 4, !tbaa !5
  %7222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7213, ptr noundef nonnull %.str.11.sink3833, i32 noundef %7214, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.7, i32 noundef 625, ptr noundef %7216, ptr noundef %7218, ptr noundef %7220, i32 noundef %7221) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7223:                                             ; preds = %7194
  %7224 = add nsw i32 %7195, 2
  store i32 %7224, ptr @test_count, align 4, !tbaa !5
  %7225 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %7197, i32 noundef 3) #11
  br i1 %7225, label %7248, label %7226

7226:                                             ; preds = %7223
  %7227 = load i32, ptr %1288, align 4, !tbaa !5
  %7228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7229 = call i32 @s2n_print_stacktrace(ptr noundef %7228) #11
  %7230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7231 = trunc nuw i8 %7230 to i1
  br i1 %7231, label %7232, label %7236

7232:                                             ; preds = %7226
  %7233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7234 = call i32 @fileno(ptr noundef %7233) #11
  %7235 = call i32 @isatty(i32 noundef %7234) #11
  %.not1129 = icmp eq i32 %7235, 0
  br i1 %.not1129, label %7236, label %7237

7236:                                             ; preds = %7232, %7226
  br label %7237

7237:                                             ; preds = %7232, %7236
  %.str.11.sink3842 = phi ptr [ @.str.11, %7236 ], [ @.str.8, %7232 ]
  store i32 %7227, ptr %1288, align 4, !tbaa !5
  %7238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7239 = load i32, ptr @test_count, align 4, !tbaa !5
  %7240 = load i32, ptr %1234, align 4, !tbaa !5
  %7241 = call ptr @s2n_strerror(i32 noundef %7240, ptr noundef nonnull @.str.10) #11
  %7242 = load i32, ptr %1234, align 4, !tbaa !5
  %7243 = call ptr @s2n_strerror_debug(i32 noundef %7242, ptr noundef nonnull @.str.10) #11
  %7244 = load i32, ptr %1288, align 4, !tbaa !5
  %7245 = call ptr @strerror(i32 noundef %7244) #11
  %7246 = load i32, ptr %1288, align 4, !tbaa !5
  %7247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7238, ptr noundef nonnull %.str.11.sink3842, i32 noundef %7239, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.7, i32 noundef 626, ptr noundef %7241, ptr noundef %7243, ptr noundef %7245, i32 noundef %7246) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7248:                                             ; preds = %7223
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %73) #11
  %7249 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %72) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #11
  br label %7250

7250:                                             ; preds = %7248, %7055
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %74) #11
  %7251 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %7251, ptr %74, align 8, !tbaa !9
  %7252 = load i32, ptr @test_count, align 4, !tbaa !5
  %7253 = add nsw i32 %7252, 1
  store i32 %7253, ptr @test_count, align 4, !tbaa !5
  %7254 = icmp eq ptr %7251, null
  br i1 %7254, label %7255, label %7277

7255:                                             ; preds = %7250
  %7256 = load i32, ptr %1288, align 4, !tbaa !5
  %7257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7258 = call i32 @s2n_print_stacktrace(ptr noundef %7257) #11
  %7259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7260 = trunc nuw i8 %7259 to i1
  br i1 %7260, label %7261, label %7265

7261:                                             ; preds = %7255
  %7262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7263 = call i32 @fileno(ptr noundef %7262) #11
  %7264 = call i32 @isatty(i32 noundef %7263) #11
  %.not1322 = icmp eq i32 %7264, 0
  br i1 %.not1322, label %7265, label %7266

7265:                                             ; preds = %7261, %7255
  br label %7266

7266:                                             ; preds = %7261, %7265
  %.str.11.sink3851 = phi ptr [ @.str.11, %7265 ], [ @.str.8, %7261 ]
  store i32 %7256, ptr %1288, align 4, !tbaa !5
  %7267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7268 = load i32, ptr @test_count, align 4, !tbaa !5
  %7269 = load i32, ptr %1234, align 4, !tbaa !5
  %7270 = call ptr @s2n_strerror(i32 noundef %7269, ptr noundef nonnull @.str.10) #11
  %7271 = load i32, ptr %1234, align 4, !tbaa !5
  %7272 = call ptr @s2n_strerror_debug(i32 noundef %7271, ptr noundef nonnull @.str.10) #11
  %7273 = load i32, ptr %1288, align 4, !tbaa !5
  %7274 = call ptr @strerror(i32 noundef %7273) #11
  %7275 = load i32, ptr %1288, align 4, !tbaa !5
  %7276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7267, ptr noundef nonnull %.str.11.sink3851, i32 noundef %7268, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.7, i32 noundef 635, ptr noundef %7270, ptr noundef %7272, ptr noundef %7274, i32 noundef %7275) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7277:                                             ; preds = %7250
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %75) #11
  store i32 0, ptr %75, align 4, !tbaa !5
  %7278 = add nsw i32 %7252, 2
  store i32 %7278, ptr @test_count, align 4, !tbaa !5
  %7279 = call i32 @s2n_shutdown_send(ptr noundef null, ptr noundef nonnull %75)
  %7280 = icmp eq i32 %7279, -1
  br i1 %7280, label %7303, label %7281

7281:                                             ; preds = %7277
  %7282 = load i32, ptr %1288, align 4, !tbaa !5
  %7283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7284 = call i32 @s2n_print_stacktrace(ptr noundef %7283) #11
  %7285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7286 = trunc nuw i8 %7285 to i1
  br i1 %7286, label %7287, label %7291

7287:                                             ; preds = %7281
  %7288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7289 = call i32 @fileno(ptr noundef %7288) #11
  %7290 = call i32 @isatty(i32 noundef %7289) #11
  %.not1130 = icmp eq i32 %7290, 0
  br i1 %.not1130, label %7291, label %7292

7291:                                             ; preds = %7287, %7281
  br label %7292

7292:                                             ; preds = %7287, %7291
  %.str.11.sink3860 = phi ptr [ @.str.11, %7291 ], [ @.str.8, %7287 ]
  store i32 %7282, ptr %1288, align 4, !tbaa !5
  %7293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7294 = load i32, ptr @test_count, align 4, !tbaa !5
  %7295 = load i32, ptr %1234, align 4, !tbaa !5
  %7296 = call ptr @s2n_strerror(i32 noundef %7295, ptr noundef nonnull @.str.10) #11
  %7297 = load i32, ptr %1234, align 4, !tbaa !5
  %7298 = call ptr @s2n_strerror_debug(i32 noundef %7297, ptr noundef nonnull @.str.10) #11
  %7299 = load i32, ptr %1288, align 4, !tbaa !5
  %7300 = call ptr @strerror(i32 noundef %7299) #11
  %7301 = load i32, ptr %1288, align 4, !tbaa !5
  %7302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7293, ptr noundef nonnull %.str.11.sink3860, i32 noundef %7294, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.7, i32 noundef 638, ptr noundef %7296, ptr noundef %7298, ptr noundef %7300, i32 noundef %7301) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7303:                                             ; preds = %7277
  %7304 = load i32, ptr @test_count, align 4, !tbaa !5
  %7305 = add nsw i32 %7304, 1
  store i32 %7305, ptr @test_count, align 4, !tbaa !5
  %7306 = load i32, ptr %1234, align 4, !tbaa !5
  %7307 = icmp eq i32 %7306, 402653193
  br i1 %7307, label %7330, label %7308

7308:                                             ; preds = %7303
  %7309 = load i32, ptr %1288, align 4, !tbaa !5
  %7310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7311 = call i32 @s2n_print_stacktrace(ptr noundef %7310) #11
  %7312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7313 = trunc nuw i8 %7312 to i1
  br i1 %7313, label %7314, label %7318

7314:                                             ; preds = %7308
  %7315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7316 = call i32 @fileno(ptr noundef %7315) #11
  %7317 = call i32 @isatty(i32 noundef %7316) #11
  %.not1131 = icmp eq i32 %7317, 0
  br i1 %.not1131, label %7318, label %7319

7318:                                             ; preds = %7314, %7308
  br label %7319

7319:                                             ; preds = %7314, %7318
  %.str.11.sink3869 = phi ptr [ @.str.11, %7318 ], [ @.str.8, %7314 ]
  store i32 %7309, ptr %1288, align 4, !tbaa !5
  %7320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7321 = load i32, ptr @test_count, align 4, !tbaa !5
  %7322 = load i32, ptr %1234, align 4, !tbaa !5
  %7323 = call ptr @s2n_strerror(i32 noundef %7322, ptr noundef nonnull @.str.10) #11
  %7324 = load i32, ptr %1234, align 4, !tbaa !5
  %7325 = call ptr @s2n_strerror_debug(i32 noundef %7324, ptr noundef nonnull @.str.10) #11
  %7326 = load i32, ptr %1288, align 4, !tbaa !5
  %7327 = call ptr @strerror(i32 noundef %7326) #11
  %7328 = load i32, ptr %1288, align 4, !tbaa !5
  %7329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7320, ptr noundef nonnull %.str.11.sink3869, i32 noundef %7321, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.7, i32 noundef 638, ptr noundef %7323, ptr noundef %7325, ptr noundef %7327, i32 noundef %7328) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7330:                                             ; preds = %7303
  %7331 = add nsw i32 %7304, 2
  store i32 %7331, ptr @test_count, align 4, !tbaa !5
  %7332 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.10) #11
  %7333 = icmp eq ptr %7332, null
  br i1 %7333, label %7334, label %7356

7334:                                             ; preds = %7330
  %7335 = load i32, ptr %1288, align 4, !tbaa !5
  %7336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7337 = call i32 @s2n_print_stacktrace(ptr noundef %7336) #11
  %7338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7339 = trunc nuw i8 %7338 to i1
  br i1 %7339, label %7340, label %7344

7340:                                             ; preds = %7334
  %7341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7342 = call i32 @fileno(ptr noundef %7341) #11
  %7343 = call i32 @isatty(i32 noundef %7342) #11
  %.not1321 = icmp eq i32 %7343, 0
  br i1 %.not1321, label %7344, label %7345

7344:                                             ; preds = %7340, %7334
  br label %7345

7345:                                             ; preds = %7340, %7344
  %.str.11.sink3878 = phi ptr [ @.str.11, %7344 ], [ @.str.8, %7340 ]
  store i32 %7335, ptr %1288, align 4, !tbaa !5
  %7346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7347 = load i32, ptr @test_count, align 4, !tbaa !5
  %7348 = load i32, ptr %1234, align 4, !tbaa !5
  %7349 = call ptr @s2n_strerror(i32 noundef %7348, ptr noundef nonnull @.str.10) #11
  %7350 = load i32, ptr %1234, align 4, !tbaa !5
  %7351 = call ptr @s2n_strerror_debug(i32 noundef %7350, ptr noundef nonnull @.str.10) #11
  %7352 = load i32, ptr %1288, align 4, !tbaa !5
  %7353 = call ptr @strerror(i32 noundef %7352) #11
  %7354 = load i32, ptr %1288, align 4, !tbaa !5
  %7355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7346, ptr noundef nonnull %.str.11.sink3878, i32 noundef %7347, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 638, ptr noundef %7349, ptr noundef %7351, ptr noundef %7353, i32 noundef %7354) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7356:                                             ; preds = %7330
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %7357 = load i32, ptr @test_count, align 4, !tbaa !5
  %7358 = add nsw i32 %7357, 1
  store i32 %7358, ptr @test_count, align 4, !tbaa !5
  %7359 = load ptr, ptr %74, align 8, !tbaa !9
  %7360 = call i32 @s2n_shutdown_send(ptr noundef %7359, ptr noundef null)
  %7361 = icmp eq i32 %7360, -1
  br i1 %7361, label %7384, label %7362

7362:                                             ; preds = %7356
  %7363 = load i32, ptr %1288, align 4, !tbaa !5
  %7364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7365 = call i32 @s2n_print_stacktrace(ptr noundef %7364) #11
  %7366 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7367 = trunc nuw i8 %7366 to i1
  br i1 %7367, label %7368, label %7372

7368:                                             ; preds = %7362
  %7369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7370 = call i32 @fileno(ptr noundef %7369) #11
  %7371 = call i32 @isatty(i32 noundef %7370) #11
  %.not1132 = icmp eq i32 %7371, 0
  br i1 %.not1132, label %7372, label %7373

7372:                                             ; preds = %7368, %7362
  br label %7373

7373:                                             ; preds = %7368, %7372
  %.str.11.sink3887 = phi ptr [ @.str.11, %7372 ], [ @.str.8, %7368 ]
  store i32 %7363, ptr %1288, align 4, !tbaa !5
  %7374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7375 = load i32, ptr @test_count, align 4, !tbaa !5
  %7376 = load i32, ptr %1234, align 4, !tbaa !5
  %7377 = call ptr @s2n_strerror(i32 noundef %7376, ptr noundef nonnull @.str.10) #11
  %7378 = load i32, ptr %1234, align 4, !tbaa !5
  %7379 = call ptr @s2n_strerror_debug(i32 noundef %7378, ptr noundef nonnull @.str.10) #11
  %7380 = load i32, ptr %1288, align 4, !tbaa !5
  %7381 = call ptr @strerror(i32 noundef %7380) #11
  %7382 = load i32, ptr %1288, align 4, !tbaa !5
  %7383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7374, ptr noundef nonnull %.str.11.sink3887, i32 noundef %7375, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.7, i32 noundef 639, ptr noundef %7377, ptr noundef %7379, ptr noundef %7381, i32 noundef %7382) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7384:                                             ; preds = %7356
  %7385 = load i32, ptr @test_count, align 4, !tbaa !5
  %7386 = add nsw i32 %7385, 1
  store i32 %7386, ptr @test_count, align 4, !tbaa !5
  %7387 = load i32, ptr %1234, align 4, !tbaa !5
  %7388 = icmp eq i32 %7387, 402653193
  br i1 %7388, label %7411, label %7389

7389:                                             ; preds = %7384
  %7390 = load i32, ptr %1288, align 4, !tbaa !5
  %7391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7392 = call i32 @s2n_print_stacktrace(ptr noundef %7391) #11
  %7393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7394 = trunc nuw i8 %7393 to i1
  br i1 %7394, label %7395, label %7399

7395:                                             ; preds = %7389
  %7396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7397 = call i32 @fileno(ptr noundef %7396) #11
  %7398 = call i32 @isatty(i32 noundef %7397) #11
  %.not1133 = icmp eq i32 %7398, 0
  br i1 %.not1133, label %7399, label %7400

7399:                                             ; preds = %7395, %7389
  br label %7400

7400:                                             ; preds = %7395, %7399
  %.str.11.sink3896 = phi ptr [ @.str.11, %7399 ], [ @.str.8, %7395 ]
  store i32 %7390, ptr %1288, align 4, !tbaa !5
  %7401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7402 = load i32, ptr @test_count, align 4, !tbaa !5
  %7403 = load i32, ptr %1234, align 4, !tbaa !5
  %7404 = call ptr @s2n_strerror(i32 noundef %7403, ptr noundef nonnull @.str.10) #11
  %7405 = load i32, ptr %1234, align 4, !tbaa !5
  %7406 = call ptr @s2n_strerror_debug(i32 noundef %7405, ptr noundef nonnull @.str.10) #11
  %7407 = load i32, ptr %1288, align 4, !tbaa !5
  %7408 = call ptr @strerror(i32 noundef %7407) #11
  %7409 = load i32, ptr %1288, align 4, !tbaa !5
  %7410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7401, ptr noundef nonnull %.str.11.sink3896, i32 noundef %7402, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.7, i32 noundef 639, ptr noundef %7404, ptr noundef %7406, ptr noundef %7408, i32 noundef %7409) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7411:                                             ; preds = %7384
  %7412 = add nsw i32 %7385, 2
  store i32 %7412, ptr @test_count, align 4, !tbaa !5
  %7413 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.10) #11
  %7414 = icmp eq ptr %7413, null
  br i1 %7414, label %7415, label %7437

7415:                                             ; preds = %7411
  %7416 = load i32, ptr %1288, align 4, !tbaa !5
  %7417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7418 = call i32 @s2n_print_stacktrace(ptr noundef %7417) #11
  %7419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7420 = trunc nuw i8 %7419 to i1
  br i1 %7420, label %7421, label %7425

7421:                                             ; preds = %7415
  %7422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7423 = call i32 @fileno(ptr noundef %7422) #11
  %7424 = call i32 @isatty(i32 noundef %7423) #11
  %.not1320 = icmp eq i32 %7424, 0
  br i1 %.not1320, label %7425, label %7426

7425:                                             ; preds = %7421, %7415
  br label %7426

7426:                                             ; preds = %7421, %7425
  %.str.11.sink3905 = phi ptr [ @.str.11, %7425 ], [ @.str.8, %7421 ]
  store i32 %7416, ptr %1288, align 4, !tbaa !5
  %7427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7428 = load i32, ptr @test_count, align 4, !tbaa !5
  %7429 = load i32, ptr %1234, align 4, !tbaa !5
  %7430 = call ptr @s2n_strerror(i32 noundef %7429, ptr noundef nonnull @.str.10) #11
  %7431 = load i32, ptr %1234, align 4, !tbaa !5
  %7432 = call ptr @s2n_strerror_debug(i32 noundef %7431, ptr noundef nonnull @.str.10) #11
  %7433 = load i32, ptr %1288, align 4, !tbaa !5
  %7434 = call ptr @strerror(i32 noundef %7433) #11
  %7435 = load i32, ptr %1288, align 4, !tbaa !5
  %7436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7427, ptr noundef nonnull %.str.11.sink3905, i32 noundef %7428, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 639, ptr noundef %7430, ptr noundef %7432, ptr noundef %7434, i32 noundef %7435) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7437:                                             ; preds = %7411
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %75) #11
  %7438 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %74) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %74) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %76) #11
  %7439 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %7439, ptr %76, align 8, !tbaa !9
  %7440 = load i32, ptr @test_count, align 4, !tbaa !5
  %7441 = add nsw i32 %7440, 1
  store i32 %7441, ptr @test_count, align 4, !tbaa !5
  %7442 = icmp eq ptr %7439, null
  br i1 %7442, label %7443, label %7465

7443:                                             ; preds = %7437
  %7444 = load i32, ptr %1288, align 4, !tbaa !5
  %7445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7446 = call i32 @s2n_print_stacktrace(ptr noundef %7445) #11
  %7447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7448 = trunc nuw i8 %7447 to i1
  br i1 %7448, label %7449, label %7453

7449:                                             ; preds = %7443
  %7450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7451 = call i32 @fileno(ptr noundef %7450) #11
  %7452 = call i32 @isatty(i32 noundef %7451) #11
  %.not1319 = icmp eq i32 %7452, 0
  br i1 %.not1319, label %7453, label %7454

7453:                                             ; preds = %7449, %7443
  br label %7454

7454:                                             ; preds = %7449, %7453
  %.str.11.sink3914 = phi ptr [ @.str.11, %7453 ], [ @.str.8, %7449 ]
  store i32 %7444, ptr %1288, align 4, !tbaa !5
  %7455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7456 = load i32, ptr @test_count, align 4, !tbaa !5
  %7457 = load i32, ptr %1234, align 4, !tbaa !5
  %7458 = call ptr @s2n_strerror(i32 noundef %7457, ptr noundef nonnull @.str.10) #11
  %7459 = load i32, ptr %1234, align 4, !tbaa !5
  %7460 = call ptr @s2n_strerror_debug(i32 noundef %7459, ptr noundef nonnull @.str.10) #11
  %7461 = load i32, ptr %1288, align 4, !tbaa !5
  %7462 = call ptr @strerror(i32 noundef %7461) #11
  %7463 = load i32, ptr %1288, align 4, !tbaa !5
  %7464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7455, ptr noundef nonnull %.str.11.sink3914, i32 noundef %7456, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.7, i32 noundef 646, ptr noundef %7458, ptr noundef %7460, ptr noundef %7462, i32 noundef %7463) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7465:                                             ; preds = %7437
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %77) #11
  store i32 0, ptr %77, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %78) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %78, i8 0, i64 40, i1 false)
  %7466 = add nsw i32 %7440, 2
  store i32 %7466, ptr @test_count, align 4, !tbaa !5
  %7467 = call i32 @s2n_connection_set_send_io_stuffer(ptr noundef nonnull %78, ptr noundef nonnull %7439) #11
  %7468 = icmp eq i32 %7467, -1
  br i1 %7468, label %7469, label %7491

7469:                                             ; preds = %7465
  %7470 = load i32, ptr %1288, align 4, !tbaa !5
  %7471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7472 = call i32 @s2n_print_stacktrace(ptr noundef %7471) #11
  %7473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7474 = trunc nuw i8 %7473 to i1
  br i1 %7474, label %7475, label %7479

7475:                                             ; preds = %7469
  %7476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7477 = call i32 @fileno(ptr noundef %7476) #11
  %7478 = call i32 @isatty(i32 noundef %7477) #11
  %.not1318 = icmp eq i32 %7478, 0
  br i1 %.not1318, label %7479, label %7480

7479:                                             ; preds = %7475, %7469
  br label %7480

7480:                                             ; preds = %7475, %7479
  %.str.11.sink3923 = phi ptr [ @.str.11, %7479 ], [ @.str.8, %7475 ]
  store i32 %7470, ptr %1288, align 4, !tbaa !5
  %7481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7482 = load i32, ptr @test_count, align 4, !tbaa !5
  %7483 = load i32, ptr %1234, align 4, !tbaa !5
  %7484 = call ptr @s2n_strerror(i32 noundef %7483, ptr noundef nonnull @.str.10) #11
  %7485 = load i32, ptr %1234, align 4, !tbaa !5
  %7486 = call ptr @s2n_strerror_debug(i32 noundef %7485, ptr noundef nonnull @.str.10) #11
  %7487 = load i32, ptr %1288, align 4, !tbaa !5
  %7488 = call ptr @strerror(i32 noundef %7487) #11
  %7489 = load i32, ptr %1288, align 4, !tbaa !5
  %7490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7481, ptr noundef nonnull %.str.11.sink3923, i32 noundef %7482, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.7, i32 noundef 655, ptr noundef %7484, ptr noundef %7486, ptr noundef %7488, i32 noundef %7489) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7491:                                             ; preds = %7465
  %7492 = load i32, ptr @test_count, align 4, !tbaa !5
  %7493 = add nsw i32 %7492, 1
  store i32 %7493, ptr @test_count, align 4, !tbaa !5
  %7494 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %78, i32 noundef 0) #11
  %7495 = icmp eq i32 %7494, -1
  br i1 %7495, label %7496, label %7518

7496:                                             ; preds = %7491
  %7497 = load i32, ptr %1288, align 4, !tbaa !5
  %7498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7499 = call i32 @s2n_print_stacktrace(ptr noundef %7498) #11
  %7500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7501 = trunc nuw i8 %7500 to i1
  br i1 %7501, label %7502, label %7506

7502:                                             ; preds = %7496
  %7503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7504 = call i32 @fileno(ptr noundef %7503) #11
  %7505 = call i32 @isatty(i32 noundef %7504) #11
  %.not1317 = icmp eq i32 %7505, 0
  br i1 %.not1317, label %7506, label %7507

7506:                                             ; preds = %7502, %7496
  br label %7507

7507:                                             ; preds = %7502, %7506
  %.str.11.sink3932 = phi ptr [ @.str.11, %7506 ], [ @.str.8, %7502 ]
  store i32 %7497, ptr %1288, align 4, !tbaa !5
  %7508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7509 = load i32, ptr @test_count, align 4, !tbaa !5
  %7510 = load i32, ptr %1234, align 4, !tbaa !5
  %7511 = call ptr @s2n_strerror(i32 noundef %7510, ptr noundef nonnull @.str.10) #11
  %7512 = load i32, ptr %1234, align 4, !tbaa !5
  %7513 = call ptr @s2n_strerror_debug(i32 noundef %7512, ptr noundef nonnull @.str.10) #11
  %7514 = load i32, ptr %1288, align 4, !tbaa !5
  %7515 = call ptr @strerror(i32 noundef %7514) #11
  %7516 = load i32, ptr %1288, align 4, !tbaa !5
  %7517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7508, ptr noundef nonnull %.str.11.sink3932, i32 noundef %7509, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.7, i32 noundef 656, ptr noundef %7511, ptr noundef %7513, ptr noundef %7515, i32 noundef %7516) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7518:                                             ; preds = %7491
  %7519 = load i32, ptr @test_count, align 4, !tbaa !5
  %7520 = add nsw i32 %7519, 1
  store i32 %7520, ptr @test_count, align 4, !tbaa !5
  %7521 = load ptr, ptr %76, align 8, !tbaa !9
  %7522 = call i32 @s2n_skip_handshake(ptr noundef %7521) #11
  %7523 = call zeroext i1 @s2n_result_is_ok(i32 %7522)
  br i1 %7523, label %7546, label %7524

7524:                                             ; preds = %7518
  %7525 = load i32, ptr %1288, align 4, !tbaa !5
  %7526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7527 = call i32 @s2n_print_stacktrace(ptr noundef %7526) #11
  %7528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7529 = trunc nuw i8 %7528 to i1
  br i1 %7529, label %7530, label %7534

7530:                                             ; preds = %7524
  %7531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7532 = call i32 @fileno(ptr noundef %7531) #11
  %7533 = call i32 @isatty(i32 noundef %7532) #11
  %.not1134 = icmp eq i32 %7533, 0
  br i1 %.not1134, label %7534, label %7535

7534:                                             ; preds = %7530, %7524
  br label %7535

7535:                                             ; preds = %7530, %7534
  %.str.11.sink3941 = phi ptr [ @.str.11, %7534 ], [ @.str.8, %7530 ]
  store i32 %7525, ptr %1288, align 4, !tbaa !5
  %7536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7537 = load i32, ptr @test_count, align 4, !tbaa !5
  %7538 = load i32, ptr %1234, align 4, !tbaa !5
  %7539 = call ptr @s2n_strerror(i32 noundef %7538, ptr noundef nonnull @.str.10) #11
  %7540 = load i32, ptr %1234, align 4, !tbaa !5
  %7541 = call ptr @s2n_strerror_debug(i32 noundef %7540, ptr noundef nonnull @.str.10) #11
  %7542 = load i32, ptr %1288, align 4, !tbaa !5
  %7543 = call ptr @strerror(i32 noundef %7542) #11
  %7544 = load i32, ptr %1288, align 4, !tbaa !5
  %7545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7536, ptr noundef nonnull %.str.11.sink3941, i32 noundef %7537, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.7, i32 noundef 662, ptr noundef %7539, ptr noundef %7541, ptr noundef %7543, i32 noundef %7544) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7546:                                             ; preds = %7518
  %7547 = load i32, ptr @test_count, align 4, !tbaa !5
  %7548 = add nsw i32 %7547, 1
  store i32 %7548, ptr @test_count, align 4, !tbaa !5
  %7549 = load ptr, ptr %76, align 8, !tbaa !9
  %7550 = call i32 @s2n_shutdown_send(ptr noundef %7549, ptr noundef nonnull %77)
  %7551 = icmp eq i32 %7550, -1
  br i1 %7551, label %7552, label %7574

7552:                                             ; preds = %7546
  %7553 = load i32, ptr %1288, align 4, !tbaa !5
  %7554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7555 = call i32 @s2n_print_stacktrace(ptr noundef %7554) #11
  %7556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7557 = trunc nuw i8 %7556 to i1
  br i1 %7557, label %7558, label %7562

7558:                                             ; preds = %7552
  %7559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7560 = call i32 @fileno(ptr noundef %7559) #11
  %7561 = call i32 @isatty(i32 noundef %7560) #11
  %.not1316 = icmp eq i32 %7561, 0
  br i1 %.not1316, label %7562, label %7563

7562:                                             ; preds = %7558, %7552
  br label %7563

7563:                                             ; preds = %7558, %7562
  %.str.11.sink3950 = phi ptr [ @.str.11, %7562 ], [ @.str.8, %7558 ]
  store i32 %7553, ptr %1288, align 4, !tbaa !5
  %7564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7565 = load i32, ptr @test_count, align 4, !tbaa !5
  %7566 = load i32, ptr %1234, align 4, !tbaa !5
  %7567 = call ptr @s2n_strerror(i32 noundef %7566, ptr noundef nonnull @.str.10) #11
  %7568 = load i32, ptr %1234, align 4, !tbaa !5
  %7569 = call ptr @s2n_strerror_debug(i32 noundef %7568, ptr noundef nonnull @.str.10) #11
  %7570 = load i32, ptr %1288, align 4, !tbaa !5
  %7571 = call ptr @strerror(i32 noundef %7570) #11
  %7572 = load i32, ptr %1288, align 4, !tbaa !5
  %7573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7564, ptr noundef nonnull %.str.11.sink3950, i32 noundef %7565, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.7, i32 noundef 665, ptr noundef %7567, ptr noundef %7569, ptr noundef %7571, i32 noundef %7572) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7574:                                             ; preds = %7546
  %7575 = load i32, ptr @test_count, align 4, !tbaa !5
  %7576 = add nsw i32 %7575, 1
  store i32 %7576, ptr @test_count, align 4, !tbaa !5
  %7577 = load i32, ptr %77, align 4, !tbaa !5
  %7578 = icmp eq i32 %7577, 0
  br i1 %7578, label %7601, label %7579

7579:                                             ; preds = %7574
  %7580 = load i32, ptr %1288, align 4, !tbaa !5
  %7581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7582 = call i32 @s2n_print_stacktrace(ptr noundef %7581) #11
  %7583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7584 = trunc nuw i8 %7583 to i1
  br i1 %7584, label %7585, label %7589

7585:                                             ; preds = %7579
  %7586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7587 = call i32 @fileno(ptr noundef %7586) #11
  %7588 = call i32 @isatty(i32 noundef %7587) #11
  %.not1135 = icmp eq i32 %7588, 0
  br i1 %.not1135, label %7589, label %7590

7589:                                             ; preds = %7585, %7579
  br label %7590

7590:                                             ; preds = %7585, %7589
  %.str.11.sink3959 = phi ptr [ @.str.11, %7589 ], [ @.str.8, %7585 ]
  store i32 %7580, ptr %1288, align 4, !tbaa !5
  %7591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7592 = load i32, ptr @test_count, align 4, !tbaa !5
  %7593 = load i32, ptr %1234, align 4, !tbaa !5
  %7594 = call ptr @s2n_strerror(i32 noundef %7593, ptr noundef nonnull @.str.10) #11
  %7595 = load i32, ptr %1234, align 4, !tbaa !5
  %7596 = call ptr @s2n_strerror_debug(i32 noundef %7595, ptr noundef nonnull @.str.10) #11
  %7597 = load i32, ptr %1288, align 4, !tbaa !5
  %7598 = call ptr @strerror(i32 noundef %7597) #11
  %7599 = load i32, ptr %1288, align 4, !tbaa !5
  %7600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7591, ptr noundef nonnull %.str.11.sink3959, i32 noundef %7592, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.7, i32 noundef 666, ptr noundef %7594, ptr noundef %7596, ptr noundef %7598, i32 noundef %7599) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7601:                                             ; preds = %7574
  %7602 = add nsw i32 %7575, 2
  store i32 %7602, ptr @test_count, align 4, !tbaa !5
  %7603 = load ptr, ptr %76, align 8, !tbaa !9
  %7604 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %7603, i32 noundef 0) #11
  br i1 %7604, label %7605, label %7627

7605:                                             ; preds = %7601
  %7606 = load i32, ptr %1288, align 4, !tbaa !5
  %7607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7608 = call i32 @s2n_print_stacktrace(ptr noundef %7607) #11
  %7609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7610 = trunc nuw i8 %7609 to i1
  br i1 %7610, label %7611, label %7615

7611:                                             ; preds = %7605
  %7612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7613 = call i32 @fileno(ptr noundef %7612) #11
  %7614 = call i32 @isatty(i32 noundef %7613) #11
  %.not1315 = icmp eq i32 %7614, 0
  br i1 %.not1315, label %7615, label %7616

7615:                                             ; preds = %7611, %7605
  br label %7616

7616:                                             ; preds = %7611, %7615
  %.str.11.sink3968 = phi ptr [ @.str.11, %7615 ], [ @.str.8, %7611 ]
  store i32 %7606, ptr %1288, align 4, !tbaa !5
  %7617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7618 = load i32, ptr @test_count, align 4, !tbaa !5
  %7619 = load i32, ptr %1234, align 4, !tbaa !5
  %7620 = call ptr @s2n_strerror(i32 noundef %7619, ptr noundef nonnull @.str.10) #11
  %7621 = load i32, ptr %1234, align 4, !tbaa !5
  %7622 = call ptr @s2n_strerror_debug(i32 noundef %7621, ptr noundef nonnull @.str.10) #11
  %7623 = load i32, ptr %1288, align 4, !tbaa !5
  %7624 = call ptr @strerror(i32 noundef %7623) #11
  %7625 = load i32, ptr %1288, align 4, !tbaa !5
  %7626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7617, ptr noundef nonnull %.str.11.sink3968, i32 noundef %7618, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.7, i32 noundef 667, ptr noundef %7620, ptr noundef %7622, ptr noundef %7624, i32 noundef %7625) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7627:                                             ; preds = %7601
  %7628 = load i32, ptr @test_count, align 4, !tbaa !5
  %7629 = add nsw i32 %7628, 1
  store i32 %7629, ptr @test_count, align 4, !tbaa !5
  %7630 = load ptr, ptr %76, align 8, !tbaa !9
  %7631 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %7630, i32 noundef 1) #11
  br i1 %7631, label %7654, label %7632

7632:                                             ; preds = %7627
  %7633 = load i32, ptr %1288, align 4, !tbaa !5
  %7634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7635 = call i32 @s2n_print_stacktrace(ptr noundef %7634) #11
  %7636 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7637 = trunc nuw i8 %7636 to i1
  br i1 %7637, label %7638, label %7642

7638:                                             ; preds = %7632
  %7639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7640 = call i32 @fileno(ptr noundef %7639) #11
  %7641 = call i32 @isatty(i32 noundef %7640) #11
  %.not1136 = icmp eq i32 %7641, 0
  br i1 %.not1136, label %7642, label %7643

7642:                                             ; preds = %7638, %7632
  br label %7643

7643:                                             ; preds = %7638, %7642
  %.str.11.sink3977 = phi ptr [ @.str.11, %7642 ], [ @.str.8, %7638 ]
  store i32 %7633, ptr %1288, align 4, !tbaa !5
  %7644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7645 = load i32, ptr @test_count, align 4, !tbaa !5
  %7646 = load i32, ptr %1234, align 4, !tbaa !5
  %7647 = call ptr @s2n_strerror(i32 noundef %7646, ptr noundef nonnull @.str.10) #11
  %7648 = load i32, ptr %1234, align 4, !tbaa !5
  %7649 = call ptr @s2n_strerror_debug(i32 noundef %7648, ptr noundef nonnull @.str.10) #11
  %7650 = load i32, ptr %1288, align 4, !tbaa !5
  %7651 = call ptr @strerror(i32 noundef %7650) #11
  %7652 = load i32, ptr %1288, align 4, !tbaa !5
  %7653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7644, ptr noundef nonnull %.str.11.sink3977, i32 noundef %7645, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.7, i32 noundef 668, ptr noundef %7647, ptr noundef %7649, ptr noundef %7651, i32 noundef %7652) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7654:                                             ; preds = %7627
  %7655 = load i32, ptr @test_count, align 4, !tbaa !5
  %7656 = add nsw i32 %7655, 1
  store i32 %7656, ptr @test_count, align 4, !tbaa !5
  %7657 = getelementptr inbounds i8, ptr %78, i64 28
  %7658 = load i32, ptr %7657, align 4, !tbaa !42
  %7659 = getelementptr inbounds i8, ptr %78, i64 24
  %7660 = load i32, ptr %7659, align 8, !tbaa !43
  %7661 = sub i32 %7658, %7660
  %7662 = icmp eq i32 %7661, 7
  br i1 %7662, label %7685, label %7663

7663:                                             ; preds = %7654
  %7664 = load i32, ptr %1288, align 4, !tbaa !5
  %7665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7666 = call i32 @s2n_print_stacktrace(ptr noundef %7665) #11
  %7667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7668 = trunc nuw i8 %7667 to i1
  br i1 %7668, label %7669, label %7673

7669:                                             ; preds = %7663
  %7670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7671 = call i32 @fileno(ptr noundef %7670) #11
  %7672 = call i32 @isatty(i32 noundef %7671) #11
  %.not1137 = icmp eq i32 %7672, 0
  br i1 %.not1137, label %7673, label %7674

7673:                                             ; preds = %7669, %7663
  br label %7674

7674:                                             ; preds = %7669, %7673
  %.str.11.sink3986 = phi ptr [ @.str.11, %7673 ], [ @.str.8, %7669 ]
  store i32 %7664, ptr %1288, align 4, !tbaa !5
  %7675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7676 = load i32, ptr @test_count, align 4, !tbaa !5
  %7677 = load i32, ptr %1234, align 4, !tbaa !5
  %7678 = call ptr @s2n_strerror(i32 noundef %7677, ptr noundef nonnull @.str.10) #11
  %7679 = load i32, ptr %1234, align 4, !tbaa !5
  %7680 = call ptr @s2n_strerror_debug(i32 noundef %7679, ptr noundef nonnull @.str.10) #11
  %7681 = load i32, ptr %1288, align 4, !tbaa !5
  %7682 = call ptr @strerror(i32 noundef %7681) #11
  %7683 = load i32, ptr %1288, align 4, !tbaa !5
  %7684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7675, ptr noundef nonnull %.str.11.sink3986, i32 noundef %7676, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.7, i32 noundef 669, ptr noundef %7678, ptr noundef %7680, ptr noundef %7682, i32 noundef %7683) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7685:                                             ; preds = %7654
  %7686 = add nsw i32 %7655, 2
  store i32 %7686, ptr @test_count, align 4, !tbaa !5
  %7687 = load ptr, ptr %76, align 8, !tbaa !9
  %7688 = getelementptr inbounds i8, ptr %7687, i64 2003
  %7689 = load i8, ptr %7688, align 1, !tbaa !15, !range !13, !noundef !14
  %7690 = trunc nuw i8 %7689 to i1
  br i1 %7690, label %7713, label %7691

7691:                                             ; preds = %7685
  %7692 = load i32, ptr %1288, align 4, !tbaa !5
  %7693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7694 = call i32 @s2n_print_stacktrace(ptr noundef %7693) #11
  %7695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7696 = trunc nuw i8 %7695 to i1
  br i1 %7696, label %7697, label %7701

7697:                                             ; preds = %7691
  %7698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7699 = call i32 @fileno(ptr noundef %7698) #11
  %7700 = call i32 @isatty(i32 noundef %7699) #11
  %.not1138 = icmp eq i32 %7700, 0
  br i1 %.not1138, label %7701, label %7702

7701:                                             ; preds = %7697, %7691
  br label %7702

7702:                                             ; preds = %7697, %7701
  %.str.11.sink3995 = phi ptr [ @.str.11, %7701 ], [ @.str.8, %7697 ]
  store i32 %7692, ptr %1288, align 4, !tbaa !5
  %7703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7704 = load i32, ptr @test_count, align 4, !tbaa !5
  %7705 = load i32, ptr %1234, align 4, !tbaa !5
  %7706 = call ptr @s2n_strerror(i32 noundef %7705, ptr noundef nonnull @.str.10) #11
  %7707 = load i32, ptr %1234, align 4, !tbaa !5
  %7708 = call ptr @s2n_strerror_debug(i32 noundef %7707, ptr noundef nonnull @.str.10) #11
  %7709 = load i32, ptr %1288, align 4, !tbaa !5
  %7710 = call ptr @strerror(i32 noundef %7709) #11
  %7711 = load i32, ptr %1288, align 4, !tbaa !5
  %7712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7703, ptr noundef nonnull %.str.11.sink3995, i32 noundef %7704, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.7, i32 noundef 670, ptr noundef %7706, ptr noundef %7708, ptr noundef %7710, i32 noundef %7711) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7713:                                             ; preds = %7685
  %7714 = call i32 @s2n_stuffer_free(ptr noundef nonnull %78) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %78) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %77) #11
  %7715 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %76) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %79) #11
  %7716 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %7716, ptr %79, align 8, !tbaa !9
  %7717 = load i32, ptr @test_count, align 4, !tbaa !5
  %7718 = add nsw i32 %7717, 1
  store i32 %7718, ptr @test_count, align 4, !tbaa !5
  %7719 = icmp eq ptr %7716, null
  br i1 %7719, label %7720, label %7742

7720:                                             ; preds = %7713
  %7721 = load i32, ptr %1288, align 4, !tbaa !5
  %7722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7723 = call i32 @s2n_print_stacktrace(ptr noundef %7722) #11
  %7724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7725 = trunc nuw i8 %7724 to i1
  br i1 %7725, label %7726, label %7730

7726:                                             ; preds = %7720
  %7727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7728 = call i32 @fileno(ptr noundef %7727) #11
  %7729 = call i32 @isatty(i32 noundef %7728) #11
  %.not1314 = icmp eq i32 %7729, 0
  br i1 %.not1314, label %7730, label %7731

7730:                                             ; preds = %7726, %7720
  br label %7731

7731:                                             ; preds = %7726, %7730
  %.str.11.sink4004 = phi ptr [ @.str.11, %7730 ], [ @.str.8, %7726 ]
  store i32 %7721, ptr %1288, align 4, !tbaa !5
  %7732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7733 = load i32, ptr @test_count, align 4, !tbaa !5
  %7734 = load i32, ptr %1234, align 4, !tbaa !5
  %7735 = call ptr @s2n_strerror(i32 noundef %7734, ptr noundef nonnull @.str.10) #11
  %7736 = load i32, ptr %1234, align 4, !tbaa !5
  %7737 = call ptr @s2n_strerror_debug(i32 noundef %7736, ptr noundef nonnull @.str.10) #11
  %7738 = load i32, ptr %1288, align 4, !tbaa !5
  %7739 = call ptr @strerror(i32 noundef %7738) #11
  %7740 = load i32, ptr %1288, align 4, !tbaa !5
  %7741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7732, ptr noundef nonnull %.str.11.sink4004, i32 noundef %7733, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.7, i32 noundef 677, ptr noundef %7735, ptr noundef %7737, ptr noundef %7739, i32 noundef %7740) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7742:                                             ; preds = %7713
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %80) #11
  store i32 0, ptr %80, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %81) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %81, i8 0, i64 40, i1 false)
  %7743 = add nsw i32 %7717, 2
  store i32 %7743, ptr @test_count, align 4, !tbaa !5
  %7744 = call i32 @s2n_connection_set_send_io_stuffer(ptr noundef nonnull %81, ptr noundef nonnull %7716) #11
  %7745 = icmp eq i32 %7744, -1
  br i1 %7745, label %7753, label %.preheader1480

.preheader1480:                                   ; preds = %7742
  %7746 = getelementptr inbounds i8, ptr %81, i64 28
  %7747 = getelementptr inbounds i8, ptr %81, i64 24
  %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 %79, align 8, !tbaa !9
  %7751 = call i32 @s2n_shutdown_send(ptr noundef %7750, ptr noundef nonnull %80)
  %7752 = icmp eq i32 %7751, -1
  br i1 %7752, label %7897, label %7875

7753:                                             ; preds = %7742
  %7754 = load i32, ptr %1288, align 4, !tbaa !5
  %7755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7756 = call i32 @s2n_print_stacktrace(ptr noundef %7755) #11
  %7757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7758 = trunc nuw i8 %7757 to i1
  br i1 %7758, label %7759, label %7763

7759:                                             ; preds = %7753
  %7760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7761 = call i32 @fileno(ptr noundef %7760) #11
  %7762 = call i32 @isatty(i32 noundef %7761) #11
  %.not1313 = icmp eq i32 %7762, 0
  br i1 %.not1313, label %7763, label %7764

7763:                                             ; preds = %7759, %7753
  br label %7764

7764:                                             ; preds = %7759, %7763
  %.str.11.sink4013 = phi ptr [ @.str.11, %7763 ], [ @.str.8, %7759 ]
  store i32 %7754, ptr %1288, align 4, !tbaa !5
  %7765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7766 = load i32, ptr @test_count, align 4, !tbaa !5
  %7767 = load i32, ptr %1234, align 4, !tbaa !5
  %7768 = call ptr @s2n_strerror(i32 noundef %7767, ptr noundef nonnull @.str.10) #11
  %7769 = load i32, ptr %1234, align 4, !tbaa !5
  %7770 = call ptr @s2n_strerror_debug(i32 noundef %7769, ptr noundef nonnull @.str.10) #11
  %7771 = load i32, ptr %1288, align 4, !tbaa !5
  %7772 = call ptr @strerror(i32 noundef %7771) #11
  %7773 = load i32, ptr %1288, align 4, !tbaa !5
  %7774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7765, ptr noundef nonnull %.str.11.sink4013, i32 noundef %7766, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.7, i32 noundef 685, ptr noundef %7768, ptr noundef %7770, ptr noundef %7772, i32 noundef %7773) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7775:                                             ; preds = %7977
  %7776 = add nsw i32 %7951, 3
  store i32 %7776, ptr @test_count, align 4, !tbaa !5
  %7777 = load ptr, ptr %79, align 8, !tbaa !9
  %7778 = call i32 @s2n_shutdown_send(ptr noundef %7777, ptr noundef nonnull %80)
  %7779 = icmp eq i32 %7778, -1
  br i1 %7779, label %7780, label %7875

7780:                                             ; preds = %7775
  %7781 = load i32, ptr @test_count, align 4, !tbaa !5
  %7782 = add nsw i32 %7781, 1
  store i32 %7782, ptr @test_count, align 4, !tbaa !5
  %7783 = load i32, ptr %1234, align 4, !tbaa !5
  %7784 = icmp eq i32 %7783, 201326592
  br i1 %7784, label %7785, label %7902

7785:                                             ; preds = %7780
  %7786 = add nsw i32 %7781, 2
  store i32 %7786, ptr @test_count, align 4, !tbaa !5
  %7787 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %7788 = icmp eq ptr %7787, null
  br i1 %7788, label %7928, label %7789

7789:                                             ; preds = %7785
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %7790 = load i32, ptr @test_count, align 4, !tbaa !5
  %7791 = add nsw i32 %7790, 1
  store i32 %7791, ptr @test_count, align 4, !tbaa !5
  %7792 = load i32, ptr %80, align 4, !tbaa !5
  %7793 = icmp eq i32 %7792, 2
  br i1 %7793, label %7794, label %7955

7794:                                             ; preds = %7789
  %7795 = add nsw i32 %7790, 2
  store i32 %7795, ptr @test_count, align 4, !tbaa !5
  %7796 = load i32, ptr %7746, align 4, !tbaa !42
  %7797 = load i32, ptr %7747, align 8, !tbaa !43
  %7798 = icmp eq i32 %7796, %7797
  br i1 %7798, label %7799, label %7982

7799:                                             ; preds = %7794
  %7800 = add nsw i32 %7790, 3
  store i32 %7800, ptr @test_count, align 4, !tbaa !5
  %7801 = load ptr, ptr %79, align 8, !tbaa !9
  %7802 = call i32 @s2n_shutdown_send(ptr noundef %7801, ptr noundef nonnull %80)
  %7803 = icmp eq i32 %7802, -1
  br i1 %7803, label %7804, label %7875

7804:                                             ; preds = %7799
  %7805 = load i32, ptr @test_count, align 4, !tbaa !5
  %7806 = add nsw i32 %7805, 1
  store i32 %7806, ptr @test_count, align 4, !tbaa !5
  %7807 = load i32, ptr %1234, align 4, !tbaa !5
  %7808 = icmp eq i32 %7807, 201326592
  br i1 %7808, label %7809, label %7902

7809:                                             ; preds = %7804
  %7810 = add nsw i32 %7805, 2
  store i32 %7810, ptr @test_count, align 4, !tbaa !5
  %7811 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %7812 = icmp eq ptr %7811, null
  br i1 %7812, label %7928, label %7813

7813:                                             ; preds = %7809
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %7814 = load i32, ptr @test_count, align 4, !tbaa !5
  %7815 = add nsw i32 %7814, 1
  store i32 %7815, ptr @test_count, align 4, !tbaa !5
  %7816 = load i32, ptr %80, align 4, !tbaa !5
  %7817 = icmp eq i32 %7816, 2
  br i1 %7817, label %7818, label %7955

7818:                                             ; preds = %7813
  %7819 = add nsw i32 %7814, 2
  store i32 %7819, ptr @test_count, align 4, !tbaa !5
  %7820 = load i32, ptr %7746, align 4, !tbaa !42
  %7821 = load i32, ptr %7747, align 8, !tbaa !43
  %7822 = icmp eq i32 %7820, %7821
  br i1 %7822, label %7823, label %7982

7823:                                             ; preds = %7818
  %7824 = add nsw i32 %7814, 3
  store i32 %7824, ptr @test_count, align 4, !tbaa !5
  %7825 = load ptr, ptr %79, align 8, !tbaa !9
  %7826 = call i32 @s2n_shutdown_send(ptr noundef %7825, ptr noundef nonnull %80)
  %7827 = icmp eq i32 %7826, -1
  br i1 %7827, label %7828, label %7875

7828:                                             ; preds = %7823
  %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 i32, ptr %1234, align 4, !tbaa !5
  %7832 = icmp eq i32 %7831, 201326592
  br i1 %7832, label %7833, label %7902

7833:                                             ; preds = %7828
  %7834 = add nsw i32 %7829, 2
  store i32 %7834, ptr @test_count, align 4, !tbaa !5
  %7835 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %7836 = icmp eq ptr %7835, null
  br i1 %7836, label %7928, label %7837

7837:                                             ; preds = %7833
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %7838 = load i32, ptr @test_count, align 4, !tbaa !5
  %7839 = add nsw i32 %7838, 1
  store i32 %7839, ptr @test_count, align 4, !tbaa !5
  %7840 = load i32, ptr %80, align 4, !tbaa !5
  %7841 = icmp eq i32 %7840, 2
  br i1 %7841, label %7842, label %7955

7842:                                             ; preds = %7837
  %7843 = add nsw i32 %7838, 2
  store i32 %7843, ptr @test_count, align 4, !tbaa !5
  %7844 = load i32, ptr %7746, align 4, !tbaa !42
  %7845 = load i32, ptr %7747, align 8, !tbaa !43
  %7846 = icmp eq i32 %7844, %7845
  br i1 %7846, label %7847, label %7982

7847:                                             ; preds = %7842
  %7848 = add nsw i32 %7838, 3
  store i32 %7848, ptr @test_count, align 4, !tbaa !5
  %7849 = load ptr, ptr %79, align 8, !tbaa !9
  %7850 = call i32 @s2n_shutdown_send(ptr noundef %7849, ptr noundef nonnull %80)
  %7851 = icmp eq i32 %7850, -1
  br i1 %7851, label %7852, label %7875

7852:                                             ; preds = %7847
  %7853 = load i32, ptr @test_count, align 4, !tbaa !5
  %7854 = add nsw i32 %7853, 1
  store i32 %7854, ptr @test_count, align 4, !tbaa !5
  %7855 = load i32, ptr %1234, align 4, !tbaa !5
  %7856 = icmp eq i32 %7855, 201326592
  br i1 %7856, label %7857, label %7902

7857:                                             ; preds = %7852
  %7858 = add nsw i32 %7853, 2
  store i32 %7858, ptr @test_count, align 4, !tbaa !5
  %7859 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %7860 = icmp eq ptr %7859, null
  br i1 %7860, label %7928, label %7861

7861:                                             ; preds = %7857
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %7862 = load i32, ptr @test_count, align 4, !tbaa !5
  %7863 = add nsw i32 %7862, 1
  store i32 %7863, ptr @test_count, align 4, !tbaa !5
  %7864 = load i32, ptr %80, align 4, !tbaa !5
  %7865 = icmp eq i32 %7864, 2
  br i1 %7865, label %7866, label %7955

7866:                                             ; preds = %7861
  %7867 = add nsw i32 %7862, 2
  store i32 %7867, ptr @test_count, align 4, !tbaa !5
  %7868 = load i32, ptr %7746, align 4, !tbaa !42
  %7869 = load i32, ptr %7747, align 8, !tbaa !43
  %7870 = icmp eq i32 %7868, %7869
  br i1 %7870, label %7871, label %7982

7871:                                             ; preds = %7866
  %7872 = add nsw i32 %7862, 3
  store i32 %7872, ptr @test_count, align 4, !tbaa !5
  %7873 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %81, i32 noundef 0) #11
  %7874 = icmp eq i32 %7873, -1
  br i1 %7874, label %8004, label %8026

7875:                                             ; preds = %7847, %7823, %7799, %7775, %.preheader1480
  %7876 = load i32, ptr %1288, align 4, !tbaa !5
  %7877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7878 = call i32 @s2n_print_stacktrace(ptr noundef %7877) #11
  %7879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7880 = trunc nuw i8 %7879 to i1
  br i1 %7880, label %7881, label %7885

7881:                                             ; preds = %7875
  %7882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7883 = call i32 @fileno(ptr noundef %7882) #11
  %7884 = call i32 @isatty(i32 noundef %7883) #11
  %.not1308 = icmp eq i32 %7884, 0
  br i1 %.not1308, label %7885, label %7886

7885:                                             ; preds = %7881, %7875
  br label %7886

7886:                                             ; preds = %7881, %7885
  %.str.11.sink4022 = phi ptr [ @.str.11, %7885 ], [ @.str.8, %7881 ]
  store i32 %7876, ptr %1288, align 4, !tbaa !5
  %7887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7888 = load i32, ptr @test_count, align 4, !tbaa !5
  %7889 = load i32, ptr %1234, align 4, !tbaa !5
  %7890 = call ptr @s2n_strerror(i32 noundef %7889, ptr noundef nonnull @.str.10) #11
  %7891 = load i32, ptr %1234, align 4, !tbaa !5
  %7892 = call ptr @s2n_strerror_debug(i32 noundef %7891, ptr noundef nonnull @.str.10) #11
  %7893 = load i32, ptr %1288, align 4, !tbaa !5
  %7894 = call ptr @strerror(i32 noundef %7893) #11
  %7895 = load i32, ptr %1288, align 4, !tbaa !5
  %7896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7887, ptr noundef nonnull %.str.11.sink4022, i32 noundef %7888, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.7, i32 noundef 690, ptr noundef %7890, ptr noundef %7892, ptr noundef %7894, i32 noundef %7895) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7897:                                             ; preds = %.preheader1480
  %7898 = load i32, ptr @test_count, align 4, !tbaa !5
  %7899 = add nsw i32 %7898, 1
  store i32 %7899, ptr @test_count, align 4, !tbaa !5
  %7900 = load i32, ptr %1234, align 4, !tbaa !5
  %7901 = icmp eq i32 %7900, 201326592
  br i1 %7901, label %7924, label %7902

7902:                                             ; preds = %7852, %7828, %7804, %7780, %7897
  %7903 = load i32, ptr %1288, align 4, !tbaa !5
  %7904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7905 = call i32 @s2n_print_stacktrace(ptr noundef %7904) #11
  %7906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7907 = trunc nuw i8 %7906 to i1
  br i1 %7907, label %7908, label %7912

7908:                                             ; preds = %7902
  %7909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7910 = call i32 @fileno(ptr noundef %7909) #11
  %7911 = call i32 @isatty(i32 noundef %7910) #11
  %.not1309 = icmp eq i32 %7911, 0
  br i1 %.not1309, label %7912, label %7913

7912:                                             ; preds = %7908, %7902
  br label %7913

7913:                                             ; preds = %7908, %7912
  %.str.11.sink4031 = phi ptr [ @.str.11, %7912 ], [ @.str.8, %7908 ]
  store i32 %7903, ptr %1288, align 4, !tbaa !5
  %7914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7915 = load i32, ptr @test_count, align 4, !tbaa !5
  %7916 = load i32, ptr %1234, align 4, !tbaa !5
  %7917 = call ptr @s2n_strerror(i32 noundef %7916, ptr noundef nonnull @.str.10) #11
  %7918 = load i32, ptr %1234, align 4, !tbaa !5
  %7919 = call ptr @s2n_strerror_debug(i32 noundef %7918, ptr noundef nonnull @.str.10) #11
  %7920 = load i32, ptr %1288, align 4, !tbaa !5
  %7921 = call ptr @strerror(i32 noundef %7920) #11
  %7922 = load i32, ptr %1288, align 4, !tbaa !5
  %7923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7914, ptr noundef nonnull %.str.11.sink4031, i32 noundef %7915, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.7, i32 noundef 690, ptr noundef %7917, ptr noundef %7919, ptr noundef %7921, i32 noundef %7922) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7924:                                             ; preds = %7897
  %7925 = add nsw i32 %7898, 2
  store i32 %7925, ptr @test_count, align 4, !tbaa !5
  %7926 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %7927 = icmp eq ptr %7926, null
  br i1 %7927, label %7928, label %7950

7928:                                             ; preds = %7857, %7833, %7809, %7785, %7924
  %7929 = load i32, ptr %1288, align 4, !tbaa !5
  %7930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7931 = call i32 @s2n_print_stacktrace(ptr noundef %7930) #11
  %7932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7933 = trunc nuw i8 %7932 to i1
  br i1 %7933, label %7934, label %7938

7934:                                             ; preds = %7928
  %7935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7936 = call i32 @fileno(ptr noundef %7935) #11
  %7937 = call i32 @isatty(i32 noundef %7936) #11
  %.not1312 = icmp eq i32 %7937, 0
  br i1 %.not1312, label %7938, label %7939

7938:                                             ; preds = %7934, %7928
  br label %7939

7939:                                             ; preds = %7934, %7938
  %.str.11.sink4040 = phi ptr [ @.str.11, %7938 ], [ @.str.8, %7934 ]
  store i32 %7929, ptr %1288, align 4, !tbaa !5
  %7940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7941 = load i32, ptr @test_count, align 4, !tbaa !5
  %7942 = load i32, ptr %1234, align 4, !tbaa !5
  %7943 = call ptr @s2n_strerror(i32 noundef %7942, ptr noundef nonnull @.str.10) #11
  %7944 = load i32, ptr %1234, align 4, !tbaa !5
  %7945 = call ptr @s2n_strerror_debug(i32 noundef %7944, ptr noundef nonnull @.str.10) #11
  %7946 = load i32, ptr %1288, align 4, !tbaa !5
  %7947 = call ptr @strerror(i32 noundef %7946) #11
  %7948 = load i32, ptr %1288, align 4, !tbaa !5
  %7949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7940, ptr noundef nonnull %.str.11.sink4040, i32 noundef %7941, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 690, ptr noundef %7943, ptr noundef %7945, ptr noundef %7947, i32 noundef %7948) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7950:                                             ; preds = %7924
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %7951 = load i32, ptr @test_count, align 4, !tbaa !5
  %7952 = add nsw i32 %7951, 1
  store i32 %7952, ptr @test_count, align 4, !tbaa !5
  %7953 = load i32, ptr %80, align 4, !tbaa !5
  %7954 = icmp eq i32 %7953, 2
  br i1 %7954, label %7977, label %7955

7955:                                             ; preds = %7861, %7837, %7813, %7789, %7950
  %7956 = load i32, ptr %1288, align 4, !tbaa !5
  %7957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7958 = call i32 @s2n_print_stacktrace(ptr noundef %7957) #11
  %7959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7960 = trunc nuw i8 %7959 to i1
  br i1 %7960, label %7961, label %7965

7961:                                             ; preds = %7955
  %7962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7963 = call i32 @fileno(ptr noundef %7962) #11
  %7964 = call i32 @isatty(i32 noundef %7963) #11
  %.not1310 = icmp eq i32 %7964, 0
  br i1 %.not1310, label %7965, label %7966

7965:                                             ; preds = %7961, %7955
  br label %7966

7966:                                             ; preds = %7961, %7965
  %.str.11.sink4049 = phi ptr [ @.str.11, %7965 ], [ @.str.8, %7961 ]
  store i32 %7956, ptr %1288, align 4, !tbaa !5
  %7967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7968 = load i32, ptr @test_count, align 4, !tbaa !5
  %7969 = load i32, ptr %1234, align 4, !tbaa !5
  %7970 = call ptr @s2n_strerror(i32 noundef %7969, ptr noundef nonnull @.str.10) #11
  %7971 = load i32, ptr %1234, align 4, !tbaa !5
  %7972 = call ptr @s2n_strerror_debug(i32 noundef %7971, ptr noundef nonnull @.str.10) #11
  %7973 = load i32, ptr %1288, align 4, !tbaa !5
  %7974 = call ptr @strerror(i32 noundef %7973) #11
  %7975 = load i32, ptr %1288, align 4, !tbaa !5
  %7976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7967, ptr noundef nonnull %.str.11.sink4049, i32 noundef %7968, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.7, i32 noundef 691, ptr noundef %7970, ptr noundef %7972, ptr noundef %7974, i32 noundef %7975) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7977:                                             ; preds = %7950
  %7978 = add nsw i32 %7951, 2
  store i32 %7978, ptr @test_count, align 4, !tbaa !5
  %7979 = load i32, ptr %7746, align 4, !tbaa !42
  %7980 = load i32, ptr %7747, align 8, !tbaa !43
  %7981 = icmp eq i32 %7979, %7980
  br i1 %7981, label %7775, label %7982

7982:                                             ; preds = %7866, %7842, %7818, %7794, %7977
  %7983 = load i32, ptr %1288, align 4, !tbaa !5
  %7984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7985 = call i32 @s2n_print_stacktrace(ptr noundef %7984) #11
  %7986 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7987 = trunc nuw i8 %7986 to i1
  br i1 %7987, label %7988, label %7992

7988:                                             ; preds = %7982
  %7989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7990 = call i32 @fileno(ptr noundef %7989) #11
  %7991 = call i32 @isatty(i32 noundef %7990) #11
  %.not1311 = icmp eq i32 %7991, 0
  br i1 %.not1311, label %7992, label %7993

7992:                                             ; preds = %7988, %7982
  br label %7993

7993:                                             ; preds = %7988, %7992
  %.str.11.sink4058 = phi ptr [ @.str.11, %7992 ], [ @.str.8, %7988 ]
  store i32 %7983, ptr %1288, align 4, !tbaa !5
  %7994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7995 = load i32, ptr @test_count, align 4, !tbaa !5
  %7996 = load i32, ptr %1234, align 4, !tbaa !5
  %7997 = call ptr @s2n_strerror(i32 noundef %7996, ptr noundef nonnull @.str.10) #11
  %7998 = load i32, ptr %1234, align 4, !tbaa !5
  %7999 = call ptr @s2n_strerror_debug(i32 noundef %7998, ptr noundef nonnull @.str.10) #11
  %8000 = load i32, ptr %1288, align 4, !tbaa !5
  %8001 = call ptr @strerror(i32 noundef %8000) #11
  %8002 = load i32, ptr %1288, align 4, !tbaa !5
  %8003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7994, ptr noundef nonnull %.str.11.sink4058, i32 noundef %7995, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.7, i32 noundef 692, ptr noundef %7997, ptr noundef %7999, ptr noundef %8001, i32 noundef %8002) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8004:                                             ; preds = %7871
  %8005 = load i32, ptr %1288, align 4, !tbaa !5
  %8006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8007 = call i32 @s2n_print_stacktrace(ptr noundef %8006) #11
  %8008 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8009 = trunc nuw i8 %8008 to i1
  br i1 %8009, label %8010, label %8014

8010:                                             ; preds = %8004
  %8011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8012 = call i32 @fileno(ptr noundef %8011) #11
  %8013 = call i32 @isatty(i32 noundef %8012) #11
  %.not1307 = icmp eq i32 %8013, 0
  br i1 %.not1307, label %8014, label %8015

8014:                                             ; preds = %8010, %8004
  br label %8015

8015:                                             ; preds = %8010, %8014
  %.str.11.sink4067 = phi ptr [ @.str.11, %8014 ], [ @.str.8, %8010 ]
  store i32 %8005, ptr %1288, align 4, !tbaa !5
  %8016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8017 = load i32, ptr @test_count, align 4, !tbaa !5
  %8018 = load i32, ptr %1234, align 4, !tbaa !5
  %8019 = call ptr @s2n_strerror(i32 noundef %8018, ptr noundef nonnull @.str.10) #11
  %8020 = load i32, ptr %1234, align 4, !tbaa !5
  %8021 = call ptr @s2n_strerror_debug(i32 noundef %8020, ptr noundef nonnull @.str.10) #11
  %8022 = load i32, ptr %1288, align 4, !tbaa !5
  %8023 = call ptr @strerror(i32 noundef %8022) #11
  %8024 = load i32, ptr %1288, align 4, !tbaa !5
  %8025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8016, ptr noundef nonnull %.str.11.sink4067, i32 noundef %8017, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.7, i32 noundef 698, ptr noundef %8019, ptr noundef %8021, ptr noundef %8023, i32 noundef %8024) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8026:                                             ; preds = %7871
  %8027 = load i32, ptr @test_count, align 4, !tbaa !5
  %8028 = add nsw i32 %8027, 1
  store i32 %8028, ptr @test_count, align 4, !tbaa !5
  %8029 = load ptr, ptr %79, align 8, !tbaa !9
  %8030 = call i32 @s2n_shutdown_send(ptr noundef %8029, ptr noundef nonnull %80)
  %8031 = icmp eq i32 %8030, -1
  br i1 %8031, label %8032, label %8054

8032:                                             ; preds = %8026
  %8033 = load i32, ptr %1288, align 4, !tbaa !5
  %8034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8035 = call i32 @s2n_print_stacktrace(ptr noundef %8034) #11
  %8036 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8037 = trunc nuw i8 %8036 to i1
  br i1 %8037, label %8038, label %8042

8038:                                             ; preds = %8032
  %8039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8040 = call i32 @fileno(ptr noundef %8039) #11
  %8041 = call i32 @isatty(i32 noundef %8040) #11
  %.not1306 = icmp eq i32 %8041, 0
  br i1 %.not1306, label %8042, label %8043

8042:                                             ; preds = %8038, %8032
  br label %8043

8043:                                             ; preds = %8038, %8042
  %.str.11.sink4076 = phi ptr [ @.str.11, %8042 ], [ @.str.8, %8038 ]
  store i32 %8033, ptr %1288, align 4, !tbaa !5
  %8044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8045 = load i32, ptr @test_count, align 4, !tbaa !5
  %8046 = load i32, ptr %1234, align 4, !tbaa !5
  %8047 = call ptr @s2n_strerror(i32 noundef %8046, ptr noundef nonnull @.str.10) #11
  %8048 = load i32, ptr %1234, align 4, !tbaa !5
  %8049 = call ptr @s2n_strerror_debug(i32 noundef %8048, ptr noundef nonnull @.str.10) #11
  %8050 = load i32, ptr %1288, align 4, !tbaa !5
  %8051 = call ptr @strerror(i32 noundef %8050) #11
  %8052 = load i32, ptr %1288, align 4, !tbaa !5
  %8053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8044, ptr noundef nonnull %.str.11.sink4076, i32 noundef %8045, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.7, i32 noundef 701, ptr noundef %8047, ptr noundef %8049, ptr noundef %8051, i32 noundef %8052) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8054:                                             ; preds = %8026
  %8055 = load i32, ptr @test_count, align 4, !tbaa !5
  %8056 = add nsw i32 %8055, 1
  store i32 %8056, ptr @test_count, align 4, !tbaa !5
  %8057 = load i32, ptr %80, align 4, !tbaa !5
  %8058 = icmp eq i32 %8057, 0
  br i1 %8058, label %8081, label %8059

8059:                                             ; preds = %8054
  %8060 = load i32, ptr %1288, align 4, !tbaa !5
  %8061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8062 = call i32 @s2n_print_stacktrace(ptr noundef %8061) #11
  %8063 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8064 = trunc nuw i8 %8063 to i1
  br i1 %8064, label %8065, label %8069

8065:                                             ; preds = %8059
  %8066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8067 = call i32 @fileno(ptr noundef %8066) #11
  %8068 = call i32 @isatty(i32 noundef %8067) #11
  %.not1139 = icmp eq i32 %8068, 0
  br i1 %.not1139, label %8069, label %8070

8069:                                             ; preds = %8065, %8059
  br label %8070

8070:                                             ; preds = %8065, %8069
  %.str.11.sink4085 = phi ptr [ @.str.11, %8069 ], [ @.str.8, %8065 ]
  store i32 %8060, ptr %1288, align 4, !tbaa !5
  %8071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8072 = load i32, ptr @test_count, align 4, !tbaa !5
  %8073 = load i32, ptr %1234, align 4, !tbaa !5
  %8074 = call ptr @s2n_strerror(i32 noundef %8073, ptr noundef nonnull @.str.10) #11
  %8075 = load i32, ptr %1234, align 4, !tbaa !5
  %8076 = call ptr @s2n_strerror_debug(i32 noundef %8075, ptr noundef nonnull @.str.10) #11
  %8077 = load i32, ptr %1288, align 4, !tbaa !5
  %8078 = call ptr @strerror(i32 noundef %8077) #11
  %8079 = load i32, ptr %1288, align 4, !tbaa !5
  %8080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8071, ptr noundef nonnull %.str.11.sink4085, i32 noundef %8072, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.7, i32 noundef 702, ptr noundef %8074, ptr noundef %8076, ptr noundef %8078, i32 noundef %8079) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8081:                                             ; preds = %8054
  %8082 = add nsw i32 %8055, 2
  store i32 %8082, ptr @test_count, align 4, !tbaa !5
  %8083 = load ptr, ptr %79, align 8, !tbaa !9
  %8084 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8083, i32 noundef 0) #11
  br i1 %8084, label %8085, label %8107

8085:                                             ; preds = %8081
  %8086 = load i32, ptr %1288, align 4, !tbaa !5
  %8087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8088 = call i32 @s2n_print_stacktrace(ptr noundef %8087) #11
  %8089 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8090 = trunc nuw i8 %8089 to i1
  br i1 %8090, label %8091, label %8095

8091:                                             ; preds = %8085
  %8092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8093 = call i32 @fileno(ptr noundef %8092) #11
  %8094 = call i32 @isatty(i32 noundef %8093) #11
  %.not1305 = icmp eq i32 %8094, 0
  br i1 %.not1305, label %8095, label %8096

8095:                                             ; preds = %8091, %8085
  br label %8096

8096:                                             ; preds = %8091, %8095
  %.str.11.sink4094 = phi ptr [ @.str.11, %8095 ], [ @.str.8, %8091 ]
  store i32 %8086, ptr %1288, align 4, !tbaa !5
  %8097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8098 = load i32, ptr @test_count, align 4, !tbaa !5
  %8099 = load i32, ptr %1234, align 4, !tbaa !5
  %8100 = call ptr @s2n_strerror(i32 noundef %8099, ptr noundef nonnull @.str.10) #11
  %8101 = load i32, ptr %1234, align 4, !tbaa !5
  %8102 = call ptr @s2n_strerror_debug(i32 noundef %8101, ptr noundef nonnull @.str.10) #11
  %8103 = load i32, ptr %1288, align 4, !tbaa !5
  %8104 = call ptr @strerror(i32 noundef %8103) #11
  %8105 = load i32, ptr %1288, align 4, !tbaa !5
  %8106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8097, ptr noundef nonnull %.str.11.sink4094, i32 noundef %8098, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.7, i32 noundef 703, ptr noundef %8100, ptr noundef %8102, ptr noundef %8104, i32 noundef %8105) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8107:                                             ; preds = %8081
  %8108 = load i32, ptr @test_count, align 4, !tbaa !5
  %8109 = add nsw i32 %8108, 1
  store i32 %8109, ptr @test_count, align 4, !tbaa !5
  %8110 = load ptr, ptr %79, align 8, !tbaa !9
  %8111 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8110, i32 noundef 1) #11
  br i1 %8111, label %8134, label %8112

8112:                                             ; preds = %8107
  %8113 = load i32, ptr %1288, align 4, !tbaa !5
  %8114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8115 = call i32 @s2n_print_stacktrace(ptr noundef %8114) #11
  %8116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8117 = trunc nuw i8 %8116 to i1
  br i1 %8117, label %8118, label %8122

8118:                                             ; preds = %8112
  %8119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8120 = call i32 @fileno(ptr noundef %8119) #11
  %8121 = call i32 @isatty(i32 noundef %8120) #11
  %.not1140 = icmp eq i32 %8121, 0
  br i1 %.not1140, label %8122, label %8123

8122:                                             ; preds = %8118, %8112
  br label %8123

8123:                                             ; preds = %8118, %8122
  %.str.11.sink4103 = phi ptr [ @.str.11, %8122 ], [ @.str.8, %8118 ]
  store i32 %8113, ptr %1288, align 4, !tbaa !5
  %8124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8125 = load i32, ptr @test_count, align 4, !tbaa !5
  %8126 = load i32, ptr %1234, align 4, !tbaa !5
  %8127 = call ptr @s2n_strerror(i32 noundef %8126, ptr noundef nonnull @.str.10) #11
  %8128 = load i32, ptr %1234, align 4, !tbaa !5
  %8129 = call ptr @s2n_strerror_debug(i32 noundef %8128, ptr noundef nonnull @.str.10) #11
  %8130 = load i32, ptr %1288, align 4, !tbaa !5
  %8131 = call ptr @strerror(i32 noundef %8130) #11
  %8132 = load i32, ptr %1288, align 4, !tbaa !5
  %8133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8124, ptr noundef nonnull %.str.11.sink4103, i32 noundef %8125, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.7, i32 noundef 704, ptr noundef %8127, ptr noundef %8129, ptr noundef %8131, i32 noundef %8132) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8134:                                             ; preds = %8107
  %8135 = load i32, ptr @test_count, align 4, !tbaa !5
  %8136 = add nsw i32 %8135, 1
  store i32 %8136, ptr @test_count, align 4, !tbaa !5
  %8137 = load i32, ptr %7746, align 4, !tbaa !42
  %8138 = load i32, ptr %7747, align 8, !tbaa !43
  %8139 = sub i32 %8137, %8138
  %8140 = icmp eq i32 %8139, 7
  br i1 %8140, label %8163, label %8141

8141:                                             ; preds = %8134
  %8142 = load i32, ptr %1288, align 4, !tbaa !5
  %8143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8144 = call i32 @s2n_print_stacktrace(ptr noundef %8143) #11
  %8145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8146 = trunc nuw i8 %8145 to i1
  br i1 %8146, label %8147, label %8151

8147:                                             ; preds = %8141
  %8148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8149 = call i32 @fileno(ptr noundef %8148) #11
  %8150 = call i32 @isatty(i32 noundef %8149) #11
  %.not1141 = icmp eq i32 %8150, 0
  br i1 %.not1141, label %8151, label %8152

8151:                                             ; preds = %8147, %8141
  br label %8152

8152:                                             ; preds = %8147, %8151
  %.str.11.sink4112 = phi ptr [ @.str.11, %8151 ], [ @.str.8, %8147 ]
  store i32 %8142, ptr %1288, align 4, !tbaa !5
  %8153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8154 = load i32, ptr @test_count, align 4, !tbaa !5
  %8155 = load i32, ptr %1234, align 4, !tbaa !5
  %8156 = call ptr @s2n_strerror(i32 noundef %8155, ptr noundef nonnull @.str.10) #11
  %8157 = load i32, ptr %1234, align 4, !tbaa !5
  %8158 = call ptr @s2n_strerror_debug(i32 noundef %8157, ptr noundef nonnull @.str.10) #11
  %8159 = load i32, ptr %1288, align 4, !tbaa !5
  %8160 = call ptr @strerror(i32 noundef %8159) #11
  %8161 = load i32, ptr %1288, align 4, !tbaa !5
  %8162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8153, ptr noundef nonnull %.str.11.sink4112, i32 noundef %8154, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.7, i32 noundef 705, ptr noundef %8156, ptr noundef %8158, ptr noundef %8160, i32 noundef %8161) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8163:                                             ; preds = %8134
  %8164 = add nsw i32 %8135, 2
  store i32 %8164, ptr @test_count, align 4, !tbaa !5
  %8165 = load ptr, ptr %79, align 8, !tbaa !9
  %8166 = getelementptr inbounds i8, ptr %8165, i64 2003
  %8167 = load i8, ptr %8166, align 1, !tbaa !15, !range !13, !noundef !14
  %8168 = trunc nuw i8 %8167 to i1
  br i1 %8168, label %8191, label %8169

8169:                                             ; preds = %8163
  %8170 = load i32, ptr %1288, align 4, !tbaa !5
  %8171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8172 = call i32 @s2n_print_stacktrace(ptr noundef %8171) #11
  %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) #11
  %8178 = call i32 @isatty(i32 noundef %8177) #11
  %.not1142 = icmp eq i32 %8178, 0
  br i1 %.not1142, label %8179, label %8180

8179:                                             ; preds = %8175, %8169
  br label %8180

8180:                                             ; preds = %8175, %8179
  %.str.11.sink4121 = phi ptr [ @.str.11, %8179 ], [ @.str.8, %8175 ]
  store i32 %8170, ptr %1288, 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 %1234, align 4, !tbaa !5
  %8184 = call ptr @s2n_strerror(i32 noundef %8183, ptr noundef nonnull @.str.10) #11
  %8185 = load i32, ptr %1234, align 4, !tbaa !5
  %8186 = call ptr @s2n_strerror_debug(i32 noundef %8185, ptr noundef nonnull @.str.10) #11
  %8187 = load i32, ptr %1288, align 4, !tbaa !5
  %8188 = call ptr @strerror(i32 noundef %8187) #11
  %8189 = load i32, ptr %1288, align 4, !tbaa !5
  %8190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8181, ptr noundef nonnull %.str.11.sink4121, i32 noundef %8182, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.7, i32 noundef 706, ptr noundef %8184, ptr noundef %8186, ptr noundef %8188, i32 noundef %8189) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8191:                                             ; preds = %8163
  %8192 = call i32 @s2n_stuffer_free(ptr noundef nonnull %81) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %81) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %80) #11
  %8193 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %79) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %79) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %82) #11
  %8194 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %8194, ptr %82, align 8, !tbaa !9
  %8195 = load i32, ptr @test_count, align 4, !tbaa !5
  %8196 = add nsw i32 %8195, 1
  store i32 %8196, ptr @test_count, align 4, !tbaa !5
  %8197 = icmp eq ptr %8194, null
  br i1 %8197, label %8198, label %8220

8198:                                             ; preds = %8191
  %8199 = load i32, ptr %1288, align 4, !tbaa !5
  %8200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8201 = call i32 @s2n_print_stacktrace(ptr noundef %8200) #11
  %8202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8203 = trunc nuw i8 %8202 to i1
  br i1 %8203, label %8204, label %8208

8204:                                             ; preds = %8198
  %8205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8206 = call i32 @fileno(ptr noundef %8205) #11
  %8207 = call i32 @isatty(i32 noundef %8206) #11
  %.not1304 = icmp eq i32 %8207, 0
  br i1 %.not1304, label %8208, label %8209

8208:                                             ; preds = %8204, %8198
  br label %8209

8209:                                             ; preds = %8204, %8208
  %.str.11.sink4130 = phi ptr [ @.str.11, %8208 ], [ @.str.8, %8204 ]
  store i32 %8199, ptr %1288, align 4, !tbaa !5
  %8210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8211 = load i32, ptr @test_count, align 4, !tbaa !5
  %8212 = load i32, ptr %1234, align 4, !tbaa !5
  %8213 = call ptr @s2n_strerror(i32 noundef %8212, ptr noundef nonnull @.str.10) #11
  %8214 = load i32, ptr %1234, align 4, !tbaa !5
  %8215 = call ptr @s2n_strerror_debug(i32 noundef %8214, ptr noundef nonnull @.str.10) #11
  %8216 = load i32, ptr %1288, align 4, !tbaa !5
  %8217 = call ptr @strerror(i32 noundef %8216) #11
  %8218 = load i32, ptr %1288, align 4, !tbaa !5
  %8219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8210, ptr noundef nonnull %.str.11.sink4130, i32 noundef %8211, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.7, i32 noundef 713, ptr noundef %8213, ptr noundef %8215, ptr noundef %8217, i32 noundef %8218) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8220:                                             ; preds = %8191
  %8221 = add nsw i32 %8195, 2
  store i32 %8221, ptr @test_count, align 4, !tbaa !5
  %8222 = call i32 @s2n_connection_wipe(ptr noundef nonnull %8194) #11
  %8223 = icmp eq i32 %8222, -1
  br i1 %8223, label %8224, label %8246

8224:                                             ; preds = %8220
  %8225 = load i32, ptr %1288, align 4, !tbaa !5
  %8226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8227 = call i32 @s2n_print_stacktrace(ptr noundef %8226) #11
  %8228 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8229 = trunc nuw i8 %8228 to i1
  br i1 %8229, label %8230, label %8234

8230:                                             ; preds = %8224
  %8231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8232 = call i32 @fileno(ptr noundef %8231) #11
  %8233 = call i32 @isatty(i32 noundef %8232) #11
  %.not1303 = icmp eq i32 %8233, 0
  br i1 %.not1303, label %8234, label %8235

8234:                                             ; preds = %8230, %8224
  br label %8235

8235:                                             ; preds = %8230, %8234
  %.str.11.sink4139 = phi ptr [ @.str.11, %8234 ], [ @.str.8, %8230 ]
  store i32 %8225, ptr %1288, align 4, !tbaa !5
  %8236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8237 = load i32, ptr @test_count, align 4, !tbaa !5
  %8238 = load i32, ptr %1234, align 4, !tbaa !5
  %8239 = call ptr @s2n_strerror(i32 noundef %8238, ptr noundef nonnull @.str.10) #11
  %8240 = load i32, ptr %1234, align 4, !tbaa !5
  %8241 = call ptr @s2n_strerror_debug(i32 noundef %8240, ptr noundef nonnull @.str.10) #11
  %8242 = load i32, ptr %1288, align 4, !tbaa !5
  %8243 = call ptr @strerror(i32 noundef %8242) #11
  %8244 = load i32, ptr %1288, align 4, !tbaa !5
  %8245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8236, ptr noundef nonnull %.str.11.sink4139, i32 noundef %8237, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.7, i32 noundef 714, ptr noundef %8239, ptr noundef %8241, ptr noundef %8243, i32 noundef %8244) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8246:                                             ; preds = %8220
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %83) #11
  store i32 0, ptr %83, align 4, !tbaa !5
  %8247 = load i32, ptr @test_count, align 4, !tbaa !5
  %8248 = add nsw i32 %8247, 1
  store i32 %8248, ptr @test_count, align 4, !tbaa !5
  %8249 = load ptr, ptr %82, align 8, !tbaa !9
  %8250 = call i32 @s2n_shutdown_send(ptr noundef %8249, ptr noundef nonnull %83)
  %8251 = icmp eq i32 %8250, -1
  br i1 %8251, label %8252, label %8274

8252:                                             ; preds = %8246
  %8253 = load i32, ptr %1288, align 4, !tbaa !5
  %8254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8255 = call i32 @s2n_print_stacktrace(ptr noundef %8254) #11
  %8256 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8257 = trunc nuw i8 %8256 to i1
  br i1 %8257, label %8258, label %8262

8258:                                             ; preds = %8252
  %8259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8260 = call i32 @fileno(ptr noundef %8259) #11
  %8261 = call i32 @isatty(i32 noundef %8260) #11
  %.not1302 = icmp eq i32 %8261, 0
  br i1 %.not1302, label %8262, label %8263

8262:                                             ; preds = %8258, %8252
  br label %8263

8263:                                             ; preds = %8258, %8262
  %.str.11.sink4148 = phi ptr [ @.str.11, %8262 ], [ @.str.8, %8258 ]
  store i32 %8253, ptr %1288, align 4, !tbaa !5
  %8264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8265 = load i32, ptr @test_count, align 4, !tbaa !5
  %8266 = load i32, ptr %1234, align 4, !tbaa !5
  %8267 = call ptr @s2n_strerror(i32 noundef %8266, ptr noundef nonnull @.str.10) #11
  %8268 = load i32, ptr %1234, align 4, !tbaa !5
  %8269 = call ptr @s2n_strerror_debug(i32 noundef %8268, ptr noundef nonnull @.str.10) #11
  %8270 = load i32, ptr %1288, align 4, !tbaa !5
  %8271 = call ptr @strerror(i32 noundef %8270) #11
  %8272 = load i32, ptr %1288, align 4, !tbaa !5
  %8273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8264, ptr noundef nonnull %.str.11.sink4148, i32 noundef %8265, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.7, i32 noundef 717, ptr noundef %8267, ptr noundef %8269, ptr noundef %8271, i32 noundef %8272) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8274:                                             ; preds = %8246
  %8275 = load i32, ptr @test_count, align 4, !tbaa !5
  %8276 = add nsw i32 %8275, 1
  store i32 %8276, ptr @test_count, align 4, !tbaa !5
  %8277 = load i32, ptr %83, align 4, !tbaa !5
  %8278 = icmp eq i32 %8277, 0
  br i1 %8278, label %8301, label %8279

8279:                                             ; preds = %8274
  %8280 = load i32, ptr %1288, align 4, !tbaa !5
  %8281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8282 = call i32 @s2n_print_stacktrace(ptr noundef %8281) #11
  %8283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8284 = trunc nuw i8 %8283 to i1
  br i1 %8284, label %8285, label %8289

8285:                                             ; preds = %8279
  %8286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8287 = call i32 @fileno(ptr noundef %8286) #11
  %8288 = call i32 @isatty(i32 noundef %8287) #11
  %.not1143 = icmp eq i32 %8288, 0
  br i1 %.not1143, label %8289, label %8290

8289:                                             ; preds = %8285, %8279
  br label %8290

8290:                                             ; preds = %8285, %8289
  %.str.11.sink4157 = phi ptr [ @.str.11, %8289 ], [ @.str.8, %8285 ]
  store i32 %8280, ptr %1288, align 4, !tbaa !5
  %8291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8292 = load i32, ptr @test_count, align 4, !tbaa !5
  %8293 = load i32, ptr %1234, align 4, !tbaa !5
  %8294 = call ptr @s2n_strerror(i32 noundef %8293, ptr noundef nonnull @.str.10) #11
  %8295 = load i32, ptr %1234, align 4, !tbaa !5
  %8296 = call ptr @s2n_strerror_debug(i32 noundef %8295, ptr noundef nonnull @.str.10) #11
  %8297 = load i32, ptr %1288, align 4, !tbaa !5
  %8298 = call ptr @strerror(i32 noundef %8297) #11
  %8299 = load i32, ptr %1288, align 4, !tbaa !5
  %8300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8291, ptr noundef nonnull %.str.11.sink4157, i32 noundef %8292, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.7, i32 noundef 718, ptr noundef %8294, ptr noundef %8296, ptr noundef %8298, i32 noundef %8299) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8301:                                             ; preds = %8274
  %8302 = add nsw i32 %8275, 2
  store i32 %8302, ptr @test_count, align 4, !tbaa !5
  %8303 = load ptr, ptr %82, align 8, !tbaa !9
  %8304 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8303, i32 noundef 2) #11
  br i1 %8304, label %8327, label %8305

8305:                                             ; preds = %8301
  %8306 = load i32, ptr %1288, align 4, !tbaa !5
  %8307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8308 = call i32 @s2n_print_stacktrace(ptr noundef %8307) #11
  %8309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8310 = trunc nuw i8 %8309 to i1
  br i1 %8310, label %8311, label %8315

8311:                                             ; preds = %8305
  %8312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8313 = call i32 @fileno(ptr noundef %8312) #11
  %8314 = call i32 @isatty(i32 noundef %8313) #11
  %.not1144 = icmp eq i32 %8314, 0
  br i1 %.not1144, label %8315, label %8316

8315:                                             ; preds = %8311, %8305
  br label %8316

8316:                                             ; preds = %8311, %8315
  %.str.11.sink4166 = phi ptr [ @.str.11, %8315 ], [ @.str.8, %8311 ]
  store i32 %8306, ptr %1288, align 4, !tbaa !5
  %8317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8318 = load i32, ptr @test_count, align 4, !tbaa !5
  %8319 = load i32, ptr %1234, align 4, !tbaa !5
  %8320 = call ptr @s2n_strerror(i32 noundef %8319, ptr noundef nonnull @.str.10) #11
  %8321 = load i32, ptr %1234, align 4, !tbaa !5
  %8322 = call ptr @s2n_strerror_debug(i32 noundef %8321, ptr noundef nonnull @.str.10) #11
  %8323 = load i32, ptr %1288, align 4, !tbaa !5
  %8324 = call ptr @strerror(i32 noundef %8323) #11
  %8325 = load i32, ptr %1288, align 4, !tbaa !5
  %8326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8317, ptr noundef nonnull %.str.11.sink4166, i32 noundef %8318, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.7, i32 noundef 719, ptr noundef %8320, ptr noundef %8322, ptr noundef %8324, i32 noundef %8325) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8327:                                             ; preds = %8301
  %8328 = load i32, ptr @test_count, align 4, !tbaa !5
  %8329 = add nsw i32 %8328, 1
  store i32 %8329, ptr @test_count, align 4, !tbaa !5
  %8330 = load ptr, ptr %82, align 8, !tbaa !9
  %8331 = getelementptr inbounds i8, ptr %8330, i64 2003
  %8332 = load i8, ptr %8331, align 1, !tbaa !15, !range !13, !noundef !14
  %8333 = trunc nuw i8 %8332 to i1
  br i1 %8333, label %8334, label %8356

8334:                                             ; preds = %8327
  %8335 = load i32, ptr %1288, align 4, !tbaa !5
  %8336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8337 = call i32 @s2n_print_stacktrace(ptr noundef %8336) #11
  %8338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8339 = trunc nuw i8 %8338 to i1
  br i1 %8339, label %8340, label %8344

8340:                                             ; preds = %8334
  %8341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8342 = call i32 @fileno(ptr noundef %8341) #11
  %8343 = call i32 @isatty(i32 noundef %8342) #11
  %.not1301 = icmp eq i32 %8343, 0
  br i1 %.not1301, label %8344, label %8345

8344:                                             ; preds = %8340, %8334
  br label %8345

8345:                                             ; preds = %8340, %8344
  %.str.11.sink4175 = phi ptr [ @.str.11, %8344 ], [ @.str.8, %8340 ]
  store i32 %8335, ptr %1288, align 4, !tbaa !5
  %8346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8347 = load i32, ptr @test_count, align 4, !tbaa !5
  %8348 = load i32, ptr %1234, align 4, !tbaa !5
  %8349 = call ptr @s2n_strerror(i32 noundef %8348, ptr noundef nonnull @.str.10) #11
  %8350 = load i32, ptr %1234, align 4, !tbaa !5
  %8351 = call ptr @s2n_strerror_debug(i32 noundef %8350, ptr noundef nonnull @.str.10) #11
  %8352 = load i32, ptr %1288, align 4, !tbaa !5
  %8353 = call ptr @strerror(i32 noundef %8352) #11
  %8354 = load i32, ptr %1288, align 4, !tbaa !5
  %8355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8346, ptr noundef nonnull %.str.11.sink4175, i32 noundef %8347, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.7, i32 noundef 720, ptr noundef %8349, ptr noundef %8351, ptr noundef %8353, i32 noundef %8354) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8356:                                             ; preds = %8327
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %83) #11
  %8357 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %82) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %84) #11
  %8358 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %8358, ptr %84, align 8, !tbaa !9
  %8359 = load i32, ptr @test_count, align 4, !tbaa !5
  %8360 = add nsw i32 %8359, 1
  store i32 %8360, ptr @test_count, align 4, !tbaa !5
  %8361 = icmp eq ptr %8358, null
  br i1 %8361, label %8362, label %8384

8362:                                             ; preds = %8356
  %8363 = load i32, ptr %1288, align 4, !tbaa !5
  %8364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8365 = call i32 @s2n_print_stacktrace(ptr noundef %8364) #11
  %8366 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8367 = trunc nuw i8 %8366 to i1
  br i1 %8367, label %8368, label %8372

8368:                                             ; preds = %8362
  %8369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8370 = call i32 @fileno(ptr noundef %8369) #11
  %8371 = call i32 @isatty(i32 noundef %8370) #11
  %.not1300 = icmp eq i32 %8371, 0
  br i1 %.not1300, label %8372, label %8373

8372:                                             ; preds = %8368, %8362
  br label %8373

8373:                                             ; preds = %8368, %8372
  %.str.11.sink4184 = phi ptr [ @.str.11, %8372 ], [ @.str.8, %8368 ]
  store i32 %8363, ptr %1288, align 4, !tbaa !5
  %8374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8375 = load i32, ptr @test_count, align 4, !tbaa !5
  %8376 = load i32, ptr %1234, align 4, !tbaa !5
  %8377 = call ptr @s2n_strerror(i32 noundef %8376, ptr noundef nonnull @.str.10) #11
  %8378 = load i32, ptr %1234, align 4, !tbaa !5
  %8379 = call ptr @s2n_strerror_debug(i32 noundef %8378, ptr noundef nonnull @.str.10) #11
  %8380 = load i32, ptr %1288, align 4, !tbaa !5
  %8381 = call ptr @strerror(i32 noundef %8380) #11
  %8382 = load i32, ptr %1288, align 4, !tbaa !5
  %8383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8374, ptr noundef nonnull %.str.11.sink4184, i32 noundef %8375, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.7, i32 noundef 727, ptr noundef %8377, ptr noundef %8379, ptr noundef %8381, i32 noundef %8382) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8384:                                             ; preds = %8356
  %8385 = add nsw i32 %8359, 2
  store i32 %8385, ptr @test_count, align 4, !tbaa !5
  %8386 = call i32 @s2n_skip_handshake(ptr noundef nonnull %8358) #11
  %8387 = call zeroext i1 @s2n_result_is_ok(i32 %8386)
  br i1 %8387, label %8410, label %8388

8388:                                             ; preds = %8384
  %8389 = load i32, ptr %1288, align 4, !tbaa !5
  %8390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8391 = call i32 @s2n_print_stacktrace(ptr noundef %8390) #11
  %8392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8393 = trunc nuw i8 %8392 to i1
  br i1 %8393, label %8394, label %8398

8394:                                             ; preds = %8388
  %8395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8396 = call i32 @fileno(ptr noundef %8395) #11
  %8397 = call i32 @isatty(i32 noundef %8396) #11
  %.not1145 = icmp eq i32 %8397, 0
  br i1 %.not1145, label %8398, label %8399

8398:                                             ; preds = %8394, %8388
  br label %8399

8399:                                             ; preds = %8394, %8398
  %.str.11.sink4193 = phi ptr [ @.str.11, %8398 ], [ @.str.8, %8394 ]
  store i32 %8389, ptr %1288, align 4, !tbaa !5
  %8400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8401 = load i32, ptr @test_count, align 4, !tbaa !5
  %8402 = load i32, ptr %1234, align 4, !tbaa !5
  %8403 = call ptr @s2n_strerror(i32 noundef %8402, ptr noundef nonnull @.str.10) #11
  %8404 = load i32, ptr %1234, align 4, !tbaa !5
  %8405 = call ptr @s2n_strerror_debug(i32 noundef %8404, ptr noundef nonnull @.str.10) #11
  %8406 = load i32, ptr %1288, align 4, !tbaa !5
  %8407 = call ptr @strerror(i32 noundef %8406) #11
  %8408 = load i32, ptr %1288, align 4, !tbaa !5
  %8409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8400, ptr noundef nonnull %.str.11.sink4193, i32 noundef %8401, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.7, i32 noundef 728, ptr noundef %8403, ptr noundef %8405, ptr noundef %8407, i32 noundef %8408) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8410:                                             ; preds = %8384
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %85) #11
  store i32 0, ptr %85, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %86) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %86, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %87) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %87, i8 0, i64 40, i1 false)
  %8411 = load i32, ptr @test_count, align 4, !tbaa !5
  %8412 = add nsw i32 %8411, 1
  store i32 %8412, ptr @test_count, align 4, !tbaa !5
  %8413 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %86, i32 noundef 0) #11
  %8414 = icmp eq i32 %8413, -1
  br i1 %8414, label %8415, label %8437

8415:                                             ; preds = %8410
  %8416 = load i32, ptr %1288, align 4, !tbaa !5
  %8417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8418 = call i32 @s2n_print_stacktrace(ptr noundef %8417) #11
  %8419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8420 = trunc nuw i8 %8419 to i1
  br i1 %8420, label %8421, label %8425

8421:                                             ; preds = %8415
  %8422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8423 = call i32 @fileno(ptr noundef %8422) #11
  %8424 = call i32 @isatty(i32 noundef %8423) #11
  %.not1299 = icmp eq i32 %8424, 0
  br i1 %.not1299, label %8425, label %8426

8425:                                             ; preds = %8421, %8415
  br label %8426

8426:                                             ; preds = %8421, %8425
  %.str.11.sink4202 = phi ptr [ @.str.11, %8425 ], [ @.str.8, %8421 ]
  store i32 %8416, ptr %1288, align 4, !tbaa !5
  %8427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8428 = load i32, ptr @test_count, align 4, !tbaa !5
  %8429 = load i32, ptr %1234, align 4, !tbaa !5
  %8430 = call ptr @s2n_strerror(i32 noundef %8429, ptr noundef nonnull @.str.10) #11
  %8431 = load i32, ptr %1234, align 4, !tbaa !5
  %8432 = call ptr @s2n_strerror_debug(i32 noundef %8431, ptr noundef nonnull @.str.10) #11
  %8433 = load i32, ptr %1288, align 4, !tbaa !5
  %8434 = call ptr @strerror(i32 noundef %8433) #11
  %8435 = load i32, ptr %1288, align 4, !tbaa !5
  %8436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8427, ptr noundef nonnull %.str.11.sink4202, i32 noundef %8428, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.7, i32 noundef 734, ptr noundef %8430, ptr noundef %8432, ptr noundef %8434, i32 noundef %8435) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8437:                                             ; preds = %8410
  %8438 = load i32, ptr @test_count, align 4, !tbaa !5
  %8439 = add nsw i32 %8438, 1
  store i32 %8439, ptr @test_count, align 4, !tbaa !5
  %8440 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %87, i32 noundef 0) #11
  %8441 = icmp eq i32 %8440, -1
  br i1 %8441, label %8442, label %8464

8442:                                             ; preds = %8437
  %8443 = load i32, ptr %1288, align 4, !tbaa !5
  %8444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8445 = call i32 @s2n_print_stacktrace(ptr noundef %8444) #11
  %8446 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8447 = trunc nuw i8 %8446 to i1
  br i1 %8447, label %8448, label %8452

8448:                                             ; preds = %8442
  %8449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8450 = call i32 @fileno(ptr noundef %8449) #11
  %8451 = call i32 @isatty(i32 noundef %8450) #11
  %.not1298 = icmp eq i32 %8451, 0
  br i1 %.not1298, label %8452, label %8453

8452:                                             ; preds = %8448, %8442
  br label %8453

8453:                                             ; preds = %8448, %8452
  %.str.11.sink4211 = phi ptr [ @.str.11, %8452 ], [ @.str.8, %8448 ]
  store i32 %8443, ptr %1288, align 4, !tbaa !5
  %8454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8455 = load i32, ptr @test_count, align 4, !tbaa !5
  %8456 = load i32, ptr %1234, align 4, !tbaa !5
  %8457 = call ptr @s2n_strerror(i32 noundef %8456, ptr noundef nonnull @.str.10) #11
  %8458 = load i32, ptr %1234, align 4, !tbaa !5
  %8459 = call ptr @s2n_strerror_debug(i32 noundef %8458, ptr noundef nonnull @.str.10) #11
  %8460 = load i32, ptr %1288, align 4, !tbaa !5
  %8461 = call ptr @strerror(i32 noundef %8460) #11
  %8462 = load i32, ptr %1288, align 4, !tbaa !5
  %8463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8454, ptr noundef nonnull %.str.11.sink4211, i32 noundef %8455, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.7, i32 noundef 735, ptr noundef %8457, ptr noundef %8459, ptr noundef %8461, i32 noundef %8462) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8464:                                             ; preds = %8437
  %8465 = load i32, ptr @test_count, align 4, !tbaa !5
  %8466 = add nsw i32 %8465, 1
  store i32 %8466, ptr @test_count, align 4, !tbaa !5
  %8467 = load ptr, ptr %84, align 8, !tbaa !9
  %8468 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %87, ptr noundef nonnull %86, ptr noundef %8467) #11
  %8469 = icmp eq i32 %8468, -1
  br i1 %8469, label %8477, label %.preheader1479

.preheader1479:                                   ; preds = %8464
  %8470 = getelementptr inbounds i8, ptr %86, i64 28
  %8471 = getelementptr inbounds i8, ptr %86, i64 24
  %8472 = load i32, ptr @test_count, align 4, !tbaa !5
  %8473 = add nsw i32 %8472, 1
  store i32 %8473, ptr @test_count, align 4, !tbaa !5
  %8474 = load ptr, ptr %84, align 8, !tbaa !9
  %8475 = call i32 @s2n_shutdown_send(ptr noundef %8474, ptr noundef nonnull %85)
  %8476 = icmp eq i32 %8475, -1
  br i1 %8476, label %8626, label %8648

8477:                                             ; preds = %8464
  %8478 = load i32, ptr %1288, align 4, !tbaa !5
  %8479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8480 = call i32 @s2n_print_stacktrace(ptr noundef %8479) #11
  %8481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8482 = trunc nuw i8 %8481 to i1
  br i1 %8482, label %8483, label %8487

8483:                                             ; preds = %8477
  %8484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8485 = call i32 @fileno(ptr noundef %8484) #11
  %8486 = call i32 @isatty(i32 noundef %8485) #11
  %.not1297 = icmp eq i32 %8486, 0
  br i1 %.not1297, label %8487, label %8488

8487:                                             ; preds = %8483, %8477
  br label %8488

8488:                                             ; preds = %8483, %8487
  %.str.11.sink4220 = phi ptr [ @.str.11, %8487 ], [ @.str.8, %8483 ]
  store i32 %8478, ptr %1288, align 4, !tbaa !5
  %8489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8490 = load i32, ptr @test_count, align 4, !tbaa !5
  %8491 = load i32, ptr %1234, align 4, !tbaa !5
  %8492 = call ptr @s2n_strerror(i32 noundef %8491, ptr noundef nonnull @.str.10) #11
  %8493 = load i32, ptr %1234, align 4, !tbaa !5
  %8494 = call ptr @s2n_strerror_debug(i32 noundef %8493, ptr noundef nonnull @.str.10) #11
  %8495 = load i32, ptr %1288, align 4, !tbaa !5
  %8496 = call ptr @strerror(i32 noundef %8495) #11
  %8497 = load i32, ptr %1288, align 4, !tbaa !5
  %8498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8489, ptr noundef nonnull %.str.11.sink4220, i32 noundef %8490, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.7, i32 noundef 736, ptr noundef %8492, ptr noundef %8494, ptr noundef %8496, i32 noundef %8497) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8499:                                             ; preds = %8757
  %8500 = add nsw i32 %8729, 3
  store i32 %8500, ptr @test_count, align 4, !tbaa !5
  %8501 = call i32 @s2n_shutdown_send(ptr noundef nonnull %8759, ptr noundef nonnull %85)
  %8502 = icmp eq i32 %8501, -1
  br i1 %8502, label %8626, label %8503

8503:                                             ; preds = %8499
  %8504 = load i32, ptr @test_count, align 4, !tbaa !5
  %8505 = add nsw i32 %8504, 1
  store i32 %8505, ptr @test_count, align 4, !tbaa !5
  %8506 = load i32, ptr %85, align 4, !tbaa !5
  %8507 = icmp eq i32 %8506, 0
  br i1 %8507, label %8508, label %8653

8508:                                             ; preds = %8503
  %8509 = add nsw i32 %8504, 2
  store i32 %8509, ptr @test_count, align 4, !tbaa !5
  %8510 = load ptr, ptr %84, align 8, !tbaa !9
  %8511 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8510, i32 noundef 0) #11
  br i1 %8511, label %8679, label %8512

8512:                                             ; preds = %8508
  %8513 = load i32, ptr @test_count, align 4, !tbaa !5
  %8514 = add nsw i32 %8513, 1
  store i32 %8514, ptr @test_count, align 4, !tbaa !5
  %8515 = load ptr, ptr %84, align 8, !tbaa !9
  %8516 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8515, i32 noundef 1) #11
  br i1 %8516, label %8517, label %8706

8517:                                             ; preds = %8512
  %8518 = load i32, ptr @test_count, align 4, !tbaa !5
  %8519 = add nsw i32 %8518, 1
  store i32 %8519, ptr @test_count, align 4, !tbaa !5
  %8520 = load i32, ptr %8470, align 4, !tbaa !42
  %8521 = load i32, ptr %8471, align 8, !tbaa !43
  %8522 = sub i32 %8520, %8521
  %8523 = icmp eq i32 %8522, 7
  br i1 %8523, label %8524, label %8735

8524:                                             ; preds = %8517
  %8525 = add nsw i32 %8518, 2
  store i32 %8525, ptr @test_count, align 4, !tbaa !5
  %8526 = load ptr, ptr %84, align 8, !tbaa !9
  %8527 = getelementptr inbounds i8, ptr %8526, i64 2003
  %8528 = load i8, ptr %8527, align 1, !tbaa !15, !range !13, !noundef !14
  %8529 = trunc nuw i8 %8528 to i1
  br i1 %8529, label %8530, label %8763

8530:                                             ; preds = %8524
  %8531 = add nsw i32 %8518, 3
  store i32 %8531, ptr @test_count, align 4, !tbaa !5
  %8532 = call i32 @s2n_shutdown_send(ptr noundef nonnull %8526, ptr noundef nonnull %85)
  %8533 = icmp eq i32 %8532, -1
  br i1 %8533, label %8626, label %8534

8534:                                             ; preds = %8530
  %8535 = load i32, ptr @test_count, align 4, !tbaa !5
  %8536 = add nsw i32 %8535, 1
  store i32 %8536, ptr @test_count, align 4, !tbaa !5
  %8537 = load i32, ptr %85, align 4, !tbaa !5
  %8538 = icmp eq i32 %8537, 0
  br i1 %8538, label %8539, label %8653

8539:                                             ; preds = %8534
  %8540 = add nsw i32 %8535, 2
  store i32 %8540, ptr @test_count, align 4, !tbaa !5
  %8541 = load ptr, ptr %84, align 8, !tbaa !9
  %8542 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8541, i32 noundef 0) #11
  br i1 %8542, label %8679, label %8543

8543:                                             ; preds = %8539
  %8544 = load i32, ptr @test_count, align 4, !tbaa !5
  %8545 = add nsw i32 %8544, 1
  store i32 %8545, ptr @test_count, align 4, !tbaa !5
  %8546 = load ptr, ptr %84, align 8, !tbaa !9
  %8547 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8546, i32 noundef 1) #11
  br i1 %8547, label %8548, label %8706

8548:                                             ; preds = %8543
  %8549 = load i32, ptr @test_count, align 4, !tbaa !5
  %8550 = add nsw i32 %8549, 1
  store i32 %8550, ptr @test_count, align 4, !tbaa !5
  %8551 = load i32, ptr %8470, align 4, !tbaa !42
  %8552 = load i32, ptr %8471, align 8, !tbaa !43
  %8553 = sub i32 %8551, %8552
  %8554 = icmp eq i32 %8553, 7
  br i1 %8554, label %8555, label %8735

8555:                                             ; preds = %8548
  %8556 = add nsw i32 %8549, 2
  store i32 %8556, ptr @test_count, align 4, !tbaa !5
  %8557 = load ptr, ptr %84, align 8, !tbaa !9
  %8558 = getelementptr inbounds i8, ptr %8557, i64 2003
  %8559 = load i8, ptr %8558, align 1, !tbaa !15, !range !13, !noundef !14
  %8560 = trunc nuw i8 %8559 to i1
  br i1 %8560, label %8561, label %8763

8561:                                             ; preds = %8555
  %8562 = add nsw i32 %8549, 3
  store i32 %8562, ptr @test_count, align 4, !tbaa !5
  %8563 = call i32 @s2n_shutdown_send(ptr noundef nonnull %8557, ptr noundef nonnull %85)
  %8564 = icmp eq i32 %8563, -1
  br i1 %8564, label %8626, label %8565

8565:                                             ; preds = %8561
  %8566 = load i32, ptr @test_count, align 4, !tbaa !5
  %8567 = add nsw i32 %8566, 1
  store i32 %8567, ptr @test_count, align 4, !tbaa !5
  %8568 = load i32, ptr %85, align 4, !tbaa !5
  %8569 = icmp eq i32 %8568, 0
  br i1 %8569, label %8570, label %8653

8570:                                             ; preds = %8565
  %8571 = add nsw i32 %8566, 2
  store i32 %8571, ptr @test_count, align 4, !tbaa !5
  %8572 = load ptr, ptr %84, align 8, !tbaa !9
  %8573 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8572, i32 noundef 0) #11
  br i1 %8573, label %8679, label %8574

8574:                                             ; preds = %8570
  %8575 = load i32, ptr @test_count, align 4, !tbaa !5
  %8576 = add nsw i32 %8575, 1
  store i32 %8576, ptr @test_count, align 4, !tbaa !5
  %8577 = load ptr, ptr %84, align 8, !tbaa !9
  %8578 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8577, i32 noundef 1) #11
  br i1 %8578, label %8579, label %8706

8579:                                             ; preds = %8574
  %8580 = load i32, ptr @test_count, align 4, !tbaa !5
  %8581 = add nsw i32 %8580, 1
  store i32 %8581, ptr @test_count, align 4, !tbaa !5
  %8582 = load i32, ptr %8470, align 4, !tbaa !42
  %8583 = load i32, ptr %8471, align 8, !tbaa !43
  %8584 = sub i32 %8582, %8583
  %8585 = icmp eq i32 %8584, 7
  br i1 %8585, label %8586, label %8735

8586:                                             ; preds = %8579
  %8587 = add nsw i32 %8580, 2
  store i32 %8587, ptr @test_count, align 4, !tbaa !5
  %8588 = load ptr, ptr %84, align 8, !tbaa !9
  %8589 = getelementptr inbounds i8, ptr %8588, i64 2003
  %8590 = load i8, ptr %8589, align 1, !tbaa !15, !range !13, !noundef !14
  %8591 = trunc nuw i8 %8590 to i1
  br i1 %8591, label %8592, label %8763

8592:                                             ; preds = %8586
  %8593 = add nsw i32 %8580, 3
  store i32 %8593, ptr @test_count, align 4, !tbaa !5
  %8594 = call i32 @s2n_shutdown_send(ptr noundef nonnull %8588, ptr noundef nonnull %85)
  %8595 = icmp eq i32 %8594, -1
  br i1 %8595, label %8626, label %8596

8596:                                             ; preds = %8592
  %8597 = load i32, ptr @test_count, align 4, !tbaa !5
  %8598 = add nsw i32 %8597, 1
  store i32 %8598, ptr @test_count, align 4, !tbaa !5
  %8599 = load i32, ptr %85, align 4, !tbaa !5
  %8600 = icmp eq i32 %8599, 0
  br i1 %8600, label %8601, label %8653

8601:                                             ; preds = %8596
  %8602 = add nsw i32 %8597, 2
  store i32 %8602, ptr @test_count, align 4, !tbaa !5
  %8603 = load ptr, ptr %84, align 8, !tbaa !9
  %8604 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8603, i32 noundef 0) #11
  br i1 %8604, label %8679, label %8605

8605:                                             ; preds = %8601
  %8606 = load i32, ptr @test_count, align 4, !tbaa !5
  %8607 = add nsw i32 %8606, 1
  store i32 %8607, ptr @test_count, align 4, !tbaa !5
  %8608 = load ptr, ptr %84, align 8, !tbaa !9
  %8609 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8608, i32 noundef 1) #11
  br i1 %8609, label %8610, label %8706

8610:                                             ; preds = %8605
  %8611 = load i32, ptr @test_count, align 4, !tbaa !5
  %8612 = add nsw i32 %8611, 1
  store i32 %8612, ptr @test_count, align 4, !tbaa !5
  %8613 = load i32, ptr %8470, align 4, !tbaa !42
  %8614 = load i32, ptr %8471, align 8, !tbaa !43
  %8615 = sub i32 %8613, %8614
  %8616 = icmp eq i32 %8615, 7
  br i1 %8616, label %8617, label %8735

8617:                                             ; preds = %8610
  %8618 = add nsw i32 %8611, 2
  store i32 %8618, ptr @test_count, align 4, !tbaa !5
  %8619 = load ptr, ptr %84, align 8, !tbaa !9
  %8620 = getelementptr inbounds i8, ptr %8619, i64 2003
  %8621 = load i8, ptr %8620, align 1, !tbaa !15, !range !13, !noundef !14
  %8622 = trunc nuw i8 %8621 to i1
  br i1 %8622, label %.preheader1478.preheader, label %8763

.preheader1478.preheader:                         ; preds = %8617
  %8623 = add nsw i32 %8611, 3
  store i32 %8623, ptr @test_count, align 4, !tbaa !5
  %8624 = call i32 @s2n_shutdown(ptr noundef nonnull %8619, ptr noundef nonnull %85)
  %8625 = icmp eq i32 %8624, -1
  br i1 %8625, label %8934, label %8912

8626:                                             ; preds = %8592, %8561, %8530, %8499, %.preheader1479
  %8627 = load i32, ptr %1288, align 4, !tbaa !5
  %8628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8629 = call i32 @s2n_print_stacktrace(ptr noundef %8628) #11
  %8630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8631 = trunc nuw i8 %8630 to i1
  br i1 %8631, label %8632, label %8636

8632:                                             ; preds = %8626
  %8633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8634 = call i32 @fileno(ptr noundef %8633) #11
  %8635 = call i32 @isatty(i32 noundef %8634) #11
  %.not1296 = icmp eq i32 %8635, 0
  br i1 %.not1296, label %8636, label %8637

8636:                                             ; preds = %8632, %8626
  br label %8637

8637:                                             ; preds = %8632, %8636
  %.str.11.sink4229 = phi ptr [ @.str.11, %8636 ], [ @.str.8, %8632 ]
  store i32 %8627, ptr %1288, align 4, !tbaa !5
  %8638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8639 = load i32, ptr @test_count, align 4, !tbaa !5
  %8640 = load i32, ptr %1234, align 4, !tbaa !5
  %8641 = call ptr @s2n_strerror(i32 noundef %8640, ptr noundef nonnull @.str.10) #11
  %8642 = load i32, ptr %1234, align 4, !tbaa !5
  %8643 = call ptr @s2n_strerror_debug(i32 noundef %8642, ptr noundef nonnull @.str.10) #11
  %8644 = load i32, ptr %1288, align 4, !tbaa !5
  %8645 = call ptr @strerror(i32 noundef %8644) #11
  %8646 = load i32, ptr %1288, align 4, !tbaa !5
  %8647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8638, ptr noundef nonnull %.str.11.sink4229, i32 noundef %8639, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.7, i32 noundef 742, ptr noundef %8641, ptr noundef %8643, ptr noundef %8645, i32 noundef %8646) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8648:                                             ; preds = %.preheader1479
  %8649 = load i32, ptr @test_count, align 4, !tbaa !5
  %8650 = add nsw i32 %8649, 1
  store i32 %8650, ptr @test_count, align 4, !tbaa !5
  %8651 = load i32, ptr %85, align 4, !tbaa !5
  %8652 = icmp eq i32 %8651, 0
  br i1 %8652, label %8675, label %8653

8653:                                             ; preds = %8596, %8565, %8534, %8503, %8648
  %8654 = load i32, ptr %1288, align 4, !tbaa !5
  %8655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8656 = call i32 @s2n_print_stacktrace(ptr noundef %8655) #11
  %8657 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8658 = trunc nuw i8 %8657 to i1
  br i1 %8658, label %8659, label %8663

8659:                                             ; preds = %8653
  %8660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8661 = call i32 @fileno(ptr noundef %8660) #11
  %8662 = call i32 @isatty(i32 noundef %8661) #11
  %.not1291 = icmp eq i32 %8662, 0
  br i1 %.not1291, label %8663, label %8664

8663:                                             ; preds = %8659, %8653
  br label %8664

8664:                                             ; preds = %8659, %8663
  %.str.11.sink4238 = phi ptr [ @.str.11, %8663 ], [ @.str.8, %8659 ]
  store i32 %8654, ptr %1288, align 4, !tbaa !5
  %8665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8666 = load i32, ptr @test_count, align 4, !tbaa !5
  %8667 = load i32, ptr %1234, align 4, !tbaa !5
  %8668 = call ptr @s2n_strerror(i32 noundef %8667, ptr noundef nonnull @.str.10) #11
  %8669 = load i32, ptr %1234, align 4, !tbaa !5
  %8670 = call ptr @s2n_strerror_debug(i32 noundef %8669, ptr noundef nonnull @.str.10) #11
  %8671 = load i32, ptr %1288, align 4, !tbaa !5
  %8672 = call ptr @strerror(i32 noundef %8671) #11
  %8673 = load i32, ptr %1288, align 4, !tbaa !5
  %8674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8665, ptr noundef nonnull %.str.11.sink4238, i32 noundef %8666, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.7, i32 noundef 743, ptr noundef %8668, ptr noundef %8670, ptr noundef %8672, i32 noundef %8673) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8675:                                             ; preds = %8648
  %8676 = add nsw i32 %8649, 2
  store i32 %8676, ptr @test_count, align 4, !tbaa !5
  %8677 = load ptr, ptr %84, align 8, !tbaa !9
  %8678 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8677, i32 noundef 0) #11
  br i1 %8678, label %8679, label %8701

8679:                                             ; preds = %8601, %8570, %8539, %8508, %8675
  %8680 = load i32, ptr %1288, align 4, !tbaa !5
  %8681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8682 = call i32 @s2n_print_stacktrace(ptr noundef %8681) #11
  %8683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8684 = trunc nuw i8 %8683 to i1
  br i1 %8684, label %8685, label %8689

8685:                                             ; preds = %8679
  %8686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8687 = call i32 @fileno(ptr noundef %8686) #11
  %8688 = call i32 @isatty(i32 noundef %8687) #11
  %.not1295 = icmp eq i32 %8688, 0
  br i1 %.not1295, label %8689, label %8690

8689:                                             ; preds = %8685, %8679
  br label %8690

8690:                                             ; preds = %8685, %8689
  %.str.11.sink4247 = phi ptr [ @.str.11, %8689 ], [ @.str.8, %8685 ]
  store i32 %8680, ptr %1288, align 4, !tbaa !5
  %8691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8692 = load i32, ptr @test_count, align 4, !tbaa !5
  %8693 = load i32, ptr %1234, align 4, !tbaa !5
  %8694 = call ptr @s2n_strerror(i32 noundef %8693, ptr noundef nonnull @.str.10) #11
  %8695 = load i32, ptr %1234, align 4, !tbaa !5
  %8696 = call ptr @s2n_strerror_debug(i32 noundef %8695, ptr noundef nonnull @.str.10) #11
  %8697 = load i32, ptr %1288, align 4, !tbaa !5
  %8698 = call ptr @strerror(i32 noundef %8697) #11
  %8699 = load i32, ptr %1288, align 4, !tbaa !5
  %8700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8691, ptr noundef nonnull %.str.11.sink4247, i32 noundef %8692, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.7, i32 noundef 744, ptr noundef %8694, ptr noundef %8696, ptr noundef %8698, i32 noundef %8699) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8701:                                             ; preds = %8675
  %8702 = load i32, ptr @test_count, align 4, !tbaa !5
  %8703 = add nsw i32 %8702, 1
  store i32 %8703, ptr @test_count, align 4, !tbaa !5
  %8704 = load ptr, ptr %84, align 8, !tbaa !9
  %8705 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8704, i32 noundef 1) #11
  br i1 %8705, label %8728, label %8706

8706:                                             ; preds = %8605, %8574, %8543, %8512, %8701
  %8707 = load i32, ptr %1288, align 4, !tbaa !5
  %8708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8709 = call i32 @s2n_print_stacktrace(ptr noundef %8708) #11
  %8710 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8711 = trunc nuw i8 %8710 to i1
  br i1 %8711, label %8712, label %8716

8712:                                             ; preds = %8706
  %8713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8714 = call i32 @fileno(ptr noundef %8713) #11
  %8715 = call i32 @isatty(i32 noundef %8714) #11
  %.not1292 = icmp eq i32 %8715, 0
  br i1 %.not1292, label %8716, label %8717

8716:                                             ; preds = %8712, %8706
  br label %8717

8717:                                             ; preds = %8712, %8716
  %.str.11.sink4256 = phi ptr [ @.str.11, %8716 ], [ @.str.8, %8712 ]
  store i32 %8707, ptr %1288, align 4, !tbaa !5
  %8718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8719 = load i32, ptr @test_count, align 4, !tbaa !5
  %8720 = load i32, ptr %1234, align 4, !tbaa !5
  %8721 = call ptr @s2n_strerror(i32 noundef %8720, ptr noundef nonnull @.str.10) #11
  %8722 = load i32, ptr %1234, align 4, !tbaa !5
  %8723 = call ptr @s2n_strerror_debug(i32 noundef %8722, ptr noundef nonnull @.str.10) #11
  %8724 = load i32, ptr %1288, align 4, !tbaa !5
  %8725 = call ptr @strerror(i32 noundef %8724) #11
  %8726 = load i32, ptr %1288, align 4, !tbaa !5
  %8727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8718, ptr noundef nonnull %.str.11.sink4256, i32 noundef %8719, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.7, i32 noundef 745, ptr noundef %8721, ptr noundef %8723, ptr noundef %8725, i32 noundef %8726) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8728:                                             ; preds = %8701
  %8729 = load i32, ptr @test_count, align 4, !tbaa !5
  %8730 = add nsw i32 %8729, 1
  store i32 %8730, ptr @test_count, align 4, !tbaa !5
  %8731 = load i32, ptr %8470, align 4, !tbaa !42
  %8732 = load i32, ptr %8471, align 8, !tbaa !43
  %8733 = sub i32 %8731, %8732
  %8734 = icmp eq i32 %8733, 7
  br i1 %8734, label %8757, label %8735

8735:                                             ; preds = %8610, %8579, %8548, %8517, %8728
  %8736 = load i32, ptr %1288, align 4, !tbaa !5
  %8737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8738 = call i32 @s2n_print_stacktrace(ptr noundef %8737) #11
  %8739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8740 = trunc nuw i8 %8739 to i1
  br i1 %8740, label %8741, label %8745

8741:                                             ; preds = %8735
  %8742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8743 = call i32 @fileno(ptr noundef %8742) #11
  %8744 = call i32 @isatty(i32 noundef %8743) #11
  %.not1293 = icmp eq i32 %8744, 0
  br i1 %.not1293, label %8745, label %8746

8745:                                             ; preds = %8741, %8735
  br label %8746

8746:                                             ; preds = %8741, %8745
  %.str.11.sink4265 = phi ptr [ @.str.11, %8745 ], [ @.str.8, %8741 ]
  store i32 %8736, ptr %1288, align 4, !tbaa !5
  %8747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8748 = load i32, ptr @test_count, align 4, !tbaa !5
  %8749 = load i32, ptr %1234, align 4, !tbaa !5
  %8750 = call ptr @s2n_strerror(i32 noundef %8749, ptr noundef nonnull @.str.10) #11
  %8751 = load i32, ptr %1234, align 4, !tbaa !5
  %8752 = call ptr @s2n_strerror_debug(i32 noundef %8751, ptr noundef nonnull @.str.10) #11
  %8753 = load i32, ptr %1288, align 4, !tbaa !5
  %8754 = call ptr @strerror(i32 noundef %8753) #11
  %8755 = load i32, ptr %1288, align 4, !tbaa !5
  %8756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8747, ptr noundef nonnull %.str.11.sink4265, i32 noundef %8748, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.7, i32 noundef 746, ptr noundef %8750, ptr noundef %8752, ptr noundef %8754, i32 noundef %8755) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8757:                                             ; preds = %8728
  %8758 = add nsw i32 %8729, 2
  store i32 %8758, ptr @test_count, align 4, !tbaa !5
  %8759 = load ptr, ptr %84, align 8, !tbaa !9
  %8760 = getelementptr inbounds i8, ptr %8759, i64 2003
  %8761 = load i8, ptr %8760, align 1, !tbaa !15, !range !13, !noundef !14
  %8762 = trunc nuw i8 %8761 to i1
  br i1 %8762, label %8499, label %8763

8763:                                             ; preds = %8617, %8586, %8555, %8524, %8757
  %8764 = load i32, ptr %1288, align 4, !tbaa !5
  %8765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8766 = call i32 @s2n_print_stacktrace(ptr noundef %8765) #11
  %8767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8768 = trunc nuw i8 %8767 to i1
  br i1 %8768, label %8769, label %8773

8769:                                             ; preds = %8763
  %8770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8771 = call i32 @fileno(ptr noundef %8770) #11
  %8772 = call i32 @isatty(i32 noundef %8771) #11
  %.not1294 = icmp eq i32 %8772, 0
  br i1 %.not1294, label %8773, label %8774

8773:                                             ; preds = %8769, %8763
  br label %8774

8774:                                             ; preds = %8769, %8773
  %.str.11.sink4274 = phi ptr [ @.str.11, %8773 ], [ @.str.8, %8769 ]
  store i32 %8764, ptr %1288, align 4, !tbaa !5
  %8775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8776 = load i32, ptr @test_count, align 4, !tbaa !5
  %8777 = load i32, ptr %1234, align 4, !tbaa !5
  %8778 = call ptr @s2n_strerror(i32 noundef %8777, ptr noundef nonnull @.str.10) #11
  %8779 = load i32, ptr %1234, align 4, !tbaa !5
  %8780 = call ptr @s2n_strerror_debug(i32 noundef %8779, ptr noundef nonnull @.str.10) #11
  %8781 = load i32, ptr %1288, align 4, !tbaa !5
  %8782 = call ptr @strerror(i32 noundef %8781) #11
  %8783 = load i32, ptr %1288, align 4, !tbaa !5
  %8784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8775, ptr noundef nonnull %.str.11.sink4274, i32 noundef %8776, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.7, i32 noundef 747, ptr noundef %8778, ptr noundef %8780, ptr noundef %8782, i32 noundef %8783) #13
  call void @exit(i32 noundef 1) #14
  unreachable

.preheader1478.1:                                 ; preds = %9040
  %8785 = load i32, ptr @test_count, align 4, !tbaa !5
  %8786 = add nsw i32 %8785, 1
  store i32 %8786, ptr @test_count, align 4, !tbaa !5
  %8787 = load ptr, ptr %84, align 8, !tbaa !9
  %8788 = call i32 @s2n_shutdown(ptr noundef %8787, ptr noundef nonnull %85)
  %8789 = icmp eq i32 %8788, -1
  br i1 %8789, label %8790, label %8912

8790:                                             ; preds = %.preheader1478.1
  %8791 = load i32, ptr @test_count, align 4, !tbaa !5
  %8792 = add nsw i32 %8791, 1
  store i32 %8792, ptr @test_count, align 4, !tbaa !5
  %8793 = load i32, ptr %1234, align 4, !tbaa !5
  %8794 = icmp eq i32 %8793, 201326592
  br i1 %8794, label %8795, label %8939

8795:                                             ; preds = %8790
  %8796 = add nsw i32 %8791, 2
  store i32 %8796, ptr @test_count, align 4, !tbaa !5
  %8797 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %8798 = icmp eq ptr %8797, null
  br i1 %8798, label %8965, label %8799

8799:                                             ; preds = %8795
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %8800 = load i32, ptr @test_count, align 4, !tbaa !5
  %8801 = add nsw i32 %8800, 1
  store i32 %8801, ptr @test_count, align 4, !tbaa !5
  %8802 = load i32, ptr %85, align 4, !tbaa !5
  %8803 = icmp eq i32 %8802, 1
  br i1 %8803, label %8804, label %8992

8804:                                             ; preds = %8799
  %8805 = add nsw i32 %8800, 2
  store i32 %8805, ptr @test_count, align 4, !tbaa !5
  %8806 = load ptr, ptr %84, align 8, !tbaa !9
  %8807 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8806, i32 noundef 0) #11
  br i1 %8807, label %9018, label %8808

8808:                                             ; preds = %8804
  %8809 = load i32, ptr @test_count, align 4, !tbaa !5
  %8810 = add nsw i32 %8809, 1
  store i32 %8810, ptr @test_count, align 4, !tbaa !5
  %8811 = load ptr, ptr %84, align 8, !tbaa !9
  %8812 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8811, i32 noundef 1) #11
  br i1 %8812, label %.preheader1478.2, label %9045

.preheader1478.2:                                 ; preds = %8808
  %8813 = load i32, ptr @test_count, align 4, !tbaa !5
  %8814 = add nsw i32 %8813, 1
  store i32 %8814, ptr @test_count, align 4, !tbaa !5
  %8815 = load ptr, ptr %84, align 8, !tbaa !9
  %8816 = call i32 @s2n_shutdown(ptr noundef %8815, ptr noundef nonnull %85)
  %8817 = icmp eq i32 %8816, -1
  br i1 %8817, label %8818, label %8912

8818:                                             ; preds = %.preheader1478.2
  %8819 = load i32, ptr @test_count, align 4, !tbaa !5
  %8820 = add nsw i32 %8819, 1
  store i32 %8820, ptr @test_count, align 4, !tbaa !5
  %8821 = load i32, ptr %1234, align 4, !tbaa !5
  %8822 = icmp eq i32 %8821, 201326592
  br i1 %8822, label %8823, label %8939

8823:                                             ; preds = %8818
  %8824 = add nsw i32 %8819, 2
  store i32 %8824, ptr @test_count, align 4, !tbaa !5
  %8825 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %8826 = icmp eq ptr %8825, null
  br i1 %8826, label %8965, label %8827

8827:                                             ; preds = %8823
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %8828 = load i32, ptr @test_count, align 4, !tbaa !5
  %8829 = add nsw i32 %8828, 1
  store i32 %8829, ptr @test_count, align 4, !tbaa !5
  %8830 = load i32, ptr %85, align 4, !tbaa !5
  %8831 = icmp eq i32 %8830, 1
  br i1 %8831, label %8832, label %8992

8832:                                             ; preds = %8827
  %8833 = add nsw i32 %8828, 2
  store i32 %8833, ptr @test_count, align 4, !tbaa !5
  %8834 = load ptr, ptr %84, align 8, !tbaa !9
  %8835 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8834, i32 noundef 0) #11
  br i1 %8835, label %9018, label %8836

8836:                                             ; preds = %8832
  %8837 = load i32, ptr @test_count, align 4, !tbaa !5
  %8838 = add nsw i32 %8837, 1
  store i32 %8838, ptr @test_count, align 4, !tbaa !5
  %8839 = load ptr, ptr %84, align 8, !tbaa !9
  %8840 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8839, i32 noundef 1) #11
  br i1 %8840, label %.preheader1478.3, label %9045

.preheader1478.3:                                 ; preds = %8836
  %8841 = load i32, ptr @test_count, align 4, !tbaa !5
  %8842 = add nsw i32 %8841, 1
  store i32 %8842, ptr @test_count, align 4, !tbaa !5
  %8843 = load ptr, ptr %84, align 8, !tbaa !9
  %8844 = call i32 @s2n_shutdown(ptr noundef %8843, ptr noundef nonnull %85)
  %8845 = icmp eq i32 %8844, -1
  br i1 %8845, label %8846, label %8912

8846:                                             ; preds = %.preheader1478.3
  %8847 = load i32, ptr @test_count, align 4, !tbaa !5
  %8848 = add nsw i32 %8847, 1
  store i32 %8848, ptr @test_count, align 4, !tbaa !5
  %8849 = load i32, ptr %1234, align 4, !tbaa !5
  %8850 = icmp eq i32 %8849, 201326592
  br i1 %8850, label %8851, label %8939

8851:                                             ; preds = %8846
  %8852 = add nsw i32 %8847, 2
  store i32 %8852, ptr @test_count, align 4, !tbaa !5
  %8853 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %8854 = icmp eq ptr %8853, null
  br i1 %8854, label %8965, label %8855

8855:                                             ; preds = %8851
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %8856 = load i32, ptr @test_count, align 4, !tbaa !5
  %8857 = add nsw i32 %8856, 1
  store i32 %8857, ptr @test_count, align 4, !tbaa !5
  %8858 = load i32, ptr %85, align 4, !tbaa !5
  %8859 = icmp eq i32 %8858, 1
  br i1 %8859, label %8860, label %8992

8860:                                             ; preds = %8855
  %8861 = add nsw i32 %8856, 2
  store i32 %8861, ptr @test_count, align 4, !tbaa !5
  %8862 = load ptr, ptr %84, align 8, !tbaa !9
  %8863 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8862, i32 noundef 0) #11
  br i1 %8863, label %9018, label %8864

8864:                                             ; preds = %8860
  %8865 = load i32, ptr @test_count, align 4, !tbaa !5
  %8866 = add nsw i32 %8865, 1
  store i32 %8866, ptr @test_count, align 4, !tbaa !5
  %8867 = load ptr, ptr %84, align 8, !tbaa !9
  %8868 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8867, i32 noundef 1) #11
  br i1 %8868, label %.preheader1478.4, label %9045

.preheader1478.4:                                 ; preds = %8864
  %8869 = load i32, ptr @test_count, align 4, !tbaa !5
  %8870 = add nsw i32 %8869, 1
  store i32 %8870, ptr @test_count, align 4, !tbaa !5
  %8871 = load ptr, ptr %84, align 8, !tbaa !9
  %8872 = call i32 @s2n_shutdown(ptr noundef %8871, ptr noundef nonnull %85)
  %8873 = icmp eq i32 %8872, -1
  br i1 %8873, label %8874, label %8912

8874:                                             ; preds = %.preheader1478.4
  %8875 = load i32, ptr @test_count, align 4, !tbaa !5
  %8876 = add nsw i32 %8875, 1
  store i32 %8876, ptr @test_count, align 4, !tbaa !5
  %8877 = load i32, ptr %1234, align 4, !tbaa !5
  %8878 = icmp eq i32 %8877, 201326592
  br i1 %8878, label %8879, label %8939

8879:                                             ; preds = %8874
  %8880 = add nsw i32 %8875, 2
  store i32 %8880, ptr @test_count, align 4, !tbaa !5
  %8881 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %8882 = icmp eq ptr %8881, null
  br i1 %8882, label %8965, label %8883

8883:                                             ; preds = %8879
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %8884 = load i32, ptr @test_count, align 4, !tbaa !5
  %8885 = add nsw i32 %8884, 1
  store i32 %8885, ptr @test_count, align 4, !tbaa !5
  %8886 = load i32, ptr %85, align 4, !tbaa !5
  %8887 = icmp eq i32 %8886, 1
  br i1 %8887, label %8888, label %8992

8888:                                             ; preds = %8883
  %8889 = add nsw i32 %8884, 2
  store i32 %8889, ptr @test_count, align 4, !tbaa !5
  %8890 = load ptr, ptr %84, align 8, !tbaa !9
  %8891 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8890, i32 noundef 0) #11
  br i1 %8891, label %9018, label %8892

8892:                                             ; preds = %8888
  %8893 = load i32, ptr @test_count, align 4, !tbaa !5
  %8894 = add nsw i32 %8893, 1
  store i32 %8894, ptr @test_count, align 4, !tbaa !5
  %8895 = load ptr, ptr %84, align 8, !tbaa !9
  %8896 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8895, i32 noundef 1) #11
  br i1 %8896, label %8897, label %9045

8897:                                             ; preds = %8892
  %8898 = load i32, ptr @test_count, align 4, !tbaa !5
  %8899 = add nsw i32 %8898, 1
  store i32 %8899, ptr @test_count, align 4, !tbaa !5
  %8900 = load i32, ptr %8470, align 4, !tbaa !42
  %8901 = load i32, ptr %8471, align 8, !tbaa !43
  %8902 = sub i32 %8900, %8901
  %8903 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %86, ptr noundef nonnull %87, i32 noundef %8902) #11
  %8904 = icmp eq i32 %8903, -1
  br i1 %8904, label %9067, label %.preheader1477

.preheader1477:                                   ; preds = %8897
  %8905 = getelementptr inbounds i8, ptr %87, i64 28
  %8906 = getelementptr inbounds i8, ptr %87, i64 24
  %8907 = load i32, ptr @test_count, align 4, !tbaa !5
  %8908 = add nsw i32 %8907, 1
  store i32 %8908, ptr @test_count, align 4, !tbaa !5
  %8909 = load ptr, ptr %84, align 8, !tbaa !9
  %8910 = call i32 @s2n_shutdown(ptr noundef %8909, ptr noundef nonnull %85)
  %8911 = icmp eq i32 %8910, -1
  br i1 %8911, label %9217, label %9239

8912:                                             ; preds = %.preheader1478.4, %.preheader1478.3, %.preheader1478.2, %.preheader1478.1, %.preheader1478.preheader
  %8913 = load i32, ptr %1288, align 4, !tbaa !5
  %8914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8915 = call i32 @s2n_print_stacktrace(ptr noundef %8914) #11
  %8916 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8917 = trunc nuw i8 %8916 to i1
  br i1 %8917, label %8918, label %8922

8918:                                             ; preds = %8912
  %8919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8920 = call i32 @fileno(ptr noundef %8919) #11
  %8921 = call i32 @isatty(i32 noundef %8920) #11
  %.not1285 = icmp eq i32 %8921, 0
  br i1 %.not1285, label %8922, label %8923

8922:                                             ; preds = %8918, %8912
  br label %8923

8923:                                             ; preds = %8918, %8922
  %.str.11.sink4283 = phi ptr [ @.str.11, %8922 ], [ @.str.8, %8918 ]
  store i32 %8913, ptr %1288, align 4, !tbaa !5
  %8924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8925 = load i32, ptr @test_count, align 4, !tbaa !5
  %8926 = load i32, ptr %1234, align 4, !tbaa !5
  %8927 = call ptr @s2n_strerror(i32 noundef %8926, ptr noundef nonnull @.str.10) #11
  %8928 = load i32, ptr %1234, align 4, !tbaa !5
  %8929 = call ptr @s2n_strerror_debug(i32 noundef %8928, ptr noundef nonnull @.str.10) #11
  %8930 = load i32, ptr %1288, align 4, !tbaa !5
  %8931 = call ptr @strerror(i32 noundef %8930) #11
  %8932 = load i32, ptr %1288, align 4, !tbaa !5
  %8933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8924, ptr noundef nonnull %.str.11.sink4283, i32 noundef %8925, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.7, i32 noundef 752, ptr noundef %8927, ptr noundef %8929, ptr noundef %8931, i32 noundef %8932) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8934:                                             ; preds = %.preheader1478.preheader
  %8935 = load i32, ptr @test_count, align 4, !tbaa !5
  %8936 = add nsw i32 %8935, 1
  store i32 %8936, ptr @test_count, align 4, !tbaa !5
  %8937 = load i32, ptr %1234, align 4, !tbaa !5
  %8938 = icmp eq i32 %8937, 201326592
  br i1 %8938, label %8961, label %8939

8939:                                             ; preds = %8874, %8846, %8818, %8790, %8934
  %8940 = load i32, ptr %1288, align 4, !tbaa !5
  %8941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8942 = call i32 @s2n_print_stacktrace(ptr noundef %8941) #11
  %8943 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8944 = trunc nuw i8 %8943 to i1
  br i1 %8944, label %8945, label %8949

8945:                                             ; preds = %8939
  %8946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8947 = call i32 @fileno(ptr noundef %8946) #11
  %8948 = call i32 @isatty(i32 noundef %8947) #11
  %.not1286 = icmp eq i32 %8948, 0
  br i1 %.not1286, label %8949, label %8950

8949:                                             ; preds = %8945, %8939
  br label %8950

8950:                                             ; preds = %8945, %8949
  %.str.11.sink4292 = phi ptr [ @.str.11, %8949 ], [ @.str.8, %8945 ]
  store i32 %8940, ptr %1288, align 4, !tbaa !5
  %8951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8952 = load i32, ptr @test_count, align 4, !tbaa !5
  %8953 = load i32, ptr %1234, align 4, !tbaa !5
  %8954 = call ptr @s2n_strerror(i32 noundef %8953, ptr noundef nonnull @.str.10) #11
  %8955 = load i32, ptr %1234, align 4, !tbaa !5
  %8956 = call ptr @s2n_strerror_debug(i32 noundef %8955, ptr noundef nonnull @.str.10) #11
  %8957 = load i32, ptr %1288, align 4, !tbaa !5
  %8958 = call ptr @strerror(i32 noundef %8957) #11
  %8959 = load i32, ptr %1288, align 4, !tbaa !5
  %8960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8951, ptr noundef nonnull %.str.11.sink4292, i32 noundef %8952, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.7, i32 noundef 752, ptr noundef %8954, ptr noundef %8956, ptr noundef %8958, i32 noundef %8959) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8961:                                             ; preds = %8934
  %8962 = add nsw i32 %8935, 2
  store i32 %8962, ptr @test_count, align 4, !tbaa !5
  %8963 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %8964 = icmp eq ptr %8963, null
  br i1 %8964, label %8965, label %8987

8965:                                             ; preds = %8879, %8851, %8823, %8795, %8961
  %8966 = load i32, ptr %1288, align 4, !tbaa !5
  %8967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8968 = call i32 @s2n_print_stacktrace(ptr noundef %8967) #11
  %8969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8970 = trunc nuw i8 %8969 to i1
  br i1 %8970, label %8971, label %8975

8971:                                             ; preds = %8965
  %8972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8973 = call i32 @fileno(ptr noundef %8972) #11
  %8974 = call i32 @isatty(i32 noundef %8973) #11
  %.not1290 = icmp eq i32 %8974, 0
  br i1 %.not1290, label %8975, label %8976

8975:                                             ; preds = %8971, %8965
  br label %8976

8976:                                             ; preds = %8971, %8975
  %.str.11.sink4301 = phi ptr [ @.str.11, %8975 ], [ @.str.8, %8971 ]
  store i32 %8966, ptr %1288, align 4, !tbaa !5
  %8977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8978 = load i32, ptr @test_count, align 4, !tbaa !5
  %8979 = load i32, ptr %1234, align 4, !tbaa !5
  %8980 = call ptr @s2n_strerror(i32 noundef %8979, ptr noundef nonnull @.str.10) #11
  %8981 = load i32, ptr %1234, align 4, !tbaa !5
  %8982 = call ptr @s2n_strerror_debug(i32 noundef %8981, ptr noundef nonnull @.str.10) #11
  %8983 = load i32, ptr %1288, align 4, !tbaa !5
  %8984 = call ptr @strerror(i32 noundef %8983) #11
  %8985 = load i32, ptr %1288, align 4, !tbaa !5
  %8986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8977, ptr noundef nonnull %.str.11.sink4301, i32 noundef %8978, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 752, ptr noundef %8980, ptr noundef %8982, ptr noundef %8984, i32 noundef %8985) #13
  call void @exit(i32 noundef 1) #14
  unreachable

8987:                                             ; preds = %8961
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %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 i32, ptr %85, align 4, !tbaa !5
  %8991 = icmp eq i32 %8990, 1
  br i1 %8991, label %9014, label %8992

8992:                                             ; preds = %8883, %8855, %8827, %8799, %8987
  %8993 = load i32, ptr %1288, align 4, !tbaa !5
  %8994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8995 = call i32 @s2n_print_stacktrace(ptr noundef %8994) #11
  %8996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8997 = trunc nuw i8 %8996 to i1
  br i1 %8997, label %8998, label %9002

8998:                                             ; preds = %8992
  %8999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9000 = call i32 @fileno(ptr noundef %8999) #11
  %9001 = call i32 @isatty(i32 noundef %9000) #11
  %.not1287 = icmp eq i32 %9001, 0
  br i1 %.not1287, label %9002, label %9003

9002:                                             ; preds = %8998, %8992
  br label %9003

9003:                                             ; preds = %8998, %9002
  %.str.11.sink4310 = phi ptr [ @.str.11, %9002 ], [ @.str.8, %8998 ]
  store i32 %8993, ptr %1288, align 4, !tbaa !5
  %9004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9005 = load i32, ptr @test_count, align 4, !tbaa !5
  %9006 = load i32, ptr %1234, align 4, !tbaa !5
  %9007 = call ptr @s2n_strerror(i32 noundef %9006, ptr noundef nonnull @.str.10) #11
  %9008 = load i32, ptr %1234, align 4, !tbaa !5
  %9009 = call ptr @s2n_strerror_debug(i32 noundef %9008, ptr noundef nonnull @.str.10) #11
  %9010 = load i32, ptr %1288, align 4, !tbaa !5
  %9011 = call ptr @strerror(i32 noundef %9010) #11
  %9012 = load i32, ptr %1288, align 4, !tbaa !5
  %9013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9004, ptr noundef nonnull %.str.11.sink4310, i32 noundef %9005, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.7, i32 noundef 753, ptr noundef %9007, ptr noundef %9009, ptr noundef %9011, i32 noundef %9012) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9014:                                             ; preds = %8987
  %9015 = add nsw i32 %8988, 2
  store i32 %9015, ptr @test_count, align 4, !tbaa !5
  %9016 = load ptr, ptr %84, align 8, !tbaa !9
  %9017 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9016, i32 noundef 0) #11
  br i1 %9017, label %9018, label %9040

9018:                                             ; preds = %8888, %8860, %8832, %8804, %9014
  %9019 = load i32, ptr %1288, align 4, !tbaa !5
  %9020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9021 = call i32 @s2n_print_stacktrace(ptr noundef %9020) #11
  %9022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9023 = trunc nuw i8 %9022 to i1
  br i1 %9023, label %9024, label %9028

9024:                                             ; preds = %9018
  %9025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9026 = call i32 @fileno(ptr noundef %9025) #11
  %9027 = call i32 @isatty(i32 noundef %9026) #11
  %.not1289 = icmp eq i32 %9027, 0
  br i1 %.not1289, label %9028, label %9029

9028:                                             ; preds = %9024, %9018
  br label %9029

9029:                                             ; preds = %9024, %9028
  %.str.11.sink4319 = phi ptr [ @.str.11, %9028 ], [ @.str.8, %9024 ]
  store i32 %9019, ptr %1288, align 4, !tbaa !5
  %9030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9031 = load i32, ptr @test_count, align 4, !tbaa !5
  %9032 = load i32, ptr %1234, align 4, !tbaa !5
  %9033 = call ptr @s2n_strerror(i32 noundef %9032, ptr noundef nonnull @.str.10) #11
  %9034 = load i32, ptr %1234, align 4, !tbaa !5
  %9035 = call ptr @s2n_strerror_debug(i32 noundef %9034, ptr noundef nonnull @.str.10) #11
  %9036 = load i32, ptr %1288, align 4, !tbaa !5
  %9037 = call ptr @strerror(i32 noundef %9036) #11
  %9038 = load i32, ptr %1288, align 4, !tbaa !5
  %9039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9030, ptr noundef nonnull %.str.11.sink4319, i32 noundef %9031, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.7, i32 noundef 754, ptr noundef %9033, ptr noundef %9035, ptr noundef %9037, i32 noundef %9038) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9040:                                             ; preds = %9014
  %9041 = load i32, ptr @test_count, align 4, !tbaa !5
  %9042 = add nsw i32 %9041, 1
  store i32 %9042, ptr @test_count, align 4, !tbaa !5
  %9043 = load ptr, ptr %84, align 8, !tbaa !9
  %9044 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9043, i32 noundef 1) #11
  br i1 %9044, label %.preheader1478.1, label %9045

9045:                                             ; preds = %8892, %8864, %8836, %8808, %9040
  %9046 = load i32, ptr %1288, align 4, !tbaa !5
  %9047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9048 = call i32 @s2n_print_stacktrace(ptr noundef %9047) #11
  %9049 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9050 = trunc nuw i8 %9049 to i1
  br i1 %9050, label %9051, label %9055

9051:                                             ; preds = %9045
  %9052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9053 = call i32 @fileno(ptr noundef %9052) #11
  %9054 = call i32 @isatty(i32 noundef %9053) #11
  %.not1288 = icmp eq i32 %9054, 0
  br i1 %.not1288, label %9055, label %9056

9055:                                             ; preds = %9051, %9045
  br label %9056

9056:                                             ; preds = %9051, %9055
  %.str.11.sink4328 = phi ptr [ @.str.11, %9055 ], [ @.str.8, %9051 ]
  store i32 %9046, ptr %1288, align 4, !tbaa !5
  %9057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9058 = load i32, ptr @test_count, align 4, !tbaa !5
  %9059 = load i32, ptr %1234, align 4, !tbaa !5
  %9060 = call ptr @s2n_strerror(i32 noundef %9059, ptr noundef nonnull @.str.10) #11
  %9061 = load i32, ptr %1234, align 4, !tbaa !5
  %9062 = call ptr @s2n_strerror_debug(i32 noundef %9061, ptr noundef nonnull @.str.10) #11
  %9063 = load i32, ptr %1288, align 4, !tbaa !5
  %9064 = call ptr @strerror(i32 noundef %9063) #11
  %9065 = load i32, ptr %1288, align 4, !tbaa !5
  %9066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9057, ptr noundef nonnull %.str.11.sink4328, i32 noundef %9058, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.7, i32 noundef 755, ptr noundef %9060, ptr noundef %9062, ptr noundef %9064, i32 noundef %9065) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9067:                                             ; preds = %8897
  %9068 = load i32, ptr %1288, align 4, !tbaa !5
  %9069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9070 = call i32 @s2n_print_stacktrace(ptr noundef %9069) #11
  %9071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9072 = trunc nuw i8 %9071 to i1
  br i1 %9072, label %9073, label %9077

9073:                                             ; preds = %9067
  %9074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9075 = call i32 @fileno(ptr noundef %9074) #11
  %9076 = call i32 @isatty(i32 noundef %9075) #11
  %.not1284 = icmp eq i32 %9076, 0
  br i1 %.not1284, label %9077, label %9078

9077:                                             ; preds = %9073, %9067
  br label %9078

9078:                                             ; preds = %9073, %9077
  %.str.11.sink4337 = phi ptr [ @.str.11, %9077 ], [ @.str.8, %9073 ]
  store i32 %9068, ptr %1288, align 4, !tbaa !5
  %9079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9080 = load i32, ptr @test_count, align 4, !tbaa !5
  %9081 = load i32, ptr %1234, align 4, !tbaa !5
  %9082 = call ptr @s2n_strerror(i32 noundef %9081, ptr noundef nonnull @.str.10) #11
  %9083 = load i32, ptr %1234, align 4, !tbaa !5
  %9084 = call ptr @s2n_strerror_debug(i32 noundef %9083, ptr noundef nonnull @.str.10) #11
  %9085 = load i32, ptr %1288, align 4, !tbaa !5
  %9086 = call ptr @strerror(i32 noundef %9085) #11
  %9087 = load i32, ptr %1288, align 4, !tbaa !5
  %9088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9079, ptr noundef nonnull %.str.11.sink4337, i32 noundef %9080, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.7, i32 noundef 759, ptr noundef %9082, ptr noundef %9084, ptr noundef %9086, i32 noundef %9087) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9089:                                             ; preds = %9347
  %9090 = add nsw i32 %9293, 4
  store i32 %9090, ptr @test_count, align 4, !tbaa !5
  %9091 = call i32 @s2n_shutdown(ptr noundef nonnull %9349, ptr noundef nonnull %85)
  %9092 = icmp eq i32 %9091, -1
  br i1 %9092, label %9217, label %9093

9093:                                             ; preds = %9089
  %9094 = load i32, ptr @test_count, align 4, !tbaa !5
  %9095 = add nsw i32 %9094, 1
  store i32 %9095, ptr @test_count, align 4, !tbaa !5
  %9096 = load i32, ptr %85, align 4, !tbaa !5
  %9097 = icmp eq i32 %9096, 0
  br i1 %9097, label %9098, label %9244

9098:                                             ; preds = %9093
  %9099 = add nsw i32 %9094, 2
  store i32 %9099, ptr @test_count, align 4, !tbaa !5
  %9100 = load ptr, ptr %84, align 8, !tbaa !9
  %9101 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9100, i32 noundef 3) #11
  br i1 %9101, label %9102, label %9270

9102:                                             ; preds = %9098
  %9103 = load i32, ptr @test_count, align 4, !tbaa !5
  %9104 = add nsw i32 %9103, 1
  store i32 %9104, ptr @test_count, align 4, !tbaa !5
  %9105 = load i32, ptr %8905, align 4, !tbaa !42
  %9106 = load i32, ptr %8906, align 8, !tbaa !43
  %9107 = icmp eq i32 %9105, %9106
  br i1 %9107, label %9108, label %9298

9108:                                             ; preds = %9102
  %9109 = add nsw i32 %9103, 2
  store i32 %9109, ptr @test_count, align 4, !tbaa !5
  %9110 = load i32, ptr %8470, align 4, !tbaa !42
  %9111 = load i32, ptr %8471, align 8, !tbaa !43
  %9112 = icmp eq i32 %9110, %9111
  br i1 %9112, label %9113, label %9325

9113:                                             ; preds = %9108
  %9114 = add nsw i32 %9103, 3
  store i32 %9114, ptr @test_count, align 4, !tbaa !5
  %9115 = load ptr, ptr %84, align 8, !tbaa !9
  %9116 = getelementptr inbounds i8, ptr %9115, i64 2003
  %9117 = load i8, ptr %9116, align 1, !tbaa !15, !range !13, !noundef !14
  %9118 = trunc nuw i8 %9117 to i1
  br i1 %9118, label %9119, label %9353

9119:                                             ; preds = %9113
  %9120 = add nsw i32 %9103, 4
  store i32 %9120, ptr @test_count, align 4, !tbaa !5
  %9121 = call i32 @s2n_shutdown(ptr noundef nonnull %9115, ptr noundef nonnull %85)
  %9122 = icmp eq i32 %9121, -1
  br i1 %9122, label %9217, label %9123

9123:                                             ; preds = %9119
  %9124 = load i32, ptr @test_count, align 4, !tbaa !5
  %9125 = add nsw i32 %9124, 1
  store i32 %9125, ptr @test_count, align 4, !tbaa !5
  %9126 = load i32, ptr %85, align 4, !tbaa !5
  %9127 = icmp eq i32 %9126, 0
  br i1 %9127, label %9128, label %9244

9128:                                             ; preds = %9123
  %9129 = add nsw i32 %9124, 2
  store i32 %9129, ptr @test_count, align 4, !tbaa !5
  %9130 = load ptr, ptr %84, align 8, !tbaa !9
  %9131 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9130, i32 noundef 3) #11
  br i1 %9131, label %9132, label %9270

9132:                                             ; preds = %9128
  %9133 = load i32, ptr @test_count, align 4, !tbaa !5
  %9134 = add nsw i32 %9133, 1
  store i32 %9134, ptr @test_count, align 4, !tbaa !5
  %9135 = load i32, ptr %8905, align 4, !tbaa !42
  %9136 = load i32, ptr %8906, align 8, !tbaa !43
  %9137 = icmp eq i32 %9135, %9136
  br i1 %9137, label %9138, label %9298

9138:                                             ; preds = %9132
  %9139 = add nsw i32 %9133, 2
  store i32 %9139, ptr @test_count, align 4, !tbaa !5
  %9140 = load i32, ptr %8470, align 4, !tbaa !42
  %9141 = load i32, ptr %8471, align 8, !tbaa !43
  %9142 = icmp eq i32 %9140, %9141
  br i1 %9142, label %9143, label %9325

9143:                                             ; preds = %9138
  %9144 = add nsw i32 %9133, 3
  store i32 %9144, ptr @test_count, align 4, !tbaa !5
  %9145 = load ptr, ptr %84, align 8, !tbaa !9
  %9146 = getelementptr inbounds i8, ptr %9145, i64 2003
  %9147 = load i8, ptr %9146, align 1, !tbaa !15, !range !13, !noundef !14
  %9148 = trunc nuw i8 %9147 to i1
  br i1 %9148, label %9149, label %9353

9149:                                             ; preds = %9143
  %9150 = add nsw i32 %9133, 4
  store i32 %9150, ptr @test_count, align 4, !tbaa !5
  %9151 = call i32 @s2n_shutdown(ptr noundef nonnull %9145, ptr noundef nonnull %85)
  %9152 = icmp eq i32 %9151, -1
  br i1 %9152, label %9217, label %9153

9153:                                             ; preds = %9149
  %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 i32, ptr %85, align 4, !tbaa !5
  %9157 = icmp eq i32 %9156, 0
  br i1 %9157, label %9158, label %9244

9158:                                             ; preds = %9153
  %9159 = add nsw i32 %9154, 2
  store i32 %9159, ptr @test_count, align 4, !tbaa !5
  %9160 = load ptr, ptr %84, align 8, !tbaa !9
  %9161 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9160, i32 noundef 3) #11
  br i1 %9161, label %9162, label %9270

9162:                                             ; preds = %9158
  %9163 = load i32, ptr @test_count, align 4, !tbaa !5
  %9164 = add nsw i32 %9163, 1
  store i32 %9164, ptr @test_count, align 4, !tbaa !5
  %9165 = load i32, ptr %8905, align 4, !tbaa !42
  %9166 = load i32, ptr %8906, align 8, !tbaa !43
  %9167 = icmp eq i32 %9165, %9166
  br i1 %9167, label %9168, label %9298

9168:                                             ; preds = %9162
  %9169 = add nsw i32 %9163, 2
  store i32 %9169, ptr @test_count, align 4, !tbaa !5
  %9170 = load i32, ptr %8470, align 4, !tbaa !42
  %9171 = load i32, ptr %8471, align 8, !tbaa !43
  %9172 = icmp eq i32 %9170, %9171
  br i1 %9172, label %9173, label %9325

9173:                                             ; preds = %9168
  %9174 = add nsw i32 %9163, 3
  store i32 %9174, ptr @test_count, align 4, !tbaa !5
  %9175 = load ptr, ptr %84, align 8, !tbaa !9
  %9176 = getelementptr inbounds i8, ptr %9175, i64 2003
  %9177 = load i8, ptr %9176, align 1, !tbaa !15, !range !13, !noundef !14
  %9178 = trunc nuw i8 %9177 to i1
  br i1 %9178, label %9179, label %9353

9179:                                             ; preds = %9173
  %9180 = add nsw i32 %9163, 4
  store i32 %9180, ptr @test_count, align 4, !tbaa !5
  %9181 = call i32 @s2n_shutdown(ptr noundef nonnull %9175, ptr noundef nonnull %85)
  %9182 = icmp eq i32 %9181, -1
  br i1 %9182, label %9217, label %9183

9183:                                             ; preds = %9179
  %9184 = load i32, ptr @test_count, align 4, !tbaa !5
  %9185 = add nsw i32 %9184, 1
  store i32 %9185, ptr @test_count, align 4, !tbaa !5
  %9186 = load i32, ptr %85, align 4, !tbaa !5
  %9187 = icmp eq i32 %9186, 0
  br i1 %9187, label %9188, label %9244

9188:                                             ; preds = %9183
  %9189 = add nsw i32 %9184, 2
  store i32 %9189, ptr @test_count, align 4, !tbaa !5
  %9190 = load ptr, ptr %84, align 8, !tbaa !9
  %9191 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9190, i32 noundef 3) #11
  br i1 %9191, label %9192, label %9270

9192:                                             ; preds = %9188
  %9193 = load i32, ptr @test_count, align 4, !tbaa !5
  %9194 = add nsw i32 %9193, 1
  store i32 %9194, ptr @test_count, align 4, !tbaa !5
  %9195 = load i32, ptr %8905, align 4, !tbaa !42
  %9196 = load i32, ptr %8906, align 8, !tbaa !43
  %9197 = icmp eq i32 %9195, %9196
  br i1 %9197, label %9198, label %9298

9198:                                             ; preds = %9192
  %9199 = add nsw i32 %9193, 2
  store i32 %9199, ptr @test_count, align 4, !tbaa !5
  %9200 = load i32, ptr %8470, align 4, !tbaa !42
  %9201 = load i32, ptr %8471, align 8, !tbaa !43
  %9202 = icmp eq i32 %9200, %9201
  br i1 %9202, label %9203, label %9325

9203:                                             ; preds = %9198
  %9204 = add nsw i32 %9193, 3
  store i32 %9204, ptr @test_count, align 4, !tbaa !5
  %9205 = load ptr, ptr %84, align 8, !tbaa !9
  %9206 = getelementptr inbounds i8, ptr %9205, i64 2003
  %9207 = load i8, ptr %9206, align 1, !tbaa !15, !range !13, !noundef !14
  %9208 = trunc nuw i8 %9207 to i1
  br i1 %9208, label %9209, label %9353

9209:                                             ; preds = %9203
  %9210 = call i32 @s2n_stuffer_free(ptr noundef nonnull %87) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %87) #11
  %9211 = call i32 @s2n_stuffer_free(ptr noundef nonnull %86) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %86) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %85) #11
  %9212 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %84) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %84) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %88) #11
  %9213 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %9213, ptr %88, align 8, !tbaa !9
  %9214 = load i32, ptr @test_count, align 4, !tbaa !5
  %9215 = add nsw i32 %9214, 1
  store i32 %9215, ptr @test_count, align 4, !tbaa !5
  %9216 = icmp eq ptr %9213, null
  br i1 %9216, label %9375, label %9397

9217:                                             ; preds = %9179, %9149, %9119, %9089, %.preheader1477
  %9218 = load i32, ptr %1288, align 4, !tbaa !5
  %9219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9220 = call i32 @s2n_print_stacktrace(ptr noundef %9219) #11
  %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) #11
  %9226 = call i32 @isatty(i32 noundef %9225) #11
  %.not1283 = icmp eq i32 %9226, 0
  br i1 %.not1283, label %9227, label %9228

9227:                                             ; preds = %9223, %9217
  br label %9228

9228:                                             ; preds = %9223, %9227
  %.str.11.sink4346 = phi ptr [ @.str.11, %9227 ], [ @.str.8, %9223 ]
  store i32 %9218, ptr %1288, 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 %1234, align 4, !tbaa !5
  %9232 = call ptr @s2n_strerror(i32 noundef %9231, ptr noundef nonnull @.str.10) #11
  %9233 = load i32, ptr %1234, align 4, !tbaa !5
  %9234 = call ptr @s2n_strerror_debug(i32 noundef %9233, ptr noundef nonnull @.str.10) #11
  %9235 = load i32, ptr %1288, align 4, !tbaa !5
  %9236 = call ptr @strerror(i32 noundef %9235) #11
  %9237 = load i32, ptr %1288, align 4, !tbaa !5
  %9238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9229, ptr noundef nonnull %.str.11.sink4346, i32 noundef %9230, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.7, i32 noundef 765, ptr noundef %9232, ptr noundef %9234, ptr noundef %9236, i32 noundef %9237) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9239:                                             ; preds = %.preheader1477
  %9240 = load i32, ptr @test_count, align 4, !tbaa !5
  %9241 = add nsw i32 %9240, 1
  store i32 %9241, ptr @test_count, align 4, !tbaa !5
  %9242 = load i32, ptr %85, align 4, !tbaa !5
  %9243 = icmp eq i32 %9242, 0
  br i1 %9243, label %9266, label %9244

9244:                                             ; preds = %9183, %9153, %9123, %9093, %9239
  %9245 = load i32, ptr %1288, align 4, !tbaa !5
  %9246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9247 = call i32 @s2n_print_stacktrace(ptr noundef %9246) #11
  %9248 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9249 = trunc nuw i8 %9248 to i1
  br i1 %9249, label %9250, label %9254

9250:                                             ; preds = %9244
  %9251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9252 = call i32 @fileno(ptr noundef %9251) #11
  %9253 = call i32 @isatty(i32 noundef %9252) #11
  %.not1278 = icmp eq i32 %9253, 0
  br i1 %.not1278, label %9254, label %9255

9254:                                             ; preds = %9250, %9244
  br label %9255

9255:                                             ; preds = %9250, %9254
  %.str.11.sink4355 = phi ptr [ @.str.11, %9254 ], [ @.str.8, %9250 ]
  store i32 %9245, ptr %1288, align 4, !tbaa !5
  %9256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9257 = load i32, ptr @test_count, align 4, !tbaa !5
  %9258 = load i32, ptr %1234, align 4, !tbaa !5
  %9259 = call ptr @s2n_strerror(i32 noundef %9258, ptr noundef nonnull @.str.10) #11
  %9260 = load i32, ptr %1234, align 4, !tbaa !5
  %9261 = call ptr @s2n_strerror_debug(i32 noundef %9260, ptr noundef nonnull @.str.10) #11
  %9262 = load i32, ptr %1288, align 4, !tbaa !5
  %9263 = call ptr @strerror(i32 noundef %9262) #11
  %9264 = load i32, ptr %1288, align 4, !tbaa !5
  %9265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9256, ptr noundef nonnull %.str.11.sink4355, i32 noundef %9257, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.7, i32 noundef 766, ptr noundef %9259, ptr noundef %9261, ptr noundef %9263, i32 noundef %9264) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9266:                                             ; preds = %9239
  %9267 = add nsw i32 %9240, 2
  store i32 %9267, ptr @test_count, align 4, !tbaa !5
  %9268 = load ptr, ptr %84, align 8, !tbaa !9
  %9269 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9268, i32 noundef 3) #11
  br i1 %9269, label %9292, label %9270

9270:                                             ; preds = %9188, %9158, %9128, %9098, %9266
  %9271 = load i32, ptr %1288, align 4, !tbaa !5
  %9272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9273 = call i32 @s2n_print_stacktrace(ptr noundef %9272) #11
  %9274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9275 = trunc nuw i8 %9274 to i1
  br i1 %9275, label %9276, label %9280

9276:                                             ; preds = %9270
  %9277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9278 = call i32 @fileno(ptr noundef %9277) #11
  %9279 = call i32 @isatty(i32 noundef %9278) #11
  %.not1279 = icmp eq i32 %9279, 0
  br i1 %.not1279, label %9280, label %9281

9280:                                             ; preds = %9276, %9270
  br label %9281

9281:                                             ; preds = %9276, %9280
  %.str.11.sink4364 = phi ptr [ @.str.11, %9280 ], [ @.str.8, %9276 ]
  store i32 %9271, ptr %1288, align 4, !tbaa !5
  %9282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9283 = load i32, ptr @test_count, align 4, !tbaa !5
  %9284 = load i32, ptr %1234, align 4, !tbaa !5
  %9285 = call ptr @s2n_strerror(i32 noundef %9284, ptr noundef nonnull @.str.10) #11
  %9286 = load i32, ptr %1234, align 4, !tbaa !5
  %9287 = call ptr @s2n_strerror_debug(i32 noundef %9286, ptr noundef nonnull @.str.10) #11
  %9288 = load i32, ptr %1288, align 4, !tbaa !5
  %9289 = call ptr @strerror(i32 noundef %9288) #11
  %9290 = load i32, ptr %1288, align 4, !tbaa !5
  %9291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9282, ptr noundef nonnull %.str.11.sink4364, i32 noundef %9283, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.7, i32 noundef 767, ptr noundef %9285, ptr noundef %9287, ptr noundef %9289, i32 noundef %9290) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9292:                                             ; preds = %9266
  %9293 = load i32, ptr @test_count, align 4, !tbaa !5
  %9294 = add nsw i32 %9293, 1
  store i32 %9294, ptr @test_count, align 4, !tbaa !5
  %9295 = load i32, ptr %8905, align 4, !tbaa !42
  %9296 = load i32, ptr %8906, align 8, !tbaa !43
  %9297 = icmp eq i32 %9295, %9296
  br i1 %9297, label %9320, label %9298

9298:                                             ; preds = %9192, %9162, %9132, %9102, %9292
  %9299 = load i32, ptr %1288, align 4, !tbaa !5
  %9300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9301 = call i32 @s2n_print_stacktrace(ptr noundef %9300) #11
  %9302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9303 = trunc nuw i8 %9302 to i1
  br i1 %9303, label %9304, label %9308

9304:                                             ; preds = %9298
  %9305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9306 = call i32 @fileno(ptr noundef %9305) #11
  %9307 = call i32 @isatty(i32 noundef %9306) #11
  %.not1280 = icmp eq i32 %9307, 0
  br i1 %.not1280, label %9308, label %9309

9308:                                             ; preds = %9304, %9298
  br label %9309

9309:                                             ; preds = %9304, %9308
  %.str.11.sink4373 = phi ptr [ @.str.11, %9308 ], [ @.str.8, %9304 ]
  store i32 %9299, ptr %1288, align 4, !tbaa !5
  %9310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9311 = load i32, ptr @test_count, align 4, !tbaa !5
  %9312 = load i32, ptr %1234, align 4, !tbaa !5
  %9313 = call ptr @s2n_strerror(i32 noundef %9312, ptr noundef nonnull @.str.10) #11
  %9314 = load i32, ptr %1234, align 4, !tbaa !5
  %9315 = call ptr @s2n_strerror_debug(i32 noundef %9314, ptr noundef nonnull @.str.10) #11
  %9316 = load i32, ptr %1288, align 4, !tbaa !5
  %9317 = call ptr @strerror(i32 noundef %9316) #11
  %9318 = load i32, ptr %1288, align 4, !tbaa !5
  %9319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9310, ptr noundef nonnull %.str.11.sink4373, i32 noundef %9311, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.7, i32 noundef 768, ptr noundef %9313, ptr noundef %9315, ptr noundef %9317, i32 noundef %9318) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9320:                                             ; preds = %9292
  %9321 = add nsw i32 %9293, 2
  store i32 %9321, ptr @test_count, align 4, !tbaa !5
  %9322 = load i32, ptr %8470, align 4, !tbaa !42
  %9323 = load i32, ptr %8471, align 8, !tbaa !43
  %9324 = icmp eq i32 %9322, %9323
  br i1 %9324, label %9347, label %9325

9325:                                             ; preds = %9198, %9168, %9138, %9108, %9320
  %9326 = load i32, ptr %1288, align 4, !tbaa !5
  %9327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9328 = call i32 @s2n_print_stacktrace(ptr noundef %9327) #11
  %9329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9330 = trunc nuw i8 %9329 to i1
  br i1 %9330, label %9331, label %9335

9331:                                             ; preds = %9325
  %9332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9333 = call i32 @fileno(ptr noundef %9332) #11
  %9334 = call i32 @isatty(i32 noundef %9333) #11
  %.not1281 = icmp eq i32 %9334, 0
  br i1 %.not1281, label %9335, label %9336

9335:                                             ; preds = %9331, %9325
  br label %9336

9336:                                             ; preds = %9331, %9335
  %.str.11.sink4382 = phi ptr [ @.str.11, %9335 ], [ @.str.8, %9331 ]
  store i32 %9326, ptr %1288, align 4, !tbaa !5
  %9337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9338 = load i32, ptr @test_count, align 4, !tbaa !5
  %9339 = load i32, ptr %1234, align 4, !tbaa !5
  %9340 = call ptr @s2n_strerror(i32 noundef %9339, ptr noundef nonnull @.str.10) #11
  %9341 = load i32, ptr %1234, align 4, !tbaa !5
  %9342 = call ptr @s2n_strerror_debug(i32 noundef %9341, ptr noundef nonnull @.str.10) #11
  %9343 = load i32, ptr %1288, align 4, !tbaa !5
  %9344 = call ptr @strerror(i32 noundef %9343) #11
  %9345 = load i32, ptr %1288, align 4, !tbaa !5
  %9346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9337, ptr noundef nonnull %.str.11.sink4382, i32 noundef %9338, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.7, i32 noundef 769, ptr noundef %9340, ptr noundef %9342, ptr noundef %9344, i32 noundef %9345) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9347:                                             ; preds = %9320
  %9348 = add nsw i32 %9293, 3
  store i32 %9348, ptr @test_count, align 4, !tbaa !5
  %9349 = load ptr, ptr %84, align 8, !tbaa !9
  %9350 = getelementptr inbounds i8, ptr %9349, i64 2003
  %9351 = load i8, ptr %9350, align 1, !tbaa !15, !range !13, !noundef !14
  %9352 = trunc nuw i8 %9351 to i1
  br i1 %9352, label %9089, label %9353

9353:                                             ; preds = %9203, %9173, %9143, %9113, %9347
  %9354 = load i32, ptr %1288, align 4, !tbaa !5
  %9355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9356 = call i32 @s2n_print_stacktrace(ptr noundef %9355) #11
  %9357 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9358 = trunc nuw i8 %9357 to i1
  br i1 %9358, label %9359, label %9363

9359:                                             ; preds = %9353
  %9360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9361 = call i32 @fileno(ptr noundef %9360) #11
  %9362 = call i32 @isatty(i32 noundef %9361) #11
  %.not1282 = icmp eq i32 %9362, 0
  br i1 %.not1282, label %9363, label %9364

9363:                                             ; preds = %9359, %9353
  br label %9364

9364:                                             ; preds = %9359, %9363
  %.str.11.sink4391 = phi ptr [ @.str.11, %9363 ], [ @.str.8, %9359 ]
  store i32 %9354, ptr %1288, align 4, !tbaa !5
  %9365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9366 = load i32, ptr @test_count, align 4, !tbaa !5
  %9367 = load i32, ptr %1234, align 4, !tbaa !5
  %9368 = call ptr @s2n_strerror(i32 noundef %9367, ptr noundef nonnull @.str.10) #11
  %9369 = load i32, ptr %1234, align 4, !tbaa !5
  %9370 = call ptr @s2n_strerror_debug(i32 noundef %9369, ptr noundef nonnull @.str.10) #11
  %9371 = load i32, ptr %1288, align 4, !tbaa !5
  %9372 = call ptr @strerror(i32 noundef %9371) #11
  %9373 = load i32, ptr %1288, align 4, !tbaa !5
  %9374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9365, ptr noundef nonnull %.str.11.sink4391, i32 noundef %9366, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.7, i32 noundef 770, ptr noundef %9368, ptr noundef %9370, ptr noundef %9372, i32 noundef %9373) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9375:                                             ; preds = %9209
  %9376 = load i32, ptr %1288, align 4, !tbaa !5
  %9377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9378 = call i32 @s2n_print_stacktrace(ptr noundef %9377) #11
  %9379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9380 = trunc nuw i8 %9379 to i1
  br i1 %9380, label %9381, label %9385

9381:                                             ; preds = %9375
  %9382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9383 = call i32 @fileno(ptr noundef %9382) #11
  %9384 = call i32 @isatty(i32 noundef %9383) #11
  %.not1277 = icmp eq i32 %9384, 0
  br i1 %.not1277, label %9385, label %9386

9385:                                             ; preds = %9381, %9375
  br label %9386

9386:                                             ; preds = %9381, %9385
  %.str.11.sink4400 = phi ptr [ @.str.11, %9385 ], [ @.str.8, %9381 ]
  store i32 %9376, ptr %1288, align 4, !tbaa !5
  %9387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9388 = load i32, ptr @test_count, align 4, !tbaa !5
  %9389 = load i32, ptr %1234, align 4, !tbaa !5
  %9390 = call ptr @s2n_strerror(i32 noundef %9389, ptr noundef nonnull @.str.10) #11
  %9391 = load i32, ptr %1234, align 4, !tbaa !5
  %9392 = call ptr @s2n_strerror_debug(i32 noundef %9391, ptr noundef nonnull @.str.10) #11
  %9393 = load i32, ptr %1288, align 4, !tbaa !5
  %9394 = call ptr @strerror(i32 noundef %9393) #11
  %9395 = load i32, ptr %1288, align 4, !tbaa !5
  %9396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9387, ptr noundef nonnull %.str.11.sink4400, i32 noundef %9388, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.7, i32 noundef 778, ptr noundef %9390, ptr noundef %9392, ptr noundef %9394, i32 noundef %9395) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9397:                                             ; preds = %9209
  %9398 = add nsw i32 %9214, 2
  store i32 %9398, ptr @test_count, align 4, !tbaa !5
  %9399 = call i32 @s2n_skip_handshake(ptr noundef nonnull %9213) #11
  %9400 = call zeroext i1 @s2n_result_is_ok(i32 %9399)
  br i1 %9400, label %9423, label %9401

9401:                                             ; preds = %9397
  %9402 = load i32, ptr %1288, align 4, !tbaa !5
  %9403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9404 = call i32 @s2n_print_stacktrace(ptr noundef %9403) #11
  %9405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9406 = trunc nuw i8 %9405 to i1
  br i1 %9406, label %9407, label %9411

9407:                                             ; preds = %9401
  %9408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9409 = call i32 @fileno(ptr noundef %9408) #11
  %9410 = call i32 @isatty(i32 noundef %9409) #11
  %.not1146 = icmp eq i32 %9410, 0
  br i1 %.not1146, label %9411, label %9412

9411:                                             ; preds = %9407, %9401
  br label %9412

9412:                                             ; preds = %9407, %9411
  %.str.11.sink4409 = phi ptr [ @.str.11, %9411 ], [ @.str.8, %9407 ]
  store i32 %9402, ptr %1288, align 4, !tbaa !5
  %9413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9414 = load i32, ptr @test_count, align 4, !tbaa !5
  %9415 = load i32, ptr %1234, align 4, !tbaa !5
  %9416 = call ptr @s2n_strerror(i32 noundef %9415, ptr noundef nonnull @.str.10) #11
  %9417 = load i32, ptr %1234, align 4, !tbaa !5
  %9418 = call ptr @s2n_strerror_debug(i32 noundef %9417, ptr noundef nonnull @.str.10) #11
  %9419 = load i32, ptr %1288, align 4, !tbaa !5
  %9420 = call ptr @strerror(i32 noundef %9419) #11
  %9421 = load i32, ptr %1288, align 4, !tbaa !5
  %9422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9413, ptr noundef nonnull %.str.11.sink4409, i32 noundef %9414, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.7, i32 noundef 779, ptr noundef %9416, ptr noundef %9418, ptr noundef %9420, i32 noundef %9421) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9423:                                             ; preds = %9397
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %89) #11
  store i32 0, ptr %89, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %90) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %90, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %91) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %91, i8 0, i64 40, i1 false)
  %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_stuffer_growable_alloc(ptr noundef nonnull %90, i32 noundef 0) #11
  %9427 = icmp eq i32 %9426, -1
  br i1 %9427, label %9428, label %9450

9428:                                             ; preds = %9423
  %9429 = load i32, ptr %1288, align 4, !tbaa !5
  %9430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9431 = call i32 @s2n_print_stacktrace(ptr noundef %9430) #11
  %9432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9433 = trunc nuw i8 %9432 to i1
  br i1 %9433, label %9434, label %9438

9434:                                             ; preds = %9428
  %9435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9436 = call i32 @fileno(ptr noundef %9435) #11
  %9437 = call i32 @isatty(i32 noundef %9436) #11
  %.not1276 = icmp eq i32 %9437, 0
  br i1 %.not1276, label %9438, label %9439

9438:                                             ; preds = %9434, %9428
  br label %9439

9439:                                             ; preds = %9434, %9438
  %.str.11.sink4418 = phi ptr [ @.str.11, %9438 ], [ @.str.8, %9434 ]
  store i32 %9429, ptr %1288, align 4, !tbaa !5
  %9440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9441 = load i32, ptr @test_count, align 4, !tbaa !5
  %9442 = load i32, ptr %1234, align 4, !tbaa !5
  %9443 = call ptr @s2n_strerror(i32 noundef %9442, ptr noundef nonnull @.str.10) #11
  %9444 = load i32, ptr %1234, align 4, !tbaa !5
  %9445 = call ptr @s2n_strerror_debug(i32 noundef %9444, ptr noundef nonnull @.str.10) #11
  %9446 = load i32, ptr %1288, align 4, !tbaa !5
  %9447 = call ptr @strerror(i32 noundef %9446) #11
  %9448 = load i32, ptr %1288, align 4, !tbaa !5
  %9449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9440, ptr noundef nonnull %.str.11.sink4418, i32 noundef %9441, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.7, i32 noundef 785, ptr noundef %9443, ptr noundef %9445, ptr noundef %9447, i32 noundef %9448) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9450:                                             ; preds = %9423
  %9451 = load i32, ptr @test_count, align 4, !tbaa !5
  %9452 = add nsw i32 %9451, 1
  store i32 %9452, ptr @test_count, align 4, !tbaa !5
  %9453 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %91, i32 noundef 0) #11
  %9454 = icmp eq i32 %9453, -1
  br i1 %9454, label %9455, label %9477

9455:                                             ; preds = %9450
  %9456 = load i32, ptr %1288, align 4, !tbaa !5
  %9457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9458 = call i32 @s2n_print_stacktrace(ptr noundef %9457) #11
  %9459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9460 = trunc nuw i8 %9459 to i1
  br i1 %9460, label %9461, label %9465

9461:                                             ; preds = %9455
  %9462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9463 = call i32 @fileno(ptr noundef %9462) #11
  %9464 = call i32 @isatty(i32 noundef %9463) #11
  %.not1275 = icmp eq i32 %9464, 0
  br i1 %.not1275, label %9465, label %9466

9465:                                             ; preds = %9461, %9455
  br label %9466

9466:                                             ; preds = %9461, %9465
  %.str.11.sink4427 = phi ptr [ @.str.11, %9465 ], [ @.str.8, %9461 ]
  store i32 %9456, ptr %1288, align 4, !tbaa !5
  %9467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9468 = load i32, ptr @test_count, align 4, !tbaa !5
  %9469 = load i32, ptr %1234, align 4, !tbaa !5
  %9470 = call ptr @s2n_strerror(i32 noundef %9469, ptr noundef nonnull @.str.10) #11
  %9471 = load i32, ptr %1234, align 4, !tbaa !5
  %9472 = call ptr @s2n_strerror_debug(i32 noundef %9471, ptr noundef nonnull @.str.10) #11
  %9473 = load i32, ptr %1288, align 4, !tbaa !5
  %9474 = call ptr @strerror(i32 noundef %9473) #11
  %9475 = load i32, ptr %1288, align 4, !tbaa !5
  %9476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9467, ptr noundef nonnull %.str.11.sink4427, i32 noundef %9468, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.7, i32 noundef 786, ptr noundef %9470, ptr noundef %9472, ptr noundef %9474, i32 noundef %9475) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9477:                                             ; preds = %9450
  %9478 = load i32, ptr @test_count, align 4, !tbaa !5
  %9479 = add nsw i32 %9478, 1
  store i32 %9479, ptr @test_count, align 4, !tbaa !5
  %9480 = load ptr, ptr %88, align 8, !tbaa !9
  %9481 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %91, ptr noundef nonnull %90, ptr noundef %9480) #11
  %9482 = icmp eq i32 %9481, -1
  br i1 %9482, label %9483, label %9505

9483:                                             ; preds = %9477
  %9484 = load i32, ptr %1288, align 4, !tbaa !5
  %9485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9486 = call i32 @s2n_print_stacktrace(ptr noundef %9485) #11
  %9487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9488 = trunc nuw i8 %9487 to i1
  br i1 %9488, label %9489, label %9493

9489:                                             ; preds = %9483
  %9490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9491 = call i32 @fileno(ptr noundef %9490) #11
  %9492 = call i32 @isatty(i32 noundef %9491) #11
  %.not1274 = icmp eq i32 %9492, 0
  br i1 %.not1274, label %9493, label %9494

9493:                                             ; preds = %9489, %9483
  br label %9494

9494:                                             ; preds = %9489, %9493
  %.str.11.sink4436 = phi ptr [ @.str.11, %9493 ], [ @.str.8, %9489 ]
  store i32 %9484, ptr %1288, align 4, !tbaa !5
  %9495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9496 = load i32, ptr @test_count, align 4, !tbaa !5
  %9497 = load i32, ptr %1234, align 4, !tbaa !5
  %9498 = call ptr @s2n_strerror(i32 noundef %9497, ptr noundef nonnull @.str.10) #11
  %9499 = load i32, ptr %1234, align 4, !tbaa !5
  %9500 = call ptr @s2n_strerror_debug(i32 noundef %9499, ptr noundef nonnull @.str.10) #11
  %9501 = load i32, ptr %1288, align 4, !tbaa !5
  %9502 = call ptr @strerror(i32 noundef %9501) #11
  %9503 = load i32, ptr %1288, align 4, !tbaa !5
  %9504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9495, ptr noundef nonnull %.str.11.sink4436, i32 noundef %9496, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.7, i32 noundef 787, ptr noundef %9498, ptr noundef %9500, ptr noundef %9502, i32 noundef %9503) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9505:                                             ; preds = %9477
  %9506 = load i32, ptr @test_count, align 4, !tbaa !5
  %9507 = add nsw i32 %9506, 1
  store i32 %9507, ptr @test_count, align 4, !tbaa !5
  %9508 = load ptr, ptr %88, align 8, !tbaa !9
  %9509 = call i32 @s2n_shutdown_send(ptr noundef %9508, ptr noundef nonnull %89)
  %9510 = icmp eq i32 %9509, -1
  br i1 %9510, label %9511, label %9533

9511:                                             ; preds = %9505
  %9512 = load i32, ptr %1288, align 4, !tbaa !5
  %9513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9514 = call i32 @s2n_print_stacktrace(ptr noundef %9513) #11
  %9515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9516 = trunc nuw i8 %9515 to i1
  br i1 %9516, label %9517, label %9521

9517:                                             ; preds = %9511
  %9518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9519 = call i32 @fileno(ptr noundef %9518) #11
  %9520 = call i32 @isatty(i32 noundef %9519) #11
  %.not1273 = icmp eq i32 %9520, 0
  br i1 %.not1273, label %9521, label %9522

9521:                                             ; preds = %9517, %9511
  br label %9522

9522:                                             ; preds = %9517, %9521
  %.str.11.sink4445 = phi ptr [ @.str.11, %9521 ], [ @.str.8, %9517 ]
  store i32 %9512, ptr %1288, align 4, !tbaa !5
  %9523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9524 = load i32, ptr @test_count, align 4, !tbaa !5
  %9525 = load i32, ptr %1234, align 4, !tbaa !5
  %9526 = call ptr @s2n_strerror(i32 noundef %9525, ptr noundef nonnull @.str.10) #11
  %9527 = load i32, ptr %1234, align 4, !tbaa !5
  %9528 = call ptr @s2n_strerror_debug(i32 noundef %9527, ptr noundef nonnull @.str.10) #11
  %9529 = load i32, ptr %1288, align 4, !tbaa !5
  %9530 = call ptr @strerror(i32 noundef %9529) #11
  %9531 = load i32, ptr %1288, align 4, !tbaa !5
  %9532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9523, ptr noundef nonnull %.str.11.sink4445, i32 noundef %9524, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.7, i32 noundef 790, ptr noundef %9526, ptr noundef %9528, ptr noundef %9530, i32 noundef %9531) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9533:                                             ; preds = %9505
  %9534 = load i32, ptr @test_count, align 4, !tbaa !5
  %9535 = add nsw i32 %9534, 1
  store i32 %9535, ptr @test_count, align 4, !tbaa !5
  %9536 = load i32, ptr %89, align 4, !tbaa !5
  %9537 = icmp eq i32 %9536, 0
  br i1 %9537, label %9560, label %9538

9538:                                             ; preds = %9533
  %9539 = load i32, ptr %1288, align 4, !tbaa !5
  %9540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9541 = call i32 @s2n_print_stacktrace(ptr noundef %9540) #11
  %9542 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9543 = trunc nuw i8 %9542 to i1
  br i1 %9543, label %9544, label %9548

9544:                                             ; preds = %9538
  %9545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9546 = call i32 @fileno(ptr noundef %9545) #11
  %9547 = call i32 @isatty(i32 noundef %9546) #11
  %.not1147 = icmp eq i32 %9547, 0
  br i1 %.not1147, label %9548, label %9549

9548:                                             ; preds = %9544, %9538
  br label %9549

9549:                                             ; preds = %9544, %9548
  %.str.11.sink4454 = phi ptr [ @.str.11, %9548 ], [ @.str.8, %9544 ]
  store i32 %9539, ptr %1288, align 4, !tbaa !5
  %9550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9551 = load i32, ptr @test_count, align 4, !tbaa !5
  %9552 = load i32, ptr %1234, align 4, !tbaa !5
  %9553 = call ptr @s2n_strerror(i32 noundef %9552, ptr noundef nonnull @.str.10) #11
  %9554 = load i32, ptr %1234, align 4, !tbaa !5
  %9555 = call ptr @s2n_strerror_debug(i32 noundef %9554, ptr noundef nonnull @.str.10) #11
  %9556 = load i32, ptr %1288, align 4, !tbaa !5
  %9557 = call ptr @strerror(i32 noundef %9556) #11
  %9558 = load i32, ptr %1288, align 4, !tbaa !5
  %9559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9550, ptr noundef nonnull %.str.11.sink4454, i32 noundef %9551, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.7, i32 noundef 791, ptr noundef %9553, ptr noundef %9555, ptr noundef %9557, i32 noundef %9558) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9560:                                             ; preds = %9533
  %9561 = add nsw i32 %9534, 2
  store i32 %9561, ptr @test_count, align 4, !tbaa !5
  %9562 = load ptr, ptr %88, align 8, !tbaa !9
  %9563 = getelementptr inbounds i8, ptr %9562, i64 2003
  %9564 = load i8, ptr %9563, align 1, !tbaa !15, !range !13, !noundef !14
  %9565 = trunc nuw i8 %9564 to i1
  br i1 %9565, label %9588, label %9566

9566:                                             ; preds = %9560
  %9567 = load i32, ptr %1288, align 4, !tbaa !5
  %9568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9569 = call i32 @s2n_print_stacktrace(ptr noundef %9568) #11
  %9570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9571 = trunc nuw i8 %9570 to i1
  br i1 %9571, label %9572, label %9576

9572:                                             ; preds = %9566
  %9573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9574 = call i32 @fileno(ptr noundef %9573) #11
  %9575 = call i32 @isatty(i32 noundef %9574) #11
  %.not1148 = icmp eq i32 %9575, 0
  br i1 %.not1148, label %9576, label %9577

9576:                                             ; preds = %9572, %9566
  br label %9577

9577:                                             ; preds = %9572, %9576
  %.str.11.sink4463 = phi ptr [ @.str.11, %9576 ], [ @.str.8, %9572 ]
  store i32 %9567, ptr %1288, align 4, !tbaa !5
  %9578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9579 = load i32, ptr @test_count, align 4, !tbaa !5
  %9580 = load i32, ptr %1234, align 4, !tbaa !5
  %9581 = call ptr @s2n_strerror(i32 noundef %9580, ptr noundef nonnull @.str.10) #11
  %9582 = load i32, ptr %1234, align 4, !tbaa !5
  %9583 = call ptr @s2n_strerror_debug(i32 noundef %9582, ptr noundef nonnull @.str.10) #11
  %9584 = load i32, ptr %1288, align 4, !tbaa !5
  %9585 = call ptr @strerror(i32 noundef %9584) #11
  %9586 = load i32, ptr %1288, align 4, !tbaa !5
  %9587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9578, ptr noundef nonnull %.str.11.sink4463, i32 noundef %9579, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.7, i32 noundef 792, ptr noundef %9581, ptr noundef %9583, ptr noundef %9585, i32 noundef %9586) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9588:                                             ; preds = %9560
  %9589 = add nsw i32 %9534, 3
  store i32 %9589, ptr @test_count, align 4, !tbaa !5
  %9590 = call i32 @s2n_queue_reader_handshake_failure_alert(ptr noundef nonnull %9562) #11
  %9591 = icmp eq i32 %9590, -1
  br i1 %9591, label %9592, label %9614

9592:                                             ; preds = %9588
  %9593 = load i32, ptr %1288, align 4, !tbaa !5
  %9594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9595 = call i32 @s2n_print_stacktrace(ptr noundef %9594) #11
  %9596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9597 = trunc nuw i8 %9596 to i1
  br i1 %9597, label %9598, label %9602

9598:                                             ; preds = %9592
  %9599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9600 = call i32 @fileno(ptr noundef %9599) #11
  %9601 = call i32 @isatty(i32 noundef %9600) #11
  %.not1272 = icmp eq i32 %9601, 0
  br i1 %.not1272, label %9602, label %9603

9602:                                             ; preds = %9598, %9592
  br label %9603

9603:                                             ; preds = %9598, %9602
  %.str.11.sink4472 = phi ptr [ @.str.11, %9602 ], [ @.str.8, %9598 ]
  store i32 %9593, ptr %1288, align 4, !tbaa !5
  %9604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9605 = load i32, ptr @test_count, align 4, !tbaa !5
  %9606 = load i32, ptr %1234, align 4, !tbaa !5
  %9607 = call ptr @s2n_strerror(i32 noundef %9606, ptr noundef nonnull @.str.10) #11
  %9608 = load i32, ptr %1234, align 4, !tbaa !5
  %9609 = call ptr @s2n_strerror_debug(i32 noundef %9608, ptr noundef nonnull @.str.10) #11
  %9610 = load i32, ptr %1288, align 4, !tbaa !5
  %9611 = call ptr @strerror(i32 noundef %9610) #11
  %9612 = load i32, ptr %1288, align 4, !tbaa !5
  %9613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9604, ptr noundef nonnull %.str.11.sink4472, i32 noundef %9605, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.7, i32 noundef 795, ptr noundef %9607, ptr noundef %9609, ptr noundef %9611, i32 noundef %9612) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9614:                                             ; preds = %9588
  %9615 = load i32, ptr @test_count, align 4, !tbaa !5
  %9616 = add nsw i32 %9615, 1
  store i32 %9616, ptr @test_count, align 4, !tbaa !5
  %9617 = load ptr, ptr %88, align 8, !tbaa !9
  %9618 = call i32 @s2n_shutdown(ptr noundef %9617, ptr noundef nonnull %89)
  %9619 = icmp eq i32 %9618, -1
  br i1 %9619, label %9620, label %9642

9620:                                             ; preds = %9614
  %9621 = load i32, ptr %1288, align 4, !tbaa !5
  %9622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9623 = call i32 @s2n_print_stacktrace(ptr noundef %9622) #11
  %9624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9625 = trunc nuw i8 %9624 to i1
  br i1 %9625, label %9626, label %9630

9626:                                             ; preds = %9620
  %9627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9628 = call i32 @fileno(ptr noundef %9627) #11
  %9629 = call i32 @isatty(i32 noundef %9628) #11
  %.not1271 = icmp eq i32 %9629, 0
  br i1 %.not1271, label %9630, label %9631

9630:                                             ; preds = %9626, %9620
  br label %9631

9631:                                             ; preds = %9626, %9630
  %.str.11.sink4481 = phi ptr [ @.str.11, %9630 ], [ @.str.8, %9626 ]
  store i32 %9621, ptr %1288, align 4, !tbaa !5
  %9632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9633 = load i32, ptr @test_count, align 4, !tbaa !5
  %9634 = load i32, ptr %1234, align 4, !tbaa !5
  %9635 = call ptr @s2n_strerror(i32 noundef %9634, ptr noundef nonnull @.str.10) #11
  %9636 = load i32, ptr %1234, align 4, !tbaa !5
  %9637 = call ptr @s2n_strerror_debug(i32 noundef %9636, ptr noundef nonnull @.str.10) #11
  %9638 = load i32, ptr %1288, align 4, !tbaa !5
  %9639 = call ptr @strerror(i32 noundef %9638) #11
  %9640 = load i32, ptr %1288, align 4, !tbaa !5
  %9641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9632, ptr noundef nonnull %.str.11.sink4481, i32 noundef %9633, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.7, i32 noundef 798, ptr noundef %9635, ptr noundef %9637, ptr noundef %9639, i32 noundef %9640) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9642:                                             ; preds = %9614
  %9643 = load i32, ptr @test_count, align 4, !tbaa !5
  %9644 = add nsw i32 %9643, 1
  store i32 %9644, ptr @test_count, align 4, !tbaa !5
  %9645 = load ptr, ptr %88, align 8, !tbaa !9
  %9646 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9645, i32 noundef 3) #11
  br i1 %9646, label %9669, label %9647

9647:                                             ; preds = %9642
  %9648 = load i32, ptr %1288, align 4, !tbaa !5
  %9649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9650 = call i32 @s2n_print_stacktrace(ptr noundef %9649) #11
  %9651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9652 = trunc nuw i8 %9651 to i1
  br i1 %9652, label %9653, label %9657

9653:                                             ; preds = %9647
  %9654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9655 = call i32 @fileno(ptr noundef %9654) #11
  %9656 = call i32 @isatty(i32 noundef %9655) #11
  %.not1149 = icmp eq i32 %9656, 0
  br i1 %.not1149, label %9657, label %9658

9657:                                             ; preds = %9653, %9647
  br label %9658

9658:                                             ; preds = %9653, %9657
  %.str.11.sink4490 = phi ptr [ @.str.11, %9657 ], [ @.str.8, %9653 ]
  store i32 %9648, ptr %1288, align 4, !tbaa !5
  %9659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9660 = load i32, ptr @test_count, align 4, !tbaa !5
  %9661 = load i32, ptr %1234, align 4, !tbaa !5
  %9662 = call ptr @s2n_strerror(i32 noundef %9661, ptr noundef nonnull @.str.10) #11
  %9663 = load i32, ptr %1234, align 4, !tbaa !5
  %9664 = call ptr @s2n_strerror_debug(i32 noundef %9663, ptr noundef nonnull @.str.10) #11
  %9665 = load i32, ptr %1288, align 4, !tbaa !5
  %9666 = call ptr @strerror(i32 noundef %9665) #11
  %9667 = load i32, ptr %1288, align 4, !tbaa !5
  %9668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9659, ptr noundef nonnull %.str.11.sink4490, i32 noundef %9660, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.7, i32 noundef 799, ptr noundef %9662, ptr noundef %9664, ptr noundef %9666, i32 noundef %9667) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9669:                                             ; preds = %9642
  %9670 = load i32, ptr @test_count, align 4, !tbaa !5
  %9671 = add nsw i32 %9670, 1
  store i32 %9671, ptr @test_count, align 4, !tbaa !5
  %9672 = load ptr, ptr %88, align 8, !tbaa !9
  %9673 = getelementptr inbounds i8, ptr %9672, i64 2008
  %9674 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %9673) #11
  br i1 %9674, label %9675, label %9697

9675:                                             ; preds = %9669
  %9676 = load i32, ptr %1288, align 4, !tbaa !5
  %9677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9678 = call i32 @s2n_print_stacktrace(ptr noundef %9677) #11
  %9679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9680 = trunc nuw i8 %9679 to i1
  br i1 %9680, label %9681, label %9685

9681:                                             ; preds = %9675
  %9682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9683 = call i32 @fileno(ptr noundef %9682) #11
  %9684 = call i32 @isatty(i32 noundef %9683) #11
  %.not1270 = icmp eq i32 %9684, 0
  br i1 %.not1270, label %9685, label %9686

9685:                                             ; preds = %9681, %9675
  br label %9686

9686:                                             ; preds = %9681, %9685
  %.str.11.sink4499 = phi ptr [ @.str.11, %9685 ], [ @.str.8, %9681 ]
  store i32 %9676, ptr %1288, align 4, !tbaa !5
  %9687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9688 = load i32, ptr @test_count, align 4, !tbaa !5
  %9689 = load i32, ptr %1234, align 4, !tbaa !5
  %9690 = call ptr @s2n_strerror(i32 noundef %9689, ptr noundef nonnull @.str.10) #11
  %9691 = load i32, ptr %1234, align 4, !tbaa !5
  %9692 = call ptr @s2n_strerror_debug(i32 noundef %9691, ptr noundef nonnull @.str.10) #11
  %9693 = load i32, ptr %1288, align 4, !tbaa !5
  %9694 = call ptr @strerror(i32 noundef %9693) #11
  %9695 = load i32, ptr %1288, align 4, !tbaa !5
  %9696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9687, ptr noundef nonnull %.str.11.sink4499, i32 noundef %9688, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.7, i32 noundef 800, ptr noundef %9690, ptr noundef %9692, ptr noundef %9694, i32 noundef %9695) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9697:                                             ; preds = %9669
  %9698 = call i32 @s2n_stuffer_free(ptr noundef nonnull %91) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %91) #11
  %9699 = call i32 @s2n_stuffer_free(ptr noundef nonnull %90) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %90) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %89) #11
  %9700 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %88) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %88) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %92) #11
  %9701 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %9701, ptr %92, align 8, !tbaa !9
  %9702 = load i32, ptr @test_count, align 4, !tbaa !5
  %9703 = add nsw i32 %9702, 1
  store i32 %9703, ptr @test_count, align 4, !tbaa !5
  %9704 = icmp eq ptr %9701, null
  br i1 %9704, label %9705, label %9727

9705:                                             ; preds = %9697
  %9706 = load i32, ptr %1288, align 4, !tbaa !5
  %9707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9708 = call i32 @s2n_print_stacktrace(ptr noundef %9707) #11
  %9709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9710 = trunc nuw i8 %9709 to i1
  br i1 %9710, label %9711, label %9715

9711:                                             ; preds = %9705
  %9712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9713 = call i32 @fileno(ptr noundef %9712) #11
  %9714 = call i32 @isatty(i32 noundef %9713) #11
  %.not1269 = icmp eq i32 %9714, 0
  br i1 %.not1269, label %9715, label %9716

9715:                                             ; preds = %9711, %9705
  br label %9716

9716:                                             ; preds = %9711, %9715
  %.str.11.sink4508 = phi ptr [ @.str.11, %9715 ], [ @.str.8, %9711 ]
  store i32 %9706, ptr %1288, align 4, !tbaa !5
  %9717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9718 = load i32, ptr @test_count, align 4, !tbaa !5
  %9719 = load i32, ptr %1234, align 4, !tbaa !5
  %9720 = call ptr @s2n_strerror(i32 noundef %9719, ptr noundef nonnull @.str.10) #11
  %9721 = load i32, ptr %1234, align 4, !tbaa !5
  %9722 = call ptr @s2n_strerror_debug(i32 noundef %9721, ptr noundef nonnull @.str.10) #11
  %9723 = load i32, ptr %1288, align 4, !tbaa !5
  %9724 = call ptr @strerror(i32 noundef %9723) #11
  %9725 = load i32, ptr %1288, align 4, !tbaa !5
  %9726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9717, ptr noundef nonnull %.str.11.sink4508, i32 noundef %9718, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.7, i32 noundef 807, ptr noundef %9720, ptr noundef %9722, ptr noundef %9724, i32 noundef %9725) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9727:                                             ; preds = %9697
  %9728 = add nsw i32 %9702, 2
  store i32 %9728, ptr @test_count, align 4, !tbaa !5
  %9729 = call i32 @s2n_skip_handshake(ptr noundef nonnull %9701) #11
  %9730 = call zeroext i1 @s2n_result_is_ok(i32 %9729)
  br i1 %9730, label %9753, label %9731

9731:                                             ; preds = %9727
  %9732 = load i32, ptr %1288, align 4, !tbaa !5
  %9733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9734 = call i32 @s2n_print_stacktrace(ptr noundef %9733) #11
  %9735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9736 = trunc nuw i8 %9735 to i1
  br i1 %9736, label %9737, label %9741

9737:                                             ; preds = %9731
  %9738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9739 = call i32 @fileno(ptr noundef %9738) #11
  %9740 = call i32 @isatty(i32 noundef %9739) #11
  %.not1150 = icmp eq i32 %9740, 0
  br i1 %.not1150, label %9741, label %9742

9741:                                             ; preds = %9737, %9731
  br label %9742

9742:                                             ; preds = %9737, %9741
  %.str.11.sink4517 = phi ptr [ @.str.11, %9741 ], [ @.str.8, %9737 ]
  store i32 %9732, ptr %1288, align 4, !tbaa !5
  %9743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9744 = load i32, ptr @test_count, align 4, !tbaa !5
  %9745 = load i32, ptr %1234, align 4, !tbaa !5
  %9746 = call ptr @s2n_strerror(i32 noundef %9745, ptr noundef nonnull @.str.10) #11
  %9747 = load i32, ptr %1234, align 4, !tbaa !5
  %9748 = call ptr @s2n_strerror_debug(i32 noundef %9747, ptr noundef nonnull @.str.10) #11
  %9749 = load i32, ptr %1288, align 4, !tbaa !5
  %9750 = call ptr @strerror(i32 noundef %9749) #11
  %9751 = load i32, ptr %1288, align 4, !tbaa !5
  %9752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9743, ptr noundef nonnull %.str.11.sink4517, i32 noundef %9744, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.7, i32 noundef 808, ptr noundef %9746, ptr noundef %9748, ptr noundef %9750, i32 noundef %9751) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9753:                                             ; preds = %9727
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %93) #11
  store i32 0, ptr %93, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %94) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %94, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %95) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %95, i8 0, i64 40, i1 false)
  %9754 = load i32, ptr @test_count, align 4, !tbaa !5
  %9755 = add nsw i32 %9754, 1
  store i32 %9755, ptr @test_count, align 4, !tbaa !5
  %9756 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %94, i32 noundef 0) #11
  %9757 = icmp eq i32 %9756, -1
  br i1 %9757, label %9758, label %9780

9758:                                             ; preds = %9753
  %9759 = load i32, ptr %1288, align 4, !tbaa !5
  %9760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9761 = call i32 @s2n_print_stacktrace(ptr noundef %9760) #11
  %9762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9763 = trunc nuw i8 %9762 to i1
  br i1 %9763, label %9764, label %9768

9764:                                             ; preds = %9758
  %9765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9766 = call i32 @fileno(ptr noundef %9765) #11
  %9767 = call i32 @isatty(i32 noundef %9766) #11
  %.not1268 = icmp eq i32 %9767, 0
  br i1 %.not1268, label %9768, label %9769

9768:                                             ; preds = %9764, %9758
  br label %9769

9769:                                             ; preds = %9764, %9768
  %.str.11.sink4526 = phi ptr [ @.str.11, %9768 ], [ @.str.8, %9764 ]
  store i32 %9759, ptr %1288, align 4, !tbaa !5
  %9770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9771 = load i32, ptr @test_count, align 4, !tbaa !5
  %9772 = load i32, ptr %1234, align 4, !tbaa !5
  %9773 = call ptr @s2n_strerror(i32 noundef %9772, ptr noundef nonnull @.str.10) #11
  %9774 = load i32, ptr %1234, align 4, !tbaa !5
  %9775 = call ptr @s2n_strerror_debug(i32 noundef %9774, ptr noundef nonnull @.str.10) #11
  %9776 = load i32, ptr %1288, align 4, !tbaa !5
  %9777 = call ptr @strerror(i32 noundef %9776) #11
  %9778 = load i32, ptr %1288, align 4, !tbaa !5
  %9779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9770, ptr noundef nonnull %.str.11.sink4526, i32 noundef %9771, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.7, i32 noundef 814, ptr noundef %9773, ptr noundef %9775, ptr noundef %9777, i32 noundef %9778) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9780:                                             ; preds = %9753
  %9781 = load i32, ptr @test_count, align 4, !tbaa !5
  %9782 = add nsw i32 %9781, 1
  store i32 %9782, ptr @test_count, align 4, !tbaa !5
  %9783 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %95, i32 noundef 0) #11
  %9784 = icmp eq i32 %9783, -1
  br i1 %9784, label %9785, label %9807

9785:                                             ; preds = %9780
  %9786 = load i32, ptr %1288, align 4, !tbaa !5
  %9787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9788 = call i32 @s2n_print_stacktrace(ptr noundef %9787) #11
  %9789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9790 = trunc nuw i8 %9789 to i1
  br i1 %9790, label %9791, label %9795

9791:                                             ; preds = %9785
  %9792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9793 = call i32 @fileno(ptr noundef %9792) #11
  %9794 = call i32 @isatty(i32 noundef %9793) #11
  %.not1267 = icmp eq i32 %9794, 0
  br i1 %.not1267, label %9795, label %9796

9795:                                             ; preds = %9791, %9785
  br label %9796

9796:                                             ; preds = %9791, %9795
  %.str.11.sink4535 = phi ptr [ @.str.11, %9795 ], [ @.str.8, %9791 ]
  store i32 %9786, ptr %1288, align 4, !tbaa !5
  %9797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9798 = load i32, ptr @test_count, align 4, !tbaa !5
  %9799 = load i32, ptr %1234, align 4, !tbaa !5
  %9800 = call ptr @s2n_strerror(i32 noundef %9799, ptr noundef nonnull @.str.10) #11
  %9801 = load i32, ptr %1234, align 4, !tbaa !5
  %9802 = call ptr @s2n_strerror_debug(i32 noundef %9801, ptr noundef nonnull @.str.10) #11
  %9803 = load i32, ptr %1288, align 4, !tbaa !5
  %9804 = call ptr @strerror(i32 noundef %9803) #11
  %9805 = load i32, ptr %1288, align 4, !tbaa !5
  %9806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9797, ptr noundef nonnull %.str.11.sink4535, i32 noundef %9798, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.7, i32 noundef 815, ptr noundef %9800, ptr noundef %9802, ptr noundef %9804, i32 noundef %9805) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9807:                                             ; preds = %9780
  %9808 = load i32, ptr @test_count, align 4, !tbaa !5
  %9809 = add nsw i32 %9808, 1
  store i32 %9809, ptr @test_count, align 4, !tbaa !5
  %9810 = load ptr, ptr %92, align 8, !tbaa !9
  %9811 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %95, ptr noundef nonnull %94, ptr noundef %9810) #11
  %9812 = icmp eq i32 %9811, -1
  br i1 %9812, label %9813, label %9835

9813:                                             ; preds = %9807
  %9814 = load i32, ptr %1288, align 4, !tbaa !5
  %9815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9816 = call i32 @s2n_print_stacktrace(ptr noundef %9815) #11
  %9817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9818 = trunc nuw i8 %9817 to i1
  br i1 %9818, label %9819, label %9823

9819:                                             ; preds = %9813
  %9820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9821 = call i32 @fileno(ptr noundef %9820) #11
  %9822 = call i32 @isatty(i32 noundef %9821) #11
  %.not1266 = icmp eq i32 %9822, 0
  br i1 %.not1266, label %9823, label %9824

9823:                                             ; preds = %9819, %9813
  br label %9824

9824:                                             ; preds = %9819, %9823
  %.str.11.sink4544 = phi ptr [ @.str.11, %9823 ], [ @.str.8, %9819 ]
  store i32 %9814, ptr %1288, align 4, !tbaa !5
  %9825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9826 = load i32, ptr @test_count, align 4, !tbaa !5
  %9827 = load i32, ptr %1234, align 4, !tbaa !5
  %9828 = call ptr @s2n_strerror(i32 noundef %9827, ptr noundef nonnull @.str.10) #11
  %9829 = load i32, ptr %1234, align 4, !tbaa !5
  %9830 = call ptr @s2n_strerror_debug(i32 noundef %9829, ptr noundef nonnull @.str.10) #11
  %9831 = load i32, ptr %1288, align 4, !tbaa !5
  %9832 = call ptr @strerror(i32 noundef %9831) #11
  %9833 = load i32, ptr %1288, align 4, !tbaa !5
  %9834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9825, ptr noundef nonnull %.str.11.sink4544, i32 noundef %9826, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.7, i32 noundef 816, ptr noundef %9828, ptr noundef %9830, ptr noundef %9832, i32 noundef %9833) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9835:                                             ; preds = %9807
  %9836 = load i32, ptr @test_count, align 4, !tbaa !5
  %9837 = add nsw i32 %9836, 1
  store i32 %9837, ptr @test_count, align 4, !tbaa !5
  %9838 = load ptr, ptr %92, align 8, !tbaa !9
  %9839 = call i32 @s2n_shutdown_send(ptr noundef %9838, ptr noundef nonnull %93)
  %9840 = icmp eq i32 %9839, -1
  br i1 %9840, label %9841, label %9863

9841:                                             ; preds = %9835
  %9842 = load i32, ptr %1288, align 4, !tbaa !5
  %9843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9844 = call i32 @s2n_print_stacktrace(ptr noundef %9843) #11
  %9845 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9846 = trunc nuw i8 %9845 to i1
  br i1 %9846, label %9847, label %9851

9847:                                             ; preds = %9841
  %9848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9849 = call i32 @fileno(ptr noundef %9848) #11
  %9850 = call i32 @isatty(i32 noundef %9849) #11
  %.not1265 = icmp eq i32 %9850, 0
  br i1 %.not1265, label %9851, label %9852

9851:                                             ; preds = %9847, %9841
  br label %9852

9852:                                             ; preds = %9847, %9851
  %.str.11.sink4553 = phi ptr [ @.str.11, %9851 ], [ @.str.8, %9847 ]
  store i32 %9842, ptr %1288, align 4, !tbaa !5
  %9853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9854 = load i32, ptr @test_count, align 4, !tbaa !5
  %9855 = load i32, ptr %1234, align 4, !tbaa !5
  %9856 = call ptr @s2n_strerror(i32 noundef %9855, ptr noundef nonnull @.str.10) #11
  %9857 = load i32, ptr %1234, align 4, !tbaa !5
  %9858 = call ptr @s2n_strerror_debug(i32 noundef %9857, ptr noundef nonnull @.str.10) #11
  %9859 = load i32, ptr %1288, align 4, !tbaa !5
  %9860 = call ptr @strerror(i32 noundef %9859) #11
  %9861 = load i32, ptr %1288, align 4, !tbaa !5
  %9862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9853, ptr noundef nonnull %.str.11.sink4553, i32 noundef %9854, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.7, i32 noundef 819, ptr noundef %9856, ptr noundef %9858, ptr noundef %9860, i32 noundef %9861) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9863:                                             ; preds = %9835
  %9864 = load i32, ptr @test_count, align 4, !tbaa !5
  %9865 = add nsw i32 %9864, 1
  store i32 %9865, ptr @test_count, align 4, !tbaa !5
  %9866 = load i32, ptr %93, align 4, !tbaa !5
  %9867 = icmp eq i32 %9866, 0
  br i1 %9867, label %9890, label %9868

9868:                                             ; preds = %9863
  %9869 = load i32, ptr %1288, align 4, !tbaa !5
  %9870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9871 = call i32 @s2n_print_stacktrace(ptr noundef %9870) #11
  %9872 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9873 = trunc nuw i8 %9872 to i1
  br i1 %9873, label %9874, label %9878

9874:                                             ; preds = %9868
  %9875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9876 = call i32 @fileno(ptr noundef %9875) #11
  %9877 = call i32 @isatty(i32 noundef %9876) #11
  %.not1151 = icmp eq i32 %9877, 0
  br i1 %.not1151, label %9878, label %9879

9878:                                             ; preds = %9874, %9868
  br label %9879

9879:                                             ; preds = %9874, %9878
  %.str.11.sink4562 = phi ptr [ @.str.11, %9878 ], [ @.str.8, %9874 ]
  store i32 %9869, ptr %1288, align 4, !tbaa !5
  %9880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9881 = load i32, ptr @test_count, align 4, !tbaa !5
  %9882 = load i32, ptr %1234, align 4, !tbaa !5
  %9883 = call ptr @s2n_strerror(i32 noundef %9882, ptr noundef nonnull @.str.10) #11
  %9884 = load i32, ptr %1234, align 4, !tbaa !5
  %9885 = call ptr @s2n_strerror_debug(i32 noundef %9884, ptr noundef nonnull @.str.10) #11
  %9886 = load i32, ptr %1288, align 4, !tbaa !5
  %9887 = call ptr @strerror(i32 noundef %9886) #11
  %9888 = load i32, ptr %1288, align 4, !tbaa !5
  %9889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9880, ptr noundef nonnull %.str.11.sink4562, i32 noundef %9881, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.7, i32 noundef 820, ptr noundef %9883, ptr noundef %9885, ptr noundef %9887, i32 noundef %9888) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9890:                                             ; preds = %9863
  %9891 = add nsw i32 %9864, 2
  store i32 %9891, ptr @test_count, align 4, !tbaa !5
  %9892 = load ptr, ptr %92, align 8, !tbaa !9
  %9893 = getelementptr inbounds i8, ptr %9892, i64 2003
  %9894 = load i8, ptr %9893, align 1, !tbaa !15, !range !13, !noundef !14
  %9895 = trunc nuw i8 %9894 to i1
  br i1 %9895, label %9918, label %9896

9896:                                             ; preds = %9890
  %9897 = load i32, ptr %1288, align 4, !tbaa !5
  %9898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9899 = call i32 @s2n_print_stacktrace(ptr noundef %9898) #11
  %9900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9901 = trunc nuw i8 %9900 to i1
  br i1 %9901, label %9902, label %9906

9902:                                             ; preds = %9896
  %9903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9904 = call i32 @fileno(ptr noundef %9903) #11
  %9905 = call i32 @isatty(i32 noundef %9904) #11
  %.not1152 = icmp eq i32 %9905, 0
  br i1 %.not1152, label %9906, label %9907

9906:                                             ; preds = %9902, %9896
  br label %9907

9907:                                             ; preds = %9902, %9906
  %.str.11.sink4571 = phi ptr [ @.str.11, %9906 ], [ @.str.8, %9902 ]
  store i32 %9897, ptr %1288, align 4, !tbaa !5
  %9908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9909 = load i32, ptr @test_count, align 4, !tbaa !5
  %9910 = load i32, ptr %1234, align 4, !tbaa !5
  %9911 = call ptr @s2n_strerror(i32 noundef %9910, ptr noundef nonnull @.str.10) #11
  %9912 = load i32, ptr %1234, align 4, !tbaa !5
  %9913 = call ptr @s2n_strerror_debug(i32 noundef %9912, ptr noundef nonnull @.str.10) #11
  %9914 = load i32, ptr %1288, align 4, !tbaa !5
  %9915 = call ptr @strerror(i32 noundef %9914) #11
  %9916 = load i32, ptr %1288, align 4, !tbaa !5
  %9917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9908, ptr noundef nonnull %.str.11.sink4571, i32 noundef %9909, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.7, i32 noundef 821, ptr noundef %9911, ptr noundef %9913, ptr noundef %9915, i32 noundef %9916) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9918:                                             ; preds = %9890
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %96) #11
  store i8 0, ptr %96, align 1
  %9919 = add nsw i32 %9864, 3
  store i32 %9919, ptr @test_count, align 4, !tbaa !5
  %9920 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %95, ptr noundef nonnull %4, i32 noundef 5) #11
  %9921 = icmp eq i32 %9920, -1
  br i1 %9921, label %9922, label %9944

9922:                                             ; preds = %9918
  %9923 = load i32, ptr %1288, align 4, !tbaa !5
  %9924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9925 = call i32 @s2n_print_stacktrace(ptr noundef %9924) #11
  %9926 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9927 = trunc nuw i8 %9926 to i1
  br i1 %9927, label %9928, label %9932

9928:                                             ; preds = %9922
  %9929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9930 = call i32 @fileno(ptr noundef %9929) #11
  %9931 = call i32 @isatty(i32 noundef %9930) #11
  %.not1264 = icmp eq i32 %9931, 0
  br i1 %.not1264, label %9932, label %9933

9932:                                             ; preds = %9928, %9922
  br label %9933

9933:                                             ; preds = %9928, %9932
  %.str.11.sink4580 = phi ptr [ @.str.11, %9932 ], [ @.str.8, %9928 ]
  store i32 %9923, ptr %1288, align 4, !tbaa !5
  %9934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9935 = load i32, ptr @test_count, align 4, !tbaa !5
  %9936 = load i32, ptr %1234, align 4, !tbaa !5
  %9937 = call ptr @s2n_strerror(i32 noundef %9936, ptr noundef nonnull @.str.10) #11
  %9938 = load i32, ptr %1234, align 4, !tbaa !5
  %9939 = call ptr @s2n_strerror_debug(i32 noundef %9938, ptr noundef nonnull @.str.10) #11
  %9940 = load i32, ptr %1288, align 4, !tbaa !5
  %9941 = call ptr @strerror(i32 noundef %9940) #11
  %9942 = load i32, ptr %1288, align 4, !tbaa !5
  %9943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9934, ptr noundef nonnull %.str.11.sink4580, i32 noundef %9935, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.7, i32 noundef 826, ptr noundef %9937, ptr noundef %9939, ptr noundef %9941, i32 noundef %9942) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9944:                                             ; preds = %9918
  %9945 = load i32, ptr @test_count, align 4, !tbaa !5
  %9946 = add nsw i32 %9945, 1
  store i32 %9946, ptr @test_count, align 4, !tbaa !5
  %9947 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %95, i8 noundef zeroext 2) #11
  %9948 = icmp eq i32 %9947, -1
  br i1 %9948, label %9949, label %9971

9949:                                             ; preds = %9944
  %9950 = load i32, ptr %1288, align 4, !tbaa !5
  %9951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9952 = call i32 @s2n_print_stacktrace(ptr noundef %9951) #11
  %9953 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9954 = trunc nuw i8 %9953 to i1
  br i1 %9954, label %9955, label %9959

9955:                                             ; preds = %9949
  %9956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9957 = call i32 @fileno(ptr noundef %9956) #11
  %9958 = call i32 @isatty(i32 noundef %9957) #11
  %.not1263 = icmp eq i32 %9958, 0
  br i1 %.not1263, label %9959, label %9960

9959:                                             ; preds = %9955, %9949
  br label %9960

9960:                                             ; preds = %9955, %9959
  %.str.11.sink4589 = phi ptr [ @.str.11, %9959 ], [ @.str.8, %9955 ]
  store i32 %9950, ptr %1288, align 4, !tbaa !5
  %9961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9962 = load i32, ptr @test_count, align 4, !tbaa !5
  %9963 = load i32, ptr %1234, align 4, !tbaa !5
  %9964 = call ptr @s2n_strerror(i32 noundef %9963, ptr noundef nonnull @.str.10) #11
  %9965 = load i32, ptr %1234, align 4, !tbaa !5
  %9966 = call ptr @s2n_strerror_debug(i32 noundef %9965, ptr noundef nonnull @.str.10) #11
  %9967 = load i32, ptr %1288, align 4, !tbaa !5
  %9968 = call ptr @strerror(i32 noundef %9967) #11
  %9969 = load i32, ptr %1288, align 4, !tbaa !5
  %9970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9961, ptr noundef nonnull %.str.11.sink4589, i32 noundef %9962, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.7, i32 noundef 827, ptr noundef %9964, ptr noundef %9966, ptr noundef %9968, i32 noundef %9969) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9971:                                             ; preds = %9944
  %9972 = load i32, ptr @test_count, align 4, !tbaa !5
  %9973 = add nsw i32 %9972, 1
  store i32 %9973, ptr @test_count, align 4, !tbaa !5
  %9974 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %95, i8 noundef zeroext 80) #11
  %9975 = icmp eq i32 %9974, -1
  br i1 %9975, label %9976, label %9998

9976:                                             ; preds = %9971
  %9977 = load i32, ptr %1288, align 4, !tbaa !5
  %9978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9979 = call i32 @s2n_print_stacktrace(ptr noundef %9978) #11
  %9980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9981 = trunc nuw i8 %9980 to i1
  br i1 %9981, label %9982, label %9986

9982:                                             ; preds = %9976
  %9983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9984 = call i32 @fileno(ptr noundef %9983) #11
  %9985 = call i32 @isatty(i32 noundef %9984) #11
  %.not1262 = icmp eq i32 %9985, 0
  br i1 %.not1262, label %9986, label %9987

9986:                                             ; preds = %9982, %9976
  br label %9987

9987:                                             ; preds = %9982, %9986
  %.str.11.sink4598 = phi ptr [ @.str.11, %9986 ], [ @.str.8, %9982 ]
  store i32 %9977, ptr %1288, align 4, !tbaa !5
  %9988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9989 = load i32, ptr @test_count, align 4, !tbaa !5
  %9990 = load i32, ptr %1234, align 4, !tbaa !5
  %9991 = call ptr @s2n_strerror(i32 noundef %9990, ptr noundef nonnull @.str.10) #11
  %9992 = load i32, ptr %1234, align 4, !tbaa !5
  %9993 = call ptr @s2n_strerror_debug(i32 noundef %9992, ptr noundef nonnull @.str.10) #11
  %9994 = load i32, ptr %1288, align 4, !tbaa !5
  %9995 = call ptr @strerror(i32 noundef %9994) #11
  %9996 = load i32, ptr %1288, align 4, !tbaa !5
  %9997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9988, ptr noundef nonnull %.str.11.sink4598, i32 noundef %9989, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.7, i32 noundef 828, ptr noundef %9991, ptr noundef %9993, ptr noundef %9995, i32 noundef %9996) #13
  call void @exit(i32 noundef 1) #14
  unreachable

9998:                                             ; preds = %9971
  %9999 = load i32, ptr @test_count, align 4, !tbaa !5
  %10000 = add nsw i32 %9999, 1
  store i32 %10000, ptr @test_count, align 4, !tbaa !5
  %10001 = load ptr, ptr %92, align 8, !tbaa !9
  %10002 = call i64 @s2n_recv(ptr noundef %10001, ptr noundef nonnull %96, i64 noundef 1, ptr noundef nonnull %93) #11
  %10003 = icmp eq i64 %10002, -1
  br i1 %10003, label %10026, label %10004

10004:                                            ; preds = %9998
  %10005 = load i32, ptr %1288, align 4, !tbaa !5
  %10006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10007 = call i32 @s2n_print_stacktrace(ptr noundef %10006) #11
  %10008 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10009 = trunc nuw i8 %10008 to i1
  br i1 %10009, label %10010, label %10014

10010:                                            ; preds = %10004
  %10011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10012 = call i32 @fileno(ptr noundef %10011) #11
  %10013 = call i32 @isatty(i32 noundef %10012) #11
  %.not1153 = icmp eq i32 %10013, 0
  br i1 %.not1153, label %10014, label %10015

10014:                                            ; preds = %10010, %10004
  br label %10015

10015:                                            ; preds = %10010, %10014
  %.str.11.sink4607 = phi ptr [ @.str.11, %10014 ], [ @.str.8, %10010 ]
  store i32 %10005, ptr %1288, align 4, !tbaa !5
  %10016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10017 = load i32, ptr @test_count, align 4, !tbaa !5
  %10018 = load i32, ptr %1234, align 4, !tbaa !5
  %10019 = call ptr @s2n_strerror(i32 noundef %10018, ptr noundef nonnull @.str.10) #11
  %10020 = load i32, ptr %1234, align 4, !tbaa !5
  %10021 = call ptr @s2n_strerror_debug(i32 noundef %10020, ptr noundef nonnull @.str.10) #11
  %10022 = load i32, ptr %1288, align 4, !tbaa !5
  %10023 = call ptr @strerror(i32 noundef %10022) #11
  %10024 = load i32, ptr %1288, align 4, !tbaa !5
  %10025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10016, ptr noundef nonnull %.str.11.sink4607, i32 noundef %10017, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.7, i32 noundef 830, ptr noundef %10019, ptr noundef %10021, ptr noundef %10023, i32 noundef %10024) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10026:                                            ; preds = %9998
  %10027 = load i32, ptr @test_count, align 4, !tbaa !5
  %10028 = add nsw i32 %10027, 1
  store i32 %10028, ptr @test_count, align 4, !tbaa !5
  %10029 = load i32, ptr %1234, align 4, !tbaa !5
  %10030 = icmp eq i32 %10029, 268435456
  br i1 %10030, label %10053, label %10031

10031:                                            ; preds = %10026
  %10032 = load i32, ptr %1288, align 4, !tbaa !5
  %10033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10034 = call i32 @s2n_print_stacktrace(ptr noundef %10033) #11
  %10035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10036 = trunc nuw i8 %10035 to i1
  br i1 %10036, label %10037, label %10041

10037:                                            ; preds = %10031
  %10038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10039 = call i32 @fileno(ptr noundef %10038) #11
  %10040 = call i32 @isatty(i32 noundef %10039) #11
  %.not1154 = icmp eq i32 %10040, 0
  br i1 %.not1154, label %10041, label %10042

10041:                                            ; preds = %10037, %10031
  br label %10042

10042:                                            ; preds = %10037, %10041
  %.str.11.sink4616 = phi ptr [ @.str.11, %10041 ], [ @.str.8, %10037 ]
  store i32 %10032, ptr %1288, align 4, !tbaa !5
  %10043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10044 = load i32, ptr @test_count, align 4, !tbaa !5
  %10045 = load i32, ptr %1234, align 4, !tbaa !5
  %10046 = call ptr @s2n_strerror(i32 noundef %10045, ptr noundef nonnull @.str.10) #11
  %10047 = load i32, ptr %1234, align 4, !tbaa !5
  %10048 = call ptr @s2n_strerror_debug(i32 noundef %10047, ptr noundef nonnull @.str.10) #11
  %10049 = load i32, ptr %1288, align 4, !tbaa !5
  %10050 = call ptr @strerror(i32 noundef %10049) #11
  %10051 = load i32, ptr %1288, align 4, !tbaa !5
  %10052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10043, ptr noundef nonnull %.str.11.sink4616, i32 noundef %10044, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.7, i32 noundef 830, ptr noundef %10046, ptr noundef %10048, ptr noundef %10050, i32 noundef %10051) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10053:                                            ; preds = %10026
  %10054 = add nsw i32 %10027, 2
  store i32 %10054, ptr @test_count, align 4, !tbaa !5
  %10055 = call ptr @s2n_strerror_debug(i32 noundef 268435456, ptr noundef nonnull @.str.10) #11
  %10056 = icmp eq ptr %10055, null
  br i1 %10056, label %10057, label %10079

10057:                                            ; preds = %10053
  %10058 = load i32, ptr %1288, align 4, !tbaa !5
  %10059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10060 = call i32 @s2n_print_stacktrace(ptr noundef %10059) #11
  %10061 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10062 = trunc nuw i8 %10061 to i1
  br i1 %10062, label %10063, label %10067

10063:                                            ; preds = %10057
  %10064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10065 = call i32 @fileno(ptr noundef %10064) #11
  %10066 = call i32 @isatty(i32 noundef %10065) #11
  %.not1261 = icmp eq i32 %10066, 0
  br i1 %.not1261, label %10067, label %10068

10067:                                            ; preds = %10063, %10057
  br label %10068

10068:                                            ; preds = %10063, %10067
  %.str.11.sink4625 = phi ptr [ @.str.11, %10067 ], [ @.str.8, %10063 ]
  store i32 %10058, ptr %1288, align 4, !tbaa !5
  %10069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10070 = load i32, ptr @test_count, align 4, !tbaa !5
  %10071 = load i32, ptr %1234, align 4, !tbaa !5
  %10072 = call ptr @s2n_strerror(i32 noundef %10071, ptr noundef nonnull @.str.10) #11
  %10073 = load i32, ptr %1234, align 4, !tbaa !5
  %10074 = call ptr @s2n_strerror_debug(i32 noundef %10073, ptr noundef nonnull @.str.10) #11
  %10075 = load i32, ptr %1288, align 4, !tbaa !5
  %10076 = call ptr @strerror(i32 noundef %10075) #11
  %10077 = load i32, ptr %1288, align 4, !tbaa !5
  %10078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10069, ptr noundef nonnull %.str.11.sink4625, i32 noundef %10070, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 830, ptr noundef %10072, ptr noundef %10074, ptr noundef %10076, i32 noundef %10077) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10079:                                            ; preds = %10053
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %10080 = load i32, ptr @test_count, align 4, !tbaa !5
  %10081 = add nsw i32 %10080, 1
  store i32 %10081, ptr @test_count, align 4, !tbaa !5
  %10082 = load ptr, ptr %92, align 8, !tbaa !9
  %10083 = call i32 @s2n_shutdown(ptr noundef %10082, ptr noundef nonnull %93)
  %10084 = icmp eq i32 %10083, -1
  br i1 %10084, label %10085, label %10107

10085:                                            ; preds = %10079
  %10086 = load i32, ptr %1288, align 4, !tbaa !5
  %10087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10088 = call i32 @s2n_print_stacktrace(ptr noundef %10087) #11
  %10089 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10090 = trunc nuw i8 %10089 to i1
  br i1 %10090, label %10091, label %10095

10091:                                            ; preds = %10085
  %10092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10093 = call i32 @fileno(ptr noundef %10092) #11
  %10094 = call i32 @isatty(i32 noundef %10093) #11
  %.not1260 = icmp eq i32 %10094, 0
  br i1 %.not1260, label %10095, label %10096

10095:                                            ; preds = %10091, %10085
  br label %10096

10096:                                            ; preds = %10091, %10095
  %.str.11.sink4634 = phi ptr [ @.str.11, %10095 ], [ @.str.8, %10091 ]
  store i32 %10086, ptr %1288, align 4, !tbaa !5
  %10097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10098 = load i32, ptr @test_count, align 4, !tbaa !5
  %10099 = load i32, ptr %1234, align 4, !tbaa !5
  %10100 = call ptr @s2n_strerror(i32 noundef %10099, ptr noundef nonnull @.str.10) #11
  %10101 = load i32, ptr %1234, align 4, !tbaa !5
  %10102 = call ptr @s2n_strerror_debug(i32 noundef %10101, ptr noundef nonnull @.str.10) #11
  %10103 = load i32, ptr %1288, align 4, !tbaa !5
  %10104 = call ptr @strerror(i32 noundef %10103) #11
  %10105 = load i32, ptr %1288, align 4, !tbaa !5
  %10106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10097, ptr noundef nonnull %.str.11.sink4634, i32 noundef %10098, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.7, i32 noundef 833, ptr noundef %10100, ptr noundef %10102, ptr noundef %10104, i32 noundef %10105) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10107:                                            ; preds = %10079
  %10108 = load i32, ptr @test_count, align 4, !tbaa !5
  %10109 = add nsw i32 %10108, 1
  store i32 %10109, ptr @test_count, align 4, !tbaa !5
  %10110 = load ptr, ptr %92, align 8, !tbaa !9
  %10111 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10110, i32 noundef 3) #11
  br i1 %10111, label %10134, label %10112

10112:                                            ; preds = %10107
  %10113 = load i32, ptr %1288, align 4, !tbaa !5
  %10114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10115 = call i32 @s2n_print_stacktrace(ptr noundef %10114) #11
  %10116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10117 = trunc nuw i8 %10116 to i1
  br i1 %10117, label %10118, label %10122

10118:                                            ; preds = %10112
  %10119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10120 = call i32 @fileno(ptr noundef %10119) #11
  %10121 = call i32 @isatty(i32 noundef %10120) #11
  %.not1155 = icmp eq i32 %10121, 0
  br i1 %.not1155, label %10122, label %10123

10122:                                            ; preds = %10118, %10112
  br label %10123

10123:                                            ; preds = %10118, %10122
  %.str.11.sink4643 = phi ptr [ @.str.11, %10122 ], [ @.str.8, %10118 ]
  store i32 %10113, ptr %1288, align 4, !tbaa !5
  %10124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10125 = load i32, ptr @test_count, align 4, !tbaa !5
  %10126 = load i32, ptr %1234, align 4, !tbaa !5
  %10127 = call ptr @s2n_strerror(i32 noundef %10126, ptr noundef nonnull @.str.10) #11
  %10128 = load i32, ptr %1234, align 4, !tbaa !5
  %10129 = call ptr @s2n_strerror_debug(i32 noundef %10128, ptr noundef nonnull @.str.10) #11
  %10130 = load i32, ptr %1288, align 4, !tbaa !5
  %10131 = call ptr @strerror(i32 noundef %10130) #11
  %10132 = load i32, ptr %1288, align 4, !tbaa !5
  %10133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10124, ptr noundef nonnull %.str.11.sink4643, i32 noundef %10125, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.7, i32 noundef 834, ptr noundef %10127, ptr noundef %10129, ptr noundef %10131, i32 noundef %10132) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10134:                                            ; preds = %10107
  %10135 = load i32, ptr @test_count, align 4, !tbaa !5
  %10136 = add nsw i32 %10135, 1
  store i32 %10136, ptr @test_count, align 4, !tbaa !5
  %10137 = load ptr, ptr %92, align 8, !tbaa !9
  %10138 = getelementptr inbounds i8, ptr %10137, i64 2008
  %10139 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %10138) #11
  br i1 %10139, label %10140, label %10162

10140:                                            ; preds = %10134
  %10141 = load i32, ptr %1288, align 4, !tbaa !5
  %10142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10143 = call i32 @s2n_print_stacktrace(ptr noundef %10142) #11
  %10144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10145 = trunc nuw i8 %10144 to i1
  br i1 %10145, label %10146, label %10150

10146:                                            ; preds = %10140
  %10147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10148 = call i32 @fileno(ptr noundef %10147) #11
  %10149 = call i32 @isatty(i32 noundef %10148) #11
  %.not1259 = icmp eq i32 %10149, 0
  br i1 %.not1259, label %10150, label %10151

10150:                                            ; preds = %10146, %10140
  br label %10151

10151:                                            ; preds = %10146, %10150
  %.str.11.sink4652 = phi ptr [ @.str.11, %10150 ], [ @.str.8, %10146 ]
  store i32 %10141, ptr %1288, align 4, !tbaa !5
  %10152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10153 = load i32, ptr @test_count, align 4, !tbaa !5
  %10154 = load i32, ptr %1234, align 4, !tbaa !5
  %10155 = call ptr @s2n_strerror(i32 noundef %10154, ptr noundef nonnull @.str.10) #11
  %10156 = load i32, ptr %1234, align 4, !tbaa !5
  %10157 = call ptr @s2n_strerror_debug(i32 noundef %10156, ptr noundef nonnull @.str.10) #11
  %10158 = load i32, ptr %1288, align 4, !tbaa !5
  %10159 = call ptr @strerror(i32 noundef %10158) #11
  %10160 = load i32, ptr %1288, align 4, !tbaa !5
  %10161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10152, ptr noundef nonnull %.str.11.sink4652, i32 noundef %10153, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.7, i32 noundef 835, ptr noundef %10155, ptr noundef %10157, ptr noundef %10159, i32 noundef %10160) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10162:                                            ; preds = %10134
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %96) #11
  %10163 = call i32 @s2n_stuffer_free(ptr noundef nonnull %95) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %95) #11
  %10164 = call i32 @s2n_stuffer_free(ptr noundef nonnull %94) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %94) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %93) #11
  %10165 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %92) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %92) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %97) #11
  %10166 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %10166, ptr %97, align 8, !tbaa !9
  %10167 = load i32, ptr @test_count, align 4, !tbaa !5
  %10168 = add nsw i32 %10167, 1
  store i32 %10168, ptr @test_count, align 4, !tbaa !5
  %10169 = icmp eq ptr %10166, null
  br i1 %10169, label %10170, label %10192

10170:                                            ; preds = %10162
  %10171 = load i32, ptr %1288, align 4, !tbaa !5
  %10172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10173 = call i32 @s2n_print_stacktrace(ptr noundef %10172) #11
  %10174 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10175 = trunc nuw i8 %10174 to i1
  br i1 %10175, label %10176, label %10180

10176:                                            ; preds = %10170
  %10177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10178 = call i32 @fileno(ptr noundef %10177) #11
  %10179 = call i32 @isatty(i32 noundef %10178) #11
  %.not1258 = icmp eq i32 %10179, 0
  br i1 %.not1258, label %10180, label %10181

10180:                                            ; preds = %10176, %10170
  br label %10181

10181:                                            ; preds = %10176, %10180
  %.str.11.sink4661 = phi ptr [ @.str.11, %10180 ], [ @.str.8, %10176 ]
  store i32 %10171, ptr %1288, align 4, !tbaa !5
  %10182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10183 = load i32, ptr @test_count, align 4, !tbaa !5
  %10184 = load i32, ptr %1234, align 4, !tbaa !5
  %10185 = call ptr @s2n_strerror(i32 noundef %10184, ptr noundef nonnull @.str.10) #11
  %10186 = load i32, ptr %1234, align 4, !tbaa !5
  %10187 = call ptr @s2n_strerror_debug(i32 noundef %10186, ptr noundef nonnull @.str.10) #11
  %10188 = load i32, ptr %1288, align 4, !tbaa !5
  %10189 = call ptr @strerror(i32 noundef %10188) #11
  %10190 = load i32, ptr %1288, align 4, !tbaa !5
  %10191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10182, ptr noundef nonnull %.str.11.sink4661, i32 noundef %10183, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.7, i32 noundef 844, ptr noundef %10185, ptr noundef %10187, ptr noundef %10189, i32 noundef %10190) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10192:                                            ; preds = %10162
  call void @s2n_ktls_configure_connection(ptr noundef nonnull %10166, i32 noundef 0) #11
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %98) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %98, i8 0, i64 96, i1 false)
  %10193 = load i32, ptr @test_count, align 4, !tbaa !5
  %10194 = add nsw i32 %10193, 1
  store i32 %10194, ptr @test_count, align 4, !tbaa !5
  %10195 = load ptr, ptr %97, align 8, !tbaa !9
  %10196 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %10195, ptr noundef nonnull %98) #11
  %10197 = call zeroext i1 @s2n_result_is_ok(i32 %10196)
  br i1 %10197, label %10220, label %10198

10198:                                            ; preds = %10192
  %10199 = load i32, ptr %1288, align 4, !tbaa !5
  %10200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10201 = call i32 @s2n_print_stacktrace(ptr noundef %10200) #11
  %10202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10203 = trunc nuw i8 %10202 to i1
  br i1 %10203, label %10204, label %10208

10204:                                            ; preds = %10198
  %10205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10206 = call i32 @fileno(ptr noundef %10205) #11
  %10207 = call i32 @isatty(i32 noundef %10206) #11
  %.not1156 = icmp eq i32 %10207, 0
  br i1 %.not1156, label %10208, label %10209

10208:                                            ; preds = %10204, %10198
  br label %10209

10209:                                            ; preds = %10204, %10208
  %.str.11.sink4670 = phi ptr [ @.str.11, %10208 ], [ @.str.8, %10204 ]
  store i32 %10199, ptr %1288, align 4, !tbaa !5
  %10210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10211 = load i32, ptr @test_count, align 4, !tbaa !5
  %10212 = load i32, ptr %1234, align 4, !tbaa !5
  %10213 = call ptr @s2n_strerror(i32 noundef %10212, ptr noundef nonnull @.str.10) #11
  %10214 = load i32, ptr %1234, align 4, !tbaa !5
  %10215 = call ptr @s2n_strerror_debug(i32 noundef %10214, ptr noundef nonnull @.str.10) #11
  %10216 = load i32, ptr %1288, align 4, !tbaa !5
  %10217 = call ptr @strerror(i32 noundef %10216) #11
  %10218 = load i32, ptr %1288, align 4, !tbaa !5
  %10219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10210, ptr noundef nonnull %.str.11.sink4670, i32 noundef %10211, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.7, i32 noundef 849, ptr noundef %10213, ptr noundef %10215, ptr noundef %10217, i32 noundef %10218) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10220:                                            ; preds = %10192
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %99) #11
  store i32 0, ptr %99, align 4, !tbaa !5
  %10221 = load i32, ptr @test_count, align 4, !tbaa !5
  %10222 = add nsw i32 %10221, 1
  store i32 %10222, ptr @test_count, align 4, !tbaa !5
  %10223 = load ptr, ptr %97, align 8, !tbaa !9
  %10224 = call i32 @s2n_shutdown_send(ptr noundef %10223, ptr noundef nonnull %99)
  %10225 = icmp eq i32 %10224, -1
  br i1 %10225, label %10226, label %10248

10226:                                            ; preds = %10220
  %10227 = load i32, ptr %1288, align 4, !tbaa !5
  %10228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10229 = call i32 @s2n_print_stacktrace(ptr noundef %10228) #11
  %10230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10231 = trunc nuw i8 %10230 to i1
  br i1 %10231, label %10232, label %10236

10232:                                            ; preds = %10226
  %10233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10234 = call i32 @fileno(ptr noundef %10233) #11
  %10235 = call i32 @isatty(i32 noundef %10234) #11
  %.not1257 = icmp eq i32 %10235, 0
  br i1 %.not1257, label %10236, label %10237

10236:                                            ; preds = %10232, %10226
  br label %10237

10237:                                            ; preds = %10232, %10236
  %.str.11.sink4679 = phi ptr [ @.str.11, %10236 ], [ @.str.8, %10232 ]
  store i32 %10227, ptr %1288, align 4, !tbaa !5
  %10238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10239 = load i32, ptr @test_count, align 4, !tbaa !5
  %10240 = load i32, ptr %1234, align 4, !tbaa !5
  %10241 = call ptr @s2n_strerror(i32 noundef %10240, ptr noundef nonnull @.str.10) #11
  %10242 = load i32, ptr %1234, align 4, !tbaa !5
  %10243 = call ptr @s2n_strerror_debug(i32 noundef %10242, ptr noundef nonnull @.str.10) #11
  %10244 = load i32, ptr %1288, align 4, !tbaa !5
  %10245 = call ptr @strerror(i32 noundef %10244) #11
  %10246 = load i32, ptr %1288, align 4, !tbaa !5
  %10247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10238, ptr noundef nonnull %.str.11.sink4679, i32 noundef %10239, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.7, i32 noundef 852, ptr noundef %10241, ptr noundef %10243, ptr noundef %10245, i32 noundef %10246) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10248:                                            ; preds = %10220
  %10249 = load i32, ptr @test_count, align 4, !tbaa !5
  %10250 = add nsw i32 %10249, 1
  store i32 %10250, ptr @test_count, align 4, !tbaa !5
  %10251 = load i32, ptr %99, align 4, !tbaa !5
  %10252 = icmp eq i32 %10251, 0
  br i1 %10252, label %10275, label %10253

10253:                                            ; preds = %10248
  %10254 = load i32, ptr %1288, align 4, !tbaa !5
  %10255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10256 = call i32 @s2n_print_stacktrace(ptr noundef %10255) #11
  %10257 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10258 = trunc nuw i8 %10257 to i1
  br i1 %10258, label %10259, label %10263

10259:                                            ; preds = %10253
  %10260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10261 = call i32 @fileno(ptr noundef %10260) #11
  %10262 = call i32 @isatty(i32 noundef %10261) #11
  %.not1157 = icmp eq i32 %10262, 0
  br i1 %.not1157, label %10263, label %10264

10263:                                            ; preds = %10259, %10253
  br label %10264

10264:                                            ; preds = %10259, %10263
  %.str.11.sink4688 = phi ptr [ @.str.11, %10263 ], [ @.str.8, %10259 ]
  store i32 %10254, ptr %1288, align 4, !tbaa !5
  %10265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10266 = load i32, ptr @test_count, align 4, !tbaa !5
  %10267 = load i32, ptr %1234, align 4, !tbaa !5
  %10268 = call ptr @s2n_strerror(i32 noundef %10267, ptr noundef nonnull @.str.10) #11
  %10269 = load i32, ptr %1234, align 4, !tbaa !5
  %10270 = call ptr @s2n_strerror_debug(i32 noundef %10269, ptr noundef nonnull @.str.10) #11
  %10271 = load i32, ptr %1288, align 4, !tbaa !5
  %10272 = call ptr @strerror(i32 noundef %10271) #11
  %10273 = load i32, ptr %1288, align 4, !tbaa !5
  %10274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10265, ptr noundef nonnull %.str.11.sink4688, i32 noundef %10266, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.7, i32 noundef 853, ptr noundef %10268, ptr noundef %10270, ptr noundef %10272, i32 noundef %10273) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10275:                                            ; preds = %10248
  %10276 = add nsw i32 %10249, 2
  store i32 %10276, ptr @test_count, align 4, !tbaa !5
  %10277 = load ptr, ptr %97, align 8, !tbaa !9
  %10278 = getelementptr inbounds i8, ptr %10277, i64 2003
  %10279 = load i8, ptr %10278, align 1, !tbaa !15, !range !13, !noundef !14
  %10280 = trunc nuw i8 %10279 to i1
  br i1 %10280, label %10303, label %10281

10281:                                            ; preds = %10275
  %10282 = load i32, ptr %1288, align 4, !tbaa !5
  %10283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10284 = call i32 @s2n_print_stacktrace(ptr noundef %10283) #11
  %10285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10286 = trunc nuw i8 %10285 to i1
  br i1 %10286, label %10287, label %10291

10287:                                            ; preds = %10281
  %10288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10289 = call i32 @fileno(ptr noundef %10288) #11
  %10290 = call i32 @isatty(i32 noundef %10289) #11
  %.not1158 = icmp eq i32 %10290, 0
  br i1 %.not1158, label %10291, label %10292

10291:                                            ; preds = %10287, %10281
  br label %10292

10292:                                            ; preds = %10287, %10291
  %.str.11.sink4697 = phi ptr [ @.str.11, %10291 ], [ @.str.8, %10287 ]
  store i32 %10282, ptr %1288, align 4, !tbaa !5
  %10293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10294 = load i32, ptr @test_count, align 4, !tbaa !5
  %10295 = load i32, ptr %1234, align 4, !tbaa !5
  %10296 = call ptr @s2n_strerror(i32 noundef %10295, ptr noundef nonnull @.str.10) #11
  %10297 = load i32, ptr %1234, align 4, !tbaa !5
  %10298 = call ptr @s2n_strerror_debug(i32 noundef %10297, ptr noundef nonnull @.str.10) #11
  %10299 = load i32, ptr %1288, align 4, !tbaa !5
  %10300 = call ptr @strerror(i32 noundef %10299) #11
  %10301 = load i32, ptr %1288, align 4, !tbaa !5
  %10302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10293, ptr noundef nonnull %.str.11.sink4697, i32 noundef %10294, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.7, i32 noundef 854, ptr noundef %10296, ptr noundef %10298, ptr noundef %10300, i32 noundef %10301) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10303:                                            ; preds = %10275
  %10304 = add nsw i32 %10249, 3
  store i32 %10304, ptr @test_count, align 4, !tbaa !5
  %10305 = getelementptr inbounds i8, ptr %98, i64 80
  %10306 = load i64, ptr %10305, align 8, !tbaa !51
  %10307 = icmp eq i64 %10306, 1
  br i1 %10307, label %10330, label %10308

10308:                                            ; preds = %10303
  %10309 = load i32, ptr %1288, align 4, !tbaa !5
  %10310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10311 = call i32 @s2n_print_stacktrace(ptr noundef %10310) #11
  %10312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10313 = trunc nuw i8 %10312 to i1
  br i1 %10313, label %10314, label %10318

10314:                                            ; preds = %10308
  %10315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10316 = call i32 @fileno(ptr noundef %10315) #11
  %10317 = call i32 @isatty(i32 noundef %10316) #11
  %.not1159 = icmp eq i32 %10317, 0
  br i1 %.not1159, label %10318, label %10319

10318:                                            ; preds = %10314, %10308
  br label %10319

10319:                                            ; preds = %10314, %10318
  %.str.11.sink4706 = phi ptr [ @.str.11, %10318 ], [ @.str.8, %10314 ]
  store i32 %10309, ptr %1288, align 4, !tbaa !5
  %10320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10321 = load i32, ptr @test_count, align 4, !tbaa !5
  %10322 = load i32, ptr %1234, align 4, !tbaa !5
  %10323 = call ptr @s2n_strerror(i32 noundef %10322, ptr noundef nonnull @.str.10) #11
  %10324 = load i32, ptr %1234, align 4, !tbaa !5
  %10325 = call ptr @s2n_strerror_debug(i32 noundef %10324, ptr noundef nonnull @.str.10) #11
  %10326 = load i32, ptr %1288, align 4, !tbaa !5
  %10327 = call ptr @strerror(i32 noundef %10326) #11
  %10328 = load i32, ptr %1288, align 4, !tbaa !5
  %10329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10320, ptr noundef nonnull %.str.11.sink4706, i32 noundef %10321, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.7, i32 noundef 855, ptr noundef %10323, ptr noundef %10325, ptr noundef %10327, i32 noundef %10328) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10330:                                            ; preds = %10303
  %10331 = add nsw i32 %10249, 4
  store i32 %10331, ptr @test_count, align 4, !tbaa !5
  %10332 = call i32 @s2n_test_validate_ancillary(ptr noundef nonnull %98, i8 noundef zeroext 21, i16 noundef zeroext 2) #11
  %10333 = call zeroext i1 @s2n_result_is_ok(i32 %10332)
  br i1 %10333, label %10356, label %10334

10334:                                            ; preds = %10330
  %10335 = load i32, ptr %1288, align 4, !tbaa !5
  %10336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10337 = call i32 @s2n_print_stacktrace(ptr noundef %10336) #11
  %10338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10339 = trunc nuw i8 %10338 to i1
  br i1 %10339, label %10340, label %10344

10340:                                            ; preds = %10334
  %10341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10342 = call i32 @fileno(ptr noundef %10341) #11
  %10343 = call i32 @isatty(i32 noundef %10342) #11
  %.not1160 = icmp eq i32 %10343, 0
  br i1 %.not1160, label %10344, label %10345

10344:                                            ; preds = %10340, %10334
  br label %10345

10345:                                            ; preds = %10340, %10344
  %.str.11.sink4715 = phi ptr [ @.str.11, %10344 ], [ @.str.8, %10340 ]
  store i32 %10335, ptr %1288, align 4, !tbaa !5
  %10346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10347 = load i32, ptr @test_count, align 4, !tbaa !5
  %10348 = load i32, ptr %1234, align 4, !tbaa !5
  %10349 = call ptr @s2n_strerror(i32 noundef %10348, ptr noundef nonnull @.str.10) #11
  %10350 = load i32, ptr %1234, align 4, !tbaa !5
  %10351 = call ptr @s2n_strerror_debug(i32 noundef %10350, ptr noundef nonnull @.str.10) #11
  %10352 = load i32, ptr %1288, align 4, !tbaa !5
  %10353 = call ptr @strerror(i32 noundef %10352) #11
  %10354 = load i32, ptr %1288, align 4, !tbaa !5
  %10355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10346, ptr noundef nonnull %.str.11.sink4715, i32 noundef %10347, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.7, i32 noundef 856, ptr noundef %10349, ptr noundef %10351, ptr noundef %10353, i32 noundef %10354) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10356:                                            ; preds = %10330
  %10357 = load i32, ptr @test_count, align 4, !tbaa !5
  %10358 = add nsw i32 %10357, 1
  store i32 %10358, ptr @test_count, align 4, !tbaa !5
  %10359 = call i32 @s2n_test_validate_data(ptr noundef nonnull %98, ptr noundef nonnull %3, i16 noundef zeroext 2) #11
  %10360 = call zeroext i1 @s2n_result_is_ok(i32 %10359)
  br i1 %10360, label %.preheader1476.preheader, label %10366

.preheader1476.preheader:                         ; preds = %10356
  %10361 = load i32, ptr @test_count, align 4, !tbaa !5
  %10362 = add nsw i32 %10361, 1
  store i32 %10362, ptr @test_count, align 4, !tbaa !5
  %10363 = load ptr, ptr %97, align 8, !tbaa !9
  %10364 = call i32 @s2n_shutdown_send(ptr noundef %10363, ptr noundef nonnull %99)
  %10365 = icmp eq i32 %10364, -1
  br i1 %10365, label %10469, label %10491

10366:                                            ; preds = %10356
  %10367 = load i32, ptr %1288, align 4, !tbaa !5
  %10368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10369 = call i32 @s2n_print_stacktrace(ptr noundef %10368) #11
  %10370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10371 = trunc nuw i8 %10370 to i1
  br i1 %10371, label %10372, label %10376

10372:                                            ; preds = %10366
  %10373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10374 = call i32 @fileno(ptr noundef %10373) #11
  %10375 = call i32 @isatty(i32 noundef %10374) #11
  %.not1161 = icmp eq i32 %10375, 0
  br i1 %.not1161, label %10376, label %10377

10376:                                            ; preds = %10372, %10366
  br label %10377

10377:                                            ; preds = %10372, %10376
  %.str.11.sink4724 = phi ptr [ @.str.11, %10376 ], [ @.str.8, %10372 ]
  store i32 %10367, ptr %1288, align 4, !tbaa !5
  %10378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10379 = load i32, ptr @test_count, align 4, !tbaa !5
  %10380 = load i32, ptr %1234, align 4, !tbaa !5
  %10381 = call ptr @s2n_strerror(i32 noundef %10380, ptr noundef nonnull @.str.10) #11
  %10382 = load i32, ptr %1234, align 4, !tbaa !5
  %10383 = call ptr @s2n_strerror_debug(i32 noundef %10382, ptr noundef nonnull @.str.10) #11
  %10384 = load i32, ptr %1288, align 4, !tbaa !5
  %10385 = call ptr @strerror(i32 noundef %10384) #11
  %10386 = load i32, ptr %1288, align 4, !tbaa !5
  %10387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10378, ptr noundef nonnull %.str.11.sink4724, i32 noundef %10379, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.7, i32 noundef 858, ptr noundef %10381, ptr noundef %10383, ptr noundef %10385, i32 noundef %10386) #13
  call void @exit(i32 noundef 1) #14
  unreachable

.preheader1476.1:                                 ; preds = %10546
  %10388 = add nsw i32 %10492, 4
  store i32 %10388, ptr @test_count, align 4, !tbaa !5
  %10389 = call i32 @s2n_shutdown_send(ptr noundef nonnull %10520, ptr noundef nonnull %99)
  %10390 = icmp eq i32 %10389, -1
  br i1 %10390, label %10469, label %10391

10391:                                            ; preds = %.preheader1476.1
  %10392 = load i32, ptr @test_count, align 4, !tbaa !5
  %10393 = add nsw i32 %10392, 1
  store i32 %10393, ptr @test_count, align 4, !tbaa !5
  %10394 = load i32, ptr %99, align 4, !tbaa !5
  %10395 = icmp eq i32 %10394, 0
  br i1 %10395, label %10396, label %10496

10396:                                            ; preds = %10391
  %10397 = add nsw i32 %10392, 2
  store i32 %10397, ptr @test_count, align 4, !tbaa !5
  %10398 = load ptr, ptr %97, align 8, !tbaa !9
  %10399 = getelementptr inbounds i8, ptr %10398, i64 2003
  %10400 = load i8, ptr %10399, align 1, !tbaa !15, !range !13, !noundef !14
  %10401 = trunc nuw i8 %10400 to i1
  br i1 %10401, label %10402, label %10524

10402:                                            ; preds = %10396
  %10403 = add nsw i32 %10392, 3
  store i32 %10403, ptr @test_count, align 4, !tbaa !5
  %10404 = load i64, ptr %10305, align 8, !tbaa !51
  %10405 = icmp eq i64 %10404, 1
  br i1 %10405, label %.preheader1476.2, label %10550

.preheader1476.2:                                 ; preds = %10402
  %10406 = add nsw i32 %10392, 4
  store i32 %10406, ptr @test_count, align 4, !tbaa !5
  %10407 = call i32 @s2n_shutdown_send(ptr noundef nonnull %10398, ptr noundef nonnull %99)
  %10408 = icmp eq i32 %10407, -1
  br i1 %10408, label %10469, label %10409

10409:                                            ; preds = %.preheader1476.2
  %10410 = load i32, ptr @test_count, align 4, !tbaa !5
  %10411 = add nsw i32 %10410, 1
  store i32 %10411, ptr @test_count, align 4, !tbaa !5
  %10412 = load i32, ptr %99, align 4, !tbaa !5
  %10413 = icmp eq i32 %10412, 0
  br i1 %10413, label %10414, label %10496

10414:                                            ; preds = %10409
  %10415 = add nsw i32 %10410, 2
  store i32 %10415, ptr @test_count, align 4, !tbaa !5
  %10416 = load ptr, ptr %97, align 8, !tbaa !9
  %10417 = getelementptr inbounds i8, ptr %10416, i64 2003
  %10418 = load i8, ptr %10417, align 1, !tbaa !15, !range !13, !noundef !14
  %10419 = trunc nuw i8 %10418 to i1
  br i1 %10419, label %10420, label %10524

10420:                                            ; preds = %10414
  %10421 = add nsw i32 %10410, 3
  store i32 %10421, ptr @test_count, align 4, !tbaa !5
  %10422 = load i64, ptr %10305, align 8, !tbaa !51
  %10423 = icmp eq i64 %10422, 1
  br i1 %10423, label %.preheader1476.3, label %10550

.preheader1476.3:                                 ; preds = %10420
  %10424 = add nsw i32 %10410, 4
  store i32 %10424, ptr @test_count, align 4, !tbaa !5
  %10425 = call i32 @s2n_shutdown_send(ptr noundef nonnull %10416, ptr noundef nonnull %99)
  %10426 = icmp eq i32 %10425, -1
  br i1 %10426, label %10469, label %10427

10427:                                            ; preds = %.preheader1476.3
  %10428 = load i32, ptr @test_count, align 4, !tbaa !5
  %10429 = add nsw i32 %10428, 1
  store i32 %10429, ptr @test_count, align 4, !tbaa !5
  %10430 = load i32, ptr %99, align 4, !tbaa !5
  %10431 = icmp eq i32 %10430, 0
  br i1 %10431, label %10432, label %10496

10432:                                            ; preds = %10427
  %10433 = add nsw i32 %10428, 2
  store i32 %10433, ptr @test_count, align 4, !tbaa !5
  %10434 = load ptr, ptr %97, align 8, !tbaa !9
  %10435 = getelementptr inbounds i8, ptr %10434, i64 2003
  %10436 = load i8, ptr %10435, align 1, !tbaa !15, !range !13, !noundef !14
  %10437 = trunc nuw i8 %10436 to i1
  br i1 %10437, label %10438, label %10524

10438:                                            ; preds = %10432
  %10439 = add nsw i32 %10428, 3
  store i32 %10439, ptr @test_count, align 4, !tbaa !5
  %10440 = load i64, ptr %10305, align 8, !tbaa !51
  %10441 = icmp eq i64 %10440, 1
  br i1 %10441, label %.preheader1476.4, label %10550

.preheader1476.4:                                 ; preds = %10438
  %10442 = add nsw i32 %10428, 4
  store i32 %10442, ptr @test_count, align 4, !tbaa !5
  %10443 = call i32 @s2n_shutdown_send(ptr noundef nonnull %10434, ptr noundef nonnull %99)
  %10444 = icmp eq i32 %10443, -1
  br i1 %10444, label %10469, label %10445

10445:                                            ; preds = %.preheader1476.4
  %10446 = load i32, ptr @test_count, align 4, !tbaa !5
  %10447 = add nsw i32 %10446, 1
  store i32 %10447, ptr @test_count, align 4, !tbaa !5
  %10448 = load i32, ptr %99, align 4, !tbaa !5
  %10449 = icmp eq i32 %10448, 0
  br i1 %10449, label %10450, label %10496

10450:                                            ; preds = %10445
  %10451 = add nsw i32 %10446, 2
  store i32 %10451, ptr @test_count, align 4, !tbaa !5
  %10452 = load ptr, ptr %97, align 8, !tbaa !9
  %10453 = getelementptr inbounds i8, ptr %10452, i64 2003
  %10454 = load i8, ptr %10453, align 1, !tbaa !15, !range !13, !noundef !14
  %10455 = trunc nuw i8 %10454 to i1
  br i1 %10455, label %10456, label %10524

10456:                                            ; preds = %10450
  %10457 = add nsw i32 %10446, 3
  store i32 %10457, ptr @test_count, align 4, !tbaa !5
  %10458 = load i64, ptr %10305, align 8, !tbaa !51
  %10459 = icmp eq i64 %10458, 1
  br i1 %10459, label %10460, label %10550

10460:                                            ; preds = %10456
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %99) #11
  %10461 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef nonnull %98) #11
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %98) #11
  %10462 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %97) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %97) #11
  %10463 = load i32, ptr @test_count, align 4, !tbaa !5
  %10464 = add nsw i32 %10463, 1
  store i32 %10464, ptr @test_count, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %100) #11
  %10465 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %10465, ptr %100, align 8, !tbaa !9
  %10466 = load i32, ptr @test_count, align 4, !tbaa !5
  %10467 = add nsw i32 %10466, 1
  store i32 %10467, ptr @test_count, align 4, !tbaa !5
  %10468 = icmp eq ptr %10465, null
  br i1 %10468, label %10572, label %10594

10469:                                            ; preds = %.preheader1476.4, %.preheader1476.3, %.preheader1476.2, %.preheader1476.1, %.preheader1476.preheader
  %10470 = load i32, ptr %1288, align 4, !tbaa !5
  %10471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10472 = call i32 @s2n_print_stacktrace(ptr noundef %10471) #11
  %10473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10474 = trunc nuw i8 %10473 to i1
  br i1 %10474, label %10475, label %10479

10475:                                            ; preds = %10469
  %10476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10477 = call i32 @fileno(ptr noundef %10476) #11
  %10478 = call i32 @isatty(i32 noundef %10477) #11
  %.not1256 = icmp eq i32 %10478, 0
  br i1 %.not1256, label %10479, label %10480

10479:                                            ; preds = %10475, %10469
  br label %10480

10480:                                            ; preds = %10475, %10479
  %.str.11.sink4733 = phi ptr [ @.str.11, %10479 ], [ @.str.8, %10475 ]
  store i32 %10470, ptr %1288, align 4, !tbaa !5
  %10481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10482 = load i32, ptr @test_count, align 4, !tbaa !5
  %10483 = load i32, ptr %1234, align 4, !tbaa !5
  %10484 = call ptr @s2n_strerror(i32 noundef %10483, ptr noundef nonnull @.str.10) #11
  %10485 = load i32, ptr %1234, align 4, !tbaa !5
  %10486 = call ptr @s2n_strerror_debug(i32 noundef %10485, ptr noundef nonnull @.str.10) #11
  %10487 = load i32, ptr %1288, align 4, !tbaa !5
  %10488 = call ptr @strerror(i32 noundef %10487) #11
  %10489 = load i32, ptr %1288, align 4, !tbaa !5
  %10490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10481, ptr noundef nonnull %.str.11.sink4733, i32 noundef %10482, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.7, i32 noundef 862, ptr noundef %10484, ptr noundef %10486, ptr noundef %10488, i32 noundef %10489) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10491:                                            ; preds = %.preheader1476.preheader
  %10492 = load i32, ptr @test_count, align 4, !tbaa !5
  %10493 = add nsw i32 %10492, 1
  store i32 %10493, ptr @test_count, align 4, !tbaa !5
  %10494 = load i32, ptr %99, align 4, !tbaa !5
  %10495 = icmp eq i32 %10494, 0
  br i1 %10495, label %10518, label %10496

10496:                                            ; preds = %10445, %10427, %10409, %10391, %10491
  %10497 = load i32, ptr %1288, align 4, !tbaa !5
  %10498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10499 = call i32 @s2n_print_stacktrace(ptr noundef %10498) #11
  %10500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10501 = trunc nuw i8 %10500 to i1
  br i1 %10501, label %10502, label %10506

10502:                                            ; preds = %10496
  %10503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10504 = call i32 @fileno(ptr noundef %10503) #11
  %10505 = call i32 @isatty(i32 noundef %10504) #11
  %.not1253 = icmp eq i32 %10505, 0
  br i1 %.not1253, label %10506, label %10507

10506:                                            ; preds = %10502, %10496
  br label %10507

10507:                                            ; preds = %10502, %10506
  %.str.11.sink4742 = phi ptr [ @.str.11, %10506 ], [ @.str.8, %10502 ]
  store i32 %10497, ptr %1288, align 4, !tbaa !5
  %10508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10509 = load i32, ptr @test_count, align 4, !tbaa !5
  %10510 = load i32, ptr %1234, align 4, !tbaa !5
  %10511 = call ptr @s2n_strerror(i32 noundef %10510, ptr noundef nonnull @.str.10) #11
  %10512 = load i32, ptr %1234, align 4, !tbaa !5
  %10513 = call ptr @s2n_strerror_debug(i32 noundef %10512, ptr noundef nonnull @.str.10) #11
  %10514 = load i32, ptr %1288, align 4, !tbaa !5
  %10515 = call ptr @strerror(i32 noundef %10514) #11
  %10516 = load i32, ptr %1288, align 4, !tbaa !5
  %10517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10508, ptr noundef nonnull %.str.11.sink4742, i32 noundef %10509, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.7, i32 noundef 863, ptr noundef %10511, ptr noundef %10513, ptr noundef %10515, i32 noundef %10516) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10518:                                            ; preds = %10491
  %10519 = add nsw i32 %10492, 2
  store i32 %10519, ptr @test_count, align 4, !tbaa !5
  %10520 = load ptr, ptr %97, align 8, !tbaa !9
  %10521 = getelementptr inbounds i8, ptr %10520, i64 2003
  %10522 = load i8, ptr %10521, align 1, !tbaa !15, !range !13, !noundef !14
  %10523 = trunc nuw i8 %10522 to i1
  br i1 %10523, label %10546, label %10524

10524:                                            ; preds = %10450, %10432, %10414, %10396, %10518
  %10525 = load i32, ptr %1288, align 4, !tbaa !5
  %10526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10527 = call i32 @s2n_print_stacktrace(ptr noundef %10526) #11
  %10528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10529 = trunc nuw i8 %10528 to i1
  br i1 %10529, label %10530, label %10534

10530:                                            ; preds = %10524
  %10531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10532 = call i32 @fileno(ptr noundef %10531) #11
  %10533 = call i32 @isatty(i32 noundef %10532) #11
  %.not1254 = icmp eq i32 %10533, 0
  br i1 %.not1254, label %10534, label %10535

10534:                                            ; preds = %10530, %10524
  br label %10535

10535:                                            ; preds = %10530, %10534
  %.str.11.sink4751 = phi ptr [ @.str.11, %10534 ], [ @.str.8, %10530 ]
  store i32 %10525, ptr %1288, align 4, !tbaa !5
  %10536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10537 = load i32, ptr @test_count, align 4, !tbaa !5
  %10538 = load i32, ptr %1234, align 4, !tbaa !5
  %10539 = call ptr @s2n_strerror(i32 noundef %10538, ptr noundef nonnull @.str.10) #11
  %10540 = load i32, ptr %1234, align 4, !tbaa !5
  %10541 = call ptr @s2n_strerror_debug(i32 noundef %10540, ptr noundef nonnull @.str.10) #11
  %10542 = load i32, ptr %1288, align 4, !tbaa !5
  %10543 = call ptr @strerror(i32 noundef %10542) #11
  %10544 = load i32, ptr %1288, align 4, !tbaa !5
  %10545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10536, ptr noundef nonnull %.str.11.sink4751, i32 noundef %10537, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.7, i32 noundef 864, ptr noundef %10539, ptr noundef %10541, ptr noundef %10543, i32 noundef %10544) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10546:                                            ; preds = %10518
  %10547 = add nsw i32 %10492, 3
  store i32 %10547, ptr @test_count, align 4, !tbaa !5
  %10548 = load i64, ptr %10305, align 8, !tbaa !51
  %10549 = icmp eq i64 %10548, 1
  br i1 %10549, label %.preheader1476.1, label %10550

10550:                                            ; preds = %10456, %10438, %10420, %10402, %10546
  %10551 = load i32, ptr %1288, align 4, !tbaa !5
  %10552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10553 = call i32 @s2n_print_stacktrace(ptr noundef %10552) #11
  %10554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10555 = trunc nuw i8 %10554 to i1
  br i1 %10555, label %10556, label %10560

10556:                                            ; preds = %10550
  %10557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10558 = call i32 @fileno(ptr noundef %10557) #11
  %10559 = call i32 @isatty(i32 noundef %10558) #11
  %.not1255 = icmp eq i32 %10559, 0
  br i1 %.not1255, label %10560, label %10561

10560:                                            ; preds = %10556, %10550
  br label %10561

10561:                                            ; preds = %10556, %10560
  %.str.11.sink4760 = phi ptr [ @.str.11, %10560 ], [ @.str.8, %10556 ]
  store i32 %10551, ptr %1288, align 4, !tbaa !5
  %10562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10563 = load i32, ptr @test_count, align 4, !tbaa !5
  %10564 = load i32, ptr %1234, align 4, !tbaa !5
  %10565 = call ptr @s2n_strerror(i32 noundef %10564, ptr noundef nonnull @.str.10) #11
  %10566 = load i32, ptr %1234, align 4, !tbaa !5
  %10567 = call ptr @s2n_strerror_debug(i32 noundef %10566, ptr noundef nonnull @.str.10) #11
  %10568 = load i32, ptr %1288, align 4, !tbaa !5
  %10569 = call ptr @strerror(i32 noundef %10568) #11
  %10570 = load i32, ptr %1288, align 4, !tbaa !5
  %10571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10562, ptr noundef nonnull %.str.11.sink4760, i32 noundef %10563, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.7, i32 noundef 865, ptr noundef %10565, ptr noundef %10567, ptr noundef %10569, i32 noundef %10570) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10572:                                            ; preds = %10460
  %10573 = load i32, ptr %1288, align 4, !tbaa !5
  %10574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10575 = call i32 @s2n_print_stacktrace(ptr noundef %10574) #11
  %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) #11
  %10581 = call i32 @isatty(i32 noundef %10580) #11
  %.not1252 = icmp eq i32 %10581, 0
  br i1 %.not1252, label %10582, label %10583

10582:                                            ; preds = %10578, %10572
  br label %10583

10583:                                            ; preds = %10578, %10582
  %.str.11.sink4769 = phi ptr [ @.str.11, %10582 ], [ @.str.8, %10578 ]
  store i32 %10573, ptr %1288, 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 %1234, align 4, !tbaa !5
  %10587 = call ptr @s2n_strerror(i32 noundef %10586, ptr noundef nonnull @.str.10) #11
  %10588 = load i32, ptr %1234, align 4, !tbaa !5
  %10589 = call ptr @s2n_strerror_debug(i32 noundef %10588, ptr noundef nonnull @.str.10) #11
  %10590 = load i32, ptr %1288, align 4, !tbaa !5
  %10591 = call ptr @strerror(i32 noundef %10590) #11
  %10592 = load i32, ptr %1288, align 4, !tbaa !5
  %10593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10584, ptr noundef nonnull %.str.11.sink4769, i32 noundef %10585, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.7, i32 noundef 878, ptr noundef %10587, ptr noundef %10589, ptr noundef %10591, i32 noundef %10592) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10594:                                            ; preds = %10460
  call void @s2n_ktls_configure_connection(ptr noundef nonnull %10465, i32 noundef 0) #11
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %101) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %101, i8 0, i64 96, i1 false)
  %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 %100, align 8, !tbaa !9
  %10598 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %10597, ptr noundef nonnull %101) #11
  %10599 = call zeroext i1 @s2n_result_is_ok(i32 %10598)
  br i1 %10599, label %10622, label %10600

10600:                                            ; preds = %10594
  %10601 = load i32, ptr %1288, align 4, !tbaa !5
  %10602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10603 = call i32 @s2n_print_stacktrace(ptr noundef %10602) #11
  %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) #11
  %10609 = call i32 @isatty(i32 noundef %10608) #11
  %.not1162 = icmp eq i32 %10609, 0
  br i1 %.not1162, label %10610, label %10611

10610:                                            ; preds = %10606, %10600
  br label %10611

10611:                                            ; preds = %10606, %10610
  %.str.11.sink4778 = phi ptr [ @.str.11, %10610 ], [ @.str.8, %10606 ]
  store i32 %10601, ptr %1288, 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 %1234, align 4, !tbaa !5
  %10615 = call ptr @s2n_strerror(i32 noundef %10614, ptr noundef nonnull @.str.10) #11
  %10616 = load i32, ptr %1234, align 4, !tbaa !5
  %10617 = call ptr @s2n_strerror_debug(i32 noundef %10616, ptr noundef nonnull @.str.10) #11
  %10618 = load i32, ptr %1288, align 4, !tbaa !5
  %10619 = call ptr @strerror(i32 noundef %10618) #11
  %10620 = load i32, ptr %1288, align 4, !tbaa !5
  %10621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10612, ptr noundef nonnull %.str.11.sink4778, i32 noundef %10613, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.7, i32 noundef 883, ptr noundef %10615, ptr noundef %10617, ptr noundef %10619, i32 noundef %10620) #13
  call void @exit(i32 noundef 1) #14
  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 = getelementptr inbounds i8, ptr %101, i64 40
  %10626 = call i32 @s2n_stuffer_free(ptr noundef nonnull %10625) #11
  %10627 = icmp eq i32 %10626, -1
  br i1 %10627, label %10628, label %10650

10628:                                            ; preds = %10622
  %10629 = load i32, ptr %1288, align 4, !tbaa !5
  %10630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10631 = call i32 @s2n_print_stacktrace(ptr noundef %10630) #11
  %10632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10633 = trunc nuw i8 %10632 to i1
  br i1 %10633, label %10634, label %10638

10634:                                            ; preds = %10628
  %10635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10636 = call i32 @fileno(ptr noundef %10635) #11
  %10637 = call i32 @isatty(i32 noundef %10636) #11
  %.not1251 = icmp eq i32 %10637, 0
  br i1 %.not1251, label %10638, label %10639

10638:                                            ; preds = %10634, %10628
  br label %10639

10639:                                            ; preds = %10634, %10638
  %.str.11.sink4787 = phi ptr [ @.str.11, %10638 ], [ @.str.8, %10634 ]
  store i32 %10629, ptr %1288, align 4, !tbaa !5
  %10640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10641 = load i32, ptr @test_count, align 4, !tbaa !5
  %10642 = load i32, ptr %1234, align 4, !tbaa !5
  %10643 = call ptr @s2n_strerror(i32 noundef %10642, ptr noundef nonnull @.str.10) #11
  %10644 = load i32, ptr %1234, align 4, !tbaa !5
  %10645 = call ptr @s2n_strerror_debug(i32 noundef %10644, ptr noundef nonnull @.str.10) #11
  %10646 = load i32, ptr %1288, align 4, !tbaa !5
  %10647 = call ptr @strerror(i32 noundef %10646) #11
  %10648 = load i32, ptr %1288, align 4, !tbaa !5
  %10649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10640, ptr noundef nonnull %.str.11.sink4787, i32 noundef %10641, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.7, i32 noundef 884, ptr noundef %10643, ptr noundef %10645, ptr noundef %10647, i32 noundef %10648) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10650:                                            ; preds = %10622
  %10651 = load i32, ptr @test_count, align 4, !tbaa !5
  %10652 = add nsw i32 %10651, 1
  store i32 %10652, ptr @test_count, align 4, !tbaa !5
  %10653 = call i32 @s2n_stuffer_alloc(ptr noundef nonnull %10625, i32 noundef 1) #11
  %10654 = icmp eq i32 %10653, -1
  br i1 %10654, label %10655, label %10677

10655:                                            ; preds = %10650
  %10656 = load i32, ptr %1288, align 4, !tbaa !5
  %10657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10658 = call i32 @s2n_print_stacktrace(ptr noundef %10657) #11
  %10659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10660 = trunc nuw i8 %10659 to i1
  br i1 %10660, label %10661, label %10665

10661:                                            ; preds = %10655
  %10662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10663 = call i32 @fileno(ptr noundef %10662) #11
  %10664 = call i32 @isatty(i32 noundef %10663) #11
  %.not1250 = icmp eq i32 %10664, 0
  br i1 %.not1250, label %10665, label %10666

10665:                                            ; preds = %10661, %10655
  br label %10666

10666:                                            ; preds = %10661, %10665
  %.str.11.sink4796 = phi ptr [ @.str.11, %10665 ], [ @.str.8, %10661 ]
  store i32 %10656, ptr %1288, align 4, !tbaa !5
  %10667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10668 = load i32, ptr @test_count, align 4, !tbaa !5
  %10669 = load i32, ptr %1234, align 4, !tbaa !5
  %10670 = call ptr @s2n_strerror(i32 noundef %10669, ptr noundef nonnull @.str.10) #11
  %10671 = load i32, ptr %1234, align 4, !tbaa !5
  %10672 = call ptr @s2n_strerror_debug(i32 noundef %10671, ptr noundef nonnull @.str.10) #11
  %10673 = load i32, ptr %1288, align 4, !tbaa !5
  %10674 = call ptr @strerror(i32 noundef %10673) #11
  %10675 = load i32, ptr %1288, align 4, !tbaa !5
  %10676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10667, ptr noundef nonnull %.str.11.sink4796, i32 noundef %10668, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.7, i32 noundef 885, ptr noundef %10670, ptr noundef %10672, ptr noundef %10674, i32 noundef %10675) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10677:                                            ; preds = %10650
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %102) #11
  store i32 0, ptr %102, align 4, !tbaa !5
  %10678 = load i32, ptr @test_count, align 4, !tbaa !5
  %10679 = add nsw i32 %10678, 1
  store i32 %10679, ptr @test_count, align 4, !tbaa !5
  %10680 = load ptr, ptr %100, align 8, !tbaa !9
  %10681 = call i32 @s2n_shutdown_send(ptr noundef %10680, ptr noundef nonnull %102)
  %10682 = icmp eq i32 %10681, -1
  br i1 %10682, label %10705, label %10683

10683:                                            ; preds = %10677
  %10684 = load i32, ptr %1288, align 4, !tbaa !5
  %10685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10686 = call i32 @s2n_print_stacktrace(ptr noundef %10685) #11
  %10687 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10688 = trunc nuw i8 %10687 to i1
  br i1 %10688, label %10689, label %10693

10689:                                            ; preds = %10683
  %10690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10691 = call i32 @fileno(ptr noundef %10690) #11
  %10692 = call i32 @isatty(i32 noundef %10691) #11
  %.not1163 = icmp eq i32 %10692, 0
  br i1 %.not1163, label %10693, label %10694

10693:                                            ; preds = %10689, %10683
  br label %10694

10694:                                            ; preds = %10689, %10693
  %.str.11.sink4805 = phi ptr [ @.str.11, %10693 ], [ @.str.8, %10689 ]
  store i32 %10684, ptr %1288, align 4, !tbaa !5
  %10695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10696 = load i32, ptr @test_count, align 4, !tbaa !5
  %10697 = load i32, ptr %1234, align 4, !tbaa !5
  %10698 = call ptr @s2n_strerror(i32 noundef %10697, ptr noundef nonnull @.str.10) #11
  %10699 = load i32, ptr %1234, align 4, !tbaa !5
  %10700 = call ptr @s2n_strerror_debug(i32 noundef %10699, ptr noundef nonnull @.str.10) #11
  %10701 = load i32, ptr %1288, align 4, !tbaa !5
  %10702 = call ptr @strerror(i32 noundef %10701) #11
  %10703 = load i32, ptr %1288, align 4, !tbaa !5
  %10704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10695, ptr noundef nonnull %.str.11.sink4805, i32 noundef %10696, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.7, i32 noundef 893, ptr noundef %10698, ptr noundef %10700, ptr noundef %10702, i32 noundef %10703) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10705:                                            ; preds = %10677
  %10706 = load i32, ptr @test_count, align 4, !tbaa !5
  %10707 = add nsw i32 %10706, 1
  store i32 %10707, ptr @test_count, align 4, !tbaa !5
  %10708 = load i32, ptr %1234, align 4, !tbaa !5
  %10709 = icmp eq i32 %10708, 201326592
  br i1 %10709, label %10732, label %10710

10710:                                            ; preds = %10705
  %10711 = load i32, ptr %1288, align 4, !tbaa !5
  %10712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10713 = call i32 @s2n_print_stacktrace(ptr noundef %10712) #11
  %10714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10715 = trunc nuw i8 %10714 to i1
  br i1 %10715, label %10716, label %10720

10716:                                            ; preds = %10710
  %10717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10718 = call i32 @fileno(ptr noundef %10717) #11
  %10719 = call i32 @isatty(i32 noundef %10718) #11
  %.not1164 = icmp eq i32 %10719, 0
  br i1 %.not1164, label %10720, label %10721

10720:                                            ; preds = %10716, %10710
  br label %10721

10721:                                            ; preds = %10716, %10720
  %.str.11.sink4814 = phi ptr [ @.str.11, %10720 ], [ @.str.8, %10716 ]
  store i32 %10711, ptr %1288, align 4, !tbaa !5
  %10722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10723 = load i32, ptr @test_count, align 4, !tbaa !5
  %10724 = load i32, ptr %1234, align 4, !tbaa !5
  %10725 = call ptr @s2n_strerror(i32 noundef %10724, ptr noundef nonnull @.str.10) #11
  %10726 = load i32, ptr %1234, align 4, !tbaa !5
  %10727 = call ptr @s2n_strerror_debug(i32 noundef %10726, ptr noundef nonnull @.str.10) #11
  %10728 = load i32, ptr %1288, align 4, !tbaa !5
  %10729 = call ptr @strerror(i32 noundef %10728) #11
  %10730 = load i32, ptr %1288, align 4, !tbaa !5
  %10731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10722, ptr noundef nonnull %.str.11.sink4814, i32 noundef %10723, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.7, i32 noundef 893, ptr noundef %10725, ptr noundef %10727, ptr noundef %10729, i32 noundef %10730) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10732:                                            ; preds = %10705
  %10733 = add nsw i32 %10706, 2
  store i32 %10733, ptr @test_count, align 4, !tbaa !5
  %10734 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %10735 = icmp eq ptr %10734, null
  br i1 %10735, label %10736, label %10758

10736:                                            ; preds = %10732
  %10737 = load i32, ptr %1288, align 4, !tbaa !5
  %10738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10739 = call i32 @s2n_print_stacktrace(ptr noundef %10738) #11
  %10740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10741 = trunc nuw i8 %10740 to i1
  br i1 %10741, label %10742, label %10746

10742:                                            ; preds = %10736
  %10743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10744 = call i32 @fileno(ptr noundef %10743) #11
  %10745 = call i32 @isatty(i32 noundef %10744) #11
  %.not1249 = icmp eq i32 %10745, 0
  br i1 %.not1249, label %10746, label %10747

10746:                                            ; preds = %10742, %10736
  br label %10747

10747:                                            ; preds = %10742, %10746
  %.str.11.sink4823 = phi ptr [ @.str.11, %10746 ], [ @.str.8, %10742 ]
  store i32 %10737, ptr %1288, align 4, !tbaa !5
  %10748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10749 = load i32, ptr @test_count, align 4, !tbaa !5
  %10750 = load i32, ptr %1234, align 4, !tbaa !5
  %10751 = call ptr @s2n_strerror(i32 noundef %10750, ptr noundef nonnull @.str.10) #11
  %10752 = load i32, ptr %1234, align 4, !tbaa !5
  %10753 = call ptr @s2n_strerror_debug(i32 noundef %10752, ptr noundef nonnull @.str.10) #11
  %10754 = load i32, ptr %1288, align 4, !tbaa !5
  %10755 = call ptr @strerror(i32 noundef %10754) #11
  %10756 = load i32, ptr %1288, align 4, !tbaa !5
  %10757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10748, ptr noundef nonnull %.str.11.sink4823, i32 noundef %10749, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 893, ptr noundef %10751, ptr noundef %10753, ptr noundef %10755, i32 noundef %10756) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10758:                                            ; preds = %10732
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %10759 = load i32, ptr @test_count, align 4, !tbaa !5
  %10760 = add nsw i32 %10759, 1
  store i32 %10760, ptr @test_count, align 4, !tbaa !5
  %10761 = load i32, ptr %102, align 4, !tbaa !5
  %10762 = icmp eq i32 %10761, 2
  br i1 %10762, label %10785, label %10763

10763:                                            ; preds = %10758
  %10764 = load i32, ptr %1288, align 4, !tbaa !5
  %10765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10766 = call i32 @s2n_print_stacktrace(ptr noundef %10765) #11
  %10767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10768 = trunc nuw i8 %10767 to i1
  br i1 %10768, label %10769, label %10773

10769:                                            ; preds = %10763
  %10770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10771 = call i32 @fileno(ptr noundef %10770) #11
  %10772 = call i32 @isatty(i32 noundef %10771) #11
  %.not1165 = icmp eq i32 %10772, 0
  br i1 %.not1165, label %10773, label %10774

10773:                                            ; preds = %10769, %10763
  br label %10774

10774:                                            ; preds = %10769, %10773
  %.str.11.sink4832 = phi ptr [ @.str.11, %10773 ], [ @.str.8, %10769 ]
  store i32 %10764, ptr %1288, align 4, !tbaa !5
  %10775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10776 = load i32, ptr @test_count, align 4, !tbaa !5
  %10777 = load i32, ptr %1234, align 4, !tbaa !5
  %10778 = call ptr @s2n_strerror(i32 noundef %10777, ptr noundef nonnull @.str.10) #11
  %10779 = load i32, ptr %1234, align 4, !tbaa !5
  %10780 = call ptr @s2n_strerror_debug(i32 noundef %10779, ptr noundef nonnull @.str.10) #11
  %10781 = load i32, ptr %1288, align 4, !tbaa !5
  %10782 = call ptr @strerror(i32 noundef %10781) #11
  %10783 = load i32, ptr %1288, align 4, !tbaa !5
  %10784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10775, ptr noundef nonnull %.str.11.sink4832, i32 noundef %10776, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.7, i32 noundef 894, ptr noundef %10778, ptr noundef %10780, ptr noundef %10782, i32 noundef %10783) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10785:                                            ; preds = %10758
  %10786 = add nsw i32 %10759, 2
  store i32 %10786, ptr @test_count, align 4, !tbaa !5
  %10787 = load ptr, ptr %100, align 8, !tbaa !9
  %10788 = getelementptr inbounds i8, ptr %10787, i64 2003
  %10789 = load i8, ptr %10788, align 1, !tbaa !15, !range !13, !noundef !14
  %10790 = trunc nuw i8 %10789 to i1
  br i1 %10790, label %10813, label %10791

10791:                                            ; preds = %10785
  %10792 = load i32, ptr %1288, align 4, !tbaa !5
  %10793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10794 = call i32 @s2n_print_stacktrace(ptr noundef %10793) #11
  %10795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10796 = trunc nuw i8 %10795 to i1
  br i1 %10796, label %10797, label %10801

10797:                                            ; preds = %10791
  %10798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10799 = call i32 @fileno(ptr noundef %10798) #11
  %10800 = call i32 @isatty(i32 noundef %10799) #11
  %.not1166 = icmp eq i32 %10800, 0
  br i1 %.not1166, label %10801, label %10802

10801:                                            ; preds = %10797, %10791
  br label %10802

10802:                                            ; preds = %10797, %10801
  %.str.11.sink4841 = phi ptr [ @.str.11, %10801 ], [ @.str.8, %10797 ]
  store i32 %10792, ptr %1288, align 4, !tbaa !5
  %10803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10804 = load i32, ptr @test_count, align 4, !tbaa !5
  %10805 = load i32, ptr %1234, align 4, !tbaa !5
  %10806 = call ptr @s2n_strerror(i32 noundef %10805, ptr noundef nonnull @.str.10) #11
  %10807 = load i32, ptr %1234, align 4, !tbaa !5
  %10808 = call ptr @s2n_strerror_debug(i32 noundef %10807, ptr noundef nonnull @.str.10) #11
  %10809 = load i32, ptr %1288, align 4, !tbaa !5
  %10810 = call ptr @strerror(i32 noundef %10809) #11
  %10811 = load i32, ptr %1288, align 4, !tbaa !5
  %10812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10803, ptr noundef nonnull %.str.11.sink4841, i32 noundef %10804, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.7, i32 noundef 895, ptr noundef %10806, ptr noundef %10808, ptr noundef %10810, i32 noundef %10811) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10813:                                            ; preds = %10785
  %10814 = add nsw i32 %10759, 3
  store i32 %10814, ptr @test_count, align 4, !tbaa !5
  %10815 = getelementptr inbounds i8, ptr %101, i64 80
  %10816 = load i64, ptr %10815, align 8, !tbaa !51
  %10817 = icmp eq i64 %10816, 2
  br i1 %10817, label %10840, label %10818

10818:                                            ; preds = %10813
  %10819 = load i32, ptr %1288, align 4, !tbaa !5
  %10820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10821 = call i32 @s2n_print_stacktrace(ptr noundef %10820) #11
  %10822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10823 = trunc nuw i8 %10822 to i1
  br i1 %10823, label %10824, label %10828

10824:                                            ; preds = %10818
  %10825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10826 = call i32 @fileno(ptr noundef %10825) #11
  %10827 = call i32 @isatty(i32 noundef %10826) #11
  %.not1167 = icmp eq i32 %10827, 0
  br i1 %.not1167, label %10828, label %10829

10828:                                            ; preds = %10824, %10818
  br label %10829

10829:                                            ; preds = %10824, %10828
  %.str.11.sink4850 = phi ptr [ @.str.11, %10828 ], [ @.str.8, %10824 ]
  store i32 %10819, ptr %1288, align 4, !tbaa !5
  %10830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10831 = load i32, ptr @test_count, align 4, !tbaa !5
  %10832 = load i32, ptr %1234, align 4, !tbaa !5
  %10833 = call ptr @s2n_strerror(i32 noundef %10832, ptr noundef nonnull @.str.10) #11
  %10834 = load i32, ptr %1234, align 4, !tbaa !5
  %10835 = call ptr @s2n_strerror_debug(i32 noundef %10834, ptr noundef nonnull @.str.10) #11
  %10836 = load i32, ptr %1288, align 4, !tbaa !5
  %10837 = call ptr @strerror(i32 noundef %10836) #11
  %10838 = load i32, ptr %1288, align 4, !tbaa !5
  %10839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10830, ptr noundef nonnull %.str.11.sink4850, i32 noundef %10831, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.7, i32 noundef 896, ptr noundef %10833, ptr noundef %10835, ptr noundef %10837, i32 noundef %10838) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10840:                                            ; preds = %10813
  %10841 = add nsw i32 %10759, 4
  store i32 %10841, ptr @test_count, align 4, !tbaa !5
  %10842 = call i32 @s2n_test_validate_ancillary(ptr noundef nonnull %101, i8 noundef zeroext 21, i16 noundef zeroext 1) #11
  %10843 = call zeroext i1 @s2n_result_is_ok(i32 %10842)
  br i1 %10843, label %10866, label %10844

10844:                                            ; preds = %10840
  %10845 = load i32, ptr %1288, align 4, !tbaa !5
  %10846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10847 = call i32 @s2n_print_stacktrace(ptr noundef %10846) #11
  %10848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10849 = trunc nuw i8 %10848 to i1
  br i1 %10849, label %10850, label %10854

10850:                                            ; preds = %10844
  %10851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10852 = call i32 @fileno(ptr noundef %10851) #11
  %10853 = call i32 @isatty(i32 noundef %10852) #11
  %.not1168 = icmp eq i32 %10853, 0
  br i1 %.not1168, label %10854, label %10855

10854:                                            ; preds = %10850, %10844
  br label %10855

10855:                                            ; preds = %10850, %10854
  %.str.11.sink4859 = phi ptr [ @.str.11, %10854 ], [ @.str.8, %10850 ]
  store i32 %10845, ptr %1288, align 4, !tbaa !5
  %10856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10857 = load i32, ptr @test_count, align 4, !tbaa !5
  %10858 = load i32, ptr %1234, align 4, !tbaa !5
  %10859 = call ptr @s2n_strerror(i32 noundef %10858, ptr noundef nonnull @.str.10) #11
  %10860 = load i32, ptr %1234, align 4, !tbaa !5
  %10861 = call ptr @s2n_strerror_debug(i32 noundef %10860, ptr noundef nonnull @.str.10) #11
  %10862 = load i32, ptr %1288, align 4, !tbaa !5
  %10863 = call ptr @strerror(i32 noundef %10862) #11
  %10864 = load i32, ptr %1288, align 4, !tbaa !5
  %10865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10856, ptr noundef nonnull %.str.11.sink4859, i32 noundef %10857, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.7, i32 noundef 897, ptr noundef %10859, ptr noundef %10861, ptr noundef %10863, i32 noundef %10864) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10866:                                            ; preds = %10840
  %10867 = load i32, ptr @test_count, align 4, !tbaa !5
  %10868 = add nsw i32 %10867, 1
  store i32 %10868, ptr @test_count, align 4, !tbaa !5
  %10869 = call i32 @s2n_test_validate_data(ptr noundef nonnull %101, ptr noundef nonnull %3, i16 noundef zeroext 1) #11
  %10870 = call zeroext i1 @s2n_result_is_ok(i32 %10869)
  br i1 %10870, label %10893, label %10871

10871:                                            ; preds = %10866
  %10872 = load i32, ptr %1288, align 4, !tbaa !5
  %10873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10874 = call i32 @s2n_print_stacktrace(ptr noundef %10873) #11
  %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) #11
  %10880 = call i32 @isatty(i32 noundef %10879) #11
  %.not1169 = icmp eq i32 %10880, 0
  br i1 %.not1169, label %10881, label %10882

10881:                                            ; preds = %10877, %10871
  br label %10882

10882:                                            ; preds = %10877, %10881
  %.str.11.sink4868 = phi ptr [ @.str.11, %10881 ], [ @.str.8, %10877 ]
  store i32 %10872, ptr %1288, 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 %1234, align 4, !tbaa !5
  %10886 = call ptr @s2n_strerror(i32 noundef %10885, ptr noundef nonnull @.str.10) #11
  %10887 = load i32, ptr %1234, align 4, !tbaa !5
  %10888 = call ptr @s2n_strerror_debug(i32 noundef %10887, ptr noundef nonnull @.str.10) #11
  %10889 = load i32, ptr %1288, align 4, !tbaa !5
  %10890 = call ptr @strerror(i32 noundef %10889) #11
  %10891 = load i32, ptr %1288, align 4, !tbaa !5
  %10892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10883, ptr noundef nonnull %.str.11.sink4868, i32 noundef %10884, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.7, i32 noundef 898, ptr noundef %10886, ptr noundef %10888, ptr noundef %10890, i32 noundef %10891) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10893:                                            ; preds = %10866
  %10894 = getelementptr inbounds i8, ptr %101, i64 76
  %10895 = load i8, ptr %10894, align 4
  %10896 = or i8 %10895, 2
  store i8 %10896, ptr %10894, align 4
  %10897 = load i32, ptr @test_count, align 4, !tbaa !5
  %10898 = add nsw i32 %10897, 1
  store i32 %10898, ptr @test_count, align 4, !tbaa !5
  %10899 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %101) #11
  %10900 = icmp eq i32 %10899, -1
  br i1 %10900, label %10901, label %10923

10901:                                            ; preds = %10893
  %10902 = load i32, ptr %1288, align 4, !tbaa !5
  %10903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10904 = call i32 @s2n_print_stacktrace(ptr noundef %10903) #11
  %10905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10906 = trunc nuw i8 %10905 to i1
  br i1 %10906, label %10907, label %10911

10907:                                            ; preds = %10901
  %10908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10909 = call i32 @fileno(ptr noundef %10908) #11
  %10910 = call i32 @isatty(i32 noundef %10909) #11
  %.not1248 = icmp eq i32 %10910, 0
  br i1 %.not1248, label %10911, label %10912

10911:                                            ; preds = %10907, %10901
  br label %10912

10912:                                            ; preds = %10907, %10911
  %.str.11.sink4877 = phi ptr [ @.str.11, %10911 ], [ @.str.8, %10907 ]
  store i32 %10902, ptr %1288, align 4, !tbaa !5
  %10913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10914 = load i32, ptr @test_count, align 4, !tbaa !5
  %10915 = load i32, ptr %1234, align 4, !tbaa !5
  %10916 = call ptr @s2n_strerror(i32 noundef %10915, ptr noundef nonnull @.str.10) #11
  %10917 = load i32, ptr %1234, align 4, !tbaa !5
  %10918 = call ptr @s2n_strerror_debug(i32 noundef %10917, ptr noundef nonnull @.str.10) #11
  %10919 = load i32, ptr %1288, align 4, !tbaa !5
  %10920 = call ptr @strerror(i32 noundef %10919) #11
  %10921 = load i32, ptr %1288, align 4, !tbaa !5
  %10922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10913, ptr noundef nonnull %.str.11.sink4877, i32 noundef %10914, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.7, i32 noundef 903, ptr noundef %10916, ptr noundef %10918, ptr noundef %10920, i32 noundef %10921) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10923:                                            ; preds = %10893
  %10924 = load i32, ptr @test_count, align 4, !tbaa !5
  %10925 = add nsw i32 %10924, 1
  store i32 %10925, ptr @test_count, align 4, !tbaa !5
  %10926 = load ptr, ptr %100, align 8, !tbaa !9
  %10927 = call i32 @s2n_shutdown_send(ptr noundef %10926, ptr noundef nonnull %102)
  %10928 = icmp eq i32 %10927, -1
  br i1 %10928, label %10929, label %10951

10929:                                            ; preds = %10923
  %10930 = load i32, ptr %1288, align 4, !tbaa !5
  %10931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10932 = call i32 @s2n_print_stacktrace(ptr noundef %10931) #11
  %10933 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10934 = trunc nuw i8 %10933 to i1
  br i1 %10934, label %10935, label %10939

10935:                                            ; preds = %10929
  %10936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10937 = call i32 @fileno(ptr noundef %10936) #11
  %10938 = call i32 @isatty(i32 noundef %10937) #11
  %.not1247 = icmp eq i32 %10938, 0
  br i1 %.not1247, label %10939, label %10940

10939:                                            ; preds = %10935, %10929
  br label %10940

10940:                                            ; preds = %10935, %10939
  %.str.11.sink4886 = phi ptr [ @.str.11, %10939 ], [ @.str.8, %10935 ]
  store i32 %10930, ptr %1288, align 4, !tbaa !5
  %10941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10942 = load i32, ptr @test_count, align 4, !tbaa !5
  %10943 = load i32, ptr %1234, align 4, !tbaa !5
  %10944 = call ptr @s2n_strerror(i32 noundef %10943, ptr noundef nonnull @.str.10) #11
  %10945 = load i32, ptr %1234, align 4, !tbaa !5
  %10946 = call ptr @s2n_strerror_debug(i32 noundef %10945, ptr noundef nonnull @.str.10) #11
  %10947 = load i32, ptr %1288, align 4, !tbaa !5
  %10948 = call ptr @strerror(i32 noundef %10947) #11
  %10949 = load i32, ptr %1288, align 4, !tbaa !5
  %10950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10941, ptr noundef nonnull %.str.11.sink4886, i32 noundef %10942, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.7, i32 noundef 906, ptr noundef %10944, ptr noundef %10946, ptr noundef %10948, i32 noundef %10949) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10951:                                            ; preds = %10923
  %10952 = load i32, ptr @test_count, align 4, !tbaa !5
  %10953 = add nsw i32 %10952, 1
  store i32 %10953, ptr @test_count, align 4, !tbaa !5
  %10954 = load i32, ptr %102, align 4, !tbaa !5
  %10955 = icmp eq i32 %10954, 0
  br i1 %10955, label %10978, label %10956

10956:                                            ; preds = %10951
  %10957 = load i32, ptr %1288, align 4, !tbaa !5
  %10958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10959 = call i32 @s2n_print_stacktrace(ptr noundef %10958) #11
  %10960 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10961 = trunc nuw i8 %10960 to i1
  br i1 %10961, label %10962, label %10966

10962:                                            ; preds = %10956
  %10963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10964 = call i32 @fileno(ptr noundef %10963) #11
  %10965 = call i32 @isatty(i32 noundef %10964) #11
  %.not1170 = icmp eq i32 %10965, 0
  br i1 %.not1170, label %10966, label %10967

10966:                                            ; preds = %10962, %10956
  br label %10967

10967:                                            ; preds = %10962, %10966
  %.str.11.sink4895 = phi ptr [ @.str.11, %10966 ], [ @.str.8, %10962 ]
  store i32 %10957, ptr %1288, align 4, !tbaa !5
  %10968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10969 = load i32, ptr @test_count, align 4, !tbaa !5
  %10970 = load i32, ptr %1234, align 4, !tbaa !5
  %10971 = call ptr @s2n_strerror(i32 noundef %10970, ptr noundef nonnull @.str.10) #11
  %10972 = load i32, ptr %1234, align 4, !tbaa !5
  %10973 = call ptr @s2n_strerror_debug(i32 noundef %10972, ptr noundef nonnull @.str.10) #11
  %10974 = load i32, ptr %1288, align 4, !tbaa !5
  %10975 = call ptr @strerror(i32 noundef %10974) #11
  %10976 = load i32, ptr %1288, align 4, !tbaa !5
  %10977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10968, ptr noundef nonnull %.str.11.sink4895, i32 noundef %10969, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.7, i32 noundef 907, ptr noundef %10971, ptr noundef %10973, ptr noundef %10975, i32 noundef %10976) #13
  call void @exit(i32 noundef 1) #14
  unreachable

10978:                                            ; preds = %10951
  %10979 = add nsw i32 %10952, 2
  store i32 %10979, ptr @test_count, align 4, !tbaa !5
  %10980 = load ptr, ptr %100, align 8, !tbaa !9
  %10981 = getelementptr inbounds i8, ptr %10980, i64 2003
  %10982 = load i8, ptr %10981, align 1, !tbaa !15, !range !13, !noundef !14
  %10983 = trunc nuw i8 %10982 to i1
  br i1 %10983, label %11006, label %10984

10984:                                            ; preds = %10978
  %10985 = load i32, ptr %1288, align 4, !tbaa !5
  %10986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10987 = call i32 @s2n_print_stacktrace(ptr noundef %10986) #11
  %10988 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10989 = trunc nuw i8 %10988 to i1
  br i1 %10989, label %10990, label %10994

10990:                                            ; preds = %10984
  %10991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10992 = call i32 @fileno(ptr noundef %10991) #11
  %10993 = call i32 @isatty(i32 noundef %10992) #11
  %.not1171 = icmp eq i32 %10993, 0
  br i1 %.not1171, label %10994, label %10995

10994:                                            ; preds = %10990, %10984
  br label %10995

10995:                                            ; preds = %10990, %10994
  %.str.11.sink4904 = phi ptr [ @.str.11, %10994 ], [ @.str.8, %10990 ]
  store i32 %10985, ptr %1288, align 4, !tbaa !5
  %10996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10997 = load i32, ptr @test_count, align 4, !tbaa !5
  %10998 = load i32, ptr %1234, align 4, !tbaa !5
  %10999 = call ptr @s2n_strerror(i32 noundef %10998, ptr noundef nonnull @.str.10) #11
  %11000 = load i32, ptr %1234, align 4, !tbaa !5
  %11001 = call ptr @s2n_strerror_debug(i32 noundef %11000, ptr noundef nonnull @.str.10) #11
  %11002 = load i32, ptr %1288, align 4, !tbaa !5
  %11003 = call ptr @strerror(i32 noundef %11002) #11
  %11004 = load i32, ptr %1288, align 4, !tbaa !5
  %11005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10996, ptr noundef nonnull %.str.11.sink4904, i32 noundef %10997, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.7, i32 noundef 908, ptr noundef %10999, ptr noundef %11001, ptr noundef %11003, i32 noundef %11004) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11006:                                            ; preds = %10978
  %11007 = add nsw i32 %10952, 3
  store i32 %11007, ptr @test_count, align 4, !tbaa !5
  %11008 = load i64, ptr %10815, align 8, !tbaa !51
  %11009 = icmp eq i64 %11008, 3
  br i1 %11009, label %11032, label %11010

11010:                                            ; preds = %11006
  %11011 = load i32, ptr %1288, align 4, !tbaa !5
  %11012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11013 = call i32 @s2n_print_stacktrace(ptr noundef %11012) #11
  %11014 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11015 = trunc nuw i8 %11014 to i1
  br i1 %11015, label %11016, label %11020

11016:                                            ; preds = %11010
  %11017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11018 = call i32 @fileno(ptr noundef %11017) #11
  %11019 = call i32 @isatty(i32 noundef %11018) #11
  %.not1172 = icmp eq i32 %11019, 0
  br i1 %.not1172, label %11020, label %11021

11020:                                            ; preds = %11016, %11010
  br label %11021

11021:                                            ; preds = %11016, %11020
  %.str.11.sink4913 = phi ptr [ @.str.11, %11020 ], [ @.str.8, %11016 ]
  store i32 %11011, ptr %1288, align 4, !tbaa !5
  %11022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11023 = load i32, ptr @test_count, align 4, !tbaa !5
  %11024 = load i32, ptr %1234, align 4, !tbaa !5
  %11025 = call ptr @s2n_strerror(i32 noundef %11024, ptr noundef nonnull @.str.10) #11
  %11026 = load i32, ptr %1234, align 4, !tbaa !5
  %11027 = call ptr @s2n_strerror_debug(i32 noundef %11026, ptr noundef nonnull @.str.10) #11
  %11028 = load i32, ptr %1288, align 4, !tbaa !5
  %11029 = call ptr @strerror(i32 noundef %11028) #11
  %11030 = load i32, ptr %1288, align 4, !tbaa !5
  %11031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11022, ptr noundef nonnull %.str.11.sink4913, i32 noundef %11023, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.7, i32 noundef 909, ptr noundef %11025, ptr noundef %11027, ptr noundef %11029, i32 noundef %11030) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11032:                                            ; preds = %11006
  %11033 = add nsw i32 %10952, 4
  store i32 %11033, ptr @test_count, align 4, !tbaa !5
  %11034 = call i32 @s2n_test_validate_ancillary(ptr noundef nonnull %101, i8 noundef zeroext 21, i16 noundef zeroext 1) #11
  %11035 = call zeroext i1 @s2n_result_is_ok(i32 %11034)
  br i1 %11035, label %11058, label %11036

11036:                                            ; preds = %11032
  %11037 = load i32, ptr %1288, align 4, !tbaa !5
  %11038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11039 = call i32 @s2n_print_stacktrace(ptr noundef %11038) #11
  %11040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11041 = trunc nuw i8 %11040 to i1
  br i1 %11041, label %11042, label %11046

11042:                                            ; preds = %11036
  %11043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11044 = call i32 @fileno(ptr noundef %11043) #11
  %11045 = call i32 @isatty(i32 noundef %11044) #11
  %.not1173 = icmp eq i32 %11045, 0
  br i1 %.not1173, label %11046, label %11047

11046:                                            ; preds = %11042, %11036
  br label %11047

11047:                                            ; preds = %11042, %11046
  %.str.11.sink4922 = phi ptr [ @.str.11, %11046 ], [ @.str.8, %11042 ]
  store i32 %11037, ptr %1288, align 4, !tbaa !5
  %11048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11049 = load i32, ptr @test_count, align 4, !tbaa !5
  %11050 = load i32, ptr %1234, align 4, !tbaa !5
  %11051 = call ptr @s2n_strerror(i32 noundef %11050, ptr noundef nonnull @.str.10) #11
  %11052 = load i32, ptr %1234, align 4, !tbaa !5
  %11053 = call ptr @s2n_strerror_debug(i32 noundef %11052, ptr noundef nonnull @.str.10) #11
  %11054 = load i32, ptr %1288, align 4, !tbaa !5
  %11055 = call ptr @strerror(i32 noundef %11054) #11
  %11056 = load i32, ptr %1288, align 4, !tbaa !5
  %11057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11048, ptr noundef nonnull %.str.11.sink4922, i32 noundef %11049, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.7, i32 noundef 910, ptr noundef %11051, ptr noundef %11053, ptr noundef %11055, i32 noundef %11056) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11058:                                            ; preds = %11032
  %11059 = load i32, ptr @test_count, align 4, !tbaa !5
  %11060 = add nsw i32 %11059, 1
  store i32 %11060, ptr @test_count, align 4, !tbaa !5
  %11061 = call i32 @s2n_test_validate_data(ptr noundef nonnull %101, ptr noundef nonnull %3, i16 noundef zeroext 2) #11
  %11062 = call zeroext i1 @s2n_result_is_ok(i32 %11061)
  br i1 %11062, label %.preheader.preheader, label %11068

.preheader.preheader:                             ; preds = %11058
  %11063 = load i32, ptr @test_count, align 4, !tbaa !5
  %11064 = add nsw i32 %11063, 1
  store i32 %11064, ptr @test_count, align 4, !tbaa !5
  %11065 = load ptr, ptr %100, align 8, !tbaa !9
  %11066 = call i32 @s2n_shutdown_send(ptr noundef %11065, ptr noundef nonnull %102)
  %11067 = icmp eq i32 %11066, -1
  br i1 %11067, label %11169, label %11191

11068:                                            ; preds = %11058
  %11069 = load i32, ptr %1288, align 4, !tbaa !5
  %11070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11071 = call i32 @s2n_print_stacktrace(ptr noundef %11070) #11
  %11072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11073 = trunc nuw i8 %11072 to i1
  br i1 %11073, label %11074, label %11078

11074:                                            ; preds = %11068
  %11075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11076 = call i32 @fileno(ptr noundef %11075) #11
  %11077 = call i32 @isatty(i32 noundef %11076) #11
  %.not1174 = icmp eq i32 %11077, 0
  br i1 %.not1174, label %11078, label %11079

11078:                                            ; preds = %11074, %11068
  br label %11079

11079:                                            ; preds = %11074, %11078
  %.str.11.sink4931 = phi ptr [ @.str.11, %11078 ], [ @.str.8, %11074 ]
  store i32 %11069, ptr %1288, align 4, !tbaa !5
  %11080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11081 = load i32, ptr @test_count, align 4, !tbaa !5
  %11082 = load i32, ptr %1234, align 4, !tbaa !5
  %11083 = call ptr @s2n_strerror(i32 noundef %11082, ptr noundef nonnull @.str.10) #11
  %11084 = load i32, ptr %1234, align 4, !tbaa !5
  %11085 = call ptr @s2n_strerror_debug(i32 noundef %11084, ptr noundef nonnull @.str.10) #11
  %11086 = load i32, ptr %1288, align 4, !tbaa !5
  %11087 = call ptr @strerror(i32 noundef %11086) #11
  %11088 = load i32, ptr %1288, align 4, !tbaa !5
  %11089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11080, ptr noundef nonnull %.str.11.sink4931, i32 noundef %11081, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.7, i32 noundef 912, ptr noundef %11083, ptr noundef %11085, ptr noundef %11087, i32 noundef %11088) #13
  call void @exit(i32 noundef 1) #14
  unreachable

.preheader.1:                                     ; preds = %11246
  %11090 = add nsw i32 %11192, 4
  store i32 %11090, ptr @test_count, align 4, !tbaa !5
  %11091 = call i32 @s2n_shutdown_send(ptr noundef nonnull %11220, ptr noundef nonnull %102)
  %11092 = icmp eq i32 %11091, -1
  br i1 %11092, label %11169, label %11093

11093:                                            ; preds = %.preheader.1
  %11094 = load i32, ptr @test_count, align 4, !tbaa !5
  %11095 = add nsw i32 %11094, 1
  store i32 %11095, ptr @test_count, align 4, !tbaa !5
  %11096 = load i32, ptr %102, align 4, !tbaa !5
  %11097 = icmp eq i32 %11096, 0
  br i1 %11097, label %11098, label %11196

11098:                                            ; preds = %11093
  %11099 = add nsw i32 %11094, 2
  store i32 %11099, ptr @test_count, align 4, !tbaa !5
  %11100 = load ptr, ptr %100, align 8, !tbaa !9
  %11101 = getelementptr inbounds i8, ptr %11100, i64 2003
  %11102 = load i8, ptr %11101, align 1, !tbaa !15, !range !13, !noundef !14
  %11103 = trunc nuw i8 %11102 to i1
  br i1 %11103, label %11104, label %11224

11104:                                            ; preds = %11098
  %11105 = add nsw i32 %11094, 3
  store i32 %11105, ptr @test_count, align 4, !tbaa !5
  %11106 = load i64, ptr %10815, align 8, !tbaa !51
  %11107 = icmp eq i64 %11106, 3
  br i1 %11107, label %.preheader.2, label %11250

.preheader.2:                                     ; preds = %11104
  %11108 = add nsw i32 %11094, 4
  store i32 %11108, ptr @test_count, align 4, !tbaa !5
  %11109 = call i32 @s2n_shutdown_send(ptr noundef nonnull %11100, ptr noundef nonnull %102)
  %11110 = icmp eq i32 %11109, -1
  br i1 %11110, label %11169, label %11111

11111:                                            ; preds = %.preheader.2
  %11112 = load i32, ptr @test_count, align 4, !tbaa !5
  %11113 = add nsw i32 %11112, 1
  store i32 %11113, ptr @test_count, align 4, !tbaa !5
  %11114 = load i32, ptr %102, align 4, !tbaa !5
  %11115 = icmp eq i32 %11114, 0
  br i1 %11115, label %11116, label %11196

11116:                                            ; preds = %11111
  %11117 = add nsw i32 %11112, 2
  store i32 %11117, ptr @test_count, align 4, !tbaa !5
  %11118 = load ptr, ptr %100, align 8, !tbaa !9
  %11119 = getelementptr inbounds i8, ptr %11118, i64 2003
  %11120 = load i8, ptr %11119, align 1, !tbaa !15, !range !13, !noundef !14
  %11121 = trunc nuw i8 %11120 to i1
  br i1 %11121, label %11122, label %11224

11122:                                            ; preds = %11116
  %11123 = add nsw i32 %11112, 3
  store i32 %11123, ptr @test_count, align 4, !tbaa !5
  %11124 = load i64, ptr %10815, align 8, !tbaa !51
  %11125 = icmp eq i64 %11124, 3
  br i1 %11125, label %.preheader.3, label %11250

.preheader.3:                                     ; preds = %11122
  %11126 = add nsw i32 %11112, 4
  store i32 %11126, ptr @test_count, align 4, !tbaa !5
  %11127 = call i32 @s2n_shutdown_send(ptr noundef nonnull %11118, ptr noundef nonnull %102)
  %11128 = icmp eq i32 %11127, -1
  br i1 %11128, label %11169, label %11129

11129:                                            ; preds = %.preheader.3
  %11130 = load i32, ptr @test_count, align 4, !tbaa !5
  %11131 = add nsw i32 %11130, 1
  store i32 %11131, ptr @test_count, align 4, !tbaa !5
  %11132 = load i32, ptr %102, align 4, !tbaa !5
  %11133 = icmp eq i32 %11132, 0
  br i1 %11133, label %11134, label %11196

11134:                                            ; preds = %11129
  %11135 = add nsw i32 %11130, 2
  store i32 %11135, ptr @test_count, align 4, !tbaa !5
  %11136 = load ptr, ptr %100, align 8, !tbaa !9
  %11137 = getelementptr inbounds i8, ptr %11136, i64 2003
  %11138 = load i8, ptr %11137, align 1, !tbaa !15, !range !13, !noundef !14
  %11139 = trunc nuw i8 %11138 to i1
  br i1 %11139, label %11140, label %11224

11140:                                            ; preds = %11134
  %11141 = add nsw i32 %11130, 3
  store i32 %11141, ptr @test_count, align 4, !tbaa !5
  %11142 = load i64, ptr %10815, align 8, !tbaa !51
  %11143 = icmp eq i64 %11142, 3
  br i1 %11143, label %.preheader.4, label %11250

.preheader.4:                                     ; preds = %11140
  %11144 = add nsw i32 %11130, 4
  store i32 %11144, ptr @test_count, align 4, !tbaa !5
  %11145 = call i32 @s2n_shutdown_send(ptr noundef nonnull %11136, ptr noundef nonnull %102)
  %11146 = icmp eq i32 %11145, -1
  br i1 %11146, label %11169, label %11147

11147:                                            ; preds = %.preheader.4
  %11148 = load i32, ptr @test_count, align 4, !tbaa !5
  %11149 = add nsw i32 %11148, 1
  store i32 %11149, ptr @test_count, align 4, !tbaa !5
  %11150 = load i32, ptr %102, align 4, !tbaa !5
  %11151 = icmp eq i32 %11150, 0
  br i1 %11151, label %11152, label %11196

11152:                                            ; preds = %11147
  %11153 = add nsw i32 %11148, 2
  store i32 %11153, ptr @test_count, align 4, !tbaa !5
  %11154 = load ptr, ptr %100, align 8, !tbaa !9
  %11155 = getelementptr inbounds i8, ptr %11154, i64 2003
  %11156 = load i8, ptr %11155, align 1, !tbaa !15, !range !13, !noundef !14
  %11157 = trunc nuw i8 %11156 to i1
  br i1 %11157, label %11158, label %11224

11158:                                            ; preds = %11152
  %11159 = add nsw i32 %11148, 3
  store i32 %11159, ptr @test_count, align 4, !tbaa !5
  %11160 = load i64, ptr %10815, align 8, !tbaa !51
  %11161 = icmp eq i64 %11160, 3
  br i1 %11161, label %11162, label %11250

11162:                                            ; preds = %11158
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %102) #11
  %11163 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef nonnull %101) #11
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %101) #11
  %11164 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %100) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %100) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %103) #11
  %11165 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %11165, ptr %103, align 8, !tbaa !9
  %11166 = load i32, ptr @test_count, align 4, !tbaa !5
  %11167 = add nsw i32 %11166, 1
  store i32 %11167, ptr @test_count, align 4, !tbaa !5
  %11168 = icmp eq ptr %11165, null
  br i1 %11168, label %11272, label %11294

11169:                                            ; preds = %.preheader.4, %.preheader.3, %.preheader.2, %.preheader.1, %.preheader.preheader
  %11170 = load i32, ptr %1288, align 4, !tbaa !5
  %11171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11172 = call i32 @s2n_print_stacktrace(ptr noundef %11171) #11
  %11173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11174 = trunc nuw i8 %11173 to i1
  br i1 %11174, label %11175, label %11179

11175:                                            ; preds = %11169
  %11176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11177 = call i32 @fileno(ptr noundef %11176) #11
  %11178 = call i32 @isatty(i32 noundef %11177) #11
  %.not1246 = icmp eq i32 %11178, 0
  br i1 %.not1246, label %11179, label %11180

11179:                                            ; preds = %11175, %11169
  br label %11180

11180:                                            ; preds = %11175, %11179
  %.str.11.sink4940 = phi ptr [ @.str.11, %11179 ], [ @.str.8, %11175 ]
  store i32 %11170, ptr %1288, align 4, !tbaa !5
  %11181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11182 = load i32, ptr @test_count, align 4, !tbaa !5
  %11183 = load i32, ptr %1234, align 4, !tbaa !5
  %11184 = call ptr @s2n_strerror(i32 noundef %11183, ptr noundef nonnull @.str.10) #11
  %11185 = load i32, ptr %1234, align 4, !tbaa !5
  %11186 = call ptr @s2n_strerror_debug(i32 noundef %11185, ptr noundef nonnull @.str.10) #11
  %11187 = load i32, ptr %1288, align 4, !tbaa !5
  %11188 = call ptr @strerror(i32 noundef %11187) #11
  %11189 = load i32, ptr %1288, align 4, !tbaa !5
  %11190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11181, ptr noundef nonnull %.str.11.sink4940, i32 noundef %11182, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.7, i32 noundef 916, ptr noundef %11184, ptr noundef %11186, ptr noundef %11188, i32 noundef %11189) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11191:                                            ; preds = %.preheader.preheader
  %11192 = load i32, ptr @test_count, align 4, !tbaa !5
  %11193 = add nsw i32 %11192, 1
  store i32 %11193, ptr @test_count, align 4, !tbaa !5
  %11194 = load i32, ptr %102, align 4, !tbaa !5
  %11195 = icmp eq i32 %11194, 0
  br i1 %11195, label %11218, label %11196

11196:                                            ; preds = %11147, %11129, %11111, %11093, %11191
  %11197 = load i32, ptr %1288, align 4, !tbaa !5
  %11198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11199 = call i32 @s2n_print_stacktrace(ptr noundef %11198) #11
  %11200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11201 = trunc nuw i8 %11200 to i1
  br i1 %11201, label %11202, label %11206

11202:                                            ; preds = %11196
  %11203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11204 = call i32 @fileno(ptr noundef %11203) #11
  %11205 = call i32 @isatty(i32 noundef %11204) #11
  %.not1243 = icmp eq i32 %11205, 0
  br i1 %.not1243, label %11206, label %11207

11206:                                            ; preds = %11202, %11196
  br label %11207

11207:                                            ; preds = %11202, %11206
  %.str.11.sink4949 = phi ptr [ @.str.11, %11206 ], [ @.str.8, %11202 ]
  store i32 %11197, ptr %1288, align 4, !tbaa !5
  %11208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11209 = load i32, ptr @test_count, align 4, !tbaa !5
  %11210 = load i32, ptr %1234, align 4, !tbaa !5
  %11211 = call ptr @s2n_strerror(i32 noundef %11210, ptr noundef nonnull @.str.10) #11
  %11212 = load i32, ptr %1234, align 4, !tbaa !5
  %11213 = call ptr @s2n_strerror_debug(i32 noundef %11212, ptr noundef nonnull @.str.10) #11
  %11214 = load i32, ptr %1288, align 4, !tbaa !5
  %11215 = call ptr @strerror(i32 noundef %11214) #11
  %11216 = load i32, ptr %1288, align 4, !tbaa !5
  %11217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11208, ptr noundef nonnull %.str.11.sink4949, i32 noundef %11209, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.7, i32 noundef 917, ptr noundef %11211, ptr noundef %11213, ptr noundef %11215, i32 noundef %11216) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11218:                                            ; preds = %11191
  %11219 = add nsw i32 %11192, 2
  store i32 %11219, ptr @test_count, align 4, !tbaa !5
  %11220 = load ptr, ptr %100, align 8, !tbaa !9
  %11221 = getelementptr inbounds i8, ptr %11220, i64 2003
  %11222 = load i8, ptr %11221, align 1, !tbaa !15, !range !13, !noundef !14
  %11223 = trunc nuw i8 %11222 to i1
  br i1 %11223, label %11246, label %11224

11224:                                            ; preds = %11152, %11134, %11116, %11098, %11218
  %11225 = load i32, ptr %1288, align 4, !tbaa !5
  %11226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11227 = call i32 @s2n_print_stacktrace(ptr noundef %11226) #11
  %11228 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11229 = trunc nuw i8 %11228 to i1
  br i1 %11229, label %11230, label %11234

11230:                                            ; preds = %11224
  %11231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11232 = call i32 @fileno(ptr noundef %11231) #11
  %11233 = call i32 @isatty(i32 noundef %11232) #11
  %.not1244 = icmp eq i32 %11233, 0
  br i1 %.not1244, label %11234, label %11235

11234:                                            ; preds = %11230, %11224
  br label %11235

11235:                                            ; preds = %11230, %11234
  %.str.11.sink4958 = phi ptr [ @.str.11, %11234 ], [ @.str.8, %11230 ]
  store i32 %11225, ptr %1288, align 4, !tbaa !5
  %11236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11237 = load i32, ptr @test_count, align 4, !tbaa !5
  %11238 = load i32, ptr %1234, align 4, !tbaa !5
  %11239 = call ptr @s2n_strerror(i32 noundef %11238, ptr noundef nonnull @.str.10) #11
  %11240 = load i32, ptr %1234, align 4, !tbaa !5
  %11241 = call ptr @s2n_strerror_debug(i32 noundef %11240, ptr noundef nonnull @.str.10) #11
  %11242 = load i32, ptr %1288, align 4, !tbaa !5
  %11243 = call ptr @strerror(i32 noundef %11242) #11
  %11244 = load i32, ptr %1288, align 4, !tbaa !5
  %11245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11236, ptr noundef nonnull %.str.11.sink4958, i32 noundef %11237, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.7, i32 noundef 918, ptr noundef %11239, ptr noundef %11241, ptr noundef %11243, i32 noundef %11244) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11246:                                            ; preds = %11218
  %11247 = add nsw i32 %11192, 3
  store i32 %11247, ptr @test_count, align 4, !tbaa !5
  %11248 = load i64, ptr %10815, align 8, !tbaa !51
  %11249 = icmp eq i64 %11248, 3
  br i1 %11249, label %.preheader.1, label %11250

11250:                                            ; preds = %11158, %11140, %11122, %11104, %11246
  %11251 = load i32, ptr %1288, align 4, !tbaa !5
  %11252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11253 = call i32 @s2n_print_stacktrace(ptr noundef %11252) #11
  %11254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11255 = trunc nuw i8 %11254 to i1
  br i1 %11255, label %11256, label %11260

11256:                                            ; preds = %11250
  %11257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11258 = call i32 @fileno(ptr noundef %11257) #11
  %11259 = call i32 @isatty(i32 noundef %11258) #11
  %.not1245 = icmp eq i32 %11259, 0
  br i1 %.not1245, label %11260, label %11261

11260:                                            ; preds = %11256, %11250
  br label %11261

11261:                                            ; preds = %11256, %11260
  %.str.11.sink4967 = phi ptr [ @.str.11, %11260 ], [ @.str.8, %11256 ]
  store i32 %11251, ptr %1288, align 4, !tbaa !5
  %11262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11263 = load i32, ptr @test_count, align 4, !tbaa !5
  %11264 = load i32, ptr %1234, align 4, !tbaa !5
  %11265 = call ptr @s2n_strerror(i32 noundef %11264, ptr noundef nonnull @.str.10) #11
  %11266 = load i32, ptr %1234, align 4, !tbaa !5
  %11267 = call ptr @s2n_strerror_debug(i32 noundef %11266, ptr noundef nonnull @.str.10) #11
  %11268 = load i32, ptr %1288, align 4, !tbaa !5
  %11269 = call ptr @strerror(i32 noundef %11268) #11
  %11270 = load i32, ptr %1288, align 4, !tbaa !5
  %11271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11262, ptr noundef nonnull %.str.11.sink4967, i32 noundef %11263, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.7, i32 noundef 919, ptr noundef %11265, ptr noundef %11267, ptr noundef %11269, i32 noundef %11270) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11272:                                            ; preds = %11162
  %11273 = load i32, ptr %1288, align 4, !tbaa !5
  %11274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11275 = call i32 @s2n_print_stacktrace(ptr noundef %11274) #11
  %11276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11277 = trunc nuw i8 %11276 to i1
  br i1 %11277, label %11278, label %11282

11278:                                            ; preds = %11272
  %11279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11280 = call i32 @fileno(ptr noundef %11279) #11
  %11281 = call i32 @isatty(i32 noundef %11280) #11
  %.not1242 = icmp eq i32 %11281, 0
  br i1 %.not1242, label %11282, label %11283

11282:                                            ; preds = %11278, %11272
  br label %11283

11283:                                            ; preds = %11278, %11282
  %.str.11.sink4976 = phi ptr [ @.str.11, %11282 ], [ @.str.8, %11278 ]
  store i32 %11273, ptr %1288, align 4, !tbaa !5
  %11284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11285 = load i32, ptr @test_count, align 4, !tbaa !5
  %11286 = load i32, ptr %1234, align 4, !tbaa !5
  %11287 = call ptr @s2n_strerror(i32 noundef %11286, ptr noundef nonnull @.str.10) #11
  %11288 = load i32, ptr %1234, align 4, !tbaa !5
  %11289 = call ptr @s2n_strerror_debug(i32 noundef %11288, ptr noundef nonnull @.str.10) #11
  %11290 = load i32, ptr %1288, align 4, !tbaa !5
  %11291 = call ptr @strerror(i32 noundef %11290) #11
  %11292 = load i32, ptr %1288, align 4, !tbaa !5
  %11293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11284, ptr noundef nonnull %.str.11.sink4976, i32 noundef %11285, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.7, i32 noundef 931, ptr noundef %11287, ptr noundef %11289, ptr noundef %11291, i32 noundef %11292) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11294:                                            ; preds = %11162
  call void @s2n_ktls_configure_connection(ptr noundef nonnull %11165, i32 noundef 0) #11
  %11295 = load ptr, ptr %103, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %11295, i32 noundef 1) #11
  %11296 = load i32, ptr @test_count, align 4, !tbaa !5
  %11297 = add nsw i32 %11296, 1
  store i32 %11297, ptr @test_count, align 4, !tbaa !5
  %11298 = load ptr, ptr %103, align 8, !tbaa !9
  %11299 = call i32 @s2n_skip_handshake(ptr noundef %11298) #11
  %11300 = call zeroext i1 @s2n_result_is_ok(i32 %11299)
  br i1 %11300, label %11323, label %11301

11301:                                            ; preds = %11294
  %11302 = load i32, ptr %1288, align 4, !tbaa !5
  %11303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11304 = call i32 @s2n_print_stacktrace(ptr noundef %11303) #11
  %11305 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11306 = trunc nuw i8 %11305 to i1
  br i1 %11306, label %11307, label %11311

11307:                                            ; preds = %11301
  %11308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11309 = call i32 @fileno(ptr noundef %11308) #11
  %11310 = call i32 @isatty(i32 noundef %11309) #11
  %.not1175 = icmp eq i32 %11310, 0
  br i1 %.not1175, label %11311, label %11312

11311:                                            ; preds = %11307, %11301
  br label %11312

11312:                                            ; preds = %11307, %11311
  %.str.11.sink4985 = phi ptr [ @.str.11, %11311 ], [ @.str.8, %11307 ]
  store i32 %11302, ptr %1288, align 4, !tbaa !5
  %11313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11314 = load i32, ptr @test_count, align 4, !tbaa !5
  %11315 = load i32, ptr %1234, align 4, !tbaa !5
  %11316 = call ptr @s2n_strerror(i32 noundef %11315, ptr noundef nonnull @.str.10) #11
  %11317 = load i32, ptr %1234, align 4, !tbaa !5
  %11318 = call ptr @s2n_strerror_debug(i32 noundef %11317, ptr noundef nonnull @.str.10) #11
  %11319 = load i32, ptr %1288, align 4, !tbaa !5
  %11320 = call ptr @strerror(i32 noundef %11319) #11
  %11321 = load i32, ptr %1288, align 4, !tbaa !5
  %11322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11313, ptr noundef nonnull %.str.11.sink4985, i32 noundef %11314, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.7, i32 noundef 934, ptr noundef %11316, ptr noundef %11318, ptr noundef %11320, i32 noundef %11321) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11323:                                            ; preds = %11294
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %104) #11
  %11324 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %11324, ptr %104, align 8, !tbaa !9
  %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 = icmp eq ptr %11324, null
  br i1 %11327, label %11328, label %11350

11328:                                            ; preds = %11323
  %11329 = load i32, ptr %1288, align 4, !tbaa !5
  %11330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11331 = call i32 @s2n_print_stacktrace(ptr noundef %11330) #11
  %11332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11333 = trunc nuw i8 %11332 to i1
  br i1 %11333, label %11334, label %11338

11334:                                            ; preds = %11328
  %11335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11336 = call i32 @fileno(ptr noundef %11335) #11
  %11337 = call i32 @isatty(i32 noundef %11336) #11
  %.not1241 = icmp eq i32 %11337, 0
  br i1 %.not1241, label %11338, label %11339

11338:                                            ; preds = %11334, %11328
  br label %11339

11339:                                            ; preds = %11334, %11338
  %.str.11.sink4994 = phi ptr [ @.str.11, %11338 ], [ @.str.8, %11334 ]
  store i32 %11329, ptr %1288, align 4, !tbaa !5
  %11340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11341 = load i32, ptr @test_count, align 4, !tbaa !5
  %11342 = load i32, ptr %1234, align 4, !tbaa !5
  %11343 = call ptr @s2n_strerror(i32 noundef %11342, ptr noundef nonnull @.str.10) #11
  %11344 = load i32, ptr %1234, align 4, !tbaa !5
  %11345 = call ptr @s2n_strerror_debug(i32 noundef %11344, ptr noundef nonnull @.str.10) #11
  %11346 = load i32, ptr %1288, align 4, !tbaa !5
  %11347 = call ptr @strerror(i32 noundef %11346) #11
  %11348 = load i32, ptr %1288, align 4, !tbaa !5
  %11349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11340, ptr noundef nonnull %.str.11.sink4994, i32 noundef %11341, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.7, i32 noundef 938, ptr noundef %11343, ptr noundef %11345, ptr noundef %11347, i32 noundef %11348) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11350:                                            ; preds = %11323
  call void @s2n_ktls_configure_connection(ptr noundef nonnull %11324, i32 noundef 0) #11
  %11351 = load ptr, ptr %104, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %11351, i32 noundef 1) #11
  %11352 = load i32, ptr @test_count, align 4, !tbaa !5
  %11353 = add nsw i32 %11352, 1
  store i32 %11353, ptr @test_count, align 4, !tbaa !5
  %11354 = load ptr, ptr %104, align 8, !tbaa !9
  %11355 = call i32 @s2n_skip_handshake(ptr noundef %11354) #11
  %11356 = call zeroext i1 @s2n_result_is_ok(i32 %11355)
  br i1 %11356, label %11379, label %11357

11357:                                            ; preds = %11350
  %11358 = load i32, ptr %1288, align 4, !tbaa !5
  %11359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11360 = call i32 @s2n_print_stacktrace(ptr noundef %11359) #11
  %11361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11362 = trunc nuw i8 %11361 to i1
  br i1 %11362, label %11363, label %11367

11363:                                            ; preds = %11357
  %11364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11365 = call i32 @fileno(ptr noundef %11364) #11
  %11366 = call i32 @isatty(i32 noundef %11365) #11
  %.not1176 = icmp eq i32 %11366, 0
  br i1 %.not1176, label %11367, label %11368

11367:                                            ; preds = %11363, %11357
  br label %11368

11368:                                            ; preds = %11363, %11367
  %.str.11.sink5003 = phi ptr [ @.str.11, %11367 ], [ @.str.8, %11363 ]
  store i32 %11358, ptr %1288, align 4, !tbaa !5
  %11369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11370 = load i32, ptr @test_count, align 4, !tbaa !5
  %11371 = load i32, ptr %1234, align 4, !tbaa !5
  %11372 = call ptr @s2n_strerror(i32 noundef %11371, ptr noundef nonnull @.str.10) #11
  %11373 = load i32, ptr %1234, align 4, !tbaa !5
  %11374 = call ptr @s2n_strerror_debug(i32 noundef %11373, ptr noundef nonnull @.str.10) #11
  %11375 = load i32, ptr %1288, align 4, !tbaa !5
  %11376 = call ptr @strerror(i32 noundef %11375) #11
  %11377 = load i32, ptr %1288, align 4, !tbaa !5
  %11378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11369, ptr noundef nonnull %.str.11.sink5003, i32 noundef %11370, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.7, i32 noundef 941, ptr noundef %11372, ptr noundef %11374, ptr noundef %11376, i32 noundef %11377) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11379:                                            ; preds = %11350
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %105) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %105, i8 0, i64 192, i1 false)
  %11380 = load i32, ptr @test_count, align 4, !tbaa !5
  %11381 = add nsw i32 %11380, 1
  store i32 %11381, ptr @test_count, align 4, !tbaa !5
  %11382 = load ptr, ptr %104, align 8, !tbaa !9
  %11383 = load ptr, ptr %103, align 8, !tbaa !9
  %11384 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %11382, ptr noundef %11383, ptr noundef nonnull %105) #11
  %11385 = call zeroext i1 @s2n_result_is_ok(i32 %11384)
  br i1 %11385, label %11408, label %11386

11386:                                            ; preds = %11379
  %11387 = load i32, ptr %1288, align 4, !tbaa !5
  %11388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11389 = call i32 @s2n_print_stacktrace(ptr noundef %11388) #11
  %11390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11391 = trunc nuw i8 %11390 to i1
  br i1 %11391, label %11392, label %11396

11392:                                            ; preds = %11386
  %11393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11394 = call i32 @fileno(ptr noundef %11393) #11
  %11395 = call i32 @isatty(i32 noundef %11394) #11
  %.not1177 = icmp eq i32 %11395, 0
  br i1 %.not1177, label %11396, label %11397

11396:                                            ; preds = %11392, %11386
  br label %11397

11397:                                            ; preds = %11392, %11396
  %.str.11.sink5012 = phi ptr [ @.str.11, %11396 ], [ @.str.8, %11392 ]
  store i32 %11387, ptr %1288, align 4, !tbaa !5
  %11398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11399 = load i32, ptr @test_count, align 4, !tbaa !5
  %11400 = load i32, ptr %1234, align 4, !tbaa !5
  %11401 = call ptr @s2n_strerror(i32 noundef %11400, ptr noundef nonnull @.str.10) #11
  %11402 = load i32, ptr %1234, align 4, !tbaa !5
  %11403 = call ptr @s2n_strerror_debug(i32 noundef %11402, ptr noundef nonnull @.str.10) #11
  %11404 = load i32, ptr %1288, align 4, !tbaa !5
  %11405 = call ptr @strerror(i32 noundef %11404) #11
  %11406 = load i32, ptr %1288, align 4, !tbaa !5
  %11407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11398, ptr noundef nonnull %.str.11.sink5012, i32 noundef %11399, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.7, i32 noundef 945, ptr noundef %11401, ptr noundef %11403, ptr noundef %11405, i32 noundef %11406) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11408:                                            ; preds = %11379
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %106) #11
  store i32 0, ptr %106, align 4, !tbaa !5
  %11409 = load i32, ptr @test_count, align 4, !tbaa !5
  %11410 = add nsw i32 %11409, 1
  store i32 %11410, ptr @test_count, align 4, !tbaa !5
  %11411 = load ptr, ptr %103, align 8, !tbaa !9
  %11412 = call i32 @s2n_shutdown_send(ptr noundef %11411, ptr noundef nonnull %106)
  %11413 = icmp eq i32 %11412, -1
  br i1 %11413, label %11414, label %11436

11414:                                            ; preds = %11408
  %11415 = load i32, ptr %1288, align 4, !tbaa !5
  %11416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11417 = call i32 @s2n_print_stacktrace(ptr noundef %11416) #11
  %11418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11419 = trunc nuw i8 %11418 to i1
  br i1 %11419, label %11420, label %11424

11420:                                            ; preds = %11414
  %11421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11422 = call i32 @fileno(ptr noundef %11421) #11
  %11423 = call i32 @isatty(i32 noundef %11422) #11
  %.not1240 = icmp eq i32 %11423, 0
  br i1 %.not1240, label %11424, label %11425

11424:                                            ; preds = %11420, %11414
  br label %11425

11425:                                            ; preds = %11420, %11424
  %.str.11.sink5021 = phi ptr [ @.str.11, %11424 ], [ @.str.8, %11420 ]
  store i32 %11415, ptr %1288, align 4, !tbaa !5
  %11426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11427 = load i32, ptr @test_count, align 4, !tbaa !5
  %11428 = load i32, ptr %1234, align 4, !tbaa !5
  %11429 = call ptr @s2n_strerror(i32 noundef %11428, ptr noundef nonnull @.str.10) #11
  %11430 = load i32, ptr %1234, align 4, !tbaa !5
  %11431 = call ptr @s2n_strerror_debug(i32 noundef %11430, ptr noundef nonnull @.str.10) #11
  %11432 = load i32, ptr %1288, align 4, !tbaa !5
  %11433 = call ptr @strerror(i32 noundef %11432) #11
  %11434 = load i32, ptr %1288, align 4, !tbaa !5
  %11435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11426, ptr noundef nonnull %.str.11.sink5021, i32 noundef %11427, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.7, i32 noundef 948, ptr noundef %11429, ptr noundef %11431, ptr noundef %11433, i32 noundef %11434) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11436:                                            ; preds = %11408
  %11437 = load i32, ptr @test_count, align 4, !tbaa !5
  %11438 = add nsw i32 %11437, 1
  store i32 %11438, ptr @test_count, align 4, !tbaa !5
  %11439 = load ptr, ptr %103, align 8, !tbaa !9
  %11440 = getelementptr inbounds i8, ptr %11439, i64 2003
  %11441 = load i8, ptr %11440, align 1, !tbaa !15, !range !13, !noundef !14
  %11442 = trunc nuw i8 %11441 to i1
  br i1 %11442, label %11465, label %11443

11443:                                            ; preds = %11436
  %11444 = load i32, ptr %1288, align 4, !tbaa !5
  %11445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11446 = call i32 @s2n_print_stacktrace(ptr noundef %11445) #11
  %11447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11448 = trunc nuw i8 %11447 to i1
  br i1 %11448, label %11449, label %11453

11449:                                            ; preds = %11443
  %11450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11451 = call i32 @fileno(ptr noundef %11450) #11
  %11452 = call i32 @isatty(i32 noundef %11451) #11
  %.not1178 = icmp eq i32 %11452, 0
  br i1 %.not1178, label %11453, label %11454

11453:                                            ; preds = %11449, %11443
  br label %11454

11454:                                            ; preds = %11449, %11453
  %.str.11.sink5030 = phi ptr [ @.str.11, %11453 ], [ @.str.8, %11449 ]
  store i32 %11444, ptr %1288, align 4, !tbaa !5
  %11455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11456 = load i32, ptr @test_count, align 4, !tbaa !5
  %11457 = load i32, ptr %1234, align 4, !tbaa !5
  %11458 = call ptr @s2n_strerror(i32 noundef %11457, ptr noundef nonnull @.str.10) #11
  %11459 = load i32, ptr %1234, align 4, !tbaa !5
  %11460 = call ptr @s2n_strerror_debug(i32 noundef %11459, ptr noundef nonnull @.str.10) #11
  %11461 = load i32, ptr %1288, align 4, !tbaa !5
  %11462 = call ptr @strerror(i32 noundef %11461) #11
  %11463 = load i32, ptr %1288, align 4, !tbaa !5
  %11464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11455, ptr noundef nonnull %.str.11.sink5030, i32 noundef %11456, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.7, i32 noundef 949, ptr noundef %11458, ptr noundef %11460, ptr noundef %11462, i32 noundef %11463) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11465:                                            ; preds = %11436
  %11466 = add nsw i32 %11437, 2
  store i32 %11466, ptr @test_count, align 4, !tbaa !5
  %11467 = load ptr, ptr %104, align 8, !tbaa !9
  %11468 = call i32 @s2n_shutdown(ptr noundef %11467, ptr noundef nonnull %106)
  %11469 = icmp eq i32 %11468, -1
  br i1 %11469, label %11470, label %11492

11470:                                            ; preds = %11465
  %11471 = load i32, ptr %1288, align 4, !tbaa !5
  %11472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11473 = call i32 @s2n_print_stacktrace(ptr noundef %11472) #11
  %11474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11475 = trunc nuw i8 %11474 to i1
  br i1 %11475, label %11476, label %11480

11476:                                            ; preds = %11470
  %11477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11478 = call i32 @fileno(ptr noundef %11477) #11
  %11479 = call i32 @isatty(i32 noundef %11478) #11
  %.not1239 = icmp eq i32 %11479, 0
  br i1 %.not1239, label %11480, label %11481

11480:                                            ; preds = %11476, %11470
  br label %11481

11481:                                            ; preds = %11476, %11480
  %.str.11.sink5039 = phi ptr [ @.str.11, %11480 ], [ @.str.8, %11476 ]
  store i32 %11471, ptr %1288, align 4, !tbaa !5
  %11482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11483 = load i32, ptr @test_count, align 4, !tbaa !5
  %11484 = load i32, ptr %1234, align 4, !tbaa !5
  %11485 = call ptr @s2n_strerror(i32 noundef %11484, ptr noundef nonnull @.str.10) #11
  %11486 = load i32, ptr %1234, align 4, !tbaa !5
  %11487 = call ptr @s2n_strerror_debug(i32 noundef %11486, ptr noundef nonnull @.str.10) #11
  %11488 = load i32, ptr %1288, align 4, !tbaa !5
  %11489 = call ptr @strerror(i32 noundef %11488) #11
  %11490 = load i32, ptr %1288, align 4, !tbaa !5
  %11491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11482, ptr noundef nonnull %.str.11.sink5039, i32 noundef %11483, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.7, i32 noundef 951, ptr noundef %11485, ptr noundef %11487, ptr noundef %11489, i32 noundef %11490) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11492:                                            ; preds = %11465
  %11493 = load i32, ptr @test_count, align 4, !tbaa !5
  %11494 = add nsw i32 %11493, 1
  store i32 %11494, ptr @test_count, align 4, !tbaa !5
  %11495 = load ptr, ptr %104, align 8, !tbaa !9
  %11496 = getelementptr inbounds i8, ptr %11495, i64 2003
  %11497 = load i8, ptr %11496, align 1, !tbaa !15, !range !13, !noundef !14
  %11498 = trunc nuw i8 %11497 to i1
  br i1 %11498, label %11521, label %11499

11499:                                            ; preds = %11492
  %11500 = load i32, ptr %1288, align 4, !tbaa !5
  %11501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11502 = call i32 @s2n_print_stacktrace(ptr noundef %11501) #11
  %11503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11504 = trunc nuw i8 %11503 to i1
  br i1 %11504, label %11505, label %11509

11505:                                            ; preds = %11499
  %11506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11507 = call i32 @fileno(ptr noundef %11506) #11
  %11508 = call i32 @isatty(i32 noundef %11507) #11
  %.not1179 = icmp eq i32 %11508, 0
  br i1 %.not1179, label %11509, label %11510

11509:                                            ; preds = %11505, %11499
  br label %11510

11510:                                            ; preds = %11505, %11509
  %.str.11.sink5048 = phi ptr [ @.str.11, %11509 ], [ @.str.8, %11505 ]
  store i32 %11500, ptr %1288, align 4, !tbaa !5
  %11511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11512 = load i32, ptr @test_count, align 4, !tbaa !5
  %11513 = load i32, ptr %1234, align 4, !tbaa !5
  %11514 = call ptr @s2n_strerror(i32 noundef %11513, ptr noundef nonnull @.str.10) #11
  %11515 = load i32, ptr %1234, align 4, !tbaa !5
  %11516 = call ptr @s2n_strerror_debug(i32 noundef %11515, ptr noundef nonnull @.str.10) #11
  %11517 = load i32, ptr %1288, align 4, !tbaa !5
  %11518 = call ptr @strerror(i32 noundef %11517) #11
  %11519 = load i32, ptr %1288, align 4, !tbaa !5
  %11520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11511, ptr noundef nonnull %.str.11.sink5048, i32 noundef %11512, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.7, i32 noundef 952, ptr noundef %11514, ptr noundef %11516, ptr noundef %11518, i32 noundef %11519) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11521:                                            ; preds = %11492
  %11522 = add nsw i32 %11493, 2
  store i32 %11522, ptr @test_count, align 4, !tbaa !5
  %11523 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %11495, i32 noundef 3) #11
  br i1 %11523, label %11546, label %11524

11524:                                            ; preds = %11521
  %11525 = load i32, ptr %1288, align 4, !tbaa !5
  %11526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11527 = call i32 @s2n_print_stacktrace(ptr noundef %11526) #11
  %11528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11529 = trunc nuw i8 %11528 to i1
  br i1 %11529, label %11530, label %11534

11530:                                            ; preds = %11524
  %11531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11532 = call i32 @fileno(ptr noundef %11531) #11
  %11533 = call i32 @isatty(i32 noundef %11532) #11
  %.not1180 = icmp eq i32 %11533, 0
  br i1 %.not1180, label %11534, label %11535

11534:                                            ; preds = %11530, %11524
  br label %11535

11535:                                            ; preds = %11530, %11534
  %.str.11.sink5057 = phi ptr [ @.str.11, %11534 ], [ @.str.8, %11530 ]
  store i32 %11525, ptr %1288, align 4, !tbaa !5
  %11536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11537 = load i32, ptr @test_count, align 4, !tbaa !5
  %11538 = load i32, ptr %1234, align 4, !tbaa !5
  %11539 = call ptr @s2n_strerror(i32 noundef %11538, ptr noundef nonnull @.str.10) #11
  %11540 = load i32, ptr %1234, align 4, !tbaa !5
  %11541 = call ptr @s2n_strerror_debug(i32 noundef %11540, ptr noundef nonnull @.str.10) #11
  %11542 = load i32, ptr %1288, align 4, !tbaa !5
  %11543 = call ptr @strerror(i32 noundef %11542) #11
  %11544 = load i32, ptr %1288, align 4, !tbaa !5
  %11545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11536, ptr noundef nonnull %.str.11.sink5057, i32 noundef %11537, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.7, i32 noundef 953, ptr noundef %11539, ptr noundef %11541, ptr noundef %11543, i32 noundef %11544) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11546:                                            ; preds = %11521
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %106) #11
  %11547 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef nonnull %105) #11
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %105) #11
  %11548 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %104) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %104) #11
  %11549 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %103) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %103) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %107) #11
  %11550 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %11550, ptr %107, align 8, !tbaa !9
  %11551 = load i32, ptr @test_count, align 4, !tbaa !5
  %11552 = add nsw i32 %11551, 1
  store i32 %11552, ptr @test_count, align 4, !tbaa !5
  %11553 = icmp eq ptr %11550, null
  br i1 %11553, label %11554, label %11576

11554:                                            ; preds = %11546
  %11555 = load i32, ptr %1288, align 4, !tbaa !5
  %11556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11557 = call i32 @s2n_print_stacktrace(ptr noundef %11556) #11
  %11558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11559 = trunc nuw i8 %11558 to i1
  br i1 %11559, label %11560, label %11564

11560:                                            ; preds = %11554
  %11561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11562 = call i32 @fileno(ptr noundef %11561) #11
  %11563 = call i32 @isatty(i32 noundef %11562) #11
  %.not1238 = icmp eq i32 %11563, 0
  br i1 %.not1238, label %11564, label %11565

11564:                                            ; preds = %11560, %11554
  br label %11565

11565:                                            ; preds = %11560, %11564
  %.str.11.sink5066 = phi ptr [ @.str.11, %11564 ], [ @.str.8, %11560 ]
  store i32 %11555, ptr %1288, align 4, !tbaa !5
  %11566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11567 = load i32, ptr @test_count, align 4, !tbaa !5
  %11568 = load i32, ptr %1234, align 4, !tbaa !5
  %11569 = call ptr @s2n_strerror(i32 noundef %11568, ptr noundef nonnull @.str.10) #11
  %11570 = load i32, ptr %1234, align 4, !tbaa !5
  %11571 = call ptr @s2n_strerror_debug(i32 noundef %11570, ptr noundef nonnull @.str.10) #11
  %11572 = load i32, ptr %1288, align 4, !tbaa !5
  %11573 = call ptr @strerror(i32 noundef %11572) #11
  %11574 = load i32, ptr %1288, align 4, !tbaa !5
  %11575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11566, ptr noundef nonnull %.str.11.sink5066, i32 noundef %11567, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.7, i32 noundef 960, ptr noundef %11569, ptr noundef %11571, ptr noundef %11573, i32 noundef %11574) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11576:                                            ; preds = %11546
  call void @s2n_ktls_configure_connection(ptr noundef nonnull %11550, i32 noundef 0) #11
  %11577 = load ptr, ptr %107, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %11577, i32 noundef 1) #11
  %11578 = load i32, ptr @test_count, align 4, !tbaa !5
  %11579 = add nsw i32 %11578, 1
  store i32 %11579, ptr @test_count, align 4, !tbaa !5
  %11580 = load ptr, ptr %107, align 8, !tbaa !9
  %11581 = call i32 @s2n_skip_handshake(ptr noundef %11580) #11
  %11582 = call zeroext i1 @s2n_result_is_ok(i32 %11581)
  br i1 %11582, label %11605, label %11583

11583:                                            ; preds = %11576
  %11584 = load i32, ptr %1288, align 4, !tbaa !5
  %11585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11586 = call i32 @s2n_print_stacktrace(ptr noundef %11585) #11
  %11587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11588 = trunc nuw i8 %11587 to i1
  br i1 %11588, label %11589, label %11593

11589:                                            ; preds = %11583
  %11590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11591 = call i32 @fileno(ptr noundef %11590) #11
  %11592 = call i32 @isatty(i32 noundef %11591) #11
  %.not1181 = icmp eq i32 %11592, 0
  br i1 %.not1181, label %11593, label %11594

11593:                                            ; preds = %11589, %11583
  br label %11594

11594:                                            ; preds = %11589, %11593
  %.str.11.sink5075 = phi ptr [ @.str.11, %11593 ], [ @.str.8, %11589 ]
  store i32 %11584, ptr %1288, align 4, !tbaa !5
  %11595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11596 = load i32, ptr @test_count, align 4, !tbaa !5
  %11597 = load i32, ptr %1234, align 4, !tbaa !5
  %11598 = call ptr @s2n_strerror(i32 noundef %11597, ptr noundef nonnull @.str.10) #11
  %11599 = load i32, ptr %1234, align 4, !tbaa !5
  %11600 = call ptr @s2n_strerror_debug(i32 noundef %11599, ptr noundef nonnull @.str.10) #11
  %11601 = load i32, ptr %1288, align 4, !tbaa !5
  %11602 = call ptr @strerror(i32 noundef %11601) #11
  %11603 = load i32, ptr %1288, align 4, !tbaa !5
  %11604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11595, ptr noundef nonnull %.str.11.sink5075, i32 noundef %11596, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.7, i32 noundef 963, ptr noundef %11598, ptr noundef %11600, ptr noundef %11602, i32 noundef %11603) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11605:                                            ; preds = %11576
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %108) #11
  %11606 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %11606, ptr %108, align 8, !tbaa !9
  %11607 = load i32, ptr @test_count, align 4, !tbaa !5
  %11608 = add nsw i32 %11607, 1
  store i32 %11608, ptr @test_count, align 4, !tbaa !5
  %11609 = icmp eq ptr %11606, null
  br i1 %11609, label %11610, label %11632

11610:                                            ; preds = %11605
  %11611 = load i32, ptr %1288, align 4, !tbaa !5
  %11612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11613 = call i32 @s2n_print_stacktrace(ptr noundef %11612) #11
  %11614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11615 = trunc nuw i8 %11614 to i1
  br i1 %11615, label %11616, label %11620

11616:                                            ; preds = %11610
  %11617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11618 = call i32 @fileno(ptr noundef %11617) #11
  %11619 = call i32 @isatty(i32 noundef %11618) #11
  %.not1237 = icmp eq i32 %11619, 0
  br i1 %.not1237, label %11620, label %11621

11620:                                            ; preds = %11616, %11610
  br label %11621

11621:                                            ; preds = %11616, %11620
  %.str.11.sink5084 = phi ptr [ @.str.11, %11620 ], [ @.str.8, %11616 ]
  store i32 %11611, ptr %1288, align 4, !tbaa !5
  %11622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11623 = load i32, ptr @test_count, align 4, !tbaa !5
  %11624 = load i32, ptr %1234, align 4, !tbaa !5
  %11625 = call ptr @s2n_strerror(i32 noundef %11624, ptr noundef nonnull @.str.10) #11
  %11626 = load i32, ptr %1234, align 4, !tbaa !5
  %11627 = call ptr @s2n_strerror_debug(i32 noundef %11626, ptr noundef nonnull @.str.10) #11
  %11628 = load i32, ptr %1288, align 4, !tbaa !5
  %11629 = call ptr @strerror(i32 noundef %11628) #11
  %11630 = load i32, ptr %1288, align 4, !tbaa !5
  %11631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11622, ptr noundef nonnull %.str.11.sink5084, i32 noundef %11623, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.7, i32 noundef 967, ptr noundef %11625, ptr noundef %11627, ptr noundef %11629, i32 noundef %11630) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11632:                                            ; preds = %11605
  call void @s2n_ktls_configure_connection(ptr noundef nonnull %11606, i32 noundef 0) #11
  %11633 = load ptr, ptr %108, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %11633, i32 noundef 1) #11
  %11634 = load i32, ptr @test_count, align 4, !tbaa !5
  %11635 = add nsw i32 %11634, 1
  store i32 %11635, ptr @test_count, align 4, !tbaa !5
  %11636 = load ptr, ptr %108, align 8, !tbaa !9
  %11637 = call i32 @s2n_skip_handshake(ptr noundef %11636) #11
  %11638 = call zeroext i1 @s2n_result_is_ok(i32 %11637)
  br i1 %11638, label %11661, label %11639

11639:                                            ; preds = %11632
  %11640 = load i32, ptr %1288, align 4, !tbaa !5
  %11641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11642 = call i32 @s2n_print_stacktrace(ptr noundef %11641) #11
  %11643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11644 = trunc nuw i8 %11643 to i1
  br i1 %11644, label %11645, label %11649

11645:                                            ; preds = %11639
  %11646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11647 = call i32 @fileno(ptr noundef %11646) #11
  %11648 = call i32 @isatty(i32 noundef %11647) #11
  %.not1182 = icmp eq i32 %11648, 0
  br i1 %.not1182, label %11649, label %11650

11649:                                            ; preds = %11645, %11639
  br label %11650

11650:                                            ; preds = %11645, %11649
  %.str.11.sink5093 = phi ptr [ @.str.11, %11649 ], [ @.str.8, %11645 ]
  store i32 %11640, ptr %1288, align 4, !tbaa !5
  %11651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11652 = load i32, ptr @test_count, align 4, !tbaa !5
  %11653 = load i32, ptr %1234, align 4, !tbaa !5
  %11654 = call ptr @s2n_strerror(i32 noundef %11653, ptr noundef nonnull @.str.10) #11
  %11655 = load i32, ptr %1234, align 4, !tbaa !5
  %11656 = call ptr @s2n_strerror_debug(i32 noundef %11655, ptr noundef nonnull @.str.10) #11
  %11657 = load i32, ptr %1288, align 4, !tbaa !5
  %11658 = call ptr @strerror(i32 noundef %11657) #11
  %11659 = load i32, ptr %1288, align 4, !tbaa !5
  %11660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11651, ptr noundef nonnull %.str.11.sink5093, i32 noundef %11652, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.7, i32 noundef 970, ptr noundef %11654, ptr noundef %11656, ptr noundef %11658, i32 noundef %11659) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11661:                                            ; preds = %11632
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %109) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %109, i8 0, i64 192, i1 false)
  %11662 = load i32, ptr @test_count, align 4, !tbaa !5
  %11663 = add nsw i32 %11662, 1
  store i32 %11663, ptr @test_count, align 4, !tbaa !5
  %11664 = load ptr, ptr %108, align 8, !tbaa !9
  %11665 = load ptr, ptr %107, align 8, !tbaa !9
  %11666 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %11664, ptr noundef %11665, ptr noundef nonnull %109) #11
  %11667 = call zeroext i1 @s2n_result_is_ok(i32 %11666)
  br i1 %11667, label %11690, label %11668

11668:                                            ; preds = %11661
  %11669 = load i32, ptr %1288, align 4, !tbaa !5
  %11670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11671 = call i32 @s2n_print_stacktrace(ptr noundef %11670) #11
  %11672 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11673 = trunc nuw i8 %11672 to i1
  br i1 %11673, label %11674, label %11678

11674:                                            ; preds = %11668
  %11675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11676 = call i32 @fileno(ptr noundef %11675) #11
  %11677 = call i32 @isatty(i32 noundef %11676) #11
  %.not1183 = icmp eq i32 %11677, 0
  br i1 %.not1183, label %11678, label %11679

11678:                                            ; preds = %11674, %11668
  br label %11679

11679:                                            ; preds = %11674, %11678
  %.str.11.sink5102 = phi ptr [ @.str.11, %11678 ], [ @.str.8, %11674 ]
  store i32 %11669, ptr %1288, align 4, !tbaa !5
  %11680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11681 = load i32, ptr @test_count, align 4, !tbaa !5
  %11682 = load i32, ptr %1234, align 4, !tbaa !5
  %11683 = call ptr @s2n_strerror(i32 noundef %11682, ptr noundef nonnull @.str.10) #11
  %11684 = load i32, ptr %1234, align 4, !tbaa !5
  %11685 = call ptr @s2n_strerror_debug(i32 noundef %11684, ptr noundef nonnull @.str.10) #11
  %11686 = load i32, ptr %1288, align 4, !tbaa !5
  %11687 = call ptr @strerror(i32 noundef %11686) #11
  %11688 = load i32, ptr %1288, align 4, !tbaa !5
  %11689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11680, ptr noundef nonnull %.str.11.sink5102, i32 noundef %11681, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.7, i32 noundef 974, ptr noundef %11683, ptr noundef %11685, ptr noundef %11687, i32 noundef %11688) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11690:                                            ; preds = %11661
  %11691 = load i32, ptr @test_count, align 4, !tbaa !5
  %11692 = add nsw i32 %11691, 1
  store i32 %11692, ptr @test_count, align 4, !tbaa !5
  %11693 = getelementptr inbounds i8, ptr %109, i64 136
  %11694 = call i32 @s2n_stuffer_free(ptr noundef nonnull %11693) #11
  %11695 = icmp eq i32 %11694, -1
  br i1 %11695, label %11696, label %11718

11696:                                            ; preds = %11690
  %11697 = load i32, ptr %1288, align 4, !tbaa !5
  %11698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11699 = call i32 @s2n_print_stacktrace(ptr noundef %11698) #11
  %11700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11701 = trunc nuw i8 %11700 to i1
  br i1 %11701, label %11702, label %11706

11702:                                            ; preds = %11696
  %11703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11704 = call i32 @fileno(ptr noundef %11703) #11
  %11705 = call i32 @isatty(i32 noundef %11704) #11
  %.not1236 = icmp eq i32 %11705, 0
  br i1 %.not1236, label %11706, label %11707

11706:                                            ; preds = %11702, %11696
  br label %11707

11707:                                            ; preds = %11702, %11706
  %.str.11.sink5111 = phi ptr [ @.str.11, %11706 ], [ @.str.8, %11702 ]
  store i32 %11697, ptr %1288, align 4, !tbaa !5
  %11708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11709 = load i32, ptr @test_count, align 4, !tbaa !5
  %11710 = load i32, ptr %1234, align 4, !tbaa !5
  %11711 = call ptr @s2n_strerror(i32 noundef %11710, ptr noundef nonnull @.str.10) #11
  %11712 = load i32, ptr %1234, align 4, !tbaa !5
  %11713 = call ptr @s2n_strerror_debug(i32 noundef %11712, ptr noundef nonnull @.str.10) #11
  %11714 = load i32, ptr %1288, align 4, !tbaa !5
  %11715 = call ptr @strerror(i32 noundef %11714) #11
  %11716 = load i32, ptr %1288, align 4, !tbaa !5
  %11717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11708, ptr noundef nonnull %.str.11.sink5111, i32 noundef %11709, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.7, i32 noundef 977, ptr noundef %11711, ptr noundef %11713, ptr noundef %11715, i32 noundef %11716) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11718:                                            ; preds = %11690
  %11719 = load i32, ptr @test_count, align 4, !tbaa !5
  %11720 = add nsw i32 %11719, 1
  store i32 %11720, ptr @test_count, align 4, !tbaa !5
  %11721 = call i32 @s2n_stuffer_alloc(ptr noundef nonnull %11693, i32 noundef 1) #11
  %11722 = icmp eq i32 %11721, -1
  br i1 %11722, label %11723, label %11745

11723:                                            ; preds = %11718
  %11724 = load i32, ptr %1288, align 4, !tbaa !5
  %11725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11726 = call i32 @s2n_print_stacktrace(ptr noundef %11725) #11
  %11727 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11728 = trunc nuw i8 %11727 to i1
  br i1 %11728, label %11729, label %11733

11729:                                            ; preds = %11723
  %11730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11731 = call i32 @fileno(ptr noundef %11730) #11
  %11732 = call i32 @isatty(i32 noundef %11731) #11
  %.not1235 = icmp eq i32 %11732, 0
  br i1 %.not1235, label %11733, label %11734

11733:                                            ; preds = %11729, %11723
  br label %11734

11734:                                            ; preds = %11729, %11733
  %.str.11.sink5120 = phi ptr [ @.str.11, %11733 ], [ @.str.8, %11729 ]
  store i32 %11724, ptr %1288, align 4, !tbaa !5
  %11735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11736 = load i32, ptr @test_count, align 4, !tbaa !5
  %11737 = load i32, ptr %1234, align 4, !tbaa !5
  %11738 = call ptr @s2n_strerror(i32 noundef %11737, ptr noundef nonnull @.str.10) #11
  %11739 = load i32, ptr %1234, align 4, !tbaa !5
  %11740 = call ptr @s2n_strerror_debug(i32 noundef %11739, ptr noundef nonnull @.str.10) #11
  %11741 = load i32, ptr %1288, align 4, !tbaa !5
  %11742 = call ptr @strerror(i32 noundef %11741) #11
  %11743 = load i32, ptr %1288, align 4, !tbaa !5
  %11744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11735, ptr noundef nonnull %.str.11.sink5120, i32 noundef %11736, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.7, i32 noundef 978, ptr noundef %11738, ptr noundef %11740, ptr noundef %11742, i32 noundef %11743) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11745:                                            ; preds = %11718
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %110) #11
  store i32 0, ptr %110, align 4, !tbaa !5
  %11746 = load i32, ptr @test_count, align 4, !tbaa !5
  %11747 = add nsw i32 %11746, 1
  store i32 %11747, ptr @test_count, align 4, !tbaa !5
  %11748 = load ptr, ptr %107, align 8, !tbaa !9
  %11749 = call i32 @s2n_shutdown(ptr noundef %11748, ptr noundef nonnull %110)
  %11750 = icmp eq i32 %11749, -1
  br i1 %11750, label %11773, label %11751

11751:                                            ; preds = %11745
  %11752 = load i32, ptr %1288, align 4, !tbaa !5
  %11753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11754 = call i32 @s2n_print_stacktrace(ptr noundef %11753) #11
  %11755 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11756 = trunc nuw i8 %11755 to i1
  br i1 %11756, label %11757, label %11761

11757:                                            ; preds = %11751
  %11758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11759 = call i32 @fileno(ptr noundef %11758) #11
  %11760 = call i32 @isatty(i32 noundef %11759) #11
  %.not1184 = icmp eq i32 %11760, 0
  br i1 %.not1184, label %11761, label %11762

11761:                                            ; preds = %11757, %11751
  br label %11762

11762:                                            ; preds = %11757, %11761
  %.str.11.sink5129 = phi ptr [ @.str.11, %11761 ], [ @.str.8, %11757 ]
  store i32 %11752, ptr %1288, align 4, !tbaa !5
  %11763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11764 = load i32, ptr @test_count, align 4, !tbaa !5
  %11765 = load i32, ptr %1234, align 4, !tbaa !5
  %11766 = call ptr @s2n_strerror(i32 noundef %11765, ptr noundef nonnull @.str.10) #11
  %11767 = load i32, ptr %1234, align 4, !tbaa !5
  %11768 = call ptr @s2n_strerror_debug(i32 noundef %11767, ptr noundef nonnull @.str.10) #11
  %11769 = load i32, ptr %1288, align 4, !tbaa !5
  %11770 = call ptr @strerror(i32 noundef %11769) #11
  %11771 = load i32, ptr %1288, align 4, !tbaa !5
  %11772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11763, ptr noundef nonnull %.str.11.sink5129, i32 noundef %11764, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.7, i32 noundef 981, ptr noundef %11766, ptr noundef %11768, ptr noundef %11770, i32 noundef %11771) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11773:                                            ; preds = %11745
  %11774 = load i32, ptr @test_count, align 4, !tbaa !5
  %11775 = add nsw i32 %11774, 1
  store i32 %11775, ptr @test_count, align 4, !tbaa !5
  %11776 = load i32, ptr %1234, align 4, !tbaa !5
  %11777 = icmp eq i32 %11776, 201326592
  br i1 %11777, label %11800, label %11778

11778:                                            ; preds = %11773
  %11779 = load i32, ptr %1288, align 4, !tbaa !5
  %11780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11781 = call i32 @s2n_print_stacktrace(ptr noundef %11780) #11
  %11782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11783 = trunc nuw i8 %11782 to i1
  br i1 %11783, label %11784, label %11788

11784:                                            ; preds = %11778
  %11785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11786 = call i32 @fileno(ptr noundef %11785) #11
  %11787 = call i32 @isatty(i32 noundef %11786) #11
  %.not1185 = icmp eq i32 %11787, 0
  br i1 %.not1185, label %11788, label %11789

11788:                                            ; preds = %11784, %11778
  br label %11789

11789:                                            ; preds = %11784, %11788
  %.str.11.sink5138 = phi ptr [ @.str.11, %11788 ], [ @.str.8, %11784 ]
  store i32 %11779, ptr %1288, align 4, !tbaa !5
  %11790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11791 = load i32, ptr @test_count, align 4, !tbaa !5
  %11792 = load i32, ptr %1234, align 4, !tbaa !5
  %11793 = call ptr @s2n_strerror(i32 noundef %11792, ptr noundef nonnull @.str.10) #11
  %11794 = load i32, ptr %1234, align 4, !tbaa !5
  %11795 = call ptr @s2n_strerror_debug(i32 noundef %11794, ptr noundef nonnull @.str.10) #11
  %11796 = load i32, ptr %1288, align 4, !tbaa !5
  %11797 = call ptr @strerror(i32 noundef %11796) #11
  %11798 = load i32, ptr %1288, align 4, !tbaa !5
  %11799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11790, ptr noundef nonnull %.str.11.sink5138, i32 noundef %11791, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.7, i32 noundef 981, ptr noundef %11793, ptr noundef %11795, ptr noundef %11797, i32 noundef %11798) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11800:                                            ; preds = %11773
  %11801 = add nsw i32 %11774, 2
  store i32 %11801, ptr @test_count, align 4, !tbaa !5
  %11802 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %11803 = icmp eq ptr %11802, null
  br i1 %11803, label %11804, label %11826

11804:                                            ; preds = %11800
  %11805 = load i32, ptr %1288, align 4, !tbaa !5
  %11806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11807 = call i32 @s2n_print_stacktrace(ptr noundef %11806) #11
  %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) #11
  %11813 = call i32 @isatty(i32 noundef %11812) #11
  %.not1234 = icmp eq i32 %11813, 0
  br i1 %.not1234, label %11814, label %11815

11814:                                            ; preds = %11810, %11804
  br label %11815

11815:                                            ; preds = %11810, %11814
  %.str.11.sink5147 = phi ptr [ @.str.11, %11814 ], [ @.str.8, %11810 ]
  store i32 %11805, ptr %1288, 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 %1234, align 4, !tbaa !5
  %11819 = call ptr @s2n_strerror(i32 noundef %11818, ptr noundef nonnull @.str.10) #11
  %11820 = load i32, ptr %1234, align 4, !tbaa !5
  %11821 = call ptr @s2n_strerror_debug(i32 noundef %11820, ptr noundef nonnull @.str.10) #11
  %11822 = load i32, ptr %1288, align 4, !tbaa !5
  %11823 = call ptr @strerror(i32 noundef %11822) #11
  %11824 = load i32, ptr %1288, align 4, !tbaa !5
  %11825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11816, ptr noundef nonnull %.str.11.sink5147, i32 noundef %11817, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 981, ptr noundef %11819, ptr noundef %11821, ptr noundef %11823, i32 noundef %11824) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11826:                                            ; preds = %11800
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %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 i32, ptr %110, align 4, !tbaa !5
  %11830 = icmp eq i32 %11829, 2
  br i1 %11830, label %11853, label %11831

11831:                                            ; preds = %11826
  %11832 = load i32, ptr %1288, align 4, !tbaa !5
  %11833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11834 = call i32 @s2n_print_stacktrace(ptr noundef %11833) #11
  %11835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11836 = trunc nuw i8 %11835 to i1
  br i1 %11836, label %11837, label %11841

11837:                                            ; preds = %11831
  %11838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11839 = call i32 @fileno(ptr noundef %11838) #11
  %11840 = call i32 @isatty(i32 noundef %11839) #11
  %.not1186 = icmp eq i32 %11840, 0
  br i1 %.not1186, label %11841, label %11842

11841:                                            ; preds = %11837, %11831
  br label %11842

11842:                                            ; preds = %11837, %11841
  %.str.11.sink5156 = phi ptr [ @.str.11, %11841 ], [ @.str.8, %11837 ]
  store i32 %11832, ptr %1288, align 4, !tbaa !5
  %11843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11844 = load i32, ptr @test_count, align 4, !tbaa !5
  %11845 = load i32, ptr %1234, align 4, !tbaa !5
  %11846 = call ptr @s2n_strerror(i32 noundef %11845, ptr noundef nonnull @.str.10) #11
  %11847 = load i32, ptr %1234, align 4, !tbaa !5
  %11848 = call ptr @s2n_strerror_debug(i32 noundef %11847, ptr noundef nonnull @.str.10) #11
  %11849 = load i32, ptr %1288, align 4, !tbaa !5
  %11850 = call ptr @strerror(i32 noundef %11849) #11
  %11851 = load i32, ptr %1288, align 4, !tbaa !5
  %11852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11843, ptr noundef nonnull %.str.11.sink5156, i32 noundef %11844, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.7, i32 noundef 982, ptr noundef %11846, ptr noundef %11848, ptr noundef %11850, i32 noundef %11851) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11853:                                            ; preds = %11826
  %11854 = add nsw i32 %11827, 2
  store i32 %11854, ptr @test_count, align 4, !tbaa !5
  %11855 = load ptr, ptr %107, align 8, !tbaa !9
  %11856 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %11855, i32 noundef 0) #11
  br i1 %11856, label %11857, label %11879

11857:                                            ; preds = %11853
  %11858 = load i32, ptr %1288, align 4, !tbaa !5
  %11859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11860 = call i32 @s2n_print_stacktrace(ptr noundef %11859) #11
  %11861 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11862 = trunc nuw i8 %11861 to i1
  br i1 %11862, label %11863, label %11867

11863:                                            ; preds = %11857
  %11864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11865 = call i32 @fileno(ptr noundef %11864) #11
  %11866 = call i32 @isatty(i32 noundef %11865) #11
  %.not1233 = icmp eq i32 %11866, 0
  br i1 %.not1233, label %11867, label %11868

11867:                                            ; preds = %11863, %11857
  br label %11868

11868:                                            ; preds = %11863, %11867
  %.str.11.sink5165 = phi ptr [ @.str.11, %11867 ], [ @.str.8, %11863 ]
  store i32 %11858, ptr %1288, align 4, !tbaa !5
  %11869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11870 = load i32, ptr @test_count, align 4, !tbaa !5
  %11871 = load i32, ptr %1234, align 4, !tbaa !5
  %11872 = call ptr @s2n_strerror(i32 noundef %11871, ptr noundef nonnull @.str.10) #11
  %11873 = load i32, ptr %1234, align 4, !tbaa !5
  %11874 = call ptr @s2n_strerror_debug(i32 noundef %11873, ptr noundef nonnull @.str.10) #11
  %11875 = load i32, ptr %1288, align 4, !tbaa !5
  %11876 = call ptr @strerror(i32 noundef %11875) #11
  %11877 = load i32, ptr %1288, align 4, !tbaa !5
  %11878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11869, ptr noundef nonnull %.str.11.sink5165, i32 noundef %11870, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.7, i32 noundef 983, ptr noundef %11872, ptr noundef %11874, ptr noundef %11876, i32 noundef %11877) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11879:                                            ; preds = %11853
  %11880 = load i32, ptr @test_count, align 4, !tbaa !5
  %11881 = add nsw i32 %11880, 1
  store i32 %11881, ptr @test_count, align 4, !tbaa !5
  %11882 = load ptr, ptr %107, align 8, !tbaa !9
  %11883 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %11882, i32 noundef 1) #11
  br i1 %11883, label %11906, label %11884

11884:                                            ; preds = %11879
  %11885 = load i32, ptr %1288, align 4, !tbaa !5
  %11886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11887 = call i32 @s2n_print_stacktrace(ptr noundef %11886) #11
  %11888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11889 = trunc nuw i8 %11888 to i1
  br i1 %11889, label %11890, label %11894

11890:                                            ; preds = %11884
  %11891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11892 = call i32 @fileno(ptr noundef %11891) #11
  %11893 = call i32 @isatty(i32 noundef %11892) #11
  %.not1187 = icmp eq i32 %11893, 0
  br i1 %.not1187, label %11894, label %11895

11894:                                            ; preds = %11890, %11884
  br label %11895

11895:                                            ; preds = %11890, %11894
  %.str.11.sink5174 = phi ptr [ @.str.11, %11894 ], [ @.str.8, %11890 ]
  store i32 %11885, ptr %1288, align 4, !tbaa !5
  %11896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11897 = load i32, ptr @test_count, align 4, !tbaa !5
  %11898 = load i32, ptr %1234, align 4, !tbaa !5
  %11899 = call ptr @s2n_strerror(i32 noundef %11898, ptr noundef nonnull @.str.10) #11
  %11900 = load i32, ptr %1234, align 4, !tbaa !5
  %11901 = call ptr @s2n_strerror_debug(i32 noundef %11900, ptr noundef nonnull @.str.10) #11
  %11902 = load i32, ptr %1288, align 4, !tbaa !5
  %11903 = call ptr @strerror(i32 noundef %11902) #11
  %11904 = load i32, ptr %1288, align 4, !tbaa !5
  %11905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11896, ptr noundef nonnull %.str.11.sink5174, i32 noundef %11897, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.7, i32 noundef 984, ptr noundef %11899, ptr noundef %11901, ptr noundef %11903, i32 noundef %11904) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11906:                                            ; preds = %11879
  %11907 = load i32, ptr @test_count, align 4, !tbaa !5
  %11908 = add nsw i32 %11907, 1
  store i32 %11908, ptr @test_count, align 4, !tbaa !5
  %11909 = load ptr, ptr %108, align 8, !tbaa !9
  %11910 = call i32 @s2n_shutdown(ptr noundef %11909, ptr noundef nonnull %110)
  %11911 = icmp eq i32 %11910, -1
  br i1 %11911, label %11934, label %11912

11912:                                            ; preds = %11906
  %11913 = load i32, ptr %1288, align 4, !tbaa !5
  %11914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11915 = call i32 @s2n_print_stacktrace(ptr noundef %11914) #11
  %11916 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11917 = trunc nuw i8 %11916 to i1
  br i1 %11917, label %11918, label %11922

11918:                                            ; preds = %11912
  %11919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11920 = call i32 @fileno(ptr noundef %11919) #11
  %11921 = call i32 @isatty(i32 noundef %11920) #11
  %.not1188 = icmp eq i32 %11921, 0
  br i1 %.not1188, label %11922, label %11923

11922:                                            ; preds = %11918, %11912
  br label %11923

11923:                                            ; preds = %11918, %11922
  %.str.11.sink5183 = phi ptr [ @.str.11, %11922 ], [ @.str.8, %11918 ]
  store i32 %11913, ptr %1288, align 4, !tbaa !5
  %11924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11925 = load i32, ptr @test_count, align 4, !tbaa !5
  %11926 = load i32, ptr %1234, align 4, !tbaa !5
  %11927 = call ptr @s2n_strerror(i32 noundef %11926, ptr noundef nonnull @.str.10) #11
  %11928 = load i32, ptr %1234, align 4, !tbaa !5
  %11929 = call ptr @s2n_strerror_debug(i32 noundef %11928, ptr noundef nonnull @.str.10) #11
  %11930 = load i32, ptr %1288, align 4, !tbaa !5
  %11931 = call ptr @strerror(i32 noundef %11930) #11
  %11932 = load i32, ptr %1288, align 4, !tbaa !5
  %11933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11924, ptr noundef nonnull %.str.11.sink5183, i32 noundef %11925, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.7, i32 noundef 986, ptr noundef %11927, ptr noundef %11929, ptr noundef %11931, i32 noundef %11932) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11934:                                            ; preds = %11906
  %11935 = load i32, ptr @test_count, align 4, !tbaa !5
  %11936 = add nsw i32 %11935, 1
  store i32 %11936, ptr @test_count, align 4, !tbaa !5
  %11937 = load i32, ptr %1234, align 4, !tbaa !5
  %11938 = icmp eq i32 %11937, 201326592
  br i1 %11938, label %11961, label %11939

11939:                                            ; preds = %11934
  %11940 = load i32, ptr %1288, align 4, !tbaa !5
  %11941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11942 = call i32 @s2n_print_stacktrace(ptr noundef %11941) #11
  %11943 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11944 = trunc nuw i8 %11943 to i1
  br i1 %11944, label %11945, label %11949

11945:                                            ; preds = %11939
  %11946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11947 = call i32 @fileno(ptr noundef %11946) #11
  %11948 = call i32 @isatty(i32 noundef %11947) #11
  %.not1189 = icmp eq i32 %11948, 0
  br i1 %.not1189, label %11949, label %11950

11949:                                            ; preds = %11945, %11939
  br label %11950

11950:                                            ; preds = %11945, %11949
  %.str.11.sink5192 = phi ptr [ @.str.11, %11949 ], [ @.str.8, %11945 ]
  store i32 %11940, ptr %1288, align 4, !tbaa !5
  %11951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11952 = load i32, ptr @test_count, align 4, !tbaa !5
  %11953 = load i32, ptr %1234, align 4, !tbaa !5
  %11954 = call ptr @s2n_strerror(i32 noundef %11953, ptr noundef nonnull @.str.10) #11
  %11955 = load i32, ptr %1234, align 4, !tbaa !5
  %11956 = call ptr @s2n_strerror_debug(i32 noundef %11955, ptr noundef nonnull @.str.10) #11
  %11957 = load i32, ptr %1288, align 4, !tbaa !5
  %11958 = call ptr @strerror(i32 noundef %11957) #11
  %11959 = load i32, ptr %1288, align 4, !tbaa !5
  %11960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11951, ptr noundef nonnull %.str.11.sink5192, i32 noundef %11952, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.7, i32 noundef 986, ptr noundef %11954, ptr noundef %11956, ptr noundef %11958, i32 noundef %11959) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11961:                                            ; preds = %11934
  %11962 = add nsw i32 %11935, 2
  store i32 %11962, ptr @test_count, align 4, !tbaa !5
  %11963 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %11964 = icmp eq ptr %11963, null
  br i1 %11964, label %11965, label %11987

11965:                                            ; preds = %11961
  %11966 = load i32, ptr %1288, align 4, !tbaa !5
  %11967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11968 = call i32 @s2n_print_stacktrace(ptr noundef %11967) #11
  %11969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11970 = trunc nuw i8 %11969 to i1
  br i1 %11970, label %11971, label %11975

11971:                                            ; preds = %11965
  %11972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11973 = call i32 @fileno(ptr noundef %11972) #11
  %11974 = call i32 @isatty(i32 noundef %11973) #11
  %.not1232 = icmp eq i32 %11974, 0
  br i1 %.not1232, label %11975, label %11976

11975:                                            ; preds = %11971, %11965
  br label %11976

11976:                                            ; preds = %11971, %11975
  %.str.11.sink5201 = phi ptr [ @.str.11, %11975 ], [ @.str.8, %11971 ]
  store i32 %11966, ptr %1288, align 4, !tbaa !5
  %11977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11978 = load i32, ptr @test_count, align 4, !tbaa !5
  %11979 = load i32, ptr %1234, align 4, !tbaa !5
  %11980 = call ptr @s2n_strerror(i32 noundef %11979, ptr noundef nonnull @.str.10) #11
  %11981 = load i32, ptr %1234, align 4, !tbaa !5
  %11982 = call ptr @s2n_strerror_debug(i32 noundef %11981, ptr noundef nonnull @.str.10) #11
  %11983 = load i32, ptr %1288, align 4, !tbaa !5
  %11984 = call ptr @strerror(i32 noundef %11983) #11
  %11985 = load i32, ptr %1288, align 4, !tbaa !5
  %11986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11977, ptr noundef nonnull %.str.11.sink5201, i32 noundef %11978, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 986, ptr noundef %11980, ptr noundef %11982, ptr noundef %11984, i32 noundef %11985) #13
  call void @exit(i32 noundef 1) #14
  unreachable

11987:                                            ; preds = %11961
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %11988 = load i32, ptr @test_count, align 4, !tbaa !5
  %11989 = add nsw i32 %11988, 1
  store i32 %11989, ptr @test_count, align 4, !tbaa !5
  %11990 = load i32, ptr %110, align 4, !tbaa !5
  %11991 = icmp eq i32 %11990, 1
  br i1 %11991, label %12014, label %11992

11992:                                            ; preds = %11987
  %11993 = load i32, ptr %1288, align 4, !tbaa !5
  %11994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11995 = call i32 @s2n_print_stacktrace(ptr noundef %11994) #11
  %11996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11997 = trunc nuw i8 %11996 to i1
  br i1 %11997, label %11998, label %12002

11998:                                            ; preds = %11992
  %11999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12000 = call i32 @fileno(ptr noundef %11999) #11
  %12001 = call i32 @isatty(i32 noundef %12000) #11
  %.not1190 = icmp eq i32 %12001, 0
  br i1 %.not1190, label %12002, label %12003

12002:                                            ; preds = %11998, %11992
  br label %12003

12003:                                            ; preds = %11998, %12002
  %.str.11.sink5210 = phi ptr [ @.str.11, %12002 ], [ @.str.8, %11998 ]
  store i32 %11993, ptr %1288, align 4, !tbaa !5
  %12004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12005 = load i32, ptr @test_count, align 4, !tbaa !5
  %12006 = load i32, ptr %1234, align 4, !tbaa !5
  %12007 = call ptr @s2n_strerror(i32 noundef %12006, ptr noundef nonnull @.str.10) #11
  %12008 = load i32, ptr %1234, align 4, !tbaa !5
  %12009 = call ptr @s2n_strerror_debug(i32 noundef %12008, ptr noundef nonnull @.str.10) #11
  %12010 = load i32, ptr %1288, align 4, !tbaa !5
  %12011 = call ptr @strerror(i32 noundef %12010) #11
  %12012 = load i32, ptr %1288, align 4, !tbaa !5
  %12013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12004, ptr noundef nonnull %.str.11.sink5210, i32 noundef %12005, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.7, i32 noundef 987, ptr noundef %12007, ptr noundef %12009, ptr noundef %12011, i32 noundef %12012) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12014:                                            ; preds = %11987
  %12015 = add nsw i32 %11988, 2
  store i32 %12015, ptr @test_count, align 4, !tbaa !5
  %12016 = load ptr, ptr %108, align 8, !tbaa !9
  %12017 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %12016, i32 noundef 0) #11
  br i1 %12017, label %12018, label %12040

12018:                                            ; preds = %12014
  %12019 = load i32, ptr %1288, align 4, !tbaa !5
  %12020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12021 = call i32 @s2n_print_stacktrace(ptr noundef %12020) #11
  %12022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12023 = trunc nuw i8 %12022 to i1
  br i1 %12023, label %12024, label %12028

12024:                                            ; preds = %12018
  %12025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12026 = call i32 @fileno(ptr noundef %12025) #11
  %12027 = call i32 @isatty(i32 noundef %12026) #11
  %.not1231 = icmp eq i32 %12027, 0
  br i1 %.not1231, label %12028, label %12029

12028:                                            ; preds = %12024, %12018
  br label %12029

12029:                                            ; preds = %12024, %12028
  %.str.11.sink5219 = phi ptr [ @.str.11, %12028 ], [ @.str.8, %12024 ]
  store i32 %12019, ptr %1288, align 4, !tbaa !5
  %12030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12031 = load i32, ptr @test_count, align 4, !tbaa !5
  %12032 = load i32, ptr %1234, align 4, !tbaa !5
  %12033 = call ptr @s2n_strerror(i32 noundef %12032, ptr noundef nonnull @.str.10) #11
  %12034 = load i32, ptr %1234, align 4, !tbaa !5
  %12035 = call ptr @s2n_strerror_debug(i32 noundef %12034, ptr noundef nonnull @.str.10) #11
  %12036 = load i32, ptr %1288, align 4, !tbaa !5
  %12037 = call ptr @strerror(i32 noundef %12036) #11
  %12038 = load i32, ptr %1288, align 4, !tbaa !5
  %12039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12030, ptr noundef nonnull %.str.11.sink5219, i32 noundef %12031, ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.7, i32 noundef 988, ptr noundef %12033, ptr noundef %12035, ptr noundef %12037, i32 noundef %12038) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12040:                                            ; preds = %12014
  %12041 = load i32, ptr @test_count, align 4, !tbaa !5
  %12042 = add nsw i32 %12041, 1
  store i32 %12042, ptr @test_count, align 4, !tbaa !5
  %12043 = load ptr, ptr %108, align 8, !tbaa !9
  %12044 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %12043, i32 noundef 1) #11
  br i1 %12044, label %12067, label %12045

12045:                                            ; preds = %12040
  %12046 = load i32, ptr %1288, align 4, !tbaa !5
  %12047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12048 = call i32 @s2n_print_stacktrace(ptr noundef %12047) #11
  %12049 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12050 = trunc nuw i8 %12049 to i1
  br i1 %12050, label %12051, label %12055

12051:                                            ; preds = %12045
  %12052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12053 = call i32 @fileno(ptr noundef %12052) #11
  %12054 = call i32 @isatty(i32 noundef %12053) #11
  %.not1191 = icmp eq i32 %12054, 0
  br i1 %.not1191, label %12055, label %12056

12055:                                            ; preds = %12051, %12045
  br label %12056

12056:                                            ; preds = %12051, %12055
  %.str.11.sink5228 = phi ptr [ @.str.11, %12055 ], [ @.str.8, %12051 ]
  store i32 %12046, ptr %1288, align 4, !tbaa !5
  %12057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12058 = load i32, ptr @test_count, align 4, !tbaa !5
  %12059 = load i32, ptr %1234, align 4, !tbaa !5
  %12060 = call ptr @s2n_strerror(i32 noundef %12059, ptr noundef nonnull @.str.10) #11
  %12061 = load i32, ptr %1234, align 4, !tbaa !5
  %12062 = call ptr @s2n_strerror_debug(i32 noundef %12061, ptr noundef nonnull @.str.10) #11
  %12063 = load i32, ptr %1288, align 4, !tbaa !5
  %12064 = call ptr @strerror(i32 noundef %12063) #11
  %12065 = load i32, ptr %1288, align 4, !tbaa !5
  %12066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12057, ptr noundef nonnull %.str.11.sink5228, i32 noundef %12058, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.7, i32 noundef 989, ptr noundef %12060, ptr noundef %12062, ptr noundef %12064, i32 noundef %12065) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12067:                                            ; preds = %12040
  %12068 = load i32, ptr @test_count, align 4, !tbaa !5
  %12069 = add nsw i32 %12068, 1
  store i32 %12069, ptr @test_count, align 4, !tbaa !5
  %12070 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %11693) #11
  %12071 = icmp eq i32 %12070, -1
  br i1 %12071, label %12072, label %12094

12072:                                            ; preds = %12067
  %12073 = load i32, ptr %1288, align 4, !tbaa !5
  %12074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12075 = call i32 @s2n_print_stacktrace(ptr noundef %12074) #11
  %12076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12077 = trunc nuw i8 %12076 to i1
  br i1 %12077, label %12078, label %12082

12078:                                            ; preds = %12072
  %12079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12080 = call i32 @fileno(ptr noundef %12079) #11
  %12081 = call i32 @isatty(i32 noundef %12080) #11
  %.not1230 = icmp eq i32 %12081, 0
  br i1 %.not1230, label %12082, label %12083

12082:                                            ; preds = %12078, %12072
  br label %12083

12083:                                            ; preds = %12078, %12082
  %.str.11.sink5237 = phi ptr [ @.str.11, %12082 ], [ @.str.8, %12078 ]
  store i32 %12073, ptr %1288, align 4, !tbaa !5
  %12084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12085 = load i32, ptr @test_count, align 4, !tbaa !5
  %12086 = load i32, ptr %1234, align 4, !tbaa !5
  %12087 = call ptr @s2n_strerror(i32 noundef %12086, ptr noundef nonnull @.str.10) #11
  %12088 = load i32, ptr %1234, align 4, !tbaa !5
  %12089 = call ptr @s2n_strerror_debug(i32 noundef %12088, ptr noundef nonnull @.str.10) #11
  %12090 = load i32, ptr %1288, align 4, !tbaa !5
  %12091 = call ptr @strerror(i32 noundef %12090) #11
  %12092 = load i32, ptr %1288, align 4, !tbaa !5
  %12093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12084, ptr noundef nonnull %.str.11.sink5237, i32 noundef %12085, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.7, i32 noundef 992, ptr noundef %12087, ptr noundef %12089, ptr noundef %12091, i32 noundef %12092) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12094:                                            ; preds = %12067
  %12095 = load i32, ptr @test_count, align 4, !tbaa !5
  %12096 = add nsw i32 %12095, 1
  store i32 %12096, ptr @test_count, align 4, !tbaa !5
  %12097 = load ptr, ptr %107, align 8, !tbaa !9
  %12098 = call i32 @s2n_shutdown(ptr noundef %12097, ptr noundef nonnull %110)
  %12099 = icmp eq i32 %12098, -1
  br i1 %12099, label %12100, label %12122

12100:                                            ; preds = %12094
  %12101 = load i32, ptr %1288, align 4, !tbaa !5
  %12102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12103 = call i32 @s2n_print_stacktrace(ptr noundef %12102) #11
  %12104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12105 = trunc nuw i8 %12104 to i1
  br i1 %12105, label %12106, label %12110

12106:                                            ; preds = %12100
  %12107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12108 = call i32 @fileno(ptr noundef %12107) #11
  %12109 = call i32 @isatty(i32 noundef %12108) #11
  %.not1229 = icmp eq i32 %12109, 0
  br i1 %.not1229, label %12110, label %12111

12110:                                            ; preds = %12106, %12100
  br label %12111

12111:                                            ; preds = %12106, %12110
  %.str.11.sink5246 = phi ptr [ @.str.11, %12110 ], [ @.str.8, %12106 ]
  store i32 %12101, ptr %1288, align 4, !tbaa !5
  %12112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12113 = load i32, ptr @test_count, align 4, !tbaa !5
  %12114 = load i32, ptr %1234, align 4, !tbaa !5
  %12115 = call ptr @s2n_strerror(i32 noundef %12114, ptr noundef nonnull @.str.10) #11
  %12116 = load i32, ptr %1234, align 4, !tbaa !5
  %12117 = call ptr @s2n_strerror_debug(i32 noundef %12116, ptr noundef nonnull @.str.10) #11
  %12118 = load i32, ptr %1288, align 4, !tbaa !5
  %12119 = call ptr @strerror(i32 noundef %12118) #11
  %12120 = load i32, ptr %1288, align 4, !tbaa !5
  %12121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12112, ptr noundef nonnull %.str.11.sink5246, i32 noundef %12113, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.7, i32 noundef 994, ptr noundef %12115, ptr noundef %12117, ptr noundef %12119, i32 noundef %12120) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12122:                                            ; preds = %12094
  %12123 = load i32, ptr @test_count, align 4, !tbaa !5
  %12124 = add nsw i32 %12123, 1
  store i32 %12124, ptr @test_count, align 4, !tbaa !5
  %12125 = load ptr, ptr %108, align 8, !tbaa !9
  %12126 = call i32 @s2n_shutdown(ptr noundef %12125, ptr noundef nonnull %110)
  %12127 = icmp eq i32 %12126, -1
  br i1 %12127, label %12128, label %12150

12128:                                            ; preds = %12122
  %12129 = load i32, ptr %1288, align 4, !tbaa !5
  %12130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12131 = call i32 @s2n_print_stacktrace(ptr noundef %12130) #11
  %12132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12133 = trunc nuw i8 %12132 to i1
  br i1 %12133, label %12134, label %12138

12134:                                            ; preds = %12128
  %12135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12136 = call i32 @fileno(ptr noundef %12135) #11
  %12137 = call i32 @isatty(i32 noundef %12136) #11
  %.not1228 = icmp eq i32 %12137, 0
  br i1 %.not1228, label %12138, label %12139

12138:                                            ; preds = %12134, %12128
  br label %12139

12139:                                            ; preds = %12134, %12138
  %.str.11.sink5255 = phi ptr [ @.str.11, %12138 ], [ @.str.8, %12134 ]
  store i32 %12129, ptr %1288, align 4, !tbaa !5
  %12140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12141 = load i32, ptr @test_count, align 4, !tbaa !5
  %12142 = load i32, ptr %1234, align 4, !tbaa !5
  %12143 = call ptr @s2n_strerror(i32 noundef %12142, ptr noundef nonnull @.str.10) #11
  %12144 = load i32, ptr %1234, align 4, !tbaa !5
  %12145 = call ptr @s2n_strerror_debug(i32 noundef %12144, ptr noundef nonnull @.str.10) #11
  %12146 = load i32, ptr %1288, align 4, !tbaa !5
  %12147 = call ptr @strerror(i32 noundef %12146) #11
  %12148 = load i32, ptr %1288, align 4, !tbaa !5
  %12149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12140, ptr noundef nonnull %.str.11.sink5255, i32 noundef %12141, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.7, i32 noundef 995, ptr noundef %12143, ptr noundef %12145, ptr noundef %12147, i32 noundef %12148) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12150:                                            ; preds = %12122
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %110) #11
  %12151 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef nonnull %109) #11
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %109) #11
  %12152 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %108) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %108) #11
  %12153 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %107) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %107) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %111) #11
  %12154 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %12154, ptr %111, align 8, !tbaa !9
  %12155 = load i32, ptr @test_count, align 4, !tbaa !5
  %12156 = add nsw i32 %12155, 1
  store i32 %12156, ptr @test_count, align 4, !tbaa !5
  %12157 = icmp eq ptr %12154, null
  br i1 %12157, label %12158, label %12180

12158:                                            ; preds = %12150
  %12159 = load i32, ptr %1288, align 4, !tbaa !5
  %12160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12161 = call i32 @s2n_print_stacktrace(ptr noundef %12160) #11
  %12162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12163 = trunc nuw i8 %12162 to i1
  br i1 %12163, label %12164, label %12168

12164:                                            ; preds = %12158
  %12165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12166 = call i32 @fileno(ptr noundef %12165) #11
  %12167 = call i32 @isatty(i32 noundef %12166) #11
  %.not1227 = icmp eq i32 %12167, 0
  br i1 %.not1227, label %12168, label %12169

12168:                                            ; preds = %12164, %12158
  br label %12169

12169:                                            ; preds = %12164, %12168
  %.str.11.sink5264 = phi ptr [ @.str.11, %12168 ], [ @.str.8, %12164 ]
  store i32 %12159, ptr %1288, align 4, !tbaa !5
  %12170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12171 = load i32, ptr @test_count, align 4, !tbaa !5
  %12172 = load i32, ptr %1234, align 4, !tbaa !5
  %12173 = call ptr @s2n_strerror(i32 noundef %12172, ptr noundef nonnull @.str.10) #11
  %12174 = load i32, ptr %1234, align 4, !tbaa !5
  %12175 = call ptr @s2n_strerror_debug(i32 noundef %12174, ptr noundef nonnull @.str.10) #11
  %12176 = load i32, ptr %1288, align 4, !tbaa !5
  %12177 = call ptr @strerror(i32 noundef %12176) #11
  %12178 = load i32, ptr %1288, align 4, !tbaa !5
  %12179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12170, ptr noundef nonnull %.str.11.sink5264, i32 noundef %12171, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.7, i32 noundef 1002, ptr noundef %12173, ptr noundef %12175, ptr noundef %12177, i32 noundef %12178) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12180:                                            ; preds = %12150
  call void @s2n_ktls_configure_connection(ptr noundef nonnull %12154, i32 noundef 0) #11
  call void @s2n_ktls_configure_connection(ptr noundef nonnull %12154, i32 noundef 1) #11
  %12181 = load i32, ptr @test_count, align 4, !tbaa !5
  %12182 = add nsw i32 %12181, 1
  store i32 %12182, ptr @test_count, align 4, !tbaa !5
  %12183 = call i32 @s2n_skip_handshake(ptr noundef nonnull %12154) #11
  %12184 = call zeroext i1 @s2n_result_is_ok(i32 %12183)
  br i1 %12184, label %12207, label %12185

12185:                                            ; preds = %12180
  %12186 = load i32, ptr %1288, align 4, !tbaa !5
  %12187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12188 = call i32 @s2n_print_stacktrace(ptr noundef %12187) #11
  %12189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12190 = trunc nuw i8 %12189 to i1
  br i1 %12190, label %12191, label %12195

12191:                                            ; preds = %12185
  %12192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12193 = call i32 @fileno(ptr noundef %12192) #11
  %12194 = call i32 @isatty(i32 noundef %12193) #11
  %.not1192 = icmp eq i32 %12194, 0
  br i1 %.not1192, label %12195, label %12196

12195:                                            ; preds = %12191, %12185
  br label %12196

12196:                                            ; preds = %12191, %12195
  %.str.11.sink5273 = phi ptr [ @.str.11, %12195 ], [ @.str.8, %12191 ]
  store i32 %12186, ptr %1288, align 4, !tbaa !5
  %12197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12198 = load i32, ptr @test_count, align 4, !tbaa !5
  %12199 = load i32, ptr %1234, align 4, !tbaa !5
  %12200 = call ptr @s2n_strerror(i32 noundef %12199, ptr noundef nonnull @.str.10) #11
  %12201 = load i32, ptr %1234, align 4, !tbaa !5
  %12202 = call ptr @s2n_strerror_debug(i32 noundef %12201, ptr noundef nonnull @.str.10) #11
  %12203 = load i32, ptr %1288, align 4, !tbaa !5
  %12204 = call ptr @strerror(i32 noundef %12203) #11
  %12205 = load i32, ptr %1288, align 4, !tbaa !5
  %12206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12197, ptr noundef nonnull %.str.11.sink5273, i32 noundef %12198, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.7, i32 noundef 1005, ptr noundef %12200, ptr noundef %12202, ptr noundef %12204, i32 noundef %12205) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12207:                                            ; preds = %12180
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %112) #11
  %12208 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %12208, ptr %112, align 8, !tbaa !9
  %12209 = load i32, ptr @test_count, align 4, !tbaa !5
  %12210 = add nsw i32 %12209, 1
  store i32 %12210, ptr @test_count, align 4, !tbaa !5
  %12211 = icmp eq ptr %12208, null
  br i1 %12211, label %12212, label %12234

12212:                                            ; preds = %12207
  %12213 = load i32, ptr %1288, align 4, !tbaa !5
  %12214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12215 = call i32 @s2n_print_stacktrace(ptr noundef %12214) #11
  %12216 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12217 = trunc nuw i8 %12216 to i1
  br i1 %12217, label %12218, label %12222

12218:                                            ; preds = %12212
  %12219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12220 = call i32 @fileno(ptr noundef %12219) #11
  %12221 = call i32 @isatty(i32 noundef %12220) #11
  %.not1226 = icmp eq i32 %12221, 0
  br i1 %.not1226, label %12222, label %12223

12222:                                            ; preds = %12218, %12212
  br label %12223

12223:                                            ; preds = %12218, %12222
  %.str.11.sink5282 = phi ptr [ @.str.11, %12222 ], [ @.str.8, %12218 ]
  store i32 %12213, ptr %1288, align 4, !tbaa !5
  %12224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12225 = load i32, ptr @test_count, align 4, !tbaa !5
  %12226 = load i32, ptr %1234, align 4, !tbaa !5
  %12227 = call ptr @s2n_strerror(i32 noundef %12226, ptr noundef nonnull @.str.10) #11
  %12228 = load i32, ptr %1234, align 4, !tbaa !5
  %12229 = call ptr @s2n_strerror_debug(i32 noundef %12228, ptr noundef nonnull @.str.10) #11
  %12230 = load i32, ptr %1288, align 4, !tbaa !5
  %12231 = call ptr @strerror(i32 noundef %12230) #11
  %12232 = load i32, ptr %1288, align 4, !tbaa !5
  %12233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12224, ptr noundef nonnull %.str.11.sink5282, i32 noundef %12225, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.7, i32 noundef 1009, ptr noundef %12227, ptr noundef %12229, ptr noundef %12231, i32 noundef %12232) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12234:                                            ; preds = %12207
  call void @s2n_ktls_configure_connection(ptr noundef nonnull %12208, i32 noundef 0) #11
  call void @s2n_ktls_configure_connection(ptr noundef nonnull %12208, i32 noundef 1) #11
  %12235 = load i32, ptr @test_count, align 4, !tbaa !5
  %12236 = add nsw i32 %12235, 1
  store i32 %12236, ptr @test_count, align 4, !tbaa !5
  %12237 = call i32 @s2n_skip_handshake(ptr noundef nonnull %12208) #11
  %12238 = call zeroext i1 @s2n_result_is_ok(i32 %12237)
  br i1 %12238, label %12261, label %12239

12239:                                            ; preds = %12234
  %12240 = load i32, ptr %1288, align 4, !tbaa !5
  %12241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12242 = call i32 @s2n_print_stacktrace(ptr noundef %12241) #11
  %12243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12244 = trunc nuw i8 %12243 to i1
  br i1 %12244, label %12245, label %12249

12245:                                            ; preds = %12239
  %12246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12247 = call i32 @fileno(ptr noundef %12246) #11
  %12248 = call i32 @isatty(i32 noundef %12247) #11
  %.not1193 = icmp eq i32 %12248, 0
  br i1 %.not1193, label %12249, label %12250

12249:                                            ; preds = %12245, %12239
  br label %12250

12250:                                            ; preds = %12245, %12249
  %.str.11.sink5291 = phi ptr [ @.str.11, %12249 ], [ @.str.8, %12245 ]
  store i32 %12240, ptr %1288, align 4, !tbaa !5
  %12251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12252 = load i32, ptr @test_count, align 4, !tbaa !5
  %12253 = load i32, ptr %1234, align 4, !tbaa !5
  %12254 = call ptr @s2n_strerror(i32 noundef %12253, ptr noundef nonnull @.str.10) #11
  %12255 = load i32, ptr %1234, align 4, !tbaa !5
  %12256 = call ptr @s2n_strerror_debug(i32 noundef %12255, ptr noundef nonnull @.str.10) #11
  %12257 = load i32, ptr %1288, align 4, !tbaa !5
  %12258 = call ptr @strerror(i32 noundef %12257) #11
  %12259 = load i32, ptr %1288, align 4, !tbaa !5
  %12260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12251, ptr noundef nonnull %.str.11.sink5291, i32 noundef %12252, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.7, i32 noundef 1012, ptr noundef %12254, ptr noundef %12256, ptr noundef %12258, i32 noundef %12259) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12261:                                            ; preds = %12234
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %113) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %113, i8 0, i64 192, i1 false)
  %12262 = load i32, ptr @test_count, align 4, !tbaa !5
  %12263 = add nsw i32 %12262, 1
  store i32 %12263, ptr @test_count, align 4, !tbaa !5
  %12264 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef nonnull %12208, ptr noundef nonnull %12154, ptr noundef nonnull %113) #11
  %12265 = call zeroext i1 @s2n_result_is_ok(i32 %12264)
  br i1 %12265, label %12288, label %12266

12266:                                            ; preds = %12261
  %12267 = load i32, ptr %1288, align 4, !tbaa !5
  %12268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12269 = call i32 @s2n_print_stacktrace(ptr noundef %12268) #11
  %12270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12271 = trunc nuw i8 %12270 to i1
  br i1 %12271, label %12272, label %12276

12272:                                            ; preds = %12266
  %12273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12274 = call i32 @fileno(ptr noundef %12273) #11
  %12275 = call i32 @isatty(i32 noundef %12274) #11
  %.not1194 = icmp eq i32 %12275, 0
  br i1 %.not1194, label %12276, label %12277

12276:                                            ; preds = %12272, %12266
  br label %12277

12277:                                            ; preds = %12272, %12276
  %.str.11.sink5300 = phi ptr [ @.str.11, %12276 ], [ @.str.8, %12272 ]
  store i32 %12267, ptr %1288, align 4, !tbaa !5
  %12278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12279 = load i32, ptr @test_count, align 4, !tbaa !5
  %12280 = load i32, ptr %1234, align 4, !tbaa !5
  %12281 = call ptr @s2n_strerror(i32 noundef %12280, ptr noundef nonnull @.str.10) #11
  %12282 = load i32, ptr %1234, align 4, !tbaa !5
  %12283 = call ptr @s2n_strerror_debug(i32 noundef %12282, ptr noundef nonnull @.str.10) #11
  %12284 = load i32, ptr %1288, align 4, !tbaa !5
  %12285 = call ptr @strerror(i32 noundef %12284) #11
  %12286 = load i32, ptr %1288, align 4, !tbaa !5
  %12287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12278, ptr noundef nonnull %.str.11.sink5300, i32 noundef %12279, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.7, i32 noundef 1016, ptr noundef %12281, ptr noundef %12283, ptr noundef %12285, i32 noundef %12286) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12288:                                            ; preds = %12261
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %114) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %114, ptr noundef nonnull align 1 dereferenceable(12) @__const.main.app_data, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %115) #11
  store i32 0, ptr %115, align 4, !tbaa !5
  %12289 = load i32, ptr @test_count, align 4, !tbaa !5
  %12290 = add nsw i32 %12289, 1
  store i32 %12290, ptr @test_count, align 4, !tbaa !5
  %12291 = call i64 @s2n_send(ptr noundef nonnull %12154, ptr noundef nonnull %114, i64 noundef 12, ptr noundef nonnull %115) #11
  %12292 = icmp eq i64 %12291, -1
  br i1 %12292, label %12338, label %12360

12293:                                            ; preds = %12360
  %12294 = load i32, ptr @test_count, align 4, !tbaa !5
  %12295 = add nsw i32 %12294, 1
  store i32 %12295, ptr @test_count, align 4, !tbaa !5
  %12296 = call i64 @s2n_send(ptr noundef nonnull %12154, ptr noundef nonnull %114, i64 noundef 12, ptr noundef nonnull %115) #11
  %12297 = icmp eq i64 %12296, -1
  br i1 %12297, label %12338, label %12298

12298:                                            ; preds = %12293
  %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
  %12301 = call i64 @s2n_send(ptr noundef nonnull %12208, ptr noundef nonnull %114, i64 noundef 12, ptr noundef nonnull %115) #11
  %12302 = icmp eq i64 %12301, -1
  br i1 %12302, label %12365, label %12303

12303:                                            ; preds = %12298
  %12304 = load i32, ptr @test_count, align 4, !tbaa !5
  %12305 = add nsw i32 %12304, 1
  store i32 %12305, ptr @test_count, align 4, !tbaa !5
  %12306 = call i64 @s2n_send(ptr noundef nonnull %12154, ptr noundef nonnull %114, i64 noundef 12, ptr noundef nonnull %115) #11
  %12307 = icmp eq i64 %12306, -1
  br i1 %12307, label %12338, label %12308

12308:                                            ; preds = %12303
  %12309 = load i32, ptr @test_count, align 4, !tbaa !5
  %12310 = add nsw i32 %12309, 1
  store i32 %12310, ptr @test_count, align 4, !tbaa !5
  %12311 = call i64 @s2n_send(ptr noundef nonnull %12208, ptr noundef nonnull %114, i64 noundef 12, ptr noundef nonnull %115) #11
  %12312 = icmp eq i64 %12311, -1
  br i1 %12312, label %12365, label %12313

12313:                                            ; preds = %12308
  %12314 = load i32, ptr @test_count, align 4, !tbaa !5
  %12315 = add nsw i32 %12314, 1
  store i32 %12315, ptr @test_count, align 4, !tbaa !5
  %12316 = call i64 @s2n_send(ptr noundef nonnull %12154, ptr noundef nonnull %114, i64 noundef 12, ptr noundef nonnull %115) #11
  %12317 = icmp eq i64 %12316, -1
  br i1 %12317, label %12338, label %12318

12318:                                            ; preds = %12313
  %12319 = load i32, ptr @test_count, align 4, !tbaa !5
  %12320 = add nsw i32 %12319, 1
  store i32 %12320, ptr @test_count, align 4, !tbaa !5
  %12321 = call i64 @s2n_send(ptr noundef nonnull %12208, ptr noundef nonnull %114, i64 noundef 12, ptr noundef nonnull %115) #11
  %12322 = icmp eq i64 %12321, -1
  br i1 %12322, label %12365, label %12323

12323:                                            ; preds = %12318
  %12324 = load i32, ptr @test_count, align 4, !tbaa !5
  %12325 = add nsw i32 %12324, 1
  store i32 %12325, ptr @test_count, align 4, !tbaa !5
  %12326 = call i64 @s2n_send(ptr noundef nonnull %12154, ptr noundef nonnull %114, i64 noundef 12, ptr noundef nonnull %115) #11
  %12327 = icmp eq i64 %12326, -1
  br i1 %12327, label %12338, label %12328

12328:                                            ; preds = %12323
  %12329 = load i32, ptr @test_count, align 4, !tbaa !5
  %12330 = add nsw i32 %12329, 1
  store i32 %12330, ptr @test_count, align 4, !tbaa !5
  %12331 = call i64 @s2n_send(ptr noundef nonnull %12208, ptr noundef nonnull %114, i64 noundef 12, ptr noundef nonnull %115) #11
  %12332 = icmp eq i64 %12331, -1
  br i1 %12332, label %12365, label %12333

12333:                                            ; preds = %12328
  %12334 = load i32, ptr @test_count, align 4, !tbaa !5
  %12335 = add nsw i32 %12334, 1
  store i32 %12335, ptr @test_count, align 4, !tbaa !5
  %12336 = call i32 @s2n_test_validate_ancillary(ptr noundef nonnull %113, i8 noundef zeroext 23, i16 noundef zeroext 12) #11
  %12337 = call zeroext i1 @s2n_result_is_ok(i32 %12336)
  br i1 %12337, label %12409, label %12387

12338:                                            ; preds = %12323, %12313, %12303, %12293, %12288
  %12339 = load i32, ptr %1288, align 4, !tbaa !5
  %12340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12341 = call i32 @s2n_print_stacktrace(ptr noundef %12340) #11
  %12342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12343 = trunc nuw i8 %12342 to i1
  br i1 %12343, label %12344, label %12348

12344:                                            ; preds = %12338
  %12345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12346 = call i32 @fileno(ptr noundef %12345) #11
  %12347 = call i32 @isatty(i32 noundef %12346) #11
  %.not1225 = icmp eq i32 %12347, 0
  br i1 %.not1225, label %12348, label %12349

12348:                                            ; preds = %12344, %12338
  br label %12349

12349:                                            ; preds = %12344, %12348
  %.str.11.sink5309 = phi ptr [ @.str.11, %12348 ], [ @.str.8, %12344 ]
  store i32 %12339, ptr %1288, align 4, !tbaa !5
  %12350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12351 = load i32, ptr @test_count, align 4, !tbaa !5
  %12352 = load i32, ptr %1234, align 4, !tbaa !5
  %12353 = call ptr @s2n_strerror(i32 noundef %12352, ptr noundef nonnull @.str.10) #11
  %12354 = load i32, ptr %1234, align 4, !tbaa !5
  %12355 = call ptr @s2n_strerror_debug(i32 noundef %12354, ptr noundef nonnull @.str.10) #11
  %12356 = load i32, ptr %1288, align 4, !tbaa !5
  %12357 = call ptr @strerror(i32 noundef %12356) #11
  %12358 = load i32, ptr %1288, align 4, !tbaa !5
  %12359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12350, ptr noundef nonnull %.str.11.sink5309, i32 noundef %12351, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.7, i32 noundef 1024, ptr noundef %12353, ptr noundef %12355, ptr noundef %12357, i32 noundef %12358) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12360:                                            ; preds = %12288
  %12361 = load i32, ptr @test_count, align 4, !tbaa !5
  %12362 = add nsw i32 %12361, 1
  store i32 %12362, ptr @test_count, align 4, !tbaa !5
  %12363 = call i64 @s2n_send(ptr noundef nonnull %12208, ptr noundef nonnull %114, i64 noundef 12, ptr noundef nonnull %115) #11
  %12364 = icmp eq i64 %12363, -1
  br i1 %12364, label %12365, label %12293

12365:                                            ; preds = %12328, %12318, %12308, %12298, %12360
  %12366 = load i32, ptr %1288, align 4, !tbaa !5
  %12367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12368 = call i32 @s2n_print_stacktrace(ptr noundef %12367) #11
  %12369 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12370 = trunc nuw i8 %12369 to i1
  br i1 %12370, label %12371, label %12375

12371:                                            ; preds = %12365
  %12372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12373 = call i32 @fileno(ptr noundef %12372) #11
  %12374 = call i32 @isatty(i32 noundef %12373) #11
  %.not1224 = icmp eq i32 %12374, 0
  br i1 %.not1224, label %12375, label %12376

12375:                                            ; preds = %12371, %12365
  br label %12376

12376:                                            ; preds = %12371, %12375
  %.str.11.sink5318 = phi ptr [ @.str.11, %12375 ], [ @.str.8, %12371 ]
  store i32 %12366, ptr %1288, align 4, !tbaa !5
  %12377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12378 = load i32, ptr @test_count, align 4, !tbaa !5
  %12379 = load i32, ptr %1234, align 4, !tbaa !5
  %12380 = call ptr @s2n_strerror(i32 noundef %12379, ptr noundef nonnull @.str.10) #11
  %12381 = load i32, ptr %1234, align 4, !tbaa !5
  %12382 = call ptr @s2n_strerror_debug(i32 noundef %12381, ptr noundef nonnull @.str.10) #11
  %12383 = load i32, ptr %1288, align 4, !tbaa !5
  %12384 = call ptr @strerror(i32 noundef %12383) #11
  %12385 = load i32, ptr %1288, align 4, !tbaa !5
  %12386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12377, ptr noundef nonnull %.str.11.sink5318, i32 noundef %12378, ptr noundef nonnull @.str.143, ptr noundef nonnull @.str.7, i32 noundef 1025, ptr noundef %12380, ptr noundef %12382, ptr noundef %12384, i32 noundef %12385) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12387:                                            ; preds = %12333
  %12388 = load i32, ptr %1288, align 4, !tbaa !5
  %12389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12390 = call i32 @s2n_print_stacktrace(ptr noundef %12389) #11
  %12391 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12392 = trunc nuw i8 %12391 to i1
  br i1 %12392, label %12393, label %12397

12393:                                            ; preds = %12387
  %12394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12395 = call i32 @fileno(ptr noundef %12394) #11
  %12396 = call i32 @isatty(i32 noundef %12395) #11
  %.not1195 = icmp eq i32 %12396, 0
  br i1 %.not1195, label %12397, label %12398

12397:                                            ; preds = %12393, %12387
  br label %12398

12398:                                            ; preds = %12393, %12397
  %.str.11.sink5327 = phi ptr [ @.str.11, %12397 ], [ @.str.8, %12393 ]
  store i32 %12388, ptr %1288, align 4, !tbaa !5
  %12399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12400 = load i32, ptr @test_count, align 4, !tbaa !5
  %12401 = load i32, ptr %1234, align 4, !tbaa !5
  %12402 = call ptr @s2n_strerror(i32 noundef %12401, ptr noundef nonnull @.str.10) #11
  %12403 = load i32, ptr %1234, align 4, !tbaa !5
  %12404 = call ptr @s2n_strerror_debug(i32 noundef %12403, ptr noundef nonnull @.str.10) #11
  %12405 = load i32, ptr %1288, align 4, !tbaa !5
  %12406 = call ptr @strerror(i32 noundef %12405) #11
  %12407 = load i32, ptr %1288, align 4, !tbaa !5
  %12408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12399, ptr noundef nonnull %.str.11.sink5327, i32 noundef %12400, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.7, i32 noundef 1027, ptr noundef %12402, ptr noundef %12404, ptr noundef %12406, i32 noundef %12407) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12409:                                            ; preds = %12333
  %12410 = load i32, ptr @test_count, align 4, !tbaa !5
  %12411 = add nsw i32 %12410, 1
  store i32 %12411, ptr @test_count, align 4, !tbaa !5
  %12412 = getelementptr inbounds i8, ptr %113, i64 96
  %12413 = call i32 @s2n_test_validate_ancillary(ptr noundef nonnull %12412, i8 noundef zeroext 23, i16 noundef zeroext 12) #11
  %12414 = call zeroext i1 @s2n_result_is_ok(i32 %12413)
  br i1 %12414, label %12437, label %12415

12415:                                            ; preds = %12409
  %12416 = load i32, ptr %1288, align 4, !tbaa !5
  %12417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12418 = call i32 @s2n_print_stacktrace(ptr noundef %12417) #11
  %12419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12420 = trunc nuw i8 %12419 to i1
  br i1 %12420, label %12421, label %12425

12421:                                            ; preds = %12415
  %12422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12423 = call i32 @fileno(ptr noundef %12422) #11
  %12424 = call i32 @isatty(i32 noundef %12423) #11
  %.not1196 = icmp eq i32 %12424, 0
  br i1 %.not1196, label %12425, label %12426

12425:                                            ; preds = %12421, %12415
  br label %12426

12426:                                            ; preds = %12421, %12425
  %.str.11.sink5336 = phi ptr [ @.str.11, %12425 ], [ @.str.8, %12421 ]
  store i32 %12416, ptr %1288, align 4, !tbaa !5
  %12427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12428 = load i32, ptr @test_count, align 4, !tbaa !5
  %12429 = load i32, ptr %1234, align 4, !tbaa !5
  %12430 = call ptr @s2n_strerror(i32 noundef %12429, ptr noundef nonnull @.str.10) #11
  %12431 = load i32, ptr %1234, align 4, !tbaa !5
  %12432 = call ptr @s2n_strerror_debug(i32 noundef %12431, ptr noundef nonnull @.str.10) #11
  %12433 = load i32, ptr %1288, align 4, !tbaa !5
  %12434 = call ptr @strerror(i32 noundef %12433) #11
  %12435 = load i32, ptr %1288, align 4, !tbaa !5
  %12436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12427, ptr noundef nonnull %.str.11.sink5336, i32 noundef %12428, ptr noundef nonnull @.str.145, ptr noundef nonnull @.str.7, i32 noundef 1028, ptr noundef %12430, ptr noundef %12432, ptr noundef %12434, i32 noundef %12435) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12437:                                            ; preds = %12409
  %12438 = load i32, ptr @test_count, align 4, !tbaa !5
  %12439 = add nsw i32 %12438, 1
  store i32 %12439, ptr @test_count, align 4, !tbaa !5
  %12440 = call i32 @s2n_test_records_in_ancillary(ptr noundef nonnull %113, i16 noundef zeroext 5) #11
  %12441 = call zeroext i1 @s2n_result_is_ok(i32 %12440)
  br i1 %12441, label %12464, label %12442

12442:                                            ; preds = %12437
  %12443 = load i32, ptr %1288, align 4, !tbaa !5
  %12444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12445 = call i32 @s2n_print_stacktrace(ptr noundef %12444) #11
  %12446 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12447 = trunc nuw i8 %12446 to i1
  br i1 %12447, label %12448, label %12452

12448:                                            ; preds = %12442
  %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
  %.not1197 = icmp eq i32 %12451, 0
  br i1 %.not1197, label %12452, label %12453

12452:                                            ; preds = %12448, %12442
  br label %12453

12453:                                            ; preds = %12448, %12452
  %.str.11.sink5345 = phi ptr [ @.str.11, %12452 ], [ @.str.8, %12448 ]
  store i32 %12443, ptr %1288, align 4, !tbaa !5
  %12454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12455 = load i32, ptr @test_count, align 4, !tbaa !5
  %12456 = load i32, ptr %1234, align 4, !tbaa !5
  %12457 = call ptr @s2n_strerror(i32 noundef %12456, ptr noundef nonnull @.str.10) #11
  %12458 = load i32, ptr %1234, align 4, !tbaa !5
  %12459 = call ptr @s2n_strerror_debug(i32 noundef %12458, ptr noundef nonnull @.str.10) #11
  %12460 = load i32, ptr %1288, align 4, !tbaa !5
  %12461 = call ptr @strerror(i32 noundef %12460) #11
  %12462 = load i32, ptr %1288, align 4, !tbaa !5
  %12463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12454, ptr noundef nonnull %.str.11.sink5345, i32 noundef %12455, ptr noundef nonnull @.str.146, ptr noundef nonnull @.str.7, i32 noundef 1029, ptr noundef %12457, ptr noundef %12459, ptr noundef %12461, i32 noundef %12462) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12464:                                            ; preds = %12437
  %12465 = load i32, ptr @test_count, align 4, !tbaa !5
  %12466 = add nsw i32 %12465, 1
  store i32 %12466, ptr @test_count, align 4, !tbaa !5
  %12467 = call i32 @s2n_test_records_in_ancillary(ptr noundef nonnull %12412, i16 noundef zeroext 5) #11
  %12468 = call zeroext i1 @s2n_result_is_ok(i32 %12467)
  br i1 %12468, label %12491, label %12469

12469:                                            ; preds = %12464
  %12470 = load i32, ptr %1288, align 4, !tbaa !5
  %12471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12472 = call i32 @s2n_print_stacktrace(ptr noundef %12471) #11
  %12473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12474 = trunc nuw i8 %12473 to i1
  br i1 %12474, label %12475, label %12479

12475:                                            ; preds = %12469
  %12476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12477 = call i32 @fileno(ptr noundef %12476) #11
  %12478 = call i32 @isatty(i32 noundef %12477) #11
  %.not1198 = icmp eq i32 %12478, 0
  br i1 %.not1198, label %12479, label %12480

12479:                                            ; preds = %12475, %12469
  br label %12480

12480:                                            ; preds = %12475, %12479
  %.str.11.sink5354 = phi ptr [ @.str.11, %12479 ], [ @.str.8, %12475 ]
  store i32 %12470, ptr %1288, align 4, !tbaa !5
  %12481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12482 = load i32, ptr @test_count, align 4, !tbaa !5
  %12483 = load i32, ptr %1234, align 4, !tbaa !5
  %12484 = call ptr @s2n_strerror(i32 noundef %12483, ptr noundef nonnull @.str.10) #11
  %12485 = load i32, ptr %1234, align 4, !tbaa !5
  %12486 = call ptr @s2n_strerror_debug(i32 noundef %12485, ptr noundef nonnull @.str.10) #11
  %12487 = load i32, ptr %1288, align 4, !tbaa !5
  %12488 = call ptr @strerror(i32 noundef %12487) #11
  %12489 = load i32, ptr %1288, align 4, !tbaa !5
  %12490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12481, ptr noundef nonnull %.str.11.sink5354, i32 noundef %12482, ptr noundef nonnull @.str.147, ptr noundef nonnull @.str.7, i32 noundef 1030, ptr noundef %12484, ptr noundef %12486, ptr noundef %12488, i32 noundef %12489) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12491:                                            ; preds = %12464
  %12492 = load i32, ptr @test_count, align 4, !tbaa !5
  %12493 = add nsw i32 %12492, 1
  store i32 %12493, ptr @test_count, align 4, !tbaa !5
  %12494 = call i32 @s2n_shutdown(ptr noundef nonnull %12154, ptr noundef nonnull %115)
  %12495 = icmp eq i32 %12494, -1
  br i1 %12495, label %12518, label %12496

12496:                                            ; preds = %12491
  %12497 = load i32, ptr %1288, align 4, !tbaa !5
  %12498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12499 = call i32 @s2n_print_stacktrace(ptr noundef %12498) #11
  %12500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12501 = trunc nuw i8 %12500 to i1
  br i1 %12501, label %12502, label %12506

12502:                                            ; preds = %12496
  %12503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12504 = call i32 @fileno(ptr noundef %12503) #11
  %12505 = call i32 @isatty(i32 noundef %12504) #11
  %.not1199 = icmp eq i32 %12505, 0
  br i1 %.not1199, label %12506, label %12507

12506:                                            ; preds = %12502, %12496
  br label %12507

12507:                                            ; preds = %12502, %12506
  %.str.11.sink5363 = phi ptr [ @.str.11, %12506 ], [ @.str.8, %12502 ]
  store i32 %12497, ptr %1288, align 4, !tbaa !5
  %12508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12509 = load i32, ptr @test_count, align 4, !tbaa !5
  %12510 = load i32, ptr %1234, align 4, !tbaa !5
  %12511 = call ptr @s2n_strerror(i32 noundef %12510, ptr noundef nonnull @.str.10) #11
  %12512 = load i32, ptr %1234, align 4, !tbaa !5
  %12513 = call ptr @s2n_strerror_debug(i32 noundef %12512, ptr noundef nonnull @.str.10) #11
  %12514 = load i32, ptr %1288, align 4, !tbaa !5
  %12515 = call ptr @strerror(i32 noundef %12514) #11
  %12516 = load i32, ptr %1288, align 4, !tbaa !5
  %12517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12508, ptr noundef nonnull %.str.11.sink5363, i32 noundef %12509, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.7, i32 noundef 1034, ptr noundef %12511, ptr noundef %12513, ptr noundef %12515, i32 noundef %12516) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12518:                                            ; preds = %12491
  %12519 = load i32, ptr @test_count, align 4, !tbaa !5
  %12520 = add nsw i32 %12519, 1
  store i32 %12520, ptr @test_count, align 4, !tbaa !5
  %12521 = load i32, ptr %1234, align 4, !tbaa !5
  %12522 = icmp eq i32 %12521, 201326592
  br i1 %12522, label %12545, label %12523

12523:                                            ; preds = %12518
  %12524 = load i32, ptr %1288, align 4, !tbaa !5
  %12525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12526 = call i32 @s2n_print_stacktrace(ptr noundef %12525) #11
  %12527 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12528 = trunc nuw i8 %12527 to i1
  br i1 %12528, label %12529, label %12533

12529:                                            ; preds = %12523
  %12530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12531 = call i32 @fileno(ptr noundef %12530) #11
  %12532 = call i32 @isatty(i32 noundef %12531) #11
  %.not1200 = icmp eq i32 %12532, 0
  br i1 %.not1200, label %12533, label %12534

12533:                                            ; preds = %12529, %12523
  br label %12534

12534:                                            ; preds = %12529, %12533
  %.str.11.sink5372 = phi ptr [ @.str.11, %12533 ], [ @.str.8, %12529 ]
  store i32 %12524, ptr %1288, align 4, !tbaa !5
  %12535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12536 = load i32, ptr @test_count, align 4, !tbaa !5
  %12537 = load i32, ptr %1234, align 4, !tbaa !5
  %12538 = call ptr @s2n_strerror(i32 noundef %12537, ptr noundef nonnull @.str.10) #11
  %12539 = load i32, ptr %1234, align 4, !tbaa !5
  %12540 = call ptr @s2n_strerror_debug(i32 noundef %12539, ptr noundef nonnull @.str.10) #11
  %12541 = load i32, ptr %1288, align 4, !tbaa !5
  %12542 = call ptr @strerror(i32 noundef %12541) #11
  %12543 = load i32, ptr %1288, align 4, !tbaa !5
  %12544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12535, ptr noundef nonnull %.str.11.sink5372, i32 noundef %12536, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.7, i32 noundef 1034, ptr noundef %12538, ptr noundef %12540, ptr noundef %12542, i32 noundef %12543) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12545:                                            ; preds = %12518
  %12546 = add nsw i32 %12519, 2
  store i32 %12546, ptr @test_count, align 4, !tbaa !5
  %12547 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.10) #11
  %12548 = icmp eq ptr %12547, null
  br i1 %12548, label %12549, label %12571

12549:                                            ; preds = %12545
  %12550 = load i32, ptr %1288, align 4, !tbaa !5
  %12551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12552 = call i32 @s2n_print_stacktrace(ptr noundef %12551) #11
  %12553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12554 = trunc nuw i8 %12553 to i1
  br i1 %12554, label %12555, label %12559

12555:                                            ; preds = %12549
  %12556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12557 = call i32 @fileno(ptr noundef %12556) #11
  %12558 = call i32 @isatty(i32 noundef %12557) #11
  %.not1223 = icmp eq i32 %12558, 0
  br i1 %.not1223, label %12559, label %12560

12559:                                            ; preds = %12555, %12549
  br label %12560

12560:                                            ; preds = %12555, %12559
  %.str.11.sink5381 = phi ptr [ @.str.11, %12559 ], [ @.str.8, %12555 ]
  store i32 %12550, ptr %1288, align 4, !tbaa !5
  %12561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12562 = load i32, ptr @test_count, align 4, !tbaa !5
  %12563 = load i32, ptr %1234, align 4, !tbaa !5
  %12564 = call ptr @s2n_strerror(i32 noundef %12563, ptr noundef nonnull @.str.10) #11
  %12565 = load i32, ptr %1234, align 4, !tbaa !5
  %12566 = call ptr @s2n_strerror_debug(i32 noundef %12565, ptr noundef nonnull @.str.10) #11
  %12567 = load i32, ptr %1288, align 4, !tbaa !5
  %12568 = call ptr @strerror(i32 noundef %12567) #11
  %12569 = load i32, ptr %1288, align 4, !tbaa !5
  %12570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12561, ptr noundef nonnull %.str.11.sink5381, i32 noundef %12562, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.7, i32 noundef 1034, ptr noundef %12564, ptr noundef %12566, ptr noundef %12568, i32 noundef %12569) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12571:                                            ; preds = %12545
  store i32 0, ptr %1234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1288, align 4, !tbaa !5
  %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 = load i32, ptr %115, align 4, !tbaa !5
  %12575 = icmp eq i32 %12574, 1
  br i1 %12575, label %12598, label %12576

12576:                                            ; preds = %12571
  %12577 = load i32, ptr %1288, align 4, !tbaa !5
  %12578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12579 = call i32 @s2n_print_stacktrace(ptr noundef %12578) #11
  %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) #11
  %12585 = call i32 @isatty(i32 noundef %12584) #11
  %.not1201 = icmp eq i32 %12585, 0
  br i1 %.not1201, label %12586, label %12587

12586:                                            ; preds = %12582, %12576
  br label %12587

12587:                                            ; preds = %12582, %12586
  %.str.11.sink5390 = phi ptr [ @.str.11, %12586 ], [ @.str.8, %12582 ]
  store i32 %12577, ptr %1288, 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 %1234, align 4, !tbaa !5
  %12591 = call ptr @s2n_strerror(i32 noundef %12590, ptr noundef nonnull @.str.10) #11
  %12592 = load i32, ptr %1234, align 4, !tbaa !5
  %12593 = call ptr @s2n_strerror_debug(i32 noundef %12592, ptr noundef nonnull @.str.10) #11
  %12594 = load i32, ptr %1288, align 4, !tbaa !5
  %12595 = call ptr @strerror(i32 noundef %12594) #11
  %12596 = load i32, ptr %1288, align 4, !tbaa !5
  %12597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12588, ptr noundef nonnull %.str.11.sink5390, i32 noundef %12589, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.7, i32 noundef 1035, ptr noundef %12591, ptr noundef %12593, ptr noundef %12595, i32 noundef %12596) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12598:                                            ; preds = %12571
  %12599 = add nsw i32 %12572, 2
  store i32 %12599, ptr @test_count, align 4, !tbaa !5
  %12600 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %12154, i32 noundef 0) #11
  br i1 %12600, label %12601, label %12623

12601:                                            ; preds = %12598
  %12602 = load i32, ptr %1288, align 4, !tbaa !5
  %12603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12604 = call i32 @s2n_print_stacktrace(ptr noundef %12603) #11
  %12605 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12606 = trunc nuw i8 %12605 to i1
  br i1 %12606, label %12607, label %12611

12607:                                            ; preds = %12601
  %12608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12609 = call i32 @fileno(ptr noundef %12608) #11
  %12610 = call i32 @isatty(i32 noundef %12609) #11
  %.not1222 = icmp eq i32 %12610, 0
  br i1 %.not1222, label %12611, label %12612

12611:                                            ; preds = %12607, %12601
  br label %12612

12612:                                            ; preds = %12607, %12611
  %.str.11.sink5399 = phi ptr [ @.str.11, %12611 ], [ @.str.8, %12607 ]
  store i32 %12602, ptr %1288, align 4, !tbaa !5
  %12613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12614 = load i32, ptr @test_count, align 4, !tbaa !5
  %12615 = load i32, ptr %1234, align 4, !tbaa !5
  %12616 = call ptr @s2n_strerror(i32 noundef %12615, ptr noundef nonnull @.str.10) #11
  %12617 = load i32, ptr %1234, align 4, !tbaa !5
  %12618 = call ptr @s2n_strerror_debug(i32 noundef %12617, ptr noundef nonnull @.str.10) #11
  %12619 = load i32, ptr %1288, align 4, !tbaa !5
  %12620 = call ptr @strerror(i32 noundef %12619) #11
  %12621 = load i32, ptr %1288, align 4, !tbaa !5
  %12622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12613, ptr noundef nonnull %.str.11.sink5399, i32 noundef %12614, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.7, i32 noundef 1036, ptr noundef %12616, ptr noundef %12618, ptr noundef %12620, i32 noundef %12621) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12623:                                            ; preds = %12598
  %12624 = load i32, ptr @test_count, align 4, !tbaa !5
  %12625 = add nsw i32 %12624, 1
  store i32 %12625, ptr @test_count, align 4, !tbaa !5
  %12626 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %12154, i32 noundef 1) #11
  br i1 %12626, label %12649, label %12627

12627:                                            ; preds = %12623
  %12628 = load i32, ptr %1288, align 4, !tbaa !5
  %12629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12630 = call i32 @s2n_print_stacktrace(ptr noundef %12629) #11
  %12631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12632 = trunc nuw i8 %12631 to i1
  br i1 %12632, label %12633, label %12637

12633:                                            ; preds = %12627
  %12634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12635 = call i32 @fileno(ptr noundef %12634) #11
  %12636 = call i32 @isatty(i32 noundef %12635) #11
  %.not1202 = icmp eq i32 %12636, 0
  br i1 %.not1202, label %12637, label %12638

12637:                                            ; preds = %12633, %12627
  br label %12638

12638:                                            ; preds = %12633, %12637
  %.str.11.sink5408 = phi ptr [ @.str.11, %12637 ], [ @.str.8, %12633 ]
  store i32 %12628, ptr %1288, align 4, !tbaa !5
  %12639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12640 = load i32, ptr @test_count, align 4, !tbaa !5
  %12641 = load i32, ptr %1234, align 4, !tbaa !5
  %12642 = call ptr @s2n_strerror(i32 noundef %12641, ptr noundef nonnull @.str.10) #11
  %12643 = load i32, ptr %1234, align 4, !tbaa !5
  %12644 = call ptr @s2n_strerror_debug(i32 noundef %12643, ptr noundef nonnull @.str.10) #11
  %12645 = load i32, ptr %1288, align 4, !tbaa !5
  %12646 = call ptr @strerror(i32 noundef %12645) #11
  %12647 = load i32, ptr %1288, align 4, !tbaa !5
  %12648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12639, ptr noundef nonnull %.str.11.sink5408, i32 noundef %12640, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.7, i32 noundef 1037, ptr noundef %12642, ptr noundef %12644, ptr noundef %12646, i32 noundef %12647) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12649:                                            ; preds = %12623
  %12650 = load i32, ptr @test_count, align 4, !tbaa !5
  %12651 = add nsw i32 %12650, 1
  store i32 %12651, ptr @test_count, align 4, !tbaa !5
  %12652 = getelementptr inbounds i8, ptr %12154, i64 2003
  %12653 = load i8, ptr %12652, align 1, !tbaa !15, !range !13, !noundef !14
  %12654 = trunc nuw i8 %12653 to i1
  br i1 %12654, label %12677, label %12655

12655:                                            ; preds = %12649
  %12656 = load i32, ptr %1288, align 4, !tbaa !5
  %12657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12658 = call i32 @s2n_print_stacktrace(ptr noundef %12657) #11
  %12659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12660 = trunc nuw i8 %12659 to i1
  br i1 %12660, label %12661, label %12665

12661:                                            ; preds = %12655
  %12662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12663 = call i32 @fileno(ptr noundef %12662) #11
  %12664 = call i32 @isatty(i32 noundef %12663) #11
  %.not1203 = icmp eq i32 %12664, 0
  br i1 %.not1203, label %12665, label %12666

12665:                                            ; preds = %12661, %12655
  br label %12666

12666:                                            ; preds = %12661, %12665
  %.str.11.sink5417 = phi ptr [ @.str.11, %12665 ], [ @.str.8, %12661 ]
  store i32 %12656, ptr %1288, align 4, !tbaa !5
  %12667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12668 = load i32, ptr @test_count, align 4, !tbaa !5
  %12669 = load i32, ptr %1234, align 4, !tbaa !5
  %12670 = call ptr @s2n_strerror(i32 noundef %12669, ptr noundef nonnull @.str.10) #11
  %12671 = load i32, ptr %1234, align 4, !tbaa !5
  %12672 = call ptr @s2n_strerror_debug(i32 noundef %12671, ptr noundef nonnull @.str.10) #11
  %12673 = load i32, ptr %1288, align 4, !tbaa !5
  %12674 = call ptr @strerror(i32 noundef %12673) #11
  %12675 = load i32, ptr %1288, align 4, !tbaa !5
  %12676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12667, ptr noundef nonnull %.str.11.sink5417, i32 noundef %12668, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.7, i32 noundef 1038, ptr noundef %12670, ptr noundef %12672, ptr noundef %12674, i32 noundef %12675) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12677:                                            ; preds = %12649
  %12678 = add nsw i32 %12650, 2
  store i32 %12678, ptr @test_count, align 4, !tbaa !5
  %12679 = call i32 @s2n_test_records_in_ancillary(ptr noundef nonnull %113, i16 noundef zeroext 0) #11
  %12680 = call zeroext i1 @s2n_result_is_ok(i32 %12679)
  br i1 %12680, label %12703, label %12681

12681:                                            ; preds = %12677
  %12682 = load i32, ptr %1288, align 4, !tbaa !5
  %12683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12684 = call i32 @s2n_print_stacktrace(ptr noundef %12683) #11
  %12685 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12686 = trunc nuw i8 %12685 to i1
  br i1 %12686, label %12687, label %12691

12687:                                            ; preds = %12681
  %12688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12689 = call i32 @fileno(ptr noundef %12688) #11
  %12690 = call i32 @isatty(i32 noundef %12689) #11
  %.not1204 = icmp eq i32 %12690, 0
  br i1 %.not1204, label %12691, label %12692

12691:                                            ; preds = %12687, %12681
  br label %12692

12692:                                            ; preds = %12687, %12691
  %.str.11.sink5426 = phi ptr [ @.str.11, %12691 ], [ @.str.8, %12687 ]
  store i32 %12682, ptr %1288, align 4, !tbaa !5
  %12693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12694 = load i32, ptr @test_count, align 4, !tbaa !5
  %12695 = load i32, ptr %1234, align 4, !tbaa !5
  %12696 = call ptr @s2n_strerror(i32 noundef %12695, ptr noundef nonnull @.str.10) #11
  %12697 = load i32, ptr %1234, align 4, !tbaa !5
  %12698 = call ptr @s2n_strerror_debug(i32 noundef %12697, ptr noundef nonnull @.str.10) #11
  %12699 = load i32, ptr %1288, align 4, !tbaa !5
  %12700 = call ptr @strerror(i32 noundef %12699) #11
  %12701 = load i32, ptr %1288, align 4, !tbaa !5
  %12702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12693, ptr noundef nonnull %.str.11.sink5426, i32 noundef %12694, ptr noundef nonnull @.str.148, ptr noundef nonnull @.str.7, i32 noundef 1039, ptr noundef %12696, ptr noundef %12698, ptr noundef %12700, i32 noundef %12701) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12703:                                            ; preds = %12677
  %12704 = load i32, ptr @test_count, align 4, !tbaa !5
  %12705 = add nsw i32 %12704, 1
  store i32 %12705, ptr @test_count, align 4, !tbaa !5
  %12706 = call i32 @s2n_test_records_in_ancillary(ptr noundef nonnull %12412, i16 noundef zeroext 6) #11
  %12707 = call zeroext i1 @s2n_result_is_ok(i32 %12706)
  br i1 %12707, label %12730, label %12708

12708:                                            ; preds = %12703
  %12709 = load i32, ptr %1288, align 4, !tbaa !5
  %12710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12711 = call i32 @s2n_print_stacktrace(ptr noundef %12710) #11
  %12712 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12713 = trunc nuw i8 %12712 to i1
  br i1 %12713, label %12714, label %12718

12714:                                            ; preds = %12708
  %12715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12716 = call i32 @fileno(ptr noundef %12715) #11
  %12717 = call i32 @isatty(i32 noundef %12716) #11
  %.not1205 = icmp eq i32 %12717, 0
  br i1 %.not1205, label %12718, label %12719

12718:                                            ; preds = %12714, %12708
  br label %12719

12719:                                            ; preds = %12714, %12718
  %.str.11.sink5435 = phi ptr [ @.str.11, %12718 ], [ @.str.8, %12714 ]
  store i32 %12709, ptr %1288, align 4, !tbaa !5
  %12720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12721 = load i32, ptr @test_count, align 4, !tbaa !5
  %12722 = load i32, ptr %1234, align 4, !tbaa !5
  %12723 = call ptr @s2n_strerror(i32 noundef %12722, ptr noundef nonnull @.str.10) #11
  %12724 = load i32, ptr %1234, align 4, !tbaa !5
  %12725 = call ptr @s2n_strerror_debug(i32 noundef %12724, ptr noundef nonnull @.str.10) #11
  %12726 = load i32, ptr %1288, align 4, !tbaa !5
  %12727 = call ptr @strerror(i32 noundef %12726) #11
  %12728 = load i32, ptr %1288, align 4, !tbaa !5
  %12729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12720, ptr noundef nonnull %.str.11.sink5435, i32 noundef %12721, ptr noundef nonnull @.str.149, ptr noundef nonnull @.str.7, i32 noundef 1040, ptr noundef %12723, ptr noundef %12725, ptr noundef %12727, i32 noundef %12728) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12730:                                            ; preds = %12703
  %12731 = load i32, ptr @test_count, align 4, !tbaa !5
  %12732 = add nsw i32 %12731, 1
  store i32 %12732, ptr @test_count, align 4, !tbaa !5
  %12733 = call i32 @s2n_shutdown(ptr noundef nonnull %12208, ptr noundef nonnull %115)
  %12734 = icmp eq i32 %12733, -1
  br i1 %12734, label %12735, label %12757

12735:                                            ; preds = %12730
  %12736 = load i32, ptr %1288, align 4, !tbaa !5
  %12737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12738 = call i32 @s2n_print_stacktrace(ptr noundef %12737) #11
  %12739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12740 = trunc nuw i8 %12739 to i1
  br i1 %12740, label %12741, label %12745

12741:                                            ; preds = %12735
  %12742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12743 = call i32 @fileno(ptr noundef %12742) #11
  %12744 = call i32 @isatty(i32 noundef %12743) #11
  %.not1221 = icmp eq i32 %12744, 0
  br i1 %.not1221, label %12745, label %12746

12745:                                            ; preds = %12741, %12735
  br label %12746

12746:                                            ; preds = %12741, %12745
  %.str.11.sink5444 = phi ptr [ @.str.11, %12745 ], [ @.str.8, %12741 ]
  store i32 %12736, ptr %1288, align 4, !tbaa !5
  %12747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12748 = load i32, ptr @test_count, align 4, !tbaa !5
  %12749 = load i32, ptr %1234, align 4, !tbaa !5
  %12750 = call ptr @s2n_strerror(i32 noundef %12749, ptr noundef nonnull @.str.10) #11
  %12751 = load i32, ptr %1234, align 4, !tbaa !5
  %12752 = call ptr @s2n_strerror_debug(i32 noundef %12751, ptr noundef nonnull @.str.10) #11
  %12753 = load i32, ptr %1288, align 4, !tbaa !5
  %12754 = call ptr @strerror(i32 noundef %12753) #11
  %12755 = load i32, ptr %1288, align 4, !tbaa !5
  %12756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12747, ptr noundef nonnull %.str.11.sink5444, i32 noundef %12748, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.7, i32 noundef 1044, ptr noundef %12750, ptr noundef %12752, ptr noundef %12754, i32 noundef %12755) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12757:                                            ; preds = %12730
  %12758 = load i32, ptr @test_count, align 4, !tbaa !5
  %12759 = add nsw i32 %12758, 1
  store i32 %12759, ptr @test_count, align 4, !tbaa !5
  %12760 = load i32, ptr %115, align 4, !tbaa !5
  %12761 = icmp eq i32 %12760, 0
  br i1 %12761, label %12784, label %12762

12762:                                            ; preds = %12757
  %12763 = load i32, ptr %1288, align 4, !tbaa !5
  %12764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12765 = call i32 @s2n_print_stacktrace(ptr noundef %12764) #11
  %12766 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12767 = trunc nuw i8 %12766 to i1
  br i1 %12767, label %12768, label %12772

12768:                                            ; preds = %12762
  %12769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12770 = call i32 @fileno(ptr noundef %12769) #11
  %12771 = call i32 @isatty(i32 noundef %12770) #11
  %.not1206 = icmp eq i32 %12771, 0
  br i1 %.not1206, label %12772, label %12773

12772:                                            ; preds = %12768, %12762
  br label %12773

12773:                                            ; preds = %12768, %12772
  %.str.11.sink5453 = phi ptr [ @.str.11, %12772 ], [ @.str.8, %12768 ]
  store i32 %12763, ptr %1288, align 4, !tbaa !5
  %12774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12775 = load i32, ptr @test_count, align 4, !tbaa !5
  %12776 = load i32, ptr %1234, align 4, !tbaa !5
  %12777 = call ptr @s2n_strerror(i32 noundef %12776, ptr noundef nonnull @.str.10) #11
  %12778 = load i32, ptr %1234, align 4, !tbaa !5
  %12779 = call ptr @s2n_strerror_debug(i32 noundef %12778, ptr noundef nonnull @.str.10) #11
  %12780 = load i32, ptr %1288, align 4, !tbaa !5
  %12781 = call ptr @strerror(i32 noundef %12780) #11
  %12782 = load i32, ptr %1288, align 4, !tbaa !5
  %12783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12774, ptr noundef nonnull %.str.11.sink5453, i32 noundef %12775, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.7, i32 noundef 1045, ptr noundef %12777, ptr noundef %12779, ptr noundef %12781, i32 noundef %12782) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12784:                                            ; preds = %12757
  %12785 = add nsw i32 %12758, 2
  store i32 %12785, ptr @test_count, align 4, !tbaa !5
  %12786 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %12208, i32 noundef 3) #11
  br i1 %12786, label %12809, label %12787

12787:                                            ; preds = %12784
  %12788 = load i32, ptr %1288, align 4, !tbaa !5
  %12789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12790 = call i32 @s2n_print_stacktrace(ptr noundef %12789) #11
  %12791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12792 = trunc nuw i8 %12791 to i1
  br i1 %12792, label %12793, label %12797

12793:                                            ; preds = %12787
  %12794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12795 = call i32 @fileno(ptr noundef %12794) #11
  %12796 = call i32 @isatty(i32 noundef %12795) #11
  %.not1207 = icmp eq i32 %12796, 0
  br i1 %.not1207, label %12797, label %12798

12797:                                            ; preds = %12793, %12787
  br label %12798

12798:                                            ; preds = %12793, %12797
  %.str.11.sink5462 = phi ptr [ @.str.11, %12797 ], [ @.str.8, %12793 ]
  store i32 %12788, ptr %1288, align 4, !tbaa !5
  %12799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12800 = load i32, ptr @test_count, align 4, !tbaa !5
  %12801 = load i32, ptr %1234, align 4, !tbaa !5
  %12802 = call ptr @s2n_strerror(i32 noundef %12801, ptr noundef nonnull @.str.10) #11
  %12803 = load i32, ptr %1234, align 4, !tbaa !5
  %12804 = call ptr @s2n_strerror_debug(i32 noundef %12803, ptr noundef nonnull @.str.10) #11
  %12805 = load i32, ptr %1288, align 4, !tbaa !5
  %12806 = call ptr @strerror(i32 noundef %12805) #11
  %12807 = load i32, ptr %1288, align 4, !tbaa !5
  %12808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12799, ptr noundef nonnull %.str.11.sink5462, i32 noundef %12800, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.7, i32 noundef 1046, ptr noundef %12802, ptr noundef %12804, ptr noundef %12806, i32 noundef %12807) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12809:                                            ; preds = %12784
  %12810 = load i32, ptr @test_count, align 4, !tbaa !5
  %12811 = add nsw i32 %12810, 1
  store i32 %12811, ptr @test_count, align 4, !tbaa !5
  %12812 = getelementptr inbounds i8, ptr %12208, i64 2003
  %12813 = load i8, ptr %12812, align 1, !tbaa !15, !range !13, !noundef !14
  %12814 = trunc nuw i8 %12813 to i1
  br i1 %12814, label %12837, label %12815

12815:                                            ; preds = %12809
  %12816 = load i32, ptr %1288, align 4, !tbaa !5
  %12817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12818 = call i32 @s2n_print_stacktrace(ptr noundef %12817) #11
  %12819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12820 = trunc nuw i8 %12819 to i1
  br i1 %12820, label %12821, label %12825

12821:                                            ; preds = %12815
  %12822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12823 = call i32 @fileno(ptr noundef %12822) #11
  %12824 = call i32 @isatty(i32 noundef %12823) #11
  %.not1208 = icmp eq i32 %12824, 0
  br i1 %.not1208, label %12825, label %12826

12825:                                            ; preds = %12821, %12815
  br label %12826

12826:                                            ; preds = %12821, %12825
  %.str.11.sink5471 = phi ptr [ @.str.11, %12825 ], [ @.str.8, %12821 ]
  store i32 %12816, ptr %1288, align 4, !tbaa !5
  %12827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12828 = load i32, ptr @test_count, align 4, !tbaa !5
  %12829 = load i32, ptr %1234, align 4, !tbaa !5
  %12830 = call ptr @s2n_strerror(i32 noundef %12829, ptr noundef nonnull @.str.10) #11
  %12831 = load i32, ptr %1234, align 4, !tbaa !5
  %12832 = call ptr @s2n_strerror_debug(i32 noundef %12831, ptr noundef nonnull @.str.10) #11
  %12833 = load i32, ptr %1288, align 4, !tbaa !5
  %12834 = call ptr @strerror(i32 noundef %12833) #11
  %12835 = load i32, ptr %1288, align 4, !tbaa !5
  %12836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12827, ptr noundef nonnull %.str.11.sink5471, i32 noundef %12828, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.7, i32 noundef 1047, ptr noundef %12830, ptr noundef %12832, ptr noundef %12834, i32 noundef %12835) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12837:                                            ; preds = %12809
  %12838 = add nsw i32 %12810, 2
  store i32 %12838, ptr @test_count, align 4, !tbaa !5
  %12839 = call i32 @s2n_test_records_in_ancillary(ptr noundef nonnull %113, i16 noundef zeroext 1) #11
  %12840 = call zeroext i1 @s2n_result_is_ok(i32 %12839)
  br i1 %12840, label %12863, label %12841

12841:                                            ; preds = %12837
  %12842 = load i32, ptr %1288, align 4, !tbaa !5
  %12843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12844 = call i32 @s2n_print_stacktrace(ptr noundef %12843) #11
  %12845 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12846 = trunc nuw i8 %12845 to i1
  br i1 %12846, label %12847, label %12851

12847:                                            ; preds = %12841
  %12848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12849 = call i32 @fileno(ptr noundef %12848) #11
  %12850 = call i32 @isatty(i32 noundef %12849) #11
  %.not1209 = icmp eq i32 %12850, 0
  br i1 %.not1209, label %12851, label %12852

12851:                                            ; preds = %12847, %12841
  br label %12852

12852:                                            ; preds = %12847, %12851
  %.str.11.sink5480 = phi ptr [ @.str.11, %12851 ], [ @.str.8, %12847 ]
  store i32 %12842, ptr %1288, align 4, !tbaa !5
  %12853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12854 = load i32, ptr @test_count, align 4, !tbaa !5
  %12855 = load i32, ptr %1234, align 4, !tbaa !5
  %12856 = call ptr @s2n_strerror(i32 noundef %12855, ptr noundef nonnull @.str.10) #11
  %12857 = load i32, ptr %1234, align 4, !tbaa !5
  %12858 = call ptr @s2n_strerror_debug(i32 noundef %12857, ptr noundef nonnull @.str.10) #11
  %12859 = load i32, ptr %1288, align 4, !tbaa !5
  %12860 = call ptr @strerror(i32 noundef %12859) #11
  %12861 = load i32, ptr %1288, align 4, !tbaa !5
  %12862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12853, ptr noundef nonnull %.str.11.sink5480, i32 noundef %12854, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.7, i32 noundef 1048, ptr noundef %12856, ptr noundef %12858, ptr noundef %12860, i32 noundef %12861) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12863:                                            ; preds = %12837
  %12864 = load i32, ptr @test_count, align 4, !tbaa !5
  %12865 = add nsw i32 %12864, 1
  store i32 %12865, ptr @test_count, align 4, !tbaa !5
  %12866 = call i32 @s2n_test_records_in_ancillary(ptr noundef nonnull %12412, i16 noundef zeroext 0) #11
  %12867 = call zeroext i1 @s2n_result_is_ok(i32 %12866)
  br i1 %12867, label %12890, label %12868

12868:                                            ; preds = %12863
  %12869 = load i32, ptr %1288, align 4, !tbaa !5
  %12870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12871 = call i32 @s2n_print_stacktrace(ptr noundef %12870) #11
  %12872 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12873 = trunc nuw i8 %12872 to i1
  br i1 %12873, label %12874, label %12878

12874:                                            ; preds = %12868
  %12875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12876 = call i32 @fileno(ptr noundef %12875) #11
  %12877 = call i32 @isatty(i32 noundef %12876) #11
  %.not1210 = icmp eq i32 %12877, 0
  br i1 %.not1210, label %12878, label %12879

12878:                                            ; preds = %12874, %12868
  br label %12879

12879:                                            ; preds = %12874, %12878
  %.str.11.sink5489 = phi ptr [ @.str.11, %12878 ], [ @.str.8, %12874 ]
  store i32 %12869, ptr %1288, align 4, !tbaa !5
  %12880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12881 = load i32, ptr @test_count, align 4, !tbaa !5
  %12882 = load i32, ptr %1234, align 4, !tbaa !5
  %12883 = call ptr @s2n_strerror(i32 noundef %12882, ptr noundef nonnull @.str.10) #11
  %12884 = load i32, ptr %1234, align 4, !tbaa !5
  %12885 = call ptr @s2n_strerror_debug(i32 noundef %12884, ptr noundef nonnull @.str.10) #11
  %12886 = load i32, ptr %1288, align 4, !tbaa !5
  %12887 = call ptr @strerror(i32 noundef %12886) #11
  %12888 = load i32, ptr %1288, align 4, !tbaa !5
  %12889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12880, ptr noundef nonnull %.str.11.sink5489, i32 noundef %12881, ptr noundef nonnull @.str.151, ptr noundef nonnull @.str.7, i32 noundef 1049, ptr noundef %12883, ptr noundef %12885, ptr noundef %12887, i32 noundef %12888) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12890:                                            ; preds = %12863
  %12891 = load i32, ptr @test_count, align 4, !tbaa !5
  %12892 = add nsw i32 %12891, 1
  store i32 %12892, ptr @test_count, align 4, !tbaa !5
  %12893 = call i32 @s2n_shutdown(ptr noundef nonnull %12154, ptr noundef nonnull %115)
  %12894 = icmp eq i32 %12893, -1
  br i1 %12894, label %12895, label %12917

12895:                                            ; preds = %12890
  %12896 = load i32, ptr %1288, align 4, !tbaa !5
  %12897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12898 = call i32 @s2n_print_stacktrace(ptr noundef %12897) #11
  %12899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12900 = trunc nuw i8 %12899 to i1
  br i1 %12900, label %12901, label %12905

12901:                                            ; preds = %12895
  %12902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12903 = call i32 @fileno(ptr noundef %12902) #11
  %12904 = call i32 @isatty(i32 noundef %12903) #11
  %.not1220 = icmp eq i32 %12904, 0
  br i1 %.not1220, label %12905, label %12906

12905:                                            ; preds = %12901, %12895
  br label %12906

12906:                                            ; preds = %12901, %12905
  %.str.11.sink5498 = phi ptr [ @.str.11, %12905 ], [ @.str.8, %12901 ]
  store i32 %12896, ptr %1288, align 4, !tbaa !5
  %12907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12908 = load i32, ptr @test_count, align 4, !tbaa !5
  %12909 = load i32, ptr %1234, align 4, !tbaa !5
  %12910 = call ptr @s2n_strerror(i32 noundef %12909, ptr noundef nonnull @.str.10) #11
  %12911 = load i32, ptr %1234, align 4, !tbaa !5
  %12912 = call ptr @s2n_strerror_debug(i32 noundef %12911, ptr noundef nonnull @.str.10) #11
  %12913 = load i32, ptr %1288, align 4, !tbaa !5
  %12914 = call ptr @strerror(i32 noundef %12913) #11
  %12915 = load i32, ptr %1288, align 4, !tbaa !5
  %12916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12907, ptr noundef nonnull %.str.11.sink5498, i32 noundef %12908, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.7, i32 noundef 1052, ptr noundef %12910, ptr noundef %12912, ptr noundef %12914, i32 noundef %12915) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12917:                                            ; preds = %12890
  %12918 = load i32, ptr @test_count, align 4, !tbaa !5
  %12919 = add nsw i32 %12918, 1
  store i32 %12919, ptr @test_count, align 4, !tbaa !5
  %12920 = load i32, ptr %115, align 4, !tbaa !5
  %12921 = icmp eq i32 %12920, 0
  br i1 %12921, label %12944, label %12922

12922:                                            ; preds = %12917
  %12923 = load i32, ptr %1288, align 4, !tbaa !5
  %12924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12925 = call i32 @s2n_print_stacktrace(ptr noundef %12924) #11
  %12926 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12927 = trunc nuw i8 %12926 to i1
  br i1 %12927, label %12928, label %12932

12928:                                            ; preds = %12922
  %12929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12930 = call i32 @fileno(ptr noundef %12929) #11
  %12931 = call i32 @isatty(i32 noundef %12930) #11
  %.not1211 = icmp eq i32 %12931, 0
  br i1 %.not1211, label %12932, label %12933

12932:                                            ; preds = %12928, %12922
  br label %12933

12933:                                            ; preds = %12928, %12932
  %.str.11.sink5507 = phi ptr [ @.str.11, %12932 ], [ @.str.8, %12928 ]
  store i32 %12923, ptr %1288, align 4, !tbaa !5
  %12934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12935 = load i32, ptr @test_count, align 4, !tbaa !5
  %12936 = load i32, ptr %1234, align 4, !tbaa !5
  %12937 = call ptr @s2n_strerror(i32 noundef %12936, ptr noundef nonnull @.str.10) #11
  %12938 = load i32, ptr %1234, align 4, !tbaa !5
  %12939 = call ptr @s2n_strerror_debug(i32 noundef %12938, ptr noundef nonnull @.str.10) #11
  %12940 = load i32, ptr %1288, align 4, !tbaa !5
  %12941 = call ptr @strerror(i32 noundef %12940) #11
  %12942 = load i32, ptr %1288, align 4, !tbaa !5
  %12943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12934, ptr noundef nonnull %.str.11.sink5507, i32 noundef %12935, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.7, i32 noundef 1053, ptr noundef %12937, ptr noundef %12939, ptr noundef %12941, i32 noundef %12942) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12944:                                            ; preds = %12917
  %12945 = add nsw i32 %12918, 2
  store i32 %12945, ptr @test_count, align 4, !tbaa !5
  %12946 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %12154, i32 noundef 3) #11
  br i1 %12946, label %12969, label %12947

12947:                                            ; preds = %12944
  %12948 = load i32, ptr %1288, align 4, !tbaa !5
  %12949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12950 = call i32 @s2n_print_stacktrace(ptr noundef %12949) #11
  %12951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12952 = trunc nuw i8 %12951 to i1
  br i1 %12952, label %12953, label %12957

12953:                                            ; preds = %12947
  %12954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12955 = call i32 @fileno(ptr noundef %12954) #11
  %12956 = call i32 @isatty(i32 noundef %12955) #11
  %.not1212 = icmp eq i32 %12956, 0
  br i1 %.not1212, label %12957, label %12958

12957:                                            ; preds = %12953, %12947
  br label %12958

12958:                                            ; preds = %12953, %12957
  %.str.11.sink5516 = phi ptr [ @.str.11, %12957 ], [ @.str.8, %12953 ]
  store i32 %12948, ptr %1288, align 4, !tbaa !5
  %12959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12960 = load i32, ptr @test_count, align 4, !tbaa !5
  %12961 = load i32, ptr %1234, align 4, !tbaa !5
  %12962 = call ptr @s2n_strerror(i32 noundef %12961, ptr noundef nonnull @.str.10) #11
  %12963 = load i32, ptr %1234, align 4, !tbaa !5
  %12964 = call ptr @s2n_strerror_debug(i32 noundef %12963, ptr noundef nonnull @.str.10) #11
  %12965 = load i32, ptr %1288, align 4, !tbaa !5
  %12966 = call ptr @strerror(i32 noundef %12965) #11
  %12967 = load i32, ptr %1288, align 4, !tbaa !5
  %12968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12959, ptr noundef nonnull %.str.11.sink5516, i32 noundef %12960, ptr noundef nonnull @.str.152, ptr noundef nonnull @.str.7, i32 noundef 1054, ptr noundef %12962, ptr noundef %12964, ptr noundef %12966, i32 noundef %12967) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12969:                                            ; preds = %12944
  %12970 = load i32, ptr @test_count, align 4, !tbaa !5
  %12971 = add nsw i32 %12970, 1
  store i32 %12971, ptr @test_count, align 4, !tbaa !5
  %12972 = call i32 @s2n_test_records_in_ancillary(ptr noundef nonnull %113, i16 noundef zeroext 0) #11
  %12973 = call zeroext i1 @s2n_result_is_ok(i32 %12972)
  br i1 %12973, label %12996, label %12974

12974:                                            ; preds = %12969
  %12975 = load i32, ptr %1288, align 4, !tbaa !5
  %12976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12977 = call i32 @s2n_print_stacktrace(ptr noundef %12976) #11
  %12978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12979 = trunc nuw i8 %12978 to i1
  br i1 %12979, label %12980, label %12984

12980:                                            ; preds = %12974
  %12981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12982 = call i32 @fileno(ptr noundef %12981) #11
  %12983 = call i32 @isatty(i32 noundef %12982) #11
  %.not1213 = icmp eq i32 %12983, 0
  br i1 %.not1213, label %12984, label %12985

12984:                                            ; preds = %12980, %12974
  br label %12985

12985:                                            ; preds = %12980, %12984
  %.str.11.sink5525 = phi ptr [ @.str.11, %12984 ], [ @.str.8, %12980 ]
  store i32 %12975, ptr %1288, align 4, !tbaa !5
  %12986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12987 = load i32, ptr @test_count, align 4, !tbaa !5
  %12988 = load i32, ptr %1234, align 4, !tbaa !5
  %12989 = call ptr @s2n_strerror(i32 noundef %12988, ptr noundef nonnull @.str.10) #11
  %12990 = load i32, ptr %1234, align 4, !tbaa !5
  %12991 = call ptr @s2n_strerror_debug(i32 noundef %12990, ptr noundef nonnull @.str.10) #11
  %12992 = load i32, ptr %1288, align 4, !tbaa !5
  %12993 = call ptr @strerror(i32 noundef %12992) #11
  %12994 = load i32, ptr %1288, align 4, !tbaa !5
  %12995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12986, ptr noundef nonnull %.str.11.sink5525, i32 noundef %12987, ptr noundef nonnull @.str.148, ptr noundef nonnull @.str.7, i32 noundef 1055, ptr noundef %12989, ptr noundef %12991, ptr noundef %12993, i32 noundef %12994) #13
  call void @exit(i32 noundef 1) #14
  unreachable

12996:                                            ; preds = %12969
  %12997 = load i32, ptr @test_count, align 4, !tbaa !5
  %12998 = add nsw i32 %12997, 1
  store i32 %12998, ptr @test_count, align 4, !tbaa !5
  %12999 = call i32 @s2n_test_records_in_ancillary(ptr noundef nonnull %12412, i16 noundef zeroext 0) #11
  %13000 = call zeroext i1 @s2n_result_is_ok(i32 %12999)
  br i1 %13000, label %13023, label %13001

13001:                                            ; preds = %12996
  %13002 = load i32, ptr %1288, align 4, !tbaa !5
  %13003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13004 = call i32 @s2n_print_stacktrace(ptr noundef %13003) #11
  %13005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13006 = trunc nuw i8 %13005 to i1
  br i1 %13006, label %13007, label %13011

13007:                                            ; preds = %13001
  %13008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13009 = call i32 @fileno(ptr noundef %13008) #11
  %13010 = call i32 @isatty(i32 noundef %13009) #11
  %.not1214 = icmp eq i32 %13010, 0
  br i1 %.not1214, label %13011, label %13012

13011:                                            ; preds = %13007, %13001
  br label %13012

13012:                                            ; preds = %13007, %13011
  %.str.11.sink5534 = phi ptr [ @.str.11, %13011 ], [ @.str.8, %13007 ]
  store i32 %13002, ptr %1288, align 4, !tbaa !5
  %13013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13014 = load i32, ptr @test_count, align 4, !tbaa !5
  %13015 = load i32, ptr %1234, align 4, !tbaa !5
  %13016 = call ptr @s2n_strerror(i32 noundef %13015, ptr noundef nonnull @.str.10) #11
  %13017 = load i32, ptr %1234, align 4, !tbaa !5
  %13018 = call ptr @s2n_strerror_debug(i32 noundef %13017, ptr noundef nonnull @.str.10) #11
  %13019 = load i32, ptr %1288, align 4, !tbaa !5
  %13020 = call ptr @strerror(i32 noundef %13019) #11
  %13021 = load i32, ptr %1288, align 4, !tbaa !5
  %13022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13013, ptr noundef nonnull %.str.11.sink5534, i32 noundef %13014, ptr noundef nonnull @.str.151, ptr noundef nonnull @.str.7, i32 noundef 1056, ptr noundef %13016, ptr noundef %13018, ptr noundef %13020, i32 noundef %13021) #13
  call void @exit(i32 noundef 1) #14
  unreachable

13023:                                            ; preds = %12996
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %115) #11
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %114) #11
  %13024 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef nonnull %113) #11
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %113) #11
  %13025 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %112) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %112) #11
  %13026 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %111) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %111) #11
  %13027 = call i32 @s2n_cleanup() #11
  %13028 = icmp eq i32 %13027, -1
  br i1 %13028, label %13029, label %13051

13029:                                            ; preds = %13023
  %13030 = load i32, ptr %1288, align 4, !tbaa !5
  %13031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13032 = call i32 @s2n_print_stacktrace(ptr noundef %13031) #11
  %13033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13034 = trunc nuw i8 %13033 to i1
  br i1 %13034, label %13035, label %13039

13035:                                            ; preds = %13029
  %13036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13037 = call i32 @fileno(ptr noundef %13036) #11
  %13038 = call i32 @isatty(i32 noundef %13037) #11
  %.not1219 = icmp eq i32 %13038, 0
  br i1 %.not1219, label %13039, label %13040

13039:                                            ; preds = %13035, %13029
  br label %13040

13040:                                            ; preds = %13035, %13039
  %.str.11.sink5543 = phi ptr [ @.str.11, %13039 ], [ @.str.8, %13035 ]
  store i32 %13030, ptr %1288, align 4, !tbaa !5
  %13041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13042 = load i32, ptr @test_count, align 4, !tbaa !5
  %13043 = load i32, ptr %1234, align 4, !tbaa !5
  %13044 = call ptr @s2n_strerror(i32 noundef %13043, ptr noundef nonnull @.str.10) #11
  %13045 = load i32, ptr %1234, align 4, !tbaa !5
  %13046 = call ptr @s2n_strerror_debug(i32 noundef %13045, ptr noundef nonnull @.str.10) #11
  %13047 = load i32, ptr %1288, align 4, !tbaa !5
  %13048 = call ptr @strerror(i32 noundef %13047) #11
  %13049 = load i32, ptr %1288, align 4, !tbaa !5
  %13050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13041, ptr noundef nonnull %.str.11.sink5543, i32 noundef %13042, ptr noundef nonnull @.str.153, ptr noundef nonnull @.str.7, i32 noundef 1060, ptr noundef %13044, ptr noundef %13046, ptr noundef %13048, i32 noundef %13049) #13
  call void @exit(i32 noundef 1) #14
  unreachable

13051:                                            ; preds = %13023
  %13052 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #11
  %13053 = icmp eq i32 %13052, -1
  br i1 %13053, label %13054, label %13076

13054:                                            ; preds = %13051
  %13055 = load i32, ptr %1288, align 4, !tbaa !5
  %13056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13057 = call i32 @s2n_print_stacktrace(ptr noundef %13056) #11
  %13058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13059 = trunc nuw i8 %13058 to i1
  br i1 %13059, label %13060, label %13064

13060:                                            ; preds = %13054
  %13061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13062 = call i32 @fileno(ptr noundef %13061) #11
  %13063 = call i32 @isatty(i32 noundef %13062) #11
  %.not1218 = icmp eq i32 %13063, 0
  br i1 %.not1218, label %13064, label %13065

13064:                                            ; preds = %13060, %13054
  br label %13065

13065:                                            ; preds = %13060, %13064
  %.str.11.sink5552 = phi ptr [ @.str.11, %13064 ], [ @.str.8, %13060 ]
  store i32 %13055, ptr %1288, align 4, !tbaa !5
  %13066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13067 = load i32, ptr @test_count, align 4, !tbaa !5
  %13068 = load i32, ptr %1234, align 4, !tbaa !5
  %13069 = call ptr @s2n_strerror(i32 noundef %13068, ptr noundef nonnull @.str.10) #11
  %13070 = load i32, ptr %1234, align 4, !tbaa !5
  %13071 = call ptr @s2n_strerror_debug(i32 noundef %13070, ptr noundef nonnull @.str.10) #11
  %13072 = load i32, ptr %1288, align 4, !tbaa !5
  %13073 = call ptr @strerror(i32 noundef %13072) #11
  %13074 = load i32, ptr %1288, align 4, !tbaa !5
  %13075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13066, ptr noundef nonnull %.str.11.sink5552, i32 noundef %13067, ptr noundef nonnull @.str.154, ptr noundef nonnull @.str.7, i32 noundef 1060, ptr noundef %13069, ptr noundef %13071, ptr noundef %13073, i32 noundef %13074) #13
  call void @exit(i32 noundef 1) #14
  unreachable

13076:                                            ; preds = %13051
  %13077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13078 = trunc nuw i8 %13077 to i1
  br i1 %13078, label %13079, label %13090

13079:                                            ; preds = %13076
  %13080 = load ptr, ptr @stdout, align 8, !tbaa !9
  %13081 = call i32 @fileno(ptr noundef %13080) #11
  %13082 = call i32 @isatty(i32 noundef %13081) #11
  %.not1215 = icmp eq i32 %13082, 0
  br i1 %.not1215, label %13090, label %13083

13083:                                            ; preds = %13079
  %13084 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1217 = icmp eq i32 %13084, 0
  %13085 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1217, label %13088, label %13086

13086:                                            ; preds = %13083
  %13087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13085, ptr noundef nonnull @.str.155, i32 noundef %13084) #11
  br label %13097

13088:                                            ; preds = %13083
  %13089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13085, ptr noundef nonnull @.str.156) #11
  br label %13097

13090:                                            ; preds = %13079, %13076
  %13091 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1216 = icmp eq i32 %13091, 0
  %13092 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1216, label %13095, label %13093

13093:                                            ; preds = %13090
  %13094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13092, ptr noundef nonnull @.str.157, i32 noundef %13091) #11
  br label %13097

13095:                                            ; preds = %13090
  %13096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13092, ptr noundef nonnull @.str.158) #11
  br label %13097

13097:                                            ; preds = %13093, %13095, %13086, %13088
  %13098 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %6) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #11
  %13099 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %5) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #11
  call void @llvm.lifetime.end.p0(i64 5, ptr nonnull %4) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %3) #11
  ret i32 0
}

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #5

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #5

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #2

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #6

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) local_unnamed_addr #7

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #5

declare ptr @s2n_strerror(i32 noundef, ptr noundef) local_unnamed_addr #2

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) local_unnamed_addr #7

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #8

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() 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) #9

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare ptr @s2n_config_new() local_unnamed_addr #2

declare i32 @s2n_config_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_disable_x509_verification(ptr noundef) local_unnamed_addr #2

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_skip_handshake(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) #10

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_send_io_stuffer(ptr noundef, ptr noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_handshake_is_complete(ptr noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_connection_check_io_status(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_queue_reader_handshake_failure_alert(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_skip_read(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_read_uint8(ptr noundef, ptr 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_queue_reader_no_renegotiation_alert(ptr noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare i32 @s2n_stuffer_write_bytes(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_write_uint8(ptr noundef, i8 noundef zeroext) local_unnamed_addr #2

declare i64 @s2n_recv(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_get_alert(ptr noundef) local_unnamed_addr #2

declare zeroext i8 @s2n_connection_get_protocol_version(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_blinding(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_stuffer_pair_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_stuffer_pair_init(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connections_set_io_stuffer_pair(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_wipe_n(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_skip_write(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connections_set_io_pair(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_pair_close_one_end(ptr noundef, i32 noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #2

declare i32 @s2n_connection_enable_quic(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_wipe(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_copy(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare void @s2n_ktls_configure_connection(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_ktls_io_stuffer_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_test_validate_ancillary(ptr noundef, i8 noundef zeroext, i16 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_test_validate_data(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_stuffer_alloc(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_wipe(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_test_init_ktls_io_stuffer(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_test_records_in_ancillary(ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
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 = { 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 #5 = { 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 #6 = { 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 #7 = { 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 = { 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 #9 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #10 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #11 = { nounwind }
attributes #12 = { nounwind willreturn memory(none) }
attributes #13 = { cold nounwind }
attributes #14 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !12, i64 2003}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!32, !6, i64 28}
!43 = !{!32, !6, i64 24}
!44 = !{!7, !7, i64 0}
!45 = !{!16, !7, i64 222}
!46 = !{!16, !7, i64 220}
!47 = !{!16, !18, i64 176}
!48 = !{!16, !18, i64 160}
!49 = !{!50, !6, i64 68}
!50 = !{!"s2n_test_io_stuffer_pair", !32, i64 0, !32, i64 40}
!51 = !{!52, !18, i64 80}
!52 = !{!"s2n_test_ktls_io_stuffer", !32, i64 0, !32, i64 40, !18, i64 80, !18, i64 88}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,LICMPass,LoopRotatePass,LoopSimplifyPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass