; LLVM IR from aws/s2n-tls :: tests/unit (s2n_send_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_send_result = type { i32, i32 }
%struct.iovec = type { ptr, i64 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_result = type { i32 }
%struct.s2n_send_context = type { i64, i64, ptr, i64 }
%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_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_post_handshake = type { %struct.s2n_stuffer, [4 x i8] }
%struct.s2n_atomic_flag = type { i32 }

@s2n_use_color_in_output = external dso_local global i8, align 1
@s2n_custom_send_fn_called = external dso_local global i8, align 1
@test_count = external dso_local global i32, align 4
@stderr = external global ptr, align 8
@.str = external hidden unnamed_addr constant [101 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [72 x i8], align 1
@s2n_errno = external thread_local global i32, align 4
@.str.3 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [70 x i8], align 1
@stdout = external global ptr, align 8
@.str.7 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [39 x i8], align 1
@__const.main.test_data = external hidden unnamed_addr constant [12 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [79 x i8], align 1
@__const.main.results = external hidden unnamed_addr constant [2 x %struct.s2n_send_result], align 16
@.str.38 = external hidden unnamed_addr constant [52 x i8], align 1
@__const.main.results.39 = external hidden unnamed_addr constant [4 x %struct.s2n_send_result], align 16
@.str.40 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [66 x i8], align 1
@__const.main.results.42 = external hidden unnamed_addr constant [5 x %struct.s2n_send_result], align 16
@.str.43 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [56 x i8], align 1
@__const.main.results.46 = external hidden unnamed_addr constant [3 x %struct.s2n_send_result], align 16
@.str.47 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [66 x i8], align 1
@__const.main.results.49 = external hidden unnamed_addr constant [6 x %struct.s2n_send_result], align 16
@.str.50 = external hidden unnamed_addr constant [66 x i8], align 1
@__const.main.results.51 = external hidden unnamed_addr constant [8 x %struct.s2n_send_result], align 16
@.str.52 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [152 x i8], align 1
@__const.main.results.57 = external hidden unnamed_addr constant [4 x %struct.s2n_send_result], align 16
@.str.58 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [138 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [105 x i8], align 1
@__const.main.results.64 = external hidden unnamed_addr constant [6 x %struct.s2n_send_result], align 16
@.str.65 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [129 x i8], align 1
@__const.main.test_buf = external hidden unnamed_addr constant %struct.iovec, align 8
@.str.85 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [38 x i8], align 1
@__const.main.test_buf.87 = external hidden unnamed_addr constant %struct.iovec, align 8
@.str.88 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [156 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [161 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [131 x i8], align 1
@__const.main.test_buf.97 = external hidden unnamed_addr constant %struct.iovec, align 8
@.str.98 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [182 x i8], align 1
@__const.main.test_bufs_ssize = external hidden unnamed_addr constant [2 x %struct.iovec], align 16
@.str.100 = external hidden unnamed_addr constant [149 x i8], align 1
@__const.main.test_bufs_size = external hidden unnamed_addr constant [2 x %struct.iovec], align 16
@.str.101 = external hidden unnamed_addr constant [146 x i8], align 1
@__const.main.use_send = external hidden unnamed_addr constant [2 x i8], align 1
@__const.main.results.102 = external hidden unnamed_addr constant [4 x %struct.s2n_send_result], align 16
@.str.103 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [25 x i8], align 1

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

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

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) #2

; Function Attrs: nounwind willreturn memory(none)
declare ptr @__errno_location() #3

declare i32 @s2n_print_stacktrace(ptr noundef) #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #4

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #4

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #4

declare ptr @s2n_strerror(i32 noundef, ptr noundef) #2

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

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) #2

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #4

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #6

declare void @s2n_debug_info_reset() #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 [12 x i8], align 1
  %10 = alloca [16394 x i8], align 16
  %11 = alloca %struct.s2n_blob, align 8
  %12 = alloca i32, align 4
  %13 = alloca %struct.s2n_result, align 4
  %14 = alloca i32, align 4
  %15 = alloca [50 x %struct.s2n_send_result], align 16
  %16 = alloca i64, align 8
  %17 = alloca %struct.s2n_send_result, align 4
  %18 = alloca %struct.s2n_send_context, align 8
  %19 = alloca i64, align 8
  %20 = alloca ptr, align 8
  %21 = alloca i32, align 4
  %22 = alloca %struct.s2n_result, align 4
  %23 = alloca i32, align 4
  %24 = alloca %struct.s2n_send_context, align 8
  %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 %struct.s2n_result, align 4
  %33 = alloca [4 x i64], align 16
  %34 = alloca [4 x i32], align 16
  %35 = alloca i64, align 8
  %36 = alloca ptr, align 8
  %37 = alloca i32, align 4
  %38 = alloca %struct.s2n_result, align 4
  %39 = alloca i32, align 4
  %40 = alloca %struct.s2n_result, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca %struct.s2n_send_context, align 8
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca %struct.s2n_result, align 4
  %57 = alloca ptr, align 8
  %58 = alloca i32, align 4
  %59 = alloca %struct.s2n_result, 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 i32, align 4
  %76 = alloca %struct.s2n_send_context, align 8
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca %struct.s2n_result, align 4
  %86 = alloca ptr, align 8
  %87 = alloca i32, align 4
  %88 = alloca %struct.s2n_result, align 4
  %89 = alloca i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca [2 x %struct.s2n_send_result], align 16
  %93 = alloca %struct.s2n_send_context, align 8
  %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 i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca %struct.s2n_result, align 4
  %105 = alloca ptr, align 8
  %106 = alloca i32, align 4
  %107 = alloca %struct.s2n_result, align 4
  %108 = alloca i32, align 4
  %109 = alloca [4 x %struct.s2n_send_result], align 16
  %110 = alloca %struct.s2n_send_context, align 8
  %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 %struct.s2n_result, align 4
  %120 = alloca ptr, align 8
  %121 = alloca i32, align 4
  %122 = alloca %struct.s2n_result, align 4
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca [5 x %struct.s2n_send_result], align 16
  %126 = alloca %struct.s2n_send_context, align 8
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca i32, align 4
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca i32, align 4
  %144 = alloca %struct.s2n_result, align 4
  %145 = alloca i64, align 8
  %146 = alloca ptr, align 8
  %147 = alloca i32, align 4
  %148 = alloca %struct.s2n_result, align 4
  %149 = alloca i32, align 4
  %150 = alloca [3 x %struct.s2n_send_result], align 16
  %151 = alloca %struct.s2n_send_context, align 8
  %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 %struct.s2n_result, align 4
  %161 = alloca ptr, align 8
  %162 = alloca i32, align 4
  %163 = alloca %struct.s2n_result, align 4
  %164 = alloca i32, align 4
  %165 = alloca [6 x %struct.s2n_send_result], align 16
  %166 = alloca %struct.s2n_send_context, align 8
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca i32, align 4
  %173 = alloca i32, align 4
  %174 = alloca i32, align 4
  %175 = alloca %struct.s2n_result, align 4
  %176 = alloca ptr, align 8
  %177 = alloca i32, align 4
  %178 = alloca %struct.s2n_result, align 4
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  %181 = alloca [8 x %struct.s2n_send_result], align 16
  %182 = alloca %struct.s2n_send_context, align 8
  %183 = alloca i32, align 4
  %184 = alloca i32, align 4
  %185 = alloca i32, align 4
  %186 = alloca i64, align 8
  %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 i32, align 4
  %195 = alloca i32, align 4
  %196 = alloca i32, align 4
  %197 = alloca i32, align 4
  %198 = alloca i32, align 4
  %199 = alloca i32, align 4
  %200 = alloca %struct.s2n_result, align 4
  %201 = alloca ptr, align 8
  %202 = alloca i32, align 4
  %203 = alloca %struct.s2n_result, align 4
  %204 = alloca i32, align 4
  %205 = alloca [4 x %struct.s2n_send_result], align 16
  %206 = alloca %struct.s2n_send_context, align 8
  %207 = alloca i32, align 4
  %208 = alloca i32, align 4
  %209 = alloca i32, align 4
  %210 = alloca i64, align 8
  %211 = alloca i64, align 8
  %212 = alloca i32, align 4
  %213 = alloca i32, align 4
  %214 = alloca i32, align 4
  %215 = alloca i32, align 4
  %216 = alloca i32, align 4
  %217 = alloca i32, align 4
  %218 = alloca i32, align 4
  %219 = alloca i32, align 4
  %220 = alloca %struct.s2n_result, align 4
  %221 = alloca i64, align 8
  %222 = alloca ptr, align 8
  %223 = alloca i32, align 4
  %224 = alloca %struct.s2n_result, align 4
  %225 = alloca i32, align 4
  %226 = alloca %struct.s2n_result, align 4
  %227 = alloca i32, align 4
  %228 = alloca %struct.s2n_send_context, align 8
  %229 = alloca i32, align 4
  %230 = alloca i32, align 4
  %231 = alloca i32, align 4
  %232 = alloca i32, align 4
  %233 = alloca i32, align 4
  %234 = alloca i64, align 8
  %235 = alloca i32, align 4
  %236 = alloca i32, align 4
  %237 = alloca %struct.s2n_result, align 4
  %238 = alloca ptr, align 8
  %239 = alloca i32, align 4
  %240 = alloca %struct.s2n_result, align 4
  %241 = alloca i32, align 4
  %242 = alloca i16, align 2
  %243 = alloca %struct.s2n_result, align 4
  %244 = alloca i32, align 4
  %245 = alloca i32, align 4
  %246 = alloca i32, align 4
  %247 = alloca [6 x %struct.s2n_send_result], align 16
  %248 = alloca %struct.s2n_send_context, align 8
  %249 = alloca i32, align 4
  %250 = alloca i32, align 4
  %251 = alloca i32, align 4
  %252 = alloca i64, align 8
  %253 = alloca i32, align 4
  %254 = alloca i32, align 4
  %255 = alloca i32, align 4
  %256 = alloca i32, align 4
  %257 = alloca i32, align 4
  %258 = alloca i32, align 4
  %259 = alloca i32, align 4
  %260 = alloca i32, align 4
  %261 = alloca i64, align 8
  %262 = alloca i32, align 4
  %263 = alloca i32, align 4
  %264 = alloca i32, align 4
  %265 = alloca i32, align 4
  %266 = alloca i32, align 4
  %267 = alloca i32, align 4
  %268 = alloca i32, align 4
  %269 = alloca i32, align 4
  %270 = alloca i32, align 4
  %271 = alloca i32, align 4
  %272 = alloca i32, align 4
  %273 = alloca i32, align 4
  %274 = alloca i32, align 4
  %275 = alloca %struct.s2n_result, align 4
  %276 = alloca [8 x %struct.iovec], align 16
  %277 = alloca i64, align 8
  %278 = alloca %struct.iovec, align 8
  %279 = alloca i64, align 8
  %280 = alloca %struct.s2n_result, align 4
  %281 = alloca i32, align 4
  %282 = alloca i32, align 4
  %283 = alloca i32, align 4
  %284 = alloca %struct.s2n_result, align 4
  %285 = alloca i32, align 4
  %286 = alloca i32, align 4
  %287 = alloca i32, align 4
  %288 = alloca %struct.s2n_result, align 4
  %289 = alloca i32, align 4
  %290 = alloca i32, align 4
  %291 = alloca %struct.s2n_result, align 4
  %292 = alloca i32, align 4
  %293 = alloca i32, align 4
  %294 = alloca %struct.s2n_result, align 4
  %295 = alloca i32, align 4
  %296 = alloca i32, align 4
  %297 = alloca i32, align 4
  %298 = alloca %struct.s2n_result, align 4
  %299 = alloca i32, align 4
  %300 = alloca i32, align 4
  %301 = alloca i32, align 4
  %302 = alloca i64, align 8
  %303 = alloca %struct.s2n_result, align 4
  %304 = alloca i32, align 4
  %305 = alloca i32, align 4
  %306 = alloca [10 x %struct.iovec], align 16
  %307 = alloca i64, align 8
  %308 = alloca %struct.s2n_result, align 4
  %309 = alloca i32, align 4
  %310 = alloca i32, align 4
  %311 = alloca i64, align 8
  %312 = alloca %struct.iovec, align 8
  %313 = alloca i64, align 8
  %314 = alloca %struct.s2n_result, align 4
  %315 = alloca i32, align 4
  %316 = alloca i32, align 4
  %317 = alloca %struct.iovec, align 8
  %318 = alloca i64, align 8
  %319 = alloca i64, align 8
  %320 = alloca %struct.s2n_result, align 4
  %321 = alloca i32, align 4
  %322 = alloca i32, align 4
  %323 = alloca i64, align 8
  %324 = alloca %struct.s2n_result, align 4
  %325 = alloca i32, align 4
  %326 = alloca i32, align 4
  %327 = alloca i64, align 8
  %328 = alloca i64, align 8
  %329 = alloca %struct.s2n_result, align 4
  %330 = alloca i32, align 4
  %331 = alloca i32, align 4
  %332 = alloca [10 x %struct.iovec], align 16
  %333 = alloca i64, align 8
  %334 = alloca %struct.s2n_result, align 4
  %335 = alloca i32, align 4
  %336 = alloca i32, align 4
  %337 = alloca i32, align 4
  %338 = alloca %struct.s2n_result, 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 i32, align 4
  %344 = alloca i32, align 4
  %345 = alloca i32, align 4
  %346 = alloca %struct.iovec, align 8
  %347 = alloca i64, align 8
  %348 = alloca i64, align 8
  %349 = alloca %struct.s2n_result, align 4
  %350 = alloca i32, align 4
  %351 = alloca i32, align 4
  %352 = alloca i32, align 4
  %353 = alloca i64, align 8
  %354 = alloca %struct.s2n_result, align 4
  %355 = alloca i32, align 4
  %356 = alloca i32, align 4
  %357 = alloca i32, align 4
  %358 = alloca i64, align 8
  %359 = alloca [2 x %struct.iovec], align 16
  %360 = alloca %struct.s2n_result, align 4
  %361 = alloca i32, align 4
  %362 = alloca i32, align 4
  %363 = alloca i32, align 4
  %364 = alloca [2 x %struct.iovec], align 16
  %365 = alloca %struct.s2n_result, align 4
  %366 = alloca i32, align 4
  %367 = alloca i32, align 4
  %368 = alloca i32, align 4
  %369 = alloca [2 x i8], align 1
  %370 = alloca [4 x %struct.s2n_send_result], align 16
  %371 = alloca i64, align 8
  %372 = alloca i32, align 4
  %373 = alloca ptr, align 8
  %374 = alloca i32, align 4
  %375 = alloca %struct.s2n_result, align 4
  %376 = alloca i32, align 4
  %377 = alloca %struct.s2n_send_context, 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 i32, align 4
  %387 = alloca i32, align 4
  %388 = alloca i32, align 4
  %389 = alloca i32, align 4
  %390 = alloca i32, align 4
  %391 = alloca i32, align 4
  %392 = alloca i32, align 4
  %393 = alloca %struct.s2n_result, align 4
  %394 = alloca i32, align 4
  %395 = alloca i32, align 4
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  br label %396

396:                                              ; preds = %2
  br label %397

397:                                              ; preds = %396
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %398 = load ptr, ptr @stdout, align 8, !tbaa !9
  %399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %398, ptr noundef @.str.7, ptr noundef @.str.2) #10
  %400 = load ptr, ptr @stdout, align 8, !tbaa !9
  %401 = call i32 @fflush(ptr noundef %400)
  br label %402

402:                                              ; preds = %397
  %403 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %404 = icmp eq i32 %403, -1
  br i1 %404, label %405, label %456

405:                                              ; preds = %402
  br label %406

406:                                              ; preds = %405
  br label %407

407:                                              ; preds = %406
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #10
  %408 = call ptr @__errno_location() #11
  %409 = load i32, ptr %408, align 4, !tbaa !5
  store i32 %409, ptr %6, align 4, !tbaa !5
  %410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %411 = call i32 @s2n_print_stacktrace(ptr noundef %410)
  %412 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %413 = trunc i8 %412 to i1
  br i1 %413, label %414, label %436

414:                                              ; preds = %407
  %415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %416 = call i32 @fileno(ptr noundef %415) #10
  %417 = call i32 @isatty(i32 noundef %416) #10
  %418 = icmp ne i32 %417, 0
  br i1 %418, label %419, label %436

419:                                              ; preds = %414
  %420 = load i32, ptr %6, align 4, !tbaa !5
  %421 = call ptr @__errno_location() #11
  store i32 %420, ptr %421, align 4, !tbaa !5
  %422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %423 = load i32, ptr @test_count, align 4, !tbaa !5
  %424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %425 = load i32, ptr %424, align 4, !tbaa !5
  %426 = call ptr @s2n_strerror(i32 noundef %425, ptr noundef @.str.3)
  %427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %428 = load i32, ptr %427, align 4, !tbaa !5
  %429 = call ptr @s2n_strerror_debug(i32 noundef %428, ptr noundef @.str.3)
  %430 = call ptr @__errno_location() #11
  %431 = load i32, ptr %430, align 4, !tbaa !5
  %432 = call ptr @strerror(i32 noundef %431) #10
  %433 = call ptr @__errno_location() #11
  %434 = load i32, ptr %433, align 4, !tbaa !5
  %435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %422, ptr noundef @.str, i32 noundef %423, ptr noundef @.str.8, ptr noundef @.str.2, i32 noundef 106, ptr noundef %426, ptr noundef %429, ptr noundef %432, i32 noundef %434) #10
  br label %453

436:                                              ; preds = %414, %407
  %437 = load i32, ptr %6, align 4, !tbaa !5
  %438 = call ptr @__errno_location() #11
  store i32 %437, ptr %438, align 4, !tbaa !5
  %439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %440 = load i32, ptr @test_count, align 4, !tbaa !5
  %441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %442 = load i32, ptr %441, align 4, !tbaa !5
  %443 = call ptr @s2n_strerror(i32 noundef %442, ptr noundef @.str.3)
  %444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %445 = load i32, ptr %444, align 4, !tbaa !5
  %446 = call ptr @s2n_strerror_debug(i32 noundef %445, ptr noundef @.str.3)
  %447 = call ptr @__errno_location() #11
  %448 = load i32, ptr %447, align 4, !tbaa !5
  %449 = call ptr @strerror(i32 noundef %448) #10
  %450 = call ptr @__errno_location() #11
  %451 = load i32, ptr %450, align 4, !tbaa !5
  %452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %439, ptr noundef @.str.4, i32 noundef %440, ptr noundef @.str.8, ptr noundef @.str.2, i32 noundef 106, ptr noundef %443, ptr noundef %446, ptr noundef %449, i32 noundef %451) #10
  br label %453

453:                                              ; preds = %436, %419
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #10
  br label %454

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

455:                                              ; No predecessors!
  br label %456

456:                                              ; preds = %455, %402
  br label %457

457:                                              ; preds = %456
  br label %458

458:                                              ; preds = %457
  %459 = load i32, ptr @test_count, align 4, !tbaa !5
  %460 = add nsw i32 %459, 1
  store i32 %460, ptr @test_count, align 4, !tbaa !5
  %461 = call i32 @s2n_enable_atexit()
  %462 = icmp eq i32 %461, -1
  br i1 %462, label %463, label %514

463:                                              ; preds = %458
  br label %464

464:                                              ; preds = %463
  br label %465

465:                                              ; preds = %464
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #10
  %466 = call ptr @__errno_location() #11
  %467 = load i32, ptr %466, align 4, !tbaa !5
  store i32 %467, ptr %7, align 4, !tbaa !5
  %468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %469 = call i32 @s2n_print_stacktrace(ptr noundef %468)
  %470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %471 = trunc i8 %470 to i1
  br i1 %471, label %472, label %494

472:                                              ; preds = %465
  %473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %474 = call i32 @fileno(ptr noundef %473) #10
  %475 = call i32 @isatty(i32 noundef %474) #10
  %476 = icmp ne i32 %475, 0
  br i1 %476, label %477, label %494

477:                                              ; preds = %472
  %478 = load i32, ptr %7, align 4, !tbaa !5
  %479 = call ptr @__errno_location() #11
  store i32 %478, ptr %479, align 4, !tbaa !5
  %480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %481 = load i32, ptr @test_count, align 4, !tbaa !5
  %482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %483 = load i32, ptr %482, align 4, !tbaa !5
  %484 = call ptr @s2n_strerror(i32 noundef %483, ptr noundef @.str.3)
  %485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %486 = load i32, ptr %485, align 4, !tbaa !5
  %487 = call ptr @s2n_strerror_debug(i32 noundef %486, ptr noundef @.str.3)
  %488 = call ptr @__errno_location() #11
  %489 = load i32, ptr %488, align 4, !tbaa !5
  %490 = call ptr @strerror(i32 noundef %489) #10
  %491 = call ptr @__errno_location() #11
  %492 = load i32, ptr %491, align 4, !tbaa !5
  %493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %480, ptr noundef @.str, i32 noundef %481, ptr noundef @.str.9, ptr noundef @.str.2, i32 noundef 106, ptr noundef %484, ptr noundef %487, ptr noundef %490, i32 noundef %492) #10
  br label %511

494:                                              ; preds = %472, %465
  %495 = load i32, ptr %7, align 4, !tbaa !5
  %496 = call ptr @__errno_location() #11
  store i32 %495, ptr %496, align 4, !tbaa !5
  %497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %498 = load i32, ptr @test_count, align 4, !tbaa !5
  %499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %500 = load i32, ptr %499, align 4, !tbaa !5
  %501 = call ptr @s2n_strerror(i32 noundef %500, ptr noundef @.str.3)
  %502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %503 = load i32, ptr %502, align 4, !tbaa !5
  %504 = call ptr @s2n_strerror_debug(i32 noundef %503, ptr noundef @.str.3)
  %505 = call ptr @__errno_location() #11
  %506 = load i32, ptr %505, align 4, !tbaa !5
  %507 = call ptr @strerror(i32 noundef %506) #10
  %508 = call ptr @__errno_location() #11
  %509 = load i32, ptr %508, align 4, !tbaa !5
  %510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %497, ptr noundef @.str.4, i32 noundef %498, ptr noundef @.str.9, ptr noundef @.str.2, i32 noundef 106, ptr noundef %501, ptr noundef %504, ptr noundef %507, i32 noundef %509) #10
  br label %511

511:                                              ; preds = %494, %477
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #10
  br label %512

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

513:                                              ; No predecessors!
  br label %514

514:                                              ; preds = %513, %458
  br label %515

515:                                              ; preds = %514
  br label %516

516:                                              ; preds = %515
  br label %517

517:                                              ; preds = %516
  %518 = call i32 @s2n_init()
  %519 = icmp eq i32 %518, -1
  br i1 %519, label %520, label %571

520:                                              ; preds = %517
  br label %521

521:                                              ; preds = %520
  br label %522

522:                                              ; preds = %521
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #10
  %523 = call ptr @__errno_location() #11
  %524 = load i32, ptr %523, align 4, !tbaa !5
  store i32 %524, ptr %8, align 4, !tbaa !5
  %525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %526 = call i32 @s2n_print_stacktrace(ptr noundef %525)
  %527 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %528 = trunc i8 %527 to i1
  br i1 %528, label %529, label %551

529:                                              ; preds = %522
  %530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %531 = call i32 @fileno(ptr noundef %530) #10
  %532 = call i32 @isatty(i32 noundef %531) #10
  %533 = icmp ne i32 %532, 0
  br i1 %533, label %534, label %551

534:                                              ; preds = %529
  %535 = load i32, ptr %8, align 4, !tbaa !5
  %536 = call ptr @__errno_location() #11
  store i32 %535, ptr %536, align 4, !tbaa !5
  %537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %538 = load i32, ptr @test_count, align 4, !tbaa !5
  %539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %540 = load i32, ptr %539, align 4, !tbaa !5
  %541 = call ptr @s2n_strerror(i32 noundef %540, ptr noundef @.str.3)
  %542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %543 = load i32, ptr %542, align 4, !tbaa !5
  %544 = call ptr @s2n_strerror_debug(i32 noundef %543, ptr noundef @.str.3)
  %545 = call ptr @__errno_location() #11
  %546 = load i32, ptr %545, align 4, !tbaa !5
  %547 = call ptr @strerror(i32 noundef %546) #10
  %548 = call ptr @__errno_location() #11
  %549 = load i32, ptr %548, align 4, !tbaa !5
  %550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %537, ptr noundef @.str, i32 noundef %538, ptr noundef @.str.10, ptr noundef @.str.2, i32 noundef 106, ptr noundef %541, ptr noundef %544, ptr noundef %547, i32 noundef %549) #10
  br label %568

551:                                              ; preds = %529, %522
  %552 = load i32, ptr %8, align 4, !tbaa !5
  %553 = call ptr @__errno_location() #11
  store i32 %552, ptr %553, align 4, !tbaa !5
  %554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %555 = load i32, ptr @test_count, align 4, !tbaa !5
  %556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %557 = load i32, ptr %556, align 4, !tbaa !5
  %558 = call ptr @s2n_strerror(i32 noundef %557, ptr noundef @.str.3)
  %559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %560 = load i32, ptr %559, align 4, !tbaa !5
  %561 = call ptr @s2n_strerror_debug(i32 noundef %560, ptr noundef @.str.3)
  %562 = call ptr @__errno_location() #11
  %563 = load i32, ptr %562, align 4, !tbaa !5
  %564 = call ptr @strerror(i32 noundef %563) #10
  %565 = call ptr @__errno_location() #11
  %566 = load i32, ptr %565, align 4, !tbaa !5
  %567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %554, ptr noundef @.str.4, i32 noundef %555, ptr noundef @.str.10, ptr noundef @.str.2, i32 noundef 106, ptr noundef %558, ptr noundef %561, ptr noundef %564, i32 noundef %566) #10
  br label %568

568:                                              ; preds = %551, %534
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #10
  br label %569

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

570:                                              ; No predecessors!
  br label %571

571:                                              ; preds = %570, %517
  br label %572

572:                                              ; preds = %571
  br label %573

573:                                              ; preds = %572
  call void @llvm.lifetime.start.p0(i64 12, ptr %9) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %9, ptr align 1 @__const.main.test_data, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 16394, ptr %10) #10
  call void @llvm.memset.p0.i64(ptr align 16 %10, i8 0, i64 16394, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %11) #10
  call void @llvm.memset.p0.i64(ptr align 8 %11, i8 0, i64 24, i1 false)
  br label %574

574:                                              ; preds = %573
  %575 = load i32, ptr @test_count, align 4, !tbaa !5
  %576 = add nsw i32 %575, 1
  store i32 %576, ptr @test_count, align 4, !tbaa !5
  %577 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %578 = call i32 @s2n_blob_init(ptr noundef %11, ptr noundef %577, i32 noundef 16394)
  %579 = icmp eq i32 %578, -1
  br i1 %579, label %580, label %633

580:                                              ; preds = %574
  br label %581

581:                                              ; preds = %580
  br label %582

582:                                              ; preds = %581
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #10
  %583 = call ptr @__errno_location() #11
  %584 = load i32, ptr %583, align 4, !tbaa !5
  store i32 %584, ptr %12, align 4, !tbaa !5
  %585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %586 = call i32 @s2n_print_stacktrace(ptr noundef %585)
  %587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %588 = trunc i8 %587 to i1
  br i1 %588, label %589, label %611

589:                                              ; preds = %582
  %590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %591 = call i32 @fileno(ptr noundef %590) #10
  %592 = call i32 @isatty(i32 noundef %591) #10
  %593 = icmp ne i32 %592, 0
  br i1 %593, label %594, label %611

594:                                              ; preds = %589
  %595 = load i32, ptr %12, align 4, !tbaa !5
  %596 = call ptr @__errno_location() #11
  store i32 %595, ptr %596, align 4, !tbaa !5
  %597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %598 = load i32, ptr @test_count, align 4, !tbaa !5
  %599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %600 = load i32, ptr %599, align 4, !tbaa !5
  %601 = call ptr @s2n_strerror(i32 noundef %600, ptr noundef @.str.3)
  %602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %603 = load i32, ptr %602, align 4, !tbaa !5
  %604 = call ptr @s2n_strerror_debug(i32 noundef %603, ptr noundef @.str.3)
  %605 = call ptr @__errno_location() #11
  %606 = load i32, ptr %605, align 4, !tbaa !5
  %607 = call ptr @strerror(i32 noundef %606) #10
  %608 = call ptr @__errno_location() #11
  %609 = load i32, ptr %608, align 4, !tbaa !5
  %610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %597, ptr noundef @.str, i32 noundef %598, ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 112, ptr noundef %601, ptr noundef %604, ptr noundef %607, i32 noundef %609) #10
  br label %628

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

628:                                              ; preds = %611, %594
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #10
  br label %629

629:                                              ; preds = %628
  br label %630

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

631:                                              ; No predecessors!
  br label %632

632:                                              ; preds = %631
  br label %633

633:                                              ; preds = %632, %574
  br label %634

634:                                              ; preds = %633
  br label %635

635:                                              ; preds = %634
  br label %636

636:                                              ; preds = %635
  %637 = load i32, ptr @test_count, align 4, !tbaa !5
  %638 = add nsw i32 %637, 1
  store i32 %638, ptr @test_count, align 4, !tbaa !5
  %639 = call i32 @s2n_get_public_random_data(ptr noundef %11)
  %640 = getelementptr inbounds %struct.s2n_result, ptr %13, i32 0, i32 0
  store i32 %639, ptr %640, align 4
  %641 = getelementptr inbounds %struct.s2n_result, ptr %13, i32 0, i32 0
  %642 = load i32, ptr %641, align 4
  %643 = call zeroext i1 @s2n_result_is_ok(i32 %642)
  br i1 %643, label %697, label %644

644:                                              ; preds = %636
  br label %645

645:                                              ; preds = %644
  br label %646

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

653:                                              ; preds = %646
  %654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %655 = call i32 @fileno(ptr noundef %654) #10
  %656 = call i32 @isatty(i32 noundef %655) #10
  %657 = icmp ne i32 %656, 0
  br i1 %657, label %658, label %675

658:                                              ; preds = %653
  %659 = load i32, ptr %14, align 4, !tbaa !5
  %660 = call ptr @__errno_location() #11
  store i32 %659, ptr %660, align 4, !tbaa !5
  %661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %662 = load i32, ptr @test_count, align 4, !tbaa !5
  %663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %664 = load i32, ptr %663, align 4, !tbaa !5
  %665 = call ptr @s2n_strerror(i32 noundef %664, ptr noundef @.str.3)
  %666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %667 = load i32, ptr %666, align 4, !tbaa !5
  %668 = call ptr @s2n_strerror_debug(i32 noundef %667, ptr noundef @.str.3)
  %669 = call ptr @__errno_location() #11
  %670 = load i32, ptr %669, align 4, !tbaa !5
  %671 = call ptr @strerror(i32 noundef %670) #10
  %672 = call ptr @__errno_location() #11
  %673 = load i32, ptr %672, align 4, !tbaa !5
  %674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %661, ptr noundef @.str, i32 noundef %662, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 113, ptr noundef %665, ptr noundef %668, ptr noundef %671, i32 noundef %673) #10
  br label %692

675:                                              ; preds = %653, %646
  %676 = load i32, ptr %14, align 4, !tbaa !5
  %677 = call ptr @__errno_location() #11
  store i32 %676, ptr %677, align 4, !tbaa !5
  %678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %679 = load i32, ptr @test_count, align 4, !tbaa !5
  %680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %681 = load i32, ptr %680, align 4, !tbaa !5
  %682 = call ptr @s2n_strerror(i32 noundef %681, ptr noundef @.str.3)
  %683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %684 = load i32, ptr %683, align 4, !tbaa !5
  %685 = call ptr @s2n_strerror_debug(i32 noundef %684, ptr noundef @.str.3)
  %686 = call ptr @__errno_location() #11
  %687 = load i32, ptr %686, align 4, !tbaa !5
  %688 = call ptr @strerror(i32 noundef %687) #10
  %689 = call ptr @__errno_location() #11
  %690 = load i32, ptr %689, align 4, !tbaa !5
  %691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %678, ptr noundef @.str.4, i32 noundef %679, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 113, ptr noundef %682, ptr noundef %685, ptr noundef %688, i32 noundef %690) #10
  br label %692

692:                                              ; preds = %675, %658
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #10
  br label %693

693:                                              ; preds = %692
  br label %694

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

695:                                              ; No predecessors!
  br label %696

696:                                              ; preds = %695
  br label %697

697:                                              ; preds = %696, %636
  br label %698

698:                                              ; preds = %697
  br label %699

699:                                              ; preds = %698
  call void @llvm.lifetime.start.p0(i64 400, ptr %15) #10
  call void @llvm.memset.p0.i64(ptr align 16 %15, i8 0, i64 400, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #10
  store i64 0, ptr %16, align 8, !tbaa !15
  br label %700

700:                                              ; preds = %709, %699
  %701 = load i64, ptr %16, align 8, !tbaa !15
  %702 = icmp ult i64 %701, 50
  br i1 %702, label %704, label %703

703:                                              ; preds = %700
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #10
  br label %712

704:                                              ; preds = %700
  %705 = load i64, ptr %16, align 8, !tbaa !15
  %706 = getelementptr inbounds [50 x %struct.s2n_send_result], ptr %15, i64 0, i64 %705
  %707 = getelementptr inbounds %struct.s2n_send_result, ptr %17, i32 0, i32 0
  store i32 2147483647, ptr %707, align 4, !tbaa !17
  %708 = getelementptr inbounds %struct.s2n_send_result, ptr %17, i32 0, i32 1
  store i32 0, ptr %708, align 4, !tbaa !19
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %706, ptr align 4 %17, i64 8, i1 false), !tbaa.struct !20
  br label %709

709:                                              ; preds = %704
  %710 = load i64, ptr %16, align 8, !tbaa !15
  %711 = add i64 %710, 1
  store i64 %711, ptr %16, align 8, !tbaa !15
  br label %700, !llvm.loop !21

712:                                              ; preds = %703
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #10
  %713 = getelementptr inbounds %struct.s2n_send_context, ptr %18, i32 0, i32 0
  store i64 0, ptr %713, align 8, !tbaa !23
  %714 = getelementptr inbounds %struct.s2n_send_context, ptr %18, i32 0, i32 1
  store i64 0, ptr %714, align 8, !tbaa !25
  %715 = getelementptr inbounds %struct.s2n_send_context, ptr %18, i32 0, i32 2
  %716 = getelementptr inbounds [50 x %struct.s2n_send_result], ptr %15, i64 0, i64 0
  store ptr %716, ptr %715, align 8, !tbaa !26
  %717 = getelementptr inbounds %struct.s2n_send_context, ptr %18, i32 0, i32 3
  store i64 50, ptr %717, align 8, !tbaa !27
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #10
  store i64 0, ptr %19, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #10
  %718 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %718, ptr %20, align 8, !tbaa !9
  br label %719

719:                                              ; preds = %712
  %720 = load i32, ptr @test_count, align 4, !tbaa !5
  %721 = add nsw i32 %720, 1
  store i32 %721, ptr @test_count, align 4, !tbaa !5
  %722 = load ptr, ptr %20, align 8, !tbaa !9
  %723 = icmp eq ptr %722, null
  br i1 %723, label %724, label %777

724:                                              ; preds = %719
  br label %725

725:                                              ; preds = %724
  br label %726

726:                                              ; preds = %725
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #10
  %727 = call ptr @__errno_location() #11
  %728 = load i32, ptr %727, align 4, !tbaa !5
  store i32 %728, ptr %21, align 4, !tbaa !5
  %729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %730 = call i32 @s2n_print_stacktrace(ptr noundef %729)
  %731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %732 = trunc i8 %731 to i1
  br i1 %732, label %733, label %755

733:                                              ; preds = %726
  %734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %735 = call i32 @fileno(ptr noundef %734) #10
  %736 = call i32 @isatty(i32 noundef %735) #10
  %737 = icmp ne i32 %736, 0
  br i1 %737, label %738, label %755

738:                                              ; preds = %733
  %739 = load i32, ptr %21, align 4, !tbaa !5
  %740 = call ptr @__errno_location() #11
  store i32 %739, ptr %740, align 4, !tbaa !5
  %741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %742 = load i32, ptr @test_count, align 4, !tbaa !5
  %743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %744 = load i32, ptr %743, align 4, !tbaa !5
  %745 = call ptr @s2n_strerror(i32 noundef %744, ptr noundef @.str.3)
  %746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %747 = load i32, ptr %746, align 4, !tbaa !5
  %748 = call ptr @s2n_strerror_debug(i32 noundef %747, ptr noundef @.str.3)
  %749 = call ptr @__errno_location() #11
  %750 = load i32, ptr %749, align 4, !tbaa !5
  %751 = call ptr @strerror(i32 noundef %750) #10
  %752 = call ptr @__errno_location() #11
  %753 = load i32, ptr %752, align 4, !tbaa !5
  %754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %741, ptr noundef @.str, i32 noundef %742, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 136, ptr noundef %745, ptr noundef %748, ptr noundef %751, i32 noundef %753) #10
  br label %772

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

772:                                              ; preds = %755, %738
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #10
  br label %773

773:                                              ; preds = %772
  br label %774

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

775:                                              ; No predecessors!
  br label %776

776:                                              ; preds = %775
  br label %777

777:                                              ; preds = %776, %719
  br label %778

778:                                              ; preds = %777
  br label %779

779:                                              ; preds = %778
  br label %780

780:                                              ; preds = %779
  %781 = load i32, ptr @test_count, align 4, !tbaa !5
  %782 = add nsw i32 %781, 1
  store i32 %782, ptr @test_count, align 4, !tbaa !5
  %783 = load ptr, ptr %20, align 8, !tbaa !9
  %784 = call i32 @s2n_connection_set_secrets(ptr noundef %783)
  %785 = getelementptr inbounds %struct.s2n_result, ptr %22, i32 0, i32 0
  store i32 %784, ptr %785, align 4
  %786 = getelementptr inbounds %struct.s2n_result, ptr %22, i32 0, i32 0
  %787 = load i32, ptr %786, align 4
  %788 = call zeroext i1 @s2n_result_is_ok(i32 %787)
  br i1 %788, label %842, label %789

789:                                              ; preds = %780
  br label %790

790:                                              ; preds = %789
  br label %791

791:                                              ; preds = %790
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #10
  %792 = call ptr @__errno_location() #11
  %793 = load i32, ptr %792, align 4, !tbaa !5
  store i32 %793, ptr %23, align 4, !tbaa !5
  %794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %795 = call i32 @s2n_print_stacktrace(ptr noundef %794)
  %796 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %797 = trunc i8 %796 to i1
  br i1 %797, label %798, label %820

798:                                              ; preds = %791
  %799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %800 = call i32 @fileno(ptr noundef %799) #10
  %801 = call i32 @isatty(i32 noundef %800) #10
  %802 = icmp ne i32 %801, 0
  br i1 %802, label %803, label %820

803:                                              ; preds = %798
  %804 = load i32, ptr %23, align 4, !tbaa !5
  %805 = call ptr @__errno_location() #11
  store i32 %804, ptr %805, align 4, !tbaa !5
  %806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %807 = load i32, ptr @test_count, align 4, !tbaa !5
  %808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %809 = load i32, ptr %808, align 4, !tbaa !5
  %810 = call ptr @s2n_strerror(i32 noundef %809, ptr noundef @.str.3)
  %811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %812 = load i32, ptr %811, align 4, !tbaa !5
  %813 = call ptr @s2n_strerror_debug(i32 noundef %812, ptr noundef @.str.3)
  %814 = call ptr @__errno_location() #11
  %815 = load i32, ptr %814, align 4, !tbaa !5
  %816 = call ptr @strerror(i32 noundef %815) #10
  %817 = call ptr @__errno_location() #11
  %818 = load i32, ptr %817, align 4, !tbaa !5
  %819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %806, ptr noundef @.str, i32 noundef %807, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 137, ptr noundef %810, ptr noundef %813, ptr noundef %816, i32 noundef %818) #10
  br label %837

820:                                              ; preds = %798, %791
  %821 = load i32, ptr %23, align 4, !tbaa !5
  %822 = call ptr @__errno_location() #11
  store i32 %821, ptr %822, align 4, !tbaa !5
  %823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %824 = load i32, ptr @test_count, align 4, !tbaa !5
  %825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %826 = load i32, ptr %825, align 4, !tbaa !5
  %827 = call ptr @s2n_strerror(i32 noundef %826, ptr noundef @.str.3)
  %828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %829 = load i32, ptr %828, align 4, !tbaa !5
  %830 = call ptr @s2n_strerror_debug(i32 noundef %829, ptr noundef @.str.3)
  %831 = call ptr @__errno_location() #11
  %832 = load i32, ptr %831, align 4, !tbaa !5
  %833 = call ptr @strerror(i32 noundef %832) #10
  %834 = call ptr @__errno_location() #11
  %835 = load i32, ptr %834, align 4, !tbaa !5
  %836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %823, ptr noundef @.str.4, i32 noundef %824, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 137, ptr noundef %827, ptr noundef %830, ptr noundef %833, i32 noundef %835) #10
  br label %837

837:                                              ; preds = %820, %803
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #10
  br label %838

838:                                              ; preds = %837
  br label %839

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

840:                                              ; No predecessors!
  br label %841

841:                                              ; preds = %840
  br label %842

842:                                              ; preds = %841, %780
  br label %843

843:                                              ; preds = %842
  br label %844

844:                                              ; preds = %843
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %24, ptr align 8 %18, i64 32, i1 false), !tbaa.struct !28
  br label %845

845:                                              ; preds = %844
  %846 = load i32, ptr @test_count, align 4, !tbaa !5
  %847 = add nsw i32 %846, 1
  store i32 %847, ptr @test_count, align 4, !tbaa !5
  %848 = load ptr, ptr %20, align 8, !tbaa !9
  %849 = call i32 @s2n_connection_set_send_cb(ptr noundef %848, ptr noundef @s2n_test_send_cb)
  %850 = icmp eq i32 %849, -1
  br i1 %850, label %851, label %904

851:                                              ; preds = %845
  br label %852

852:                                              ; preds = %851
  br label %853

853:                                              ; preds = %852
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #10
  %854 = call ptr @__errno_location() #11
  %855 = load i32, ptr %854, align 4, !tbaa !5
  store i32 %855, ptr %25, align 4, !tbaa !5
  %856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %857 = call i32 @s2n_print_stacktrace(ptr noundef %856)
  %858 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %859 = trunc i8 %858 to i1
  br i1 %859, label %860, label %882

860:                                              ; preds = %853
  %861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %862 = call i32 @fileno(ptr noundef %861) #10
  %863 = call i32 @isatty(i32 noundef %862) #10
  %864 = icmp ne i32 %863, 0
  br i1 %864, label %865, label %882

865:                                              ; preds = %860
  %866 = load i32, ptr %25, align 4, !tbaa !5
  %867 = call ptr @__errno_location() #11
  store i32 %866, ptr %867, align 4, !tbaa !5
  %868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %869 = load i32, ptr @test_count, align 4, !tbaa !5
  %870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %871 = load i32, ptr %870, align 4, !tbaa !5
  %872 = call ptr @s2n_strerror(i32 noundef %871, ptr noundef @.str.3)
  %873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %874 = load i32, ptr %873, align 4, !tbaa !5
  %875 = call ptr @s2n_strerror_debug(i32 noundef %874, ptr noundef @.str.3)
  %876 = call ptr @__errno_location() #11
  %877 = load i32, ptr %876, align 4, !tbaa !5
  %878 = call ptr @strerror(i32 noundef %877) #10
  %879 = call ptr @__errno_location() #11
  %880 = load i32, ptr %879, align 4, !tbaa !5
  %881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %868, ptr noundef @.str, i32 noundef %869, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 140, ptr noundef %872, ptr noundef %875, ptr noundef %878, i32 noundef %880) #10
  br label %899

882:                                              ; preds = %860, %853
  %883 = load i32, ptr %25, align 4, !tbaa !5
  %884 = call ptr @__errno_location() #11
  store i32 %883, ptr %884, align 4, !tbaa !5
  %885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %886 = load i32, ptr @test_count, align 4, !tbaa !5
  %887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %888 = load i32, ptr %887, align 4, !tbaa !5
  %889 = call ptr @s2n_strerror(i32 noundef %888, ptr noundef @.str.3)
  %890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %891 = load i32, ptr %890, align 4, !tbaa !5
  %892 = call ptr @s2n_strerror_debug(i32 noundef %891, ptr noundef @.str.3)
  %893 = call ptr @__errno_location() #11
  %894 = load i32, ptr %893, align 4, !tbaa !5
  %895 = call ptr @strerror(i32 noundef %894) #10
  %896 = call ptr @__errno_location() #11
  %897 = load i32, ptr %896, align 4, !tbaa !5
  %898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %885, ptr noundef @.str.4, i32 noundef %886, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 140, ptr noundef %889, ptr noundef %892, ptr noundef %895, i32 noundef %897) #10
  br label %899

899:                                              ; preds = %882, %865
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #10
  br label %900

900:                                              ; preds = %899
  br label %901

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

902:                                              ; No predecessors!
  br label %903

903:                                              ; preds = %902
  br label %904

904:                                              ; preds = %903, %845
  br label %905

905:                                              ; preds = %904
  br label %906

906:                                              ; preds = %905
  br label %907

907:                                              ; preds = %906
  %908 = load i32, ptr @test_count, align 4, !tbaa !5
  %909 = add nsw i32 %908, 1
  store i32 %909, ptr @test_count, align 4, !tbaa !5
  %910 = load ptr, ptr %20, align 8, !tbaa !9
  %911 = call i32 @s2n_connection_set_send_ctx(ptr noundef %910, ptr noundef %24)
  %912 = icmp eq i32 %911, -1
  br i1 %912, label %913, label %966

913:                                              ; preds = %907
  br label %914

914:                                              ; preds = %913
  br label %915

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

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

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

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

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

962:                                              ; preds = %961
  br label %963

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

964:                                              ; No predecessors!
  br label %965

965:                                              ; preds = %964
  br label %966

966:                                              ; preds = %965, %907
  br label %967

967:                                              ; preds = %966
  br label %968

968:                                              ; preds = %967
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #10
  store i32 0, ptr %27, align 4, !tbaa !5
  br label %969

969:                                              ; preds = %968
  %970 = load i32, ptr @test_count, align 4, !tbaa !5
  %971 = add nsw i32 %970, 1
  store i32 %971, ptr @test_count, align 4, !tbaa !5
  %972 = load ptr, ptr %20, align 8, !tbaa !9
  %973 = getelementptr inbounds [12 x i8], ptr %9, i64 0, i64 0
  %974 = call i64 @s2n_send(ptr noundef %972, ptr noundef %973, i64 noundef 12, ptr noundef %27)
  %975 = icmp eq i64 %974, 12
  br i1 %975, label %1029, label %976

976:                                              ; preds = %969
  br label %977

977:                                              ; preds = %976
  br label %978

978:                                              ; preds = %977
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #10
  %979 = call ptr @__errno_location() #11
  %980 = load i32, ptr %979, align 4, !tbaa !5
  store i32 %980, ptr %28, align 4, !tbaa !5
  %981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %982 = call i32 @s2n_print_stacktrace(ptr noundef %981)
  %983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %984 = trunc i8 %983 to i1
  br i1 %984, label %985, label %1007

985:                                              ; preds = %978
  %986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %987 = call i32 @fileno(ptr noundef %986) #10
  %988 = call i32 @isatty(i32 noundef %987) #10
  %989 = icmp ne i32 %988, 0
  br i1 %989, label %990, label %1007

990:                                              ; preds = %985
  %991 = load i32, ptr %28, align 4, !tbaa !5
  %992 = call ptr @__errno_location() #11
  store i32 %991, ptr %992, align 4, !tbaa !5
  %993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %994 = load i32, ptr @test_count, align 4, !tbaa !5
  %995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %996 = load i32, ptr %995, align 4, !tbaa !5
  %997 = call ptr @s2n_strerror(i32 noundef %996, ptr noundef @.str.3)
  %998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %999 = load i32, ptr %998, align 4, !tbaa !5
  %1000 = call ptr @s2n_strerror_debug(i32 noundef %999, ptr noundef @.str.3)
  %1001 = call ptr @__errno_location() #11
  %1002 = load i32, ptr %1001, align 4, !tbaa !5
  %1003 = call ptr @strerror(i32 noundef %1002) #10
  %1004 = call ptr @__errno_location() #11
  %1005 = load i32, ptr %1004, align 4, !tbaa !5
  %1006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %993, ptr noundef @.str, i32 noundef %994, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 144, ptr noundef %997, ptr noundef %1000, ptr noundef %1003, i32 noundef %1005) #10
  br label %1024

1007:                                             ; preds = %985, %978
  %1008 = load i32, ptr %28, align 4, !tbaa !5
  %1009 = call ptr @__errno_location() #11
  store i32 %1008, ptr %1009, align 4, !tbaa !5
  %1010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1011 = load i32, ptr @test_count, align 4, !tbaa !5
  %1012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1013 = load i32, ptr %1012, align 4, !tbaa !5
  %1014 = call ptr @s2n_strerror(i32 noundef %1013, ptr noundef @.str.3)
  %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_debug(i32 noundef %1016, ptr noundef @.str.3)
  %1018 = call ptr @__errno_location() #11
  %1019 = load i32, ptr %1018, align 4, !tbaa !5
  %1020 = call ptr @strerror(i32 noundef %1019) #10
  %1021 = call ptr @__errno_location() #11
  %1022 = load i32, ptr %1021, align 4, !tbaa !5
  %1023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1010, ptr noundef @.str.4, i32 noundef %1011, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 144, ptr noundef %1014, ptr noundef %1017, ptr noundef %1020, i32 noundef %1022) #10
  br label %1024

1024:                                             ; preds = %1007, %990
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #10
  br label %1025

1025:                                             ; preds = %1024
  br label %1026

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

1027:                                             ; No predecessors!
  br label %1028

1028:                                             ; preds = %1027
  br label %1029

1029:                                             ; preds = %1028, %969
  br label %1030

1030:                                             ; preds = %1029
  br label %1031

1031:                                             ; preds = %1030
  br label %1032

1032:                                             ; preds = %1031
  %1033 = load i32, ptr @test_count, align 4, !tbaa !5
  %1034 = add nsw i32 %1033, 1
  store i32 %1034, ptr @test_count, align 4, !tbaa !5
  %1035 = getelementptr inbounds %struct.s2n_send_context, ptr %24, i32 0, i32 0
  %1036 = load i64, ptr %1035, align 8, !tbaa !23
  %1037 = icmp eq i64 %1036, 1
  br i1 %1037, label %1091, label %1038

1038:                                             ; preds = %1032
  br label %1039

1039:                                             ; preds = %1038
  br label %1040

1040:                                             ; preds = %1039
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #10
  %1041 = call ptr @__errno_location() #11
  %1042 = load i32, ptr %1041, align 4, !tbaa !5
  store i32 %1042, ptr %29, align 4, !tbaa !5
  %1043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1044 = call i32 @s2n_print_stacktrace(ptr noundef %1043)
  %1045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1046 = trunc i8 %1045 to i1
  br i1 %1046, label %1047, label %1069

1047:                                             ; preds = %1040
  %1048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1049 = call i32 @fileno(ptr noundef %1048) #10
  %1050 = call i32 @isatty(i32 noundef %1049) #10
  %1051 = icmp ne i32 %1050, 0
  br i1 %1051, label %1052, label %1069

1052:                                             ; preds = %1047
  %1053 = load i32, ptr %29, align 4, !tbaa !5
  %1054 = call ptr @__errno_location() #11
  store i32 %1053, ptr %1054, align 4, !tbaa !5
  %1055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1056 = load i32, ptr @test_count, align 4, !tbaa !5
  %1057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1058 = load i32, ptr %1057, align 4, !tbaa !5
  %1059 = call ptr @s2n_strerror(i32 noundef %1058, ptr noundef @.str.3)
  %1060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1061 = load i32, ptr %1060, align 4, !tbaa !5
  %1062 = call ptr @s2n_strerror_debug(i32 noundef %1061, ptr noundef @.str.3)
  %1063 = call ptr @__errno_location() #11
  %1064 = load i32, ptr %1063, align 4, !tbaa !5
  %1065 = call ptr @strerror(i32 noundef %1064) #10
  %1066 = call ptr @__errno_location() #11
  %1067 = load i32, ptr %1066, align 4, !tbaa !5
  %1068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1055, ptr noundef @.str, i32 noundef %1056, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 146, ptr noundef %1059, ptr noundef %1062, ptr noundef %1065, i32 noundef %1067) #10
  br label %1086

1069:                                             ; preds = %1047, %1040
  %1070 = load i32, ptr %29, align 4, !tbaa !5
  %1071 = call ptr @__errno_location() #11
  store i32 %1070, ptr %1071, 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 @.str.3)
  %1077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1078 = load i32, ptr %1077, align 4, !tbaa !5
  %1079 = call ptr @s2n_strerror_debug(i32 noundef %1078, ptr noundef @.str.3)
  %1080 = call ptr @__errno_location() #11
  %1081 = load i32, ptr %1080, align 4, !tbaa !5
  %1082 = call ptr @strerror(i32 noundef %1081) #10
  %1083 = call ptr @__errno_location() #11
  %1084 = load i32, ptr %1083, align 4, !tbaa !5
  %1085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1072, ptr noundef @.str.4, i32 noundef %1073, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 146, ptr noundef %1076, ptr noundef %1079, ptr noundef %1082, i32 noundef %1084) #10
  br label %1086

1086:                                             ; preds = %1069, %1052
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #10
  br label %1087

1087:                                             ; preds = %1086
  br label %1088

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

1089:                                             ; No predecessors!
  br label %1090

1090:                                             ; preds = %1089
  br label %1091

1091:                                             ; preds = %1090, %1032
  br label %1092

1092:                                             ; preds = %1091
  br label %1093

1093:                                             ; preds = %1092
  br label %1094

1094:                                             ; preds = %1093
  %1095 = load i32, ptr @test_count, align 4, !tbaa !5
  %1096 = add nsw i32 %1095, 1
  store i32 %1096, ptr @test_count, align 4, !tbaa !5
  %1097 = getelementptr inbounds %struct.s2n_send_context, ptr %24, i32 0, i32 1
  %1098 = load i64, ptr %1097, align 8, !tbaa !25
  %1099 = load ptr, ptr %20, align 8, !tbaa !9
  %1100 = getelementptr inbounds %struct.s2n_connection, ptr %1099, i32 0, i32 59
  %1101 = load i64, ptr %1100, align 8, !tbaa !29
  %1102 = icmp eq i64 %1098, %1101
  br i1 %1102, label %1156, label %1103

1103:                                             ; preds = %1094
  br label %1104

1104:                                             ; preds = %1103
  br label %1105

1105:                                             ; preds = %1104
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #10
  %1106 = call ptr @__errno_location() #11
  %1107 = load i32, ptr %1106, align 4, !tbaa !5
  store i32 %1107, ptr %30, align 4, !tbaa !5
  %1108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1109 = call i32 @s2n_print_stacktrace(ptr noundef %1108)
  %1110 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1111 = trunc i8 %1110 to i1
  br i1 %1111, label %1112, label %1134

1112:                                             ; preds = %1105
  %1113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1114 = call i32 @fileno(ptr noundef %1113) #10
  %1115 = call i32 @isatty(i32 noundef %1114) #10
  %1116 = icmp ne i32 %1115, 0
  br i1 %1116, label %1117, label %1134

1117:                                             ; preds = %1112
  %1118 = load i32, ptr %30, align 4, !tbaa !5
  %1119 = call ptr @__errno_location() #11
  store i32 %1118, ptr %1119, align 4, !tbaa !5
  %1120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1121 = load i32, ptr @test_count, align 4, !tbaa !5
  %1122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1123 = load i32, ptr %1122, align 4, !tbaa !5
  %1124 = call ptr @s2n_strerror(i32 noundef %1123, ptr noundef @.str.3)
  %1125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1126 = load i32, ptr %1125, align 4, !tbaa !5
  %1127 = call ptr @s2n_strerror_debug(i32 noundef %1126, ptr noundef @.str.3)
  %1128 = call ptr @__errno_location() #11
  %1129 = load i32, ptr %1128, align 4, !tbaa !5
  %1130 = call ptr @strerror(i32 noundef %1129) #10
  %1131 = call ptr @__errno_location() #11
  %1132 = load i32, ptr %1131, align 4, !tbaa !5
  %1133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1120, ptr noundef @.str, i32 noundef %1121, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 147, ptr noundef %1124, ptr noundef %1127, ptr noundef %1130, i32 noundef %1132) #10
  br label %1151

1134:                                             ; preds = %1112, %1105
  %1135 = load i32, ptr %30, align 4, !tbaa !5
  %1136 = call ptr @__errno_location() #11
  store i32 %1135, ptr %1136, align 4, !tbaa !5
  %1137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1138 = load i32, ptr @test_count, align 4, !tbaa !5
  %1139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1140 = load i32, ptr %1139, align 4, !tbaa !5
  %1141 = call ptr @s2n_strerror(i32 noundef %1140, ptr noundef @.str.3)
  %1142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1143 = load i32, ptr %1142, align 4, !tbaa !5
  %1144 = call ptr @s2n_strerror_debug(i32 noundef %1143, ptr noundef @.str.3)
  %1145 = call ptr @__errno_location() #11
  %1146 = load i32, ptr %1145, align 4, !tbaa !5
  %1147 = call ptr @strerror(i32 noundef %1146) #10
  %1148 = call ptr @__errno_location() #11
  %1149 = load i32, ptr %1148, align 4, !tbaa !5
  %1150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1137, ptr noundef @.str.4, i32 noundef %1138, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 147, ptr noundef %1141, ptr noundef %1144, ptr noundef %1147, i32 noundef %1149) #10
  br label %1151

1151:                                             ; preds = %1134, %1117
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #10
  br label %1152

1152:                                             ; preds = %1151
  br label %1153

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

1154:                                             ; No predecessors!
  br label %1155

1155:                                             ; preds = %1154
  br label %1156

1156:                                             ; preds = %1155, %1094
  br label %1157

1157:                                             ; preds = %1156
  br label %1158

1158:                                             ; preds = %1157
  %1159 = getelementptr inbounds %struct.s2n_send_context, ptr %24, i32 0, i32 1
  %1160 = load i64, ptr %1159, align 8, !tbaa !25
  store i64 %1160, ptr %19, align 8, !tbaa !15
  br label %1161

1161:                                             ; preds = %1158
  %1162 = load i32, ptr @test_count, align 4, !tbaa !5
  %1163 = add nsw i32 %1162, 1
  store i32 %1163, ptr @test_count, align 4, !tbaa !5
  %1164 = load i64, ptr %19, align 8, !tbaa !15
  %1165 = icmp ugt i64 %1164, 12
  br i1 %1165, label %1219, label %1166

1166:                                             ; preds = %1161
  br label %1167

1167:                                             ; preds = %1166
  br label %1168

1168:                                             ; preds = %1167
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #10
  %1169 = call ptr @__errno_location() #11
  %1170 = load i32, ptr %1169, align 4, !tbaa !5
  store i32 %1170, ptr %31, align 4, !tbaa !5
  %1171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1172 = call i32 @s2n_print_stacktrace(ptr noundef %1171)
  %1173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1174 = trunc i8 %1173 to i1
  br i1 %1174, label %1175, label %1197

1175:                                             ; preds = %1168
  %1176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1177 = call i32 @fileno(ptr noundef %1176) #10
  %1178 = call i32 @isatty(i32 noundef %1177) #10
  %1179 = icmp ne i32 %1178, 0
  br i1 %1179, label %1180, label %1197

1180:                                             ; preds = %1175
  %1181 = load i32, ptr %31, align 4, !tbaa !5
  %1182 = call ptr @__errno_location() #11
  store i32 %1181, ptr %1182, align 4, !tbaa !5
  %1183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1184 = load i32, ptr @test_count, align 4, !tbaa !5
  %1185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1186 = load i32, ptr %1185, align 4, !tbaa !5
  %1187 = call ptr @s2n_strerror(i32 noundef %1186, ptr noundef @.str.3)
  %1188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1189 = load i32, ptr %1188, align 4, !tbaa !5
  %1190 = call ptr @s2n_strerror_debug(i32 noundef %1189, ptr noundef @.str.3)
  %1191 = call ptr @__errno_location() #11
  %1192 = load i32, ptr %1191, align 4, !tbaa !5
  %1193 = call ptr @strerror(i32 noundef %1192) #10
  %1194 = call ptr @__errno_location() #11
  %1195 = load i32, ptr %1194, align 4, !tbaa !5
  %1196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1183, ptr noundef @.str, i32 noundef %1184, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 151, ptr noundef %1187, ptr noundef %1190, ptr noundef %1193, i32 noundef %1195) #10
  br label %1214

1197:                                             ; preds = %1175, %1168
  %1198 = load i32, ptr %31, align 4, !tbaa !5
  %1199 = call ptr @__errno_location() #11
  store i32 %1198, ptr %1199, align 4, !tbaa !5
  %1200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1201 = load i32, ptr @test_count, align 4, !tbaa !5
  %1202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1203 = load i32, ptr %1202, align 4, !tbaa !5
  %1204 = call ptr @s2n_strerror(i32 noundef %1203, ptr noundef @.str.3)
  %1205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1206 = load i32, ptr %1205, align 4, !tbaa !5
  %1207 = call ptr @s2n_strerror_debug(i32 noundef %1206, ptr noundef @.str.3)
  %1208 = call ptr @__errno_location() #11
  %1209 = load i32, ptr %1208, align 4, !tbaa !5
  %1210 = call ptr @strerror(i32 noundef %1209) #10
  %1211 = call ptr @__errno_location() #11
  %1212 = load i32, ptr %1211, align 4, !tbaa !5
  %1213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1200, ptr noundef @.str.4, i32 noundef %1201, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 151, ptr noundef %1204, ptr noundef %1207, ptr noundef %1210, i32 noundef %1212) #10
  br label %1214

1214:                                             ; preds = %1197, %1180
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #10
  br label %1215

1215:                                             ; preds = %1214
  br label %1216

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

1217:                                             ; No predecessors!
  br label %1218

1218:                                             ; preds = %1217
  br label %1219

1219:                                             ; preds = %1218, %1161
  br label %1220

1220:                                             ; preds = %1219
  br label %1221

1221:                                             ; preds = %1220
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #10
  %1222 = call i32 @s2n_connection_ptr_free(ptr noundef %20)
  %1223 = getelementptr inbounds %struct.s2n_result, ptr %32, i32 0, i32 0
  store i32 %1222, ptr %1223, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %33) #10
  call void @llvm.memset.p0.i64(ptr align 16 %33, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #10
  call void @llvm.memset.p0.i64(ptr align 16 %34, i8 0, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #10
  store i64 0, ptr %35, align 8, !tbaa !15
  br label %1224

1224:                                             ; preds = %2141, %1221
  %1225 = load i64, ptr %35, align 8, !tbaa !15
  %1226 = icmp ult i64 %1225, 4
  br i1 %1226, label %1228, label %1227

1227:                                             ; preds = %1224
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #10
  br label %2144

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

1230:                                             ; preds = %1228
  %1231 = load i32, ptr @test_count, align 4, !tbaa !5
  %1232 = add nsw i32 %1231, 1
  store i32 %1232, ptr @test_count, align 4, !tbaa !5
  %1233 = load ptr, ptr %36, align 8, !tbaa !9
  %1234 = icmp eq ptr %1233, null
  br i1 %1234, label %1235, label %1288

1235:                                             ; preds = %1230
  br label %1236

1236:                                             ; preds = %1235
  br label %1237

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

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

1249:                                             ; preds = %1244
  %1250 = load i32, ptr %37, align 4, !tbaa !5
  %1251 = call ptr @__errno_location() #11
  store i32 %1250, ptr %1251, align 4, !tbaa !5
  %1252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1253 = load i32, ptr @test_count, align 4, !tbaa !5
  %1254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1255 = load i32, ptr %1254, align 4, !tbaa !5
  %1256 = call ptr @s2n_strerror(i32 noundef %1255, ptr noundef @.str.3)
  %1257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1258 = load i32, ptr %1257, align 4, !tbaa !5
  %1259 = call ptr @s2n_strerror_debug(i32 noundef %1258, ptr noundef @.str.3)
  %1260 = call ptr @__errno_location() #11
  %1261 = load i32, ptr %1260, align 4, !tbaa !5
  %1262 = call ptr @strerror(i32 noundef %1261) #10
  %1263 = call ptr @__errno_location() #11
  %1264 = load i32, ptr %1263, align 4, !tbaa !5
  %1265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1252, ptr noundef @.str, i32 noundef %1253, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 168, ptr noundef %1256, ptr noundef %1259, ptr noundef %1262, i32 noundef %1264) #10
  br label %1283

1266:                                             ; preds = %1244, %1237
  %1267 = load i32, ptr %37, align 4, !tbaa !5
  %1268 = call ptr @__errno_location() #11
  store i32 %1267, ptr %1268, align 4, !tbaa !5
  %1269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1270 = load i32, ptr @test_count, align 4, !tbaa !5
  %1271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1272 = load i32, ptr %1271, align 4, !tbaa !5
  %1273 = call ptr @s2n_strerror(i32 noundef %1272, ptr noundef @.str.3)
  %1274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1275 = load i32, ptr %1274, align 4, !tbaa !5
  %1276 = call ptr @s2n_strerror_debug(i32 noundef %1275, ptr noundef @.str.3)
  %1277 = call ptr @__errno_location() #11
  %1278 = load i32, ptr %1277, align 4, !tbaa !5
  %1279 = call ptr @strerror(i32 noundef %1278) #10
  %1280 = call ptr @__errno_location() #11
  %1281 = load i32, ptr %1280, align 4, !tbaa !5
  %1282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1269, ptr noundef @.str.4, i32 noundef %1270, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 168, ptr noundef %1273, ptr noundef %1276, ptr noundef %1279, i32 noundef %1281) #10
  br label %1283

1283:                                             ; preds = %1266, %1249
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #10
  br label %1284

1284:                                             ; preds = %1283
  br label %1285

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

1286:                                             ; No predecessors!
  br label %1287

1287:                                             ; preds = %1286
  br label %1288

1288:                                             ; preds = %1287, %1230
  br label %1289

1289:                                             ; preds = %1288
  br label %1290

1290:                                             ; preds = %1289
  br label %1291

1291:                                             ; preds = %1290
  %1292 = load i32, ptr @test_count, align 4, !tbaa !5
  %1293 = add nsw i32 %1292, 1
  store i32 %1293, ptr @test_count, align 4, !tbaa !5
  %1294 = load ptr, ptr %36, align 8, !tbaa !9
  %1295 = call i32 @s2n_connection_set_secrets(ptr noundef %1294)
  %1296 = getelementptr inbounds %struct.s2n_result, ptr %38, i32 0, i32 0
  store i32 %1295, ptr %1296, align 4
  %1297 = getelementptr inbounds %struct.s2n_result, ptr %38, i32 0, i32 0
  %1298 = load i32, ptr %1297, align 4
  %1299 = call zeroext i1 @s2n_result_is_ok(i32 %1298)
  br i1 %1299, label %1353, label %1300

1300:                                             ; preds = %1291
  br label %1301

1301:                                             ; preds = %1300
  br label %1302

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

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

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

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

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

1349:                                             ; preds = %1348
  br label %1350

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

1351:                                             ; No predecessors!
  br label %1352

1352:                                             ; preds = %1351
  br label %1353

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

1354:                                             ; preds = %1353
  br label %1355

1355:                                             ; preds = %1354
  br label %1356

1356:                                             ; preds = %1355
  %1357 = load i32, ptr @test_count, align 4, !tbaa !5
  %1358 = add nsw i32 %1357, 1
  store i32 %1358, ptr @test_count, align 4, !tbaa !5
  %1359 = load ptr, ptr %36, align 8, !tbaa !9
  %1360 = load i64, ptr %35, align 8, !tbaa !15
  %1361 = trunc i64 %1360 to i32
  %1362 = call i32 @s2n_set_test_max_fragment_len(ptr noundef %1359, i32 noundef %1361)
  %1363 = getelementptr inbounds %struct.s2n_result, ptr %40, i32 0, i32 0
  store i32 %1362, ptr %1363, align 4
  %1364 = getelementptr inbounds %struct.s2n_result, ptr %40, i32 0, i32 0
  %1365 = load i32, ptr %1364, align 4
  %1366 = call zeroext i1 @s2n_result_is_ok(i32 %1365)
  br i1 %1366, label %1420, label %1367

1367:                                             ; preds = %1356
  br label %1368

1368:                                             ; preds = %1367
  br label %1369

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

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

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

1398:                                             ; preds = %1376, %1369
  %1399 = load i32, ptr %41, align 4, !tbaa !5
  %1400 = call ptr @__errno_location() #11
  store i32 %1399, ptr %1400, align 4, !tbaa !5
  %1401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1402 = load i32, ptr @test_count, align 4, !tbaa !5
  %1403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1404 = load i32, ptr %1403, align 4, !tbaa !5
  %1405 = call ptr @s2n_strerror(i32 noundef %1404, ptr noundef @.str.3)
  %1406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1407 = load i32, ptr %1406, align 4, !tbaa !5
  %1408 = call ptr @s2n_strerror_debug(i32 noundef %1407, ptr noundef @.str.3)
  %1409 = call ptr @__errno_location() #11
  %1410 = load i32, ptr %1409, align 4, !tbaa !5
  %1411 = call ptr @strerror(i32 noundef %1410) #10
  %1412 = call ptr @__errno_location() #11
  %1413 = load i32, ptr %1412, align 4, !tbaa !5
  %1414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1401, ptr noundef @.str.4, i32 noundef %1402, ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 170, ptr noundef %1405, ptr noundef %1408, ptr noundef %1411, i32 noundef %1413) #10
  br label %1415

1415:                                             ; preds = %1398, %1381
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #10
  br label %1416

1416:                                             ; preds = %1415
  br label %1417

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

1418:                                             ; No predecessors!
  br label %1419

1419:                                             ; preds = %1418
  br label %1420

1420:                                             ; preds = %1419, %1356
  br label %1421

1421:                                             ; preds = %1420
  br label %1422

1422:                                             ; preds = %1421
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #10
  %1423 = load ptr, ptr %36, align 8, !tbaa !9
  %1424 = getelementptr inbounds %struct.s2n_connection, ptr %1423, i32 0, i32 53
  %1425 = load i16, ptr %1424, align 8, !tbaa !55
  %1426 = zext i16 %1425 to i32
  store i32 %1426, ptr %42, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %43, ptr align 8 %18, i64 32, i1 false), !tbaa.struct !28
  br label %1427

1427:                                             ; preds = %1422
  %1428 = load i32, ptr @test_count, align 4, !tbaa !5
  %1429 = add nsw i32 %1428, 1
  store i32 %1429, ptr @test_count, align 4, !tbaa !5
  %1430 = load ptr, ptr %36, align 8, !tbaa !9
  %1431 = call i32 @s2n_connection_set_send_cb(ptr noundef %1430, ptr noundef @s2n_test_send_cb)
  %1432 = icmp eq i32 %1431, -1
  br i1 %1432, label %1433, label %1486

1433:                                             ; preds = %1427
  br label %1434

1434:                                             ; preds = %1433
  br label %1435

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

1442:                                             ; preds = %1435
  %1443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1444 = call i32 @fileno(ptr noundef %1443) #10
  %1445 = call i32 @isatty(i32 noundef %1444) #10
  %1446 = icmp ne i32 %1445, 0
  br i1 %1446, label %1447, label %1464

1447:                                             ; preds = %1442
  %1448 = load i32, ptr %44, align 4, !tbaa !5
  %1449 = call ptr @__errno_location() #11
  store i32 %1448, ptr %1449, align 4, !tbaa !5
  %1450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1451 = load i32, ptr @test_count, align 4, !tbaa !5
  %1452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1453 = load i32, ptr %1452, align 4, !tbaa !5
  %1454 = call ptr @s2n_strerror(i32 noundef %1453, ptr noundef @.str.3)
  %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_debug(i32 noundef %1456, ptr noundef @.str.3)
  %1458 = call ptr @__errno_location() #11
  %1459 = load i32, ptr %1458, align 4, !tbaa !5
  %1460 = call ptr @strerror(i32 noundef %1459) #10
  %1461 = call ptr @__errno_location() #11
  %1462 = load i32, ptr %1461, align 4, !tbaa !5
  %1463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1450, ptr noundef @.str, i32 noundef %1451, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 174, ptr noundef %1454, ptr noundef %1457, ptr noundef %1460, i32 noundef %1462) #10
  br label %1481

1464:                                             ; preds = %1442, %1435
  %1465 = load i32, ptr %44, align 4, !tbaa !5
  %1466 = call ptr @__errno_location() #11
  store i32 %1465, ptr %1466, align 4, !tbaa !5
  %1467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1468 = load i32, ptr @test_count, align 4, !tbaa !5
  %1469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1470 = load i32, ptr %1469, align 4, !tbaa !5
  %1471 = call ptr @s2n_strerror(i32 noundef %1470, ptr noundef @.str.3)
  %1472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1473 = load i32, ptr %1472, align 4, !tbaa !5
  %1474 = call ptr @s2n_strerror_debug(i32 noundef %1473, ptr noundef @.str.3)
  %1475 = call ptr @__errno_location() #11
  %1476 = load i32, ptr %1475, align 4, !tbaa !5
  %1477 = call ptr @strerror(i32 noundef %1476) #10
  %1478 = call ptr @__errno_location() #11
  %1479 = load i32, ptr %1478, align 4, !tbaa !5
  %1480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1467, ptr noundef @.str.4, i32 noundef %1468, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 174, ptr noundef %1471, ptr noundef %1474, ptr noundef %1477, i32 noundef %1479) #10
  br label %1481

1481:                                             ; preds = %1464, %1447
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #10
  br label %1482

1482:                                             ; preds = %1481
  br label %1483

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

1484:                                             ; No predecessors!
  br label %1485

1485:                                             ; preds = %1484
  br label %1486

1486:                                             ; preds = %1485, %1427
  br label %1487

1487:                                             ; preds = %1486
  br label %1488

1488:                                             ; preds = %1487
  br label %1489

1489:                                             ; preds = %1488
  %1490 = load i32, ptr @test_count, align 4, !tbaa !5
  %1491 = add nsw i32 %1490, 1
  store i32 %1491, ptr @test_count, align 4, !tbaa !5
  %1492 = load ptr, ptr %36, align 8, !tbaa !9
  %1493 = call i32 @s2n_connection_set_send_ctx(ptr noundef %1492, ptr noundef %43)
  %1494 = icmp eq i32 %1493, -1
  br i1 %1494, label %1495, label %1548

1495:                                             ; preds = %1489
  br label %1496

1496:                                             ; preds = %1495
  br label %1497

1497:                                             ; preds = %1496
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #10
  %1498 = call ptr @__errno_location() #11
  %1499 = load i32, ptr %1498, align 4, !tbaa !5
  store i32 %1499, ptr %45, align 4, !tbaa !5
  %1500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1501 = call i32 @s2n_print_stacktrace(ptr noundef %1500)
  %1502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1503 = trunc i8 %1502 to i1
  br i1 %1503, label %1504, label %1526

1504:                                             ; preds = %1497
  %1505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1506 = call i32 @fileno(ptr noundef %1505) #10
  %1507 = call i32 @isatty(i32 noundef %1506) #10
  %1508 = icmp ne i32 %1507, 0
  br i1 %1508, label %1509, label %1526

1509:                                             ; preds = %1504
  %1510 = load i32, ptr %45, align 4, !tbaa !5
  %1511 = call ptr @__errno_location() #11
  store i32 %1510, ptr %1511, align 4, !tbaa !5
  %1512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1513 = load i32, ptr @test_count, align 4, !tbaa !5
  %1514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1515 = load i32, ptr %1514, align 4, !tbaa !5
  %1516 = call ptr @s2n_strerror(i32 noundef %1515, ptr noundef @.str.3)
  %1517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1518 = load i32, ptr %1517, align 4, !tbaa !5
  %1519 = call ptr @s2n_strerror_debug(i32 noundef %1518, ptr noundef @.str.3)
  %1520 = call ptr @__errno_location() #11
  %1521 = load i32, ptr %1520, align 4, !tbaa !5
  %1522 = call ptr @strerror(i32 noundef %1521) #10
  %1523 = call ptr @__errno_location() #11
  %1524 = load i32, ptr %1523, align 4, !tbaa !5
  %1525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1512, ptr noundef @.str, i32 noundef %1513, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 175, ptr noundef %1516, ptr noundef %1519, ptr noundef %1522, i32 noundef %1524) #10
  br label %1543

1526:                                             ; preds = %1504, %1497
  %1527 = load i32, ptr %45, align 4, !tbaa !5
  %1528 = call ptr @__errno_location() #11
  store i32 %1527, ptr %1528, align 4, !tbaa !5
  %1529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1530 = load i32, ptr @test_count, align 4, !tbaa !5
  %1531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1532 = load i32, ptr %1531, align 4, !tbaa !5
  %1533 = call ptr @s2n_strerror(i32 noundef %1532, ptr noundef @.str.3)
  %1534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1535 = load i32, ptr %1534, align 4, !tbaa !5
  %1536 = call ptr @s2n_strerror_debug(i32 noundef %1535, ptr noundef @.str.3)
  %1537 = call ptr @__errno_location() #11
  %1538 = load i32, ptr %1537, align 4, !tbaa !5
  %1539 = call ptr @strerror(i32 noundef %1538) #10
  %1540 = call ptr @__errno_location() #11
  %1541 = load i32, ptr %1540, align 4, !tbaa !5
  %1542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1529, ptr noundef @.str.4, i32 noundef %1530, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 175, ptr noundef %1533, ptr noundef %1536, ptr noundef %1539, i32 noundef %1541) #10
  br label %1543

1543:                                             ; preds = %1526, %1509
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #10
  br label %1544

1544:                                             ; preds = %1543
  br label %1545

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

1546:                                             ; No predecessors!
  br label %1547

1547:                                             ; preds = %1546
  br label %1548

1548:                                             ; preds = %1547, %1489
  br label %1549

1549:                                             ; preds = %1548
  br label %1550

1550:                                             ; preds = %1549
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #10
  store i32 0, ptr %46, align 4, !tbaa !5
  br label %1551

1551:                                             ; preds = %1550
  %1552 = load i32, ptr @test_count, align 4, !tbaa !5
  %1553 = add nsw i32 %1552, 1
  store i32 %1553, ptr @test_count, align 4, !tbaa !5
  %1554 = load ptr, ptr %36, align 8, !tbaa !9
  %1555 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %1556 = load i32, ptr %42, align 4, !tbaa !5
  %1557 = zext i32 %1556 to i64
  %1558 = call i64 @s2n_send(ptr noundef %1554, ptr noundef %1555, i64 noundef %1557, ptr noundef %46)
  %1559 = load i32, ptr %42, align 4, !tbaa !5
  %1560 = zext i32 %1559 to i64
  %1561 = icmp eq i64 %1558, %1560
  br i1 %1561, label %1615, label %1562

1562:                                             ; preds = %1551
  br label %1563

1563:                                             ; preds = %1562
  br label %1564

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

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

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

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

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

1611:                                             ; preds = %1610
  br label %1612

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

1613:                                             ; No predecessors!
  br label %1614

1614:                                             ; preds = %1613
  br label %1615

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

1616:                                             ; preds = %1615
  br label %1617

1617:                                             ; preds = %1616
  br label %1618

1618:                                             ; preds = %1617
  %1619 = load i32, ptr @test_count, align 4, !tbaa !5
  %1620 = add nsw i32 %1619, 1
  store i32 %1620, ptr @test_count, align 4, !tbaa !5
  %1621 = load i32, ptr %46, align 4, !tbaa !5
  %1622 = icmp eq i32 %1621, 0
  br i1 %1622, label %1676, label %1623

1623:                                             ; preds = %1618
  br label %1624

1624:                                             ; preds = %1623
  br label %1625

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

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

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

1654:                                             ; preds = %1632, %1625
  %1655 = load i32, ptr %48, align 4, !tbaa !5
  %1656 = call ptr @__errno_location() #11
  store i32 %1655, ptr %1656, align 4, !tbaa !5
  %1657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1658 = load i32, ptr @test_count, align 4, !tbaa !5
  %1659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1660 = load i32, ptr %1659, align 4, !tbaa !5
  %1661 = call ptr @s2n_strerror(i32 noundef %1660, ptr noundef @.str.3)
  %1662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1663 = load i32, ptr %1662, align 4, !tbaa !5
  %1664 = call ptr @s2n_strerror_debug(i32 noundef %1663, ptr noundef @.str.3)
  %1665 = call ptr @__errno_location() #11
  %1666 = load i32, ptr %1665, align 4, !tbaa !5
  %1667 = call ptr @strerror(i32 noundef %1666) #10
  %1668 = call ptr @__errno_location() #11
  %1669 = load i32, ptr %1668, align 4, !tbaa !5
  %1670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1657, ptr noundef @.str.4, i32 noundef %1658, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 181, ptr noundef %1661, ptr noundef %1664, ptr noundef %1667, i32 noundef %1669) #10
  br label %1671

1671:                                             ; preds = %1654, %1637
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #10
  br label %1672

1672:                                             ; preds = %1671
  br label %1673

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

1674:                                             ; No predecessors!
  br label %1675

1675:                                             ; preds = %1674
  br label %1676

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

1677:                                             ; preds = %1676
  br label %1678

1678:                                             ; preds = %1677
  br label %1679

1679:                                             ; preds = %1678
  %1680 = load i32, ptr @test_count, align 4, !tbaa !5
  %1681 = add nsw i32 %1680, 1
  store i32 %1681, ptr @test_count, align 4, !tbaa !5
  %1682 = getelementptr inbounds %struct.s2n_send_context, ptr %43, i32 0, i32 0
  %1683 = load i64, ptr %1682, align 8, !tbaa !23
  %1684 = icmp eq i64 %1683, 1
  br i1 %1684, label %1738, label %1685

1685:                                             ; preds = %1679
  br label %1686

1686:                                             ; preds = %1685
  br label %1687

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

1694:                                             ; preds = %1687
  %1695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1696 = call i32 @fileno(ptr noundef %1695) #10
  %1697 = call i32 @isatty(i32 noundef %1696) #10
  %1698 = icmp ne i32 %1697, 0
  br i1 %1698, label %1699, label %1716

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

1716:                                             ; preds = %1694, %1687
  %1717 = load i32, ptr %49, align 4, !tbaa !5
  %1718 = call ptr @__errno_location() #11
  store i32 %1717, ptr %1718, align 4, !tbaa !5
  %1719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1720 = load i32, ptr @test_count, align 4, !tbaa !5
  %1721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1722 = load i32, ptr %1721, align 4, !tbaa !5
  %1723 = call ptr @s2n_strerror(i32 noundef %1722, ptr noundef @.str.3)
  %1724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1725 = load i32, ptr %1724, align 4, !tbaa !5
  %1726 = call ptr @s2n_strerror_debug(i32 noundef %1725, ptr noundef @.str.3)
  %1727 = call ptr @__errno_location() #11
  %1728 = load i32, ptr %1727, align 4, !tbaa !5
  %1729 = call ptr @strerror(i32 noundef %1728) #10
  %1730 = call ptr @__errno_location() #11
  %1731 = load i32, ptr %1730, align 4, !tbaa !5
  %1732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1719, ptr noundef @.str.4, i32 noundef %1720, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 182, ptr noundef %1723, ptr noundef %1726, ptr noundef %1729, i32 noundef %1731) #10
  br label %1733

1733:                                             ; preds = %1716, %1699
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #10
  br label %1734

1734:                                             ; preds = %1733
  br label %1735

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

1736:                                             ; No predecessors!
  br label %1737

1737:                                             ; preds = %1736
  br label %1738

1738:                                             ; preds = %1737, %1679
  br label %1739

1739:                                             ; preds = %1738
  br label %1740

1740:                                             ; preds = %1739
  %1741 = getelementptr inbounds %struct.s2n_send_context, ptr %43, i32 0, i32 1
  %1742 = load i64, ptr %1741, align 8, !tbaa !25
  %1743 = load i64, ptr %35, align 8, !tbaa !15
  %1744 = getelementptr inbounds [4 x i64], ptr %33, i64 0, i64 %1743
  store i64 %1742, ptr %1744, align 8, !tbaa !15
  br label %1745

1745:                                             ; preds = %1740
  %1746 = load i32, ptr @test_count, align 4, !tbaa !5
  %1747 = add nsw i32 %1746, 1
  store i32 %1747, ptr @test_count, align 4, !tbaa !5
  %1748 = load i64, ptr %35, align 8, !tbaa !15
  %1749 = getelementptr inbounds [4 x i64], ptr %33, i64 0, i64 %1748
  %1750 = load i64, ptr %1749, align 8, !tbaa !15
  %1751 = icmp sgt i64 %1750, 0
  br i1 %1751, label %1805, label %1752

1752:                                             ; preds = %1745
  br label %1753

1753:                                             ; preds = %1752
  br label %1754

1754:                                             ; preds = %1753
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #10
  %1755 = call ptr @__errno_location() #11
  %1756 = load i32, ptr %1755, align 4, !tbaa !5
  store i32 %1756, ptr %50, align 4, !tbaa !5
  %1757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1758 = call i32 @s2n_print_stacktrace(ptr noundef %1757)
  %1759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1760 = trunc i8 %1759 to i1
  br i1 %1760, label %1761, label %1783

1761:                                             ; preds = %1754
  %1762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1763 = call i32 @fileno(ptr noundef %1762) #10
  %1764 = call i32 @isatty(i32 noundef %1763) #10
  %1765 = icmp ne i32 %1764, 0
  br i1 %1765, label %1766, label %1783

1766:                                             ; preds = %1761
  %1767 = load i32, ptr %50, align 4, !tbaa !5
  %1768 = call ptr @__errno_location() #11
  store i32 %1767, ptr %1768, align 4, !tbaa !5
  %1769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1770 = load i32, ptr @test_count, align 4, !tbaa !5
  %1771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1772 = load i32, ptr %1771, align 4, !tbaa !5
  %1773 = call ptr @s2n_strerror(i32 noundef %1772, ptr noundef @.str.3)
  %1774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1775 = load i32, ptr %1774, align 4, !tbaa !5
  %1776 = call ptr @s2n_strerror_debug(i32 noundef %1775, ptr noundef @.str.3)
  %1777 = call ptr @__errno_location() #11
  %1778 = load i32, ptr %1777, align 4, !tbaa !5
  %1779 = call ptr @strerror(i32 noundef %1778) #10
  %1780 = call ptr @__errno_location() #11
  %1781 = load i32, ptr %1780, align 4, !tbaa !5
  %1782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1769, ptr noundef @.str, i32 noundef %1770, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 186, ptr noundef %1773, ptr noundef %1776, ptr noundef %1779, i32 noundef %1781) #10
  br label %1800

1783:                                             ; preds = %1761, %1754
  %1784 = load i32, ptr %50, align 4, !tbaa !5
  %1785 = call ptr @__errno_location() #11
  store i32 %1784, ptr %1785, align 4, !tbaa !5
  %1786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1787 = load i32, ptr @test_count, align 4, !tbaa !5
  %1788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1789 = load i32, ptr %1788, align 4, !tbaa !5
  %1790 = call ptr @s2n_strerror(i32 noundef %1789, ptr noundef @.str.3)
  %1791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1792 = load i32, ptr %1791, align 4, !tbaa !5
  %1793 = call ptr @s2n_strerror_debug(i32 noundef %1792, ptr noundef @.str.3)
  %1794 = call ptr @__errno_location() #11
  %1795 = load i32, ptr %1794, align 4, !tbaa !5
  %1796 = call ptr @strerror(i32 noundef %1795) #10
  %1797 = call ptr @__errno_location() #11
  %1798 = load i32, ptr %1797, align 4, !tbaa !5
  %1799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1786, ptr noundef @.str.4, i32 noundef %1787, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 186, ptr noundef %1790, ptr noundef %1793, ptr noundef %1796, i32 noundef %1798) #10
  br label %1800

1800:                                             ; preds = %1783, %1766
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #10
  br label %1801

1801:                                             ; preds = %1800
  br label %1802

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

1803:                                             ; No predecessors!
  br label %1804

1804:                                             ; preds = %1803
  br label %1805

1805:                                             ; preds = %1804, %1745
  br label %1806

1806:                                             ; preds = %1805
  br label %1807

1807:                                             ; preds = %1806
  %1808 = load ptr, ptr %36, align 8, !tbaa !9
  %1809 = getelementptr inbounds %struct.s2n_connection, ptr %1808, i32 0, i32 41
  %1810 = getelementptr inbounds %struct.s2n_stuffer, ptr %1809, i32 0, i32 0
  %1811 = getelementptr inbounds %struct.s2n_blob, ptr %1810, i32 0, i32 1
  %1812 = load i32, ptr %1811, align 8, !tbaa !56
  %1813 = load i64, ptr %35, align 8, !tbaa !15
  %1814 = getelementptr inbounds [4 x i32], ptr %34, i64 0, i64 %1813
  store i32 %1812, ptr %1814, align 4, !tbaa !5
  br label %1815

1815:                                             ; preds = %1807
  %1816 = load i32, ptr @test_count, align 4, !tbaa !5
  %1817 = add nsw i32 %1816, 1
  store i32 %1817, ptr @test_count, align 4, !tbaa !5
  %1818 = load i64, ptr %35, align 8, !tbaa !15
  %1819 = getelementptr inbounds [4 x i32], ptr %34, i64 0, i64 %1818
  %1820 = load i32, ptr %1819, align 4, !tbaa !5
  %1821 = icmp ugt i32 %1820, 0
  br i1 %1821, label %1875, label %1822

1822:                                             ; preds = %1815
  br label %1823

1823:                                             ; preds = %1822
  br label %1824

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

1831:                                             ; preds = %1824
  %1832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1833 = call i32 @fileno(ptr noundef %1832) #10
  %1834 = call i32 @isatty(i32 noundef %1833) #10
  %1835 = icmp ne i32 %1834, 0
  br i1 %1835, label %1836, label %1853

1836:                                             ; preds = %1831
  %1837 = load i32, ptr %51, align 4, !tbaa !5
  %1838 = call ptr @__errno_location() #11
  store i32 %1837, ptr %1838, align 4, !tbaa !5
  %1839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1840 = load i32, ptr @test_count, align 4, !tbaa !5
  %1841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1842 = load i32, ptr %1841, align 4, !tbaa !5
  %1843 = call ptr @s2n_strerror(i32 noundef %1842, ptr noundef @.str.3)
  %1844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1845 = load i32, ptr %1844, align 4, !tbaa !5
  %1846 = call ptr @s2n_strerror_debug(i32 noundef %1845, ptr noundef @.str.3)
  %1847 = call ptr @__errno_location() #11
  %1848 = load i32, ptr %1847, align 4, !tbaa !5
  %1849 = call ptr @strerror(i32 noundef %1848) #10
  %1850 = call ptr @__errno_location() #11
  %1851 = load i32, ptr %1850, align 4, !tbaa !5
  %1852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1839, ptr noundef @.str, i32 noundef %1840, ptr noundef @.str.25, ptr noundef @.str.2, i32 noundef 190, ptr noundef %1843, ptr noundef %1846, ptr noundef %1849, i32 noundef %1851) #10
  br label %1870

1853:                                             ; preds = %1831, %1824
  %1854 = load i32, ptr %51, align 4, !tbaa !5
  %1855 = call ptr @__errno_location() #11
  store i32 %1854, ptr %1855, align 4, !tbaa !5
  %1856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1857 = load i32, ptr @test_count, align 4, !tbaa !5
  %1858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1859 = load i32, ptr %1858, align 4, !tbaa !5
  %1860 = call ptr @s2n_strerror(i32 noundef %1859, ptr noundef @.str.3)
  %1861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1862 = load i32, ptr %1861, align 4, !tbaa !5
  %1863 = call ptr @s2n_strerror_debug(i32 noundef %1862, ptr noundef @.str.3)
  %1864 = call ptr @__errno_location() #11
  %1865 = load i32, ptr %1864, align 4, !tbaa !5
  %1866 = call ptr @strerror(i32 noundef %1865) #10
  %1867 = call ptr @__errno_location() #11
  %1868 = load i32, ptr %1867, align 4, !tbaa !5
  %1869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1856, ptr noundef @.str.4, i32 noundef %1857, ptr noundef @.str.25, ptr noundef @.str.2, i32 noundef 190, ptr noundef %1860, ptr noundef %1863, ptr noundef %1866, i32 noundef %1868) #10
  br label %1870

1870:                                             ; preds = %1853, %1836
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #10
  br label %1871

1871:                                             ; preds = %1870
  br label %1872

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

1873:                                             ; No predecessors!
  br label %1874

1874:                                             ; preds = %1873
  br label %1875

1875:                                             ; preds = %1874, %1815
  br label %1876

1876:                                             ; preds = %1875
  br label %1877

1877:                                             ; preds = %1876
  %1878 = getelementptr inbounds %struct.s2n_send_context, ptr %43, i32 0, i32 0
  store i64 0, ptr %1878, align 8, !tbaa !23
  br label %1879

1879:                                             ; preds = %1877
  %1880 = load i32, ptr @test_count, align 4, !tbaa !5
  %1881 = add nsw i32 %1880, 1
  store i32 %1881, ptr @test_count, align 4, !tbaa !5
  %1882 = load ptr, ptr %36, align 8, !tbaa !9
  %1883 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %1884 = load i32, ptr %42, align 4, !tbaa !5
  %1885 = add i32 %1884, 1
  %1886 = zext i32 %1885 to i64
  %1887 = call i64 @s2n_send(ptr noundef %1882, ptr noundef %1883, i64 noundef %1886, ptr noundef %46)
  %1888 = load i32, ptr %42, align 4, !tbaa !5
  %1889 = add i32 %1888, 1
  %1890 = zext i32 %1889 to i64
  %1891 = icmp eq i64 %1887, %1890
  br i1 %1891, label %1945, label %1892

1892:                                             ; preds = %1879
  br label %1893

1893:                                             ; preds = %1892
  br label %1894

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

1901:                                             ; preds = %1894
  %1902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1903 = call i32 @fileno(ptr noundef %1902) #10
  %1904 = call i32 @isatty(i32 noundef %1903) #10
  %1905 = icmp ne i32 %1904, 0
  br i1 %1905, label %1906, label %1923

1906:                                             ; preds = %1901
  %1907 = load i32, ptr %52, align 4, !tbaa !5
  %1908 = call ptr @__errno_location() #11
  store i32 %1907, ptr %1908, align 4, !tbaa !5
  %1909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1910 = load i32, ptr @test_count, align 4, !tbaa !5
  %1911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1912 = load i32, ptr %1911, align 4, !tbaa !5
  %1913 = call ptr @s2n_strerror(i32 noundef %1912, ptr noundef @.str.3)
  %1914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1915 = load i32, ptr %1914, align 4, !tbaa !5
  %1916 = call ptr @s2n_strerror_debug(i32 noundef %1915, ptr noundef @.str.3)
  %1917 = call ptr @__errno_location() #11
  %1918 = load i32, ptr %1917, align 4, !tbaa !5
  %1919 = call ptr @strerror(i32 noundef %1918) #10
  %1920 = call ptr @__errno_location() #11
  %1921 = load i32, ptr %1920, align 4, !tbaa !5
  %1922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1909, ptr noundef @.str, i32 noundef %1910, ptr noundef @.str.26, ptr noundef @.str.2, i32 noundef 197, ptr noundef %1913, ptr noundef %1916, ptr noundef %1919, i32 noundef %1921) #10
  br label %1940

1923:                                             ; preds = %1901, %1894
  %1924 = load i32, ptr %52, align 4, !tbaa !5
  %1925 = call ptr @__errno_location() #11
  store i32 %1924, ptr %1925, align 4, !tbaa !5
  %1926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1927 = load i32, ptr @test_count, align 4, !tbaa !5
  %1928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1929 = load i32, ptr %1928, align 4, !tbaa !5
  %1930 = call ptr @s2n_strerror(i32 noundef %1929, ptr noundef @.str.3)
  %1931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1932 = load i32, ptr %1931, align 4, !tbaa !5
  %1933 = call ptr @s2n_strerror_debug(i32 noundef %1932, ptr noundef @.str.3)
  %1934 = call ptr @__errno_location() #11
  %1935 = load i32, ptr %1934, align 4, !tbaa !5
  %1936 = call ptr @strerror(i32 noundef %1935) #10
  %1937 = call ptr @__errno_location() #11
  %1938 = load i32, ptr %1937, align 4, !tbaa !5
  %1939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1926, ptr noundef @.str.4, i32 noundef %1927, ptr noundef @.str.26, ptr noundef @.str.2, i32 noundef 197, ptr noundef %1930, ptr noundef %1933, ptr noundef %1936, i32 noundef %1938) #10
  br label %1940

1940:                                             ; preds = %1923, %1906
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #10
  br label %1941

1941:                                             ; preds = %1940
  br label %1942

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

1943:                                             ; No predecessors!
  br label %1944

1944:                                             ; preds = %1943
  br label %1945

1945:                                             ; preds = %1944, %1879
  br label %1946

1946:                                             ; preds = %1945
  br label %1947

1947:                                             ; preds = %1946
  br label %1948

1948:                                             ; preds = %1947
  %1949 = load i32, ptr @test_count, align 4, !tbaa !5
  %1950 = add nsw i32 %1949, 1
  store i32 %1950, ptr @test_count, align 4, !tbaa !5
  %1951 = load i32, ptr %46, align 4, !tbaa !5
  %1952 = icmp eq i32 %1951, 0
  br i1 %1952, label %2006, label %1953

1953:                                             ; preds = %1948
  br label %1954

1954:                                             ; preds = %1953
  br label %1955

1955:                                             ; preds = %1954
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #10
  %1956 = call ptr @__errno_location() #11
  %1957 = load i32, ptr %1956, align 4, !tbaa !5
  store i32 %1957, ptr %53, align 4, !tbaa !5
  %1958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1959 = call i32 @s2n_print_stacktrace(ptr noundef %1958)
  %1960 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1961 = trunc i8 %1960 to i1
  br i1 %1961, label %1962, label %1984

1962:                                             ; preds = %1955
  %1963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1964 = call i32 @fileno(ptr noundef %1963) #10
  %1965 = call i32 @isatty(i32 noundef %1964) #10
  %1966 = icmp ne i32 %1965, 0
  br i1 %1966, label %1967, label %1984

1967:                                             ; preds = %1962
  %1968 = load i32, ptr %53, align 4, !tbaa !5
  %1969 = call ptr @__errno_location() #11
  store i32 %1968, ptr %1969, align 4, !tbaa !5
  %1970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1971 = load i32, ptr @test_count, align 4, !tbaa !5
  %1972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1973 = load i32, ptr %1972, align 4, !tbaa !5
  %1974 = call ptr @s2n_strerror(i32 noundef %1973, ptr noundef @.str.3)
  %1975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1976 = load i32, ptr %1975, align 4, !tbaa !5
  %1977 = call ptr @s2n_strerror_debug(i32 noundef %1976, ptr noundef @.str.3)
  %1978 = call ptr @__errno_location() #11
  %1979 = load i32, ptr %1978, align 4, !tbaa !5
  %1980 = call ptr @strerror(i32 noundef %1979) #10
  %1981 = call ptr @__errno_location() #11
  %1982 = load i32, ptr %1981, align 4, !tbaa !5
  %1983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1970, ptr noundef @.str, i32 noundef %1971, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 198, ptr noundef %1974, ptr noundef %1977, ptr noundef %1980, i32 noundef %1982) #10
  br label %2001

1984:                                             ; preds = %1962, %1955
  %1985 = load i32, ptr %53, align 4, !tbaa !5
  %1986 = call ptr @__errno_location() #11
  store i32 %1985, ptr %1986, align 4, !tbaa !5
  %1987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1988 = load i32, ptr @test_count, align 4, !tbaa !5
  %1989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1990 = load i32, ptr %1989, align 4, !tbaa !5
  %1991 = call ptr @s2n_strerror(i32 noundef %1990, ptr noundef @.str.3)
  %1992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1993 = load i32, ptr %1992, align 4, !tbaa !5
  %1994 = call ptr @s2n_strerror_debug(i32 noundef %1993, ptr noundef @.str.3)
  %1995 = call ptr @__errno_location() #11
  %1996 = load i32, ptr %1995, align 4, !tbaa !5
  %1997 = call ptr @strerror(i32 noundef %1996) #10
  %1998 = call ptr @__errno_location() #11
  %1999 = load i32, ptr %1998, align 4, !tbaa !5
  %2000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1987, ptr noundef @.str.4, i32 noundef %1988, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 198, ptr noundef %1991, ptr noundef %1994, ptr noundef %1997, i32 noundef %1999) #10
  br label %2001

2001:                                             ; preds = %1984, %1967
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #10
  br label %2002

2002:                                             ; preds = %2001
  br label %2003

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

2004:                                             ; No predecessors!
  br label %2005

2005:                                             ; preds = %2004
  br label %2006

2006:                                             ; preds = %2005, %1948
  br label %2007

2007:                                             ; preds = %2006
  br label %2008

2008:                                             ; preds = %2007
  br label %2009

2009:                                             ; preds = %2008
  %2010 = load i32, ptr @test_count, align 4, !tbaa !5
  %2011 = add nsw i32 %2010, 1
  store i32 %2011, ptr @test_count, align 4, !tbaa !5
  %2012 = getelementptr inbounds %struct.s2n_send_context, ptr %43, i32 0, i32 0
  %2013 = load i64, ptr %2012, align 8, !tbaa !23
  %2014 = icmp eq i64 %2013, 2
  br i1 %2014, label %2068, label %2015

2015:                                             ; preds = %2009
  br label %2016

2016:                                             ; preds = %2015
  br label %2017

2017:                                             ; preds = %2016
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #10
  %2018 = call ptr @__errno_location() #11
  %2019 = load i32, ptr %2018, align 4, !tbaa !5
  store i32 %2019, ptr %54, align 4, !tbaa !5
  %2020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2021 = call i32 @s2n_print_stacktrace(ptr noundef %2020)
  %2022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2023 = trunc i8 %2022 to i1
  br i1 %2023, label %2024, label %2046

2024:                                             ; preds = %2017
  %2025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2026 = call i32 @fileno(ptr noundef %2025) #10
  %2027 = call i32 @isatty(i32 noundef %2026) #10
  %2028 = icmp ne i32 %2027, 0
  br i1 %2028, label %2029, label %2046

2029:                                             ; preds = %2024
  %2030 = load i32, ptr %54, align 4, !tbaa !5
  %2031 = call ptr @__errno_location() #11
  store i32 %2030, ptr %2031, align 4, !tbaa !5
  %2032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2033 = load i32, ptr @test_count, align 4, !tbaa !5
  %2034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2035 = load i32, ptr %2034, align 4, !tbaa !5
  %2036 = call ptr @s2n_strerror(i32 noundef %2035, ptr noundef @.str.3)
  %2037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2038 = load i32, ptr %2037, align 4, !tbaa !5
  %2039 = call ptr @s2n_strerror_debug(i32 noundef %2038, ptr noundef @.str.3)
  %2040 = call ptr @__errno_location() #11
  %2041 = load i32, ptr %2040, align 4, !tbaa !5
  %2042 = call ptr @strerror(i32 noundef %2041) #10
  %2043 = call ptr @__errno_location() #11
  %2044 = load i32, ptr %2043, align 4, !tbaa !5
  %2045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2032, ptr noundef @.str, i32 noundef %2033, ptr noundef @.str.27, ptr noundef @.str.2, i32 noundef 199, ptr noundef %2036, ptr noundef %2039, ptr noundef %2042, i32 noundef %2044) #10
  br label %2063

2046:                                             ; preds = %2024, %2017
  %2047 = load i32, ptr %54, align 4, !tbaa !5
  %2048 = call ptr @__errno_location() #11
  store i32 %2047, ptr %2048, align 4, !tbaa !5
  %2049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2050 = load i32, ptr @test_count, align 4, !tbaa !5
  %2051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2052 = load i32, ptr %2051, align 4, !tbaa !5
  %2053 = call ptr @s2n_strerror(i32 noundef %2052, ptr noundef @.str.3)
  %2054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2055 = load i32, ptr %2054, align 4, !tbaa !5
  %2056 = call ptr @s2n_strerror_debug(i32 noundef %2055, ptr noundef @.str.3)
  %2057 = call ptr @__errno_location() #11
  %2058 = load i32, ptr %2057, align 4, !tbaa !5
  %2059 = call ptr @strerror(i32 noundef %2058) #10
  %2060 = call ptr @__errno_location() #11
  %2061 = load i32, ptr %2060, align 4, !tbaa !5
  %2062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2049, ptr noundef @.str.4, i32 noundef %2050, ptr noundef @.str.27, ptr noundef @.str.2, i32 noundef 199, ptr noundef %2053, ptr noundef %2056, ptr noundef %2059, i32 noundef %2061) #10
  br label %2063

2063:                                             ; preds = %2046, %2029
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #10
  br label %2064

2064:                                             ; preds = %2063
  br label %2065

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

2066:                                             ; No predecessors!
  br label %2067

2067:                                             ; preds = %2066
  br label %2068

2068:                                             ; preds = %2067, %2009
  br label %2069

2069:                                             ; preds = %2068
  br label %2070

2070:                                             ; preds = %2069
  br label %2071

2071:                                             ; preds = %2070
  %2072 = load i32, ptr @test_count, align 4, !tbaa !5
  %2073 = add nsw i32 %2072, 1
  store i32 %2073, ptr @test_count, align 4, !tbaa !5
  %2074 = load ptr, ptr %36, align 8, !tbaa !9
  %2075 = getelementptr inbounds %struct.s2n_connection, ptr %2074, i32 0, i32 41
  %2076 = getelementptr inbounds %struct.s2n_stuffer, ptr %2075, i32 0, i32 0
  %2077 = getelementptr inbounds %struct.s2n_blob, ptr %2076, i32 0, i32 1
  %2078 = load i32, ptr %2077, align 8, !tbaa !56
  %2079 = load i64, ptr %35, align 8, !tbaa !15
  %2080 = getelementptr inbounds [4 x i32], ptr %34, i64 0, i64 %2079
  %2081 = load i32, ptr %2080, align 4, !tbaa !5
  %2082 = icmp eq i32 %2078, %2081
  br i1 %2082, label %2136, label %2083

2083:                                             ; preds = %2071
  br label %2084

2084:                                             ; preds = %2083
  br label %2085

2085:                                             ; preds = %2084
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #10
  %2086 = call ptr @__errno_location() #11
  %2087 = load i32, ptr %2086, align 4, !tbaa !5
  store i32 %2087, ptr %55, align 4, !tbaa !5
  %2088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2089 = call i32 @s2n_print_stacktrace(ptr noundef %2088)
  %2090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2091 = trunc i8 %2090 to i1
  br i1 %2091, label %2092, label %2114

2092:                                             ; preds = %2085
  %2093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2094 = call i32 @fileno(ptr noundef %2093) #10
  %2095 = call i32 @isatty(i32 noundef %2094) #10
  %2096 = icmp ne i32 %2095, 0
  br i1 %2096, label %2097, label %2114

2097:                                             ; preds = %2092
  %2098 = load i32, ptr %55, align 4, !tbaa !5
  %2099 = call ptr @__errno_location() #11
  store i32 %2098, ptr %2099, align 4, !tbaa !5
  %2100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2101 = load i32, ptr @test_count, align 4, !tbaa !5
  %2102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2103 = load i32, ptr %2102, align 4, !tbaa !5
  %2104 = call ptr @s2n_strerror(i32 noundef %2103, ptr noundef @.str.3)
  %2105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2106 = load i32, ptr %2105, align 4, !tbaa !5
  %2107 = call ptr @s2n_strerror_debug(i32 noundef %2106, ptr noundef @.str.3)
  %2108 = call ptr @__errno_location() #11
  %2109 = load i32, ptr %2108, align 4, !tbaa !5
  %2110 = call ptr @strerror(i32 noundef %2109) #10
  %2111 = call ptr @__errno_location() #11
  %2112 = load i32, ptr %2111, align 4, !tbaa !5
  %2113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2100, ptr noundef @.str, i32 noundef %2101, ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 202, ptr noundef %2104, ptr noundef %2107, ptr noundef %2110, i32 noundef %2112) #10
  br label %2131

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

2131:                                             ; preds = %2114, %2097
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #10
  br label %2132

2132:                                             ; preds = %2131
  br label %2133

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

2134:                                             ; No predecessors!
  br label %2135

2135:                                             ; preds = %2134
  br label %2136

2136:                                             ; preds = %2135, %2071
  br label %2137

2137:                                             ; preds = %2136
  br label %2138

2138:                                             ; preds = %2137
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #10
  %2139 = call i32 @s2n_connection_ptr_free(ptr noundef %36)
  %2140 = getelementptr inbounds %struct.s2n_result, ptr %56, i32 0, i32 0
  store i32 %2139, ptr %2140, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #10
  br label %2141

2141:                                             ; preds = %2138
  %2142 = load i64, ptr %35, align 8, !tbaa !15
  %2143 = add i64 %2142, 1
  store i64 %2143, ptr %35, align 8, !tbaa !15
  br label %1224, !llvm.loop !57

2144:                                             ; preds = %1227
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #10
  %2145 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2145, ptr %57, align 8, !tbaa !9
  br label %2146

2146:                                             ; preds = %2144
  %2147 = load i32, ptr @test_count, align 4, !tbaa !5
  %2148 = add nsw i32 %2147, 1
  store i32 %2148, ptr @test_count, align 4, !tbaa !5
  %2149 = load ptr, ptr %57, align 8, !tbaa !9
  %2150 = icmp eq ptr %2149, null
  br i1 %2150, label %2151, label %2204

2151:                                             ; preds = %2146
  br label %2152

2152:                                             ; preds = %2151
  br label %2153

2153:                                             ; preds = %2152
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #10
  %2154 = call ptr @__errno_location() #11
  %2155 = load i32, ptr %2154, align 4, !tbaa !5
  store i32 %2155, ptr %58, align 4, !tbaa !5
  %2156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2157 = call i32 @s2n_print_stacktrace(ptr noundef %2156)
  %2158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2159 = trunc i8 %2158 to i1
  br i1 %2159, label %2160, label %2182

2160:                                             ; preds = %2153
  %2161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2162 = call i32 @fileno(ptr noundef %2161) #10
  %2163 = call i32 @isatty(i32 noundef %2162) #10
  %2164 = icmp ne i32 %2163, 0
  br i1 %2164, label %2165, label %2182

2165:                                             ; preds = %2160
  %2166 = load i32, ptr %58, align 4, !tbaa !5
  %2167 = call ptr @__errno_location() #11
  store i32 %2166, ptr %2167, align 4, !tbaa !5
  %2168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2169 = load i32, ptr @test_count, align 4, !tbaa !5
  %2170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2171 = load i32, ptr %2170, align 4, !tbaa !5
  %2172 = call ptr @s2n_strerror(i32 noundef %2171, ptr noundef @.str.3)
  %2173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2174 = load i32, ptr %2173, align 4, !tbaa !5
  %2175 = call ptr @s2n_strerror_debug(i32 noundef %2174, ptr noundef @.str.3)
  %2176 = call ptr @__errno_location() #11
  %2177 = load i32, ptr %2176, align 4, !tbaa !5
  %2178 = call ptr @strerror(i32 noundef %2177) #10
  %2179 = call ptr @__errno_location() #11
  %2180 = load i32, ptr %2179, align 4, !tbaa !5
  %2181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2168, ptr noundef @.str, i32 noundef %2169, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 210, ptr noundef %2172, ptr noundef %2175, ptr noundef %2178, i32 noundef %2180) #10
  br label %2199

2182:                                             ; preds = %2160, %2153
  %2183 = load i32, ptr %58, align 4, !tbaa !5
  %2184 = call ptr @__errno_location() #11
  store i32 %2183, ptr %2184, align 4, !tbaa !5
  %2185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2186 = load i32, ptr @test_count, align 4, !tbaa !5
  %2187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2188 = load i32, ptr %2187, align 4, !tbaa !5
  %2189 = call ptr @s2n_strerror(i32 noundef %2188, ptr noundef @.str.3)
  %2190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2191 = load i32, ptr %2190, align 4, !tbaa !5
  %2192 = call ptr @s2n_strerror_debug(i32 noundef %2191, ptr noundef @.str.3)
  %2193 = call ptr @__errno_location() #11
  %2194 = load i32, ptr %2193, align 4, !tbaa !5
  %2195 = call ptr @strerror(i32 noundef %2194) #10
  %2196 = call ptr @__errno_location() #11
  %2197 = load i32, ptr %2196, align 4, !tbaa !5
  %2198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2185, ptr noundef @.str.4, i32 noundef %2186, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 210, ptr noundef %2189, ptr noundef %2192, ptr noundef %2195, i32 noundef %2197) #10
  br label %2199

2199:                                             ; preds = %2182, %2165
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #10
  br label %2200

2200:                                             ; preds = %2199
  br label %2201

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

2202:                                             ; No predecessors!
  br label %2203

2203:                                             ; preds = %2202
  br label %2204

2204:                                             ; preds = %2203, %2146
  br label %2205

2205:                                             ; preds = %2204
  br label %2206

2206:                                             ; preds = %2205
  br label %2207

2207:                                             ; preds = %2206
  %2208 = load i32, ptr @test_count, align 4, !tbaa !5
  %2209 = add nsw i32 %2208, 1
  store i32 %2209, ptr @test_count, align 4, !tbaa !5
  %2210 = load ptr, ptr %57, align 8, !tbaa !9
  %2211 = call i32 @s2n_connection_set_secrets(ptr noundef %2210)
  %2212 = getelementptr inbounds %struct.s2n_result, ptr %59, i32 0, i32 0
  store i32 %2211, ptr %2212, align 4
  %2213 = getelementptr inbounds %struct.s2n_result, ptr %59, i32 0, i32 0
  %2214 = load i32, ptr %2213, align 4
  %2215 = call zeroext i1 @s2n_result_is_ok(i32 %2214)
  br i1 %2215, label %2269, label %2216

2216:                                             ; preds = %2207
  br label %2217

2217:                                             ; preds = %2216
  br label %2218

2218:                                             ; preds = %2217
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #10
  %2219 = call ptr @__errno_location() #11
  %2220 = load i32, ptr %2219, align 4, !tbaa !5
  store i32 %2220, ptr %60, align 4, !tbaa !5
  %2221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2222 = call i32 @s2n_print_stacktrace(ptr noundef %2221)
  %2223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2224 = trunc i8 %2223 to i1
  br i1 %2224, label %2225, label %2247

2225:                                             ; preds = %2218
  %2226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2227 = call i32 @fileno(ptr noundef %2226) #10
  %2228 = call i32 @isatty(i32 noundef %2227) #10
  %2229 = icmp ne i32 %2228, 0
  br i1 %2229, label %2230, label %2247

2230:                                             ; preds = %2225
  %2231 = load i32, ptr %60, align 4, !tbaa !5
  %2232 = call ptr @__errno_location() #11
  store i32 %2231, ptr %2232, align 4, !tbaa !5
  %2233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2234 = load i32, ptr @test_count, align 4, !tbaa !5
  %2235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2236 = load i32, ptr %2235, align 4, !tbaa !5
  %2237 = call ptr @s2n_strerror(i32 noundef %2236, ptr noundef @.str.3)
  %2238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2239 = load i32, ptr %2238, align 4, !tbaa !5
  %2240 = call ptr @s2n_strerror_debug(i32 noundef %2239, ptr noundef @.str.3)
  %2241 = call ptr @__errno_location() #11
  %2242 = load i32, ptr %2241, align 4, !tbaa !5
  %2243 = call ptr @strerror(i32 noundef %2242) #10
  %2244 = call ptr @__errno_location() #11
  %2245 = load i32, ptr %2244, align 4, !tbaa !5
  %2246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2233, ptr noundef @.str, i32 noundef %2234, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 211, ptr noundef %2237, ptr noundef %2240, ptr noundef %2243, i32 noundef %2245) #10
  br label %2264

2247:                                             ; preds = %2225, %2218
  %2248 = load i32, ptr %60, align 4, !tbaa !5
  %2249 = call ptr @__errno_location() #11
  store i32 %2248, ptr %2249, align 4, !tbaa !5
  %2250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2251 = load i32, ptr @test_count, align 4, !tbaa !5
  %2252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2253 = load i32, ptr %2252, align 4, !tbaa !5
  %2254 = call ptr @s2n_strerror(i32 noundef %2253, ptr noundef @.str.3)
  %2255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2256 = load i32, ptr %2255, align 4, !tbaa !5
  %2257 = call ptr @s2n_strerror_debug(i32 noundef %2256, ptr noundef @.str.3)
  %2258 = call ptr @__errno_location() #11
  %2259 = load i32, ptr %2258, align 4, !tbaa !5
  %2260 = call ptr @strerror(i32 noundef %2259) #10
  %2261 = call ptr @__errno_location() #11
  %2262 = load i32, ptr %2261, align 4, !tbaa !5
  %2263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2250, ptr noundef @.str.4, i32 noundef %2251, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 211, ptr noundef %2254, ptr noundef %2257, ptr noundef %2260, i32 noundef %2262) #10
  br label %2264

2264:                                             ; preds = %2247, %2230
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #10
  br label %2265

2265:                                             ; preds = %2264
  br label %2266

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

2267:                                             ; No predecessors!
  br label %2268

2268:                                             ; preds = %2267
  br label %2269

2269:                                             ; preds = %2268, %2207
  br label %2270

2270:                                             ; preds = %2269
  br label %2271

2271:                                             ; preds = %2270
  br label %2272

2272:                                             ; preds = %2271
  %2273 = load i32, ptr @test_count, align 4, !tbaa !5
  %2274 = add nsw i32 %2273, 1
  store i32 %2274, ptr @test_count, align 4, !tbaa !5
  %2275 = load ptr, ptr %57, align 8, !tbaa !9
  %2276 = call i32 @s2n_connection_set_send_cb(ptr noundef %2275, ptr noundef @s2n_expect_concurrent_error_send_fn)
  %2277 = icmp eq i32 %2276, -1
  br i1 %2277, label %2278, label %2331

2278:                                             ; preds = %2272
  br label %2279

2279:                                             ; preds = %2278
  br label %2280

2280:                                             ; preds = %2279
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #10
  %2281 = call ptr @__errno_location() #11
  %2282 = load i32, ptr %2281, align 4, !tbaa !5
  store i32 %2282, ptr %61, align 4, !tbaa !5
  %2283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2284 = call i32 @s2n_print_stacktrace(ptr noundef %2283)
  %2285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2286 = trunc i8 %2285 to i1
  br i1 %2286, label %2287, label %2309

2287:                                             ; preds = %2280
  %2288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2289 = call i32 @fileno(ptr noundef %2288) #10
  %2290 = call i32 @isatty(i32 noundef %2289) #10
  %2291 = icmp ne i32 %2290, 0
  br i1 %2291, label %2292, label %2309

2292:                                             ; preds = %2287
  %2293 = load i32, ptr %61, align 4, !tbaa !5
  %2294 = call ptr @__errno_location() #11
  store i32 %2293, ptr %2294, align 4, !tbaa !5
  %2295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2296 = load i32, ptr @test_count, align 4, !tbaa !5
  %2297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2298 = load i32, ptr %2297, align 4, !tbaa !5
  %2299 = call ptr @s2n_strerror(i32 noundef %2298, ptr noundef @.str.3)
  %2300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2301 = load i32, ptr %2300, align 4, !tbaa !5
  %2302 = call ptr @s2n_strerror_debug(i32 noundef %2301, ptr noundef @.str.3)
  %2303 = call ptr @__errno_location() #11
  %2304 = load i32, ptr %2303, align 4, !tbaa !5
  %2305 = call ptr @strerror(i32 noundef %2304) #10
  %2306 = call ptr @__errno_location() #11
  %2307 = load i32, ptr %2306, align 4, !tbaa !5
  %2308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2295, ptr noundef @.str, i32 noundef %2296, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 214, ptr noundef %2299, ptr noundef %2302, ptr noundef %2305, i32 noundef %2307) #10
  br label %2326

2309:                                             ; preds = %2287, %2280
  %2310 = load i32, ptr %61, align 4, !tbaa !5
  %2311 = call ptr @__errno_location() #11
  store i32 %2310, ptr %2311, align 4, !tbaa !5
  %2312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2313 = load i32, ptr @test_count, align 4, !tbaa !5
  %2314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2315 = load i32, ptr %2314, align 4, !tbaa !5
  %2316 = call ptr @s2n_strerror(i32 noundef %2315, ptr noundef @.str.3)
  %2317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2318 = load i32, ptr %2317, align 4, !tbaa !5
  %2319 = call ptr @s2n_strerror_debug(i32 noundef %2318, ptr noundef @.str.3)
  %2320 = call ptr @__errno_location() #11
  %2321 = load i32, ptr %2320, align 4, !tbaa !5
  %2322 = call ptr @strerror(i32 noundef %2321) #10
  %2323 = call ptr @__errno_location() #11
  %2324 = load i32, ptr %2323, align 4, !tbaa !5
  %2325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2312, ptr noundef @.str.4, i32 noundef %2313, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 214, ptr noundef %2316, ptr noundef %2319, ptr noundef %2322, i32 noundef %2324) #10
  br label %2326

2326:                                             ; preds = %2309, %2292
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #10
  br label %2327

2327:                                             ; preds = %2326
  br label %2328

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

2329:                                             ; No predecessors!
  br label %2330

2330:                                             ; preds = %2329
  br label %2331

2331:                                             ; preds = %2330, %2272
  br label %2332

2332:                                             ; preds = %2331
  br label %2333

2333:                                             ; preds = %2332
  br label %2334

2334:                                             ; preds = %2333
  %2335 = load i32, ptr @test_count, align 4, !tbaa !5
  %2336 = add nsw i32 %2335, 1
  store i32 %2336, ptr @test_count, align 4, !tbaa !5
  %2337 = load ptr, ptr %57, align 8, !tbaa !9
  %2338 = load ptr, ptr %57, align 8, !tbaa !9
  %2339 = call i32 @s2n_connection_set_send_ctx(ptr noundef %2337, ptr noundef %2338)
  %2340 = icmp eq i32 %2339, -1
  br i1 %2340, label %2341, label %2394

2341:                                             ; preds = %2334
  br label %2342

2342:                                             ; preds = %2341
  br label %2343

2343:                                             ; preds = %2342
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #10
  %2344 = call ptr @__errno_location() #11
  %2345 = load i32, ptr %2344, align 4, !tbaa !5
  store i32 %2345, ptr %62, align 4, !tbaa !5
  %2346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2347 = call i32 @s2n_print_stacktrace(ptr noundef %2346)
  %2348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2349 = trunc i8 %2348 to i1
  br i1 %2349, label %2350, label %2372

2350:                                             ; preds = %2343
  %2351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2352 = call i32 @fileno(ptr noundef %2351) #10
  %2353 = call i32 @isatty(i32 noundef %2352) #10
  %2354 = icmp ne i32 %2353, 0
  br i1 %2354, label %2355, label %2372

2355:                                             ; preds = %2350
  %2356 = load i32, ptr %62, align 4, !tbaa !5
  %2357 = call ptr @__errno_location() #11
  store i32 %2356, ptr %2357, align 4, !tbaa !5
  %2358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2359 = load i32, ptr @test_count, align 4, !tbaa !5
  %2360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2361 = load i32, ptr %2360, align 4, !tbaa !5
  %2362 = call ptr @s2n_strerror(i32 noundef %2361, ptr noundef @.str.3)
  %2363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2364 = load i32, ptr %2363, align 4, !tbaa !5
  %2365 = call ptr @s2n_strerror_debug(i32 noundef %2364, ptr noundef @.str.3)
  %2366 = call ptr @__errno_location() #11
  %2367 = load i32, ptr %2366, align 4, !tbaa !5
  %2368 = call ptr @strerror(i32 noundef %2367) #10
  %2369 = call ptr @__errno_location() #11
  %2370 = load i32, ptr %2369, align 4, !tbaa !5
  %2371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2358, ptr noundef @.str, i32 noundef %2359, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 215, ptr noundef %2362, ptr noundef %2365, ptr noundef %2368, i32 noundef %2370) #10
  br label %2389

2372:                                             ; preds = %2350, %2343
  %2373 = load i32, ptr %62, align 4, !tbaa !5
  %2374 = call ptr @__errno_location() #11
  store i32 %2373, ptr %2374, align 4, !tbaa !5
  %2375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2376 = load i32, ptr @test_count, align 4, !tbaa !5
  %2377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2378 = load i32, ptr %2377, align 4, !tbaa !5
  %2379 = call ptr @s2n_strerror(i32 noundef %2378, ptr noundef @.str.3)
  %2380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2381 = load i32, ptr %2380, align 4, !tbaa !5
  %2382 = call ptr @s2n_strerror_debug(i32 noundef %2381, ptr noundef @.str.3)
  %2383 = call ptr @__errno_location() #11
  %2384 = load i32, ptr %2383, align 4, !tbaa !5
  %2385 = call ptr @strerror(i32 noundef %2384) #10
  %2386 = call ptr @__errno_location() #11
  %2387 = load i32, ptr %2386, align 4, !tbaa !5
  %2388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2375, ptr noundef @.str.4, i32 noundef %2376, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 215, ptr noundef %2379, ptr noundef %2382, ptr noundef %2385, i32 noundef %2387) #10
  br label %2389

2389:                                             ; preds = %2372, %2355
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #10
  br label %2390

2390:                                             ; preds = %2389
  br label %2391

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

2392:                                             ; No predecessors!
  br label %2393

2393:                                             ; preds = %2392
  br label %2394

2394:                                             ; preds = %2393, %2334
  br label %2395

2395:                                             ; preds = %2394
  br label %2396

2396:                                             ; preds = %2395
  br label %2397

2397:                                             ; preds = %2396
  %2398 = load i32, ptr @test_count, align 4, !tbaa !5
  %2399 = add nsw i32 %2398, 1
  store i32 %2399, ptr @test_count, align 4, !tbaa !5
  %2400 = load ptr, ptr %57, align 8, !tbaa !9
  %2401 = call i32 @s2n_connection_set_blinding(ptr noundef %2400, i32 noundef 1)
  %2402 = icmp eq i32 %2401, -1
  br i1 %2402, label %2403, label %2456

2403:                                             ; preds = %2397
  br label %2404

2404:                                             ; preds = %2403
  br label %2405

2405:                                             ; preds = %2404
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #10
  %2406 = call ptr @__errno_location() #11
  %2407 = load i32, ptr %2406, align 4, !tbaa !5
  store i32 %2407, ptr %63, align 4, !tbaa !5
  %2408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2409 = call i32 @s2n_print_stacktrace(ptr noundef %2408)
  %2410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2411 = trunc i8 %2410 to i1
  br i1 %2411, label %2412, label %2434

2412:                                             ; preds = %2405
  %2413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2414 = call i32 @fileno(ptr noundef %2413) #10
  %2415 = call i32 @isatty(i32 noundef %2414) #10
  %2416 = icmp ne i32 %2415, 0
  br i1 %2416, label %2417, label %2434

2417:                                             ; preds = %2412
  %2418 = load i32, ptr %63, align 4, !tbaa !5
  %2419 = call ptr @__errno_location() #11
  store i32 %2418, ptr %2419, align 4, !tbaa !5
  %2420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2421 = load i32, ptr @test_count, align 4, !tbaa !5
  %2422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2423 = load i32, ptr %2422, align 4, !tbaa !5
  %2424 = call ptr @s2n_strerror(i32 noundef %2423, ptr noundef @.str.3)
  %2425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2426 = load i32, ptr %2425, align 4, !tbaa !5
  %2427 = call ptr @s2n_strerror_debug(i32 noundef %2426, ptr noundef @.str.3)
  %2428 = call ptr @__errno_location() #11
  %2429 = load i32, ptr %2428, align 4, !tbaa !5
  %2430 = call ptr @strerror(i32 noundef %2429) #10
  %2431 = call ptr @__errno_location() #11
  %2432 = load i32, ptr %2431, align 4, !tbaa !5
  %2433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2420, ptr noundef @.str, i32 noundef %2421, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 216, ptr noundef %2424, ptr noundef %2427, ptr noundef %2430, i32 noundef %2432) #10
  br label %2451

2434:                                             ; preds = %2412, %2405
  %2435 = load i32, ptr %63, align 4, !tbaa !5
  %2436 = call ptr @__errno_location() #11
  store i32 %2435, ptr %2436, align 4, !tbaa !5
  %2437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2438 = load i32, ptr @test_count, align 4, !tbaa !5
  %2439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2440 = load i32, ptr %2439, align 4, !tbaa !5
  %2441 = call ptr @s2n_strerror(i32 noundef %2440, ptr noundef @.str.3)
  %2442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2443 = load i32, ptr %2442, align 4, !tbaa !5
  %2444 = call ptr @s2n_strerror_debug(i32 noundef %2443, ptr noundef @.str.3)
  %2445 = call ptr @__errno_location() #11
  %2446 = load i32, ptr %2445, align 4, !tbaa !5
  %2447 = call ptr @strerror(i32 noundef %2446) #10
  %2448 = call ptr @__errno_location() #11
  %2449 = load i32, ptr %2448, align 4, !tbaa !5
  %2450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2437, ptr noundef @.str.4, i32 noundef %2438, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 216, ptr noundef %2441, ptr noundef %2444, ptr noundef %2447, i32 noundef %2449) #10
  br label %2451

2451:                                             ; preds = %2434, %2417
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #10
  br label %2452

2452:                                             ; preds = %2451
  br label %2453

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

2454:                                             ; No predecessors!
  br label %2455

2455:                                             ; preds = %2454
  br label %2456

2456:                                             ; preds = %2455, %2397
  br label %2457

2457:                                             ; preds = %2456
  br label %2458

2458:                                             ; preds = %2457
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #10
  store i32 0, ptr %64, align 4, !tbaa !5
  store i8 0, ptr @s2n_custom_send_fn_called, align 1, !tbaa !11
  br label %2459

2459:                                             ; preds = %2458
  br label %2460

2460:                                             ; preds = %2459
  br label %2461

2461:                                             ; preds = %2460
  %2462 = load i32, ptr @test_count, align 4, !tbaa !5
  %2463 = add nsw i32 %2462, 1
  store i32 %2463, ptr @test_count, align 4, !tbaa !5
  %2464 = load ptr, ptr %57, align 8, !tbaa !9
  %2465 = getelementptr inbounds [12 x i8], ptr %9, i64 0, i64 0
  %2466 = call i64 @s2n_send(ptr noundef %2464, ptr noundef %2465, i64 noundef 12, ptr noundef %64)
  %2467 = icmp eq i64 %2466, -1
  br i1 %2467, label %2521, label %2468

2468:                                             ; preds = %2461
  br label %2469

2469:                                             ; preds = %2468
  br label %2470

2470:                                             ; preds = %2469
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #10
  %2471 = call ptr @__errno_location() #11
  %2472 = load i32, ptr %2471, align 4, !tbaa !5
  store i32 %2472, ptr %65, align 4, !tbaa !5
  %2473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2474 = call i32 @s2n_print_stacktrace(ptr noundef %2473)
  %2475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2476 = trunc i8 %2475 to i1
  br i1 %2476, label %2477, label %2499

2477:                                             ; preds = %2470
  %2478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2479 = call i32 @fileno(ptr noundef %2478) #10
  %2480 = call i32 @isatty(i32 noundef %2479) #10
  %2481 = icmp ne i32 %2480, 0
  br i1 %2481, label %2482, label %2499

2482:                                             ; preds = %2477
  %2483 = load i32, ptr %65, align 4, !tbaa !5
  %2484 = call ptr @__errno_location() #11
  store i32 %2483, ptr %2484, align 4, !tbaa !5
  %2485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2486 = load i32, ptr @test_count, align 4, !tbaa !5
  %2487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2488 = load i32, ptr %2487, align 4, !tbaa !5
  %2489 = call ptr @s2n_strerror(i32 noundef %2488, ptr noundef @.str.3)
  %2490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2491 = load i32, ptr %2490, align 4, !tbaa !5
  %2492 = call ptr @s2n_strerror_debug(i32 noundef %2491, ptr noundef @.str.3)
  %2493 = call ptr @__errno_location() #11
  %2494 = load i32, ptr %2493, align 4, !tbaa !5
  %2495 = call ptr @strerror(i32 noundef %2494) #10
  %2496 = call ptr @__errno_location() #11
  %2497 = load i32, ptr %2496, align 4, !tbaa !5
  %2498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2485, ptr noundef @.str, i32 noundef %2486, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 221, ptr noundef %2489, ptr noundef %2492, ptr noundef %2495, i32 noundef %2497) #10
  br label %2516

2499:                                             ; preds = %2477, %2470
  %2500 = load i32, ptr %65, align 4, !tbaa !5
  %2501 = call ptr @__errno_location() #11
  store i32 %2500, ptr %2501, align 4, !tbaa !5
  %2502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2503 = load i32, ptr @test_count, align 4, !tbaa !5
  %2504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2505 = load i32, ptr %2504, align 4, !tbaa !5
  %2506 = call ptr @s2n_strerror(i32 noundef %2505, ptr noundef @.str.3)
  %2507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2508 = load i32, ptr %2507, align 4, !tbaa !5
  %2509 = call ptr @s2n_strerror_debug(i32 noundef %2508, ptr noundef @.str.3)
  %2510 = call ptr @__errno_location() #11
  %2511 = load i32, ptr %2510, align 4, !tbaa !5
  %2512 = call ptr @strerror(i32 noundef %2511) #10
  %2513 = call ptr @__errno_location() #11
  %2514 = load i32, ptr %2513, align 4, !tbaa !5
  %2515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2502, ptr noundef @.str.4, i32 noundef %2503, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 221, ptr noundef %2506, ptr noundef %2509, ptr noundef %2512, i32 noundef %2514) #10
  br label %2516

2516:                                             ; preds = %2499, %2482
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #10
  br label %2517

2517:                                             ; preds = %2516
  br label %2518

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

2519:                                             ; No predecessors!
  br label %2520

2520:                                             ; preds = %2519
  br label %2521

2521:                                             ; preds = %2520, %2461
  br label %2522

2522:                                             ; preds = %2521
  br label %2523

2523:                                             ; preds = %2522
  br label %2524

2524:                                             ; preds = %2523
  %2525 = load i32, ptr @test_count, align 4, !tbaa !5
  %2526 = add nsw i32 %2525, 1
  store i32 %2526, ptr @test_count, align 4, !tbaa !5
  %2527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2528 = load i32, ptr %2527, align 4, !tbaa !5
  %2529 = icmp eq i32 %2528, 67108864
  br i1 %2529, label %2583, label %2530

2530:                                             ; preds = %2524
  br label %2531

2531:                                             ; preds = %2530
  br label %2532

2532:                                             ; preds = %2531
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #10
  %2533 = call ptr @__errno_location() #11
  %2534 = load i32, ptr %2533, align 4, !tbaa !5
  store i32 %2534, ptr %66, align 4, !tbaa !5
  %2535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2536 = call i32 @s2n_print_stacktrace(ptr noundef %2535)
  %2537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2538 = trunc i8 %2537 to i1
  br i1 %2538, label %2539, label %2561

2539:                                             ; preds = %2532
  %2540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2541 = call i32 @fileno(ptr noundef %2540) #10
  %2542 = call i32 @isatty(i32 noundef %2541) #10
  %2543 = icmp ne i32 %2542, 0
  br i1 %2543, label %2544, label %2561

2544:                                             ; preds = %2539
  %2545 = load i32, ptr %66, align 4, !tbaa !5
  %2546 = call ptr @__errno_location() #11
  store i32 %2545, ptr %2546, align 4, !tbaa !5
  %2547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2548 = load i32, ptr @test_count, align 4, !tbaa !5
  %2549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2550 = load i32, ptr %2549, align 4, !tbaa !5
  %2551 = call ptr @s2n_strerror(i32 noundef %2550, ptr noundef @.str.3)
  %2552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2553 = load i32, ptr %2552, align 4, !tbaa !5
  %2554 = call ptr @s2n_strerror_debug(i32 noundef %2553, ptr noundef @.str.3)
  %2555 = call ptr @__errno_location() #11
  %2556 = load i32, ptr %2555, align 4, !tbaa !5
  %2557 = call ptr @strerror(i32 noundef %2556) #10
  %2558 = call ptr @__errno_location() #11
  %2559 = load i32, ptr %2558, align 4, !tbaa !5
  %2560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2547, ptr noundef @.str, i32 noundef %2548, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 221, ptr noundef %2551, ptr noundef %2554, ptr noundef %2557, i32 noundef %2559) #10
  br label %2578

2561:                                             ; preds = %2539, %2532
  %2562 = load i32, ptr %66, align 4, !tbaa !5
  %2563 = call ptr @__errno_location() #11
  store i32 %2562, ptr %2563, align 4, !tbaa !5
  %2564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2565 = load i32, ptr @test_count, align 4, !tbaa !5
  %2566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2567 = load i32, ptr %2566, align 4, !tbaa !5
  %2568 = call ptr @s2n_strerror(i32 noundef %2567, ptr noundef @.str.3)
  %2569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2570 = load i32, ptr %2569, align 4, !tbaa !5
  %2571 = call ptr @s2n_strerror_debug(i32 noundef %2570, ptr noundef @.str.3)
  %2572 = call ptr @__errno_location() #11
  %2573 = load i32, ptr %2572, align 4, !tbaa !5
  %2574 = call ptr @strerror(i32 noundef %2573) #10
  %2575 = call ptr @__errno_location() #11
  %2576 = load i32, ptr %2575, align 4, !tbaa !5
  %2577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2564, ptr noundef @.str.4, i32 noundef %2565, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 221, ptr noundef %2568, ptr noundef %2571, ptr noundef %2574, i32 noundef %2576) #10
  br label %2578

2578:                                             ; preds = %2561, %2544
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #10
  br label %2579

2579:                                             ; preds = %2578
  br label %2580

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

2581:                                             ; No predecessors!
  br label %2582

2582:                                             ; preds = %2581
  br label %2583

2583:                                             ; preds = %2582, %2524
  br label %2584

2584:                                             ; preds = %2583
  br label %2585

2585:                                             ; preds = %2584
  br label %2586

2586:                                             ; preds = %2585
  %2587 = load i32, ptr @test_count, align 4, !tbaa !5
  %2588 = add nsw i32 %2587, 1
  store i32 %2588, ptr @test_count, align 4, !tbaa !5
  %2589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2590 = load i32, ptr %2589, align 4, !tbaa !5
  %2591 = call ptr @s2n_strerror_debug(i32 noundef %2590, ptr noundef @.str.3)
  %2592 = icmp eq ptr %2591, null
  br i1 %2592, label %2593, label %2646

2593:                                             ; preds = %2586
  br label %2594

2594:                                             ; preds = %2593
  br label %2595

2595:                                             ; preds = %2594
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #10
  %2596 = call ptr @__errno_location() #11
  %2597 = load i32, ptr %2596, align 4, !tbaa !5
  store i32 %2597, ptr %67, align 4, !tbaa !5
  %2598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2599 = call i32 @s2n_print_stacktrace(ptr noundef %2598)
  %2600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2601 = trunc i8 %2600 to i1
  br i1 %2601, label %2602, label %2624

2602:                                             ; preds = %2595
  %2603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2604 = call i32 @fileno(ptr noundef %2603) #10
  %2605 = call i32 @isatty(i32 noundef %2604) #10
  %2606 = icmp ne i32 %2605, 0
  br i1 %2606, label %2607, label %2624

2607:                                             ; preds = %2602
  %2608 = load i32, ptr %67, align 4, !tbaa !5
  %2609 = call ptr @__errno_location() #11
  store i32 %2608, ptr %2609, align 4, !tbaa !5
  %2610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2611 = load i32, ptr @test_count, align 4, !tbaa !5
  %2612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2613 = load i32, ptr %2612, align 4, !tbaa !5
  %2614 = call ptr @s2n_strerror(i32 noundef %2613, ptr noundef @.str.3)
  %2615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2616 = load i32, ptr %2615, align 4, !tbaa !5
  %2617 = call ptr @s2n_strerror_debug(i32 noundef %2616, ptr noundef @.str.3)
  %2618 = call ptr @__errno_location() #11
  %2619 = load i32, ptr %2618, align 4, !tbaa !5
  %2620 = call ptr @strerror(i32 noundef %2619) #10
  %2621 = call ptr @__errno_location() #11
  %2622 = load i32, ptr %2621, align 4, !tbaa !5
  %2623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2610, ptr noundef @.str, i32 noundef %2611, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 221, ptr noundef %2614, ptr noundef %2617, ptr noundef %2620, i32 noundef %2622) #10
  br label %2641

2624:                                             ; preds = %2602, %2595
  %2625 = load i32, ptr %67, align 4, !tbaa !5
  %2626 = call ptr @__errno_location() #11
  store i32 %2625, ptr %2626, align 4, !tbaa !5
  %2627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2628 = load i32, ptr @test_count, align 4, !tbaa !5
  %2629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2630 = load i32, ptr %2629, align 4, !tbaa !5
  %2631 = call ptr @s2n_strerror(i32 noundef %2630, ptr noundef @.str.3)
  %2632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2633 = load i32, ptr %2632, align 4, !tbaa !5
  %2634 = call ptr @s2n_strerror_debug(i32 noundef %2633, ptr noundef @.str.3)
  %2635 = call ptr @__errno_location() #11
  %2636 = load i32, ptr %2635, align 4, !tbaa !5
  %2637 = call ptr @strerror(i32 noundef %2636) #10
  %2638 = call ptr @__errno_location() #11
  %2639 = load i32, ptr %2638, align 4, !tbaa !5
  %2640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2627, ptr noundef @.str.4, i32 noundef %2628, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 221, ptr noundef %2631, ptr noundef %2634, ptr noundef %2637, i32 noundef %2639) #10
  br label %2641

2641:                                             ; preds = %2624, %2607
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #10
  br label %2642

2642:                                             ; preds = %2641
  br label %2643

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

2644:                                             ; No predecessors!
  br label %2645

2645:                                             ; preds = %2644
  br label %2646

2646:                                             ; preds = %2645, %2586
  br label %2647

2647:                                             ; preds = %2646
  br label %2648

2648:                                             ; preds = %2647
  br label %2649

2649:                                             ; preds = %2648
  br label %2650

2650:                                             ; preds = %2649
  br label %2651

2651:                                             ; preds = %2650
  %2652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2652, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2653 = call ptr @__errno_location() #11
  store i32 0, ptr %2653, align 4, !tbaa !5
  br label %2654

2654:                                             ; preds = %2651
  br label %2655

2655:                                             ; preds = %2654
  br label %2656

2656:                                             ; preds = %2655
  br label %2657

2657:                                             ; preds = %2656
  br label %2658

2658:                                             ; preds = %2657
  %2659 = load i32, ptr @test_count, align 4, !tbaa !5
  %2660 = add nsw i32 %2659, 1
  store i32 %2660, ptr @test_count, align 4, !tbaa !5
  %2661 = load i8, ptr @s2n_custom_send_fn_called, align 1, !tbaa !11, !range !13, !noundef !14
  %2662 = trunc i8 %2661 to i1
  br i1 %2662, label %2716, label %2663

2663:                                             ; preds = %2658
  br label %2664

2664:                                             ; preds = %2663
  br label %2665

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

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

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

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

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

2712:                                             ; preds = %2711
  br label %2713

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

2714:                                             ; No predecessors!
  br label %2715

2715:                                             ; preds = %2714
  br label %2716

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

2717:                                             ; preds = %2716
  br label %2718

2718:                                             ; preds = %2717
  br label %2719

2719:                                             ; preds = %2718
  %2720 = load i32, ptr @test_count, align 4, !tbaa !5
  %2721 = add nsw i32 %2720, 1
  store i32 %2721, ptr @test_count, align 4, !tbaa !5
  %2722 = load ptr, ptr %57, align 8, !tbaa !9
  %2723 = getelementptr inbounds %struct.s2n_connection, ptr %2722, i32 0, i32 59
  %2724 = load i64, ptr %2723, align 8, !tbaa !29
  %2725 = icmp eq i64 0, %2724
  br i1 %2725, label %2779, label %2726

2726:                                             ; preds = %2719
  br label %2727

2727:                                             ; preds = %2726
  br label %2728

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

2735:                                             ; preds = %2728
  %2736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2737 = call i32 @fileno(ptr noundef %2736) #10
  %2738 = call i32 @isatty(i32 noundef %2737) #10
  %2739 = icmp ne i32 %2738, 0
  br i1 %2739, label %2740, label %2757

2740:                                             ; preds = %2735
  %2741 = load i32, ptr %69, align 4, !tbaa !5
  %2742 = call ptr @__errno_location() #11
  store i32 %2741, ptr %2742, align 4, !tbaa !5
  %2743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2744 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2746, ptr noundef @.str.3)
  %2748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2749 = load i32, ptr %2748, align 4, !tbaa !5
  %2750 = call ptr @s2n_strerror_debug(i32 noundef %2749, ptr noundef @.str.3)
  %2751 = call ptr @__errno_location() #11
  %2752 = load i32, ptr %2751, align 4, !tbaa !5
  %2753 = call ptr @strerror(i32 noundef %2752) #10
  %2754 = call ptr @__errno_location() #11
  %2755 = load i32, ptr %2754, align 4, !tbaa !5
  %2756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2743, ptr noundef @.str, i32 noundef %2744, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 223, ptr noundef %2747, ptr noundef %2750, ptr noundef %2753, i32 noundef %2755) #10
  br label %2774

2757:                                             ; preds = %2735, %2728
  %2758 = load i32, ptr %69, align 4, !tbaa !5
  %2759 = call ptr @__errno_location() #11
  store i32 %2758, ptr %2759, align 4, !tbaa !5
  %2760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2761 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2763, ptr noundef @.str.3)
  %2765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2766 = load i32, ptr %2765, align 4, !tbaa !5
  %2767 = call ptr @s2n_strerror_debug(i32 noundef %2766, ptr noundef @.str.3)
  %2768 = call ptr @__errno_location() #11
  %2769 = load i32, ptr %2768, align 4, !tbaa !5
  %2770 = call ptr @strerror(i32 noundef %2769) #10
  %2771 = call ptr @__errno_location() #11
  %2772 = load i32, ptr %2771, align 4, !tbaa !5
  %2773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2760, ptr noundef @.str.4, i32 noundef %2761, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 223, ptr noundef %2764, ptr noundef %2767, ptr noundef %2770, i32 noundef %2772) #10
  br label %2774

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

2775:                                             ; preds = %2774
  br label %2776

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

2777:                                             ; No predecessors!
  br label %2778

2778:                                             ; preds = %2777
  br label %2779

2779:                                             ; preds = %2778, %2719
  br label %2780

2780:                                             ; preds = %2779
  br label %2781

2781:                                             ; preds = %2780
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #10
  %2782 = call i32 @s2n_connection_ptr_free(ptr noundef %57)
  %2783 = getelementptr inbounds %struct.s2n_result, ptr %70, i32 0, i32 0
  store i32 %2782, ptr %2783, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #10
  %2784 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2784, ptr %71, align 8, !tbaa !9
  br label %2785

2785:                                             ; preds = %2781
  %2786 = load i32, ptr @test_count, align 4, !tbaa !5
  %2787 = add nsw i32 %2786, 1
  store i32 %2787, ptr @test_count, align 4, !tbaa !5
  %2788 = load ptr, ptr %71, align 8, !tbaa !9
  %2789 = icmp eq ptr %2788, null
  br i1 %2789, label %2790, label %2843

2790:                                             ; preds = %2785
  br label %2791

2791:                                             ; preds = %2790
  br label %2792

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

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

2804:                                             ; preds = %2799
  %2805 = load i32, ptr %72, align 4, !tbaa !5
  %2806 = call ptr @__errno_location() #11
  store i32 %2805, ptr %2806, align 4, !tbaa !5
  %2807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2808 = load i32, ptr @test_count, align 4, !tbaa !5
  %2809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2810 = load i32, ptr %2809, align 4, !tbaa !5
  %2811 = call ptr @s2n_strerror(i32 noundef %2810, ptr noundef @.str.3)
  %2812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2813 = load i32, ptr %2812, align 4, !tbaa !5
  %2814 = call ptr @s2n_strerror_debug(i32 noundef %2813, ptr noundef @.str.3)
  %2815 = call ptr @__errno_location() #11
  %2816 = load i32, ptr %2815, align 4, !tbaa !5
  %2817 = call ptr @strerror(i32 noundef %2816) #10
  %2818 = call ptr @__errno_location() #11
  %2819 = load i32, ptr %2818, align 4, !tbaa !5
  %2820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2807, ptr noundef @.str, i32 noundef %2808, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 230, ptr noundef %2811, ptr noundef %2814, ptr noundef %2817, i32 noundef %2819) #10
  br label %2838

2821:                                             ; preds = %2799, %2792
  %2822 = load i32, ptr %72, align 4, !tbaa !5
  %2823 = call ptr @__errno_location() #11
  store i32 %2822, ptr %2823, align 4, !tbaa !5
  %2824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2825 = load i32, ptr @test_count, align 4, !tbaa !5
  %2826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2827 = load i32, ptr %2826, align 4, !tbaa !5
  %2828 = call ptr @s2n_strerror(i32 noundef %2827, ptr noundef @.str.3)
  %2829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2830 = load i32, ptr %2829, align 4, !tbaa !5
  %2831 = call ptr @s2n_strerror_debug(i32 noundef %2830, ptr noundef @.str.3)
  %2832 = call ptr @__errno_location() #11
  %2833 = load i32, ptr %2832, align 4, !tbaa !5
  %2834 = call ptr @strerror(i32 noundef %2833) #10
  %2835 = call ptr @__errno_location() #11
  %2836 = load i32, ptr %2835, align 4, !tbaa !5
  %2837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2824, ptr noundef @.str.4, i32 noundef %2825, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 230, ptr noundef %2828, ptr noundef %2831, ptr noundef %2834, i32 noundef %2836) #10
  br label %2838

2838:                                             ; preds = %2821, %2804
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #10
  br label %2839

2839:                                             ; preds = %2838
  br label %2840

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

2841:                                             ; No predecessors!
  br label %2842

2842:                                             ; preds = %2841
  br label %2843

2843:                                             ; preds = %2842, %2785
  br label %2844

2844:                                             ; preds = %2843
  br label %2845

2845:                                             ; preds = %2844
  br label %2846

2846:                                             ; preds = %2845
  %2847 = load i32, ptr @test_count, align 4, !tbaa !5
  %2848 = add nsw i32 %2847, 1
  store i32 %2848, ptr @test_count, align 4, !tbaa !5
  %2849 = load ptr, ptr %71, align 8, !tbaa !9
  %2850 = call i32 @s2n_connection_set_secrets(ptr noundef %2849)
  %2851 = getelementptr inbounds %struct.s2n_result, ptr %73, i32 0, i32 0
  store i32 %2850, ptr %2851, align 4
  %2852 = getelementptr inbounds %struct.s2n_result, ptr %73, i32 0, i32 0
  %2853 = load i32, ptr %2852, align 4
  %2854 = call zeroext i1 @s2n_result_is_ok(i32 %2853)
  br i1 %2854, label %2908, label %2855

2855:                                             ; preds = %2846
  br label %2856

2856:                                             ; preds = %2855
  br label %2857

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

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

2869:                                             ; preds = %2864
  %2870 = load i32, ptr %74, align 4, !tbaa !5
  %2871 = call ptr @__errno_location() #11
  store i32 %2870, ptr %2871, align 4, !tbaa !5
  %2872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2873 = load i32, ptr @test_count, align 4, !tbaa !5
  %2874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2875 = load i32, ptr %2874, align 4, !tbaa !5
  %2876 = call ptr @s2n_strerror(i32 noundef %2875, ptr noundef @.str.3)
  %2877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2878 = load i32, ptr %2877, align 4, !tbaa !5
  %2879 = call ptr @s2n_strerror_debug(i32 noundef %2878, ptr noundef @.str.3)
  %2880 = call ptr @__errno_location() #11
  %2881 = load i32, ptr %2880, align 4, !tbaa !5
  %2882 = call ptr @strerror(i32 noundef %2881) #10
  %2883 = call ptr @__errno_location() #11
  %2884 = load i32, ptr %2883, align 4, !tbaa !5
  %2885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2872, ptr noundef @.str, i32 noundef %2873, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 231, ptr noundef %2876, ptr noundef %2879, ptr noundef %2882, i32 noundef %2884) #10
  br label %2903

2886:                                             ; preds = %2864, %2857
  %2887 = load i32, ptr %74, align 4, !tbaa !5
  %2888 = call ptr @__errno_location() #11
  store i32 %2887, ptr %2888, align 4, !tbaa !5
  %2889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2890 = load i32, ptr @test_count, align 4, !tbaa !5
  %2891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2892 = load i32, ptr %2891, align 4, !tbaa !5
  %2893 = call ptr @s2n_strerror(i32 noundef %2892, ptr noundef @.str.3)
  %2894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2895 = load i32, ptr %2894, align 4, !tbaa !5
  %2896 = call ptr @s2n_strerror_debug(i32 noundef %2895, ptr noundef @.str.3)
  %2897 = call ptr @__errno_location() #11
  %2898 = load i32, ptr %2897, align 4, !tbaa !5
  %2899 = call ptr @strerror(i32 noundef %2898) #10
  %2900 = call ptr @__errno_location() #11
  %2901 = load i32, ptr %2900, align 4, !tbaa !5
  %2902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2889, ptr noundef @.str.4, i32 noundef %2890, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 231, ptr noundef %2893, ptr noundef %2896, ptr noundef %2899, i32 noundef %2901) #10
  br label %2903

2903:                                             ; preds = %2886, %2869
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #10
  br label %2904

2904:                                             ; preds = %2903
  br label %2905

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

2906:                                             ; No predecessors!
  br label %2907

2907:                                             ; preds = %2906
  br label %2908

2908:                                             ; preds = %2907, %2846
  br label %2909

2909:                                             ; preds = %2908
  br label %2910

2910:                                             ; preds = %2909
  br label %2911

2911:                                             ; preds = %2910
  %2912 = load i32, ptr @test_count, align 4, !tbaa !5
  %2913 = add nsw i32 %2912, 1
  store i32 %2913, ptr @test_count, align 4, !tbaa !5
  %2914 = load ptr, ptr %71, align 8, !tbaa !9
  %2915 = getelementptr inbounds %struct.s2n_connection, ptr %2914, i32 0, i32 59
  %2916 = load i64, ptr %2915, align 8, !tbaa !29
  %2917 = icmp eq i64 0, %2916
  br i1 %2917, label %2971, label %2918

2918:                                             ; preds = %2911
  br label %2919

2919:                                             ; preds = %2918
  br label %2920

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

2927:                                             ; preds = %2920
  %2928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2929 = call i32 @fileno(ptr noundef %2928) #10
  %2930 = call i32 @isatty(i32 noundef %2929) #10
  %2931 = icmp ne i32 %2930, 0
  br i1 %2931, label %2932, label %2949

2932:                                             ; preds = %2927
  %2933 = load i32, ptr %75, align 4, !tbaa !5
  %2934 = call ptr @__errno_location() #11
  store i32 %2933, ptr %2934, align 4, !tbaa !5
  %2935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2936 = load i32, ptr @test_count, align 4, !tbaa !5
  %2937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2938 = load i32, ptr %2937, align 4, !tbaa !5
  %2939 = call ptr @s2n_strerror(i32 noundef %2938, ptr noundef @.str.3)
  %2940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2941 = load i32, ptr %2940, align 4, !tbaa !5
  %2942 = call ptr @s2n_strerror_debug(i32 noundef %2941, ptr noundef @.str.3)
  %2943 = call ptr @__errno_location() #11
  %2944 = load i32, ptr %2943, align 4, !tbaa !5
  %2945 = call ptr @strerror(i32 noundef %2944) #10
  %2946 = call ptr @__errno_location() #11
  %2947 = load i32, ptr %2946, align 4, !tbaa !5
  %2948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2935, ptr noundef @.str, i32 noundef %2936, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 232, ptr noundef %2939, ptr noundef %2942, ptr noundef %2945, i32 noundef %2947) #10
  br label %2966

2949:                                             ; preds = %2927, %2920
  %2950 = load i32, ptr %75, align 4, !tbaa !5
  %2951 = call ptr @__errno_location() #11
  store i32 %2950, ptr %2951, align 4, !tbaa !5
  %2952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2953 = load i32, ptr @test_count, align 4, !tbaa !5
  %2954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2955 = load i32, ptr %2954, align 4, !tbaa !5
  %2956 = call ptr @s2n_strerror(i32 noundef %2955, ptr noundef @.str.3)
  %2957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2958 = load i32, ptr %2957, align 4, !tbaa !5
  %2959 = call ptr @s2n_strerror_debug(i32 noundef %2958, ptr noundef @.str.3)
  %2960 = call ptr @__errno_location() #11
  %2961 = load i32, ptr %2960, align 4, !tbaa !5
  %2962 = call ptr @strerror(i32 noundef %2961) #10
  %2963 = call ptr @__errno_location() #11
  %2964 = load i32, ptr %2963, align 4, !tbaa !5
  %2965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2952, ptr noundef @.str.4, i32 noundef %2953, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 232, ptr noundef %2956, ptr noundef %2959, ptr noundef %2962, i32 noundef %2964) #10
  br label %2966

2966:                                             ; preds = %2949, %2932
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #10
  br label %2967

2967:                                             ; preds = %2966
  br label %2968

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

2969:                                             ; No predecessors!
  br label %2970

2970:                                             ; preds = %2969
  br label %2971

2971:                                             ; preds = %2970, %2911
  br label %2972

2972:                                             ; preds = %2971
  br label %2973

2973:                                             ; preds = %2972
  call void @llvm.lifetime.start.p0(i64 32, ptr %76) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %76, ptr align 8 %18, i64 32, i1 false), !tbaa.struct !28
  br label %2974

2974:                                             ; preds = %2973
  %2975 = load i32, ptr @test_count, align 4, !tbaa !5
  %2976 = add nsw i32 %2975, 1
  store i32 %2976, ptr @test_count, align 4, !tbaa !5
  %2977 = load ptr, ptr %71, align 8, !tbaa !9
  %2978 = call i32 @s2n_connection_set_send_cb(ptr noundef %2977, ptr noundef @s2n_test_send_cb)
  %2979 = icmp eq i32 %2978, -1
  br i1 %2979, label %2980, label %3033

2980:                                             ; preds = %2974
  br label %2981

2981:                                             ; preds = %2980
  br label %2982

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

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

2994:                                             ; preds = %2989
  %2995 = load i32, ptr %77, align 4, !tbaa !5
  %2996 = call ptr @__errno_location() #11
  store i32 %2995, ptr %2996, align 4, !tbaa !5
  %2997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2998 = load i32, ptr @test_count, align 4, !tbaa !5
  %2999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3000 = load i32, ptr %2999, align 4, !tbaa !5
  %3001 = call ptr @s2n_strerror(i32 noundef %3000, ptr noundef @.str.3)
  %3002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3003 = load i32, ptr %3002, align 4, !tbaa !5
  %3004 = call ptr @s2n_strerror_debug(i32 noundef %3003, ptr noundef @.str.3)
  %3005 = call ptr @__errno_location() #11
  %3006 = load i32, ptr %3005, align 4, !tbaa !5
  %3007 = call ptr @strerror(i32 noundef %3006) #10
  %3008 = call ptr @__errno_location() #11
  %3009 = load i32, ptr %3008, align 4, !tbaa !5
  %3010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2997, ptr noundef @.str, i32 noundef %2998, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 235, ptr noundef %3001, ptr noundef %3004, ptr noundef %3007, i32 noundef %3009) #10
  br label %3028

3011:                                             ; preds = %2989, %2982
  %3012 = load i32, ptr %77, align 4, !tbaa !5
  %3013 = call ptr @__errno_location() #11
  store i32 %3012, ptr %3013, align 4, !tbaa !5
  %3014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3015 = load i32, ptr @test_count, align 4, !tbaa !5
  %3016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3017 = load i32, ptr %3016, align 4, !tbaa !5
  %3018 = call ptr @s2n_strerror(i32 noundef %3017, ptr noundef @.str.3)
  %3019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3020 = load i32, ptr %3019, align 4, !tbaa !5
  %3021 = call ptr @s2n_strerror_debug(i32 noundef %3020, ptr noundef @.str.3)
  %3022 = call ptr @__errno_location() #11
  %3023 = load i32, ptr %3022, align 4, !tbaa !5
  %3024 = call ptr @strerror(i32 noundef %3023) #10
  %3025 = call ptr @__errno_location() #11
  %3026 = load i32, ptr %3025, align 4, !tbaa !5
  %3027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3014, ptr noundef @.str.4, i32 noundef %3015, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 235, ptr noundef %3018, ptr noundef %3021, ptr noundef %3024, i32 noundef %3026) #10
  br label %3028

3028:                                             ; preds = %3011, %2994
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #10
  br label %3029

3029:                                             ; preds = %3028
  br label %3030

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

3031:                                             ; No predecessors!
  br label %3032

3032:                                             ; preds = %3031
  br label %3033

3033:                                             ; preds = %3032, %2974
  br label %3034

3034:                                             ; preds = %3033
  br label %3035

3035:                                             ; preds = %3034
  br label %3036

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

3042:                                             ; preds = %3036
  br label %3043

3043:                                             ; preds = %3042
  br label %3044

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

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

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

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

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

3091:                                             ; preds = %3090
  br label %3092

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

3093:                                             ; No predecessors!
  br label %3094

3094:                                             ; preds = %3093
  br label %3095

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

3096:                                             ; preds = %3095
  br label %3097

3097:                                             ; preds = %3096
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #10
  store i32 0, ptr %79, align 4, !tbaa !5
  br label %3098

3098:                                             ; preds = %3097
  %3099 = load i32, ptr @test_count, align 4, !tbaa !5
  %3100 = add nsw i32 %3099, 1
  store i32 %3100, ptr @test_count, align 4, !tbaa !5
  %3101 = load ptr, ptr %71, align 8, !tbaa !9
  %3102 = getelementptr inbounds [12 x i8], ptr %9, i64 0, i64 0
  %3103 = call i64 @s2n_send(ptr noundef %3101, ptr noundef %3102, i64 noundef 12, ptr noundef %79)
  %3104 = icmp eq i64 %3103, 12
  br i1 %3104, label %3158, label %3105

3105:                                             ; preds = %3098
  br label %3106

3106:                                             ; preds = %3105
  br label %3107

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

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

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

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

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

3154:                                             ; preds = %3153
  br label %3155

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

3156:                                             ; No predecessors!
  br label %3157

3157:                                             ; preds = %3156
  br label %3158

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

3159:                                             ; preds = %3158
  br label %3160

3160:                                             ; preds = %3159
  br label %3161

3161:                                             ; preds = %3160
  %3162 = load i32, ptr @test_count, align 4, !tbaa !5
  %3163 = add nsw i32 %3162, 1
  store i32 %3163, ptr @test_count, align 4, !tbaa !5
  %3164 = getelementptr inbounds %struct.s2n_send_context, ptr %76, i32 0, i32 0
  %3165 = load i64, ptr %3164, align 8, !tbaa !23
  %3166 = icmp eq i64 %3165, 1
  br i1 %3166, label %3220, label %3167

3167:                                             ; preds = %3161
  br label %3168

3168:                                             ; preds = %3167
  br label %3169

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

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

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

3198:                                             ; preds = %3176, %3169
  %3199 = load i32, ptr %81, align 4, !tbaa !5
  %3200 = call ptr @__errno_location() #11
  store i32 %3199, ptr %3200, align 4, !tbaa !5
  %3201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3202 = load i32, ptr @test_count, align 4, !tbaa !5
  %3203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3204 = load i32, ptr %3203, align 4, !tbaa !5
  %3205 = call ptr @s2n_strerror(i32 noundef %3204, ptr noundef @.str.3)
  %3206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3207 = load i32, ptr %3206, align 4, !tbaa !5
  %3208 = call ptr @s2n_strerror_debug(i32 noundef %3207, ptr noundef @.str.3)
  %3209 = call ptr @__errno_location() #11
  %3210 = load i32, ptr %3209, align 4, !tbaa !5
  %3211 = call ptr @strerror(i32 noundef %3210) #10
  %3212 = call ptr @__errno_location() #11
  %3213 = load i32, ptr %3212, align 4, !tbaa !5
  %3214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3201, ptr noundef @.str.4, i32 noundef %3202, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 241, ptr noundef %3205, ptr noundef %3208, ptr noundef %3211, i32 noundef %3213) #10
  br label %3215

3215:                                             ; preds = %3198, %3181
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #10
  br label %3216

3216:                                             ; preds = %3215
  br label %3217

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

3218:                                             ; No predecessors!
  br label %3219

3219:                                             ; preds = %3218
  br label %3220

3220:                                             ; preds = %3219, %3161
  br label %3221

3221:                                             ; preds = %3220
  br label %3222

3222:                                             ; preds = %3221
  br label %3223

3223:                                             ; preds = %3222
  %3224 = load i32, ptr @test_count, align 4, !tbaa !5
  %3225 = add nsw i32 %3224, 1
  store i32 %3225, ptr @test_count, align 4, !tbaa !5
  %3226 = getelementptr inbounds %struct.s2n_send_context, ptr %76, i32 0, i32 1
  %3227 = load i64, ptr %3226, align 8, !tbaa !25
  %3228 = load i64, ptr %19, align 8, !tbaa !15
  %3229 = icmp eq i64 %3227, %3228
  br i1 %3229, label %3283, label %3230

3230:                                             ; preds = %3223
  br label %3231

3231:                                             ; preds = %3230
  br label %3232

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

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

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

3261:                                             ; preds = %3239, %3232
  %3262 = load i32, ptr %82, align 4, !tbaa !5
  %3263 = call ptr @__errno_location() #11
  store i32 %3262, ptr %3263, align 4, !tbaa !5
  %3264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3265 = load i32, ptr @test_count, align 4, !tbaa !5
  %3266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3267 = load i32, ptr %3266, align 4, !tbaa !5
  %3268 = call ptr @s2n_strerror(i32 noundef %3267, ptr noundef @.str.3)
  %3269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3270 = load i32, ptr %3269, align 4, !tbaa !5
  %3271 = call ptr @s2n_strerror_debug(i32 noundef %3270, ptr noundef @.str.3)
  %3272 = call ptr @__errno_location() #11
  %3273 = load i32, ptr %3272, align 4, !tbaa !5
  %3274 = call ptr @strerror(i32 noundef %3273) #10
  %3275 = call ptr @__errno_location() #11
  %3276 = load i32, ptr %3275, align 4, !tbaa !5
  %3277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3264, ptr noundef @.str.4, i32 noundef %3265, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 242, ptr noundef %3268, ptr noundef %3271, ptr noundef %3274, i32 noundef %3276) #10
  br label %3278

3278:                                             ; preds = %3261, %3244
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #10
  br label %3279

3279:                                             ; preds = %3278
  br label %3280

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

3281:                                             ; No predecessors!
  br label %3282

3282:                                             ; preds = %3281
  br label %3283

3283:                                             ; preds = %3282, %3223
  br label %3284

3284:                                             ; preds = %3283
  br label %3285

3285:                                             ; preds = %3284
  br label %3286

3286:                                             ; preds = %3285
  %3287 = load i32, ptr @test_count, align 4, !tbaa !5
  %3288 = add nsw i32 %3287, 1
  store i32 %3288, ptr @test_count, align 4, !tbaa !5
  %3289 = getelementptr inbounds %struct.s2n_send_context, ptr %76, i32 0, i32 1
  %3290 = load i64, ptr %3289, align 8, !tbaa !25
  %3291 = load ptr, ptr %71, align 8, !tbaa !9
  %3292 = getelementptr inbounds %struct.s2n_connection, ptr %3291, i32 0, i32 59
  %3293 = load i64, ptr %3292, align 8, !tbaa !29
  %3294 = icmp eq i64 %3290, %3293
  br i1 %3294, label %3348, label %3295

3295:                                             ; preds = %3286
  br label %3296

3296:                                             ; preds = %3295
  br label %3297

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

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

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

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

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

3344:                                             ; preds = %3343
  br label %3345

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

3346:                                             ; No predecessors!
  br label %3347

3347:                                             ; preds = %3346
  br label %3348

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

3349:                                             ; preds = %3348
  br label %3350

3350:                                             ; preds = %3349
  br label %3351

3351:                                             ; preds = %3350
  %3352 = load i32, ptr @test_count, align 4, !tbaa !5
  %3353 = add nsw i32 %3352, 1
  store i32 %3353, ptr @test_count, align 4, !tbaa !5
  %3354 = getelementptr inbounds %struct.s2n_send_context, ptr %76, i32 0, i32 1
  %3355 = load i64, ptr %3354, align 8, !tbaa !25
  %3356 = load ptr, ptr %71, align 8, !tbaa !9
  %3357 = call i64 @s2n_connection_get_wire_bytes_out(ptr noundef %3356)
  %3358 = icmp eq i64 %3355, %3357
  br i1 %3358, label %3412, label %3359

3359:                                             ; preds = %3351
  br label %3360

3360:                                             ; preds = %3359
  br label %3361

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

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

3373:                                             ; preds = %3368
  %3374 = load i32, ptr %84, align 4, !tbaa !5
  %3375 = call ptr @__errno_location() #11
  store i32 %3374, ptr %3375, align 4, !tbaa !5
  %3376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3377 = load i32, ptr @test_count, align 4, !tbaa !5
  %3378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3379 = load i32, ptr %3378, align 4, !tbaa !5
  %3380 = call ptr @s2n_strerror(i32 noundef %3379, ptr noundef @.str.3)
  %3381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3382 = load i32, ptr %3381, align 4, !tbaa !5
  %3383 = call ptr @s2n_strerror_debug(i32 noundef %3382, ptr noundef @.str.3)
  %3384 = call ptr @__errno_location() #11
  %3385 = load i32, ptr %3384, align 4, !tbaa !5
  %3386 = call ptr @strerror(i32 noundef %3385) #10
  %3387 = call ptr @__errno_location() #11
  %3388 = load i32, ptr %3387, align 4, !tbaa !5
  %3389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3376, ptr noundef @.str, i32 noundef %3377, ptr noundef @.str.37, ptr noundef @.str.2, i32 noundef 244, ptr noundef %3380, ptr noundef %3383, ptr noundef %3386, i32 noundef %3388) #10
  br label %3407

3390:                                             ; preds = %3368, %3361
  %3391 = load i32, ptr %84, align 4, !tbaa !5
  %3392 = call ptr @__errno_location() #11
  store i32 %3391, ptr %3392, align 4, !tbaa !5
  %3393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3394 = load i32, ptr @test_count, align 4, !tbaa !5
  %3395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3396 = load i32, ptr %3395, align 4, !tbaa !5
  %3397 = call ptr @s2n_strerror(i32 noundef %3396, ptr noundef @.str.3)
  %3398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3399 = load i32, ptr %3398, align 4, !tbaa !5
  %3400 = call ptr @s2n_strerror_debug(i32 noundef %3399, ptr noundef @.str.3)
  %3401 = call ptr @__errno_location() #11
  %3402 = load i32, ptr %3401, align 4, !tbaa !5
  %3403 = call ptr @strerror(i32 noundef %3402) #10
  %3404 = call ptr @__errno_location() #11
  %3405 = load i32, ptr %3404, align 4, !tbaa !5
  %3406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3393, ptr noundef @.str.4, i32 noundef %3394, ptr noundef @.str.37, ptr noundef @.str.2, i32 noundef 244, ptr noundef %3397, ptr noundef %3400, ptr noundef %3403, i32 noundef %3405) #10
  br label %3407

3407:                                             ; preds = %3390, %3373
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #10
  br label %3408

3408:                                             ; preds = %3407
  br label %3409

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

3410:                                             ; No predecessors!
  br label %3411

3411:                                             ; preds = %3410
  br label %3412

3412:                                             ; preds = %3411, %3351
  br label %3413

3413:                                             ; preds = %3412
  br label %3414

3414:                                             ; preds = %3413
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #10
  %3415 = call i32 @s2n_connection_ptr_free(ptr noundef %71)
  %3416 = getelementptr inbounds %struct.s2n_result, ptr %85, i32 0, i32 0
  store i32 %3415, ptr %3416, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #10
  %3417 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3417, ptr %86, align 8, !tbaa !9
  br label %3418

3418:                                             ; preds = %3414
  %3419 = load i32, ptr @test_count, align 4, !tbaa !5
  %3420 = add nsw i32 %3419, 1
  store i32 %3420, ptr @test_count, align 4, !tbaa !5
  %3421 = load ptr, ptr %86, align 8, !tbaa !9
  %3422 = icmp eq ptr %3421, null
  br i1 %3422, label %3423, label %3476

3423:                                             ; preds = %3418
  br label %3424

3424:                                             ; preds = %3423
  br label %3425

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

3432:                                             ; preds = %3425
  %3433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3434 = call i32 @fileno(ptr noundef %3433) #10
  %3435 = call i32 @isatty(i32 noundef %3434) #10
  %3436 = icmp ne i32 %3435, 0
  br i1 %3436, label %3437, label %3454

3437:                                             ; preds = %3432
  %3438 = load i32, ptr %87, align 4, !tbaa !5
  %3439 = call ptr @__errno_location() #11
  store i32 %3438, ptr %3439, align 4, !tbaa !5
  %3440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3441 = load i32, ptr @test_count, align 4, !tbaa !5
  %3442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3443 = load i32, ptr %3442, align 4, !tbaa !5
  %3444 = call ptr @s2n_strerror(i32 noundef %3443, ptr noundef @.str.3)
  %3445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3446 = load i32, ptr %3445, align 4, !tbaa !5
  %3447 = call ptr @s2n_strerror_debug(i32 noundef %3446, ptr noundef @.str.3)
  %3448 = call ptr @__errno_location() #11
  %3449 = load i32, ptr %3448, align 4, !tbaa !5
  %3450 = call ptr @strerror(i32 noundef %3449) #10
  %3451 = call ptr @__errno_location() #11
  %3452 = load i32, ptr %3451, align 4, !tbaa !5
  %3453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3440, ptr noundef @.str, i32 noundef %3441, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 251, ptr noundef %3444, ptr noundef %3447, ptr noundef %3450, i32 noundef %3452) #10
  br label %3471

3454:                                             ; preds = %3432, %3425
  %3455 = load i32, ptr %87, align 4, !tbaa !5
  %3456 = call ptr @__errno_location() #11
  store i32 %3455, ptr %3456, align 4, !tbaa !5
  %3457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3458 = load i32, ptr @test_count, align 4, !tbaa !5
  %3459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3460 = load i32, ptr %3459, align 4, !tbaa !5
  %3461 = call ptr @s2n_strerror(i32 noundef %3460, ptr noundef @.str.3)
  %3462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3463 = load i32, ptr %3462, align 4, !tbaa !5
  %3464 = call ptr @s2n_strerror_debug(i32 noundef %3463, ptr noundef @.str.3)
  %3465 = call ptr @__errno_location() #11
  %3466 = load i32, ptr %3465, align 4, !tbaa !5
  %3467 = call ptr @strerror(i32 noundef %3466) #10
  %3468 = call ptr @__errno_location() #11
  %3469 = load i32, ptr %3468, align 4, !tbaa !5
  %3470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3457, ptr noundef @.str.4, i32 noundef %3458, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 251, ptr noundef %3461, ptr noundef %3464, ptr noundef %3467, i32 noundef %3469) #10
  br label %3471

3471:                                             ; preds = %3454, %3437
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #10
  br label %3472

3472:                                             ; preds = %3471
  br label %3473

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

3474:                                             ; No predecessors!
  br label %3475

3475:                                             ; preds = %3474
  br label %3476

3476:                                             ; preds = %3475, %3418
  br label %3477

3477:                                             ; preds = %3476
  br label %3478

3478:                                             ; preds = %3477
  br label %3479

3479:                                             ; preds = %3478
  %3480 = load i32, ptr @test_count, align 4, !tbaa !5
  %3481 = add nsw i32 %3480, 1
  store i32 %3481, ptr @test_count, align 4, !tbaa !5
  %3482 = load ptr, ptr %86, align 8, !tbaa !9
  %3483 = call i32 @s2n_connection_set_secrets(ptr noundef %3482)
  %3484 = getelementptr inbounds %struct.s2n_result, ptr %88, i32 0, i32 0
  store i32 %3483, ptr %3484, align 4
  %3485 = getelementptr inbounds %struct.s2n_result, ptr %88, i32 0, i32 0
  %3486 = load i32, ptr %3485, align 4
  %3487 = call zeroext i1 @s2n_result_is_ok(i32 %3486)
  br i1 %3487, label %3541, label %3488

3488:                                             ; preds = %3479
  br label %3489

3489:                                             ; preds = %3488
  br label %3490

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

3497:                                             ; preds = %3490
  %3498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3499 = call i32 @fileno(ptr noundef %3498) #10
  %3500 = call i32 @isatty(i32 noundef %3499) #10
  %3501 = icmp ne i32 %3500, 0
  br i1 %3501, label %3502, label %3519

3502:                                             ; preds = %3497
  %3503 = load i32, ptr %89, align 4, !tbaa !5
  %3504 = call ptr @__errno_location() #11
  store i32 %3503, ptr %3504, align 4, !tbaa !5
  %3505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3506 = load i32, ptr @test_count, align 4, !tbaa !5
  %3507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3508 = load i32, ptr %3507, align 4, !tbaa !5
  %3509 = call ptr @s2n_strerror(i32 noundef %3508, ptr noundef @.str.3)
  %3510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3511 = load i32, ptr %3510, align 4, !tbaa !5
  %3512 = call ptr @s2n_strerror_debug(i32 noundef %3511, ptr noundef @.str.3)
  %3513 = call ptr @__errno_location() #11
  %3514 = load i32, ptr %3513, align 4, !tbaa !5
  %3515 = call ptr @strerror(i32 noundef %3514) #10
  %3516 = call ptr @__errno_location() #11
  %3517 = load i32, ptr %3516, align 4, !tbaa !5
  %3518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3505, ptr noundef @.str, i32 noundef %3506, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 252, ptr noundef %3509, ptr noundef %3512, ptr noundef %3515, i32 noundef %3517) #10
  br label %3536

3519:                                             ; preds = %3497, %3490
  %3520 = load i32, ptr %89, align 4, !tbaa !5
  %3521 = call ptr @__errno_location() #11
  store i32 %3520, ptr %3521, align 4, !tbaa !5
  %3522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3523 = load i32, ptr @test_count, align 4, !tbaa !5
  %3524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3525 = load i32, ptr %3524, align 4, !tbaa !5
  %3526 = call ptr @s2n_strerror(i32 noundef %3525, ptr noundef @.str.3)
  %3527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3528 = load i32, ptr %3527, align 4, !tbaa !5
  %3529 = call ptr @s2n_strerror_debug(i32 noundef %3528, ptr noundef @.str.3)
  %3530 = call ptr @__errno_location() #11
  %3531 = load i32, ptr %3530, align 4, !tbaa !5
  %3532 = call ptr @strerror(i32 noundef %3531) #10
  %3533 = call ptr @__errno_location() #11
  %3534 = load i32, ptr %3533, align 4, !tbaa !5
  %3535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3522, ptr noundef @.str.4, i32 noundef %3523, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 252, ptr noundef %3526, ptr noundef %3529, ptr noundef %3532, i32 noundef %3534) #10
  br label %3536

3536:                                             ; preds = %3519, %3502
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #10
  br label %3537

3537:                                             ; preds = %3536
  br label %3538

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

3539:                                             ; No predecessors!
  br label %3540

3540:                                             ; preds = %3539
  br label %3541

3541:                                             ; preds = %3540, %3479
  br label %3542

3542:                                             ; preds = %3541
  br label %3543

3543:                                             ; preds = %3542
  br label %3544

3544:                                             ; preds = %3543
  %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 %86, align 8, !tbaa !9
  %3548 = getelementptr inbounds %struct.s2n_connection, ptr %3547, i32 0, i32 59
  %3549 = load i64, ptr %3548, align 8, !tbaa !29
  %3550 = icmp eq i64 0, %3549
  br i1 %3550, label %3604, label %3551

3551:                                             ; preds = %3544
  br label %3552

3552:                                             ; preds = %3551
  br label %3553

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

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

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

3582:                                             ; preds = %3560, %3553
  %3583 = load i32, ptr %90, align 4, !tbaa !5
  %3584 = call ptr @__errno_location() #11
  store i32 %3583, ptr %3584, align 4, !tbaa !5
  %3585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3586 = load i32, ptr @test_count, align 4, !tbaa !5
  %3587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3588 = load i32, ptr %3587, align 4, !tbaa !5
  %3589 = call ptr @s2n_strerror(i32 noundef %3588, ptr noundef @.str.3)
  %3590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3591 = load i32, ptr %3590, align 4, !tbaa !5
  %3592 = call ptr @s2n_strerror_debug(i32 noundef %3591, ptr noundef @.str.3)
  %3593 = call ptr @__errno_location() #11
  %3594 = load i32, ptr %3593, align 4, !tbaa !5
  %3595 = call ptr @strerror(i32 noundef %3594) #10
  %3596 = call ptr @__errno_location() #11
  %3597 = load i32, ptr %3596, align 4, !tbaa !5
  %3598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3585, ptr noundef @.str.4, i32 noundef %3586, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 253, ptr noundef %3589, ptr noundef %3592, ptr noundef %3595, i32 noundef %3597) #10
  br label %3599

3599:                                             ; preds = %3582, %3565
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #10
  br label %3600

3600:                                             ; preds = %3599
  br label %3601

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

3602:                                             ; No predecessors!
  br label %3603

3603:                                             ; preds = %3602
  br label %3604

3604:                                             ; preds = %3603, %3544
  br label %3605

3605:                                             ; preds = %3604
  br label %3606

3606:                                             ; preds = %3605
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #10
  store i32 10, ptr %91, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %92) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %92, ptr align 16 @__const.main.results, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr %93) #10
  %3607 = getelementptr inbounds %struct.s2n_send_context, ptr %93, i32 0, i32 0
  store i64 0, ptr %3607, align 8, !tbaa !23
  %3608 = getelementptr inbounds %struct.s2n_send_context, ptr %93, i32 0, i32 1
  store i64 0, ptr %3608, align 8, !tbaa !25
  %3609 = getelementptr inbounds %struct.s2n_send_context, ptr %93, i32 0, i32 2
  %3610 = getelementptr inbounds [2 x %struct.s2n_send_result], ptr %92, i64 0, i64 0
  store ptr %3610, ptr %3609, align 8, !tbaa !26
  %3611 = getelementptr inbounds %struct.s2n_send_context, ptr %93, i32 0, i32 3
  store i64 2, ptr %3611, align 8, !tbaa !27
  br label %3612

3612:                                             ; preds = %3606
  %3613 = load i32, ptr @test_count, align 4, !tbaa !5
  %3614 = add nsw i32 %3613, 1
  store i32 %3614, ptr @test_count, align 4, !tbaa !5
  %3615 = load ptr, ptr %86, align 8, !tbaa !9
  %3616 = call i32 @s2n_connection_set_send_cb(ptr noundef %3615, ptr noundef @s2n_test_send_cb)
  %3617 = icmp eq i32 %3616, -1
  br i1 %3617, label %3618, label %3671

3618:                                             ; preds = %3612
  br label %3619

3619:                                             ; preds = %3618
  br label %3620

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

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

3632:                                             ; preds = %3627
  %3633 = load i32, ptr %94, align 4, !tbaa !5
  %3634 = call ptr @__errno_location() #11
  store i32 %3633, ptr %3634, align 4, !tbaa !5
  %3635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3636 = load i32, ptr @test_count, align 4, !tbaa !5
  %3637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3638 = load i32, ptr %3637, align 4, !tbaa !5
  %3639 = call ptr @s2n_strerror(i32 noundef %3638, ptr noundef @.str.3)
  %3640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3641 = load i32, ptr %3640, align 4, !tbaa !5
  %3642 = call ptr @s2n_strerror_debug(i32 noundef %3641, ptr noundef @.str.3)
  %3643 = call ptr @__errno_location() #11
  %3644 = load i32, ptr %3643, align 4, !tbaa !5
  %3645 = call ptr @strerror(i32 noundef %3644) #10
  %3646 = call ptr @__errno_location() #11
  %3647 = load i32, ptr %3646, align 4, !tbaa !5
  %3648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3635, ptr noundef @.str, i32 noundef %3636, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 261, ptr noundef %3639, ptr noundef %3642, ptr noundef %3645, i32 noundef %3647) #10
  br label %3666

3649:                                             ; preds = %3627, %3620
  %3650 = load i32, ptr %94, align 4, !tbaa !5
  %3651 = call ptr @__errno_location() #11
  store i32 %3650, ptr %3651, align 4, !tbaa !5
  %3652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3653 = load i32, ptr @test_count, align 4, !tbaa !5
  %3654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3655 = load i32, ptr %3654, align 4, !tbaa !5
  %3656 = call ptr @s2n_strerror(i32 noundef %3655, ptr noundef @.str.3)
  %3657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3658 = load i32, ptr %3657, align 4, !tbaa !5
  %3659 = call ptr @s2n_strerror_debug(i32 noundef %3658, ptr noundef @.str.3)
  %3660 = call ptr @__errno_location() #11
  %3661 = load i32, ptr %3660, align 4, !tbaa !5
  %3662 = call ptr @strerror(i32 noundef %3661) #10
  %3663 = call ptr @__errno_location() #11
  %3664 = load i32, ptr %3663, align 4, !tbaa !5
  %3665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3652, ptr noundef @.str.4, i32 noundef %3653, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 261, ptr noundef %3656, ptr noundef %3659, ptr noundef %3662, i32 noundef %3664) #10
  br label %3666

3666:                                             ; preds = %3649, %3632
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #10
  br label %3667

3667:                                             ; preds = %3666
  br label %3668

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

3669:                                             ; No predecessors!
  br label %3670

3670:                                             ; preds = %3669
  br label %3671

3671:                                             ; preds = %3670, %3612
  br label %3672

3672:                                             ; preds = %3671
  br label %3673

3673:                                             ; preds = %3672
  br label %3674

3674:                                             ; preds = %3673
  %3675 = load i32, ptr @test_count, align 4, !tbaa !5
  %3676 = add nsw i32 %3675, 1
  store i32 %3676, ptr @test_count, align 4, !tbaa !5
  %3677 = load ptr, ptr %86, align 8, !tbaa !9
  %3678 = call i32 @s2n_connection_set_send_ctx(ptr noundef %3677, ptr noundef %93)
  %3679 = icmp eq i32 %3678, -1
  br i1 %3679, label %3680, label %3733

3680:                                             ; preds = %3674
  br label %3681

3681:                                             ; preds = %3680
  br label %3682

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

3689:                                             ; preds = %3682
  %3690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3691 = call i32 @fileno(ptr noundef %3690) #10
  %3692 = call i32 @isatty(i32 noundef %3691) #10
  %3693 = icmp ne i32 %3692, 0
  br i1 %3693, label %3694, label %3711

3694:                                             ; preds = %3689
  %3695 = load i32, ptr %95, align 4, !tbaa !5
  %3696 = call ptr @__errno_location() #11
  store i32 %3695, ptr %3696, align 4, !tbaa !5
  %3697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3698 = load i32, ptr @test_count, align 4, !tbaa !5
  %3699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3700 = load i32, ptr %3699, align 4, !tbaa !5
  %3701 = call ptr @s2n_strerror(i32 noundef %3700, ptr noundef @.str.3)
  %3702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3703 = load i32, ptr %3702, align 4, !tbaa !5
  %3704 = call ptr @s2n_strerror_debug(i32 noundef %3703, ptr noundef @.str.3)
  %3705 = call ptr @__errno_location() #11
  %3706 = load i32, ptr %3705, align 4, !tbaa !5
  %3707 = call ptr @strerror(i32 noundef %3706) #10
  %3708 = call ptr @__errno_location() #11
  %3709 = load i32, ptr %3708, align 4, !tbaa !5
  %3710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3697, ptr noundef @.str, i32 noundef %3698, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 262, ptr noundef %3701, ptr noundef %3704, ptr noundef %3707, i32 noundef %3709) #10
  br label %3728

3711:                                             ; preds = %3689, %3682
  %3712 = load i32, ptr %95, align 4, !tbaa !5
  %3713 = call ptr @__errno_location() #11
  store i32 %3712, ptr %3713, align 4, !tbaa !5
  %3714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3715 = load i32, ptr @test_count, align 4, !tbaa !5
  %3716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3717 = load i32, ptr %3716, align 4, !tbaa !5
  %3718 = call ptr @s2n_strerror(i32 noundef %3717, ptr noundef @.str.3)
  %3719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3720 = load i32, ptr %3719, align 4, !tbaa !5
  %3721 = call ptr @s2n_strerror_debug(i32 noundef %3720, ptr noundef @.str.3)
  %3722 = call ptr @__errno_location() #11
  %3723 = load i32, ptr %3722, align 4, !tbaa !5
  %3724 = call ptr @strerror(i32 noundef %3723) #10
  %3725 = call ptr @__errno_location() #11
  %3726 = load i32, ptr %3725, align 4, !tbaa !5
  %3727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3714, ptr noundef @.str.4, i32 noundef %3715, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 262, ptr noundef %3718, ptr noundef %3721, ptr noundef %3724, i32 noundef %3726) #10
  br label %3728

3728:                                             ; preds = %3711, %3694
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #10
  br label %3729

3729:                                             ; preds = %3728
  br label %3730

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

3731:                                             ; No predecessors!
  br label %3732

3732:                                             ; preds = %3731
  br label %3733

3733:                                             ; preds = %3732, %3674
  br label %3734

3734:                                             ; preds = %3733
  br label %3735

3735:                                             ; preds = %3734
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #10
  store i32 0, ptr %96, align 4, !tbaa !5
  br label %3736

3736:                                             ; preds = %3735
  br label %3737

3737:                                             ; preds = %3736
  br label %3738

3738:                                             ; preds = %3737
  %3739 = load i32, ptr @test_count, align 4, !tbaa !5
  %3740 = add nsw i32 %3739, 1
  store i32 %3740, ptr @test_count, align 4, !tbaa !5
  %3741 = load ptr, ptr %86, align 8, !tbaa !9
  %3742 = getelementptr inbounds [12 x i8], ptr %9, i64 0, i64 0
  %3743 = call i64 @s2n_send(ptr noundef %3741, ptr noundef %3742, i64 noundef 12, ptr noundef %96)
  %3744 = icmp eq i64 %3743, -1
  br i1 %3744, label %3798, label %3745

3745:                                             ; preds = %3738
  br label %3746

3746:                                             ; preds = %3745
  br label %3747

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

3754:                                             ; preds = %3747
  %3755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3756 = call i32 @fileno(ptr noundef %3755) #10
  %3757 = call i32 @isatty(i32 noundef %3756) #10
  %3758 = icmp ne i32 %3757, 0
  br i1 %3758, label %3759, label %3776

3759:                                             ; preds = %3754
  %3760 = load i32, ptr %97, align 4, !tbaa !5
  %3761 = call ptr @__errno_location() #11
  store i32 %3760, ptr %3761, align 4, !tbaa !5
  %3762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3763 = load i32, ptr @test_count, align 4, !tbaa !5
  %3764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3765 = load i32, ptr %3764, align 4, !tbaa !5
  %3766 = call ptr @s2n_strerror(i32 noundef %3765, ptr noundef @.str.3)
  %3767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3768 = load i32, ptr %3767, align 4, !tbaa !5
  %3769 = call ptr @s2n_strerror_debug(i32 noundef %3768, ptr noundef @.str.3)
  %3770 = call ptr @__errno_location() #11
  %3771 = load i32, ptr %3770, align 4, !tbaa !5
  %3772 = call ptr @strerror(i32 noundef %3771) #10
  %3773 = call ptr @__errno_location() #11
  %3774 = load i32, ptr %3773, align 4, !tbaa !5
  %3775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3762, ptr noundef @.str, i32 noundef %3763, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 265, ptr noundef %3766, ptr noundef %3769, ptr noundef %3772, i32 noundef %3774) #10
  br label %3793

3776:                                             ; preds = %3754, %3747
  %3777 = load i32, ptr %97, align 4, !tbaa !5
  %3778 = call ptr @__errno_location() #11
  store i32 %3777, ptr %3778, align 4, !tbaa !5
  %3779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3780 = load i32, ptr @test_count, align 4, !tbaa !5
  %3781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3782 = load i32, ptr %3781, align 4, !tbaa !5
  %3783 = call ptr @s2n_strerror(i32 noundef %3782, ptr noundef @.str.3)
  %3784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3785 = load i32, ptr %3784, align 4, !tbaa !5
  %3786 = call ptr @s2n_strerror_debug(i32 noundef %3785, ptr noundef @.str.3)
  %3787 = call ptr @__errno_location() #11
  %3788 = load i32, ptr %3787, align 4, !tbaa !5
  %3789 = call ptr @strerror(i32 noundef %3788) #10
  %3790 = call ptr @__errno_location() #11
  %3791 = load i32, ptr %3790, align 4, !tbaa !5
  %3792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3779, ptr noundef @.str.4, i32 noundef %3780, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 265, ptr noundef %3783, ptr noundef %3786, ptr noundef %3789, i32 noundef %3791) #10
  br label %3793

3793:                                             ; preds = %3776, %3759
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #10
  br label %3794

3794:                                             ; preds = %3793
  br label %3795

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

3796:                                             ; No predecessors!
  br label %3797

3797:                                             ; preds = %3796
  br label %3798

3798:                                             ; preds = %3797, %3738
  br label %3799

3799:                                             ; preds = %3798
  br label %3800

3800:                                             ; preds = %3799
  br label %3801

3801:                                             ; preds = %3800
  %3802 = load i32, ptr @test_count, align 4, !tbaa !5
  %3803 = add nsw i32 %3802, 1
  store i32 %3803, ptr @test_count, align 4, !tbaa !5
  %3804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3805 = load i32, ptr %3804, align 4, !tbaa !5
  %3806 = icmp eq i32 %3805, 67108864
  br i1 %3806, label %3860, label %3807

3807:                                             ; preds = %3801
  br label %3808

3808:                                             ; preds = %3807
  br label %3809

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

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

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

3838:                                             ; preds = %3816, %3809
  %3839 = load i32, ptr %98, align 4, !tbaa !5
  %3840 = call ptr @__errno_location() #11
  store i32 %3839, ptr %3840, align 4, !tbaa !5
  %3841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3842 = load i32, ptr @test_count, align 4, !tbaa !5
  %3843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3844 = load i32, ptr %3843, align 4, !tbaa !5
  %3845 = call ptr @s2n_strerror(i32 noundef %3844, ptr noundef @.str.3)
  %3846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3847 = load i32, ptr %3846, align 4, !tbaa !5
  %3848 = call ptr @s2n_strerror_debug(i32 noundef %3847, ptr noundef @.str.3)
  %3849 = call ptr @__errno_location() #11
  %3850 = load i32, ptr %3849, align 4, !tbaa !5
  %3851 = call ptr @strerror(i32 noundef %3850) #10
  %3852 = call ptr @__errno_location() #11
  %3853 = load i32, ptr %3852, align 4, !tbaa !5
  %3854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3841, ptr noundef @.str.4, i32 noundef %3842, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 265, ptr noundef %3845, ptr noundef %3848, ptr noundef %3851, i32 noundef %3853) #10
  br label %3855

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

3856:                                             ; preds = %3855
  br label %3857

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

3858:                                             ; No predecessors!
  br label %3859

3859:                                             ; preds = %3858
  br label %3860

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

3861:                                             ; preds = %3860
  br label %3862

3862:                                             ; preds = %3861
  br label %3863

3863:                                             ; preds = %3862
  %3864 = load i32, ptr @test_count, align 4, !tbaa !5
  %3865 = add nsw i32 %3864, 1
  store i32 %3865, ptr @test_count, align 4, !tbaa !5
  %3866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3867 = load i32, ptr %3866, align 4, !tbaa !5
  %3868 = call ptr @s2n_strerror_debug(i32 noundef %3867, ptr noundef @.str.3)
  %3869 = icmp eq ptr %3868, null
  br i1 %3869, label %3870, label %3923

3870:                                             ; preds = %3863
  br label %3871

3871:                                             ; preds = %3870
  br label %3872

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

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

3884:                                             ; preds = %3879
  %3885 = load i32, ptr %99, align 4, !tbaa !5
  %3886 = call ptr @__errno_location() #11
  store i32 %3885, ptr %3886, align 4, !tbaa !5
  %3887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3888 = load i32, ptr @test_count, align 4, !tbaa !5
  %3889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3890 = load i32, ptr %3889, align 4, !tbaa !5
  %3891 = call ptr @s2n_strerror(i32 noundef %3890, ptr noundef @.str.3)
  %3892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3893 = load i32, ptr %3892, align 4, !tbaa !5
  %3894 = call ptr @s2n_strerror_debug(i32 noundef %3893, ptr noundef @.str.3)
  %3895 = call ptr @__errno_location() #11
  %3896 = load i32, ptr %3895, align 4, !tbaa !5
  %3897 = call ptr @strerror(i32 noundef %3896) #10
  %3898 = call ptr @__errno_location() #11
  %3899 = load i32, ptr %3898, align 4, !tbaa !5
  %3900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3887, ptr noundef @.str, i32 noundef %3888, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 265, ptr noundef %3891, ptr noundef %3894, ptr noundef %3897, i32 noundef %3899) #10
  br label %3918

3901:                                             ; preds = %3879, %3872
  %3902 = load i32, ptr %99, align 4, !tbaa !5
  %3903 = call ptr @__errno_location() #11
  store i32 %3902, ptr %3903, align 4, !tbaa !5
  %3904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3905 = load i32, ptr @test_count, align 4, !tbaa !5
  %3906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3907 = load i32, ptr %3906, align 4, !tbaa !5
  %3908 = call ptr @s2n_strerror(i32 noundef %3907, ptr noundef @.str.3)
  %3909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3910 = load i32, ptr %3909, align 4, !tbaa !5
  %3911 = call ptr @s2n_strerror_debug(i32 noundef %3910, ptr noundef @.str.3)
  %3912 = call ptr @__errno_location() #11
  %3913 = load i32, ptr %3912, align 4, !tbaa !5
  %3914 = call ptr @strerror(i32 noundef %3913) #10
  %3915 = call ptr @__errno_location() #11
  %3916 = load i32, ptr %3915, align 4, !tbaa !5
  %3917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3904, ptr noundef @.str.4, i32 noundef %3905, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 265, ptr noundef %3908, ptr noundef %3911, ptr noundef %3914, i32 noundef %3916) #10
  br label %3918

3918:                                             ; preds = %3901, %3884
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #10
  br label %3919

3919:                                             ; preds = %3918
  br label %3920

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

3921:                                             ; No predecessors!
  br label %3922

3922:                                             ; preds = %3921
  br label %3923

3923:                                             ; preds = %3922, %3863
  br label %3924

3924:                                             ; preds = %3923
  br label %3925

3925:                                             ; preds = %3924
  br label %3926

3926:                                             ; preds = %3925
  br label %3927

3927:                                             ; preds = %3926
  br label %3928

3928:                                             ; preds = %3927
  %3929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3929, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3930 = call ptr @__errno_location() #11
  store i32 0, ptr %3930, align 4, !tbaa !5
  br label %3931

3931:                                             ; preds = %3928
  br label %3932

3932:                                             ; preds = %3931
  br label %3933

3933:                                             ; preds = %3932
  br label %3934

3934:                                             ; preds = %3933
  br label %3935

3935:                                             ; preds = %3934
  %3936 = load i32, ptr @test_count, align 4, !tbaa !5
  %3937 = add nsw i32 %3936, 1
  store i32 %3937, ptr @test_count, align 4, !tbaa !5
  %3938 = getelementptr inbounds %struct.s2n_send_context, ptr %93, i32 0, i32 0
  %3939 = load i64, ptr %3938, align 8, !tbaa !23
  %3940 = icmp eq i64 %3939, 2
  br i1 %3940, label %3994, label %3941

3941:                                             ; preds = %3935
  br label %3942

3942:                                             ; preds = %3941
  br label %3943

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

3950:                                             ; preds = %3943
  %3951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3952 = call i32 @fileno(ptr noundef %3951) #10
  %3953 = call i32 @isatty(i32 noundef %3952) #10
  %3954 = icmp ne i32 %3953, 0
  br i1 %3954, label %3955, label %3972

3955:                                             ; preds = %3950
  %3956 = load i32, ptr %100, align 4, !tbaa !5
  %3957 = call ptr @__errno_location() #11
  store i32 %3956, ptr %3957, align 4, !tbaa !5
  %3958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3959 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3961, ptr noundef @.str.3)
  %3963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3964 = load i32, ptr %3963, align 4, !tbaa !5
  %3965 = call ptr @s2n_strerror_debug(i32 noundef %3964, ptr noundef @.str.3)
  %3966 = call ptr @__errno_location() #11
  %3967 = load i32, ptr %3966, align 4, !tbaa !5
  %3968 = call ptr @strerror(i32 noundef %3967) #10
  %3969 = call ptr @__errno_location() #11
  %3970 = load i32, ptr %3969, align 4, !tbaa !5
  %3971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3958, ptr noundef @.str, i32 noundef %3959, ptr noundef @.str.27, ptr noundef @.str.2, i32 noundef 267, ptr noundef %3962, ptr noundef %3965, ptr noundef %3968, i32 noundef %3970) #10
  br label %3989

3972:                                             ; preds = %3950, %3943
  %3973 = load i32, ptr %100, align 4, !tbaa !5
  %3974 = call ptr @__errno_location() #11
  store i32 %3973, ptr %3974, align 4, !tbaa !5
  %3975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3976 = load i32, ptr @test_count, align 4, !tbaa !5
  %3977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3978 = load i32, ptr %3977, align 4, !tbaa !5
  %3979 = call ptr @s2n_strerror(i32 noundef %3978, ptr noundef @.str.3)
  %3980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3981 = load i32, ptr %3980, align 4, !tbaa !5
  %3982 = call ptr @s2n_strerror_debug(i32 noundef %3981, ptr noundef @.str.3)
  %3983 = call ptr @__errno_location() #11
  %3984 = load i32, ptr %3983, align 4, !tbaa !5
  %3985 = call ptr @strerror(i32 noundef %3984) #10
  %3986 = call ptr @__errno_location() #11
  %3987 = load i32, ptr %3986, align 4, !tbaa !5
  %3988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3975, ptr noundef @.str.4, i32 noundef %3976, ptr noundef @.str.27, ptr noundef @.str.2, i32 noundef 267, ptr noundef %3979, ptr noundef %3982, ptr noundef %3985, i32 noundef %3987) #10
  br label %3989

3989:                                             ; preds = %3972, %3955
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #10
  br label %3990

3990:                                             ; preds = %3989
  br label %3991

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

3992:                                             ; No predecessors!
  br label %3993

3993:                                             ; preds = %3992
  br label %3994

3994:                                             ; preds = %3993, %3935
  br label %3995

3995:                                             ; preds = %3994
  br label %3996

3996:                                             ; preds = %3995
  br label %3997

3997:                                             ; preds = %3996
  %3998 = load i32, ptr @test_count, align 4, !tbaa !5
  %3999 = add nsw i32 %3998, 1
  store i32 %3999, ptr @test_count, align 4, !tbaa !5
  %4000 = getelementptr inbounds %struct.s2n_send_context, ptr %93, i32 0, i32 1
  %4001 = load i64, ptr %4000, align 8, !tbaa !25
  %4002 = icmp eq i64 %4001, 10
  br i1 %4002, label %4056, label %4003

4003:                                             ; preds = %3997
  br label %4004

4004:                                             ; preds = %4003
  br label %4005

4005:                                             ; preds = %4004
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #10
  %4006 = call ptr @__errno_location() #11
  %4007 = load i32, ptr %4006, align 4, !tbaa !5
  store i32 %4007, ptr %101, align 4, !tbaa !5
  %4008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4009 = call i32 @s2n_print_stacktrace(ptr noundef %4008)
  %4010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4011 = trunc i8 %4010 to i1
  br i1 %4011, label %4012, label %4034

4012:                                             ; preds = %4005
  %4013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4014 = call i32 @fileno(ptr noundef %4013) #10
  %4015 = call i32 @isatty(i32 noundef %4014) #10
  %4016 = icmp ne i32 %4015, 0
  br i1 %4016, label %4017, label %4034

4017:                                             ; preds = %4012
  %4018 = load i32, ptr %101, align 4, !tbaa !5
  %4019 = call ptr @__errno_location() #11
  store i32 %4018, ptr %4019, align 4, !tbaa !5
  %4020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4021 = load i32, ptr @test_count, align 4, !tbaa !5
  %4022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4023 = load i32, ptr %4022, align 4, !tbaa !5
  %4024 = call ptr @s2n_strerror(i32 noundef %4023, ptr noundef @.str.3)
  %4025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4026 = load i32, ptr %4025, align 4, !tbaa !5
  %4027 = call ptr @s2n_strerror_debug(i32 noundef %4026, ptr noundef @.str.3)
  %4028 = call ptr @__errno_location() #11
  %4029 = load i32, ptr %4028, align 4, !tbaa !5
  %4030 = call ptr @strerror(i32 noundef %4029) #10
  %4031 = call ptr @__errno_location() #11
  %4032 = load i32, ptr %4031, align 4, !tbaa !5
  %4033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4020, ptr noundef @.str, i32 noundef %4021, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 268, ptr noundef %4024, ptr noundef %4027, ptr noundef %4030, i32 noundef %4032) #10
  br label %4051

4034:                                             ; preds = %4012, %4005
  %4035 = load i32, ptr %101, align 4, !tbaa !5
  %4036 = call ptr @__errno_location() #11
  store i32 %4035, ptr %4036, align 4, !tbaa !5
  %4037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4038 = load i32, ptr @test_count, align 4, !tbaa !5
  %4039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4040 = load i32, ptr %4039, align 4, !tbaa !5
  %4041 = call ptr @s2n_strerror(i32 noundef %4040, ptr noundef @.str.3)
  %4042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4043 = load i32, ptr %4042, align 4, !tbaa !5
  %4044 = call ptr @s2n_strerror_debug(i32 noundef %4043, ptr noundef @.str.3)
  %4045 = call ptr @__errno_location() #11
  %4046 = load i32, ptr %4045, align 4, !tbaa !5
  %4047 = call ptr @strerror(i32 noundef %4046) #10
  %4048 = call ptr @__errno_location() #11
  %4049 = load i32, ptr %4048, align 4, !tbaa !5
  %4050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4037, ptr noundef @.str.4, i32 noundef %4038, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 268, ptr noundef %4041, ptr noundef %4044, ptr noundef %4047, i32 noundef %4049) #10
  br label %4051

4051:                                             ; preds = %4034, %4017
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #10
  br label %4052

4052:                                             ; preds = %4051
  br label %4053

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

4054:                                             ; No predecessors!
  br label %4055

4055:                                             ; preds = %4054
  br label %4056

4056:                                             ; preds = %4055, %3997
  br label %4057

4057:                                             ; preds = %4056
  br label %4058

4058:                                             ; preds = %4057
  br label %4059

4059:                                             ; preds = %4058
  %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 = getelementptr inbounds %struct.s2n_send_context, ptr %93, i32 0, i32 1
  %4063 = load i64, ptr %4062, align 8, !tbaa !25
  %4064 = load ptr, ptr %86, align 8, !tbaa !9
  %4065 = getelementptr inbounds %struct.s2n_connection, ptr %4064, i32 0, i32 59
  %4066 = load i64, ptr %4065, align 8, !tbaa !29
  %4067 = icmp eq i64 %4063, %4066
  br i1 %4067, label %4121, label %4068

4068:                                             ; preds = %4059
  br label %4069

4069:                                             ; preds = %4068
  br label %4070

4070:                                             ; preds = %4069
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #10
  %4071 = call ptr @__errno_location() #11
  %4072 = load i32, ptr %4071, align 4, !tbaa !5
  store i32 %4072, ptr %102, align 4, !tbaa !5
  %4073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4074 = call i32 @s2n_print_stacktrace(ptr noundef %4073)
  %4075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4076 = trunc i8 %4075 to i1
  br i1 %4076, label %4077, label %4099

4077:                                             ; preds = %4070
  %4078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4079 = call i32 @fileno(ptr noundef %4078) #10
  %4080 = call i32 @isatty(i32 noundef %4079) #10
  %4081 = icmp ne i32 %4080, 0
  br i1 %4081, label %4082, label %4099

4082:                                             ; preds = %4077
  %4083 = load i32, ptr %102, align 4, !tbaa !5
  %4084 = call ptr @__errno_location() #11
  store i32 %4083, ptr %4084, align 4, !tbaa !5
  %4085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4086 = load i32, ptr @test_count, align 4, !tbaa !5
  %4087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4088 = load i32, ptr %4087, align 4, !tbaa !5
  %4089 = call ptr @s2n_strerror(i32 noundef %4088, ptr noundef @.str.3)
  %4090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4091 = load i32, ptr %4090, align 4, !tbaa !5
  %4092 = call ptr @s2n_strerror_debug(i32 noundef %4091, ptr noundef @.str.3)
  %4093 = call ptr @__errno_location() #11
  %4094 = load i32, ptr %4093, align 4, !tbaa !5
  %4095 = call ptr @strerror(i32 noundef %4094) #10
  %4096 = call ptr @__errno_location() #11
  %4097 = load i32, ptr %4096, align 4, !tbaa !5
  %4098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4085, ptr noundef @.str, i32 noundef %4086, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 269, ptr noundef %4089, ptr noundef %4092, ptr noundef %4095, i32 noundef %4097) #10
  br label %4116

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

4116:                                             ; preds = %4099, %4082
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #10
  br label %4117

4117:                                             ; preds = %4116
  br label %4118

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

4119:                                             ; No predecessors!
  br label %4120

4120:                                             ; preds = %4119
  br label %4121

4121:                                             ; preds = %4120, %4059
  br label %4122

4122:                                             ; preds = %4121
  br label %4123

4123:                                             ; preds = %4122
  br label %4124

4124:                                             ; preds = %4123
  %4125 = load i32, ptr @test_count, align 4, !tbaa !5
  %4126 = add nsw i32 %4125, 1
  store i32 %4126, ptr @test_count, align 4, !tbaa !5
  %4127 = getelementptr inbounds %struct.s2n_send_context, ptr %93, i32 0, i32 1
  %4128 = load i64, ptr %4127, align 8, !tbaa !25
  %4129 = load ptr, ptr %86, align 8, !tbaa !9
  %4130 = call i64 @s2n_connection_get_wire_bytes_out(ptr noundef %4129)
  %4131 = icmp eq i64 %4128, %4130
  br i1 %4131, label %4185, label %4132

4132:                                             ; preds = %4124
  br label %4133

4133:                                             ; preds = %4132
  br label %4134

4134:                                             ; preds = %4133
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #10
  %4135 = call ptr @__errno_location() #11
  %4136 = load i32, ptr %4135, align 4, !tbaa !5
  store i32 %4136, ptr %103, align 4, !tbaa !5
  %4137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4138 = call i32 @s2n_print_stacktrace(ptr noundef %4137)
  %4139 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4140 = trunc i8 %4139 to i1
  br i1 %4140, label %4141, label %4163

4141:                                             ; preds = %4134
  %4142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4143 = call i32 @fileno(ptr noundef %4142) #10
  %4144 = call i32 @isatty(i32 noundef %4143) #10
  %4145 = icmp ne i32 %4144, 0
  br i1 %4145, label %4146, label %4163

4146:                                             ; preds = %4141
  %4147 = load i32, ptr %103, align 4, !tbaa !5
  %4148 = call ptr @__errno_location() #11
  store i32 %4147, ptr %4148, align 4, !tbaa !5
  %4149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4150 = load i32, ptr @test_count, align 4, !tbaa !5
  %4151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4152 = load i32, ptr %4151, align 4, !tbaa !5
  %4153 = call ptr @s2n_strerror(i32 noundef %4152, ptr noundef @.str.3)
  %4154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4155 = load i32, ptr %4154, align 4, !tbaa !5
  %4156 = call ptr @s2n_strerror_debug(i32 noundef %4155, ptr noundef @.str.3)
  %4157 = call ptr @__errno_location() #11
  %4158 = load i32, ptr %4157, align 4, !tbaa !5
  %4159 = call ptr @strerror(i32 noundef %4158) #10
  %4160 = call ptr @__errno_location() #11
  %4161 = load i32, ptr %4160, align 4, !tbaa !5
  %4162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4149, ptr noundef @.str, i32 noundef %4150, ptr noundef @.str.37, ptr noundef @.str.2, i32 noundef 270, ptr noundef %4153, ptr noundef %4156, ptr noundef %4159, i32 noundef %4161) #10
  br label %4180

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

4180:                                             ; preds = %4163, %4146
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #10
  br label %4181

4181:                                             ; preds = %4180
  br label %4182

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

4183:                                             ; No predecessors!
  br label %4184

4184:                                             ; preds = %4183
  br label %4185

4185:                                             ; preds = %4184, %4124
  br label %4186

4186:                                             ; preds = %4185
  br label %4187

4187:                                             ; preds = %4186
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %93) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %92) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #10
  %4188 = call i32 @s2n_connection_ptr_free(ptr noundef %86)
  %4189 = getelementptr inbounds %struct.s2n_result, ptr %104, i32 0, i32 0
  store i32 %4188, ptr %4189, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %105) #10
  %4190 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4190, ptr %105, align 8, !tbaa !9
  br label %4191

4191:                                             ; preds = %4187
  %4192 = load i32, ptr @test_count, align 4, !tbaa !5
  %4193 = add nsw i32 %4192, 1
  store i32 %4193, ptr @test_count, align 4, !tbaa !5
  %4194 = load ptr, ptr %105, align 8, !tbaa !9
  %4195 = icmp eq ptr %4194, null
  br i1 %4195, label %4196, label %4249

4196:                                             ; preds = %4191
  br label %4197

4197:                                             ; preds = %4196
  br label %4198

4198:                                             ; preds = %4197
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #10
  %4199 = call ptr @__errno_location() #11
  %4200 = load i32, ptr %4199, align 4, !tbaa !5
  store i32 %4200, ptr %106, align 4, !tbaa !5
  %4201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4202 = call i32 @s2n_print_stacktrace(ptr noundef %4201)
  %4203 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4204 = trunc i8 %4203 to i1
  br i1 %4204, label %4205, label %4227

4205:                                             ; preds = %4198
  %4206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4207 = call i32 @fileno(ptr noundef %4206) #10
  %4208 = call i32 @isatty(i32 noundef %4207) #10
  %4209 = icmp ne i32 %4208, 0
  br i1 %4209, label %4210, label %4227

4210:                                             ; preds = %4205
  %4211 = load i32, ptr %106, align 4, !tbaa !5
  %4212 = call ptr @__errno_location() #11
  store i32 %4211, ptr %4212, align 4, !tbaa !5
  %4213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4214 = load i32, ptr @test_count, align 4, !tbaa !5
  %4215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4216 = load i32, ptr %4215, align 4, !tbaa !5
  %4217 = call ptr @s2n_strerror(i32 noundef %4216, ptr noundef @.str.3)
  %4218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4219 = load i32, ptr %4218, align 4, !tbaa !5
  %4220 = call ptr @s2n_strerror_debug(i32 noundef %4219, ptr noundef @.str.3)
  %4221 = call ptr @__errno_location() #11
  %4222 = load i32, ptr %4221, align 4, !tbaa !5
  %4223 = call ptr @strerror(i32 noundef %4222) #10
  %4224 = call ptr @__errno_location() #11
  %4225 = load i32, ptr %4224, align 4, !tbaa !5
  %4226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4213, ptr noundef @.str, i32 noundef %4214, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 277, ptr noundef %4217, ptr noundef %4220, ptr noundef %4223, i32 noundef %4225) #10
  br label %4244

4227:                                             ; preds = %4205, %4198
  %4228 = load i32, ptr %106, align 4, !tbaa !5
  %4229 = call ptr @__errno_location() #11
  store i32 %4228, ptr %4229, align 4, !tbaa !5
  %4230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4231 = load i32, ptr @test_count, align 4, !tbaa !5
  %4232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4233 = load i32, ptr %4232, align 4, !tbaa !5
  %4234 = call ptr @s2n_strerror(i32 noundef %4233, ptr noundef @.str.3)
  %4235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4236 = load i32, ptr %4235, align 4, !tbaa !5
  %4237 = call ptr @s2n_strerror_debug(i32 noundef %4236, ptr noundef @.str.3)
  %4238 = call ptr @__errno_location() #11
  %4239 = load i32, ptr %4238, align 4, !tbaa !5
  %4240 = call ptr @strerror(i32 noundef %4239) #10
  %4241 = call ptr @__errno_location() #11
  %4242 = load i32, ptr %4241, align 4, !tbaa !5
  %4243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4230, ptr noundef @.str.4, i32 noundef %4231, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 277, ptr noundef %4234, ptr noundef %4237, ptr noundef %4240, i32 noundef %4242) #10
  br label %4244

4244:                                             ; preds = %4227, %4210
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #10
  br label %4245

4245:                                             ; preds = %4244
  br label %4246

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

4247:                                             ; No predecessors!
  br label %4248

4248:                                             ; preds = %4247
  br label %4249

4249:                                             ; preds = %4248, %4191
  br label %4250

4250:                                             ; preds = %4249
  br label %4251

4251:                                             ; preds = %4250
  br label %4252

4252:                                             ; preds = %4251
  %4253 = load i32, ptr @test_count, align 4, !tbaa !5
  %4254 = add nsw i32 %4253, 1
  store i32 %4254, ptr @test_count, align 4, !tbaa !5
  %4255 = load ptr, ptr %105, align 8, !tbaa !9
  %4256 = call i32 @s2n_connection_set_secrets(ptr noundef %4255)
  %4257 = getelementptr inbounds %struct.s2n_result, ptr %107, i32 0, i32 0
  store i32 %4256, ptr %4257, align 4
  %4258 = getelementptr inbounds %struct.s2n_result, ptr %107, i32 0, i32 0
  %4259 = load i32, ptr %4258, align 4
  %4260 = call zeroext i1 @s2n_result_is_ok(i32 %4259)
  br i1 %4260, label %4314, label %4261

4261:                                             ; preds = %4252
  br label %4262

4262:                                             ; preds = %4261
  br label %4263

4263:                                             ; preds = %4262
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #10
  %4264 = call ptr @__errno_location() #11
  %4265 = load i32, ptr %4264, align 4, !tbaa !5
  store i32 %4265, ptr %108, align 4, !tbaa !5
  %4266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4267 = call i32 @s2n_print_stacktrace(ptr noundef %4266)
  %4268 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4269 = trunc i8 %4268 to i1
  br i1 %4269, label %4270, label %4292

4270:                                             ; preds = %4263
  %4271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4272 = call i32 @fileno(ptr noundef %4271) #10
  %4273 = call i32 @isatty(i32 noundef %4272) #10
  %4274 = icmp ne i32 %4273, 0
  br i1 %4274, label %4275, label %4292

4275:                                             ; preds = %4270
  %4276 = load i32, ptr %108, align 4, !tbaa !5
  %4277 = call ptr @__errno_location() #11
  store i32 %4276, ptr %4277, align 4, !tbaa !5
  %4278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4279 = load i32, ptr @test_count, align 4, !tbaa !5
  %4280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4281 = load i32, ptr %4280, align 4, !tbaa !5
  %4282 = call ptr @s2n_strerror(i32 noundef %4281, ptr noundef @.str.3)
  %4283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4284 = load i32, ptr %4283, align 4, !tbaa !5
  %4285 = call ptr @s2n_strerror_debug(i32 noundef %4284, ptr noundef @.str.3)
  %4286 = call ptr @__errno_location() #11
  %4287 = load i32, ptr %4286, align 4, !tbaa !5
  %4288 = call ptr @strerror(i32 noundef %4287) #10
  %4289 = call ptr @__errno_location() #11
  %4290 = load i32, ptr %4289, align 4, !tbaa !5
  %4291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4278, ptr noundef @.str, i32 noundef %4279, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 278, ptr noundef %4282, ptr noundef %4285, ptr noundef %4288, i32 noundef %4290) #10
  br label %4309

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

4309:                                             ; preds = %4292, %4275
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #10
  br label %4310

4310:                                             ; preds = %4309
  br label %4311

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

4312:                                             ; No predecessors!
  br label %4313

4313:                                             ; preds = %4312
  br label %4314

4314:                                             ; preds = %4313, %4252
  br label %4315

4315:                                             ; preds = %4314
  br label %4316

4316:                                             ; preds = %4315
  call void @llvm.lifetime.start.p0(i64 32, ptr %109) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %109, ptr align 16 @__const.main.results.39, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr %110) #10
  %4317 = getelementptr inbounds %struct.s2n_send_context, ptr %110, i32 0, i32 0
  store i64 0, ptr %4317, align 8, !tbaa !23
  %4318 = getelementptr inbounds %struct.s2n_send_context, ptr %110, i32 0, i32 1
  store i64 0, ptr %4318, align 8, !tbaa !25
  %4319 = getelementptr inbounds %struct.s2n_send_context, ptr %110, i32 0, i32 2
  %4320 = getelementptr inbounds [4 x %struct.s2n_send_result], ptr %109, i64 0, i64 0
  store ptr %4320, ptr %4319, align 8, !tbaa !26
  %4321 = getelementptr inbounds %struct.s2n_send_context, ptr %110, i32 0, i32 3
  store i64 4, ptr %4321, align 8, !tbaa !27
  br label %4322

4322:                                             ; preds = %4316
  %4323 = load i32, ptr @test_count, align 4, !tbaa !5
  %4324 = add nsw i32 %4323, 1
  store i32 %4324, ptr @test_count, align 4, !tbaa !5
  %4325 = load ptr, ptr %105, align 8, !tbaa !9
  %4326 = call i32 @s2n_connection_set_send_cb(ptr noundef %4325, ptr noundef @s2n_test_send_cb)
  %4327 = icmp eq i32 %4326, -1
  br i1 %4327, label %4328, label %4381

4328:                                             ; preds = %4322
  br label %4329

4329:                                             ; preds = %4328
  br label %4330

4330:                                             ; preds = %4329
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #10
  %4331 = call ptr @__errno_location() #11
  %4332 = load i32, ptr %4331, align 4, !tbaa !5
  store i32 %4332, ptr %111, align 4, !tbaa !5
  %4333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4334 = call i32 @s2n_print_stacktrace(ptr noundef %4333)
  %4335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4336 = trunc i8 %4335 to i1
  br i1 %4336, label %4337, label %4359

4337:                                             ; preds = %4330
  %4338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4339 = call i32 @fileno(ptr noundef %4338) #10
  %4340 = call i32 @isatty(i32 noundef %4339) #10
  %4341 = icmp ne i32 %4340, 0
  br i1 %4341, label %4342, label %4359

4342:                                             ; preds = %4337
  %4343 = load i32, ptr %111, align 4, !tbaa !5
  %4344 = call ptr @__errno_location() #11
  store i32 %4343, ptr %4344, align 4, !tbaa !5
  %4345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4346 = load i32, ptr @test_count, align 4, !tbaa !5
  %4347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4348 = load i32, ptr %4347, align 4, !tbaa !5
  %4349 = call ptr @s2n_strerror(i32 noundef %4348, ptr noundef @.str.3)
  %4350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4351 = load i32, ptr %4350, align 4, !tbaa !5
  %4352 = call ptr @s2n_strerror_debug(i32 noundef %4351, ptr noundef @.str.3)
  %4353 = call ptr @__errno_location() #11
  %4354 = load i32, ptr %4353, align 4, !tbaa !5
  %4355 = call ptr @strerror(i32 noundef %4354) #10
  %4356 = call ptr @__errno_location() #11
  %4357 = load i32, ptr %4356, align 4, !tbaa !5
  %4358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4345, ptr noundef @.str, i32 noundef %4346, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 287, ptr noundef %4349, ptr noundef %4352, ptr noundef %4355, i32 noundef %4357) #10
  br label %4376

4359:                                             ; preds = %4337, %4330
  %4360 = load i32, ptr %111, align 4, !tbaa !5
  %4361 = call ptr @__errno_location() #11
  store i32 %4360, ptr %4361, align 4, !tbaa !5
  %4362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4363 = load i32, ptr @test_count, align 4, !tbaa !5
  %4364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4365 = load i32, ptr %4364, align 4, !tbaa !5
  %4366 = call ptr @s2n_strerror(i32 noundef %4365, ptr noundef @.str.3)
  %4367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4368 = load i32, ptr %4367, align 4, !tbaa !5
  %4369 = call ptr @s2n_strerror_debug(i32 noundef %4368, ptr noundef @.str.3)
  %4370 = call ptr @__errno_location() #11
  %4371 = load i32, ptr %4370, align 4, !tbaa !5
  %4372 = call ptr @strerror(i32 noundef %4371) #10
  %4373 = call ptr @__errno_location() #11
  %4374 = load i32, ptr %4373, align 4, !tbaa !5
  %4375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4362, ptr noundef @.str.4, i32 noundef %4363, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 287, ptr noundef %4366, ptr noundef %4369, ptr noundef %4372, i32 noundef %4374) #10
  br label %4376

4376:                                             ; preds = %4359, %4342
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #10
  br label %4377

4377:                                             ; preds = %4376
  br label %4378

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

4379:                                             ; No predecessors!
  br label %4380

4380:                                             ; preds = %4379
  br label %4381

4381:                                             ; preds = %4380, %4322
  br label %4382

4382:                                             ; preds = %4381
  br label %4383

4383:                                             ; preds = %4382
  br label %4384

4384:                                             ; preds = %4383
  %4385 = load i32, ptr @test_count, align 4, !tbaa !5
  %4386 = add nsw i32 %4385, 1
  store i32 %4386, ptr @test_count, align 4, !tbaa !5
  %4387 = load ptr, ptr %105, align 8, !tbaa !9
  %4388 = call i32 @s2n_connection_set_send_ctx(ptr noundef %4387, ptr noundef %110)
  %4389 = icmp eq i32 %4388, -1
  br i1 %4389, label %4390, label %4443

4390:                                             ; preds = %4384
  br label %4391

4391:                                             ; preds = %4390
  br label %4392

4392:                                             ; preds = %4391
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #10
  %4393 = call ptr @__errno_location() #11
  %4394 = load i32, ptr %4393, align 4, !tbaa !5
  store i32 %4394, ptr %112, align 4, !tbaa !5
  %4395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4396 = call i32 @s2n_print_stacktrace(ptr noundef %4395)
  %4397 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4398 = trunc i8 %4397 to i1
  br i1 %4398, label %4399, label %4421

4399:                                             ; preds = %4392
  %4400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4401 = call i32 @fileno(ptr noundef %4400) #10
  %4402 = call i32 @isatty(i32 noundef %4401) #10
  %4403 = icmp ne i32 %4402, 0
  br i1 %4403, label %4404, label %4421

4404:                                             ; preds = %4399
  %4405 = load i32, ptr %112, align 4, !tbaa !5
  %4406 = call ptr @__errno_location() #11
  store i32 %4405, ptr %4406, align 4, !tbaa !5
  %4407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4408 = load i32, ptr @test_count, align 4, !tbaa !5
  %4409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4410 = load i32, ptr %4409, align 4, !tbaa !5
  %4411 = call ptr @s2n_strerror(i32 noundef %4410, ptr noundef @.str.3)
  %4412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4413 = load i32, ptr %4412, align 4, !tbaa !5
  %4414 = call ptr @s2n_strerror_debug(i32 noundef %4413, ptr noundef @.str.3)
  %4415 = call ptr @__errno_location() #11
  %4416 = load i32, ptr %4415, align 4, !tbaa !5
  %4417 = call ptr @strerror(i32 noundef %4416) #10
  %4418 = call ptr @__errno_location() #11
  %4419 = load i32, ptr %4418, align 4, !tbaa !5
  %4420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4407, ptr noundef @.str, i32 noundef %4408, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 288, ptr noundef %4411, ptr noundef %4414, ptr noundef %4417, i32 noundef %4419) #10
  br label %4438

4421:                                             ; preds = %4399, %4392
  %4422 = load i32, ptr %112, align 4, !tbaa !5
  %4423 = call ptr @__errno_location() #11
  store i32 %4422, ptr %4423, align 4, !tbaa !5
  %4424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4425 = load i32, ptr @test_count, align 4, !tbaa !5
  %4426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4427 = load i32, ptr %4426, align 4, !tbaa !5
  %4428 = call ptr @s2n_strerror(i32 noundef %4427, ptr noundef @.str.3)
  %4429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4430 = load i32, ptr %4429, align 4, !tbaa !5
  %4431 = call ptr @s2n_strerror_debug(i32 noundef %4430, ptr noundef @.str.3)
  %4432 = call ptr @__errno_location() #11
  %4433 = load i32, ptr %4432, align 4, !tbaa !5
  %4434 = call ptr @strerror(i32 noundef %4433) #10
  %4435 = call ptr @__errno_location() #11
  %4436 = load i32, ptr %4435, align 4, !tbaa !5
  %4437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4424, ptr noundef @.str.4, i32 noundef %4425, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 288, ptr noundef %4428, ptr noundef %4431, ptr noundef %4434, i32 noundef %4436) #10
  br label %4438

4438:                                             ; preds = %4421, %4404
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #10
  br label %4439

4439:                                             ; preds = %4438
  br label %4440

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

4441:                                             ; No predecessors!
  br label %4442

4442:                                             ; preds = %4441
  br label %4443

4443:                                             ; preds = %4442, %4384
  br label %4444

4444:                                             ; preds = %4443
  br label %4445

4445:                                             ; preds = %4444
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #10
  store i32 0, ptr %113, align 4, !tbaa !5
  br label %4446

4446:                                             ; preds = %4445
  %4447 = load i32, ptr @test_count, align 4, !tbaa !5
  %4448 = add nsw i32 %4447, 1
  store i32 %4448, ptr @test_count, align 4, !tbaa !5
  %4449 = load ptr, ptr %105, align 8, !tbaa !9
  %4450 = getelementptr inbounds [12 x i8], ptr %9, i64 0, i64 0
  %4451 = call i64 @s2n_send(ptr noundef %4449, ptr noundef %4450, i64 noundef 12, ptr noundef %113)
  %4452 = icmp eq i64 %4451, 12
  br i1 %4452, label %4506, label %4453

4453:                                             ; preds = %4446
  br label %4454

4454:                                             ; preds = %4453
  br label %4455

4455:                                             ; preds = %4454
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #10
  %4456 = call ptr @__errno_location() #11
  %4457 = load i32, ptr %4456, align 4, !tbaa !5
  store i32 %4457, ptr %114, align 4, !tbaa !5
  %4458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4459 = call i32 @s2n_print_stacktrace(ptr noundef %4458)
  %4460 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4461 = trunc i8 %4460 to i1
  br i1 %4461, label %4462, label %4484

4462:                                             ; preds = %4455
  %4463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4464 = call i32 @fileno(ptr noundef %4463) #10
  %4465 = call i32 @isatty(i32 noundef %4464) #10
  %4466 = icmp ne i32 %4465, 0
  br i1 %4466, label %4467, label %4484

4467:                                             ; preds = %4462
  %4468 = load i32, ptr %114, align 4, !tbaa !5
  %4469 = call ptr @__errno_location() #11
  store i32 %4468, ptr %4469, align 4, !tbaa !5
  %4470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4471 = load i32, ptr @test_count, align 4, !tbaa !5
  %4472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4473 = load i32, ptr %4472, align 4, !tbaa !5
  %4474 = call ptr @s2n_strerror(i32 noundef %4473, ptr noundef @.str.3)
  %4475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4476 = load i32, ptr %4475, align 4, !tbaa !5
  %4477 = call ptr @s2n_strerror_debug(i32 noundef %4476, ptr noundef @.str.3)
  %4478 = call ptr @__errno_location() #11
  %4479 = load i32, ptr %4478, align 4, !tbaa !5
  %4480 = call ptr @strerror(i32 noundef %4479) #10
  %4481 = call ptr @__errno_location() #11
  %4482 = load i32, ptr %4481, align 4, !tbaa !5
  %4483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4470, ptr noundef @.str, i32 noundef %4471, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 291, ptr noundef %4474, ptr noundef %4477, ptr noundef %4480, i32 noundef %4482) #10
  br label %4501

4484:                                             ; preds = %4462, %4455
  %4485 = load i32, ptr %114, align 4, !tbaa !5
  %4486 = call ptr @__errno_location() #11
  store i32 %4485, ptr %4486, align 4, !tbaa !5
  %4487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4488 = load i32, ptr @test_count, align 4, !tbaa !5
  %4489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4490 = load i32, ptr %4489, align 4, !tbaa !5
  %4491 = call ptr @s2n_strerror(i32 noundef %4490, ptr noundef @.str.3)
  %4492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4493 = load i32, ptr %4492, align 4, !tbaa !5
  %4494 = call ptr @s2n_strerror_debug(i32 noundef %4493, ptr noundef @.str.3)
  %4495 = call ptr @__errno_location() #11
  %4496 = load i32, ptr %4495, align 4, !tbaa !5
  %4497 = call ptr @strerror(i32 noundef %4496) #10
  %4498 = call ptr @__errno_location() #11
  %4499 = load i32, ptr %4498, align 4, !tbaa !5
  %4500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4487, ptr noundef @.str.4, i32 noundef %4488, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 291, ptr noundef %4491, ptr noundef %4494, ptr noundef %4497, i32 noundef %4499) #10
  br label %4501

4501:                                             ; preds = %4484, %4467
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #10
  br label %4502

4502:                                             ; preds = %4501
  br label %4503

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

4504:                                             ; No predecessors!
  br label %4505

4505:                                             ; preds = %4504
  br label %4506

4506:                                             ; preds = %4505, %4446
  br label %4507

4507:                                             ; preds = %4506
  br label %4508

4508:                                             ; preds = %4507
  br label %4509

4509:                                             ; preds = %4508
  %4510 = load i32, ptr @test_count, align 4, !tbaa !5
  %4511 = add nsw i32 %4510, 1
  store i32 %4511, ptr @test_count, align 4, !tbaa !5
  %4512 = load i32, ptr %113, align 4, !tbaa !5
  %4513 = icmp eq i32 %4512, 0
  br i1 %4513, label %4567, label %4514

4514:                                             ; preds = %4509
  br label %4515

4515:                                             ; preds = %4514
  br label %4516

4516:                                             ; preds = %4515
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #10
  %4517 = call ptr @__errno_location() #11
  %4518 = load i32, ptr %4517, align 4, !tbaa !5
  store i32 %4518, ptr %115, align 4, !tbaa !5
  %4519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4520 = call i32 @s2n_print_stacktrace(ptr noundef %4519)
  %4521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4522 = trunc i8 %4521 to i1
  br i1 %4522, label %4523, label %4545

4523:                                             ; preds = %4516
  %4524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4525 = call i32 @fileno(ptr noundef %4524) #10
  %4526 = call i32 @isatty(i32 noundef %4525) #10
  %4527 = icmp ne i32 %4526, 0
  br i1 %4527, label %4528, label %4545

4528:                                             ; preds = %4523
  %4529 = load i32, ptr %115, align 4, !tbaa !5
  %4530 = call ptr @__errno_location() #11
  store i32 %4529, ptr %4530, align 4, !tbaa !5
  %4531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4532 = load i32, ptr @test_count, align 4, !tbaa !5
  %4533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4534 = load i32, ptr %4533, align 4, !tbaa !5
  %4535 = call ptr @s2n_strerror(i32 noundef %4534, ptr noundef @.str.3)
  %4536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4537 = load i32, ptr %4536, align 4, !tbaa !5
  %4538 = call ptr @s2n_strerror_debug(i32 noundef %4537, ptr noundef @.str.3)
  %4539 = call ptr @__errno_location() #11
  %4540 = load i32, ptr %4539, align 4, !tbaa !5
  %4541 = call ptr @strerror(i32 noundef %4540) #10
  %4542 = call ptr @__errno_location() #11
  %4543 = load i32, ptr %4542, align 4, !tbaa !5
  %4544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4531, ptr noundef @.str, i32 noundef %4532, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 292, ptr noundef %4535, ptr noundef %4538, ptr noundef %4541, i32 noundef %4543) #10
  br label %4562

4545:                                             ; preds = %4523, %4516
  %4546 = load i32, ptr %115, align 4, !tbaa !5
  %4547 = call ptr @__errno_location() #11
  store i32 %4546, ptr %4547, align 4, !tbaa !5
  %4548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4549 = load i32, ptr @test_count, align 4, !tbaa !5
  %4550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4551 = load i32, ptr %4550, align 4, !tbaa !5
  %4552 = call ptr @s2n_strerror(i32 noundef %4551, ptr noundef @.str.3)
  %4553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4554 = load i32, ptr %4553, align 4, !tbaa !5
  %4555 = call ptr @s2n_strerror_debug(i32 noundef %4554, ptr noundef @.str.3)
  %4556 = call ptr @__errno_location() #11
  %4557 = load i32, ptr %4556, align 4, !tbaa !5
  %4558 = call ptr @strerror(i32 noundef %4557) #10
  %4559 = call ptr @__errno_location() #11
  %4560 = load i32, ptr %4559, align 4, !tbaa !5
  %4561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4548, ptr noundef @.str.4, i32 noundef %4549, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 292, ptr noundef %4552, ptr noundef %4555, ptr noundef %4558, i32 noundef %4560) #10
  br label %4562

4562:                                             ; preds = %4545, %4528
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #10
  br label %4563

4563:                                             ; preds = %4562
  br label %4564

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

4565:                                             ; No predecessors!
  br label %4566

4566:                                             ; preds = %4565
  br label %4567

4567:                                             ; preds = %4566, %4509
  br label %4568

4568:                                             ; preds = %4567
  br label %4569

4569:                                             ; preds = %4568
  br label %4570

4570:                                             ; preds = %4569
  %4571 = load i32, ptr @test_count, align 4, !tbaa !5
  %4572 = add nsw i32 %4571, 1
  store i32 %4572, ptr @test_count, align 4, !tbaa !5
  %4573 = getelementptr inbounds %struct.s2n_send_context, ptr %110, i32 0, i32 0
  %4574 = load i64, ptr %4573, align 8, !tbaa !23
  %4575 = icmp eq i64 %4574, 4
  br i1 %4575, label %4629, label %4576

4576:                                             ; preds = %4570
  br label %4577

4577:                                             ; preds = %4576
  br label %4578

4578:                                             ; preds = %4577
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #10
  %4579 = call ptr @__errno_location() #11
  %4580 = load i32, ptr %4579, align 4, !tbaa !5
  store i32 %4580, ptr %116, align 4, !tbaa !5
  %4581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4582 = call i32 @s2n_print_stacktrace(ptr noundef %4581)
  %4583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4584 = trunc i8 %4583 to i1
  br i1 %4584, label %4585, label %4607

4585:                                             ; preds = %4578
  %4586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4587 = call i32 @fileno(ptr noundef %4586) #10
  %4588 = call i32 @isatty(i32 noundef %4587) #10
  %4589 = icmp ne i32 %4588, 0
  br i1 %4589, label %4590, label %4607

4590:                                             ; preds = %4585
  %4591 = load i32, ptr %116, align 4, !tbaa !5
  %4592 = call ptr @__errno_location() #11
  store i32 %4591, ptr %4592, align 4, !tbaa !5
  %4593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4594 = load i32, ptr @test_count, align 4, !tbaa !5
  %4595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4596 = load i32, ptr %4595, align 4, !tbaa !5
  %4597 = call ptr @s2n_strerror(i32 noundef %4596, ptr noundef @.str.3)
  %4598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4599 = load i32, ptr %4598, align 4, !tbaa !5
  %4600 = call ptr @s2n_strerror_debug(i32 noundef %4599, ptr noundef @.str.3)
  %4601 = call ptr @__errno_location() #11
  %4602 = load i32, ptr %4601, align 4, !tbaa !5
  %4603 = call ptr @strerror(i32 noundef %4602) #10
  %4604 = call ptr @__errno_location() #11
  %4605 = load i32, ptr %4604, align 4, !tbaa !5
  %4606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4593, ptr noundef @.str, i32 noundef %4594, ptr noundef @.str.40, ptr noundef @.str.2, i32 noundef 293, ptr noundef %4597, ptr noundef %4600, ptr noundef %4603, i32 noundef %4605) #10
  br label %4624

4607:                                             ; preds = %4585, %4578
  %4608 = load i32, ptr %116, align 4, !tbaa !5
  %4609 = call ptr @__errno_location() #11
  store i32 %4608, ptr %4609, align 4, !tbaa !5
  %4610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4611 = load i32, ptr @test_count, align 4, !tbaa !5
  %4612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4613 = load i32, ptr %4612, align 4, !tbaa !5
  %4614 = call ptr @s2n_strerror(i32 noundef %4613, ptr noundef @.str.3)
  %4615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4616 = load i32, ptr %4615, align 4, !tbaa !5
  %4617 = call ptr @s2n_strerror_debug(i32 noundef %4616, ptr noundef @.str.3)
  %4618 = call ptr @__errno_location() #11
  %4619 = load i32, ptr %4618, align 4, !tbaa !5
  %4620 = call ptr @strerror(i32 noundef %4619) #10
  %4621 = call ptr @__errno_location() #11
  %4622 = load i32, ptr %4621, align 4, !tbaa !5
  %4623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4610, ptr noundef @.str.4, i32 noundef %4611, ptr noundef @.str.40, ptr noundef @.str.2, i32 noundef 293, ptr noundef %4614, ptr noundef %4617, ptr noundef %4620, i32 noundef %4622) #10
  br label %4624

4624:                                             ; preds = %4607, %4590
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #10
  br label %4625

4625:                                             ; preds = %4624
  br label %4626

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

4627:                                             ; No predecessors!
  br label %4628

4628:                                             ; preds = %4627
  br label %4629

4629:                                             ; preds = %4628, %4570
  br label %4630

4630:                                             ; preds = %4629
  br label %4631

4631:                                             ; preds = %4630
  br label %4632

4632:                                             ; preds = %4631
  %4633 = load i32, ptr @test_count, align 4, !tbaa !5
  %4634 = add nsw i32 %4633, 1
  store i32 %4634, ptr @test_count, align 4, !tbaa !5
  %4635 = getelementptr inbounds %struct.s2n_send_context, ptr %110, i32 0, i32 1
  %4636 = load i64, ptr %4635, align 8, !tbaa !25
  %4637 = load i64, ptr %19, align 8, !tbaa !15
  %4638 = icmp eq i64 %4636, %4637
  br i1 %4638, label %4692, label %4639

4639:                                             ; preds = %4632
  br label %4640

4640:                                             ; preds = %4639
  br label %4641

4641:                                             ; preds = %4640
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #10
  %4642 = call ptr @__errno_location() #11
  %4643 = load i32, ptr %4642, align 4, !tbaa !5
  store i32 %4643, ptr %117, align 4, !tbaa !5
  %4644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4645 = call i32 @s2n_print_stacktrace(ptr noundef %4644)
  %4646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4647 = trunc i8 %4646 to i1
  br i1 %4647, label %4648, label %4670

4648:                                             ; preds = %4641
  %4649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4650 = call i32 @fileno(ptr noundef %4649) #10
  %4651 = call i32 @isatty(i32 noundef %4650) #10
  %4652 = icmp ne i32 %4651, 0
  br i1 %4652, label %4653, label %4670

4653:                                             ; preds = %4648
  %4654 = load i32, ptr %117, align 4, !tbaa !5
  %4655 = call ptr @__errno_location() #11
  store i32 %4654, ptr %4655, align 4, !tbaa !5
  %4656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4657 = load i32, ptr @test_count, align 4, !tbaa !5
  %4658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4659 = load i32, ptr %4658, align 4, !tbaa !5
  %4660 = call ptr @s2n_strerror(i32 noundef %4659, ptr noundef @.str.3)
  %4661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4662 = load i32, ptr %4661, align 4, !tbaa !5
  %4663 = call ptr @s2n_strerror_debug(i32 noundef %4662, ptr noundef @.str.3)
  %4664 = call ptr @__errno_location() #11
  %4665 = load i32, ptr %4664, align 4, !tbaa !5
  %4666 = call ptr @strerror(i32 noundef %4665) #10
  %4667 = call ptr @__errno_location() #11
  %4668 = load i32, ptr %4667, align 4, !tbaa !5
  %4669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4656, ptr noundef @.str, i32 noundef %4657, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 294, ptr noundef %4660, ptr noundef %4663, ptr noundef %4666, i32 noundef %4668) #10
  br label %4687

4670:                                             ; preds = %4648, %4641
  %4671 = load i32, ptr %117, align 4, !tbaa !5
  %4672 = call ptr @__errno_location() #11
  store i32 %4671, ptr %4672, align 4, !tbaa !5
  %4673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4674 = load i32, 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(i32 noundef %4676, ptr noundef @.str.3)
  %4678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4679 = load i32, ptr %4678, align 4, !tbaa !5
  %4680 = call ptr @s2n_strerror_debug(i32 noundef %4679, ptr noundef @.str.3)
  %4681 = call ptr @__errno_location() #11
  %4682 = load i32, ptr %4681, align 4, !tbaa !5
  %4683 = call ptr @strerror(i32 noundef %4682) #10
  %4684 = call ptr @__errno_location() #11
  %4685 = load i32, ptr %4684, align 4, !tbaa !5
  %4686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4673, ptr noundef @.str.4, i32 noundef %4674, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 294, ptr noundef %4677, ptr noundef %4680, ptr noundef %4683, i32 noundef %4685) #10
  br label %4687

4687:                                             ; preds = %4670, %4653
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #10
  br label %4688

4688:                                             ; preds = %4687
  br label %4689

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

4690:                                             ; No predecessors!
  br label %4691

4691:                                             ; preds = %4690
  br label %4692

4692:                                             ; preds = %4691, %4632
  br label %4693

4693:                                             ; preds = %4692
  br label %4694

4694:                                             ; preds = %4693
  br label %4695

4695:                                             ; preds = %4694
  %4696 = load i32, ptr @test_count, align 4, !tbaa !5
  %4697 = add nsw i32 %4696, 1
  store i32 %4697, ptr @test_count, align 4, !tbaa !5
  %4698 = load ptr, ptr %105, align 8, !tbaa !9
  %4699 = getelementptr inbounds %struct.s2n_connection, ptr %4698, i32 0, i32 41
  %4700 = getelementptr inbounds %struct.s2n_stuffer, ptr %4699, i32 0, i32 0
  %4701 = getelementptr inbounds %struct.s2n_blob, ptr %4700, i32 0, i32 1
  %4702 = load i32, ptr %4701, align 8, !tbaa !56
  %4703 = getelementptr inbounds [4 x i32], ptr %34, i64 0, i64 0
  %4704 = load i32, ptr %4703, align 16, !tbaa !5
  %4705 = icmp eq i32 %4702, %4704
  br i1 %4705, label %4759, label %4706

4706:                                             ; preds = %4695
  br label %4707

4707:                                             ; preds = %4706
  br label %4708

4708:                                             ; preds = %4707
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #10
  %4709 = call ptr @__errno_location() #11
  %4710 = load i32, ptr %4709, align 4, !tbaa !5
  store i32 %4710, ptr %118, align 4, !tbaa !5
  %4711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4712 = call i32 @s2n_print_stacktrace(ptr noundef %4711)
  %4713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4714 = trunc i8 %4713 to i1
  br i1 %4714, label %4715, label %4737

4715:                                             ; preds = %4708
  %4716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4717 = call i32 @fileno(ptr noundef %4716) #10
  %4718 = call i32 @isatty(i32 noundef %4717) #10
  %4719 = icmp ne i32 %4718, 0
  br i1 %4719, label %4720, label %4737

4720:                                             ; preds = %4715
  %4721 = load i32, ptr %118, align 4, !tbaa !5
  %4722 = call ptr @__errno_location() #11
  store i32 %4721, ptr %4722, align 4, !tbaa !5
  %4723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4724 = load i32, ptr @test_count, align 4, !tbaa !5
  %4725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4726 = load i32, ptr %4725, align 4, !tbaa !5
  %4727 = call ptr @s2n_strerror(i32 noundef %4726, ptr noundef @.str.3)
  %4728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4729 = load i32, ptr %4728, align 4, !tbaa !5
  %4730 = call ptr @s2n_strerror_debug(i32 noundef %4729, ptr noundef @.str.3)
  %4731 = call ptr @__errno_location() #11
  %4732 = load i32, ptr %4731, align 4, !tbaa !5
  %4733 = call ptr @strerror(i32 noundef %4732) #10
  %4734 = call ptr @__errno_location() #11
  %4735 = load i32, ptr %4734, align 4, !tbaa !5
  %4736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4723, ptr noundef @.str, i32 noundef %4724, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 297, ptr noundef %4727, ptr noundef %4730, ptr noundef %4733, i32 noundef %4735) #10
  br label %4754

4737:                                             ; preds = %4715, %4708
  %4738 = load i32, ptr %118, align 4, !tbaa !5
  %4739 = call ptr @__errno_location() #11
  store i32 %4738, ptr %4739, align 4, !tbaa !5
  %4740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4741 = load i32, ptr @test_count, align 4, !tbaa !5
  %4742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4743 = load i32, ptr %4742, align 4, !tbaa !5
  %4744 = call ptr @s2n_strerror(i32 noundef %4743, ptr noundef @.str.3)
  %4745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4746 = load i32, ptr %4745, align 4, !tbaa !5
  %4747 = call ptr @s2n_strerror_debug(i32 noundef %4746, ptr noundef @.str.3)
  %4748 = call ptr @__errno_location() #11
  %4749 = load i32, ptr %4748, align 4, !tbaa !5
  %4750 = call ptr @strerror(i32 noundef %4749) #10
  %4751 = call ptr @__errno_location() #11
  %4752 = load i32, ptr %4751, align 4, !tbaa !5
  %4753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4740, ptr noundef @.str.4, i32 noundef %4741, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 297, ptr noundef %4744, ptr noundef %4747, ptr noundef %4750, i32 noundef %4752) #10
  br label %4754

4754:                                             ; preds = %4737, %4720
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #10
  br label %4755

4755:                                             ; preds = %4754
  br label %4756

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

4757:                                             ; No predecessors!
  br label %4758

4758:                                             ; preds = %4757
  br label %4759

4759:                                             ; preds = %4758, %4695
  br label %4760

4760:                                             ; preds = %4759
  br label %4761

4761:                                             ; preds = %4760
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #10
  %4762 = call i32 @s2n_connection_ptr_free(ptr noundef %105)
  %4763 = getelementptr inbounds %struct.s2n_result, ptr %119, i32 0, i32 0
  store i32 %4762, ptr %4763, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %120) #10
  %4764 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4764, ptr %120, align 8, !tbaa !9
  br label %4765

4765:                                             ; preds = %4761
  %4766 = load i32, ptr @test_count, align 4, !tbaa !5
  %4767 = add nsw i32 %4766, 1
  store i32 %4767, ptr @test_count, align 4, !tbaa !5
  %4768 = load ptr, ptr %120, align 8, !tbaa !9
  %4769 = icmp eq ptr %4768, null
  br i1 %4769, label %4770, label %4823

4770:                                             ; preds = %4765
  br label %4771

4771:                                             ; preds = %4770
  br label %4772

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

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

4784:                                             ; preds = %4779
  %4785 = load i32, ptr %121, align 4, !tbaa !5
  %4786 = call ptr @__errno_location() #11
  store i32 %4785, ptr %4786, align 4, !tbaa !5
  %4787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4788 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4790, ptr noundef @.str.3)
  %4792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4793 = load i32, ptr %4792, align 4, !tbaa !5
  %4794 = call ptr @s2n_strerror_debug(i32 noundef %4793, ptr noundef @.str.3)
  %4795 = call ptr @__errno_location() #11
  %4796 = load i32, ptr %4795, align 4, !tbaa !5
  %4797 = call ptr @strerror(i32 noundef %4796) #10
  %4798 = call ptr @__errno_location() #11
  %4799 = load i32, ptr %4798, align 4, !tbaa !5
  %4800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4787, ptr noundef @.str, i32 noundef %4788, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 304, ptr noundef %4791, ptr noundef %4794, ptr noundef %4797, i32 noundef %4799) #10
  br label %4818

4801:                                             ; preds = %4779, %4772
  %4802 = load i32, ptr %121, align 4, !tbaa !5
  %4803 = call ptr @__errno_location() #11
  store i32 %4802, ptr %4803, align 4, !tbaa !5
  %4804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4805 = load i32, ptr @test_count, align 4, !tbaa !5
  %4806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4807 = load i32, ptr %4806, align 4, !tbaa !5
  %4808 = call ptr @s2n_strerror(i32 noundef %4807, ptr noundef @.str.3)
  %4809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4810 = load i32, ptr %4809, align 4, !tbaa !5
  %4811 = call ptr @s2n_strerror_debug(i32 noundef %4810, ptr noundef @.str.3)
  %4812 = call ptr @__errno_location() #11
  %4813 = load i32, ptr %4812, align 4, !tbaa !5
  %4814 = call ptr @strerror(i32 noundef %4813) #10
  %4815 = call ptr @__errno_location() #11
  %4816 = load i32, ptr %4815, align 4, !tbaa !5
  %4817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4804, ptr noundef @.str.4, i32 noundef %4805, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 304, ptr noundef %4808, ptr noundef %4811, ptr noundef %4814, i32 noundef %4816) #10
  br label %4818

4818:                                             ; preds = %4801, %4784
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #10
  br label %4819

4819:                                             ; preds = %4818
  br label %4820

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

4821:                                             ; No predecessors!
  br label %4822

4822:                                             ; preds = %4821
  br label %4823

4823:                                             ; preds = %4822, %4765
  br label %4824

4824:                                             ; preds = %4823
  br label %4825

4825:                                             ; preds = %4824
  br label %4826

4826:                                             ; preds = %4825
  %4827 = load i32, ptr @test_count, align 4, !tbaa !5
  %4828 = add nsw i32 %4827, 1
  store i32 %4828, ptr @test_count, align 4, !tbaa !5
  %4829 = load ptr, ptr %120, align 8, !tbaa !9
  %4830 = call i32 @s2n_connection_set_secrets(ptr noundef %4829)
  %4831 = getelementptr inbounds %struct.s2n_result, ptr %122, i32 0, i32 0
  store i32 %4830, ptr %4831, align 4
  %4832 = getelementptr inbounds %struct.s2n_result, ptr %122, i32 0, i32 0
  %4833 = load i32, ptr %4832, align 4
  %4834 = call zeroext i1 @s2n_result_is_ok(i32 %4833)
  br i1 %4834, label %4888, label %4835

4835:                                             ; preds = %4826
  br label %4836

4836:                                             ; preds = %4835
  br label %4837

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

4844:                                             ; preds = %4837
  %4845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4846 = call i32 @fileno(ptr noundef %4845) #10
  %4847 = call i32 @isatty(i32 noundef %4846) #10
  %4848 = icmp ne i32 %4847, 0
  br i1 %4848, label %4849, label %4866

4849:                                             ; preds = %4844
  %4850 = load i32, ptr %123, align 4, !tbaa !5
  %4851 = call ptr @__errno_location() #11
  store i32 %4850, ptr %4851, align 4, !tbaa !5
  %4852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4853 = load i32, ptr @test_count, align 4, !tbaa !5
  %4854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4855 = load i32, ptr %4854, align 4, !tbaa !5
  %4856 = call ptr @s2n_strerror(i32 noundef %4855, ptr noundef @.str.3)
  %4857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4858 = load i32, ptr %4857, align 4, !tbaa !5
  %4859 = call ptr @s2n_strerror_debug(i32 noundef %4858, ptr noundef @.str.3)
  %4860 = call ptr @__errno_location() #11
  %4861 = load i32, ptr %4860, align 4, !tbaa !5
  %4862 = call ptr @strerror(i32 noundef %4861) #10
  %4863 = call ptr @__errno_location() #11
  %4864 = load i32, ptr %4863, align 4, !tbaa !5
  %4865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4852, ptr noundef @.str, i32 noundef %4853, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 305, ptr noundef %4856, ptr noundef %4859, ptr noundef %4862, i32 noundef %4864) #10
  br label %4883

4866:                                             ; preds = %4844, %4837
  %4867 = load i32, ptr %123, align 4, !tbaa !5
  %4868 = call ptr @__errno_location() #11
  store i32 %4867, ptr %4868, align 4, !tbaa !5
  %4869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4870 = load i32, ptr @test_count, align 4, !tbaa !5
  %4871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4872 = load i32, ptr %4871, align 4, !tbaa !5
  %4873 = call ptr @s2n_strerror(i32 noundef %4872, ptr noundef @.str.3)
  %4874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4875 = load i32, ptr %4874, align 4, !tbaa !5
  %4876 = call ptr @s2n_strerror_debug(i32 noundef %4875, ptr noundef @.str.3)
  %4877 = call ptr @__errno_location() #11
  %4878 = load i32, ptr %4877, align 4, !tbaa !5
  %4879 = call ptr @strerror(i32 noundef %4878) #10
  %4880 = call ptr @__errno_location() #11
  %4881 = load i32, ptr %4880, align 4, !tbaa !5
  %4882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4869, ptr noundef @.str.4, i32 noundef %4870, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 305, ptr noundef %4873, ptr noundef %4876, ptr noundef %4879, i32 noundef %4881) #10
  br label %4883

4883:                                             ; preds = %4866, %4849
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #10
  br label %4884

4884:                                             ; preds = %4883
  br label %4885

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

4886:                                             ; No predecessors!
  br label %4887

4887:                                             ; preds = %4886
  br label %4888

4888:                                             ; preds = %4887, %4826
  br label %4889

4889:                                             ; preds = %4888
  br label %4890

4890:                                             ; preds = %4889
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #10
  store i32 10, ptr %124, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr %125) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %125, ptr align 16 @__const.main.results.42, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr %126) #10
  %4891 = getelementptr inbounds %struct.s2n_send_context, ptr %126, i32 0, i32 0
  store i64 0, ptr %4891, align 8, !tbaa !23
  %4892 = getelementptr inbounds %struct.s2n_send_context, ptr %126, i32 0, i32 1
  store i64 0, ptr %4892, align 8, !tbaa !25
  %4893 = getelementptr inbounds %struct.s2n_send_context, ptr %126, i32 0, i32 2
  %4894 = getelementptr inbounds [5 x %struct.s2n_send_result], ptr %125, i64 0, i64 0
  store ptr %4894, ptr %4893, align 8, !tbaa !26
  %4895 = getelementptr inbounds %struct.s2n_send_context, ptr %126, i32 0, i32 3
  store i64 5, ptr %4895, align 8, !tbaa !27
  br label %4896

4896:                                             ; preds = %4890
  %4897 = load i32, ptr @test_count, align 4, !tbaa !5
  %4898 = add nsw i32 %4897, 1
  store i32 %4898, ptr @test_count, align 4, !tbaa !5
  %4899 = load ptr, ptr %120, align 8, !tbaa !9
  %4900 = call i32 @s2n_connection_set_send_cb(ptr noundef %4899, ptr noundef @s2n_test_send_cb)
  %4901 = icmp eq i32 %4900, -1
  br i1 %4901, label %4902, label %4955

4902:                                             ; preds = %4896
  br label %4903

4903:                                             ; preds = %4902
  br label %4904

4904:                                             ; preds = %4903
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #10
  %4905 = call ptr @__errno_location() #11
  %4906 = load i32, ptr %4905, align 4, !tbaa !5
  store i32 %4906, ptr %127, align 4, !tbaa !5
  %4907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4908 = call i32 @s2n_print_stacktrace(ptr noundef %4907)
  %4909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4910 = trunc i8 %4909 to i1
  br i1 %4910, label %4911, label %4933

4911:                                             ; preds = %4904
  %4912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4913 = call i32 @fileno(ptr noundef %4912) #10
  %4914 = call i32 @isatty(i32 noundef %4913) #10
  %4915 = icmp ne i32 %4914, 0
  br i1 %4915, label %4916, label %4933

4916:                                             ; preds = %4911
  %4917 = load i32, ptr %127, align 4, !tbaa !5
  %4918 = call ptr @__errno_location() #11
  store i32 %4917, ptr %4918, align 4, !tbaa !5
  %4919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4920 = load i32, ptr @test_count, align 4, !tbaa !5
  %4921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4922 = load i32, ptr %4921, align 4, !tbaa !5
  %4923 = call ptr @s2n_strerror(i32 noundef %4922, ptr noundef @.str.3)
  %4924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4925 = load i32, ptr %4924, align 4, !tbaa !5
  %4926 = call ptr @s2n_strerror_debug(i32 noundef %4925, ptr noundef @.str.3)
  %4927 = call ptr @__errno_location() #11
  %4928 = load i32, ptr %4927, align 4, !tbaa !5
  %4929 = call ptr @strerror(i32 noundef %4928) #10
  %4930 = call ptr @__errno_location() #11
  %4931 = load i32, ptr %4930, align 4, !tbaa !5
  %4932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4919, ptr noundef @.str, i32 noundef %4920, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 316, ptr noundef %4923, ptr noundef %4926, ptr noundef %4929, i32 noundef %4931) #10
  br label %4950

4933:                                             ; preds = %4911, %4904
  %4934 = load i32, ptr %127, align 4, !tbaa !5
  %4935 = call ptr @__errno_location() #11
  store i32 %4934, ptr %4935, align 4, !tbaa !5
  %4936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4937 = load i32, ptr @test_count, align 4, !tbaa !5
  %4938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4939 = load i32, ptr %4938, align 4, !tbaa !5
  %4940 = call ptr @s2n_strerror(i32 noundef %4939, ptr noundef @.str.3)
  %4941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4942 = load i32, ptr %4941, align 4, !tbaa !5
  %4943 = call ptr @s2n_strerror_debug(i32 noundef %4942, ptr noundef @.str.3)
  %4944 = call ptr @__errno_location() #11
  %4945 = load i32, ptr %4944, align 4, !tbaa !5
  %4946 = call ptr @strerror(i32 noundef %4945) #10
  %4947 = call ptr @__errno_location() #11
  %4948 = load i32, ptr %4947, align 4, !tbaa !5
  %4949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4936, ptr noundef @.str.4, i32 noundef %4937, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 316, ptr noundef %4940, ptr noundef %4943, ptr noundef %4946, i32 noundef %4948) #10
  br label %4950

4950:                                             ; preds = %4933, %4916
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #10
  br label %4951

4951:                                             ; preds = %4950
  br label %4952

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

4953:                                             ; No predecessors!
  br label %4954

4954:                                             ; preds = %4953
  br label %4955

4955:                                             ; preds = %4954, %4896
  br label %4956

4956:                                             ; preds = %4955
  br label %4957

4957:                                             ; preds = %4956
  br label %4958

4958:                                             ; preds = %4957
  %4959 = load i32, ptr @test_count, align 4, !tbaa !5
  %4960 = add nsw i32 %4959, 1
  store i32 %4960, ptr @test_count, align 4, !tbaa !5
  %4961 = load ptr, ptr %120, align 8, !tbaa !9
  %4962 = call i32 @s2n_connection_set_send_ctx(ptr noundef %4961, ptr noundef %126)
  %4963 = icmp eq i32 %4962, -1
  br i1 %4963, label %4964, label %5017

4964:                                             ; preds = %4958
  br label %4965

4965:                                             ; preds = %4964
  br label %4966

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

4973:                                             ; preds = %4966
  %4974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4975 = call i32 @fileno(ptr noundef %4974) #10
  %4976 = call i32 @isatty(i32 noundef %4975) #10
  %4977 = icmp ne i32 %4976, 0
  br i1 %4977, label %4978, label %4995

4978:                                             ; preds = %4973
  %4979 = load i32, ptr %128, align 4, !tbaa !5
  %4980 = call ptr @__errno_location() #11
  store i32 %4979, ptr %4980, align 4, !tbaa !5
  %4981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4982 = load i32, ptr @test_count, align 4, !tbaa !5
  %4983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4984 = load i32, ptr %4983, align 4, !tbaa !5
  %4985 = call ptr @s2n_strerror(i32 noundef %4984, ptr noundef @.str.3)
  %4986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4987 = load i32, ptr %4986, align 4, !tbaa !5
  %4988 = call ptr @s2n_strerror_debug(i32 noundef %4987, ptr noundef @.str.3)
  %4989 = call ptr @__errno_location() #11
  %4990 = load i32, ptr %4989, align 4, !tbaa !5
  %4991 = call ptr @strerror(i32 noundef %4990) #10
  %4992 = call ptr @__errno_location() #11
  %4993 = load i32, ptr %4992, align 4, !tbaa !5
  %4994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4981, ptr noundef @.str, i32 noundef %4982, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 317, ptr noundef %4985, ptr noundef %4988, ptr noundef %4991, i32 noundef %4993) #10
  br label %5012

4995:                                             ; preds = %4973, %4966
  %4996 = load i32, ptr %128, align 4, !tbaa !5
  %4997 = call ptr @__errno_location() #11
  store i32 %4996, ptr %4997, align 4, !tbaa !5
  %4998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4999 = load i32, ptr @test_count, align 4, !tbaa !5
  %5000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5001 = load i32, ptr %5000, align 4, !tbaa !5
  %5002 = call ptr @s2n_strerror(i32 noundef %5001, ptr noundef @.str.3)
  %5003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5004 = load i32, ptr %5003, align 4, !tbaa !5
  %5005 = call ptr @s2n_strerror_debug(i32 noundef %5004, ptr noundef @.str.3)
  %5006 = call ptr @__errno_location() #11
  %5007 = load i32, ptr %5006, align 4, !tbaa !5
  %5008 = call ptr @strerror(i32 noundef %5007) #10
  %5009 = call ptr @__errno_location() #11
  %5010 = load i32, ptr %5009, align 4, !tbaa !5
  %5011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4998, ptr noundef @.str.4, i32 noundef %4999, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 317, ptr noundef %5002, ptr noundef %5005, ptr noundef %5008, i32 noundef %5010) #10
  br label %5012

5012:                                             ; preds = %4995, %4978
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #10
  br label %5013

5013:                                             ; preds = %5012
  br label %5014

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

5015:                                             ; No predecessors!
  br label %5016

5016:                                             ; preds = %5015
  br label %5017

5017:                                             ; preds = %5016, %4958
  br label %5018

5018:                                             ; preds = %5017
  br label %5019

5019:                                             ; preds = %5018
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #10
  store i32 0, ptr %129, align 4, !tbaa !5
  br label %5020

5020:                                             ; preds = %5019
  br label %5021

5021:                                             ; preds = %5020
  br label %5022

5022:                                             ; preds = %5021
  %5023 = load i32, ptr @test_count, align 4, !tbaa !5
  %5024 = add nsw i32 %5023, 1
  store i32 %5024, ptr @test_count, align 4, !tbaa !5
  %5025 = load ptr, ptr %120, align 8, !tbaa !9
  %5026 = getelementptr inbounds [12 x i8], ptr %9, i64 0, i64 0
  %5027 = call i64 @s2n_send(ptr noundef %5025, ptr noundef %5026, i64 noundef 12, ptr noundef %129)
  %5028 = icmp eq i64 %5027, -1
  br i1 %5028, label %5082, label %5029

5029:                                             ; preds = %5022
  br label %5030

5030:                                             ; preds = %5029
  br label %5031

5031:                                             ; preds = %5030
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #10
  %5032 = call ptr @__errno_location() #11
  %5033 = load i32, ptr %5032, align 4, !tbaa !5
  store i32 %5033, ptr %130, align 4, !tbaa !5
  %5034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5035 = call i32 @s2n_print_stacktrace(ptr noundef %5034)
  %5036 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5037 = trunc i8 %5036 to i1
  br i1 %5037, label %5038, label %5060

5038:                                             ; preds = %5031
  %5039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5040 = call i32 @fileno(ptr noundef %5039) #10
  %5041 = call i32 @isatty(i32 noundef %5040) #10
  %5042 = icmp ne i32 %5041, 0
  br i1 %5042, label %5043, label %5060

5043:                                             ; preds = %5038
  %5044 = load i32, ptr %130, align 4, !tbaa !5
  %5045 = call ptr @__errno_location() #11
  store i32 %5044, ptr %5045, align 4, !tbaa !5
  %5046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5047 = load i32, ptr @test_count, align 4, !tbaa !5
  %5048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5049 = load i32, ptr %5048, align 4, !tbaa !5
  %5050 = call ptr @s2n_strerror(i32 noundef %5049, ptr noundef @.str.3)
  %5051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5052 = load i32, ptr %5051, align 4, !tbaa !5
  %5053 = call ptr @s2n_strerror_debug(i32 noundef %5052, ptr noundef @.str.3)
  %5054 = call ptr @__errno_location() #11
  %5055 = load i32, ptr %5054, align 4, !tbaa !5
  %5056 = call ptr @strerror(i32 noundef %5055) #10
  %5057 = call ptr @__errno_location() #11
  %5058 = load i32, ptr %5057, align 4, !tbaa !5
  %5059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5046, ptr noundef @.str, i32 noundef %5047, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 322, ptr noundef %5050, ptr noundef %5053, ptr noundef %5056, i32 noundef %5058) #10
  br label %5077

5060:                                             ; preds = %5038, %5031
  %5061 = load i32, ptr %130, align 4, !tbaa !5
  %5062 = call ptr @__errno_location() #11
  store i32 %5061, ptr %5062, align 4, !tbaa !5
  %5063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5064 = load i32, ptr @test_count, align 4, !tbaa !5
  %5065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5066 = load i32, ptr %5065, align 4, !tbaa !5
  %5067 = call ptr @s2n_strerror(i32 noundef %5066, ptr noundef @.str.3)
  %5068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5069 = load i32, ptr %5068, align 4, !tbaa !5
  %5070 = call ptr @s2n_strerror_debug(i32 noundef %5069, ptr noundef @.str.3)
  %5071 = call ptr @__errno_location() #11
  %5072 = load i32, ptr %5071, align 4, !tbaa !5
  %5073 = call ptr @strerror(i32 noundef %5072) #10
  %5074 = call ptr @__errno_location() #11
  %5075 = load i32, ptr %5074, align 4, !tbaa !5
  %5076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5063, ptr noundef @.str.4, i32 noundef %5064, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 322, ptr noundef %5067, ptr noundef %5070, ptr noundef %5073, i32 noundef %5075) #10
  br label %5077

5077:                                             ; preds = %5060, %5043
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #10
  br label %5078

5078:                                             ; preds = %5077
  br label %5079

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

5080:                                             ; No predecessors!
  br label %5081

5081:                                             ; preds = %5080
  br label %5082

5082:                                             ; preds = %5081, %5022
  br label %5083

5083:                                             ; preds = %5082
  br label %5084

5084:                                             ; preds = %5083
  br label %5085

5085:                                             ; preds = %5084
  %5086 = load i32, ptr @test_count, align 4, !tbaa !5
  %5087 = add nsw i32 %5086, 1
  store i32 %5087, ptr @test_count, align 4, !tbaa !5
  %5088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5089 = load i32, ptr %5088, align 4, !tbaa !5
  %5090 = icmp eq i32 %5089, 201326592
  br i1 %5090, label %5144, label %5091

5091:                                             ; preds = %5085
  br label %5092

5092:                                             ; preds = %5091
  br label %5093

5093:                                             ; preds = %5092
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #10
  %5094 = call ptr @__errno_location() #11
  %5095 = load i32, ptr %5094, align 4, !tbaa !5
  store i32 %5095, ptr %131, align 4, !tbaa !5
  %5096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5097 = call i32 @s2n_print_stacktrace(ptr noundef %5096)
  %5098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5099 = trunc i8 %5098 to i1
  br i1 %5099, label %5100, label %5122

5100:                                             ; preds = %5093
  %5101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5102 = call i32 @fileno(ptr noundef %5101) #10
  %5103 = call i32 @isatty(i32 noundef %5102) #10
  %5104 = icmp ne i32 %5103, 0
  br i1 %5104, label %5105, label %5122

5105:                                             ; preds = %5100
  %5106 = load i32, ptr %131, align 4, !tbaa !5
  %5107 = call ptr @__errno_location() #11
  store i32 %5106, ptr %5107, align 4, !tbaa !5
  %5108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5109 = load i32, ptr @test_count, align 4, !tbaa !5
  %5110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5111 = load i32, ptr %5110, align 4, !tbaa !5
  %5112 = call ptr @s2n_strerror(i32 noundef %5111, ptr noundef @.str.3)
  %5113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5114 = load i32, ptr %5113, align 4, !tbaa !5
  %5115 = call ptr @s2n_strerror_debug(i32 noundef %5114, ptr noundef @.str.3)
  %5116 = call ptr @__errno_location() #11
  %5117 = load i32, ptr %5116, align 4, !tbaa !5
  %5118 = call ptr @strerror(i32 noundef %5117) #10
  %5119 = call ptr @__errno_location() #11
  %5120 = load i32, ptr %5119, align 4, !tbaa !5
  %5121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5108, ptr noundef @.str, i32 noundef %5109, ptr noundef @.str.43, ptr noundef @.str.2, i32 noundef 322, ptr noundef %5112, ptr noundef %5115, ptr noundef %5118, i32 noundef %5120) #10
  br label %5139

5122:                                             ; preds = %5100, %5093
  %5123 = load i32, ptr %131, align 4, !tbaa !5
  %5124 = call ptr @__errno_location() #11
  store i32 %5123, ptr %5124, align 4, !tbaa !5
  %5125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5126 = load i32, ptr @test_count, align 4, !tbaa !5
  %5127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5128 = load i32, ptr %5127, align 4, !tbaa !5
  %5129 = call ptr @s2n_strerror(i32 noundef %5128, ptr noundef @.str.3)
  %5130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5131 = load i32, ptr %5130, align 4, !tbaa !5
  %5132 = call ptr @s2n_strerror_debug(i32 noundef %5131, ptr noundef @.str.3)
  %5133 = call ptr @__errno_location() #11
  %5134 = load i32, ptr %5133, align 4, !tbaa !5
  %5135 = call ptr @strerror(i32 noundef %5134) #10
  %5136 = call ptr @__errno_location() #11
  %5137 = load i32, ptr %5136, align 4, !tbaa !5
  %5138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5125, ptr noundef @.str.4, i32 noundef %5126, ptr noundef @.str.43, ptr noundef @.str.2, i32 noundef 322, ptr noundef %5129, ptr noundef %5132, ptr noundef %5135, i32 noundef %5137) #10
  br label %5139

5139:                                             ; preds = %5122, %5105
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #10
  br label %5140

5140:                                             ; preds = %5139
  br label %5141

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

5142:                                             ; No predecessors!
  br label %5143

5143:                                             ; preds = %5142
  br label %5144

5144:                                             ; preds = %5143, %5085
  br label %5145

5145:                                             ; preds = %5144
  br label %5146

5146:                                             ; preds = %5145
  br label %5147

5147:                                             ; preds = %5146
  %5148 = load i32, ptr @test_count, align 4, !tbaa !5
  %5149 = add nsw i32 %5148, 1
  store i32 %5149, ptr @test_count, align 4, !tbaa !5
  %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.3)
  %5153 = icmp eq ptr %5152, null
  br i1 %5153, label %5154, label %5207

5154:                                             ; preds = %5147
  br label %5155

5155:                                             ; preds = %5154
  br label %5156

5156:                                             ; preds = %5155
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #10
  %5157 = call ptr @__errno_location() #11
  %5158 = load i32, ptr %5157, align 4, !tbaa !5
  store i32 %5158, ptr %132, align 4, !tbaa !5
  %5159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5160 = call i32 @s2n_print_stacktrace(ptr noundef %5159)
  %5161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5162 = trunc i8 %5161 to i1
  br i1 %5162, label %5163, label %5185

5163:                                             ; preds = %5156
  %5164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5165 = call i32 @fileno(ptr noundef %5164) #10
  %5166 = call i32 @isatty(i32 noundef %5165) #10
  %5167 = icmp ne i32 %5166, 0
  br i1 %5167, label %5168, label %5185

5168:                                             ; preds = %5163
  %5169 = load i32, ptr %132, align 4, !tbaa !5
  %5170 = call ptr @__errno_location() #11
  store i32 %5169, ptr %5170, align 4, !tbaa !5
  %5171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5172 = load i32, ptr @test_count, align 4, !tbaa !5
  %5173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5174 = load i32, ptr %5173, align 4, !tbaa !5
  %5175 = call ptr @s2n_strerror(i32 noundef %5174, ptr noundef @.str.3)
  %5176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5177 = load i32, ptr %5176, align 4, !tbaa !5
  %5178 = call ptr @s2n_strerror_debug(i32 noundef %5177, ptr noundef @.str.3)
  %5179 = call ptr @__errno_location() #11
  %5180 = load i32, ptr %5179, align 4, !tbaa !5
  %5181 = call ptr @strerror(i32 noundef %5180) #10
  %5182 = call ptr @__errno_location() #11
  %5183 = load i32, ptr %5182, align 4, !tbaa !5
  %5184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5171, ptr noundef @.str, i32 noundef %5172, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 322, ptr noundef %5175, ptr noundef %5178, ptr noundef %5181, i32 noundef %5183) #10
  br label %5202

5185:                                             ; preds = %5163, %5156
  %5186 = load i32, ptr %132, align 4, !tbaa !5
  %5187 = call ptr @__errno_location() #11
  store i32 %5186, ptr %5187, align 4, !tbaa !5
  %5188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5189 = load i32, ptr @test_count, align 4, !tbaa !5
  %5190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5191 = load i32, ptr %5190, align 4, !tbaa !5
  %5192 = call ptr @s2n_strerror(i32 noundef %5191, ptr noundef @.str.3)
  %5193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5194 = load i32, ptr %5193, align 4, !tbaa !5
  %5195 = call ptr @s2n_strerror_debug(i32 noundef %5194, ptr noundef @.str.3)
  %5196 = call ptr @__errno_location() #11
  %5197 = load i32, ptr %5196, align 4, !tbaa !5
  %5198 = call ptr @strerror(i32 noundef %5197) #10
  %5199 = call ptr @__errno_location() #11
  %5200 = load i32, ptr %5199, align 4, !tbaa !5
  %5201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5188, ptr noundef @.str.4, i32 noundef %5189, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 322, ptr noundef %5192, ptr noundef %5195, ptr noundef %5198, i32 noundef %5200) #10
  br label %5202

5202:                                             ; preds = %5185, %5168
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #10
  br label %5203

5203:                                             ; preds = %5202
  br label %5204

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

5205:                                             ; No predecessors!
  br label %5206

5206:                                             ; preds = %5205
  br label %5207

5207:                                             ; preds = %5206, %5147
  br label %5208

5208:                                             ; preds = %5207
  br label %5209

5209:                                             ; preds = %5208
  br label %5210

5210:                                             ; preds = %5209
  br label %5211

5211:                                             ; preds = %5210
  br label %5212

5212:                                             ; preds = %5211
  %5213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5213, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5214 = call ptr @__errno_location() #11
  store i32 0, ptr %5214, align 4, !tbaa !5
  br label %5215

5215:                                             ; preds = %5212
  br label %5216

5216:                                             ; preds = %5215
  br label %5217

5217:                                             ; preds = %5216
  br label %5218

5218:                                             ; preds = %5217
  br label %5219

5219:                                             ; preds = %5218
  %5220 = load i32, ptr @test_count, align 4, !tbaa !5
  %5221 = add nsw i32 %5220, 1
  store i32 %5221, ptr @test_count, align 4, !tbaa !5
  %5222 = load i32, ptr %129, align 4, !tbaa !5
  %5223 = icmp eq i32 %5222, 2
  br i1 %5223, label %5277, label %5224

5224:                                             ; preds = %5219
  br label %5225

5225:                                             ; preds = %5224
  br label %5226

5226:                                             ; preds = %5225
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #10
  %5227 = call ptr @__errno_location() #11
  %5228 = load i32, ptr %5227, align 4, !tbaa !5
  store i32 %5228, ptr %133, align 4, !tbaa !5
  %5229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5230 = call i32 @s2n_print_stacktrace(ptr noundef %5229)
  %5231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5232 = trunc i8 %5231 to i1
  br i1 %5232, label %5233, label %5255

5233:                                             ; preds = %5226
  %5234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5235 = call i32 @fileno(ptr noundef %5234) #10
  %5236 = call i32 @isatty(i32 noundef %5235) #10
  %5237 = icmp ne i32 %5236, 0
  br i1 %5237, label %5238, label %5255

5238:                                             ; preds = %5233
  %5239 = load i32, ptr %133, align 4, !tbaa !5
  %5240 = call ptr @__errno_location() #11
  store i32 %5239, ptr %5240, align 4, !tbaa !5
  %5241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5242 = load i32, ptr @test_count, align 4, !tbaa !5
  %5243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5244 = load i32, ptr %5243, align 4, !tbaa !5
  %5245 = call ptr @s2n_strerror(i32 noundef %5244, ptr noundef @.str.3)
  %5246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5247 = load i32, ptr %5246, align 4, !tbaa !5
  %5248 = call ptr @s2n_strerror_debug(i32 noundef %5247, ptr noundef @.str.3)
  %5249 = call ptr @__errno_location() #11
  %5250 = load i32, ptr %5249, align 4, !tbaa !5
  %5251 = call ptr @strerror(i32 noundef %5250) #10
  %5252 = call ptr @__errno_location() #11
  %5253 = load i32, ptr %5252, align 4, !tbaa !5
  %5254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5241, ptr noundef @.str, i32 noundef %5242, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 323, ptr noundef %5245, ptr noundef %5248, ptr noundef %5251, i32 noundef %5253) #10
  br label %5272

5255:                                             ; preds = %5233, %5226
  %5256 = load i32, ptr %133, align 4, !tbaa !5
  %5257 = call ptr @__errno_location() #11
  store i32 %5256, ptr %5257, align 4, !tbaa !5
  %5258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5259 = load i32, ptr @test_count, align 4, !tbaa !5
  %5260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5261 = load i32, ptr %5260, align 4, !tbaa !5
  %5262 = call ptr @s2n_strerror(i32 noundef %5261, ptr noundef @.str.3)
  %5263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5264 = load i32, ptr %5263, align 4, !tbaa !5
  %5265 = call ptr @s2n_strerror_debug(i32 noundef %5264, ptr noundef @.str.3)
  %5266 = call ptr @__errno_location() #11
  %5267 = load i32, ptr %5266, align 4, !tbaa !5
  %5268 = call ptr @strerror(i32 noundef %5267) #10
  %5269 = call ptr @__errno_location() #11
  %5270 = load i32, ptr %5269, align 4, !tbaa !5
  %5271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5258, ptr noundef @.str.4, i32 noundef %5259, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 323, ptr noundef %5262, ptr noundef %5265, ptr noundef %5268, i32 noundef %5270) #10
  br label %5272

5272:                                             ; preds = %5255, %5238
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #10
  br label %5273

5273:                                             ; preds = %5272
  br label %5274

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

5275:                                             ; No predecessors!
  br label %5276

5276:                                             ; preds = %5275
  br label %5277

5277:                                             ; preds = %5276, %5219
  br label %5278

5278:                                             ; preds = %5277
  br label %5279

5279:                                             ; preds = %5278
  br label %5280

5280:                                             ; preds = %5279
  %5281 = load i32, ptr @test_count, align 4, !tbaa !5
  %5282 = add nsw i32 %5281, 1
  store i32 %5282, ptr @test_count, align 4, !tbaa !5
  %5283 = getelementptr inbounds %struct.s2n_send_context, ptr %126, i32 0, i32 1
  %5284 = load i64, ptr %5283, align 8, !tbaa !25
  %5285 = icmp eq i64 %5284, 10
  br i1 %5285, label %5339, label %5286

5286:                                             ; preds = %5280
  br label %5287

5287:                                             ; preds = %5286
  br label %5288

5288:                                             ; preds = %5287
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #10
  %5289 = call ptr @__errno_location() #11
  %5290 = load i32, ptr %5289, align 4, !tbaa !5
  store i32 %5290, ptr %134, align 4, !tbaa !5
  %5291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5292 = call i32 @s2n_print_stacktrace(ptr noundef %5291)
  %5293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5294 = trunc i8 %5293 to i1
  br i1 %5294, label %5295, label %5317

5295:                                             ; preds = %5288
  %5296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5297 = call i32 @fileno(ptr noundef %5296) #10
  %5298 = call i32 @isatty(i32 noundef %5297) #10
  %5299 = icmp ne i32 %5298, 0
  br i1 %5299, label %5300, label %5317

5300:                                             ; preds = %5295
  %5301 = load i32, ptr %134, align 4, !tbaa !5
  %5302 = call ptr @__errno_location() #11
  store i32 %5301, ptr %5302, align 4, !tbaa !5
  %5303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5304 = load i32, ptr @test_count, align 4, !tbaa !5
  %5305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5306 = load i32, ptr %5305, align 4, !tbaa !5
  %5307 = call ptr @s2n_strerror(i32 noundef %5306, ptr noundef @.str.3)
  %5308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5309 = load i32, ptr %5308, align 4, !tbaa !5
  %5310 = call ptr @s2n_strerror_debug(i32 noundef %5309, ptr noundef @.str.3)
  %5311 = call ptr @__errno_location() #11
  %5312 = load i32, ptr %5311, align 4, !tbaa !5
  %5313 = call ptr @strerror(i32 noundef %5312) #10
  %5314 = call ptr @__errno_location() #11
  %5315 = load i32, ptr %5314, align 4, !tbaa !5
  %5316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5303, ptr noundef @.str, i32 noundef %5304, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 324, ptr noundef %5307, ptr noundef %5310, ptr noundef %5313, i32 noundef %5315) #10
  br label %5334

5317:                                             ; preds = %5295, %5288
  %5318 = load i32, ptr %134, align 4, !tbaa !5
  %5319 = call ptr @__errno_location() #11
  store i32 %5318, ptr %5319, align 4, !tbaa !5
  %5320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5321 = load i32, ptr @test_count, align 4, !tbaa !5
  %5322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5323 = load i32, ptr %5322, align 4, !tbaa !5
  %5324 = call ptr @s2n_strerror(i32 noundef %5323, ptr noundef @.str.3)
  %5325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5326 = load i32, ptr %5325, align 4, !tbaa !5
  %5327 = call ptr @s2n_strerror_debug(i32 noundef %5326, ptr noundef @.str.3)
  %5328 = call ptr @__errno_location() #11
  %5329 = load i32, ptr %5328, align 4, !tbaa !5
  %5330 = call ptr @strerror(i32 noundef %5329) #10
  %5331 = call ptr @__errno_location() #11
  %5332 = load i32, ptr %5331, align 4, !tbaa !5
  %5333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5320, ptr noundef @.str.4, i32 noundef %5321, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 324, ptr noundef %5324, ptr noundef %5327, ptr noundef %5330, i32 noundef %5332) #10
  br label %5334

5334:                                             ; preds = %5317, %5300
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #10
  br label %5335

5335:                                             ; preds = %5334
  br label %5336

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

5337:                                             ; No predecessors!
  br label %5338

5338:                                             ; preds = %5337
  br label %5339

5339:                                             ; preds = %5338, %5280
  br label %5340

5340:                                             ; preds = %5339
  br label %5341

5341:                                             ; preds = %5340
  br label %5342

5342:                                             ; preds = %5341
  br label %5343

5343:                                             ; preds = %5342
  br label %5344

5344:                                             ; preds = %5343
  %5345 = load i32, ptr @test_count, align 4, !tbaa !5
  %5346 = add nsw i32 %5345, 1
  store i32 %5346, ptr @test_count, align 4, !tbaa !5
  %5347 = load ptr, ptr %120, align 8, !tbaa !9
  %5348 = getelementptr inbounds [12 x i8], ptr %9, i64 0, i64 0
  %5349 = call i64 @s2n_send(ptr noundef %5347, ptr noundef %5348, i64 noundef 12, ptr noundef %129)
  %5350 = icmp eq i64 %5349, -1
  br i1 %5350, label %5404, label %5351

5351:                                             ; preds = %5344
  br label %5352

5352:                                             ; preds = %5351
  br label %5353

5353:                                             ; preds = %5352
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #10
  %5354 = call ptr @__errno_location() #11
  %5355 = load i32, ptr %5354, align 4, !tbaa !5
  store i32 %5355, ptr %135, align 4, !tbaa !5
  %5356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5357 = call i32 @s2n_print_stacktrace(ptr noundef %5356)
  %5358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5359 = trunc i8 %5358 to i1
  br i1 %5359, label %5360, label %5382

5360:                                             ; preds = %5353
  %5361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5362 = call i32 @fileno(ptr noundef %5361) #10
  %5363 = call i32 @isatty(i32 noundef %5362) #10
  %5364 = icmp ne i32 %5363, 0
  br i1 %5364, label %5365, label %5382

5365:                                             ; preds = %5360
  %5366 = load i32, ptr %135, align 4, !tbaa !5
  %5367 = call ptr @__errno_location() #11
  store i32 %5366, ptr %5367, align 4, !tbaa !5
  %5368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5369 = load i32, ptr @test_count, align 4, !tbaa !5
  %5370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5371 = load i32, ptr %5370, align 4, !tbaa !5
  %5372 = call ptr @s2n_strerror(i32 noundef %5371, ptr noundef @.str.3)
  %5373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5374 = load i32, ptr %5373, align 4, !tbaa !5
  %5375 = call ptr @s2n_strerror_debug(i32 noundef %5374, ptr noundef @.str.3)
  %5376 = call ptr @__errno_location() #11
  %5377 = load i32, ptr %5376, align 4, !tbaa !5
  %5378 = call ptr @strerror(i32 noundef %5377) #10
  %5379 = call ptr @__errno_location() #11
  %5380 = load i32, ptr %5379, align 4, !tbaa !5
  %5381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5368, ptr noundef @.str, i32 noundef %5369, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 327, ptr noundef %5372, ptr noundef %5375, ptr noundef %5378, i32 noundef %5380) #10
  br label %5399

5382:                                             ; preds = %5360, %5353
  %5383 = load i32, ptr %135, align 4, !tbaa !5
  %5384 = call ptr @__errno_location() #11
  store i32 %5383, ptr %5384, align 4, !tbaa !5
  %5385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5386 = load i32, ptr @test_count, align 4, !tbaa !5
  %5387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5388 = load i32, ptr %5387, align 4, !tbaa !5
  %5389 = call ptr @s2n_strerror(i32 noundef %5388, ptr noundef @.str.3)
  %5390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5391 = load i32, ptr %5390, align 4, !tbaa !5
  %5392 = call ptr @s2n_strerror_debug(i32 noundef %5391, ptr noundef @.str.3)
  %5393 = call ptr @__errno_location() #11
  %5394 = load i32, ptr %5393, align 4, !tbaa !5
  %5395 = call ptr @strerror(i32 noundef %5394) #10
  %5396 = call ptr @__errno_location() #11
  %5397 = load i32, ptr %5396, align 4, !tbaa !5
  %5398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5385, ptr noundef @.str.4, i32 noundef %5386, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 327, ptr noundef %5389, ptr noundef %5392, ptr noundef %5395, i32 noundef %5397) #10
  br label %5399

5399:                                             ; preds = %5382, %5365
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #10
  br label %5400

5400:                                             ; preds = %5399
  br label %5401

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

5402:                                             ; No predecessors!
  br label %5403

5403:                                             ; preds = %5402
  br label %5404

5404:                                             ; preds = %5403, %5344
  br label %5405

5405:                                             ; preds = %5404
  br label %5406

5406:                                             ; preds = %5405
  br label %5407

5407:                                             ; preds = %5406
  %5408 = load i32, ptr @test_count, align 4, !tbaa !5
  %5409 = add nsw i32 %5408, 1
  store i32 %5409, ptr @test_count, align 4, !tbaa !5
  %5410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5411 = load i32, ptr %5410, align 4, !tbaa !5
  %5412 = icmp eq i32 %5411, 201326592
  br i1 %5412, label %5466, label %5413

5413:                                             ; preds = %5407
  br label %5414

5414:                                             ; preds = %5413
  br label %5415

5415:                                             ; preds = %5414
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #10
  %5416 = call ptr @__errno_location() #11
  %5417 = load i32, ptr %5416, align 4, !tbaa !5
  store i32 %5417, ptr %136, align 4, !tbaa !5
  %5418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5419 = call i32 @s2n_print_stacktrace(ptr noundef %5418)
  %5420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5421 = trunc i8 %5420 to i1
  br i1 %5421, label %5422, label %5444

5422:                                             ; preds = %5415
  %5423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5424 = call i32 @fileno(ptr noundef %5423) #10
  %5425 = call i32 @isatty(i32 noundef %5424) #10
  %5426 = icmp ne i32 %5425, 0
  br i1 %5426, label %5427, label %5444

5427:                                             ; preds = %5422
  %5428 = load i32, ptr %136, align 4, !tbaa !5
  %5429 = call ptr @__errno_location() #11
  store i32 %5428, ptr %5429, align 4, !tbaa !5
  %5430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5431 = load i32, ptr @test_count, align 4, !tbaa !5
  %5432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5433 = load i32, ptr %5432, align 4, !tbaa !5
  %5434 = call ptr @s2n_strerror(i32 noundef %5433, ptr noundef @.str.3)
  %5435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5436 = load i32, ptr %5435, align 4, !tbaa !5
  %5437 = call ptr @s2n_strerror_debug(i32 noundef %5436, ptr noundef @.str.3)
  %5438 = call ptr @__errno_location() #11
  %5439 = load i32, ptr %5438, align 4, !tbaa !5
  %5440 = call ptr @strerror(i32 noundef %5439) #10
  %5441 = call ptr @__errno_location() #11
  %5442 = load i32, ptr %5441, align 4, !tbaa !5
  %5443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5430, ptr noundef @.str, i32 noundef %5431, ptr noundef @.str.43, ptr noundef @.str.2, i32 noundef 327, ptr noundef %5434, ptr noundef %5437, ptr noundef %5440, i32 noundef %5442) #10
  br label %5461

5444:                                             ; preds = %5422, %5415
  %5445 = load i32, ptr %136, align 4, !tbaa !5
  %5446 = call ptr @__errno_location() #11
  store i32 %5445, ptr %5446, align 4, !tbaa !5
  %5447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5448 = load i32, ptr @test_count, align 4, !tbaa !5
  %5449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5450 = load i32, ptr %5449, align 4, !tbaa !5
  %5451 = call ptr @s2n_strerror(i32 noundef %5450, ptr noundef @.str.3)
  %5452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5453 = load i32, ptr %5452, align 4, !tbaa !5
  %5454 = call ptr @s2n_strerror_debug(i32 noundef %5453, ptr noundef @.str.3)
  %5455 = call ptr @__errno_location() #11
  %5456 = load i32, ptr %5455, align 4, !tbaa !5
  %5457 = call ptr @strerror(i32 noundef %5456) #10
  %5458 = call ptr @__errno_location() #11
  %5459 = load i32, ptr %5458, align 4, !tbaa !5
  %5460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5447, ptr noundef @.str.4, i32 noundef %5448, ptr noundef @.str.43, ptr noundef @.str.2, i32 noundef 327, ptr noundef %5451, ptr noundef %5454, ptr noundef %5457, i32 noundef %5459) #10
  br label %5461

5461:                                             ; preds = %5444, %5427
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #10
  br label %5462

5462:                                             ; preds = %5461
  br label %5463

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

5464:                                             ; No predecessors!
  br label %5465

5465:                                             ; preds = %5464
  br label %5466

5466:                                             ; preds = %5465, %5407
  br label %5467

5467:                                             ; preds = %5466
  br label %5468

5468:                                             ; preds = %5467
  br label %5469

5469:                                             ; preds = %5468
  %5470 = load i32, ptr @test_count, align 4, !tbaa !5
  %5471 = add nsw i32 %5470, 1
  store i32 %5471, ptr @test_count, align 4, !tbaa !5
  %5472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5473 = load i32, ptr %5472, align 4, !tbaa !5
  %5474 = call ptr @s2n_strerror_debug(i32 noundef %5473, ptr noundef @.str.3)
  %5475 = icmp eq ptr %5474, null
  br i1 %5475, label %5476, label %5529

5476:                                             ; preds = %5469
  br label %5477

5477:                                             ; preds = %5476
  br label %5478

5478:                                             ; preds = %5477
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #10
  %5479 = call ptr @__errno_location() #11
  %5480 = load i32, ptr %5479, align 4, !tbaa !5
  store i32 %5480, ptr %137, align 4, !tbaa !5
  %5481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5482 = call i32 @s2n_print_stacktrace(ptr noundef %5481)
  %5483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5484 = trunc i8 %5483 to i1
  br i1 %5484, label %5485, label %5507

5485:                                             ; preds = %5478
  %5486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5487 = call i32 @fileno(ptr noundef %5486) #10
  %5488 = call i32 @isatty(i32 noundef %5487) #10
  %5489 = icmp ne i32 %5488, 0
  br i1 %5489, label %5490, label %5507

5490:                                             ; preds = %5485
  %5491 = load i32, ptr %137, align 4, !tbaa !5
  %5492 = call ptr @__errno_location() #11
  store i32 %5491, ptr %5492, align 4, !tbaa !5
  %5493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5494 = load i32, ptr @test_count, align 4, !tbaa !5
  %5495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5496 = load i32, ptr %5495, align 4, !tbaa !5
  %5497 = call ptr @s2n_strerror(i32 noundef %5496, ptr noundef @.str.3)
  %5498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5499 = load i32, ptr %5498, align 4, !tbaa !5
  %5500 = call ptr @s2n_strerror_debug(i32 noundef %5499, ptr noundef @.str.3)
  %5501 = call ptr @__errno_location() #11
  %5502 = load i32, ptr %5501, align 4, !tbaa !5
  %5503 = call ptr @strerror(i32 noundef %5502) #10
  %5504 = call ptr @__errno_location() #11
  %5505 = load i32, ptr %5504, align 4, !tbaa !5
  %5506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5493, ptr noundef @.str, i32 noundef %5494, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 327, ptr noundef %5497, ptr noundef %5500, ptr noundef %5503, i32 noundef %5505) #10
  br label %5524

5507:                                             ; preds = %5485, %5478
  %5508 = load i32, ptr %137, align 4, !tbaa !5
  %5509 = call ptr @__errno_location() #11
  store i32 %5508, ptr %5509, align 4, !tbaa !5
  %5510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5511 = load i32, ptr @test_count, align 4, !tbaa !5
  %5512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5513 = load i32, ptr %5512, align 4, !tbaa !5
  %5514 = call ptr @s2n_strerror(i32 noundef %5513, ptr noundef @.str.3)
  %5515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5516 = load i32, ptr %5515, align 4, !tbaa !5
  %5517 = call ptr @s2n_strerror_debug(i32 noundef %5516, ptr noundef @.str.3)
  %5518 = call ptr @__errno_location() #11
  %5519 = load i32, ptr %5518, align 4, !tbaa !5
  %5520 = call ptr @strerror(i32 noundef %5519) #10
  %5521 = call ptr @__errno_location() #11
  %5522 = load i32, ptr %5521, align 4, !tbaa !5
  %5523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5510, ptr noundef @.str.4, i32 noundef %5511, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 327, ptr noundef %5514, ptr noundef %5517, ptr noundef %5520, i32 noundef %5522) #10
  br label %5524

5524:                                             ; preds = %5507, %5490
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #10
  br label %5525

5525:                                             ; preds = %5524
  br label %5526

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

5527:                                             ; No predecessors!
  br label %5528

5528:                                             ; preds = %5527
  br label %5529

5529:                                             ; preds = %5528, %5469
  br label %5530

5530:                                             ; preds = %5529
  br label %5531

5531:                                             ; preds = %5530
  br label %5532

5532:                                             ; preds = %5531
  br label %5533

5533:                                             ; preds = %5532
  br label %5534

5534:                                             ; preds = %5533
  %5535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5535, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5536 = call ptr @__errno_location() #11
  store i32 0, ptr %5536, align 4, !tbaa !5
  br label %5537

5537:                                             ; preds = %5534
  br label %5538

5538:                                             ; preds = %5537
  br label %5539

5539:                                             ; preds = %5538
  br label %5540

5540:                                             ; preds = %5539
  br label %5541

5541:                                             ; preds = %5540
  %5542 = load i32, ptr @test_count, align 4, !tbaa !5
  %5543 = add nsw i32 %5542, 1
  store i32 %5543, ptr @test_count, align 4, !tbaa !5
  %5544 = load i32, ptr %129, align 4, !tbaa !5
  %5545 = icmp eq i32 %5544, 2
  br i1 %5545, label %5599, label %5546

5546:                                             ; preds = %5541
  br label %5547

5547:                                             ; preds = %5546
  br label %5548

5548:                                             ; preds = %5547
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #10
  %5549 = call ptr @__errno_location() #11
  %5550 = load i32, ptr %5549, align 4, !tbaa !5
  store i32 %5550, ptr %138, align 4, !tbaa !5
  %5551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5552 = call i32 @s2n_print_stacktrace(ptr noundef %5551)
  %5553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5554 = trunc i8 %5553 to i1
  br i1 %5554, label %5555, label %5577

5555:                                             ; preds = %5548
  %5556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5557 = call i32 @fileno(ptr noundef %5556) #10
  %5558 = call i32 @isatty(i32 noundef %5557) #10
  %5559 = icmp ne i32 %5558, 0
  br i1 %5559, label %5560, label %5577

5560:                                             ; preds = %5555
  %5561 = load i32, ptr %138, align 4, !tbaa !5
  %5562 = call ptr @__errno_location() #11
  store i32 %5561, ptr %5562, align 4, !tbaa !5
  %5563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5564 = load i32, ptr @test_count, align 4, !tbaa !5
  %5565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5566 = load i32, ptr %5565, align 4, !tbaa !5
  %5567 = call ptr @s2n_strerror(i32 noundef %5566, ptr noundef @.str.3)
  %5568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5569 = load i32, ptr %5568, align 4, !tbaa !5
  %5570 = call ptr @s2n_strerror_debug(i32 noundef %5569, ptr noundef @.str.3)
  %5571 = call ptr @__errno_location() #11
  %5572 = load i32, ptr %5571, align 4, !tbaa !5
  %5573 = call ptr @strerror(i32 noundef %5572) #10
  %5574 = call ptr @__errno_location() #11
  %5575 = load i32, ptr %5574, align 4, !tbaa !5
  %5576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5563, ptr noundef @.str, i32 noundef %5564, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 328, ptr noundef %5567, ptr noundef %5570, ptr noundef %5573, i32 noundef %5575) #10
  br label %5594

5577:                                             ; preds = %5555, %5548
  %5578 = load i32, ptr %138, align 4, !tbaa !5
  %5579 = call ptr @__errno_location() #11
  store i32 %5578, ptr %5579, align 4, !tbaa !5
  %5580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5581 = load i32, ptr @test_count, align 4, !tbaa !5
  %5582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5583 = load i32, ptr %5582, align 4, !tbaa !5
  %5584 = call ptr @s2n_strerror(i32 noundef %5583, ptr noundef @.str.3)
  %5585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5586 = load i32, ptr %5585, align 4, !tbaa !5
  %5587 = call ptr @s2n_strerror_debug(i32 noundef %5586, ptr noundef @.str.3)
  %5588 = call ptr @__errno_location() #11
  %5589 = load i32, ptr %5588, align 4, !tbaa !5
  %5590 = call ptr @strerror(i32 noundef %5589) #10
  %5591 = call ptr @__errno_location() #11
  %5592 = load i32, ptr %5591, align 4, !tbaa !5
  %5593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5580, ptr noundef @.str.4, i32 noundef %5581, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 328, ptr noundef %5584, ptr noundef %5587, ptr noundef %5590, i32 noundef %5592) #10
  br label %5594

5594:                                             ; preds = %5577, %5560
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #10
  br label %5595

5595:                                             ; preds = %5594
  br label %5596

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

5597:                                             ; No predecessors!
  br label %5598

5598:                                             ; preds = %5597
  br label %5599

5599:                                             ; preds = %5598, %5541
  br label %5600

5600:                                             ; preds = %5599
  br label %5601

5601:                                             ; preds = %5600
  br label %5602

5602:                                             ; preds = %5601
  %5603 = load i32, ptr @test_count, align 4, !tbaa !5
  %5604 = add nsw i32 %5603, 1
  store i32 %5604, ptr @test_count, align 4, !tbaa !5
  %5605 = getelementptr inbounds %struct.s2n_send_context, ptr %126, i32 0, i32 1
  %5606 = load i64, ptr %5605, align 8, !tbaa !25
  %5607 = icmp eq i64 %5606, 20
  br i1 %5607, label %5661, label %5608

5608:                                             ; preds = %5602
  br label %5609

5609:                                             ; preds = %5608
  br label %5610

5610:                                             ; preds = %5609
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #10
  %5611 = call ptr @__errno_location() #11
  %5612 = load i32, ptr %5611, align 4, !tbaa !5
  store i32 %5612, ptr %139, align 4, !tbaa !5
  %5613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5614 = call i32 @s2n_print_stacktrace(ptr noundef %5613)
  %5615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5616 = trunc i8 %5615 to i1
  br i1 %5616, label %5617, label %5639

5617:                                             ; preds = %5610
  %5618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5619 = call i32 @fileno(ptr noundef %5618) #10
  %5620 = call i32 @isatty(i32 noundef %5619) #10
  %5621 = icmp ne i32 %5620, 0
  br i1 %5621, label %5622, label %5639

5622:                                             ; preds = %5617
  %5623 = load i32, ptr %139, align 4, !tbaa !5
  %5624 = call ptr @__errno_location() #11
  store i32 %5623, ptr %5624, align 4, !tbaa !5
  %5625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5626 = load i32, ptr @test_count, align 4, !tbaa !5
  %5627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5628 = load i32, ptr %5627, align 4, !tbaa !5
  %5629 = call ptr @s2n_strerror(i32 noundef %5628, ptr noundef @.str.3)
  %5630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5631 = load i32, ptr %5630, align 4, !tbaa !5
  %5632 = call ptr @s2n_strerror_debug(i32 noundef %5631, ptr noundef @.str.3)
  %5633 = call ptr @__errno_location() #11
  %5634 = load i32, ptr %5633, align 4, !tbaa !5
  %5635 = call ptr @strerror(i32 noundef %5634) #10
  %5636 = call ptr @__errno_location() #11
  %5637 = load i32, ptr %5636, align 4, !tbaa !5
  %5638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5625, ptr noundef @.str, i32 noundef %5626, ptr noundef @.str.45, ptr noundef @.str.2, i32 noundef 329, ptr noundef %5629, ptr noundef %5632, ptr noundef %5635, i32 noundef %5637) #10
  br label %5656

5639:                                             ; preds = %5617, %5610
  %5640 = load i32, ptr %139, align 4, !tbaa !5
  %5641 = call ptr @__errno_location() #11
  store i32 %5640, ptr %5641, align 4, !tbaa !5
  %5642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5643 = load i32, ptr @test_count, align 4, !tbaa !5
  %5644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5645 = load i32, ptr %5644, align 4, !tbaa !5
  %5646 = call ptr @s2n_strerror(i32 noundef %5645, ptr noundef @.str.3)
  %5647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5648 = load i32, ptr %5647, align 4, !tbaa !5
  %5649 = call ptr @s2n_strerror_debug(i32 noundef %5648, ptr noundef @.str.3)
  %5650 = call ptr @__errno_location() #11
  %5651 = load i32, ptr %5650, align 4, !tbaa !5
  %5652 = call ptr @strerror(i32 noundef %5651) #10
  %5653 = call ptr @__errno_location() #11
  %5654 = load i32, ptr %5653, align 4, !tbaa !5
  %5655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5642, ptr noundef @.str.4, i32 noundef %5643, ptr noundef @.str.45, ptr noundef @.str.2, i32 noundef 329, ptr noundef %5646, ptr noundef %5649, ptr noundef %5652, i32 noundef %5654) #10
  br label %5656

5656:                                             ; preds = %5639, %5622
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #10
  br label %5657

5657:                                             ; preds = %5656
  br label %5658

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

5659:                                             ; No predecessors!
  br label %5660

5660:                                             ; preds = %5659
  br label %5661

5661:                                             ; preds = %5660, %5602
  br label %5662

5662:                                             ; preds = %5661
  br label %5663

5663:                                             ; preds = %5662
  br label %5664

5664:                                             ; preds = %5663
  %5665 = load i32, ptr @test_count, align 4, !tbaa !5
  %5666 = add nsw i32 %5665, 1
  store i32 %5666, ptr @test_count, align 4, !tbaa !5
  %5667 = load ptr, ptr %120, align 8, !tbaa !9
  %5668 = getelementptr inbounds [12 x i8], ptr %9, i64 0, i64 0
  %5669 = call i64 @s2n_send(ptr noundef %5667, ptr noundef %5668, i64 noundef 12, ptr noundef %129)
  %5670 = icmp eq i64 %5669, 12
  br i1 %5670, label %5724, label %5671

5671:                                             ; preds = %5664
  br label %5672

5672:                                             ; preds = %5671
  br label %5673

5673:                                             ; preds = %5672
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #10
  %5674 = call ptr @__errno_location() #11
  %5675 = load i32, ptr %5674, align 4, !tbaa !5
  store i32 %5675, ptr %140, align 4, !tbaa !5
  %5676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5677 = call i32 @s2n_print_stacktrace(ptr noundef %5676)
  %5678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5679 = trunc i8 %5678 to i1
  br i1 %5679, label %5680, label %5702

5680:                                             ; preds = %5673
  %5681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5682 = call i32 @fileno(ptr noundef %5681) #10
  %5683 = call i32 @isatty(i32 noundef %5682) #10
  %5684 = icmp ne i32 %5683, 0
  br i1 %5684, label %5685, label %5702

5685:                                             ; preds = %5680
  %5686 = load i32, ptr %140, align 4, !tbaa !5
  %5687 = call ptr @__errno_location() #11
  store i32 %5686, ptr %5687, align 4, !tbaa !5
  %5688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5689 = load i32, ptr @test_count, align 4, !tbaa !5
  %5690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5691 = load i32, ptr %5690, align 4, !tbaa !5
  %5692 = call ptr @s2n_strerror(i32 noundef %5691, ptr noundef @.str.3)
  %5693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5694 = load i32, ptr %5693, align 4, !tbaa !5
  %5695 = call ptr @s2n_strerror_debug(i32 noundef %5694, ptr noundef @.str.3)
  %5696 = call ptr @__errno_location() #11
  %5697 = load i32, ptr %5696, align 4, !tbaa !5
  %5698 = call ptr @strerror(i32 noundef %5697) #10
  %5699 = call ptr @__errno_location() #11
  %5700 = load i32, ptr %5699, align 4, !tbaa !5
  %5701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5688, ptr noundef @.str, i32 noundef %5689, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 332, ptr noundef %5692, ptr noundef %5695, ptr noundef %5698, i32 noundef %5700) #10
  br label %5719

5702:                                             ; preds = %5680, %5673
  %5703 = load i32, ptr %140, align 4, !tbaa !5
  %5704 = call ptr @__errno_location() #11
  store i32 %5703, ptr %5704, align 4, !tbaa !5
  %5705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5706 = load i32, ptr @test_count, align 4, !tbaa !5
  %5707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5708 = load i32, ptr %5707, align 4, !tbaa !5
  %5709 = call ptr @s2n_strerror(i32 noundef %5708, ptr noundef @.str.3)
  %5710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5711 = load i32, ptr %5710, align 4, !tbaa !5
  %5712 = call ptr @s2n_strerror_debug(i32 noundef %5711, ptr noundef @.str.3)
  %5713 = call ptr @__errno_location() #11
  %5714 = load i32, ptr %5713, align 4, !tbaa !5
  %5715 = call ptr @strerror(i32 noundef %5714) #10
  %5716 = call ptr @__errno_location() #11
  %5717 = load i32, ptr %5716, align 4, !tbaa !5
  %5718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5705, ptr noundef @.str.4, i32 noundef %5706, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 332, ptr noundef %5709, ptr noundef %5712, ptr noundef %5715, i32 noundef %5717) #10
  br label %5719

5719:                                             ; preds = %5702, %5685
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #10
  br label %5720

5720:                                             ; preds = %5719
  br label %5721

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

5722:                                             ; No predecessors!
  br label %5723

5723:                                             ; preds = %5722
  br label %5724

5724:                                             ; preds = %5723, %5664
  br label %5725

5725:                                             ; preds = %5724
  br label %5726

5726:                                             ; preds = %5725
  br label %5727

5727:                                             ; preds = %5726
  %5728 = load i32, ptr @test_count, align 4, !tbaa !5
  %5729 = add nsw i32 %5728, 1
  store i32 %5729, ptr @test_count, align 4, !tbaa !5
  %5730 = load i32, ptr %129, align 4, !tbaa !5
  %5731 = icmp eq i32 %5730, 0
  br i1 %5731, label %5785, label %5732

5732:                                             ; preds = %5727
  br label %5733

5733:                                             ; preds = %5732
  br label %5734

5734:                                             ; preds = %5733
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #10
  %5735 = call ptr @__errno_location() #11
  %5736 = load i32, ptr %5735, align 4, !tbaa !5
  store i32 %5736, ptr %141, align 4, !tbaa !5
  %5737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5738 = call i32 @s2n_print_stacktrace(ptr noundef %5737)
  %5739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5740 = trunc i8 %5739 to i1
  br i1 %5740, label %5741, label %5763

5741:                                             ; preds = %5734
  %5742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5743 = call i32 @fileno(ptr noundef %5742) #10
  %5744 = call i32 @isatty(i32 noundef %5743) #10
  %5745 = icmp ne i32 %5744, 0
  br i1 %5745, label %5746, label %5763

5746:                                             ; preds = %5741
  %5747 = load i32, ptr %141, align 4, !tbaa !5
  %5748 = call ptr @__errno_location() #11
  store i32 %5747, ptr %5748, align 4, !tbaa !5
  %5749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5750 = load i32, ptr @test_count, align 4, !tbaa !5
  %5751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5752 = load i32, ptr %5751, align 4, !tbaa !5
  %5753 = call ptr @s2n_strerror(i32 noundef %5752, ptr noundef @.str.3)
  %5754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5755 = load i32, ptr %5754, align 4, !tbaa !5
  %5756 = call ptr @s2n_strerror_debug(i32 noundef %5755, ptr noundef @.str.3)
  %5757 = call ptr @__errno_location() #11
  %5758 = load i32, ptr %5757, align 4, !tbaa !5
  %5759 = call ptr @strerror(i32 noundef %5758) #10
  %5760 = call ptr @__errno_location() #11
  %5761 = load i32, ptr %5760, align 4, !tbaa !5
  %5762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5749, ptr noundef @.str, i32 noundef %5750, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 333, ptr noundef %5753, ptr noundef %5756, ptr noundef %5759, i32 noundef %5761) #10
  br label %5780

5763:                                             ; preds = %5741, %5734
  %5764 = load i32, ptr %141, align 4, !tbaa !5
  %5765 = call ptr @__errno_location() #11
  store i32 %5764, ptr %5765, align 4, !tbaa !5
  %5766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5767 = load i32, ptr @test_count, align 4, !tbaa !5
  %5768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5769 = load i32, ptr %5768, align 4, !tbaa !5
  %5770 = call ptr @s2n_strerror(i32 noundef %5769, ptr noundef @.str.3)
  %5771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5772 = load i32, ptr %5771, align 4, !tbaa !5
  %5773 = call ptr @s2n_strerror_debug(i32 noundef %5772, ptr noundef @.str.3)
  %5774 = call ptr @__errno_location() #11
  %5775 = load i32, ptr %5774, align 4, !tbaa !5
  %5776 = call ptr @strerror(i32 noundef %5775) #10
  %5777 = call ptr @__errno_location() #11
  %5778 = load i32, ptr %5777, align 4, !tbaa !5
  %5779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5766, ptr noundef @.str.4, i32 noundef %5767, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 333, ptr noundef %5770, ptr noundef %5773, ptr noundef %5776, i32 noundef %5778) #10
  br label %5780

5780:                                             ; preds = %5763, %5746
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #10
  br label %5781

5781:                                             ; preds = %5780
  br label %5782

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

5783:                                             ; No predecessors!
  br label %5784

5784:                                             ; preds = %5783
  br label %5785

5785:                                             ; preds = %5784, %5727
  br label %5786

5786:                                             ; preds = %5785
  br label %5787

5787:                                             ; preds = %5786
  br label %5788

5788:                                             ; preds = %5787
  %5789 = load i32, ptr @test_count, align 4, !tbaa !5
  %5790 = add nsw i32 %5789, 1
  store i32 %5790, ptr @test_count, align 4, !tbaa !5
  %5791 = getelementptr inbounds %struct.s2n_send_context, ptr %126, i32 0, i32 1
  %5792 = load i64, ptr %5791, align 8, !tbaa !25
  %5793 = load i64, ptr %19, align 8, !tbaa !15
  %5794 = icmp eq i64 %5792, %5793
  br i1 %5794, label %5848, label %5795

5795:                                             ; preds = %5788
  br label %5796

5796:                                             ; preds = %5795
  br label %5797

5797:                                             ; preds = %5796
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #10
  %5798 = call ptr @__errno_location() #11
  %5799 = load i32, ptr %5798, align 4, !tbaa !5
  store i32 %5799, ptr %142, align 4, !tbaa !5
  %5800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5801 = call i32 @s2n_print_stacktrace(ptr noundef %5800)
  %5802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5803 = trunc i8 %5802 to i1
  br i1 %5803, label %5804, label %5826

5804:                                             ; preds = %5797
  %5805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5806 = call i32 @fileno(ptr noundef %5805) #10
  %5807 = call i32 @isatty(i32 noundef %5806) #10
  %5808 = icmp ne i32 %5807, 0
  br i1 %5808, label %5809, label %5826

5809:                                             ; preds = %5804
  %5810 = load i32, ptr %142, align 4, !tbaa !5
  %5811 = call ptr @__errno_location() #11
  store i32 %5810, ptr %5811, align 4, !tbaa !5
  %5812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5813 = load i32, ptr @test_count, align 4, !tbaa !5
  %5814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5815 = load i32, ptr %5814, align 4, !tbaa !5
  %5816 = call ptr @s2n_strerror(i32 noundef %5815, ptr noundef @.str.3)
  %5817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5818 = load i32, ptr %5817, align 4, !tbaa !5
  %5819 = call ptr @s2n_strerror_debug(i32 noundef %5818, ptr noundef @.str.3)
  %5820 = call ptr @__errno_location() #11
  %5821 = load i32, ptr %5820, align 4, !tbaa !5
  %5822 = call ptr @strerror(i32 noundef %5821) #10
  %5823 = call ptr @__errno_location() #11
  %5824 = load i32, ptr %5823, align 4, !tbaa !5
  %5825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5812, ptr noundef @.str, i32 noundef %5813, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 334, ptr noundef %5816, ptr noundef %5819, ptr noundef %5822, i32 noundef %5824) #10
  br label %5843

5826:                                             ; preds = %5804, %5797
  %5827 = load i32, ptr %142, align 4, !tbaa !5
  %5828 = call ptr @__errno_location() #11
  store i32 %5827, ptr %5828, align 4, !tbaa !5
  %5829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5830 = load i32, ptr @test_count, align 4, !tbaa !5
  %5831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5832 = load i32, ptr %5831, align 4, !tbaa !5
  %5833 = call ptr @s2n_strerror(i32 noundef %5832, ptr noundef @.str.3)
  %5834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5835 = load i32, ptr %5834, align 4, !tbaa !5
  %5836 = call ptr @s2n_strerror_debug(i32 noundef %5835, ptr noundef @.str.3)
  %5837 = call ptr @__errno_location() #11
  %5838 = load i32, ptr %5837, align 4, !tbaa !5
  %5839 = call ptr @strerror(i32 noundef %5838) #10
  %5840 = call ptr @__errno_location() #11
  %5841 = load i32, ptr %5840, align 4, !tbaa !5
  %5842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5829, ptr noundef @.str.4, i32 noundef %5830, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 334, ptr noundef %5833, ptr noundef %5836, ptr noundef %5839, i32 noundef %5841) #10
  br label %5843

5843:                                             ; preds = %5826, %5809
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #10
  br label %5844

5844:                                             ; preds = %5843
  br label %5845

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

5846:                                             ; No predecessors!
  br label %5847

5847:                                             ; preds = %5846
  br label %5848

5848:                                             ; preds = %5847, %5788
  br label %5849

5849:                                             ; preds = %5848
  br label %5850

5850:                                             ; preds = %5849
  br label %5851

5851:                                             ; preds = %5850
  %5852 = load i32, ptr @test_count, align 4, !tbaa !5
  %5853 = add nsw i32 %5852, 1
  store i32 %5853, ptr @test_count, align 4, !tbaa !5
  %5854 = load ptr, ptr %120, align 8, !tbaa !9
  %5855 = getelementptr inbounds %struct.s2n_connection, ptr %5854, i32 0, i32 41
  %5856 = getelementptr inbounds %struct.s2n_stuffer, ptr %5855, i32 0, i32 0
  %5857 = getelementptr inbounds %struct.s2n_blob, ptr %5856, i32 0, i32 1
  %5858 = load i32, ptr %5857, align 8, !tbaa !56
  %5859 = getelementptr inbounds [4 x i32], ptr %34, i64 0, i64 0
  %5860 = load i32, ptr %5859, align 16, !tbaa !5
  %5861 = icmp eq i32 %5858, %5860
  br i1 %5861, label %5915, label %5862

5862:                                             ; preds = %5851
  br label %5863

5863:                                             ; preds = %5862
  br label %5864

5864:                                             ; preds = %5863
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #10
  %5865 = call ptr @__errno_location() #11
  %5866 = load i32, ptr %5865, align 4, !tbaa !5
  store i32 %5866, ptr %143, align 4, !tbaa !5
  %5867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5868 = call i32 @s2n_print_stacktrace(ptr noundef %5867)
  %5869 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5870 = trunc i8 %5869 to i1
  br i1 %5870, label %5871, label %5893

5871:                                             ; preds = %5864
  %5872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5873 = call i32 @fileno(ptr noundef %5872) #10
  %5874 = call i32 @isatty(i32 noundef %5873) #10
  %5875 = icmp ne i32 %5874, 0
  br i1 %5875, label %5876, label %5893

5876:                                             ; preds = %5871
  %5877 = load i32, ptr %143, align 4, !tbaa !5
  %5878 = call ptr @__errno_location() #11
  store i32 %5877, ptr %5878, align 4, !tbaa !5
  %5879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5880 = load i32, ptr @test_count, align 4, !tbaa !5
  %5881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5882 = load i32, ptr %5881, align 4, !tbaa !5
  %5883 = call ptr @s2n_strerror(i32 noundef %5882, ptr noundef @.str.3)
  %5884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5885 = load i32, ptr %5884, align 4, !tbaa !5
  %5886 = call ptr @s2n_strerror_debug(i32 noundef %5885, ptr noundef @.str.3)
  %5887 = call ptr @__errno_location() #11
  %5888 = load i32, ptr %5887, align 4, !tbaa !5
  %5889 = call ptr @strerror(i32 noundef %5888) #10
  %5890 = call ptr @__errno_location() #11
  %5891 = load i32, ptr %5890, align 4, !tbaa !5
  %5892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5879, ptr noundef @.str, i32 noundef %5880, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 337, ptr noundef %5883, ptr noundef %5886, ptr noundef %5889, i32 noundef %5891) #10
  br label %5910

5893:                                             ; preds = %5871, %5864
  %5894 = load i32, ptr %143, align 4, !tbaa !5
  %5895 = call ptr @__errno_location() #11
  store i32 %5894, ptr %5895, align 4, !tbaa !5
  %5896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5897 = load i32, ptr @test_count, align 4, !tbaa !5
  %5898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5899 = load i32, ptr %5898, align 4, !tbaa !5
  %5900 = call ptr @s2n_strerror(i32 noundef %5899, ptr noundef @.str.3)
  %5901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5902 = load i32, ptr %5901, align 4, !tbaa !5
  %5903 = call ptr @s2n_strerror_debug(i32 noundef %5902, ptr noundef @.str.3)
  %5904 = call ptr @__errno_location() #11
  %5905 = load i32, ptr %5904, align 4, !tbaa !5
  %5906 = call ptr @strerror(i32 noundef %5905) #10
  %5907 = call ptr @__errno_location() #11
  %5908 = load i32, ptr %5907, align 4, !tbaa !5
  %5909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5896, ptr noundef @.str.4, i32 noundef %5897, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 337, ptr noundef %5900, ptr noundef %5903, ptr noundef %5906, i32 noundef %5908) #10
  br label %5910

5910:                                             ; preds = %5893, %5876
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #10
  br label %5911

5911:                                             ; preds = %5910
  br label %5912

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

5913:                                             ; No predecessors!
  br label %5914

5914:                                             ; preds = %5913
  br label %5915

5915:                                             ; preds = %5914, %5851
  br label %5916

5916:                                             ; preds = %5915
  br label %5917

5917:                                             ; preds = %5916
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %126) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %125) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #10
  %5918 = call i32 @s2n_connection_ptr_free(ptr noundef %120)
  %5919 = getelementptr inbounds %struct.s2n_result, ptr %144, i32 0, i32 0
  store i32 %5918, ptr %5919, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %120) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %145) #10
  store i64 0, ptr %145, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %146) #10
  %5920 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %5920, ptr %146, align 8, !tbaa !9
  br label %5921

5921:                                             ; preds = %5917
  %5922 = load i32, ptr @test_count, align 4, !tbaa !5
  %5923 = add nsw i32 %5922, 1
  store i32 %5923, ptr @test_count, align 4, !tbaa !5
  %5924 = load ptr, ptr %146, align 8, !tbaa !9
  %5925 = icmp eq ptr %5924, null
  br i1 %5925, label %5926, label %5979

5926:                                             ; preds = %5921
  br label %5927

5927:                                             ; preds = %5926
  br label %5928

5928:                                             ; preds = %5927
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #10
  %5929 = call ptr @__errno_location() #11
  %5930 = load i32, ptr %5929, align 4, !tbaa !5
  store i32 %5930, ptr %147, align 4, !tbaa !5
  %5931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5932 = call i32 @s2n_print_stacktrace(ptr noundef %5931)
  %5933 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5934 = trunc i8 %5933 to i1
  br i1 %5934, label %5935, label %5957

5935:                                             ; preds = %5928
  %5936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5937 = call i32 @fileno(ptr noundef %5936) #10
  %5938 = call i32 @isatty(i32 noundef %5937) #10
  %5939 = icmp ne i32 %5938, 0
  br i1 %5939, label %5940, label %5957

5940:                                             ; preds = %5935
  %5941 = load i32, ptr %147, align 4, !tbaa !5
  %5942 = call ptr @__errno_location() #11
  store i32 %5941, ptr %5942, align 4, !tbaa !5
  %5943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5944 = load i32, ptr @test_count, align 4, !tbaa !5
  %5945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5946 = load i32, ptr %5945, align 4, !tbaa !5
  %5947 = call ptr @s2n_strerror(i32 noundef %5946, ptr noundef @.str.3)
  %5948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5949 = load i32, ptr %5948, align 4, !tbaa !5
  %5950 = call ptr @s2n_strerror_debug(i32 noundef %5949, ptr noundef @.str.3)
  %5951 = call ptr @__errno_location() #11
  %5952 = load i32, ptr %5951, align 4, !tbaa !5
  %5953 = call ptr @strerror(i32 noundef %5952) #10
  %5954 = call ptr @__errno_location() #11
  %5955 = load i32, ptr %5954, align 4, !tbaa !5
  %5956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5943, ptr noundef @.str, i32 noundef %5944, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 349, ptr noundef %5947, ptr noundef %5950, ptr noundef %5953, i32 noundef %5955) #10
  br label %5974

5957:                                             ; preds = %5935, %5928
  %5958 = load i32, ptr %147, align 4, !tbaa !5
  %5959 = call ptr @__errno_location() #11
  store i32 %5958, ptr %5959, align 4, !tbaa !5
  %5960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5961 = load i32, ptr @test_count, align 4, !tbaa !5
  %5962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5963 = load i32, ptr %5962, align 4, !tbaa !5
  %5964 = call ptr @s2n_strerror(i32 noundef %5963, ptr noundef @.str.3)
  %5965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5966 = load i32, ptr %5965, align 4, !tbaa !5
  %5967 = call ptr @s2n_strerror_debug(i32 noundef %5966, ptr noundef @.str.3)
  %5968 = call ptr @__errno_location() #11
  %5969 = load i32, ptr %5968, align 4, !tbaa !5
  %5970 = call ptr @strerror(i32 noundef %5969) #10
  %5971 = call ptr @__errno_location() #11
  %5972 = load i32, ptr %5971, align 4, !tbaa !5
  %5973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5960, ptr noundef @.str.4, i32 noundef %5961, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 349, ptr noundef %5964, ptr noundef %5967, ptr noundef %5970, i32 noundef %5972) #10
  br label %5974

5974:                                             ; preds = %5957, %5940
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #10
  br label %5975

5975:                                             ; preds = %5974
  br label %5976

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

5977:                                             ; No predecessors!
  br label %5978

5978:                                             ; preds = %5977
  br label %5979

5979:                                             ; preds = %5978, %5921
  br label %5980

5980:                                             ; preds = %5979
  br label %5981

5981:                                             ; preds = %5980
  br label %5982

5982:                                             ; preds = %5981
  %5983 = load i32, ptr @test_count, align 4, !tbaa !5
  %5984 = add nsw i32 %5983, 1
  store i32 %5984, ptr @test_count, align 4, !tbaa !5
  %5985 = load ptr, ptr %146, align 8, !tbaa !9
  %5986 = call i32 @s2n_connection_set_secrets(ptr noundef %5985)
  %5987 = getelementptr inbounds %struct.s2n_result, ptr %148, i32 0, i32 0
  store i32 %5986, ptr %5987, align 4
  %5988 = getelementptr inbounds %struct.s2n_result, ptr %148, i32 0, i32 0
  %5989 = load i32, ptr %5988, align 4
  %5990 = call zeroext i1 @s2n_result_is_ok(i32 %5989)
  br i1 %5990, label %6044, label %5991

5991:                                             ; preds = %5982
  br label %5992

5992:                                             ; preds = %5991
  br label %5993

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

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

6005:                                             ; preds = %6000
  %6006 = load i32, ptr %149, align 4, !tbaa !5
  %6007 = call ptr @__errno_location() #11
  store i32 %6006, ptr %6007, align 4, !tbaa !5
  %6008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6009 = load i32, ptr @test_count, align 4, !tbaa !5
  %6010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6011 = load i32, ptr %6010, align 4, !tbaa !5
  %6012 = call ptr @s2n_strerror(i32 noundef %6011, ptr noundef @.str.3)
  %6013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6014 = load i32, ptr %6013, align 4, !tbaa !5
  %6015 = call ptr @s2n_strerror_debug(i32 noundef %6014, ptr noundef @.str.3)
  %6016 = call ptr @__errno_location() #11
  %6017 = load i32, ptr %6016, align 4, !tbaa !5
  %6018 = call ptr @strerror(i32 noundef %6017) #10
  %6019 = call ptr @__errno_location() #11
  %6020 = load i32, ptr %6019, align 4, !tbaa !5
  %6021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6008, ptr noundef @.str, i32 noundef %6009, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 350, ptr noundef %6012, ptr noundef %6015, ptr noundef %6018, i32 noundef %6020) #10
  br label %6039

6022:                                             ; preds = %6000, %5993
  %6023 = load i32, ptr %149, align 4, !tbaa !5
  %6024 = call ptr @__errno_location() #11
  store i32 %6023, ptr %6024, align 4, !tbaa !5
  %6025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6026 = load i32, ptr @test_count, align 4, !tbaa !5
  %6027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6028 = load i32, ptr %6027, align 4, !tbaa !5
  %6029 = call ptr @s2n_strerror(i32 noundef %6028, ptr noundef @.str.3)
  %6030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6031 = load i32, ptr %6030, align 4, !tbaa !5
  %6032 = call ptr @s2n_strerror_debug(i32 noundef %6031, ptr noundef @.str.3)
  %6033 = call ptr @__errno_location() #11
  %6034 = load i32, ptr %6033, align 4, !tbaa !5
  %6035 = call ptr @strerror(i32 noundef %6034) #10
  %6036 = call ptr @__errno_location() #11
  %6037 = load i32, ptr %6036, align 4, !tbaa !5
  %6038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6025, ptr noundef @.str.4, i32 noundef %6026, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 350, ptr noundef %6029, ptr noundef %6032, ptr noundef %6035, i32 noundef %6037) #10
  br label %6039

6039:                                             ; preds = %6022, %6005
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #10
  br label %6040

6040:                                             ; preds = %6039
  br label %6041

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

6042:                                             ; No predecessors!
  br label %6043

6043:                                             ; preds = %6042
  br label %6044

6044:                                             ; preds = %6043, %5982
  br label %6045

6045:                                             ; preds = %6044
  br label %6046

6046:                                             ; preds = %6045
  call void @llvm.lifetime.start.p0(i64 24, ptr %150) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %150, ptr align 16 @__const.main.results.46, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr %151) #10
  %6047 = getelementptr inbounds %struct.s2n_send_context, ptr %151, i32 0, i32 0
  store i64 0, ptr %6047, align 8, !tbaa !23
  %6048 = getelementptr inbounds %struct.s2n_send_context, ptr %151, i32 0, i32 1
  store i64 0, ptr %6048, align 8, !tbaa !25
  %6049 = getelementptr inbounds %struct.s2n_send_context, ptr %151, i32 0, i32 2
  %6050 = getelementptr inbounds [3 x %struct.s2n_send_result], ptr %150, i64 0, i64 0
  store ptr %6050, ptr %6049, align 8, !tbaa !26
  %6051 = getelementptr inbounds %struct.s2n_send_context, ptr %151, i32 0, i32 3
  store i64 3, ptr %6051, align 8, !tbaa !27
  br label %6052

6052:                                             ; preds = %6046
  %6053 = load i32, ptr @test_count, align 4, !tbaa !5
  %6054 = add nsw i32 %6053, 1
  store i32 %6054, ptr @test_count, align 4, !tbaa !5
  %6055 = load ptr, ptr %146, align 8, !tbaa !9
  %6056 = call i32 @s2n_connection_set_send_cb(ptr noundef %6055, ptr noundef @s2n_test_send_cb)
  %6057 = icmp eq i32 %6056, -1
  br i1 %6057, label %6058, label %6111

6058:                                             ; preds = %6052
  br label %6059

6059:                                             ; preds = %6058
  br label %6060

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

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

6072:                                             ; preds = %6067
  %6073 = load i32, ptr %152, align 4, !tbaa !5
  %6074 = call ptr @__errno_location() #11
  store i32 %6073, ptr %6074, align 4, !tbaa !5
  %6075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6076 = load i32, ptr @test_count, align 4, !tbaa !5
  %6077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6078 = load i32, ptr %6077, align 4, !tbaa !5
  %6079 = call ptr @s2n_strerror(i32 noundef %6078, ptr noundef @.str.3)
  %6080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6081 = load i32, ptr %6080, align 4, !tbaa !5
  %6082 = call ptr @s2n_strerror_debug(i32 noundef %6081, ptr noundef @.str.3)
  %6083 = call ptr @__errno_location() #11
  %6084 = load i32, ptr %6083, align 4, !tbaa !5
  %6085 = call ptr @strerror(i32 noundef %6084) #10
  %6086 = call ptr @__errno_location() #11
  %6087 = load i32, ptr %6086, align 4, !tbaa !5
  %6088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6075, ptr noundef @.str, i32 noundef %6076, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 354, ptr noundef %6079, ptr noundef %6082, ptr noundef %6085, i32 noundef %6087) #10
  br label %6106

6089:                                             ; preds = %6067, %6060
  %6090 = load i32, ptr %152, align 4, !tbaa !5
  %6091 = call ptr @__errno_location() #11
  store i32 %6090, ptr %6091, align 4, !tbaa !5
  %6092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6093 = load i32, ptr @test_count, align 4, !tbaa !5
  %6094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6095 = load i32, ptr %6094, align 4, !tbaa !5
  %6096 = call ptr @s2n_strerror(i32 noundef %6095, ptr noundef @.str.3)
  %6097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6098 = load i32, ptr %6097, align 4, !tbaa !5
  %6099 = call ptr @s2n_strerror_debug(i32 noundef %6098, ptr noundef @.str.3)
  %6100 = call ptr @__errno_location() #11
  %6101 = load i32, ptr %6100, align 4, !tbaa !5
  %6102 = call ptr @strerror(i32 noundef %6101) #10
  %6103 = call ptr @__errno_location() #11
  %6104 = load i32, ptr %6103, align 4, !tbaa !5
  %6105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6092, ptr noundef @.str.4, i32 noundef %6093, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 354, ptr noundef %6096, ptr noundef %6099, ptr noundef %6102, i32 noundef %6104) #10
  br label %6106

6106:                                             ; preds = %6089, %6072
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #10
  br label %6107

6107:                                             ; preds = %6106
  br label %6108

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

6109:                                             ; No predecessors!
  br label %6110

6110:                                             ; preds = %6109
  br label %6111

6111:                                             ; preds = %6110, %6052
  br label %6112

6112:                                             ; preds = %6111
  br label %6113

6113:                                             ; preds = %6112
  br label %6114

6114:                                             ; preds = %6113
  %6115 = load i32, ptr @test_count, align 4, !tbaa !5
  %6116 = add nsw i32 %6115, 1
  store i32 %6116, ptr @test_count, align 4, !tbaa !5
  %6117 = load ptr, ptr %146, align 8, !tbaa !9
  %6118 = call i32 @s2n_connection_set_send_ctx(ptr noundef %6117, ptr noundef %151)
  %6119 = icmp eq i32 %6118, -1
  br i1 %6119, label %6120, label %6173

6120:                                             ; preds = %6114
  br label %6121

6121:                                             ; preds = %6120
  br label %6122

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

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

6134:                                             ; preds = %6129
  %6135 = load i32, ptr %153, align 4, !tbaa !5
  %6136 = call ptr @__errno_location() #11
  store i32 %6135, ptr %6136, align 4, !tbaa !5
  %6137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6138 = load i32, ptr @test_count, align 4, !tbaa !5
  %6139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6140 = load i32, ptr %6139, align 4, !tbaa !5
  %6141 = call ptr @s2n_strerror(i32 noundef %6140, ptr noundef @.str.3)
  %6142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6143 = load i32, ptr %6142, align 4, !tbaa !5
  %6144 = call ptr @s2n_strerror_debug(i32 noundef %6143, ptr noundef @.str.3)
  %6145 = call ptr @__errno_location() #11
  %6146 = load i32, ptr %6145, align 4, !tbaa !5
  %6147 = call ptr @strerror(i32 noundef %6146) #10
  %6148 = call ptr @__errno_location() #11
  %6149 = load i32, ptr %6148, align 4, !tbaa !5
  %6150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6137, ptr noundef @.str, i32 noundef %6138, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 355, ptr noundef %6141, ptr noundef %6144, ptr noundef %6147, i32 noundef %6149) #10
  br label %6168

6151:                                             ; preds = %6129, %6122
  %6152 = load i32, ptr %153, align 4, !tbaa !5
  %6153 = call ptr @__errno_location() #11
  store i32 %6152, ptr %6153, align 4, !tbaa !5
  %6154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6155 = load i32, ptr @test_count, align 4, !tbaa !5
  %6156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6157 = load i32, ptr %6156, align 4, !tbaa !5
  %6158 = call ptr @s2n_strerror(i32 noundef %6157, ptr noundef @.str.3)
  %6159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6160 = load i32, ptr %6159, align 4, !tbaa !5
  %6161 = call ptr @s2n_strerror_debug(i32 noundef %6160, ptr noundef @.str.3)
  %6162 = call ptr @__errno_location() #11
  %6163 = load i32, ptr %6162, align 4, !tbaa !5
  %6164 = call ptr @strerror(i32 noundef %6163) #10
  %6165 = call ptr @__errno_location() #11
  %6166 = load i32, ptr %6165, align 4, !tbaa !5
  %6167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6154, ptr noundef @.str.4, i32 noundef %6155, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 355, ptr noundef %6158, ptr noundef %6161, ptr noundef %6164, i32 noundef %6166) #10
  br label %6168

6168:                                             ; preds = %6151, %6134
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #10
  br label %6169

6169:                                             ; preds = %6168
  br label %6170

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

6171:                                             ; No predecessors!
  br label %6172

6172:                                             ; preds = %6171
  br label %6173

6173:                                             ; preds = %6172, %6114
  br label %6174

6174:                                             ; preds = %6173
  br label %6175

6175:                                             ; preds = %6174
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #10
  store i32 0, ptr %154, align 4, !tbaa !5
  br label %6176

6176:                                             ; preds = %6175
  %6177 = load i32, ptr @test_count, align 4, !tbaa !5
  %6178 = add nsw i32 %6177, 1
  store i32 %6178, ptr @test_count, align 4, !tbaa !5
  %6179 = load ptr, ptr %146, align 8, !tbaa !9
  %6180 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %6181 = call i64 @s2n_send(ptr noundef %6179, ptr noundef %6180, i64 noundef 16394, ptr noundef %154)
  %6182 = icmp eq i64 %6181, 16394
  br i1 %6182, label %6236, label %6183

6183:                                             ; preds = %6176
  br label %6184

6184:                                             ; preds = %6183
  br label %6185

6185:                                             ; preds = %6184
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #10
  %6186 = call ptr @__errno_location() #11
  %6187 = load i32, ptr %6186, align 4, !tbaa !5
  store i32 %6187, ptr %155, 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 %155, 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.3)
  %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.3)
  %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, i32 noundef %6201, ptr noundef @.str.47, ptr noundef @.str.2, i32 noundef 358, ptr noundef %6204, ptr noundef %6207, ptr noundef %6210, i32 noundef %6212) #10
  br label %6231

6214:                                             ; preds = %6192, %6185
  %6215 = load i32, ptr %155, 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.3)
  %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.3)
  %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.4, i32 noundef %6218, ptr noundef @.str.47, ptr noundef @.str.2, i32 noundef 358, 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 %155) #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, %6176
  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 i32, ptr %154, align 4, !tbaa !5
  %6243 = icmp eq i32 %6242, 0
  br i1 %6243, label %6297, label %6244

6244:                                             ; preds = %6239
  br label %6245

6245:                                             ; preds = %6244
  br label %6246

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

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

6258:                                             ; preds = %6253
  %6259 = load i32, ptr %156, align 4, !tbaa !5
  %6260 = call ptr @__errno_location() #11
  store i32 %6259, ptr %6260, align 4, !tbaa !5
  %6261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6262 = load i32, ptr @test_count, align 4, !tbaa !5
  %6263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6264 = load i32, ptr %6263, align 4, !tbaa !5
  %6265 = call ptr @s2n_strerror(i32 noundef %6264, ptr noundef @.str.3)
  %6266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6267 = load i32, ptr %6266, align 4, !tbaa !5
  %6268 = call ptr @s2n_strerror_debug(i32 noundef %6267, ptr noundef @.str.3)
  %6269 = call ptr @__errno_location() #11
  %6270 = load i32, ptr %6269, align 4, !tbaa !5
  %6271 = call ptr @strerror(i32 noundef %6270) #10
  %6272 = call ptr @__errno_location() #11
  %6273 = load i32, ptr %6272, align 4, !tbaa !5
  %6274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6261, ptr noundef @.str, i32 noundef %6262, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 359, ptr noundef %6265, ptr noundef %6268, ptr noundef %6271, i32 noundef %6273) #10
  br label %6292

6275:                                             ; preds = %6253, %6246
  %6276 = load i32, ptr %156, align 4, !tbaa !5
  %6277 = call ptr @__errno_location() #11
  store i32 %6276, ptr %6277, align 4, !tbaa !5
  %6278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6279 = load i32, ptr @test_count, align 4, !tbaa !5
  %6280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6281 = load i32, ptr %6280, align 4, !tbaa !5
  %6282 = call ptr @s2n_strerror(i32 noundef %6281, ptr noundef @.str.3)
  %6283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6284 = load i32, ptr %6283, align 4, !tbaa !5
  %6285 = call ptr @s2n_strerror_debug(i32 noundef %6284, ptr noundef @.str.3)
  %6286 = call ptr @__errno_location() #11
  %6287 = load i32, ptr %6286, align 4, !tbaa !5
  %6288 = call ptr @strerror(i32 noundef %6287) #10
  %6289 = call ptr @__errno_location() #11
  %6290 = load i32, ptr %6289, align 4, !tbaa !5
  %6291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6278, ptr noundef @.str.4, i32 noundef %6279, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 359, ptr noundef %6282, ptr noundef %6285, ptr noundef %6288, i32 noundef %6290) #10
  br label %6292

6292:                                             ; preds = %6275, %6258
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #10
  br label %6293

6293:                                             ; preds = %6292
  br label %6294

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

6295:                                             ; No predecessors!
  br label %6296

6296:                                             ; preds = %6295
  br label %6297

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

6298:                                             ; preds = %6297
  br label %6299

6299:                                             ; preds = %6298
  br label %6300

6300:                                             ; preds = %6299
  %6301 = load i32, ptr @test_count, align 4, !tbaa !5
  %6302 = add nsw i32 %6301, 1
  store i32 %6302, ptr @test_count, align 4, !tbaa !5
  %6303 = getelementptr inbounds %struct.s2n_send_context, ptr %151, i32 0, i32 0
  %6304 = load i64, ptr %6303, align 8, !tbaa !23
  %6305 = icmp eq i64 %6304, 3
  br i1 %6305, label %6359, label %6306

6306:                                             ; preds = %6300
  br label %6307

6307:                                             ; preds = %6306
  br label %6308

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

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

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

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

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

6355:                                             ; preds = %6354
  br label %6356

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

6357:                                             ; No predecessors!
  br label %6358

6358:                                             ; preds = %6357
  br label %6359

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

6360:                                             ; preds = %6359
  br label %6361

6361:                                             ; preds = %6360
  %6362 = getelementptr inbounds %struct.s2n_send_context, ptr %151, i32 0, i32 1
  %6363 = load i64, ptr %6362, align 8, !tbaa !25
  store i64 %6363, ptr %145, align 8, !tbaa !15
  br label %6364

6364:                                             ; preds = %6361
  %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 i64, ptr %145, align 8, !tbaa !15
  %6368 = icmp ugt i64 %6367, 16394
  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 %158) #10
  %6372 = call ptr @__errno_location() #11
  %6373 = load i32, ptr %6372, align 4, !tbaa !5
  store i32 %6373, ptr %158, 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 %158, 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.3)
  %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.3)
  %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, i32 noundef %6387, ptr noundef @.str.48, ptr noundef @.str.2, i32 noundef 363, ptr noundef %6390, ptr noundef %6393, ptr noundef %6396, i32 noundef %6398) #10
  br label %6417

6400:                                             ; preds = %6378, %6371
  %6401 = load i32, ptr %158, 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.3)
  %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.3)
  %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.4, i32 noundef %6404, ptr noundef @.str.48, ptr noundef @.str.2, i32 noundef 363, 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 %158) #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
  br label %6425

6425:                                             ; preds = %6424
  %6426 = load i32, ptr @test_count, align 4, !tbaa !5
  %6427 = add nsw i32 %6426, 1
  store i32 %6427, ptr @test_count, align 4, !tbaa !5
  %6428 = load ptr, ptr %146, align 8, !tbaa !9
  %6429 = getelementptr inbounds %struct.s2n_connection, ptr %6428, i32 0, i32 41
  %6430 = getelementptr inbounds %struct.s2n_stuffer, ptr %6429, i32 0, i32 0
  %6431 = getelementptr inbounds %struct.s2n_blob, ptr %6430, i32 0, i32 1
  %6432 = load i32, ptr %6431, align 8, !tbaa !56
  %6433 = getelementptr inbounds [4 x i32], ptr %34, i64 0, i64 0
  %6434 = load i32, ptr %6433, align 16, !tbaa !5
  %6435 = icmp eq i32 %6432, %6434
  br i1 %6435, label %6489, label %6436

6436:                                             ; preds = %6425
  br label %6437

6437:                                             ; preds = %6436
  br label %6438

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

6445:                                             ; preds = %6438
  %6446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6447 = call i32 @fileno(ptr noundef %6446) #10
  %6448 = call i32 @isatty(i32 noundef %6447) #10
  %6449 = icmp ne i32 %6448, 0
  br i1 %6449, label %6450, label %6467

6450:                                             ; preds = %6445
  %6451 = load i32, ptr %159, align 4, !tbaa !5
  %6452 = call ptr @__errno_location() #11
  store i32 %6451, ptr %6452, align 4, !tbaa !5
  %6453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6454 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6456, ptr noundef @.str.3)
  %6458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6459 = load i32, ptr %6458, align 4, !tbaa !5
  %6460 = call ptr @s2n_strerror_debug(i32 noundef %6459, ptr noundef @.str.3)
  %6461 = call ptr @__errno_location() #11
  %6462 = load i32, ptr %6461, align 4, !tbaa !5
  %6463 = call ptr @strerror(i32 noundef %6462) #10
  %6464 = call ptr @__errno_location() #11
  %6465 = load i32, ptr %6464, align 4, !tbaa !5
  %6466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6453, ptr noundef @.str, i32 noundef %6454, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 366, ptr noundef %6457, ptr noundef %6460, ptr noundef %6463, i32 noundef %6465) #10
  br label %6484

6467:                                             ; preds = %6445, %6438
  %6468 = load i32, ptr %159, align 4, !tbaa !5
  %6469 = call ptr @__errno_location() #11
  store i32 %6468, ptr %6469, align 4, !tbaa !5
  %6470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6471 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6473, ptr noundef @.str.3)
  %6475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6476 = load i32, ptr %6475, align 4, !tbaa !5
  %6477 = call ptr @s2n_strerror_debug(i32 noundef %6476, ptr noundef @.str.3)
  %6478 = call ptr @__errno_location() #11
  %6479 = load i32, ptr %6478, align 4, !tbaa !5
  %6480 = call ptr @strerror(i32 noundef %6479) #10
  %6481 = call ptr @__errno_location() #11
  %6482 = load i32, ptr %6481, align 4, !tbaa !5
  %6483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6470, ptr noundef @.str.4, i32 noundef %6471, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 366, ptr noundef %6474, ptr noundef %6477, ptr noundef %6480, i32 noundef %6482) #10
  br label %6484

6484:                                             ; preds = %6467, %6450
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #10
  br label %6485

6485:                                             ; preds = %6484
  br label %6486

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

6487:                                             ; No predecessors!
  br label %6488

6488:                                             ; preds = %6487
  br label %6489

6489:                                             ; preds = %6488, %6425
  br label %6490

6490:                                             ; preds = %6489
  br label %6491

6491:                                             ; preds = %6490
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %151) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %150) #10
  %6492 = call i32 @s2n_connection_ptr_free(ptr noundef %146)
  %6493 = getelementptr inbounds %struct.s2n_result, ptr %160, i32 0, i32 0
  store i32 %6492, ptr %6493, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %146) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %161) #10
  %6494 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %6494, ptr %161, align 8, !tbaa !9
  br label %6495

6495:                                             ; preds = %6491
  %6496 = load i32, ptr @test_count, align 4, !tbaa !5
  %6497 = add nsw i32 %6496, 1
  store i32 %6497, ptr @test_count, align 4, !tbaa !5
  %6498 = load ptr, ptr %161, align 8, !tbaa !9
  %6499 = icmp eq ptr %6498, null
  br i1 %6499, label %6500, label %6553

6500:                                             ; preds = %6495
  br label %6501

6501:                                             ; preds = %6500
  br label %6502

6502:                                             ; preds = %6501
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #10
  %6503 = call ptr @__errno_location() #11
  %6504 = load i32, ptr %6503, align 4, !tbaa !5
  store i32 %6504, ptr %162, align 4, !tbaa !5
  %6505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6506 = call i32 @s2n_print_stacktrace(ptr noundef %6505)
  %6507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6508 = trunc i8 %6507 to i1
  br i1 %6508, label %6509, label %6531

6509:                                             ; preds = %6502
  %6510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6511 = call i32 @fileno(ptr noundef %6510) #10
  %6512 = call i32 @isatty(i32 noundef %6511) #10
  %6513 = icmp ne i32 %6512, 0
  br i1 %6513, label %6514, label %6531

6514:                                             ; preds = %6509
  %6515 = load i32, ptr %162, align 4, !tbaa !5
  %6516 = call ptr @__errno_location() #11
  store i32 %6515, ptr %6516, align 4, !tbaa !5
  %6517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6518 = load i32, ptr @test_count, align 4, !tbaa !5
  %6519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6520 = load i32, ptr %6519, align 4, !tbaa !5
  %6521 = call ptr @s2n_strerror(i32 noundef %6520, ptr noundef @.str.3)
  %6522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6523 = load i32, ptr %6522, align 4, !tbaa !5
  %6524 = call ptr @s2n_strerror_debug(i32 noundef %6523, ptr noundef @.str.3)
  %6525 = call ptr @__errno_location() #11
  %6526 = load i32, ptr %6525, align 4, !tbaa !5
  %6527 = call ptr @strerror(i32 noundef %6526) #10
  %6528 = call ptr @__errno_location() #11
  %6529 = load i32, ptr %6528, align 4, !tbaa !5
  %6530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6517, ptr noundef @.str, i32 noundef %6518, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 373, ptr noundef %6521, ptr noundef %6524, ptr noundef %6527, i32 noundef %6529) #10
  br label %6548

6531:                                             ; preds = %6509, %6502
  %6532 = load i32, ptr %162, align 4, !tbaa !5
  %6533 = call ptr @__errno_location() #11
  store i32 %6532, ptr %6533, align 4, !tbaa !5
  %6534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6535 = load i32, ptr @test_count, align 4, !tbaa !5
  %6536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6537 = load i32, ptr %6536, align 4, !tbaa !5
  %6538 = call ptr @s2n_strerror(i32 noundef %6537, ptr noundef @.str.3)
  %6539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6540 = load i32, ptr %6539, align 4, !tbaa !5
  %6541 = call ptr @s2n_strerror_debug(i32 noundef %6540, ptr noundef @.str.3)
  %6542 = call ptr @__errno_location() #11
  %6543 = load i32, ptr %6542, align 4, !tbaa !5
  %6544 = call ptr @strerror(i32 noundef %6543) #10
  %6545 = call ptr @__errno_location() #11
  %6546 = load i32, ptr %6545, align 4, !tbaa !5
  %6547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6534, ptr noundef @.str.4, i32 noundef %6535, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 373, ptr noundef %6538, ptr noundef %6541, ptr noundef %6544, i32 noundef %6546) #10
  br label %6548

6548:                                             ; preds = %6531, %6514
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #10
  br label %6549

6549:                                             ; preds = %6548
  br label %6550

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

6551:                                             ; No predecessors!
  br label %6552

6552:                                             ; preds = %6551
  br label %6553

6553:                                             ; preds = %6552, %6495
  br label %6554

6554:                                             ; preds = %6553
  br label %6555

6555:                                             ; preds = %6554
  br label %6556

6556:                                             ; preds = %6555
  %6557 = load i32, ptr @test_count, align 4, !tbaa !5
  %6558 = add nsw i32 %6557, 1
  store i32 %6558, ptr @test_count, align 4, !tbaa !5
  %6559 = load ptr, ptr %161, align 8, !tbaa !9
  %6560 = call i32 @s2n_connection_set_secrets(ptr noundef %6559)
  %6561 = getelementptr inbounds %struct.s2n_result, ptr %163, i32 0, i32 0
  store i32 %6560, ptr %6561, align 4
  %6562 = getelementptr inbounds %struct.s2n_result, ptr %163, i32 0, i32 0
  %6563 = load i32, ptr %6562, align 4
  %6564 = call zeroext i1 @s2n_result_is_ok(i32 %6563)
  br i1 %6564, label %6618, label %6565

6565:                                             ; preds = %6556
  br label %6566

6566:                                             ; preds = %6565
  br label %6567

6567:                                             ; preds = %6566
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #10
  %6568 = call ptr @__errno_location() #11
  %6569 = load i32, ptr %6568, align 4, !tbaa !5
  store i32 %6569, ptr %164, align 4, !tbaa !5
  %6570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6571 = call i32 @s2n_print_stacktrace(ptr noundef %6570)
  %6572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6573 = trunc i8 %6572 to i1
  br i1 %6573, label %6574, label %6596

6574:                                             ; preds = %6567
  %6575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6576 = call i32 @fileno(ptr noundef %6575) #10
  %6577 = call i32 @isatty(i32 noundef %6576) #10
  %6578 = icmp ne i32 %6577, 0
  br i1 %6578, label %6579, label %6596

6579:                                             ; preds = %6574
  %6580 = load i32, ptr %164, align 4, !tbaa !5
  %6581 = call ptr @__errno_location() #11
  store i32 %6580, ptr %6581, align 4, !tbaa !5
  %6582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6583 = load i32, ptr @test_count, align 4, !tbaa !5
  %6584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6585 = load i32, ptr %6584, align 4, !tbaa !5
  %6586 = call ptr @s2n_strerror(i32 noundef %6585, ptr noundef @.str.3)
  %6587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6588 = load i32, ptr %6587, align 4, !tbaa !5
  %6589 = call ptr @s2n_strerror_debug(i32 noundef %6588, ptr noundef @.str.3)
  %6590 = call ptr @__errno_location() #11
  %6591 = load i32, ptr %6590, align 4, !tbaa !5
  %6592 = call ptr @strerror(i32 noundef %6591) #10
  %6593 = call ptr @__errno_location() #11
  %6594 = load i32, ptr %6593, align 4, !tbaa !5
  %6595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6582, ptr noundef @.str, i32 noundef %6583, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 374, ptr noundef %6586, ptr noundef %6589, ptr noundef %6592, i32 noundef %6594) #10
  br label %6613

6596:                                             ; preds = %6574, %6567
  %6597 = load i32, ptr %164, align 4, !tbaa !5
  %6598 = call ptr @__errno_location() #11
  store i32 %6597, ptr %6598, align 4, !tbaa !5
  %6599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6600 = load i32, ptr @test_count, align 4, !tbaa !5
  %6601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6602 = load i32, ptr %6601, align 4, !tbaa !5
  %6603 = call ptr @s2n_strerror(i32 noundef %6602, ptr noundef @.str.3)
  %6604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6605 = load i32, ptr %6604, align 4, !tbaa !5
  %6606 = call ptr @s2n_strerror_debug(i32 noundef %6605, ptr noundef @.str.3)
  %6607 = call ptr @__errno_location() #11
  %6608 = load i32, ptr %6607, align 4, !tbaa !5
  %6609 = call ptr @strerror(i32 noundef %6608) #10
  %6610 = call ptr @__errno_location() #11
  %6611 = load i32, ptr %6610, align 4, !tbaa !5
  %6612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6599, ptr noundef @.str.4, i32 noundef %6600, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 374, ptr noundef %6603, ptr noundef %6606, ptr noundef %6609, i32 noundef %6611) #10
  br label %6613

6613:                                             ; preds = %6596, %6579
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #10
  br label %6614

6614:                                             ; preds = %6613
  br label %6615

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

6616:                                             ; No predecessors!
  br label %6617

6617:                                             ; preds = %6616
  br label %6618

6618:                                             ; preds = %6617, %6556
  br label %6619

6619:                                             ; preds = %6618
  br label %6620

6620:                                             ; preds = %6619
  call void @llvm.lifetime.start.p0(i64 48, ptr %165) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %165, ptr align 16 @__const.main.results.49, i64 48, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr %166) #10
  %6621 = getelementptr inbounds %struct.s2n_send_context, ptr %166, i32 0, i32 0
  store i64 0, ptr %6621, align 8, !tbaa !23
  %6622 = getelementptr inbounds %struct.s2n_send_context, ptr %166, i32 0, i32 1
  store i64 0, ptr %6622, align 8, !tbaa !25
  %6623 = getelementptr inbounds %struct.s2n_send_context, ptr %166, i32 0, i32 2
  %6624 = getelementptr inbounds [6 x %struct.s2n_send_result], ptr %165, i64 0, i64 0
  store ptr %6624, ptr %6623, align 8, !tbaa !26
  %6625 = getelementptr inbounds %struct.s2n_send_context, ptr %166, i32 0, i32 3
  store i64 6, ptr %6625, align 8, !tbaa !27
  br label %6626

6626:                                             ; preds = %6620
  %6627 = load i32, ptr @test_count, align 4, !tbaa !5
  %6628 = add nsw i32 %6627, 1
  store i32 %6628, ptr @test_count, align 4, !tbaa !5
  %6629 = load ptr, ptr %161, align 8, !tbaa !9
  %6630 = call i32 @s2n_connection_set_send_cb(ptr noundef %6629, ptr noundef @s2n_test_send_cb)
  %6631 = icmp eq i32 %6630, -1
  br i1 %6631, label %6632, label %6685

6632:                                             ; preds = %6626
  br label %6633

6633:                                             ; preds = %6632
  br label %6634

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

6641:                                             ; preds = %6634
  %6642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6643 = call i32 @fileno(ptr noundef %6642) #10
  %6644 = call i32 @isatty(i32 noundef %6643) #10
  %6645 = icmp ne i32 %6644, 0
  br i1 %6645, label %6646, label %6663

6646:                                             ; preds = %6641
  %6647 = load i32, ptr %167, align 4, !tbaa !5
  %6648 = call ptr @__errno_location() #11
  store i32 %6647, ptr %6648, align 4, !tbaa !5
  %6649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6650 = load i32, ptr @test_count, align 4, !tbaa !5
  %6651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6652 = load i32, ptr %6651, align 4, !tbaa !5
  %6653 = call ptr @s2n_strerror(i32 noundef %6652, ptr noundef @.str.3)
  %6654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6655 = load i32, ptr %6654, align 4, !tbaa !5
  %6656 = call ptr @s2n_strerror_debug(i32 noundef %6655, ptr noundef @.str.3)
  %6657 = call ptr @__errno_location() #11
  %6658 = load i32, ptr %6657, align 4, !tbaa !5
  %6659 = call ptr @strerror(i32 noundef %6658) #10
  %6660 = call ptr @__errno_location() #11
  %6661 = load i32, ptr %6660, align 4, !tbaa !5
  %6662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6649, ptr noundef @.str, i32 noundef %6650, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 382, ptr noundef %6653, ptr noundef %6656, ptr noundef %6659, i32 noundef %6661) #10
  br label %6680

6663:                                             ; preds = %6641, %6634
  %6664 = load i32, ptr %167, align 4, !tbaa !5
  %6665 = call ptr @__errno_location() #11
  store i32 %6664, ptr %6665, align 4, !tbaa !5
  %6666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6667 = load i32, ptr @test_count, align 4, !tbaa !5
  %6668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6669 = load i32, ptr %6668, align 4, !tbaa !5
  %6670 = call ptr @s2n_strerror(i32 noundef %6669, ptr noundef @.str.3)
  %6671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6672 = load i32, ptr %6671, align 4, !tbaa !5
  %6673 = call ptr @s2n_strerror_debug(i32 noundef %6672, ptr noundef @.str.3)
  %6674 = call ptr @__errno_location() #11
  %6675 = load i32, ptr %6674, align 4, !tbaa !5
  %6676 = call ptr @strerror(i32 noundef %6675) #10
  %6677 = call ptr @__errno_location() #11
  %6678 = load i32, ptr %6677, align 4, !tbaa !5
  %6679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6666, ptr noundef @.str.4, i32 noundef %6667, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 382, ptr noundef %6670, ptr noundef %6673, ptr noundef %6676, i32 noundef %6678) #10
  br label %6680

6680:                                             ; preds = %6663, %6646
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #10
  br label %6681

6681:                                             ; preds = %6680
  br label %6682

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

6683:                                             ; No predecessors!
  br label %6684

6684:                                             ; preds = %6683
  br label %6685

6685:                                             ; preds = %6684, %6626
  br label %6686

6686:                                             ; preds = %6685
  br label %6687

6687:                                             ; preds = %6686
  br label %6688

6688:                                             ; preds = %6687
  %6689 = load i32, ptr @test_count, align 4, !tbaa !5
  %6690 = add nsw i32 %6689, 1
  store i32 %6690, ptr @test_count, align 4, !tbaa !5
  %6691 = load ptr, ptr %161, align 8, !tbaa !9
  %6692 = call i32 @s2n_connection_set_send_ctx(ptr noundef %6691, ptr noundef %166)
  %6693 = icmp eq i32 %6692, -1
  br i1 %6693, label %6694, label %6747

6694:                                             ; preds = %6688
  br label %6695

6695:                                             ; preds = %6694
  br label %6696

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

6703:                                             ; preds = %6696
  %6704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6705 = call i32 @fileno(ptr noundef %6704) #10
  %6706 = call i32 @isatty(i32 noundef %6705) #10
  %6707 = icmp ne i32 %6706, 0
  br i1 %6707, label %6708, label %6725

6708:                                             ; preds = %6703
  %6709 = load i32, ptr %168, align 4, !tbaa !5
  %6710 = call ptr @__errno_location() #11
  store i32 %6709, ptr %6710, align 4, !tbaa !5
  %6711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6712 = load i32, ptr @test_count, align 4, !tbaa !5
  %6713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6714 = load i32, ptr %6713, align 4, !tbaa !5
  %6715 = call ptr @s2n_strerror(i32 noundef %6714, ptr noundef @.str.3)
  %6716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6717 = load i32, ptr %6716, align 4, !tbaa !5
  %6718 = call ptr @s2n_strerror_debug(i32 noundef %6717, ptr noundef @.str.3)
  %6719 = call ptr @__errno_location() #11
  %6720 = load i32, ptr %6719, align 4, !tbaa !5
  %6721 = call ptr @strerror(i32 noundef %6720) #10
  %6722 = call ptr @__errno_location() #11
  %6723 = load i32, ptr %6722, align 4, !tbaa !5
  %6724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6711, ptr noundef @.str, i32 noundef %6712, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 383, ptr noundef %6715, ptr noundef %6718, ptr noundef %6721, i32 noundef %6723) #10
  br label %6742

6725:                                             ; preds = %6703, %6696
  %6726 = load i32, ptr %168, align 4, !tbaa !5
  %6727 = call ptr @__errno_location() #11
  store i32 %6726, ptr %6727, align 4, !tbaa !5
  %6728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6729 = load i32, ptr @test_count, align 4, !tbaa !5
  %6730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6731 = load i32, ptr %6730, align 4, !tbaa !5
  %6732 = call ptr @s2n_strerror(i32 noundef %6731, ptr noundef @.str.3)
  %6733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6734 = load i32, ptr %6733, align 4, !tbaa !5
  %6735 = call ptr @s2n_strerror_debug(i32 noundef %6734, ptr noundef @.str.3)
  %6736 = call ptr @__errno_location() #11
  %6737 = load i32, ptr %6736, align 4, !tbaa !5
  %6738 = call ptr @strerror(i32 noundef %6737) #10
  %6739 = call ptr @__errno_location() #11
  %6740 = load i32, ptr %6739, align 4, !tbaa !5
  %6741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6728, ptr noundef @.str.4, i32 noundef %6729, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 383, ptr noundef %6732, ptr noundef %6735, ptr noundef %6738, i32 noundef %6740) #10
  br label %6742

6742:                                             ; preds = %6725, %6708
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #10
  br label %6743

6743:                                             ; preds = %6742
  br label %6744

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

6745:                                             ; No predecessors!
  br label %6746

6746:                                             ; preds = %6745
  br label %6747

6747:                                             ; preds = %6746, %6688
  br label %6748

6748:                                             ; preds = %6747
  br label %6749

6749:                                             ; preds = %6748
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #10
  store i32 0, ptr %169, align 4, !tbaa !5
  br label %6750

6750:                                             ; preds = %6749
  %6751 = load i32, ptr @test_count, align 4, !tbaa !5
  %6752 = add nsw i32 %6751, 1
  store i32 %6752, ptr @test_count, align 4, !tbaa !5
  %6753 = load ptr, ptr %161, align 8, !tbaa !9
  %6754 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %6755 = call i64 @s2n_send(ptr noundef %6753, ptr noundef %6754, i64 noundef 16394, ptr noundef %169)
  %6756 = icmp eq i64 %6755, 16394
  br i1 %6756, label %6810, label %6757

6757:                                             ; preds = %6750
  br label %6758

6758:                                             ; preds = %6757
  br label %6759

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

6766:                                             ; preds = %6759
  %6767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6768 = call i32 @fileno(ptr noundef %6767) #10
  %6769 = call i32 @isatty(i32 noundef %6768) #10
  %6770 = icmp ne i32 %6769, 0
  br i1 %6770, label %6771, label %6788

6771:                                             ; preds = %6766
  %6772 = load i32, ptr %170, align 4, !tbaa !5
  %6773 = call ptr @__errno_location() #11
  store i32 %6772, ptr %6773, align 4, !tbaa !5
  %6774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6775 = load i32, ptr @test_count, align 4, !tbaa !5
  %6776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6777 = load i32, ptr %6776, align 4, !tbaa !5
  %6778 = call ptr @s2n_strerror(i32 noundef %6777, ptr noundef @.str.3)
  %6779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6780 = load i32, ptr %6779, align 4, !tbaa !5
  %6781 = call ptr @s2n_strerror_debug(i32 noundef %6780, ptr noundef @.str.3)
  %6782 = call ptr @__errno_location() #11
  %6783 = load i32, ptr %6782, align 4, !tbaa !5
  %6784 = call ptr @strerror(i32 noundef %6783) #10
  %6785 = call ptr @__errno_location() #11
  %6786 = load i32, ptr %6785, align 4, !tbaa !5
  %6787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6774, ptr noundef @.str, i32 noundef %6775, ptr noundef @.str.47, ptr noundef @.str.2, i32 noundef 386, ptr noundef %6778, ptr noundef %6781, ptr noundef %6784, i32 noundef %6786) #10
  br label %6805

6788:                                             ; preds = %6766, %6759
  %6789 = load i32, ptr %170, align 4, !tbaa !5
  %6790 = call ptr @__errno_location() #11
  store i32 %6789, ptr %6790, align 4, !tbaa !5
  %6791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6792 = load i32, ptr @test_count, align 4, !tbaa !5
  %6793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6794 = load i32, ptr %6793, align 4, !tbaa !5
  %6795 = call ptr @s2n_strerror(i32 noundef %6794, ptr noundef @.str.3)
  %6796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6797 = load i32, ptr %6796, align 4, !tbaa !5
  %6798 = call ptr @s2n_strerror_debug(i32 noundef %6797, ptr noundef @.str.3)
  %6799 = call ptr @__errno_location() #11
  %6800 = load i32, ptr %6799, align 4, !tbaa !5
  %6801 = call ptr @strerror(i32 noundef %6800) #10
  %6802 = call ptr @__errno_location() #11
  %6803 = load i32, ptr %6802, align 4, !tbaa !5
  %6804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6791, ptr noundef @.str.4, i32 noundef %6792, ptr noundef @.str.47, ptr noundef @.str.2, i32 noundef 386, ptr noundef %6795, ptr noundef %6798, ptr noundef %6801, i32 noundef %6803) #10
  br label %6805

6805:                                             ; preds = %6788, %6771
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #10
  br label %6806

6806:                                             ; preds = %6805
  br label %6807

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

6808:                                             ; No predecessors!
  br label %6809

6809:                                             ; preds = %6808
  br label %6810

6810:                                             ; preds = %6809, %6750
  br label %6811

6811:                                             ; preds = %6810
  br label %6812

6812:                                             ; preds = %6811
  br label %6813

6813:                                             ; preds = %6812
  %6814 = load i32, ptr @test_count, align 4, !tbaa !5
  %6815 = add nsw i32 %6814, 1
  store i32 %6815, ptr @test_count, align 4, !tbaa !5
  %6816 = load i32, ptr %169, align 4, !tbaa !5
  %6817 = icmp eq i32 %6816, 0
  br i1 %6817, label %6871, label %6818

6818:                                             ; preds = %6813
  br label %6819

6819:                                             ; preds = %6818
  br label %6820

6820:                                             ; preds = %6819
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #10
  %6821 = call ptr @__errno_location() #11
  %6822 = load i32, ptr %6821, align 4, !tbaa !5
  store i32 %6822, ptr %171, align 4, !tbaa !5
  %6823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6824 = call i32 @s2n_print_stacktrace(ptr noundef %6823)
  %6825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6826 = trunc i8 %6825 to i1
  br i1 %6826, label %6827, label %6849

6827:                                             ; preds = %6820
  %6828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6829 = call i32 @fileno(ptr noundef %6828) #10
  %6830 = call i32 @isatty(i32 noundef %6829) #10
  %6831 = icmp ne i32 %6830, 0
  br i1 %6831, label %6832, label %6849

6832:                                             ; preds = %6827
  %6833 = load i32, ptr %171, align 4, !tbaa !5
  %6834 = call ptr @__errno_location() #11
  store i32 %6833, ptr %6834, align 4, !tbaa !5
  %6835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6836 = load i32, ptr @test_count, align 4, !tbaa !5
  %6837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6838 = load i32, ptr %6837, align 4, !tbaa !5
  %6839 = call ptr @s2n_strerror(i32 noundef %6838, ptr noundef @.str.3)
  %6840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6841 = load i32, ptr %6840, align 4, !tbaa !5
  %6842 = call ptr @s2n_strerror_debug(i32 noundef %6841, ptr noundef @.str.3)
  %6843 = call ptr @__errno_location() #11
  %6844 = load i32, ptr %6843, align 4, !tbaa !5
  %6845 = call ptr @strerror(i32 noundef %6844) #10
  %6846 = call ptr @__errno_location() #11
  %6847 = load i32, ptr %6846, align 4, !tbaa !5
  %6848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6835, ptr noundef @.str, i32 noundef %6836, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 387, ptr noundef %6839, ptr noundef %6842, ptr noundef %6845, i32 noundef %6847) #10
  br label %6866

6849:                                             ; preds = %6827, %6820
  %6850 = load i32, ptr %171, align 4, !tbaa !5
  %6851 = call ptr @__errno_location() #11
  store i32 %6850, ptr %6851, align 4, !tbaa !5
  %6852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6853 = load i32, ptr @test_count, align 4, !tbaa !5
  %6854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6855 = load i32, ptr %6854, align 4, !tbaa !5
  %6856 = call ptr @s2n_strerror(i32 noundef %6855, ptr noundef @.str.3)
  %6857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6858 = load i32, ptr %6857, align 4, !tbaa !5
  %6859 = call ptr @s2n_strerror_debug(i32 noundef %6858, ptr noundef @.str.3)
  %6860 = call ptr @__errno_location() #11
  %6861 = load i32, ptr %6860, align 4, !tbaa !5
  %6862 = call ptr @strerror(i32 noundef %6861) #10
  %6863 = call ptr @__errno_location() #11
  %6864 = load i32, ptr %6863, align 4, !tbaa !5
  %6865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6852, ptr noundef @.str.4, i32 noundef %6853, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 387, ptr noundef %6856, ptr noundef %6859, ptr noundef %6862, i32 noundef %6864) #10
  br label %6866

6866:                                             ; preds = %6849, %6832
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #10
  br label %6867

6867:                                             ; preds = %6866
  br label %6868

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

6869:                                             ; No predecessors!
  br label %6870

6870:                                             ; preds = %6869
  br label %6871

6871:                                             ; preds = %6870, %6813
  br label %6872

6872:                                             ; preds = %6871
  br label %6873

6873:                                             ; preds = %6872
  br label %6874

6874:                                             ; preds = %6873
  %6875 = load i32, ptr @test_count, align 4, !tbaa !5
  %6876 = add nsw i32 %6875, 1
  store i32 %6876, ptr @test_count, align 4, !tbaa !5
  %6877 = getelementptr inbounds %struct.s2n_send_context, ptr %166, i32 0, i32 0
  %6878 = load i64, ptr %6877, align 8, !tbaa !23
  %6879 = icmp eq i64 %6878, 6
  br i1 %6879, label %6933, label %6880

6880:                                             ; preds = %6874
  br label %6881

6881:                                             ; preds = %6880
  br label %6882

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

6889:                                             ; preds = %6882
  %6890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6891 = call i32 @fileno(ptr noundef %6890) #10
  %6892 = call i32 @isatty(i32 noundef %6891) #10
  %6893 = icmp ne i32 %6892, 0
  br i1 %6893, label %6894, label %6911

6894:                                             ; preds = %6889
  %6895 = load i32, ptr %172, align 4, !tbaa !5
  %6896 = call ptr @__errno_location() #11
  store i32 %6895, ptr %6896, align 4, !tbaa !5
  %6897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6898 = load i32, ptr @test_count, align 4, !tbaa !5
  %6899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6900 = load i32, ptr %6899, align 4, !tbaa !5
  %6901 = call ptr @s2n_strerror(i32 noundef %6900, ptr noundef @.str.3)
  %6902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6903 = load i32, ptr %6902, align 4, !tbaa !5
  %6904 = call ptr @s2n_strerror_debug(i32 noundef %6903, ptr noundef @.str.3)
  %6905 = call ptr @__errno_location() #11
  %6906 = load i32, ptr %6905, align 4, !tbaa !5
  %6907 = call ptr @strerror(i32 noundef %6906) #10
  %6908 = call ptr @__errno_location() #11
  %6909 = load i32, ptr %6908, align 4, !tbaa !5
  %6910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6897, ptr noundef @.str, i32 noundef %6898, ptr noundef @.str.40, ptr noundef @.str.2, i32 noundef 388, ptr noundef %6901, ptr noundef %6904, ptr noundef %6907, i32 noundef %6909) #10
  br label %6928

6911:                                             ; preds = %6889, %6882
  %6912 = load i32, ptr %172, align 4, !tbaa !5
  %6913 = call ptr @__errno_location() #11
  store i32 %6912, ptr %6913, align 4, !tbaa !5
  %6914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6915 = load i32, ptr @test_count, align 4, !tbaa !5
  %6916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6917 = load i32, ptr %6916, align 4, !tbaa !5
  %6918 = call ptr @s2n_strerror(i32 noundef %6917, ptr noundef @.str.3)
  %6919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6920 = load i32, ptr %6919, align 4, !tbaa !5
  %6921 = call ptr @s2n_strerror_debug(i32 noundef %6920, ptr noundef @.str.3)
  %6922 = call ptr @__errno_location() #11
  %6923 = load i32, ptr %6922, align 4, !tbaa !5
  %6924 = call ptr @strerror(i32 noundef %6923) #10
  %6925 = call ptr @__errno_location() #11
  %6926 = load i32, ptr %6925, align 4, !tbaa !5
  %6927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6914, ptr noundef @.str.4, i32 noundef %6915, ptr noundef @.str.40, ptr noundef @.str.2, i32 noundef 388, ptr noundef %6918, ptr noundef %6921, ptr noundef %6924, i32 noundef %6926) #10
  br label %6928

6928:                                             ; preds = %6911, %6894
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #10
  br label %6929

6929:                                             ; preds = %6928
  br label %6930

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

6931:                                             ; No predecessors!
  br label %6932

6932:                                             ; preds = %6931
  br label %6933

6933:                                             ; preds = %6932, %6874
  br label %6934

6934:                                             ; preds = %6933
  br label %6935

6935:                                             ; preds = %6934
  br label %6936

6936:                                             ; preds = %6935
  %6937 = load i32, ptr @test_count, align 4, !tbaa !5
  %6938 = add nsw i32 %6937, 1
  store i32 %6938, ptr @test_count, align 4, !tbaa !5
  %6939 = getelementptr inbounds %struct.s2n_send_context, ptr %166, i32 0, i32 1
  %6940 = load i64, ptr %6939, align 8, !tbaa !25
  %6941 = load i64, ptr %145, align 8, !tbaa !15
  %6942 = icmp eq i64 %6940, %6941
  br i1 %6942, label %6996, label %6943

6943:                                             ; preds = %6936
  br label %6944

6944:                                             ; preds = %6943
  br label %6945

6945:                                             ; preds = %6944
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #10
  %6946 = call ptr @__errno_location() #11
  %6947 = load i32, ptr %6946, align 4, !tbaa !5
  store i32 %6947, ptr %173, align 4, !tbaa !5
  %6948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6949 = call i32 @s2n_print_stacktrace(ptr noundef %6948)
  %6950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6951 = trunc i8 %6950 to i1
  br i1 %6951, label %6952, label %6974

6952:                                             ; preds = %6945
  %6953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6954 = call i32 @fileno(ptr noundef %6953) #10
  %6955 = call i32 @isatty(i32 noundef %6954) #10
  %6956 = icmp ne i32 %6955, 0
  br i1 %6956, label %6957, label %6974

6957:                                             ; preds = %6952
  %6958 = load i32, ptr %173, align 4, !tbaa !5
  %6959 = call ptr @__errno_location() #11
  store i32 %6958, ptr %6959, align 4, !tbaa !5
  %6960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6961 = load i32, ptr @test_count, align 4, !tbaa !5
  %6962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6963 = load i32, ptr %6962, align 4, !tbaa !5
  %6964 = call ptr @s2n_strerror(i32 noundef %6963, ptr noundef @.str.3)
  %6965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6966 = load i32, ptr %6965, align 4, !tbaa !5
  %6967 = call ptr @s2n_strerror_debug(i32 noundef %6966, ptr noundef @.str.3)
  %6968 = call ptr @__errno_location() #11
  %6969 = load i32, ptr %6968, align 4, !tbaa !5
  %6970 = call ptr @strerror(i32 noundef %6969) #10
  %6971 = call ptr @__errno_location() #11
  %6972 = load i32, ptr %6971, align 4, !tbaa !5
  %6973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6960, ptr noundef @.str, i32 noundef %6961, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 389, ptr noundef %6964, ptr noundef %6967, ptr noundef %6970, i32 noundef %6972) #10
  br label %6991

6974:                                             ; preds = %6952, %6945
  %6975 = load i32, ptr %173, align 4, !tbaa !5
  %6976 = call ptr @__errno_location() #11
  store i32 %6975, ptr %6976, align 4, !tbaa !5
  %6977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6978 = load i32, ptr @test_count, align 4, !tbaa !5
  %6979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6980 = load i32, ptr %6979, align 4, !tbaa !5
  %6981 = call ptr @s2n_strerror(i32 noundef %6980, ptr noundef @.str.3)
  %6982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6983 = load i32, ptr %6982, align 4, !tbaa !5
  %6984 = call ptr @s2n_strerror_debug(i32 noundef %6983, ptr noundef @.str.3)
  %6985 = call ptr @__errno_location() #11
  %6986 = load i32, ptr %6985, align 4, !tbaa !5
  %6987 = call ptr @strerror(i32 noundef %6986) #10
  %6988 = call ptr @__errno_location() #11
  %6989 = load i32, ptr %6988, align 4, !tbaa !5
  %6990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6977, ptr noundef @.str.4, i32 noundef %6978, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 389, ptr noundef %6981, ptr noundef %6984, ptr noundef %6987, i32 noundef %6989) #10
  br label %6991

6991:                                             ; preds = %6974, %6957
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #10
  br label %6992

6992:                                             ; preds = %6991
  br label %6993

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

6994:                                             ; No predecessors!
  br label %6995

6995:                                             ; preds = %6994
  br label %6996

6996:                                             ; preds = %6995, %6936
  br label %6997

6997:                                             ; preds = %6996
  br label %6998

6998:                                             ; preds = %6997
  br label %6999

6999:                                             ; preds = %6998
  %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 %161, align 8, !tbaa !9
  %7003 = getelementptr inbounds %struct.s2n_connection, ptr %7002, i32 0, i32 41
  %7004 = getelementptr inbounds %struct.s2n_stuffer, ptr %7003, i32 0, i32 0
  %7005 = getelementptr inbounds %struct.s2n_blob, ptr %7004, i32 0, i32 1
  %7006 = load i32, ptr %7005, align 8, !tbaa !56
  %7007 = getelementptr inbounds [4 x i32], ptr %34, i64 0, i64 0
  %7008 = load i32, ptr %7007, align 16, !tbaa !5
  %7009 = icmp eq i32 %7006, %7008
  br i1 %7009, label %7063, label %7010

7010:                                             ; preds = %6999
  br label %7011

7011:                                             ; preds = %7010
  br label %7012

7012:                                             ; preds = %7011
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #10
  %7013 = call ptr @__errno_location() #11
  %7014 = load i32, ptr %7013, align 4, !tbaa !5
  store i32 %7014, ptr %174, align 4, !tbaa !5
  %7015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7016 = call i32 @s2n_print_stacktrace(ptr noundef %7015)
  %7017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7018 = trunc i8 %7017 to i1
  br i1 %7018, label %7019, label %7041

7019:                                             ; preds = %7012
  %7020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7021 = call i32 @fileno(ptr noundef %7020) #10
  %7022 = call i32 @isatty(i32 noundef %7021) #10
  %7023 = icmp ne i32 %7022, 0
  br i1 %7023, label %7024, label %7041

7024:                                             ; preds = %7019
  %7025 = load i32, ptr %174, align 4, !tbaa !5
  %7026 = call ptr @__errno_location() #11
  store i32 %7025, ptr %7026, align 4, !tbaa !5
  %7027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7028 = load i32, ptr @test_count, align 4, !tbaa !5
  %7029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7030 = load i32, ptr %7029, align 4, !tbaa !5
  %7031 = call ptr @s2n_strerror(i32 noundef %7030, ptr noundef @.str.3)
  %7032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7033 = load i32, ptr %7032, align 4, !tbaa !5
  %7034 = call ptr @s2n_strerror_debug(i32 noundef %7033, ptr noundef @.str.3)
  %7035 = call ptr @__errno_location() #11
  %7036 = load i32, ptr %7035, align 4, !tbaa !5
  %7037 = call ptr @strerror(i32 noundef %7036) #10
  %7038 = call ptr @__errno_location() #11
  %7039 = load i32, ptr %7038, align 4, !tbaa !5
  %7040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7027, ptr noundef @.str, i32 noundef %7028, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 392, ptr noundef %7031, ptr noundef %7034, ptr noundef %7037, i32 noundef %7039) #10
  br label %7058

7041:                                             ; preds = %7019, %7012
  %7042 = load i32, ptr %174, align 4, !tbaa !5
  %7043 = call ptr @__errno_location() #11
  store i32 %7042, ptr %7043, align 4, !tbaa !5
  %7044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7045 = load i32, ptr @test_count, align 4, !tbaa !5
  %7046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7047 = load i32, ptr %7046, align 4, !tbaa !5
  %7048 = call ptr @s2n_strerror(i32 noundef %7047, ptr noundef @.str.3)
  %7049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7050 = load i32, ptr %7049, align 4, !tbaa !5
  %7051 = call ptr @s2n_strerror_debug(i32 noundef %7050, ptr noundef @.str.3)
  %7052 = call ptr @__errno_location() #11
  %7053 = load i32, ptr %7052, align 4, !tbaa !5
  %7054 = call ptr @strerror(i32 noundef %7053) #10
  %7055 = call ptr @__errno_location() #11
  %7056 = load i32, ptr %7055, align 4, !tbaa !5
  %7057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7044, ptr noundef @.str.4, i32 noundef %7045, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 392, ptr noundef %7048, ptr noundef %7051, ptr noundef %7054, i32 noundef %7056) #10
  br label %7058

7058:                                             ; preds = %7041, %7024
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #10
  br label %7059

7059:                                             ; preds = %7058
  br label %7060

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

7061:                                             ; No predecessors!
  br label %7062

7062:                                             ; preds = %7061
  br label %7063

7063:                                             ; preds = %7062, %6999
  br label %7064

7064:                                             ; preds = %7063
  br label %7065

7065:                                             ; preds = %7064
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %166) #10
  call void @llvm.lifetime.end.p0(i64 48, ptr %165) #10
  %7066 = call i32 @s2n_connection_ptr_free(ptr noundef %161)
  %7067 = getelementptr inbounds %struct.s2n_result, ptr %175, i32 0, i32 0
  store i32 %7066, ptr %7067, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %161) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %176) #10
  %7068 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %7068, ptr %176, align 8, !tbaa !9
  br label %7069

7069:                                             ; preds = %7065
  %7070 = load i32, ptr @test_count, align 4, !tbaa !5
  %7071 = add nsw i32 %7070, 1
  store i32 %7071, ptr @test_count, align 4, !tbaa !5
  %7072 = load ptr, ptr %176, align 8, !tbaa !9
  %7073 = icmp eq ptr %7072, null
  br i1 %7073, label %7074, label %7127

7074:                                             ; preds = %7069
  br label %7075

7075:                                             ; preds = %7074
  br label %7076

7076:                                             ; preds = %7075
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #10
  %7077 = call ptr @__errno_location() #11
  %7078 = load i32, ptr %7077, align 4, !tbaa !5
  store i32 %7078, ptr %177, align 4, !tbaa !5
  %7079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7080 = call i32 @s2n_print_stacktrace(ptr noundef %7079)
  %7081 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7082 = trunc i8 %7081 to i1
  br i1 %7082, label %7083, label %7105

7083:                                             ; preds = %7076
  %7084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7085 = call i32 @fileno(ptr noundef %7084) #10
  %7086 = call i32 @isatty(i32 noundef %7085) #10
  %7087 = icmp ne i32 %7086, 0
  br i1 %7087, label %7088, label %7105

7088:                                             ; preds = %7083
  %7089 = load i32, ptr %177, align 4, !tbaa !5
  %7090 = call ptr @__errno_location() #11
  store i32 %7089, ptr %7090, align 4, !tbaa !5
  %7091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7092 = load i32, ptr @test_count, align 4, !tbaa !5
  %7093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7094 = load i32, ptr %7093, align 4, !tbaa !5
  %7095 = call ptr @s2n_strerror(i32 noundef %7094, ptr noundef @.str.3)
  %7096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7097 = load i32, ptr %7096, align 4, !tbaa !5
  %7098 = call ptr @s2n_strerror_debug(i32 noundef %7097, ptr noundef @.str.3)
  %7099 = call ptr @__errno_location() #11
  %7100 = load i32, ptr %7099, align 4, !tbaa !5
  %7101 = call ptr @strerror(i32 noundef %7100) #10
  %7102 = call ptr @__errno_location() #11
  %7103 = load i32, ptr %7102, align 4, !tbaa !5
  %7104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7091, ptr noundef @.str, i32 noundef %7092, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 399, ptr noundef %7095, ptr noundef %7098, ptr noundef %7101, i32 noundef %7103) #10
  br label %7122

7105:                                             ; preds = %7083, %7076
  %7106 = load i32, ptr %177, align 4, !tbaa !5
  %7107 = call ptr @__errno_location() #11
  store i32 %7106, ptr %7107, align 4, !tbaa !5
  %7108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7109 = load i32, ptr @test_count, align 4, !tbaa !5
  %7110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7111 = load i32, ptr %7110, align 4, !tbaa !5
  %7112 = call ptr @s2n_strerror(i32 noundef %7111, ptr noundef @.str.3)
  %7113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7114 = load i32, ptr %7113, align 4, !tbaa !5
  %7115 = call ptr @s2n_strerror_debug(i32 noundef %7114, ptr noundef @.str.3)
  %7116 = call ptr @__errno_location() #11
  %7117 = load i32, ptr %7116, align 4, !tbaa !5
  %7118 = call ptr @strerror(i32 noundef %7117) #10
  %7119 = call ptr @__errno_location() #11
  %7120 = load i32, ptr %7119, align 4, !tbaa !5
  %7121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7108, ptr noundef @.str.4, i32 noundef %7109, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 399, ptr noundef %7112, ptr noundef %7115, ptr noundef %7118, i32 noundef %7120) #10
  br label %7122

7122:                                             ; preds = %7105, %7088
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #10
  br label %7123

7123:                                             ; preds = %7122
  br label %7124

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

7125:                                             ; No predecessors!
  br label %7126

7126:                                             ; preds = %7125
  br label %7127

7127:                                             ; preds = %7126, %7069
  br label %7128

7128:                                             ; preds = %7127
  br label %7129

7129:                                             ; preds = %7128
  br label %7130

7130:                                             ; preds = %7129
  %7131 = load i32, ptr @test_count, align 4, !tbaa !5
  %7132 = add nsw i32 %7131, 1
  store i32 %7132, ptr @test_count, align 4, !tbaa !5
  %7133 = load ptr, ptr %176, align 8, !tbaa !9
  %7134 = call i32 @s2n_connection_set_secrets(ptr noundef %7133)
  %7135 = getelementptr inbounds %struct.s2n_result, ptr %178, i32 0, i32 0
  store i32 %7134, ptr %7135, align 4
  %7136 = getelementptr inbounds %struct.s2n_result, ptr %178, i32 0, i32 0
  %7137 = load i32, ptr %7136, align 4
  %7138 = call zeroext i1 @s2n_result_is_ok(i32 %7137)
  br i1 %7138, label %7192, label %7139

7139:                                             ; preds = %7130
  br label %7140

7140:                                             ; preds = %7139
  br label %7141

7141:                                             ; preds = %7140
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #10
  %7142 = call ptr @__errno_location() #11
  %7143 = load i32, ptr %7142, align 4, !tbaa !5
  store i32 %7143, ptr %179, align 4, !tbaa !5
  %7144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7145 = call i32 @s2n_print_stacktrace(ptr noundef %7144)
  %7146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7147 = trunc i8 %7146 to i1
  br i1 %7147, label %7148, label %7170

7148:                                             ; preds = %7141
  %7149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7150 = call i32 @fileno(ptr noundef %7149) #10
  %7151 = call i32 @isatty(i32 noundef %7150) #10
  %7152 = icmp ne i32 %7151, 0
  br i1 %7152, label %7153, label %7170

7153:                                             ; preds = %7148
  %7154 = load i32, ptr %179, align 4, !tbaa !5
  %7155 = call ptr @__errno_location() #11
  store i32 %7154, ptr %7155, align 4, !tbaa !5
  %7156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7157 = load i32, ptr @test_count, align 4, !tbaa !5
  %7158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7159 = load i32, ptr %7158, align 4, !tbaa !5
  %7160 = call ptr @s2n_strerror(i32 noundef %7159, ptr noundef @.str.3)
  %7161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7162 = load i32, ptr %7161, align 4, !tbaa !5
  %7163 = call ptr @s2n_strerror_debug(i32 noundef %7162, ptr noundef @.str.3)
  %7164 = call ptr @__errno_location() #11
  %7165 = load i32, ptr %7164, align 4, !tbaa !5
  %7166 = call ptr @strerror(i32 noundef %7165) #10
  %7167 = call ptr @__errno_location() #11
  %7168 = load i32, ptr %7167, align 4, !tbaa !5
  %7169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7156, ptr noundef @.str, i32 noundef %7157, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 400, ptr noundef %7160, ptr noundef %7163, ptr noundef %7166, i32 noundef %7168) #10
  br label %7187

7170:                                             ; preds = %7148, %7141
  %7171 = load i32, ptr %179, align 4, !tbaa !5
  %7172 = call ptr @__errno_location() #11
  store i32 %7171, ptr %7172, align 4, !tbaa !5
  %7173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7174 = load i32, ptr @test_count, align 4, !tbaa !5
  %7175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7176 = load i32, ptr %7175, align 4, !tbaa !5
  %7177 = call ptr @s2n_strerror(i32 noundef %7176, ptr noundef @.str.3)
  %7178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7179 = load i32, ptr %7178, align 4, !tbaa !5
  %7180 = call ptr @s2n_strerror_debug(i32 noundef %7179, ptr noundef @.str.3)
  %7181 = call ptr @__errno_location() #11
  %7182 = load i32, ptr %7181, align 4, !tbaa !5
  %7183 = call ptr @strerror(i32 noundef %7182) #10
  %7184 = call ptr @__errno_location() #11
  %7185 = load i32, ptr %7184, align 4, !tbaa !5
  %7186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7173, ptr noundef @.str.4, i32 noundef %7174, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 400, ptr noundef %7177, ptr noundef %7180, ptr noundef %7183, i32 noundef %7185) #10
  br label %7187

7187:                                             ; preds = %7170, %7153
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #10
  br label %7188

7188:                                             ; preds = %7187
  br label %7189

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

7190:                                             ; No predecessors!
  br label %7191

7191:                                             ; preds = %7190
  br label %7192

7192:                                             ; preds = %7191, %7130
  br label %7193

7193:                                             ; preds = %7192
  br label %7194

7194:                                             ; preds = %7193
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #10
  store i32 10, ptr %180, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 64, ptr %181) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %181, ptr align 16 @__const.main.results.51, i64 64, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr %182) #10
  %7195 = getelementptr inbounds %struct.s2n_send_context, ptr %182, i32 0, i32 0
  store i64 0, ptr %7195, align 8, !tbaa !23
  %7196 = getelementptr inbounds %struct.s2n_send_context, ptr %182, i32 0, i32 1
  store i64 0, ptr %7196, align 8, !tbaa !25
  %7197 = getelementptr inbounds %struct.s2n_send_context, ptr %182, i32 0, i32 2
  %7198 = getelementptr inbounds [8 x %struct.s2n_send_result], ptr %181, i64 0, i64 0
  store ptr %7198, ptr %7197, align 8, !tbaa !26
  %7199 = getelementptr inbounds %struct.s2n_send_context, ptr %182, i32 0, i32 3
  store i64 8, ptr %7199, align 8, !tbaa !27
  br label %7200

7200:                                             ; preds = %7194
  %7201 = load i32, ptr @test_count, align 4, !tbaa !5
  %7202 = add nsw i32 %7201, 1
  store i32 %7202, ptr @test_count, align 4, !tbaa !5
  %7203 = load ptr, ptr %176, align 8, !tbaa !9
  %7204 = call i32 @s2n_connection_set_send_cb(ptr noundef %7203, ptr noundef @s2n_test_send_cb)
  %7205 = icmp eq i32 %7204, -1
  br i1 %7205, label %7206, label %7259

7206:                                             ; preds = %7200
  br label %7207

7207:                                             ; preds = %7206
  br label %7208

7208:                                             ; preds = %7207
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #10
  %7209 = call ptr @__errno_location() #11
  %7210 = load i32, ptr %7209, align 4, !tbaa !5
  store i32 %7210, ptr %183, align 4, !tbaa !5
  %7211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7212 = call i32 @s2n_print_stacktrace(ptr noundef %7211)
  %7213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7214 = trunc i8 %7213 to i1
  br i1 %7214, label %7215, label %7237

7215:                                             ; preds = %7208
  %7216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7217 = call i32 @fileno(ptr noundef %7216) #10
  %7218 = call i32 @isatty(i32 noundef %7217) #10
  %7219 = icmp ne i32 %7218, 0
  br i1 %7219, label %7220, label %7237

7220:                                             ; preds = %7215
  %7221 = load i32, ptr %183, align 4, !tbaa !5
  %7222 = call ptr @__errno_location() #11
  store i32 %7221, ptr %7222, align 4, !tbaa !5
  %7223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7224 = load i32, ptr @test_count, align 4, !tbaa !5
  %7225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7226 = load i32, ptr %7225, align 4, !tbaa !5
  %7227 = call ptr @s2n_strerror(i32 noundef %7226, ptr noundef @.str.3)
  %7228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7229 = load i32, ptr %7228, align 4, !tbaa !5
  %7230 = call ptr @s2n_strerror_debug(i32 noundef %7229, ptr noundef @.str.3)
  %7231 = call ptr @__errno_location() #11
  %7232 = load i32, ptr %7231, align 4, !tbaa !5
  %7233 = call ptr @strerror(i32 noundef %7232) #10
  %7234 = call ptr @__errno_location() #11
  %7235 = load i32, ptr %7234, align 4, !tbaa !5
  %7236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7223, ptr noundef @.str, i32 noundef %7224, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 412, ptr noundef %7227, ptr noundef %7230, ptr noundef %7233, i32 noundef %7235) #10
  br label %7254

7237:                                             ; preds = %7215, %7208
  %7238 = load i32, ptr %183, align 4, !tbaa !5
  %7239 = call ptr @__errno_location() #11
  store i32 %7238, ptr %7239, align 4, !tbaa !5
  %7240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7241 = load i32, ptr @test_count, align 4, !tbaa !5
  %7242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7243 = load i32, ptr %7242, align 4, !tbaa !5
  %7244 = call ptr @s2n_strerror(i32 noundef %7243, ptr noundef @.str.3)
  %7245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7246 = load i32, ptr %7245, align 4, !tbaa !5
  %7247 = call ptr @s2n_strerror_debug(i32 noundef %7246, ptr noundef @.str.3)
  %7248 = call ptr @__errno_location() #11
  %7249 = load i32, ptr %7248, align 4, !tbaa !5
  %7250 = call ptr @strerror(i32 noundef %7249) #10
  %7251 = call ptr @__errno_location() #11
  %7252 = load i32, ptr %7251, align 4, !tbaa !5
  %7253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7240, ptr noundef @.str.4, i32 noundef %7241, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 412, ptr noundef %7244, ptr noundef %7247, ptr noundef %7250, i32 noundef %7252) #10
  br label %7254

7254:                                             ; preds = %7237, %7220
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #10
  br label %7255

7255:                                             ; preds = %7254
  br label %7256

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

7257:                                             ; No predecessors!
  br label %7258

7258:                                             ; preds = %7257
  br label %7259

7259:                                             ; preds = %7258, %7200
  br label %7260

7260:                                             ; preds = %7259
  br label %7261

7261:                                             ; preds = %7260
  br label %7262

7262:                                             ; preds = %7261
  %7263 = load i32, ptr @test_count, align 4, !tbaa !5
  %7264 = add nsw i32 %7263, 1
  store i32 %7264, ptr @test_count, align 4, !tbaa !5
  %7265 = load ptr, ptr %176, align 8, !tbaa !9
  %7266 = call i32 @s2n_connection_set_send_ctx(ptr noundef %7265, ptr noundef %182)
  %7267 = icmp eq i32 %7266, -1
  br i1 %7267, label %7268, label %7321

7268:                                             ; preds = %7262
  br label %7269

7269:                                             ; preds = %7268
  br label %7270

7270:                                             ; preds = %7269
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #10
  %7271 = call ptr @__errno_location() #11
  %7272 = load i32, ptr %7271, align 4, !tbaa !5
  store i32 %7272, ptr %184, align 4, !tbaa !5
  %7273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7274 = call i32 @s2n_print_stacktrace(ptr noundef %7273)
  %7275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7276 = trunc i8 %7275 to i1
  br i1 %7276, label %7277, label %7299

7277:                                             ; preds = %7270
  %7278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7279 = call i32 @fileno(ptr noundef %7278) #10
  %7280 = call i32 @isatty(i32 noundef %7279) #10
  %7281 = icmp ne i32 %7280, 0
  br i1 %7281, label %7282, label %7299

7282:                                             ; preds = %7277
  %7283 = load i32, ptr %184, align 4, !tbaa !5
  %7284 = call ptr @__errno_location() #11
  store i32 %7283, ptr %7284, align 4, !tbaa !5
  %7285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7286 = load i32, ptr @test_count, align 4, !tbaa !5
  %7287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7288 = load i32, ptr %7287, align 4, !tbaa !5
  %7289 = call ptr @s2n_strerror(i32 noundef %7288, ptr noundef @.str.3)
  %7290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7291 = load i32, ptr %7290, align 4, !tbaa !5
  %7292 = call ptr @s2n_strerror_debug(i32 noundef %7291, ptr noundef @.str.3)
  %7293 = call ptr @__errno_location() #11
  %7294 = load i32, ptr %7293, align 4, !tbaa !5
  %7295 = call ptr @strerror(i32 noundef %7294) #10
  %7296 = call ptr @__errno_location() #11
  %7297 = load i32, ptr %7296, align 4, !tbaa !5
  %7298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7285, ptr noundef @.str, i32 noundef %7286, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 413, ptr noundef %7289, ptr noundef %7292, ptr noundef %7295, i32 noundef %7297) #10
  br label %7316

7299:                                             ; preds = %7277, %7270
  %7300 = load i32, ptr %184, align 4, !tbaa !5
  %7301 = call ptr @__errno_location() #11
  store i32 %7300, ptr %7301, align 4, !tbaa !5
  %7302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7303 = load i32, ptr @test_count, align 4, !tbaa !5
  %7304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7305 = load i32, ptr %7304, align 4, !tbaa !5
  %7306 = call ptr @s2n_strerror(i32 noundef %7305, ptr noundef @.str.3)
  %7307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7308 = load i32, ptr %7307, align 4, !tbaa !5
  %7309 = call ptr @s2n_strerror_debug(i32 noundef %7308, ptr noundef @.str.3)
  %7310 = call ptr @__errno_location() #11
  %7311 = load i32, ptr %7310, align 4, !tbaa !5
  %7312 = call ptr @strerror(i32 noundef %7311) #10
  %7313 = call ptr @__errno_location() #11
  %7314 = load i32, ptr %7313, align 4, !tbaa !5
  %7315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7302, ptr noundef @.str.4, i32 noundef %7303, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 413, ptr noundef %7306, ptr noundef %7309, ptr noundef %7312, i32 noundef %7314) #10
  br label %7316

7316:                                             ; preds = %7299, %7282
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #10
  br label %7317

7317:                                             ; preds = %7316
  br label %7318

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

7319:                                             ; No predecessors!
  br label %7320

7320:                                             ; preds = %7319
  br label %7321

7321:                                             ; preds = %7320, %7262
  br label %7322

7322:                                             ; preds = %7321
  br label %7323

7323:                                             ; preds = %7322
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #10
  store i32 0, ptr %185, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %186) #10
  %7324 = getelementptr inbounds [4 x i64], ptr %33, i64 0, i64 0
  %7325 = load i64, ptr %7324, align 16, !tbaa !15
  store i64 %7325, ptr %186, align 8, !tbaa !15
  br label %7326

7326:                                             ; preds = %7323
  %7327 = load i32, ptr @test_count, align 4, !tbaa !5
  %7328 = add nsw i32 %7327, 1
  store i32 %7328, ptr @test_count, align 4, !tbaa !5
  %7329 = load ptr, ptr %176, align 8, !tbaa !9
  %7330 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %7331 = call i64 @s2n_send(ptr noundef %7329, ptr noundef %7330, i64 noundef 16394, ptr noundef %185)
  %7332 = icmp eq i64 %7331, 8087
  br i1 %7332, label %7386, label %7333

7333:                                             ; preds = %7326
  br label %7334

7334:                                             ; preds = %7333
  br label %7335

7335:                                             ; preds = %7334
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #10
  %7336 = call ptr @__errno_location() #11
  %7337 = load i32, ptr %7336, align 4, !tbaa !5
  store i32 %7337, ptr %187, align 4, !tbaa !5
  %7338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7339 = call i32 @s2n_print_stacktrace(ptr noundef %7338)
  %7340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7341 = trunc i8 %7340 to i1
  br i1 %7341, label %7342, label %7364

7342:                                             ; preds = %7335
  %7343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7344 = call i32 @fileno(ptr noundef %7343) #10
  %7345 = call i32 @isatty(i32 noundef %7344) #10
  %7346 = icmp ne i32 %7345, 0
  br i1 %7346, label %7347, label %7364

7347:                                             ; preds = %7342
  %7348 = load i32, ptr %187, align 4, !tbaa !5
  %7349 = call ptr @__errno_location() #11
  store i32 %7348, ptr %7349, align 4, !tbaa !5
  %7350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7351 = load i32, ptr @test_count, align 4, !tbaa !5
  %7352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7353 = load i32, ptr %7352, align 4, !tbaa !5
  %7354 = call ptr @s2n_strerror(i32 noundef %7353, ptr noundef @.str.3)
  %7355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7356 = load i32, ptr %7355, align 4, !tbaa !5
  %7357 = call ptr @s2n_strerror_debug(i32 noundef %7356, ptr noundef @.str.3)
  %7358 = call ptr @__errno_location() #11
  %7359 = load i32, ptr %7358, align 4, !tbaa !5
  %7360 = call ptr @strerror(i32 noundef %7359) #10
  %7361 = call ptr @__errno_location() #11
  %7362 = load i32, ptr %7361, align 4, !tbaa !5
  %7363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7350, ptr noundef @.str, i32 noundef %7351, ptr noundef @.str.52, ptr noundef @.str.2, i32 noundef 420, ptr noundef %7354, ptr noundef %7357, ptr noundef %7360, i32 noundef %7362) #10
  br label %7381

7364:                                             ; preds = %7342, %7335
  %7365 = load i32, ptr %187, align 4, !tbaa !5
  %7366 = call ptr @__errno_location() #11
  store i32 %7365, ptr %7366, align 4, !tbaa !5
  %7367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7368 = load i32, ptr @test_count, align 4, !tbaa !5
  %7369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7370 = load i32, ptr %7369, align 4, !tbaa !5
  %7371 = call ptr @s2n_strerror(i32 noundef %7370, ptr noundef @.str.3)
  %7372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7373 = load i32, ptr %7372, align 4, !tbaa !5
  %7374 = call ptr @s2n_strerror_debug(i32 noundef %7373, ptr noundef @.str.3)
  %7375 = call ptr @__errno_location() #11
  %7376 = load i32, ptr %7375, align 4, !tbaa !5
  %7377 = call ptr @strerror(i32 noundef %7376) #10
  %7378 = call ptr @__errno_location() #11
  %7379 = load i32, ptr %7378, align 4, !tbaa !5
  %7380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7367, ptr noundef @.str.4, i32 noundef %7368, ptr noundef @.str.52, ptr noundef @.str.2, i32 noundef 420, ptr noundef %7371, ptr noundef %7374, ptr noundef %7377, i32 noundef %7379) #10
  br label %7381

7381:                                             ; preds = %7364, %7347
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #10
  br label %7382

7382:                                             ; preds = %7381
  br label %7383

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

7384:                                             ; No predecessors!
  br label %7385

7385:                                             ; preds = %7384
  br label %7386

7386:                                             ; preds = %7385, %7326
  br label %7387

7387:                                             ; preds = %7386
  br label %7388

7388:                                             ; preds = %7387
  br label %7389

7389:                                             ; preds = %7388
  %7390 = load i32, ptr @test_count, align 4, !tbaa !5
  %7391 = add nsw i32 %7390, 1
  store i32 %7391, ptr @test_count, align 4, !tbaa !5
  %7392 = load i32, ptr %185, align 4, !tbaa !5
  %7393 = icmp eq i32 %7392, 2
  br i1 %7393, label %7447, label %7394

7394:                                             ; preds = %7389
  br label %7395

7395:                                             ; preds = %7394
  br label %7396

7396:                                             ; preds = %7395
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #10
  %7397 = call ptr @__errno_location() #11
  %7398 = load i32, ptr %7397, align 4, !tbaa !5
  store i32 %7398, ptr %188, align 4, !tbaa !5
  %7399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7400 = call i32 @s2n_print_stacktrace(ptr noundef %7399)
  %7401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7402 = trunc i8 %7401 to i1
  br i1 %7402, label %7403, label %7425

7403:                                             ; preds = %7396
  %7404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7405 = call i32 @fileno(ptr noundef %7404) #10
  %7406 = call i32 @isatty(i32 noundef %7405) #10
  %7407 = icmp ne i32 %7406, 0
  br i1 %7407, label %7408, label %7425

7408:                                             ; preds = %7403
  %7409 = load i32, ptr %188, align 4, !tbaa !5
  %7410 = call ptr @__errno_location() #11
  store i32 %7409, ptr %7410, align 4, !tbaa !5
  %7411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7412 = load i32, ptr @test_count, align 4, !tbaa !5
  %7413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7414 = load i32, ptr %7413, align 4, !tbaa !5
  %7415 = call ptr @s2n_strerror(i32 noundef %7414, ptr noundef @.str.3)
  %7416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7417 = load i32, ptr %7416, align 4, !tbaa !5
  %7418 = call ptr @s2n_strerror_debug(i32 noundef %7417, ptr noundef @.str.3)
  %7419 = call ptr @__errno_location() #11
  %7420 = load i32, ptr %7419, align 4, !tbaa !5
  %7421 = call ptr @strerror(i32 noundef %7420) #10
  %7422 = call ptr @__errno_location() #11
  %7423 = load i32, ptr %7422, align 4, !tbaa !5
  %7424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7411, ptr noundef @.str, i32 noundef %7412, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 421, ptr noundef %7415, ptr noundef %7418, ptr noundef %7421, i32 noundef %7423) #10
  br label %7442

7425:                                             ; preds = %7403, %7396
  %7426 = load i32, ptr %188, align 4, !tbaa !5
  %7427 = call ptr @__errno_location() #11
  store i32 %7426, ptr %7427, align 4, !tbaa !5
  %7428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7429 = load i32, ptr @test_count, align 4, !tbaa !5
  %7430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7431 = load i32, ptr %7430, align 4, !tbaa !5
  %7432 = call ptr @s2n_strerror(i32 noundef %7431, ptr noundef @.str.3)
  %7433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7434 = load i32, ptr %7433, align 4, !tbaa !5
  %7435 = call ptr @s2n_strerror_debug(i32 noundef %7434, ptr noundef @.str.3)
  %7436 = call ptr @__errno_location() #11
  %7437 = load i32, ptr %7436, align 4, !tbaa !5
  %7438 = call ptr @strerror(i32 noundef %7437) #10
  %7439 = call ptr @__errno_location() #11
  %7440 = load i32, ptr %7439, align 4, !tbaa !5
  %7441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7428, ptr noundef @.str.4, i32 noundef %7429, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 421, ptr noundef %7432, ptr noundef %7435, ptr noundef %7438, i32 noundef %7440) #10
  br label %7442

7442:                                             ; preds = %7425, %7408
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #10
  br label %7443

7443:                                             ; preds = %7442
  br label %7444

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

7445:                                             ; No predecessors!
  br label %7446

7446:                                             ; preds = %7445
  br label %7447

7447:                                             ; preds = %7446, %7389
  br label %7448

7448:                                             ; preds = %7447
  br label %7449

7449:                                             ; preds = %7448
  br label %7450

7450:                                             ; preds = %7449
  %7451 = load i32, ptr @test_count, align 4, !tbaa !5
  %7452 = add nsw i32 %7451, 1
  store i32 %7452, ptr @test_count, align 4, !tbaa !5
  %7453 = getelementptr inbounds %struct.s2n_send_context, ptr %182, i32 0, i32 1
  %7454 = load i64, ptr %7453, align 8, !tbaa !25
  %7455 = load i64, ptr %186, align 8, !tbaa !15
  %7456 = add nsw i64 %7455, 10
  %7457 = icmp eq i64 %7454, %7456
  br i1 %7457, label %7511, label %7458

7458:                                             ; preds = %7450
  br label %7459

7459:                                             ; preds = %7458
  br label %7460

7460:                                             ; preds = %7459
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #10
  %7461 = call ptr @__errno_location() #11
  %7462 = load i32, ptr %7461, align 4, !tbaa !5
  store i32 %7462, ptr %189, align 4, !tbaa !5
  %7463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7464 = call i32 @s2n_print_stacktrace(ptr noundef %7463)
  %7465 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7466 = trunc i8 %7465 to i1
  br i1 %7466, label %7467, label %7489

7467:                                             ; preds = %7460
  %7468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7469 = call i32 @fileno(ptr noundef %7468) #10
  %7470 = call i32 @isatty(i32 noundef %7469) #10
  %7471 = icmp ne i32 %7470, 0
  br i1 %7471, label %7472, label %7489

7472:                                             ; preds = %7467
  %7473 = load i32, ptr %189, align 4, !tbaa !5
  %7474 = call ptr @__errno_location() #11
  store i32 %7473, ptr %7474, align 4, !tbaa !5
  %7475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7476 = load i32, ptr @test_count, align 4, !tbaa !5
  %7477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7478 = load i32, ptr %7477, align 4, !tbaa !5
  %7479 = call ptr @s2n_strerror(i32 noundef %7478, ptr noundef @.str.3)
  %7480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7481 = load i32, ptr %7480, align 4, !tbaa !5
  %7482 = call ptr @s2n_strerror_debug(i32 noundef %7481, ptr noundef @.str.3)
  %7483 = call ptr @__errno_location() #11
  %7484 = load i32, ptr %7483, align 4, !tbaa !5
  %7485 = call ptr @strerror(i32 noundef %7484) #10
  %7486 = call ptr @__errno_location() #11
  %7487 = load i32, ptr %7486, align 4, !tbaa !5
  %7488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7475, ptr noundef @.str, i32 noundef %7476, ptr noundef @.str.53, ptr noundef @.str.2, i32 noundef 422, ptr noundef %7479, ptr noundef %7482, ptr noundef %7485, i32 noundef %7487) #10
  br label %7506

7489:                                             ; preds = %7467, %7460
  %7490 = load i32, ptr %189, align 4, !tbaa !5
  %7491 = call ptr @__errno_location() #11
  store i32 %7490, ptr %7491, align 4, !tbaa !5
  %7492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7493 = load i32, ptr @test_count, align 4, !tbaa !5
  %7494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7495 = load i32, ptr %7494, align 4, !tbaa !5
  %7496 = call ptr @s2n_strerror(i32 noundef %7495, ptr noundef @.str.3)
  %7497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7498 = load i32, ptr %7497, align 4, !tbaa !5
  %7499 = call ptr @s2n_strerror_debug(i32 noundef %7498, ptr noundef @.str.3)
  %7500 = call ptr @__errno_location() #11
  %7501 = load i32, ptr %7500, align 4, !tbaa !5
  %7502 = call ptr @strerror(i32 noundef %7501) #10
  %7503 = call ptr @__errno_location() #11
  %7504 = load i32, ptr %7503, align 4, !tbaa !5
  %7505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7492, ptr noundef @.str.4, i32 noundef %7493, ptr noundef @.str.53, ptr noundef @.str.2, i32 noundef 422, ptr noundef %7496, ptr noundef %7499, ptr noundef %7502, i32 noundef %7504) #10
  br label %7506

7506:                                             ; preds = %7489, %7472
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #10
  br label %7507

7507:                                             ; preds = %7506
  br label %7508

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

7509:                                             ; No predecessors!
  br label %7510

7510:                                             ; preds = %7509
  br label %7511

7511:                                             ; preds = %7510, %7450
  br label %7512

7512:                                             ; preds = %7511
  br label %7513

7513:                                             ; preds = %7512
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #10
  store i32 8087, ptr %190, align 4, !tbaa !5
  br label %7514

7514:                                             ; preds = %7513
  br label %7515

7515:                                             ; preds = %7514
  br label %7516

7516:                                             ; preds = %7515
  %7517 = load i32, ptr @test_count, align 4, !tbaa !5
  %7518 = add nsw i32 %7517, 1
  store i32 %7518, ptr @test_count, align 4, !tbaa !5
  %7519 = load ptr, ptr %176, align 8, !tbaa !9
  %7520 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %7521 = getelementptr inbounds i8, ptr %7520, i64 8087
  %7522 = call i64 @s2n_send(ptr noundef %7519, ptr noundef %7521, i64 noundef 8307, ptr noundef %185)
  %7523 = icmp eq i64 %7522, -1
  br i1 %7523, label %7577, label %7524

7524:                                             ; preds = %7516
  br label %7525

7525:                                             ; preds = %7524
  br label %7526

7526:                                             ; preds = %7525
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #10
  %7527 = call ptr @__errno_location() #11
  %7528 = load i32, ptr %7527, align 4, !tbaa !5
  store i32 %7528, ptr %191, align 4, !tbaa !5
  %7529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7530 = call i32 @s2n_print_stacktrace(ptr noundef %7529)
  %7531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7532 = trunc i8 %7531 to i1
  br i1 %7532, label %7533, label %7555

7533:                                             ; preds = %7526
  %7534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7535 = call i32 @fileno(ptr noundef %7534) #10
  %7536 = call i32 @isatty(i32 noundef %7535) #10
  %7537 = icmp ne i32 %7536, 0
  br i1 %7537, label %7538, label %7555

7538:                                             ; preds = %7533
  %7539 = load i32, ptr %191, align 4, !tbaa !5
  %7540 = call ptr @__errno_location() #11
  store i32 %7539, ptr %7540, align 4, !tbaa !5
  %7541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7542 = load i32, ptr @test_count, align 4, !tbaa !5
  %7543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7544 = load i32, ptr %7543, align 4, !tbaa !5
  %7545 = call ptr @s2n_strerror(i32 noundef %7544, ptr noundef @.str.3)
  %7546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7547 = load i32, ptr %7546, align 4, !tbaa !5
  %7548 = call ptr @s2n_strerror_debug(i32 noundef %7547, ptr noundef @.str.3)
  %7549 = call ptr @__errno_location() #11
  %7550 = load i32, ptr %7549, align 4, !tbaa !5
  %7551 = call ptr @strerror(i32 noundef %7550) #10
  %7552 = call ptr @__errno_location() #11
  %7553 = load i32, ptr %7552, align 4, !tbaa !5
  %7554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7541, ptr noundef @.str, i32 noundef %7542, ptr noundef @.str.54, ptr noundef @.str.2, i32 noundef 429, ptr noundef %7545, ptr noundef %7548, ptr noundef %7551, i32 noundef %7553) #10
  br label %7572

7555:                                             ; preds = %7533, %7526
  %7556 = load i32, ptr %191, align 4, !tbaa !5
  %7557 = call ptr @__errno_location() #11
  store i32 %7556, ptr %7557, align 4, !tbaa !5
  %7558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7559 = load i32, ptr @test_count, align 4, !tbaa !5
  %7560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7561 = load i32, ptr %7560, align 4, !tbaa !5
  %7562 = call ptr @s2n_strerror(i32 noundef %7561, ptr noundef @.str.3)
  %7563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7564 = load i32, ptr %7563, align 4, !tbaa !5
  %7565 = call ptr @s2n_strerror_debug(i32 noundef %7564, ptr noundef @.str.3)
  %7566 = call ptr @__errno_location() #11
  %7567 = load i32, ptr %7566, align 4, !tbaa !5
  %7568 = call ptr @strerror(i32 noundef %7567) #10
  %7569 = call ptr @__errno_location() #11
  %7570 = load i32, ptr %7569, align 4, !tbaa !5
  %7571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7558, ptr noundef @.str.4, i32 noundef %7559, ptr noundef @.str.54, ptr noundef @.str.2, i32 noundef 429, ptr noundef %7562, ptr noundef %7565, ptr noundef %7568, i32 noundef %7570) #10
  br label %7572

7572:                                             ; preds = %7555, %7538
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #10
  br label %7573

7573:                                             ; preds = %7572
  br label %7574

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

7575:                                             ; No predecessors!
  br label %7576

7576:                                             ; preds = %7575
  br label %7577

7577:                                             ; preds = %7576, %7516
  br label %7578

7578:                                             ; preds = %7577
  br label %7579

7579:                                             ; preds = %7578
  br label %7580

7580:                                             ; preds = %7579
  %7581 = load i32, ptr @test_count, align 4, !tbaa !5
  %7582 = add nsw i32 %7581, 1
  store i32 %7582, ptr @test_count, align 4, !tbaa !5
  %7583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7584 = load i32, ptr %7583, align 4, !tbaa !5
  %7585 = icmp eq i32 %7584, 201326592
  br i1 %7585, label %7639, label %7586

7586:                                             ; preds = %7580
  br label %7587

7587:                                             ; preds = %7586
  br label %7588

7588:                                             ; preds = %7587
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #10
  %7589 = call ptr @__errno_location() #11
  %7590 = load i32, ptr %7589, align 4, !tbaa !5
  store i32 %7590, ptr %192, align 4, !tbaa !5
  %7591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7592 = call i32 @s2n_print_stacktrace(ptr noundef %7591)
  %7593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7594 = trunc i8 %7593 to i1
  br i1 %7594, label %7595, label %7617

7595:                                             ; preds = %7588
  %7596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7597 = call i32 @fileno(ptr noundef %7596) #10
  %7598 = call i32 @isatty(i32 noundef %7597) #10
  %7599 = icmp ne i32 %7598, 0
  br i1 %7599, label %7600, label %7617

7600:                                             ; preds = %7595
  %7601 = load i32, ptr %192, align 4, !tbaa !5
  %7602 = call ptr @__errno_location() #11
  store i32 %7601, ptr %7602, align 4, !tbaa !5
  %7603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7604 = load i32, ptr @test_count, align 4, !tbaa !5
  %7605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7606 = load i32, ptr %7605, align 4, !tbaa !5
  %7607 = call ptr @s2n_strerror(i32 noundef %7606, ptr noundef @.str.3)
  %7608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7609 = load i32, ptr %7608, align 4, !tbaa !5
  %7610 = call ptr @s2n_strerror_debug(i32 noundef %7609, ptr noundef @.str.3)
  %7611 = call ptr @__errno_location() #11
  %7612 = load i32, ptr %7611, align 4, !tbaa !5
  %7613 = call ptr @strerror(i32 noundef %7612) #10
  %7614 = call ptr @__errno_location() #11
  %7615 = load i32, ptr %7614, align 4, !tbaa !5
  %7616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7603, ptr noundef @.str, i32 noundef %7604, ptr noundef @.str.43, ptr noundef @.str.2, i32 noundef 429, ptr noundef %7607, ptr noundef %7610, ptr noundef %7613, i32 noundef %7615) #10
  br label %7634

7617:                                             ; preds = %7595, %7588
  %7618 = load i32, ptr %192, align 4, !tbaa !5
  %7619 = call ptr @__errno_location() #11
  store i32 %7618, ptr %7619, align 4, !tbaa !5
  %7620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7621 = load i32, ptr @test_count, align 4, !tbaa !5
  %7622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7623 = load i32, ptr %7622, align 4, !tbaa !5
  %7624 = call ptr @s2n_strerror(i32 noundef %7623, ptr noundef @.str.3)
  %7625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7626 = load i32, ptr %7625, align 4, !tbaa !5
  %7627 = call ptr @s2n_strerror_debug(i32 noundef %7626, ptr noundef @.str.3)
  %7628 = call ptr @__errno_location() #11
  %7629 = load i32, ptr %7628, align 4, !tbaa !5
  %7630 = call ptr @strerror(i32 noundef %7629) #10
  %7631 = call ptr @__errno_location() #11
  %7632 = load i32, ptr %7631, align 4, !tbaa !5
  %7633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7620, ptr noundef @.str.4, i32 noundef %7621, ptr noundef @.str.43, ptr noundef @.str.2, i32 noundef 429, ptr noundef %7624, ptr noundef %7627, ptr noundef %7630, i32 noundef %7632) #10
  br label %7634

7634:                                             ; preds = %7617, %7600
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #10
  br label %7635

7635:                                             ; preds = %7634
  br label %7636

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

7637:                                             ; No predecessors!
  br label %7638

7638:                                             ; preds = %7637
  br label %7639

7639:                                             ; preds = %7638, %7580
  br label %7640

7640:                                             ; preds = %7639
  br label %7641

7641:                                             ; preds = %7640
  br label %7642

7642:                                             ; preds = %7641
  %7643 = load i32, ptr @test_count, align 4, !tbaa !5
  %7644 = add nsw i32 %7643, 1
  store i32 %7644, ptr @test_count, align 4, !tbaa !5
  %7645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7646 = load i32, ptr %7645, align 4, !tbaa !5
  %7647 = call ptr @s2n_strerror_debug(i32 noundef %7646, ptr noundef @.str.3)
  %7648 = icmp eq ptr %7647, null
  br i1 %7648, label %7649, label %7702

7649:                                             ; preds = %7642
  br label %7650

7650:                                             ; preds = %7649
  br label %7651

7651:                                             ; preds = %7650
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #10
  %7652 = call ptr @__errno_location() #11
  %7653 = load i32, ptr %7652, align 4, !tbaa !5
  store i32 %7653, ptr %193, align 4, !tbaa !5
  %7654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7655 = call i32 @s2n_print_stacktrace(ptr noundef %7654)
  %7656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7657 = trunc i8 %7656 to i1
  br i1 %7657, label %7658, label %7680

7658:                                             ; preds = %7651
  %7659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7660 = call i32 @fileno(ptr noundef %7659) #10
  %7661 = call i32 @isatty(i32 noundef %7660) #10
  %7662 = icmp ne i32 %7661, 0
  br i1 %7662, label %7663, label %7680

7663:                                             ; preds = %7658
  %7664 = load i32, ptr %193, align 4, !tbaa !5
  %7665 = call ptr @__errno_location() #11
  store i32 %7664, ptr %7665, align 4, !tbaa !5
  %7666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7667 = load i32, ptr @test_count, align 4, !tbaa !5
  %7668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7669 = load i32, ptr %7668, align 4, !tbaa !5
  %7670 = call ptr @s2n_strerror(i32 noundef %7669, ptr noundef @.str.3)
  %7671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7672 = load i32, ptr %7671, align 4, !tbaa !5
  %7673 = call ptr @s2n_strerror_debug(i32 noundef %7672, ptr noundef @.str.3)
  %7674 = call ptr @__errno_location() #11
  %7675 = load i32, ptr %7674, align 4, !tbaa !5
  %7676 = call ptr @strerror(i32 noundef %7675) #10
  %7677 = call ptr @__errno_location() #11
  %7678 = load i32, ptr %7677, align 4, !tbaa !5
  %7679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7666, ptr noundef @.str, i32 noundef %7667, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 429, ptr noundef %7670, ptr noundef %7673, ptr noundef %7676, i32 noundef %7678) #10
  br label %7697

7680:                                             ; preds = %7658, %7651
  %7681 = load i32, ptr %193, align 4, !tbaa !5
  %7682 = call ptr @__errno_location() #11
  store i32 %7681, ptr %7682, align 4, !tbaa !5
  %7683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7684 = load i32, ptr @test_count, align 4, !tbaa !5
  %7685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7686 = load i32, ptr %7685, align 4, !tbaa !5
  %7687 = call ptr @s2n_strerror(i32 noundef %7686, ptr noundef @.str.3)
  %7688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7689 = load i32, ptr %7688, align 4, !tbaa !5
  %7690 = call ptr @s2n_strerror_debug(i32 noundef %7689, ptr noundef @.str.3)
  %7691 = call ptr @__errno_location() #11
  %7692 = load i32, ptr %7691, align 4, !tbaa !5
  %7693 = call ptr @strerror(i32 noundef %7692) #10
  %7694 = call ptr @__errno_location() #11
  %7695 = load i32, ptr %7694, align 4, !tbaa !5
  %7696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7683, ptr noundef @.str.4, i32 noundef %7684, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 429, ptr noundef %7687, ptr noundef %7690, ptr noundef %7693, i32 noundef %7695) #10
  br label %7697

7697:                                             ; preds = %7680, %7663
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #10
  br label %7698

7698:                                             ; preds = %7697
  br label %7699

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

7700:                                             ; No predecessors!
  br label %7701

7701:                                             ; preds = %7700
  br label %7702

7702:                                             ; preds = %7701, %7642
  br label %7703

7703:                                             ; preds = %7702
  br label %7704

7704:                                             ; preds = %7703
  br label %7705

7705:                                             ; preds = %7704
  br label %7706

7706:                                             ; preds = %7705
  br label %7707

7707:                                             ; preds = %7706
  %7708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7708, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7709 = call ptr @__errno_location() #11
  store i32 0, ptr %7709, align 4, !tbaa !5
  br label %7710

7710:                                             ; preds = %7707
  br label %7711

7711:                                             ; preds = %7710
  br label %7712

7712:                                             ; preds = %7711
  br label %7713

7713:                                             ; preds = %7712
  br label %7714

7714:                                             ; preds = %7713
  %7715 = load i32, ptr @test_count, align 4, !tbaa !5
  %7716 = add nsw i32 %7715, 1
  store i32 %7716, ptr @test_count, align 4, !tbaa !5
  %7717 = load i32, ptr %185, align 4, !tbaa !5
  %7718 = icmp eq i32 %7717, 2
  br i1 %7718, label %7772, label %7719

7719:                                             ; preds = %7714
  br label %7720

7720:                                             ; preds = %7719
  br label %7721

7721:                                             ; preds = %7720
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #10
  %7722 = call ptr @__errno_location() #11
  %7723 = load i32, ptr %7722, align 4, !tbaa !5
  store i32 %7723, ptr %194, align 4, !tbaa !5
  %7724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7725 = call i32 @s2n_print_stacktrace(ptr noundef %7724)
  %7726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7727 = trunc i8 %7726 to i1
  br i1 %7727, label %7728, label %7750

7728:                                             ; preds = %7721
  %7729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7730 = call i32 @fileno(ptr noundef %7729) #10
  %7731 = call i32 @isatty(i32 noundef %7730) #10
  %7732 = icmp ne i32 %7731, 0
  br i1 %7732, label %7733, label %7750

7733:                                             ; preds = %7728
  %7734 = load i32, ptr %194, align 4, !tbaa !5
  %7735 = call ptr @__errno_location() #11
  store i32 %7734, ptr %7735, align 4, !tbaa !5
  %7736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7737 = load i32, ptr @test_count, align 4, !tbaa !5
  %7738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7739 = load i32, ptr %7738, align 4, !tbaa !5
  %7740 = call ptr @s2n_strerror(i32 noundef %7739, ptr noundef @.str.3)
  %7741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7742 = load i32, ptr %7741, align 4, !tbaa !5
  %7743 = call ptr @s2n_strerror_debug(i32 noundef %7742, ptr noundef @.str.3)
  %7744 = call ptr @__errno_location() #11
  %7745 = load i32, ptr %7744, align 4, !tbaa !5
  %7746 = call ptr @strerror(i32 noundef %7745) #10
  %7747 = call ptr @__errno_location() #11
  %7748 = load i32, ptr %7747, align 4, !tbaa !5
  %7749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7736, ptr noundef @.str, i32 noundef %7737, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 430, ptr noundef %7740, ptr noundef %7743, ptr noundef %7746, i32 noundef %7748) #10
  br label %7767

7750:                                             ; preds = %7728, %7721
  %7751 = load i32, ptr %194, align 4, !tbaa !5
  %7752 = call ptr @__errno_location() #11
  store i32 %7751, ptr %7752, align 4, !tbaa !5
  %7753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7754 = load i32, ptr @test_count, align 4, !tbaa !5
  %7755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7756 = load i32, ptr %7755, align 4, !tbaa !5
  %7757 = call ptr @s2n_strerror(i32 noundef %7756, ptr noundef @.str.3)
  %7758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7759 = load i32, ptr %7758, align 4, !tbaa !5
  %7760 = call ptr @s2n_strerror_debug(i32 noundef %7759, ptr noundef @.str.3)
  %7761 = call ptr @__errno_location() #11
  %7762 = load i32, ptr %7761, align 4, !tbaa !5
  %7763 = call ptr @strerror(i32 noundef %7762) #10
  %7764 = call ptr @__errno_location() #11
  %7765 = load i32, ptr %7764, align 4, !tbaa !5
  %7766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7753, ptr noundef @.str.4, i32 noundef %7754, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 430, ptr noundef %7757, ptr noundef %7760, ptr noundef %7763, i32 noundef %7765) #10
  br label %7767

7767:                                             ; preds = %7750, %7733
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #10
  br label %7768

7768:                                             ; preds = %7767
  br label %7769

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

7770:                                             ; No predecessors!
  br label %7771

7771:                                             ; preds = %7770
  br label %7772

7772:                                             ; preds = %7771, %7714
  br label %7773

7773:                                             ; preds = %7772
  br label %7774

7774:                                             ; preds = %7773
  br label %7775

7775:                                             ; preds = %7774
  %7776 = load i32, ptr @test_count, align 4, !tbaa !5
  %7777 = add nsw i32 %7776, 1
  store i32 %7777, ptr @test_count, align 4, !tbaa !5
  %7778 = getelementptr inbounds %struct.s2n_send_context, ptr %182, i32 0, i32 1
  %7779 = load i64, ptr %7778, align 8, !tbaa !25
  %7780 = load i64, ptr %186, align 8, !tbaa !15
  %7781 = add nsw i64 %7780, 10
  %7782 = add nsw i64 %7781, 10
  %7783 = icmp eq i64 %7779, %7782
  br i1 %7783, label %7837, label %7784

7784:                                             ; preds = %7775
  br label %7785

7785:                                             ; preds = %7784
  br label %7786

7786:                                             ; preds = %7785
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #10
  %7787 = call ptr @__errno_location() #11
  %7788 = load i32, ptr %7787, align 4, !tbaa !5
  store i32 %7788, ptr %195, align 4, !tbaa !5
  %7789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7790 = call i32 @s2n_print_stacktrace(ptr noundef %7789)
  %7791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7792 = trunc i8 %7791 to i1
  br i1 %7792, label %7793, label %7815

7793:                                             ; preds = %7786
  %7794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7795 = call i32 @fileno(ptr noundef %7794) #10
  %7796 = call i32 @isatty(i32 noundef %7795) #10
  %7797 = icmp ne i32 %7796, 0
  br i1 %7797, label %7798, label %7815

7798:                                             ; preds = %7793
  %7799 = load i32, ptr %195, align 4, !tbaa !5
  %7800 = call ptr @__errno_location() #11
  store i32 %7799, ptr %7800, align 4, !tbaa !5
  %7801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7802 = load i32, ptr @test_count, align 4, !tbaa !5
  %7803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7804 = load i32, ptr %7803, align 4, !tbaa !5
  %7805 = call ptr @s2n_strerror(i32 noundef %7804, ptr noundef @.str.3)
  %7806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7807 = load i32, ptr %7806, align 4, !tbaa !5
  %7808 = call ptr @s2n_strerror_debug(i32 noundef %7807, ptr noundef @.str.3)
  %7809 = call ptr @__errno_location() #11
  %7810 = load i32, ptr %7809, align 4, !tbaa !5
  %7811 = call ptr @strerror(i32 noundef %7810) #10
  %7812 = call ptr @__errno_location() #11
  %7813 = load i32, ptr %7812, align 4, !tbaa !5
  %7814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7801, ptr noundef @.str, i32 noundef %7802, ptr noundef @.str.55, ptr noundef @.str.2, i32 noundef 431, ptr noundef %7805, ptr noundef %7808, ptr noundef %7811, i32 noundef %7813) #10
  br label %7832

7815:                                             ; preds = %7793, %7786
  %7816 = load i32, ptr %195, align 4, !tbaa !5
  %7817 = call ptr @__errno_location() #11
  store i32 %7816, ptr %7817, align 4, !tbaa !5
  %7818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7819 = load i32, ptr @test_count, align 4, !tbaa !5
  %7820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7821 = load i32, ptr %7820, align 4, !tbaa !5
  %7822 = call ptr @s2n_strerror(i32 noundef %7821, ptr noundef @.str.3)
  %7823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7824 = load i32, ptr %7823, align 4, !tbaa !5
  %7825 = call ptr @s2n_strerror_debug(i32 noundef %7824, ptr noundef @.str.3)
  %7826 = call ptr @__errno_location() #11
  %7827 = load i32, ptr %7826, align 4, !tbaa !5
  %7828 = call ptr @strerror(i32 noundef %7827) #10
  %7829 = call ptr @__errno_location() #11
  %7830 = load i32, ptr %7829, align 4, !tbaa !5
  %7831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7818, ptr noundef @.str.4, i32 noundef %7819, ptr noundef @.str.55, ptr noundef @.str.2, i32 noundef 431, ptr noundef %7822, ptr noundef %7825, ptr noundef %7828, i32 noundef %7830) #10
  br label %7832

7832:                                             ; preds = %7815, %7798
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #10
  br label %7833

7833:                                             ; preds = %7832
  br label %7834

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

7835:                                             ; No predecessors!
  br label %7836

7836:                                             ; preds = %7835
  br label %7837

7837:                                             ; preds = %7836, %7775
  br label %7838

7838:                                             ; preds = %7837
  br label %7839

7839:                                             ; preds = %7838
  br label %7840

7840:                                             ; preds = %7839
  %7841 = load i32, ptr @test_count, align 4, !tbaa !5
  %7842 = add nsw i32 %7841, 1
  store i32 %7842, ptr @test_count, align 4, !tbaa !5
  %7843 = load ptr, ptr %176, align 8, !tbaa !9
  %7844 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %7845 = getelementptr inbounds i8, ptr %7844, i64 8087
  %7846 = call i64 @s2n_send(ptr noundef %7843, ptr noundef %7845, i64 noundef 8307, ptr noundef %185)
  %7847 = icmp eq i64 %7846, 8307
  br i1 %7847, label %7901, label %7848

7848:                                             ; preds = %7840
  br label %7849

7849:                                             ; preds = %7848
  br label %7850

7850:                                             ; preds = %7849
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #10
  %7851 = call ptr @__errno_location() #11
  %7852 = load i32, ptr %7851, align 4, !tbaa !5
  store i32 %7852, ptr %196, align 4, !tbaa !5
  %7853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7854 = call i32 @s2n_print_stacktrace(ptr noundef %7853)
  %7855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7856 = trunc i8 %7855 to i1
  br i1 %7856, label %7857, label %7879

7857:                                             ; preds = %7850
  %7858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7859 = call i32 @fileno(ptr noundef %7858) #10
  %7860 = call i32 @isatty(i32 noundef %7859) #10
  %7861 = icmp ne i32 %7860, 0
  br i1 %7861, label %7862, label %7879

7862:                                             ; preds = %7857
  %7863 = load i32, ptr %196, align 4, !tbaa !5
  %7864 = call ptr @__errno_location() #11
  store i32 %7863, ptr %7864, align 4, !tbaa !5
  %7865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7866 = load i32, ptr @test_count, align 4, !tbaa !5
  %7867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7868 = load i32, ptr %7867, align 4, !tbaa !5
  %7869 = call ptr @s2n_strerror(i32 noundef %7868, ptr noundef @.str.3)
  %7870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7871 = load i32, ptr %7870, align 4, !tbaa !5
  %7872 = call ptr @s2n_strerror_debug(i32 noundef %7871, ptr noundef @.str.3)
  %7873 = call ptr @__errno_location() #11
  %7874 = load i32, ptr %7873, align 4, !tbaa !5
  %7875 = call ptr @strerror(i32 noundef %7874) #10
  %7876 = call ptr @__errno_location() #11
  %7877 = load i32, ptr %7876, align 4, !tbaa !5
  %7878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7865, ptr noundef @.str, i32 noundef %7866, ptr noundef @.str.56, ptr noundef @.str.2, i32 noundef 435, ptr noundef %7869, ptr noundef %7872, ptr noundef %7875, i32 noundef %7877) #10
  br label %7896

7879:                                             ; preds = %7857, %7850
  %7880 = load i32, ptr %196, align 4, !tbaa !5
  %7881 = call ptr @__errno_location() #11
  store i32 %7880, ptr %7881, align 4, !tbaa !5
  %7882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7883 = load i32, ptr @test_count, align 4, !tbaa !5
  %7884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7885 = load i32, ptr %7884, align 4, !tbaa !5
  %7886 = call ptr @s2n_strerror(i32 noundef %7885, ptr noundef @.str.3)
  %7887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7888 = load i32, ptr %7887, align 4, !tbaa !5
  %7889 = call ptr @s2n_strerror_debug(i32 noundef %7888, ptr noundef @.str.3)
  %7890 = call ptr @__errno_location() #11
  %7891 = load i32, ptr %7890, align 4, !tbaa !5
  %7892 = call ptr @strerror(i32 noundef %7891) #10
  %7893 = call ptr @__errno_location() #11
  %7894 = load i32, ptr %7893, align 4, !tbaa !5
  %7895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7882, ptr noundef @.str.4, i32 noundef %7883, ptr noundef @.str.56, ptr noundef @.str.2, i32 noundef 435, ptr noundef %7886, ptr noundef %7889, ptr noundef %7892, i32 noundef %7894) #10
  br label %7896

7896:                                             ; preds = %7879, %7862
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #10
  br label %7897

7897:                                             ; preds = %7896
  br label %7898

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

7899:                                             ; No predecessors!
  br label %7900

7900:                                             ; preds = %7899
  br label %7901

7901:                                             ; preds = %7900, %7840
  br label %7902

7902:                                             ; preds = %7901
  br label %7903

7903:                                             ; preds = %7902
  br label %7904

7904:                                             ; preds = %7903
  %7905 = load i32, ptr @test_count, align 4, !tbaa !5
  %7906 = add nsw i32 %7905, 1
  store i32 %7906, ptr @test_count, align 4, !tbaa !5
  %7907 = load i32, ptr %185, align 4, !tbaa !5
  %7908 = icmp eq i32 %7907, 0
  br i1 %7908, label %7962, label %7909

7909:                                             ; preds = %7904
  br label %7910

7910:                                             ; preds = %7909
  br label %7911

7911:                                             ; preds = %7910
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #10
  %7912 = call ptr @__errno_location() #11
  %7913 = load i32, ptr %7912, align 4, !tbaa !5
  store i32 %7913, ptr %197, align 4, !tbaa !5
  %7914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7915 = call i32 @s2n_print_stacktrace(ptr noundef %7914)
  %7916 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7917 = trunc i8 %7916 to i1
  br i1 %7917, label %7918, label %7940

7918:                                             ; preds = %7911
  %7919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7920 = call i32 @fileno(ptr noundef %7919) #10
  %7921 = call i32 @isatty(i32 noundef %7920) #10
  %7922 = icmp ne i32 %7921, 0
  br i1 %7922, label %7923, label %7940

7923:                                             ; preds = %7918
  %7924 = load i32, ptr %197, align 4, !tbaa !5
  %7925 = call ptr @__errno_location() #11
  store i32 %7924, ptr %7925, align 4, !tbaa !5
  %7926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7927 = load i32, ptr @test_count, align 4, !tbaa !5
  %7928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7929 = load i32, ptr %7928, align 4, !tbaa !5
  %7930 = call ptr @s2n_strerror(i32 noundef %7929, ptr noundef @.str.3)
  %7931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7932 = load i32, ptr %7931, align 4, !tbaa !5
  %7933 = call ptr @s2n_strerror_debug(i32 noundef %7932, ptr noundef @.str.3)
  %7934 = call ptr @__errno_location() #11
  %7935 = load i32, ptr %7934, align 4, !tbaa !5
  %7936 = call ptr @strerror(i32 noundef %7935) #10
  %7937 = call ptr @__errno_location() #11
  %7938 = load i32, ptr %7937, align 4, !tbaa !5
  %7939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7926, ptr noundef @.str, i32 noundef %7927, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 436, ptr noundef %7930, ptr noundef %7933, ptr noundef %7936, i32 noundef %7938) #10
  br label %7957

7940:                                             ; preds = %7918, %7911
  %7941 = load i32, ptr %197, align 4, !tbaa !5
  %7942 = call ptr @__errno_location() #11
  store i32 %7941, ptr %7942, align 4, !tbaa !5
  %7943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7944 = load i32, ptr @test_count, align 4, !tbaa !5
  %7945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7946 = load i32, ptr %7945, align 4, !tbaa !5
  %7947 = call ptr @s2n_strerror(i32 noundef %7946, ptr noundef @.str.3)
  %7948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7949 = load i32, ptr %7948, align 4, !tbaa !5
  %7950 = call ptr @s2n_strerror_debug(i32 noundef %7949, ptr noundef @.str.3)
  %7951 = call ptr @__errno_location() #11
  %7952 = load i32, ptr %7951, align 4, !tbaa !5
  %7953 = call ptr @strerror(i32 noundef %7952) #10
  %7954 = call ptr @__errno_location() #11
  %7955 = load i32, ptr %7954, align 4, !tbaa !5
  %7956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7943, ptr noundef @.str.4, i32 noundef %7944, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 436, ptr noundef %7947, ptr noundef %7950, ptr noundef %7953, i32 noundef %7955) #10
  br label %7957

7957:                                             ; preds = %7940, %7923
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #10
  br label %7958

7958:                                             ; preds = %7957
  br label %7959

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

7960:                                             ; No predecessors!
  br label %7961

7961:                                             ; preds = %7960
  br label %7962

7962:                                             ; preds = %7961, %7904
  br label %7963

7963:                                             ; preds = %7962
  br label %7964

7964:                                             ; preds = %7963
  br label %7965

7965:                                             ; preds = %7964
  %7966 = load i32, ptr @test_count, align 4, !tbaa !5
  %7967 = add nsw i32 %7966, 1
  store i32 %7967, ptr @test_count, align 4, !tbaa !5
  %7968 = getelementptr inbounds %struct.s2n_send_context, ptr %182, i32 0, i32 1
  %7969 = load i64, ptr %7968, align 8, !tbaa !25
  %7970 = load i64, ptr %145, align 8, !tbaa !15
  %7971 = icmp eq i64 %7969, %7970
  br i1 %7971, label %8025, label %7972

7972:                                             ; preds = %7965
  br label %7973

7973:                                             ; preds = %7972
  br label %7974

7974:                                             ; preds = %7973
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #10
  %7975 = call ptr @__errno_location() #11
  %7976 = load i32, ptr %7975, align 4, !tbaa !5
  store i32 %7976, ptr %198, align 4, !tbaa !5
  %7977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7978 = call i32 @s2n_print_stacktrace(ptr noundef %7977)
  %7979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7980 = trunc i8 %7979 to i1
  br i1 %7980, label %7981, label %8003

7981:                                             ; preds = %7974
  %7982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7983 = call i32 @fileno(ptr noundef %7982) #10
  %7984 = call i32 @isatty(i32 noundef %7983) #10
  %7985 = icmp ne i32 %7984, 0
  br i1 %7985, label %7986, label %8003

7986:                                             ; preds = %7981
  %7987 = load i32, ptr %198, align 4, !tbaa !5
  %7988 = call ptr @__errno_location() #11
  store i32 %7987, ptr %7988, align 4, !tbaa !5
  %7989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7990 = load i32, ptr @test_count, align 4, !tbaa !5
  %7991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7992 = load i32, ptr %7991, align 4, !tbaa !5
  %7993 = call ptr @s2n_strerror(i32 noundef %7992, ptr noundef @.str.3)
  %7994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7995 = load i32, ptr %7994, align 4, !tbaa !5
  %7996 = call ptr @s2n_strerror_debug(i32 noundef %7995, ptr noundef @.str.3)
  %7997 = call ptr @__errno_location() #11
  %7998 = load i32, ptr %7997, align 4, !tbaa !5
  %7999 = call ptr @strerror(i32 noundef %7998) #10
  %8000 = call ptr @__errno_location() #11
  %8001 = load i32, ptr %8000, align 4, !tbaa !5
  %8002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7989, ptr noundef @.str, i32 noundef %7990, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 437, ptr noundef %7993, ptr noundef %7996, ptr noundef %7999, i32 noundef %8001) #10
  br label %8020

8003:                                             ; preds = %7981, %7974
  %8004 = load i32, ptr %198, align 4, !tbaa !5
  %8005 = call ptr @__errno_location() #11
  store i32 %8004, ptr %8005, align 4, !tbaa !5
  %8006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8007 = load i32, ptr @test_count, align 4, !tbaa !5
  %8008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8009 = load i32, ptr %8008, align 4, !tbaa !5
  %8010 = call ptr @s2n_strerror(i32 noundef %8009, ptr noundef @.str.3)
  %8011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8012 = load i32, ptr %8011, align 4, !tbaa !5
  %8013 = call ptr @s2n_strerror_debug(i32 noundef %8012, ptr noundef @.str.3)
  %8014 = call ptr @__errno_location() #11
  %8015 = load i32, ptr %8014, align 4, !tbaa !5
  %8016 = call ptr @strerror(i32 noundef %8015) #10
  %8017 = call ptr @__errno_location() #11
  %8018 = load i32, ptr %8017, align 4, !tbaa !5
  %8019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8006, ptr noundef @.str.4, i32 noundef %8007, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 437, ptr noundef %8010, ptr noundef %8013, ptr noundef %8016, i32 noundef %8018) #10
  br label %8020

8020:                                             ; preds = %8003, %7986
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #10
  br label %8021

8021:                                             ; preds = %8020
  br label %8022

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

8023:                                             ; No predecessors!
  br label %8024

8024:                                             ; preds = %8023
  br label %8025

8025:                                             ; preds = %8024, %7965
  br label %8026

8026:                                             ; preds = %8025
  br label %8027

8027:                                             ; preds = %8026
  br label %8028

8028:                                             ; preds = %8027
  %8029 = load i32, ptr @test_count, align 4, !tbaa !5
  %8030 = add nsw i32 %8029, 1
  store i32 %8030, ptr @test_count, align 4, !tbaa !5
  %8031 = load ptr, ptr %176, align 8, !tbaa !9
  %8032 = getelementptr inbounds %struct.s2n_connection, ptr %8031, i32 0, i32 41
  %8033 = getelementptr inbounds %struct.s2n_stuffer, ptr %8032, i32 0, i32 0
  %8034 = getelementptr inbounds %struct.s2n_blob, ptr %8033, i32 0, i32 1
  %8035 = load i32, ptr %8034, align 8, !tbaa !56
  %8036 = getelementptr inbounds [4 x i32], ptr %34, i64 0, i64 0
  %8037 = load i32, ptr %8036, align 16, !tbaa !5
  %8038 = icmp eq i32 %8035, %8037
  br i1 %8038, label %8092, label %8039

8039:                                             ; preds = %8028
  br label %8040

8040:                                             ; preds = %8039
  br label %8041

8041:                                             ; preds = %8040
  call void @llvm.lifetime.start.p0(i64 4, ptr %199) #10
  %8042 = call ptr @__errno_location() #11
  %8043 = load i32, ptr %8042, align 4, !tbaa !5
  store i32 %8043, ptr %199, align 4, !tbaa !5
  %8044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8045 = call i32 @s2n_print_stacktrace(ptr noundef %8044)
  %8046 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8047 = trunc i8 %8046 to i1
  br i1 %8047, label %8048, label %8070

8048:                                             ; preds = %8041
  %8049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8050 = call i32 @fileno(ptr noundef %8049) #10
  %8051 = call i32 @isatty(i32 noundef %8050) #10
  %8052 = icmp ne i32 %8051, 0
  br i1 %8052, label %8053, label %8070

8053:                                             ; preds = %8048
  %8054 = load i32, ptr %199, align 4, !tbaa !5
  %8055 = call ptr @__errno_location() #11
  store i32 %8054, ptr %8055, align 4, !tbaa !5
  %8056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8057 = load i32, ptr @test_count, align 4, !tbaa !5
  %8058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8059 = load i32, ptr %8058, align 4, !tbaa !5
  %8060 = call ptr @s2n_strerror(i32 noundef %8059, ptr noundef @.str.3)
  %8061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8062 = load i32, ptr %8061, align 4, !tbaa !5
  %8063 = call ptr @s2n_strerror_debug(i32 noundef %8062, ptr noundef @.str.3)
  %8064 = call ptr @__errno_location() #11
  %8065 = load i32, ptr %8064, align 4, !tbaa !5
  %8066 = call ptr @strerror(i32 noundef %8065) #10
  %8067 = call ptr @__errno_location() #11
  %8068 = load i32, ptr %8067, align 4, !tbaa !5
  %8069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8056, ptr noundef @.str, i32 noundef %8057, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 440, ptr noundef %8060, ptr noundef %8063, ptr noundef %8066, i32 noundef %8068) #10
  br label %8087

8070:                                             ; preds = %8048, %8041
  %8071 = load i32, ptr %199, align 4, !tbaa !5
  %8072 = call ptr @__errno_location() #11
  store i32 %8071, ptr %8072, align 4, !tbaa !5
  %8073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8074 = load i32, ptr @test_count, align 4, !tbaa !5
  %8075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8076 = load i32, ptr %8075, align 4, !tbaa !5
  %8077 = call ptr @s2n_strerror(i32 noundef %8076, ptr noundef @.str.3)
  %8078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8079 = load i32, ptr %8078, align 4, !tbaa !5
  %8080 = call ptr @s2n_strerror_debug(i32 noundef %8079, ptr noundef @.str.3)
  %8081 = call ptr @__errno_location() #11
  %8082 = load i32, ptr %8081, align 4, !tbaa !5
  %8083 = call ptr @strerror(i32 noundef %8082) #10
  %8084 = call ptr @__errno_location() #11
  %8085 = load i32, ptr %8084, align 4, !tbaa !5
  %8086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8073, ptr noundef @.str.4, i32 noundef %8074, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 440, ptr noundef %8077, ptr noundef %8080, ptr noundef %8083, i32 noundef %8085) #10
  br label %8087

8087:                                             ; preds = %8070, %8053
  call void @llvm.lifetime.end.p0(i64 4, ptr %199) #10
  br label %8088

8088:                                             ; preds = %8087
  br label %8089

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

8090:                                             ; No predecessors!
  br label %8091

8091:                                             ; preds = %8090
  br label %8092

8092:                                             ; preds = %8091, %8028
  br label %8093

8093:                                             ; preds = %8092
  br label %8094

8094:                                             ; preds = %8093
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %186) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %182) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr %181) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #10
  %8095 = call i32 @s2n_connection_ptr_free(ptr noundef %176)
  %8096 = getelementptr inbounds %struct.s2n_result, ptr %200, i32 0, i32 0
  store i32 %8095, ptr %8096, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %176) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %201) #10
  %8097 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8097, ptr %201, align 8, !tbaa !9
  br label %8098

8098:                                             ; preds = %8094
  %8099 = load i32, ptr @test_count, align 4, !tbaa !5
  %8100 = add nsw i32 %8099, 1
  store i32 %8100, ptr @test_count, align 4, !tbaa !5
  %8101 = load ptr, ptr %201, align 8, !tbaa !9
  %8102 = icmp eq ptr %8101, null
  br i1 %8102, label %8103, label %8156

8103:                                             ; preds = %8098
  br label %8104

8104:                                             ; preds = %8103
  br label %8105

8105:                                             ; preds = %8104
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #10
  %8106 = call ptr @__errno_location() #11
  %8107 = load i32, ptr %8106, align 4, !tbaa !5
  store i32 %8107, ptr %202, align 4, !tbaa !5
  %8108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8109 = call i32 @s2n_print_stacktrace(ptr noundef %8108)
  %8110 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8111 = trunc i8 %8110 to i1
  br i1 %8111, label %8112, label %8134

8112:                                             ; preds = %8105
  %8113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8114 = call i32 @fileno(ptr noundef %8113) #10
  %8115 = call i32 @isatty(i32 noundef %8114) #10
  %8116 = icmp ne i32 %8115, 0
  br i1 %8116, label %8117, label %8134

8117:                                             ; preds = %8112
  %8118 = load i32, ptr %202, align 4, !tbaa !5
  %8119 = call ptr @__errno_location() #11
  store i32 %8118, ptr %8119, align 4, !tbaa !5
  %8120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8121 = load i32, ptr @test_count, align 4, !tbaa !5
  %8122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8123 = load i32, ptr %8122, align 4, !tbaa !5
  %8124 = call ptr @s2n_strerror(i32 noundef %8123, ptr noundef @.str.3)
  %8125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8126 = load i32, ptr %8125, align 4, !tbaa !5
  %8127 = call ptr @s2n_strerror_debug(i32 noundef %8126, ptr noundef @.str.3)
  %8128 = call ptr @__errno_location() #11
  %8129 = load i32, ptr %8128, align 4, !tbaa !5
  %8130 = call ptr @strerror(i32 noundef %8129) #10
  %8131 = call ptr @__errno_location() #11
  %8132 = load i32, ptr %8131, align 4, !tbaa !5
  %8133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8120, ptr noundef @.str, i32 noundef %8121, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 449, ptr noundef %8124, ptr noundef %8127, ptr noundef %8130, i32 noundef %8132) #10
  br label %8151

8134:                                             ; preds = %8112, %8105
  %8135 = load i32, ptr %202, align 4, !tbaa !5
  %8136 = call ptr @__errno_location() #11
  store i32 %8135, ptr %8136, align 4, !tbaa !5
  %8137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8138 = load i32, ptr @test_count, align 4, !tbaa !5
  %8139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8140 = load i32, ptr %8139, align 4, !tbaa !5
  %8141 = call ptr @s2n_strerror(i32 noundef %8140, ptr noundef @.str.3)
  %8142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8143 = load i32, ptr %8142, align 4, !tbaa !5
  %8144 = call ptr @s2n_strerror_debug(i32 noundef %8143, ptr noundef @.str.3)
  %8145 = call ptr @__errno_location() #11
  %8146 = load i32, ptr %8145, align 4, !tbaa !5
  %8147 = call ptr @strerror(i32 noundef %8146) #10
  %8148 = call ptr @__errno_location() #11
  %8149 = load i32, ptr %8148, align 4, !tbaa !5
  %8150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8137, ptr noundef @.str.4, i32 noundef %8138, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 449, ptr noundef %8141, ptr noundef %8144, ptr noundef %8147, i32 noundef %8149) #10
  br label %8151

8151:                                             ; preds = %8134, %8117
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #10
  br label %8152

8152:                                             ; preds = %8151
  br label %8153

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

8154:                                             ; No predecessors!
  br label %8155

8155:                                             ; preds = %8154
  br label %8156

8156:                                             ; preds = %8155, %8098
  br label %8157

8157:                                             ; preds = %8156
  br label %8158

8158:                                             ; preds = %8157
  br label %8159

8159:                                             ; preds = %8158
  %8160 = load i32, ptr @test_count, align 4, !tbaa !5
  %8161 = add nsw i32 %8160, 1
  store i32 %8161, ptr @test_count, align 4, !tbaa !5
  %8162 = load ptr, ptr %201, align 8, !tbaa !9
  %8163 = call i32 @s2n_connection_set_secrets(ptr noundef %8162)
  %8164 = getelementptr inbounds %struct.s2n_result, ptr %203, i32 0, i32 0
  store i32 %8163, ptr %8164, align 4
  %8165 = getelementptr inbounds %struct.s2n_result, ptr %203, i32 0, i32 0
  %8166 = load i32, ptr %8165, align 4
  %8167 = call zeroext i1 @s2n_result_is_ok(i32 %8166)
  br i1 %8167, label %8221, label %8168

8168:                                             ; preds = %8159
  br label %8169

8169:                                             ; preds = %8168
  br label %8170

8170:                                             ; preds = %8169
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #10
  %8171 = call ptr @__errno_location() #11
  %8172 = load i32, ptr %8171, align 4, !tbaa !5
  store i32 %8172, ptr %204, align 4, !tbaa !5
  %8173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8174 = call i32 @s2n_print_stacktrace(ptr noundef %8173)
  %8175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8176 = trunc i8 %8175 to i1
  br i1 %8176, label %8177, label %8199

8177:                                             ; preds = %8170
  %8178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8179 = call i32 @fileno(ptr noundef %8178) #10
  %8180 = call i32 @isatty(i32 noundef %8179) #10
  %8181 = icmp ne i32 %8180, 0
  br i1 %8181, label %8182, label %8199

8182:                                             ; preds = %8177
  %8183 = load i32, ptr %204, align 4, !tbaa !5
  %8184 = call ptr @__errno_location() #11
  store i32 %8183, ptr %8184, align 4, !tbaa !5
  %8185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8186 = load i32, ptr @test_count, align 4, !tbaa !5
  %8187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8188 = load i32, ptr %8187, align 4, !tbaa !5
  %8189 = call ptr @s2n_strerror(i32 noundef %8188, ptr noundef @.str.3)
  %8190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8191 = load i32, ptr %8190, align 4, !tbaa !5
  %8192 = call ptr @s2n_strerror_debug(i32 noundef %8191, ptr noundef @.str.3)
  %8193 = call ptr @__errno_location() #11
  %8194 = load i32, ptr %8193, align 4, !tbaa !5
  %8195 = call ptr @strerror(i32 noundef %8194) #10
  %8196 = call ptr @__errno_location() #11
  %8197 = load i32, ptr %8196, align 4, !tbaa !5
  %8198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8185, ptr noundef @.str, i32 noundef %8186, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 450, ptr noundef %8189, ptr noundef %8192, ptr noundef %8195, i32 noundef %8197) #10
  br label %8216

8199:                                             ; preds = %8177, %8170
  %8200 = load i32, ptr %204, align 4, !tbaa !5
  %8201 = call ptr @__errno_location() #11
  store i32 %8200, ptr %8201, align 4, !tbaa !5
  %8202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8203 = load i32, ptr @test_count, align 4, !tbaa !5
  %8204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8205 = load i32, ptr %8204, align 4, !tbaa !5
  %8206 = call ptr @s2n_strerror(i32 noundef %8205, ptr noundef @.str.3)
  %8207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8208 = load i32, ptr %8207, align 4, !tbaa !5
  %8209 = call ptr @s2n_strerror_debug(i32 noundef %8208, ptr noundef @.str.3)
  %8210 = call ptr @__errno_location() #11
  %8211 = load i32, ptr %8210, align 4, !tbaa !5
  %8212 = call ptr @strerror(i32 noundef %8211) #10
  %8213 = call ptr @__errno_location() #11
  %8214 = load i32, ptr %8213, align 4, !tbaa !5
  %8215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8202, ptr noundef @.str.4, i32 noundef %8203, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 450, ptr noundef %8206, ptr noundef %8209, ptr noundef %8212, i32 noundef %8214) #10
  br label %8216

8216:                                             ; preds = %8199, %8182
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #10
  br label %8217

8217:                                             ; preds = %8216
  br label %8218

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

8219:                                             ; No predecessors!
  br label %8220

8220:                                             ; preds = %8219
  br label %8221

8221:                                             ; preds = %8220, %8159
  br label %8222

8222:                                             ; preds = %8221
  br label %8223

8223:                                             ; preds = %8222
  call void @llvm.lifetime.start.p0(i64 32, ptr %205) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %205, ptr align 16 @__const.main.results.57, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr %206) #10
  %8224 = getelementptr inbounds %struct.s2n_send_context, ptr %206, i32 0, i32 0
  store i64 0, ptr %8224, align 8, !tbaa !23
  %8225 = getelementptr inbounds %struct.s2n_send_context, ptr %206, i32 0, i32 1
  store i64 0, ptr %8225, align 8, !tbaa !25
  %8226 = getelementptr inbounds %struct.s2n_send_context, ptr %206, i32 0, i32 2
  %8227 = getelementptr inbounds [4 x %struct.s2n_send_result], ptr %205, i64 0, i64 0
  store ptr %8227, ptr %8226, align 8, !tbaa !26
  %8228 = getelementptr inbounds %struct.s2n_send_context, ptr %206, i32 0, i32 3
  store i64 4, ptr %8228, align 8, !tbaa !27
  br label %8229

8229:                                             ; preds = %8223
  %8230 = load i32, ptr @test_count, align 4, !tbaa !5
  %8231 = add nsw i32 %8230, 1
  store i32 %8231, ptr @test_count, align 4, !tbaa !5
  %8232 = load ptr, ptr %201, align 8, !tbaa !9
  %8233 = call i32 @s2n_connection_set_send_cb(ptr noundef %8232, ptr noundef @s2n_test_send_cb)
  %8234 = icmp eq i32 %8233, -1
  br i1 %8234, label %8235, label %8288

8235:                                             ; preds = %8229
  br label %8236

8236:                                             ; preds = %8235
  br label %8237

8237:                                             ; preds = %8236
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #10
  %8238 = call ptr @__errno_location() #11
  %8239 = load i32, ptr %8238, align 4, !tbaa !5
  store i32 %8239, ptr %207, align 4, !tbaa !5
  %8240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8241 = call i32 @s2n_print_stacktrace(ptr noundef %8240)
  %8242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8243 = trunc i8 %8242 to i1
  br i1 %8243, label %8244, label %8266

8244:                                             ; preds = %8237
  %8245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8246 = call i32 @fileno(ptr noundef %8245) #10
  %8247 = call i32 @isatty(i32 noundef %8246) #10
  %8248 = icmp ne i32 %8247, 0
  br i1 %8248, label %8249, label %8266

8249:                                             ; preds = %8244
  %8250 = load i32, ptr %207, align 4, !tbaa !5
  %8251 = call ptr @__errno_location() #11
  store i32 %8250, ptr %8251, align 4, !tbaa !5
  %8252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8253 = load i32, ptr @test_count, align 4, !tbaa !5
  %8254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8255 = load i32, ptr %8254, align 4, !tbaa !5
  %8256 = call ptr @s2n_strerror(i32 noundef %8255, ptr noundef @.str.3)
  %8257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8258 = load i32, ptr %8257, align 4, !tbaa !5
  %8259 = call ptr @s2n_strerror_debug(i32 noundef %8258, ptr noundef @.str.3)
  %8260 = call ptr @__errno_location() #11
  %8261 = load i32, ptr %8260, align 4, !tbaa !5
  %8262 = call ptr @strerror(i32 noundef %8261) #10
  %8263 = call ptr @__errno_location() #11
  %8264 = load i32, ptr %8263, align 4, !tbaa !5
  %8265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8252, ptr noundef @.str, i32 noundef %8253, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 459, ptr noundef %8256, ptr noundef %8259, ptr noundef %8262, i32 noundef %8264) #10
  br label %8283

8266:                                             ; preds = %8244, %8237
  %8267 = load i32, ptr %207, 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.3)
  %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.3)
  %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.4, i32 noundef %8270, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 459, ptr noundef %8273, ptr noundef %8276, ptr noundef %8279, i32 noundef %8281) #10
  br label %8283

8283:                                             ; preds = %8266, %8249
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #10
  br label %8284

8284:                                             ; preds = %8283
  br label %8285

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

8286:                                             ; No predecessors!
  br label %8287

8287:                                             ; preds = %8286
  br label %8288

8288:                                             ; preds = %8287, %8229
  br label %8289

8289:                                             ; preds = %8288
  br label %8290

8290:                                             ; preds = %8289
  br label %8291

8291:                                             ; preds = %8290
  %8292 = load i32, ptr @test_count, align 4, !tbaa !5
  %8293 = add nsw i32 %8292, 1
  store i32 %8293, ptr @test_count, align 4, !tbaa !5
  %8294 = load ptr, ptr %201, align 8, !tbaa !9
  %8295 = call i32 @s2n_connection_set_send_ctx(ptr noundef %8294, ptr noundef %206)
  %8296 = icmp eq i32 %8295, -1
  br i1 %8296, label %8297, label %8350

8297:                                             ; preds = %8291
  br label %8298

8298:                                             ; preds = %8297
  br label %8299

8299:                                             ; preds = %8298
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #10
  %8300 = call ptr @__errno_location() #11
  %8301 = load i32, ptr %8300, align 4, !tbaa !5
  store i32 %8301, ptr %208, align 4, !tbaa !5
  %8302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8303 = call i32 @s2n_print_stacktrace(ptr noundef %8302)
  %8304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8305 = trunc i8 %8304 to i1
  br i1 %8305, label %8306, label %8328

8306:                                             ; preds = %8299
  %8307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8308 = call i32 @fileno(ptr noundef %8307) #10
  %8309 = call i32 @isatty(i32 noundef %8308) #10
  %8310 = icmp ne i32 %8309, 0
  br i1 %8310, label %8311, label %8328

8311:                                             ; preds = %8306
  %8312 = load i32, ptr %208, align 4, !tbaa !5
  %8313 = call ptr @__errno_location() #11
  store i32 %8312, ptr %8313, align 4, !tbaa !5
  %8314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8315 = load i32, ptr @test_count, align 4, !tbaa !5
  %8316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8317 = load i32, ptr %8316, align 4, !tbaa !5
  %8318 = call ptr @s2n_strerror(i32 noundef %8317, ptr noundef @.str.3)
  %8319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8320 = load i32, ptr %8319, align 4, !tbaa !5
  %8321 = call ptr @s2n_strerror_debug(i32 noundef %8320, ptr noundef @.str.3)
  %8322 = call ptr @__errno_location() #11
  %8323 = load i32, ptr %8322, align 4, !tbaa !5
  %8324 = call ptr @strerror(i32 noundef %8323) #10
  %8325 = call ptr @__errno_location() #11
  %8326 = load i32, ptr %8325, align 4, !tbaa !5
  %8327 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8314, ptr noundef @.str, i32 noundef %8315, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 460, ptr noundef %8318, ptr noundef %8321, ptr noundef %8324, i32 noundef %8326) #10
  br label %8345

8328:                                             ; preds = %8306, %8299
  %8329 = load i32, ptr %208, align 4, !tbaa !5
  %8330 = call ptr @__errno_location() #11
  store i32 %8329, ptr %8330, align 4, !tbaa !5
  %8331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8332 = load i32, ptr @test_count, align 4, !tbaa !5
  %8333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8334 = load i32, ptr %8333, align 4, !tbaa !5
  %8335 = call ptr @s2n_strerror(i32 noundef %8334, ptr noundef @.str.3)
  %8336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8337 = load i32, ptr %8336, align 4, !tbaa !5
  %8338 = call ptr @s2n_strerror_debug(i32 noundef %8337, ptr noundef @.str.3)
  %8339 = call ptr @__errno_location() #11
  %8340 = load i32, ptr %8339, align 4, !tbaa !5
  %8341 = call ptr @strerror(i32 noundef %8340) #10
  %8342 = call ptr @__errno_location() #11
  %8343 = load i32, ptr %8342, align 4, !tbaa !5
  %8344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8331, ptr noundef @.str.4, i32 noundef %8332, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 460, ptr noundef %8335, ptr noundef %8338, ptr noundef %8341, i32 noundef %8343) #10
  br label %8345

8345:                                             ; preds = %8328, %8311
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #10
  br label %8346

8346:                                             ; preds = %8345
  br label %8347

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

8348:                                             ; No predecessors!
  br label %8349

8349:                                             ; preds = %8348
  br label %8350

8350:                                             ; preds = %8349, %8291
  br label %8351

8351:                                             ; preds = %8350
  br label %8352

8352:                                             ; preds = %8351
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #10
  store i32 0, ptr %209, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %210) #10
  %8353 = getelementptr inbounds [4 x i64], ptr %33, i64 0, i64 0
  %8354 = load i64, ptr %8353, align 16, !tbaa !15
  store i64 %8354, ptr %210, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %211) #10
  store i64 16174, ptr %211, align 8, !tbaa !15
  br label %8355

8355:                                             ; preds = %8352
  %8356 = load i32, ptr @test_count, align 4, !tbaa !5
  %8357 = add nsw i32 %8356, 1
  store i32 %8357, ptr @test_count, align 4, !tbaa !5
  %8358 = load ptr, ptr %201, align 8, !tbaa !9
  %8359 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %8360 = call i64 @s2n_send(ptr noundef %8358, ptr noundef %8359, i64 noundef 16394, ptr noundef %209)
  %8361 = load i64, ptr %211, align 8, !tbaa !15
  %8362 = icmp eq i64 %8360, %8361
  br i1 %8362, label %8416, label %8363

8363:                                             ; preds = %8355
  br label %8364

8364:                                             ; preds = %8363
  br label %8365

8365:                                             ; preds = %8364
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #10
  %8366 = call ptr @__errno_location() #11
  %8367 = load i32, ptr %8366, align 4, !tbaa !5
  store i32 %8367, ptr %212, align 4, !tbaa !5
  %8368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8369 = call i32 @s2n_print_stacktrace(ptr noundef %8368)
  %8370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8371 = trunc i8 %8370 to i1
  br i1 %8371, label %8372, label %8394

8372:                                             ; preds = %8365
  %8373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8374 = call i32 @fileno(ptr noundef %8373) #10
  %8375 = call i32 @isatty(i32 noundef %8374) #10
  %8376 = icmp ne i32 %8375, 0
  br i1 %8376, label %8377, label %8394

8377:                                             ; preds = %8372
  %8378 = load i32, ptr %212, align 4, !tbaa !5
  %8379 = call ptr @__errno_location() #11
  store i32 %8378, ptr %8379, align 4, !tbaa !5
  %8380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8381 = load i32, ptr @test_count, align 4, !tbaa !5
  %8382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8383 = load i32, ptr %8382, align 4, !tbaa !5
  %8384 = call ptr @s2n_strerror(i32 noundef %8383, ptr noundef @.str.3)
  %8385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8386 = load i32, ptr %8385, align 4, !tbaa !5
  %8387 = call ptr @s2n_strerror_debug(i32 noundef %8386, ptr noundef @.str.3)
  %8388 = call ptr @__errno_location() #11
  %8389 = load i32, ptr %8388, align 4, !tbaa !5
  %8390 = call ptr @strerror(i32 noundef %8389) #10
  %8391 = call ptr @__errno_location() #11
  %8392 = load i32, ptr %8391, align 4, !tbaa !5
  %8393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8380, ptr noundef @.str, i32 noundef %8381, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 467, ptr noundef %8384, ptr noundef %8387, ptr noundef %8390, i32 noundef %8392) #10
  br label %8411

8394:                                             ; preds = %8372, %8365
  %8395 = load i32, ptr %212, align 4, !tbaa !5
  %8396 = call ptr @__errno_location() #11
  store i32 %8395, ptr %8396, align 4, !tbaa !5
  %8397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8398 = load i32, ptr @test_count, align 4, !tbaa !5
  %8399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8400 = load i32, ptr %8399, align 4, !tbaa !5
  %8401 = call ptr @s2n_strerror(i32 noundef %8400, ptr noundef @.str.3)
  %8402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8403 = load i32, ptr %8402, align 4, !tbaa !5
  %8404 = call ptr @s2n_strerror_debug(i32 noundef %8403, ptr noundef @.str.3)
  %8405 = call ptr @__errno_location() #11
  %8406 = load i32, ptr %8405, align 4, !tbaa !5
  %8407 = call ptr @strerror(i32 noundef %8406) #10
  %8408 = call ptr @__errno_location() #11
  %8409 = load i32, ptr %8408, align 4, !tbaa !5
  %8410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8397, ptr noundef @.str.4, i32 noundef %8398, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 467, ptr noundef %8401, ptr noundef %8404, ptr noundef %8407, i32 noundef %8409) #10
  br label %8411

8411:                                             ; preds = %8394, %8377
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #10
  br label %8412

8412:                                             ; preds = %8411
  br label %8413

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

8414:                                             ; No predecessors!
  br label %8415

8415:                                             ; preds = %8414
  br label %8416

8416:                                             ; preds = %8415, %8355
  br label %8417

8417:                                             ; preds = %8416
  br label %8418

8418:                                             ; preds = %8417
  br label %8419

8419:                                             ; preds = %8418
  %8420 = load i32, ptr @test_count, align 4, !tbaa !5
  %8421 = add nsw i32 %8420, 1
  store i32 %8421, ptr @test_count, align 4, !tbaa !5
  %8422 = load i32, ptr %209, align 4, !tbaa !5
  %8423 = icmp eq i32 %8422, 2
  br i1 %8423, label %8477, label %8424

8424:                                             ; preds = %8419
  br label %8425

8425:                                             ; preds = %8424
  br label %8426

8426:                                             ; preds = %8425
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #10
  %8427 = call ptr @__errno_location() #11
  %8428 = load i32, ptr %8427, align 4, !tbaa !5
  store i32 %8428, ptr %213, align 4, !tbaa !5
  %8429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8430 = call i32 @s2n_print_stacktrace(ptr noundef %8429)
  %8431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8432 = trunc i8 %8431 to i1
  br i1 %8432, label %8433, label %8455

8433:                                             ; preds = %8426
  %8434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8435 = call i32 @fileno(ptr noundef %8434) #10
  %8436 = call i32 @isatty(i32 noundef %8435) #10
  %8437 = icmp ne i32 %8436, 0
  br i1 %8437, label %8438, label %8455

8438:                                             ; preds = %8433
  %8439 = load i32, ptr %213, align 4, !tbaa !5
  %8440 = call ptr @__errno_location() #11
  store i32 %8439, ptr %8440, align 4, !tbaa !5
  %8441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8442 = load i32, ptr @test_count, align 4, !tbaa !5
  %8443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8444 = load i32, ptr %8443, align 4, !tbaa !5
  %8445 = call ptr @s2n_strerror(i32 noundef %8444, ptr noundef @.str.3)
  %8446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8447 = load i32, ptr %8446, align 4, !tbaa !5
  %8448 = call ptr @s2n_strerror_debug(i32 noundef %8447, ptr noundef @.str.3)
  %8449 = call ptr @__errno_location() #11
  %8450 = load i32, ptr %8449, align 4, !tbaa !5
  %8451 = call ptr @strerror(i32 noundef %8450) #10
  %8452 = call ptr @__errno_location() #11
  %8453 = load i32, ptr %8452, align 4, !tbaa !5
  %8454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8441, ptr noundef @.str, i32 noundef %8442, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 468, ptr noundef %8445, ptr noundef %8448, ptr noundef %8451, i32 noundef %8453) #10
  br label %8472

8455:                                             ; preds = %8433, %8426
  %8456 = load i32, ptr %213, align 4, !tbaa !5
  %8457 = call ptr @__errno_location() #11
  store i32 %8456, ptr %8457, align 4, !tbaa !5
  %8458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8459 = load i32, ptr @test_count, align 4, !tbaa !5
  %8460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8461 = load i32, ptr %8460, align 4, !tbaa !5
  %8462 = call ptr @s2n_strerror(i32 noundef %8461, ptr noundef @.str.3)
  %8463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8464 = load i32, ptr %8463, align 4, !tbaa !5
  %8465 = call ptr @s2n_strerror_debug(i32 noundef %8464, ptr noundef @.str.3)
  %8466 = call ptr @__errno_location() #11
  %8467 = load i32, ptr %8466, align 4, !tbaa !5
  %8468 = call ptr @strerror(i32 noundef %8467) #10
  %8469 = call ptr @__errno_location() #11
  %8470 = load i32, ptr %8469, align 4, !tbaa !5
  %8471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8458, ptr noundef @.str.4, i32 noundef %8459, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 468, ptr noundef %8462, ptr noundef %8465, ptr noundef %8468, i32 noundef %8470) #10
  br label %8472

8472:                                             ; preds = %8455, %8438
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #10
  br label %8473

8473:                                             ; preds = %8472
  br label %8474

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

8475:                                             ; No predecessors!
  br label %8476

8476:                                             ; preds = %8475
  br label %8477

8477:                                             ; preds = %8476, %8419
  br label %8478

8478:                                             ; preds = %8477
  br label %8479

8479:                                             ; preds = %8478
  br label %8480

8480:                                             ; preds = %8479
  %8481 = load i32, ptr @test_count, align 4, !tbaa !5
  %8482 = add nsw i32 %8481, 1
  store i32 %8482, ptr @test_count, align 4, !tbaa !5
  %8483 = getelementptr inbounds %struct.s2n_send_context, ptr %206, i32 0, i32 1
  %8484 = load i64, ptr %8483, align 8, !tbaa !25
  %8485 = load i64, ptr %210, align 8, !tbaa !15
  %8486 = mul nsw i64 %8485, 2
  %8487 = icmp eq i64 %8484, %8486
  br i1 %8487, label %8541, label %8488

8488:                                             ; preds = %8480
  br label %8489

8489:                                             ; preds = %8488
  br label %8490

8490:                                             ; preds = %8489
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #10
  %8491 = call ptr @__errno_location() #11
  %8492 = load i32, ptr %8491, align 4, !tbaa !5
  store i32 %8492, ptr %214, align 4, !tbaa !5
  %8493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8494 = call i32 @s2n_print_stacktrace(ptr noundef %8493)
  %8495 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8496 = trunc i8 %8495 to i1
  br i1 %8496, label %8497, label %8519

8497:                                             ; preds = %8490
  %8498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8499 = call i32 @fileno(ptr noundef %8498) #10
  %8500 = call i32 @isatty(i32 noundef %8499) #10
  %8501 = icmp ne i32 %8500, 0
  br i1 %8501, label %8502, label %8519

8502:                                             ; preds = %8497
  %8503 = load i32, ptr %214, align 4, !tbaa !5
  %8504 = call ptr @__errno_location() #11
  store i32 %8503, ptr %8504, align 4, !tbaa !5
  %8505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8506 = load i32, ptr @test_count, align 4, !tbaa !5
  %8507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8508 = load i32, ptr %8507, align 4, !tbaa !5
  %8509 = call ptr @s2n_strerror(i32 noundef %8508, ptr noundef @.str.3)
  %8510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8511 = load i32, ptr %8510, align 4, !tbaa !5
  %8512 = call ptr @s2n_strerror_debug(i32 noundef %8511, ptr noundef @.str.3)
  %8513 = call ptr @__errno_location() #11
  %8514 = load i32, ptr %8513, align 4, !tbaa !5
  %8515 = call ptr @strerror(i32 noundef %8514) #10
  %8516 = call ptr @__errno_location() #11
  %8517 = load i32, ptr %8516, align 4, !tbaa !5
  %8518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8505, ptr noundef @.str, i32 noundef %8506, ptr noundef @.str.59, ptr noundef @.str.2, i32 noundef 469, ptr noundef %8509, ptr noundef %8512, ptr noundef %8515, i32 noundef %8517) #10
  br label %8536

8519:                                             ; preds = %8497, %8490
  %8520 = load i32, ptr %214, align 4, !tbaa !5
  %8521 = call ptr @__errno_location() #11
  store i32 %8520, ptr %8521, align 4, !tbaa !5
  %8522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8523 = load i32, ptr @test_count, align 4, !tbaa !5
  %8524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8525 = load i32, ptr %8524, align 4, !tbaa !5
  %8526 = call ptr @s2n_strerror(i32 noundef %8525, ptr noundef @.str.3)
  %8527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8528 = load i32, ptr %8527, align 4, !tbaa !5
  %8529 = call ptr @s2n_strerror_debug(i32 noundef %8528, ptr noundef @.str.3)
  %8530 = call ptr @__errno_location() #11
  %8531 = load i32, ptr %8530, align 4, !tbaa !5
  %8532 = call ptr @strerror(i32 noundef %8531) #10
  %8533 = call ptr @__errno_location() #11
  %8534 = load i32, ptr %8533, align 4, !tbaa !5
  %8535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8522, ptr noundef @.str.4, i32 noundef %8523, ptr noundef @.str.59, ptr noundef @.str.2, i32 noundef 469, ptr noundef %8526, ptr noundef %8529, ptr noundef %8532, i32 noundef %8534) #10
  br label %8536

8536:                                             ; preds = %8519, %8502
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #10
  br label %8537

8537:                                             ; preds = %8536
  br label %8538

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

8539:                                             ; No predecessors!
  br label %8540

8540:                                             ; preds = %8539
  br label %8541

8541:                                             ; preds = %8540, %8480
  br label %8542

8542:                                             ; preds = %8541
  br label %8543

8543:                                             ; preds = %8542
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #10
  %8544 = load i64, ptr %211, align 8, !tbaa !15
  %8545 = trunc i64 %8544 to i32
  store i32 %8545, ptr %215, align 4, !tbaa !5
  br label %8546

8546:                                             ; preds = %8543
  %8547 = load i32, ptr @test_count, align 4, !tbaa !5
  %8548 = add nsw i32 %8547, 1
  store i32 %8548, ptr @test_count, align 4, !tbaa !5
  %8549 = load ptr, ptr %201, align 8, !tbaa !9
  %8550 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %8551 = load i32, ptr %215, align 4, !tbaa !5
  %8552 = zext i32 %8551 to i64
  %8553 = getelementptr inbounds i8, ptr %8550, i64 %8552
  %8554 = load i32, ptr %215, align 4, !tbaa !5
  %8555 = zext i32 %8554 to i64
  %8556 = sub i64 16394, %8555
  %8557 = call i64 @s2n_send(ptr noundef %8549, ptr noundef %8553, i64 noundef %8556, ptr noundef %209)
  %8558 = load i32, ptr %215, align 4, !tbaa !5
  %8559 = zext i32 %8558 to i64
  %8560 = sub i64 16394, %8559
  %8561 = icmp eq i64 %8557, %8560
  br i1 %8561, label %8615, label %8562

8562:                                             ; preds = %8546
  br label %8563

8563:                                             ; preds = %8562
  br label %8564

8564:                                             ; preds = %8563
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #10
  %8565 = call ptr @__errno_location() #11
  %8566 = load i32, ptr %8565, align 4, !tbaa !5
  store i32 %8566, ptr %216, 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 %216, 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.3)
  %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.3)
  %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, i32 noundef %8580, ptr noundef @.str.60, ptr noundef @.str.2, i32 noundef 476, ptr noundef %8583, ptr noundef %8586, ptr noundef %8589, i32 noundef %8591) #10
  br label %8610

8593:                                             ; preds = %8571, %8564
  %8594 = load i32, ptr %216, 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.3)
  %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.3)
  %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.4, i32 noundef %8597, ptr noundef @.str.60, ptr noundef @.str.2, i32 noundef 476, 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 %216) #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, %8546
  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 = load i32, ptr %209, align 4, !tbaa !5
  %8622 = icmp eq i32 %8621, 0
  br i1 %8622, label %8676, label %8623

8623:                                             ; preds = %8618
  br label %8624

8624:                                             ; preds = %8623
  br label %8625

8625:                                             ; preds = %8624
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #10
  %8626 = call ptr @__errno_location() #11
  %8627 = load i32, ptr %8626, align 4, !tbaa !5
  store i32 %8627, ptr %217, align 4, !tbaa !5
  %8628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8629 = call i32 @s2n_print_stacktrace(ptr noundef %8628)
  %8630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8631 = trunc i8 %8630 to i1
  br i1 %8631, label %8632, label %8654

8632:                                             ; preds = %8625
  %8633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8634 = call i32 @fileno(ptr noundef %8633) #10
  %8635 = call i32 @isatty(i32 noundef %8634) #10
  %8636 = icmp ne i32 %8635, 0
  br i1 %8636, label %8637, label %8654

8637:                                             ; preds = %8632
  %8638 = load i32, ptr %217, align 4, !tbaa !5
  %8639 = call ptr @__errno_location() #11
  store i32 %8638, ptr %8639, align 4, !tbaa !5
  %8640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8641 = load i32, ptr @test_count, align 4, !tbaa !5
  %8642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8643 = load i32, ptr %8642, align 4, !tbaa !5
  %8644 = call ptr @s2n_strerror(i32 noundef %8643, ptr noundef @.str.3)
  %8645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8646 = load i32, ptr %8645, align 4, !tbaa !5
  %8647 = call ptr @s2n_strerror_debug(i32 noundef %8646, ptr noundef @.str.3)
  %8648 = call ptr @__errno_location() #11
  %8649 = load i32, ptr %8648, align 4, !tbaa !5
  %8650 = call ptr @strerror(i32 noundef %8649) #10
  %8651 = call ptr @__errno_location() #11
  %8652 = load i32, ptr %8651, align 4, !tbaa !5
  %8653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8640, ptr noundef @.str, i32 noundef %8641, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 477, ptr noundef %8644, ptr noundef %8647, ptr noundef %8650, i32 noundef %8652) #10
  br label %8671

8654:                                             ; preds = %8632, %8625
  %8655 = load i32, ptr %217, align 4, !tbaa !5
  %8656 = call ptr @__errno_location() #11
  store i32 %8655, ptr %8656, align 4, !tbaa !5
  %8657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8658 = load i32, ptr @test_count, align 4, !tbaa !5
  %8659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8660 = load i32, ptr %8659, align 4, !tbaa !5
  %8661 = call ptr @s2n_strerror(i32 noundef %8660, ptr noundef @.str.3)
  %8662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8663 = load i32, ptr %8662, align 4, !tbaa !5
  %8664 = call ptr @s2n_strerror_debug(i32 noundef %8663, ptr noundef @.str.3)
  %8665 = call ptr @__errno_location() #11
  %8666 = load i32, ptr %8665, align 4, !tbaa !5
  %8667 = call ptr @strerror(i32 noundef %8666) #10
  %8668 = call ptr @__errno_location() #11
  %8669 = load i32, ptr %8668, align 4, !tbaa !5
  %8670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8657, ptr noundef @.str.4, i32 noundef %8658, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 477, ptr noundef %8661, ptr noundef %8664, ptr noundef %8667, i32 noundef %8669) #10
  br label %8671

8671:                                             ; preds = %8654, %8637
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #10
  br label %8672

8672:                                             ; preds = %8671
  br label %8673

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

8674:                                             ; No predecessors!
  br label %8675

8675:                                             ; preds = %8674
  br label %8676

8676:                                             ; preds = %8675, %8618
  br label %8677

8677:                                             ; preds = %8676
  br label %8678

8678:                                             ; preds = %8677
  br label %8679

8679:                                             ; preds = %8678
  %8680 = load i32, ptr @test_count, align 4, !tbaa !5
  %8681 = add nsw i32 %8680, 1
  store i32 %8681, ptr @test_count, align 4, !tbaa !5
  %8682 = getelementptr inbounds %struct.s2n_send_context, ptr %206, i32 0, i32 1
  %8683 = load i64, ptr %8682, align 8, !tbaa !25
  %8684 = load i64, ptr %145, align 8, !tbaa !15
  %8685 = icmp eq i64 %8683, %8684
  br i1 %8685, label %8739, label %8686

8686:                                             ; preds = %8679
  br label %8687

8687:                                             ; preds = %8686
  br label %8688

8688:                                             ; preds = %8687
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #10
  %8689 = call ptr @__errno_location() #11
  %8690 = load i32, ptr %8689, align 4, !tbaa !5
  store i32 %8690, ptr %218, align 4, !tbaa !5
  %8691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8692 = call i32 @s2n_print_stacktrace(ptr noundef %8691)
  %8693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8694 = trunc i8 %8693 to i1
  br i1 %8694, label %8695, label %8717

8695:                                             ; preds = %8688
  %8696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8697 = call i32 @fileno(ptr noundef %8696) #10
  %8698 = call i32 @isatty(i32 noundef %8697) #10
  %8699 = icmp ne i32 %8698, 0
  br i1 %8699, label %8700, label %8717

8700:                                             ; preds = %8695
  %8701 = load i32, ptr %218, align 4, !tbaa !5
  %8702 = call ptr @__errno_location() #11
  store i32 %8701, ptr %8702, align 4, !tbaa !5
  %8703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8704 = load i32, ptr @test_count, align 4, !tbaa !5
  %8705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8706 = load i32, ptr %8705, align 4, !tbaa !5
  %8707 = call ptr @s2n_strerror(i32 noundef %8706, ptr noundef @.str.3)
  %8708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8709 = load i32, ptr %8708, align 4, !tbaa !5
  %8710 = call ptr @s2n_strerror_debug(i32 noundef %8709, ptr noundef @.str.3)
  %8711 = call ptr @__errno_location() #11
  %8712 = load i32, ptr %8711, align 4, !tbaa !5
  %8713 = call ptr @strerror(i32 noundef %8712) #10
  %8714 = call ptr @__errno_location() #11
  %8715 = load i32, ptr %8714, align 4, !tbaa !5
  %8716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8703, ptr noundef @.str, i32 noundef %8704, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 478, ptr noundef %8707, ptr noundef %8710, ptr noundef %8713, i32 noundef %8715) #10
  br label %8734

8717:                                             ; preds = %8695, %8688
  %8718 = load i32, ptr %218, align 4, !tbaa !5
  %8719 = call ptr @__errno_location() #11
  store i32 %8718, ptr %8719, align 4, !tbaa !5
  %8720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8721 = load i32, ptr @test_count, align 4, !tbaa !5
  %8722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8723 = load i32, ptr %8722, align 4, !tbaa !5
  %8724 = call ptr @s2n_strerror(i32 noundef %8723, ptr noundef @.str.3)
  %8725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8726 = load i32, ptr %8725, align 4, !tbaa !5
  %8727 = call ptr @s2n_strerror_debug(i32 noundef %8726, ptr noundef @.str.3)
  %8728 = call ptr @__errno_location() #11
  %8729 = load i32, ptr %8728, align 4, !tbaa !5
  %8730 = call ptr @strerror(i32 noundef %8729) #10
  %8731 = call ptr @__errno_location() #11
  %8732 = load i32, ptr %8731, align 4, !tbaa !5
  %8733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8720, ptr noundef @.str.4, i32 noundef %8721, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 478, ptr noundef %8724, ptr noundef %8727, ptr noundef %8730, i32 noundef %8732) #10
  br label %8734

8734:                                             ; preds = %8717, %8700
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #10
  br label %8735

8735:                                             ; preds = %8734
  br label %8736

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

8737:                                             ; No predecessors!
  br label %8738

8738:                                             ; preds = %8737
  br label %8739

8739:                                             ; preds = %8738, %8679
  br label %8740

8740:                                             ; preds = %8739
  br label %8741

8741:                                             ; preds = %8740
  br label %8742

8742:                                             ; preds = %8741
  %8743 = load i32, ptr @test_count, align 4, !tbaa !5
  %8744 = add nsw i32 %8743, 1
  store i32 %8744, ptr @test_count, align 4, !tbaa !5
  %8745 = load ptr, ptr %201, align 8, !tbaa !9
  %8746 = getelementptr inbounds %struct.s2n_connection, ptr %8745, i32 0, i32 41
  %8747 = getelementptr inbounds %struct.s2n_stuffer, ptr %8746, i32 0, i32 0
  %8748 = getelementptr inbounds %struct.s2n_blob, ptr %8747, i32 0, i32 1
  %8749 = load i32, ptr %8748, align 8, !tbaa !56
  %8750 = getelementptr inbounds [4 x i32], ptr %34, i64 0, i64 0
  %8751 = load i32, ptr %8750, align 16, !tbaa !5
  %8752 = icmp eq i32 %8749, %8751
  br i1 %8752, label %8806, label %8753

8753:                                             ; preds = %8742
  br label %8754

8754:                                             ; preds = %8753
  br label %8755

8755:                                             ; preds = %8754
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #10
  %8756 = call ptr @__errno_location() #11
  %8757 = load i32, ptr %8756, align 4, !tbaa !5
  store i32 %8757, ptr %219, align 4, !tbaa !5
  %8758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8759 = call i32 @s2n_print_stacktrace(ptr noundef %8758)
  %8760 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8761 = trunc i8 %8760 to i1
  br i1 %8761, label %8762, label %8784

8762:                                             ; preds = %8755
  %8763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8764 = call i32 @fileno(ptr noundef %8763) #10
  %8765 = call i32 @isatty(i32 noundef %8764) #10
  %8766 = icmp ne i32 %8765, 0
  br i1 %8766, label %8767, label %8784

8767:                                             ; preds = %8762
  %8768 = load i32, ptr %219, align 4, !tbaa !5
  %8769 = call ptr @__errno_location() #11
  store i32 %8768, ptr %8769, align 4, !tbaa !5
  %8770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8771 = load i32, ptr @test_count, align 4, !tbaa !5
  %8772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8773 = load i32, ptr %8772, align 4, !tbaa !5
  %8774 = call ptr @s2n_strerror(i32 noundef %8773, ptr noundef @.str.3)
  %8775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8776 = load i32, ptr %8775, align 4, !tbaa !5
  %8777 = call ptr @s2n_strerror_debug(i32 noundef %8776, ptr noundef @.str.3)
  %8778 = call ptr @__errno_location() #11
  %8779 = load i32, ptr %8778, align 4, !tbaa !5
  %8780 = call ptr @strerror(i32 noundef %8779) #10
  %8781 = call ptr @__errno_location() #11
  %8782 = load i32, ptr %8781, align 4, !tbaa !5
  %8783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8770, ptr noundef @.str, i32 noundef %8771, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 481, ptr noundef %8774, ptr noundef %8777, ptr noundef %8780, i32 noundef %8782) #10
  br label %8801

8784:                                             ; preds = %8762, %8755
  %8785 = load i32, ptr %219, align 4, !tbaa !5
  %8786 = call ptr @__errno_location() #11
  store i32 %8785, ptr %8786, align 4, !tbaa !5
  %8787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8788 = load i32, ptr @test_count, align 4, !tbaa !5
  %8789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8790 = load i32, ptr %8789, align 4, !tbaa !5
  %8791 = call ptr @s2n_strerror(i32 noundef %8790, ptr noundef @.str.3)
  %8792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8793 = load i32, ptr %8792, align 4, !tbaa !5
  %8794 = call ptr @s2n_strerror_debug(i32 noundef %8793, ptr noundef @.str.3)
  %8795 = call ptr @__errno_location() #11
  %8796 = load i32, ptr %8795, align 4, !tbaa !5
  %8797 = call ptr @strerror(i32 noundef %8796) #10
  %8798 = call ptr @__errno_location() #11
  %8799 = load i32, ptr %8798, align 4, !tbaa !5
  %8800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8787, ptr noundef @.str.4, i32 noundef %8788, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 481, ptr noundef %8791, ptr noundef %8794, ptr noundef %8797, i32 noundef %8799) #10
  br label %8801

8801:                                             ; preds = %8784, %8767
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #10
  br label %8802

8802:                                             ; preds = %8801
  br label %8803

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

8804:                                             ; No predecessors!
  br label %8805

8805:                                             ; preds = %8804
  br label %8806

8806:                                             ; preds = %8805, %8742
  br label %8807

8807:                                             ; preds = %8806
  br label %8808

8808:                                             ; preds = %8807
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %211) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %210) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %206) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %205) #10
  %8809 = call i32 @s2n_connection_ptr_free(ptr noundef %201)
  %8810 = getelementptr inbounds %struct.s2n_result, ptr %220, i32 0, i32 0
  store i32 %8809, ptr %8810, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %201) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %221) #10
  store i64 0, ptr %221, align 8, !tbaa !15
  br label %8811

8811:                                             ; preds = %9398, %8808
  %8812 = load i64, ptr %221, align 8, !tbaa !15
  %8813 = icmp ult i64 %8812, 4
  br i1 %8813, label %8815, label %8814

8814:                                             ; preds = %8811
  call void @llvm.lifetime.end.p0(i64 8, ptr %221) #10
  br label %9401

8815:                                             ; preds = %8811
  call void @llvm.lifetime.start.p0(i64 8, ptr %222) #10
  %8816 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8816, ptr %222, align 8, !tbaa !9
  br label %8817

8817:                                             ; preds = %8815
  %8818 = load i32, ptr @test_count, align 4, !tbaa !5
  %8819 = add nsw i32 %8818, 1
  store i32 %8819, ptr @test_count, align 4, !tbaa !5
  %8820 = load ptr, ptr %222, align 8, !tbaa !9
  %8821 = icmp eq ptr %8820, null
  br i1 %8821, label %8822, label %8875

8822:                                             ; preds = %8817
  br label %8823

8823:                                             ; preds = %8822
  br label %8824

8824:                                             ; preds = %8823
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #10
  %8825 = call ptr @__errno_location() #11
  %8826 = load i32, ptr %8825, align 4, !tbaa !5
  store i32 %8826, ptr %223, align 4, !tbaa !5
  %8827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8828 = call i32 @s2n_print_stacktrace(ptr noundef %8827)
  %8829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8830 = trunc i8 %8829 to i1
  br i1 %8830, label %8831, label %8853

8831:                                             ; preds = %8824
  %8832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8833 = call i32 @fileno(ptr noundef %8832) #10
  %8834 = call i32 @isatty(i32 noundef %8833) #10
  %8835 = icmp ne i32 %8834, 0
  br i1 %8835, label %8836, label %8853

8836:                                             ; preds = %8831
  %8837 = load i32, ptr %223, align 4, !tbaa !5
  %8838 = call ptr @__errno_location() #11
  store i32 %8837, ptr %8838, align 4, !tbaa !5
  %8839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8840 = load i32, ptr @test_count, align 4, !tbaa !5
  %8841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8842 = load i32, ptr %8841, align 4, !tbaa !5
  %8843 = call ptr @s2n_strerror(i32 noundef %8842, ptr noundef @.str.3)
  %8844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8845 = load i32, ptr %8844, align 4, !tbaa !5
  %8846 = call ptr @s2n_strerror_debug(i32 noundef %8845, ptr noundef @.str.3)
  %8847 = call ptr @__errno_location() #11
  %8848 = load i32, ptr %8847, align 4, !tbaa !5
  %8849 = call ptr @strerror(i32 noundef %8848) #10
  %8850 = call ptr @__errno_location() #11
  %8851 = load i32, ptr %8850, align 4, !tbaa !5
  %8852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8839, ptr noundef @.str, i32 noundef %8840, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 488, ptr noundef %8843, ptr noundef %8846, ptr noundef %8849, i32 noundef %8851) #10
  br label %8870

8853:                                             ; preds = %8831, %8824
  %8854 = load i32, ptr %223, align 4, !tbaa !5
  %8855 = call ptr @__errno_location() #11
  store i32 %8854, ptr %8855, align 4, !tbaa !5
  %8856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8857 = load i32, ptr @test_count, align 4, !tbaa !5
  %8858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8859 = load i32, ptr %8858, align 4, !tbaa !5
  %8860 = call ptr @s2n_strerror(i32 noundef %8859, ptr noundef @.str.3)
  %8861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8862 = load i32, ptr %8861, align 4, !tbaa !5
  %8863 = call ptr @s2n_strerror_debug(i32 noundef %8862, ptr noundef @.str.3)
  %8864 = call ptr @__errno_location() #11
  %8865 = load i32, ptr %8864, align 4, !tbaa !5
  %8866 = call ptr @strerror(i32 noundef %8865) #10
  %8867 = call ptr @__errno_location() #11
  %8868 = load i32, ptr %8867, align 4, !tbaa !5
  %8869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8856, ptr noundef @.str.4, i32 noundef %8857, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 488, ptr noundef %8860, ptr noundef %8863, ptr noundef %8866, i32 noundef %8868) #10
  br label %8870

8870:                                             ; preds = %8853, %8836
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #10
  br label %8871

8871:                                             ; preds = %8870
  br label %8872

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

8873:                                             ; No predecessors!
  br label %8874

8874:                                             ; preds = %8873
  br label %8875

8875:                                             ; preds = %8874, %8817
  br label %8876

8876:                                             ; preds = %8875
  br label %8877

8877:                                             ; preds = %8876
  br label %8878

8878:                                             ; preds = %8877
  %8879 = load i32, ptr @test_count, align 4, !tbaa !5
  %8880 = add nsw i32 %8879, 1
  store i32 %8880, ptr @test_count, align 4, !tbaa !5
  %8881 = load ptr, ptr %222, align 8, !tbaa !9
  %8882 = call i32 @s2n_connection_set_secrets(ptr noundef %8881)
  %8883 = getelementptr inbounds %struct.s2n_result, ptr %224, i32 0, i32 0
  store i32 %8882, ptr %8883, align 4
  %8884 = getelementptr inbounds %struct.s2n_result, ptr %224, i32 0, i32 0
  %8885 = load i32, ptr %8884, align 4
  %8886 = call zeroext i1 @s2n_result_is_ok(i32 %8885)
  br i1 %8886, label %8940, label %8887

8887:                                             ; preds = %8878
  br label %8888

8888:                                             ; preds = %8887
  br label %8889

8889:                                             ; preds = %8888
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #10
  %8890 = call ptr @__errno_location() #11
  %8891 = load i32, ptr %8890, align 4, !tbaa !5
  store i32 %8891, ptr %225, align 4, !tbaa !5
  %8892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8893 = call i32 @s2n_print_stacktrace(ptr noundef %8892)
  %8894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8895 = trunc i8 %8894 to i1
  br i1 %8895, label %8896, label %8918

8896:                                             ; preds = %8889
  %8897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8898 = call i32 @fileno(ptr noundef %8897) #10
  %8899 = call i32 @isatty(i32 noundef %8898) #10
  %8900 = icmp ne i32 %8899, 0
  br i1 %8900, label %8901, label %8918

8901:                                             ; preds = %8896
  %8902 = load i32, ptr %225, align 4, !tbaa !5
  %8903 = call ptr @__errno_location() #11
  store i32 %8902, ptr %8903, align 4, !tbaa !5
  %8904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8905 = load i32, ptr @test_count, align 4, !tbaa !5
  %8906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8907 = load i32, ptr %8906, align 4, !tbaa !5
  %8908 = call ptr @s2n_strerror(i32 noundef %8907, ptr noundef @.str.3)
  %8909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8910 = load i32, ptr %8909, align 4, !tbaa !5
  %8911 = call ptr @s2n_strerror_debug(i32 noundef %8910, ptr noundef @.str.3)
  %8912 = call ptr @__errno_location() #11
  %8913 = load i32, ptr %8912, align 4, !tbaa !5
  %8914 = call ptr @strerror(i32 noundef %8913) #10
  %8915 = call ptr @__errno_location() #11
  %8916 = load i32, ptr %8915, align 4, !tbaa !5
  %8917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8904, ptr noundef @.str, i32 noundef %8905, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 489, ptr noundef %8908, ptr noundef %8911, ptr noundef %8914, i32 noundef %8916) #10
  br label %8935

8918:                                             ; preds = %8896, %8889
  %8919 = load i32, ptr %225, align 4, !tbaa !5
  %8920 = call ptr @__errno_location() #11
  store i32 %8919, ptr %8920, align 4, !tbaa !5
  %8921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8922 = load i32, ptr @test_count, align 4, !tbaa !5
  %8923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8924 = load i32, ptr %8923, align 4, !tbaa !5
  %8925 = call ptr @s2n_strerror(i32 noundef %8924, ptr noundef @.str.3)
  %8926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8927 = load i32, ptr %8926, align 4, !tbaa !5
  %8928 = call ptr @s2n_strerror_debug(i32 noundef %8927, ptr noundef @.str.3)
  %8929 = call ptr @__errno_location() #11
  %8930 = load i32, ptr %8929, align 4, !tbaa !5
  %8931 = call ptr @strerror(i32 noundef %8930) #10
  %8932 = call ptr @__errno_location() #11
  %8933 = load i32, ptr %8932, align 4, !tbaa !5
  %8934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8921, ptr noundef @.str.4, i32 noundef %8922, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 489, ptr noundef %8925, ptr noundef %8928, ptr noundef %8931, i32 noundef %8933) #10
  br label %8935

8935:                                             ; preds = %8918, %8901
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #10
  br label %8936

8936:                                             ; preds = %8935
  br label %8937

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

8938:                                             ; No predecessors!
  br label %8939

8939:                                             ; preds = %8938
  br label %8940

8940:                                             ; preds = %8939, %8878
  br label %8941

8941:                                             ; preds = %8940
  br label %8942

8942:                                             ; preds = %8941
  br label %8943

8943:                                             ; preds = %8942
  %8944 = load i32, ptr @test_count, align 4, !tbaa !5
  %8945 = add nsw i32 %8944, 1
  store i32 %8945, ptr @test_count, align 4, !tbaa !5
  %8946 = load ptr, ptr %222, align 8, !tbaa !9
  %8947 = load i64, ptr %221, align 8, !tbaa !15
  %8948 = trunc i64 %8947 to i32
  %8949 = call i32 @s2n_set_test_max_fragment_len(ptr noundef %8946, i32 noundef %8948)
  %8950 = getelementptr inbounds %struct.s2n_result, ptr %226, i32 0, i32 0
  store i32 %8949, ptr %8950, align 4
  %8951 = getelementptr inbounds %struct.s2n_result, ptr %226, i32 0, i32 0
  %8952 = load i32, ptr %8951, align 4
  %8953 = call zeroext i1 @s2n_result_is_ok(i32 %8952)
  br i1 %8953, label %9007, label %8954

8954:                                             ; preds = %8943
  br label %8955

8955:                                             ; preds = %8954
  br label %8956

8956:                                             ; preds = %8955
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #10
  %8957 = call ptr @__errno_location() #11
  %8958 = load i32, ptr %8957, align 4, !tbaa !5
  store i32 %8958, ptr %227, align 4, !tbaa !5
  %8959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8960 = call i32 @s2n_print_stacktrace(ptr noundef %8959)
  %8961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8962 = trunc i8 %8961 to i1
  br i1 %8962, label %8963, label %8985

8963:                                             ; preds = %8956
  %8964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8965 = call i32 @fileno(ptr noundef %8964) #10
  %8966 = call i32 @isatty(i32 noundef %8965) #10
  %8967 = icmp ne i32 %8966, 0
  br i1 %8967, label %8968, label %8985

8968:                                             ; preds = %8963
  %8969 = load i32, ptr %227, align 4, !tbaa !5
  %8970 = call ptr @__errno_location() #11
  store i32 %8969, ptr %8970, align 4, !tbaa !5
  %8971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8972 = load i32, ptr @test_count, align 4, !tbaa !5
  %8973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8974 = load i32, ptr %8973, align 4, !tbaa !5
  %8975 = call ptr @s2n_strerror(i32 noundef %8974, ptr noundef @.str.3)
  %8976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8977 = load i32, ptr %8976, align 4, !tbaa !5
  %8978 = call ptr @s2n_strerror_debug(i32 noundef %8977, ptr noundef @.str.3)
  %8979 = call ptr @__errno_location() #11
  %8980 = load i32, ptr %8979, align 4, !tbaa !5
  %8981 = call ptr @strerror(i32 noundef %8980) #10
  %8982 = call ptr @__errno_location() #11
  %8983 = load i32, ptr %8982, align 4, !tbaa !5
  %8984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8971, ptr noundef @.str, i32 noundef %8972, ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 490, ptr noundef %8975, ptr noundef %8978, ptr noundef %8981, i32 noundef %8983) #10
  br label %9002

8985:                                             ; preds = %8963, %8956
  %8986 = load i32, ptr %227, align 4, !tbaa !5
  %8987 = call ptr @__errno_location() #11
  store i32 %8986, ptr %8987, align 4, !tbaa !5
  %8988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8989 = load i32, ptr @test_count, align 4, !tbaa !5
  %8990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8991 = load i32, ptr %8990, align 4, !tbaa !5
  %8992 = call ptr @s2n_strerror(i32 noundef %8991, ptr noundef @.str.3)
  %8993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8994 = load i32, ptr %8993, align 4, !tbaa !5
  %8995 = call ptr @s2n_strerror_debug(i32 noundef %8994, ptr noundef @.str.3)
  %8996 = call ptr @__errno_location() #11
  %8997 = load i32, ptr %8996, align 4, !tbaa !5
  %8998 = call ptr @strerror(i32 noundef %8997) #10
  %8999 = call ptr @__errno_location() #11
  %9000 = load i32, ptr %8999, align 4, !tbaa !5
  %9001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8988, ptr noundef @.str.4, i32 noundef %8989, ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 490, ptr noundef %8992, ptr noundef %8995, ptr noundef %8998, i32 noundef %9000) #10
  br label %9002

9002:                                             ; preds = %8985, %8968
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #10
  br label %9003

9003:                                             ; preds = %9002
  br label %9004

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

9005:                                             ; No predecessors!
  br label %9006

9006:                                             ; preds = %9005
  br label %9007

9007:                                             ; preds = %9006, %8943
  br label %9008

9008:                                             ; preds = %9007
  br label %9009

9009:                                             ; preds = %9008
  call void @llvm.lifetime.start.p0(i64 32, ptr %228) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %228, ptr align 8 %18, i64 32, i1 false), !tbaa.struct !28
  br label %9010

9010:                                             ; preds = %9009
  %9011 = load i32, ptr @test_count, align 4, !tbaa !5
  %9012 = add nsw i32 %9011, 1
  store i32 %9012, ptr @test_count, align 4, !tbaa !5
  %9013 = load ptr, ptr %222, align 8, !tbaa !9
  %9014 = call i32 @s2n_connection_set_send_cb(ptr noundef %9013, ptr noundef @s2n_test_send_cb)
  %9015 = icmp eq i32 %9014, -1
  br i1 %9015, label %9016, label %9069

9016:                                             ; preds = %9010
  br label %9017

9017:                                             ; preds = %9016
  br label %9018

9018:                                             ; preds = %9017
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #10
  %9019 = call ptr @__errno_location() #11
  %9020 = load i32, ptr %9019, align 4, !tbaa !5
  store i32 %9020, ptr %229, align 4, !tbaa !5
  %9021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9022 = call i32 @s2n_print_stacktrace(ptr noundef %9021)
  %9023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9024 = trunc i8 %9023 to i1
  br i1 %9024, label %9025, label %9047

9025:                                             ; preds = %9018
  %9026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9027 = call i32 @fileno(ptr noundef %9026) #10
  %9028 = call i32 @isatty(i32 noundef %9027) #10
  %9029 = icmp ne i32 %9028, 0
  br i1 %9029, label %9030, label %9047

9030:                                             ; preds = %9025
  %9031 = load i32, ptr %229, align 4, !tbaa !5
  %9032 = call ptr @__errno_location() #11
  store i32 %9031, ptr %9032, align 4, !tbaa !5
  %9033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9034 = load i32, ptr @test_count, align 4, !tbaa !5
  %9035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9036 = load i32, ptr %9035, align 4, !tbaa !5
  %9037 = call ptr @s2n_strerror(i32 noundef %9036, ptr noundef @.str.3)
  %9038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9039 = load i32, ptr %9038, align 4, !tbaa !5
  %9040 = call ptr @s2n_strerror_debug(i32 noundef %9039, ptr noundef @.str.3)
  %9041 = call ptr @__errno_location() #11
  %9042 = load i32, ptr %9041, align 4, !tbaa !5
  %9043 = call ptr @strerror(i32 noundef %9042) #10
  %9044 = call ptr @__errno_location() #11
  %9045 = load i32, ptr %9044, align 4, !tbaa !5
  %9046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9033, ptr noundef @.str, i32 noundef %9034, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 493, ptr noundef %9037, ptr noundef %9040, ptr noundef %9043, i32 noundef %9045) #10
  br label %9064

9047:                                             ; preds = %9025, %9018
  %9048 = load i32, ptr %229, align 4, !tbaa !5
  %9049 = call ptr @__errno_location() #11
  store i32 %9048, ptr %9049, align 4, !tbaa !5
  %9050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9051 = load i32, ptr @test_count, align 4, !tbaa !5
  %9052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9053 = load i32, ptr %9052, align 4, !tbaa !5
  %9054 = call ptr @s2n_strerror(i32 noundef %9053, ptr noundef @.str.3)
  %9055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9056 = load i32, ptr %9055, align 4, !tbaa !5
  %9057 = call ptr @s2n_strerror_debug(i32 noundef %9056, ptr noundef @.str.3)
  %9058 = call ptr @__errno_location() #11
  %9059 = load i32, ptr %9058, align 4, !tbaa !5
  %9060 = call ptr @strerror(i32 noundef %9059) #10
  %9061 = call ptr @__errno_location() #11
  %9062 = load i32, ptr %9061, align 4, !tbaa !5
  %9063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9050, ptr noundef @.str.4, i32 noundef %9051, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 493, ptr noundef %9054, ptr noundef %9057, ptr noundef %9060, i32 noundef %9062) #10
  br label %9064

9064:                                             ; preds = %9047, %9030
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #10
  br label %9065

9065:                                             ; preds = %9064
  br label %9066

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

9067:                                             ; No predecessors!
  br label %9068

9068:                                             ; preds = %9067
  br label %9069

9069:                                             ; preds = %9068, %9010
  br label %9070

9070:                                             ; preds = %9069
  br label %9071

9071:                                             ; preds = %9070
  br label %9072

9072:                                             ; preds = %9071
  %9073 = load i32, ptr @test_count, align 4, !tbaa !5
  %9074 = add nsw i32 %9073, 1
  store i32 %9074, ptr @test_count, align 4, !tbaa !5
  %9075 = load ptr, ptr %222, align 8, !tbaa !9
  %9076 = call i32 @s2n_connection_set_send_ctx(ptr noundef %9075, ptr noundef %228)
  %9077 = icmp eq i32 %9076, -1
  br i1 %9077, label %9078, label %9131

9078:                                             ; preds = %9072
  br label %9079

9079:                                             ; preds = %9078
  br label %9080

9080:                                             ; preds = %9079
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #10
  %9081 = call ptr @__errno_location() #11
  %9082 = load i32, ptr %9081, align 4, !tbaa !5
  store i32 %9082, ptr %230, align 4, !tbaa !5
  %9083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9084 = call i32 @s2n_print_stacktrace(ptr noundef %9083)
  %9085 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9086 = trunc i8 %9085 to i1
  br i1 %9086, label %9087, label %9109

9087:                                             ; preds = %9080
  %9088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9089 = call i32 @fileno(ptr noundef %9088) #10
  %9090 = call i32 @isatty(i32 noundef %9089) #10
  %9091 = icmp ne i32 %9090, 0
  br i1 %9091, label %9092, label %9109

9092:                                             ; preds = %9087
  %9093 = load i32, ptr %230, align 4, !tbaa !5
  %9094 = call ptr @__errno_location() #11
  store i32 %9093, ptr %9094, align 4, !tbaa !5
  %9095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9096 = load i32, ptr @test_count, align 4, !tbaa !5
  %9097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9098 = load i32, ptr %9097, align 4, !tbaa !5
  %9099 = call ptr @s2n_strerror(i32 noundef %9098, ptr noundef @.str.3)
  %9100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9101 = load i32, ptr %9100, align 4, !tbaa !5
  %9102 = call ptr @s2n_strerror_debug(i32 noundef %9101, ptr noundef @.str.3)
  %9103 = call ptr @__errno_location() #11
  %9104 = load i32, ptr %9103, align 4, !tbaa !5
  %9105 = call ptr @strerror(i32 noundef %9104) #10
  %9106 = call ptr @__errno_location() #11
  %9107 = load i32, ptr %9106, align 4, !tbaa !5
  %9108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9095, ptr noundef @.str, i32 noundef %9096, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 494, ptr noundef %9099, ptr noundef %9102, ptr noundef %9105, i32 noundef %9107) #10
  br label %9126

9109:                                             ; preds = %9087, %9080
  %9110 = load i32, ptr %230, align 4, !tbaa !5
  %9111 = call ptr @__errno_location() #11
  store i32 %9110, ptr %9111, align 4, !tbaa !5
  %9112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9113 = load i32, ptr @test_count, align 4, !tbaa !5
  %9114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9115 = load i32, ptr %9114, align 4, !tbaa !5
  %9116 = call ptr @s2n_strerror(i32 noundef %9115, ptr noundef @.str.3)
  %9117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9118 = load i32, ptr %9117, align 4, !tbaa !5
  %9119 = call ptr @s2n_strerror_debug(i32 noundef %9118, ptr noundef @.str.3)
  %9120 = call ptr @__errno_location() #11
  %9121 = load i32, ptr %9120, align 4, !tbaa !5
  %9122 = call ptr @strerror(i32 noundef %9121) #10
  %9123 = call ptr @__errno_location() #11
  %9124 = load i32, ptr %9123, align 4, !tbaa !5
  %9125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9112, ptr noundef @.str.4, i32 noundef %9113, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 494, ptr noundef %9116, ptr noundef %9119, ptr noundef %9122, i32 noundef %9124) #10
  br label %9126

9126:                                             ; preds = %9109, %9092
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #10
  br label %9127

9127:                                             ; preds = %9126
  br label %9128

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

9129:                                             ; No predecessors!
  br label %9130

9130:                                             ; preds = %9129
  br label %9131

9131:                                             ; preds = %9130, %9072
  br label %9132

9132:                                             ; preds = %9131
  br label %9133

9133:                                             ; preds = %9132
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #10
  store i32 0, ptr %231, align 4, !tbaa !5
  br label %9134

9134:                                             ; preds = %9133
  %9135 = load i32, ptr @test_count, align 4, !tbaa !5
  %9136 = add nsw i32 %9135, 1
  store i32 %9136, ptr @test_count, align 4, !tbaa !5
  %9137 = load ptr, ptr %222, align 8, !tbaa !9
  %9138 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %9139 = call i64 @s2n_send(ptr noundef %9137, ptr noundef %9138, i64 noundef 16394, ptr noundef %231)
  %9140 = icmp eq i64 %9139, 16394
  br i1 %9140, label %9194, label %9141

9141:                                             ; preds = %9134
  br label %9142

9142:                                             ; preds = %9141
  br label %9143

9143:                                             ; preds = %9142
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #10
  %9144 = call ptr @__errno_location() #11
  %9145 = load i32, ptr %9144, align 4, !tbaa !5
  store i32 %9145, ptr %232, align 4, !tbaa !5
  %9146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9147 = call i32 @s2n_print_stacktrace(ptr noundef %9146)
  %9148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9149 = trunc i8 %9148 to i1
  br i1 %9149, label %9150, label %9172

9150:                                             ; preds = %9143
  %9151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9152 = call i32 @fileno(ptr noundef %9151) #10
  %9153 = call i32 @isatty(i32 noundef %9152) #10
  %9154 = icmp ne i32 %9153, 0
  br i1 %9154, label %9155, label %9172

9155:                                             ; preds = %9150
  %9156 = load i32, ptr %232, align 4, !tbaa !5
  %9157 = call ptr @__errno_location() #11
  store i32 %9156, ptr %9157, align 4, !tbaa !5
  %9158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9159 = load i32, ptr @test_count, align 4, !tbaa !5
  %9160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9161 = load i32, ptr %9160, align 4, !tbaa !5
  %9162 = call ptr @s2n_strerror(i32 noundef %9161, ptr noundef @.str.3)
  %9163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9164 = load i32, ptr %9163, align 4, !tbaa !5
  %9165 = call ptr @s2n_strerror_debug(i32 noundef %9164, ptr noundef @.str.3)
  %9166 = call ptr @__errno_location() #11
  %9167 = load i32, ptr %9166, align 4, !tbaa !5
  %9168 = call ptr @strerror(i32 noundef %9167) #10
  %9169 = call ptr @__errno_location() #11
  %9170 = load i32, ptr %9169, align 4, !tbaa !5
  %9171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9158, ptr noundef @.str, i32 noundef %9159, ptr noundef @.str.47, ptr noundef @.str.2, i32 noundef 497, ptr noundef %9162, ptr noundef %9165, ptr noundef %9168, i32 noundef %9170) #10
  br label %9189

9172:                                             ; preds = %9150, %9143
  %9173 = load i32, ptr %232, align 4, !tbaa !5
  %9174 = call ptr @__errno_location() #11
  store i32 %9173, ptr %9174, align 4, !tbaa !5
  %9175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9176 = load i32, ptr @test_count, align 4, !tbaa !5
  %9177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9178 = load i32, ptr %9177, align 4, !tbaa !5
  %9179 = call ptr @s2n_strerror(i32 noundef %9178, ptr noundef @.str.3)
  %9180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9181 = load i32, ptr %9180, align 4, !tbaa !5
  %9182 = call ptr @s2n_strerror_debug(i32 noundef %9181, ptr noundef @.str.3)
  %9183 = call ptr @__errno_location() #11
  %9184 = load i32, ptr %9183, align 4, !tbaa !5
  %9185 = call ptr @strerror(i32 noundef %9184) #10
  %9186 = call ptr @__errno_location() #11
  %9187 = load i32, ptr %9186, align 4, !tbaa !5
  %9188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9175, ptr noundef @.str.4, i32 noundef %9176, ptr noundef @.str.47, ptr noundef @.str.2, i32 noundef 497, ptr noundef %9179, ptr noundef %9182, ptr noundef %9185, i32 noundef %9187) #10
  br label %9189

9189:                                             ; preds = %9172, %9155
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #10
  br label %9190

9190:                                             ; preds = %9189
  br label %9191

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

9192:                                             ; No predecessors!
  br label %9193

9193:                                             ; preds = %9192
  br label %9194

9194:                                             ; preds = %9193, %9134
  br label %9195

9195:                                             ; preds = %9194
  br label %9196

9196:                                             ; preds = %9195
  br label %9197

9197:                                             ; preds = %9196
  %9198 = load i32, ptr @test_count, align 4, !tbaa !5
  %9199 = add nsw i32 %9198, 1
  store i32 %9199, ptr @test_count, align 4, !tbaa !5
  %9200 = load i32, ptr %231, align 4, !tbaa !5
  %9201 = icmp eq i32 %9200, 0
  br i1 %9201, label %9255, label %9202

9202:                                             ; preds = %9197
  br label %9203

9203:                                             ; preds = %9202
  br label %9204

9204:                                             ; preds = %9203
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #10
  %9205 = call ptr @__errno_location() #11
  %9206 = load i32, ptr %9205, align 4, !tbaa !5
  store i32 %9206, ptr %233, 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 %233, 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.3)
  %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.3)
  %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, i32 noundef %9220, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 498, ptr noundef %9223, ptr noundef %9226, ptr noundef %9229, i32 noundef %9231) #10
  br label %9250

9233:                                             ; preds = %9211, %9204
  %9234 = load i32, ptr %233, 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.3)
  %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.3)
  %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.4, i32 noundef %9237, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 498, 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 %233) #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, %9197
  br label %9256

9256:                                             ; preds = %9255
  br label %9257

9257:                                             ; preds = %9256
  call void @llvm.lifetime.start.p0(i64 8, ptr %234) #10
  %9258 = load ptr, ptr %222, align 8, !tbaa !9
  %9259 = getelementptr inbounds %struct.s2n_connection, ptr %9258, i32 0, i32 53
  %9260 = load i16, ptr %9259, align 8, !tbaa !55
  %9261 = uitofp i16 %9260 to double
  %9262 = fdiv double 1.639400e+04, %9261
  %9263 = call double @llvm.ceil.f64(double %9262)
  %9264 = fptoui double %9263 to i64
  store i64 %9264, ptr %234, align 8, !tbaa !15
  br label %9265

9265:                                             ; preds = %9257
  %9266 = load i32, ptr @test_count, align 4, !tbaa !5
  %9267 = add nsw i32 %9266, 1
  store i32 %9267, ptr @test_count, align 4, !tbaa !5
  %9268 = getelementptr inbounds %struct.s2n_send_context, ptr %228, i32 0, i32 0
  %9269 = load i64, ptr %9268, align 8, !tbaa !23
  %9270 = load i64, ptr %234, align 8, !tbaa !15
  %9271 = icmp eq i64 %9269, %9270
  br i1 %9271, label %9325, label %9272

9272:                                             ; preds = %9265
  br label %9273

9273:                                             ; preds = %9272
  br label %9274

9274:                                             ; preds = %9273
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #10
  %9275 = call ptr @__errno_location() #11
  %9276 = load i32, ptr %9275, align 4, !tbaa !5
  store i32 %9276, ptr %235, align 4, !tbaa !5
  %9277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9278 = call i32 @s2n_print_stacktrace(ptr noundef %9277)
  %9279 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9280 = trunc i8 %9279 to i1
  br i1 %9280, label %9281, label %9303

9281:                                             ; preds = %9274
  %9282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9283 = call i32 @fileno(ptr noundef %9282) #10
  %9284 = call i32 @isatty(i32 noundef %9283) #10
  %9285 = icmp ne i32 %9284, 0
  br i1 %9285, label %9286, label %9303

9286:                                             ; preds = %9281
  %9287 = load i32, ptr %235, align 4, !tbaa !5
  %9288 = call ptr @__errno_location() #11
  store i32 %9287, ptr %9288, align 4, !tbaa !5
  %9289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9290 = load i32, ptr @test_count, align 4, !tbaa !5
  %9291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9292 = load i32, ptr %9291, align 4, !tbaa !5
  %9293 = call ptr @s2n_strerror(i32 noundef %9292, ptr noundef @.str.3)
  %9294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9295 = load i32, ptr %9294, align 4, !tbaa !5
  %9296 = call ptr @s2n_strerror_debug(i32 noundef %9295, ptr noundef @.str.3)
  %9297 = call ptr @__errno_location() #11
  %9298 = load i32, ptr %9297, align 4, !tbaa !5
  %9299 = call ptr @strerror(i32 noundef %9298) #10
  %9300 = call ptr @__errno_location() #11
  %9301 = load i32, ptr %9300, align 4, !tbaa !5
  %9302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9289, ptr noundef @.str, i32 noundef %9290, ptr noundef @.str.61, ptr noundef @.str.2, i32 noundef 502, ptr noundef %9293, ptr noundef %9296, ptr noundef %9299, i32 noundef %9301) #10
  br label %9320

9303:                                             ; preds = %9281, %9274
  %9304 = load i32, ptr %235, align 4, !tbaa !5
  %9305 = call ptr @__errno_location() #11
  store i32 %9304, ptr %9305, align 4, !tbaa !5
  %9306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9307 = load i32, ptr @test_count, align 4, !tbaa !5
  %9308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9309 = load i32, ptr %9308, align 4, !tbaa !5
  %9310 = call ptr @s2n_strerror(i32 noundef %9309, ptr noundef @.str.3)
  %9311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9312 = load i32, ptr %9311, align 4, !tbaa !5
  %9313 = call ptr @s2n_strerror_debug(i32 noundef %9312, ptr noundef @.str.3)
  %9314 = call ptr @__errno_location() #11
  %9315 = load i32, ptr %9314, align 4, !tbaa !5
  %9316 = call ptr @strerror(i32 noundef %9315) #10
  %9317 = call ptr @__errno_location() #11
  %9318 = load i32, ptr %9317, align 4, !tbaa !5
  %9319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9306, ptr noundef @.str.4, i32 noundef %9307, ptr noundef @.str.61, ptr noundef @.str.2, i32 noundef 502, ptr noundef %9310, ptr noundef %9313, ptr noundef %9316, i32 noundef %9318) #10
  br label %9320

9320:                                             ; preds = %9303, %9286
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #10
  br label %9321

9321:                                             ; preds = %9320
  br label %9322

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

9323:                                             ; No predecessors!
  br label %9324

9324:                                             ; preds = %9323
  br label %9325

9325:                                             ; preds = %9324, %9265
  br label %9326

9326:                                             ; preds = %9325
  br label %9327

9327:                                             ; preds = %9326
  br label %9328

9328:                                             ; preds = %9327
  %9329 = load i32, ptr @test_count, align 4, !tbaa !5
  %9330 = add nsw i32 %9329, 1
  store i32 %9330, ptr @test_count, align 4, !tbaa !5
  %9331 = load ptr, ptr %222, align 8, !tbaa !9
  %9332 = getelementptr inbounds %struct.s2n_connection, ptr %9331, i32 0, i32 41
  %9333 = getelementptr inbounds %struct.s2n_stuffer, ptr %9332, i32 0, i32 0
  %9334 = getelementptr inbounds %struct.s2n_blob, ptr %9333, i32 0, i32 1
  %9335 = load i32, ptr %9334, align 8, !tbaa !56
  %9336 = load i64, ptr %221, align 8, !tbaa !15
  %9337 = getelementptr inbounds [4 x i32], ptr %34, i64 0, i64 %9336
  %9338 = load i32, ptr %9337, align 4, !tbaa !5
  %9339 = icmp eq i32 %9335, %9338
  br i1 %9339, label %9393, label %9340

9340:                                             ; preds = %9328
  br label %9341

9341:                                             ; preds = %9340
  br label %9342

9342:                                             ; preds = %9341
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #10
  %9343 = call ptr @__errno_location() #11
  %9344 = load i32, ptr %9343, align 4, !tbaa !5
  store i32 %9344, ptr %236, align 4, !tbaa !5
  %9345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9346 = call i32 @s2n_print_stacktrace(ptr noundef %9345)
  %9347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9348 = trunc i8 %9347 to i1
  br i1 %9348, label %9349, label %9371

9349:                                             ; preds = %9342
  %9350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9351 = call i32 @fileno(ptr noundef %9350) #10
  %9352 = call i32 @isatty(i32 noundef %9351) #10
  %9353 = icmp ne i32 %9352, 0
  br i1 %9353, label %9354, label %9371

9354:                                             ; preds = %9349
  %9355 = load i32, ptr %236, align 4, !tbaa !5
  %9356 = call ptr @__errno_location() #11
  store i32 %9355, ptr %9356, align 4, !tbaa !5
  %9357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9358 = load i32, ptr @test_count, align 4, !tbaa !5
  %9359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9360 = load i32, ptr %9359, align 4, !tbaa !5
  %9361 = call ptr @s2n_strerror(i32 noundef %9360, ptr noundef @.str.3)
  %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_debug(i32 noundef %9363, ptr noundef @.str.3)
  %9365 = call ptr @__errno_location() #11
  %9366 = load i32, ptr %9365, align 4, !tbaa !5
  %9367 = call ptr @strerror(i32 noundef %9366) #10
  %9368 = call ptr @__errno_location() #11
  %9369 = load i32, ptr %9368, align 4, !tbaa !5
  %9370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9357, ptr noundef @.str, i32 noundef %9358, ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 505, ptr noundef %9361, ptr noundef %9364, ptr noundef %9367, i32 noundef %9369) #10
  br label %9388

9371:                                             ; preds = %9349, %9342
  %9372 = load i32, ptr %236, align 4, !tbaa !5
  %9373 = call ptr @__errno_location() #11
  store i32 %9372, ptr %9373, align 4, !tbaa !5
  %9374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9375 = load i32, ptr @test_count, align 4, !tbaa !5
  %9376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9377 = load i32, ptr %9376, align 4, !tbaa !5
  %9378 = call ptr @s2n_strerror(i32 noundef %9377, ptr noundef @.str.3)
  %9379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9380 = load i32, ptr %9379, align 4, !tbaa !5
  %9381 = call ptr @s2n_strerror_debug(i32 noundef %9380, ptr noundef @.str.3)
  %9382 = call ptr @__errno_location() #11
  %9383 = load i32, ptr %9382, align 4, !tbaa !5
  %9384 = call ptr @strerror(i32 noundef %9383) #10
  %9385 = call ptr @__errno_location() #11
  %9386 = load i32, ptr %9385, align 4, !tbaa !5
  %9387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9374, ptr noundef @.str.4, i32 noundef %9375, ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 505, ptr noundef %9378, ptr noundef %9381, ptr noundef %9384, i32 noundef %9386) #10
  br label %9388

9388:                                             ; preds = %9371, %9354
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #10
  br label %9389

9389:                                             ; preds = %9388
  br label %9390

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

9391:                                             ; No predecessors!
  br label %9392

9392:                                             ; preds = %9391
  br label %9393

9393:                                             ; preds = %9392, %9328
  br label %9394

9394:                                             ; preds = %9393
  br label %9395

9395:                                             ; preds = %9394
  call void @llvm.lifetime.end.p0(i64 8, ptr %234) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %228) #10
  %9396 = call i32 @s2n_connection_ptr_free(ptr noundef %222)
  %9397 = getelementptr inbounds %struct.s2n_result, ptr %237, i32 0, i32 0
  store i32 %9396, ptr %9397, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %222) #10
  br label %9398

9398:                                             ; preds = %9395
  %9399 = load i64, ptr %221, align 8, !tbaa !15
  %9400 = add i64 %9399, 1
  store i64 %9400, ptr %221, align 8, !tbaa !15
  br label %8811, !llvm.loop !58

9401:                                             ; preds = %8814
  call void @llvm.lifetime.start.p0(i64 8, ptr %238) #10
  %9402 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %9402, ptr %238, align 8, !tbaa !9
  br label %9403

9403:                                             ; preds = %9401
  %9404 = load i32, ptr @test_count, align 4, !tbaa !5
  %9405 = add nsw i32 %9404, 1
  store i32 %9405, ptr @test_count, align 4, !tbaa !5
  %9406 = load ptr, ptr %238, align 8, !tbaa !9
  %9407 = icmp eq ptr %9406, null
  br i1 %9407, label %9408, label %9461

9408:                                             ; preds = %9403
  br label %9409

9409:                                             ; preds = %9408
  br label %9410

9410:                                             ; preds = %9409
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #10
  %9411 = call ptr @__errno_location() #11
  %9412 = load i32, ptr %9411, align 4, !tbaa !5
  store i32 %9412, ptr %239, align 4, !tbaa !5
  %9413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9414 = call i32 @s2n_print_stacktrace(ptr noundef %9413)
  %9415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9416 = trunc i8 %9415 to i1
  br i1 %9416, label %9417, label %9439

9417:                                             ; preds = %9410
  %9418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9419 = call i32 @fileno(ptr noundef %9418) #10
  %9420 = call i32 @isatty(i32 noundef %9419) #10
  %9421 = icmp ne i32 %9420, 0
  br i1 %9421, label %9422, label %9439

9422:                                             ; preds = %9417
  %9423 = load i32, ptr %239, 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.3)
  %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.3)
  %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, i32 noundef %9426, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 512, ptr noundef %9429, ptr noundef %9432, ptr noundef %9435, i32 noundef %9437) #10
  br label %9456

9439:                                             ; preds = %9417, %9410
  %9440 = load i32, ptr %239, align 4, !tbaa !5
  %9441 = call ptr @__errno_location() #11
  store i32 %9440, ptr %9441, align 4, !tbaa !5
  %9442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9443 = load i32, ptr @test_count, align 4, !tbaa !5
  %9444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9445 = load i32, ptr %9444, align 4, !tbaa !5
  %9446 = call ptr @s2n_strerror(i32 noundef %9445, ptr noundef @.str.3)
  %9447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9448 = load i32, ptr %9447, align 4, !tbaa !5
  %9449 = call ptr @s2n_strerror_debug(i32 noundef %9448, ptr noundef @.str.3)
  %9450 = call ptr @__errno_location() #11
  %9451 = load i32, ptr %9450, align 4, !tbaa !5
  %9452 = call ptr @strerror(i32 noundef %9451) #10
  %9453 = call ptr @__errno_location() #11
  %9454 = load i32, ptr %9453, align 4, !tbaa !5
  %9455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9442, ptr noundef @.str.4, i32 noundef %9443, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 512, ptr noundef %9446, ptr noundef %9449, ptr noundef %9452, i32 noundef %9454) #10
  br label %9456

9456:                                             ; preds = %9439, %9422
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #10
  br label %9457

9457:                                             ; preds = %9456
  br label %9458

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

9459:                                             ; No predecessors!
  br label %9460

9460:                                             ; preds = %9459
  br label %9461

9461:                                             ; preds = %9460, %9403
  br label %9462

9462:                                             ; preds = %9461
  br label %9463

9463:                                             ; preds = %9462
  br label %9464

9464:                                             ; preds = %9463
  %9465 = load i32, ptr @test_count, align 4, !tbaa !5
  %9466 = add nsw i32 %9465, 1
  store i32 %9466, ptr @test_count, align 4, !tbaa !5
  %9467 = load ptr, ptr %238, align 8, !tbaa !9
  %9468 = call i32 @s2n_connection_set_secrets(ptr noundef %9467)
  %9469 = getelementptr inbounds %struct.s2n_result, ptr %240, i32 0, i32 0
  store i32 %9468, ptr %9469, align 4
  %9470 = getelementptr inbounds %struct.s2n_result, ptr %240, i32 0, i32 0
  %9471 = load i32, ptr %9470, align 4
  %9472 = call zeroext i1 @s2n_result_is_ok(i32 %9471)
  br i1 %9472, label %9526, label %9473

9473:                                             ; preds = %9464
  br label %9474

9474:                                             ; preds = %9473
  br label %9475

9475:                                             ; preds = %9474
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #10
  %9476 = call ptr @__errno_location() #11
  %9477 = load i32, ptr %9476, align 4, !tbaa !5
  store i32 %9477, ptr %241, align 4, !tbaa !5
  %9478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9479 = call i32 @s2n_print_stacktrace(ptr noundef %9478)
  %9480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9481 = trunc i8 %9480 to i1
  br i1 %9481, label %9482, label %9504

9482:                                             ; preds = %9475
  %9483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9484 = call i32 @fileno(ptr noundef %9483) #10
  %9485 = call i32 @isatty(i32 noundef %9484) #10
  %9486 = icmp ne i32 %9485, 0
  br i1 %9486, label %9487, label %9504

9487:                                             ; preds = %9482
  %9488 = load i32, ptr %241, align 4, !tbaa !5
  %9489 = call ptr @__errno_location() #11
  store i32 %9488, ptr %9489, align 4, !tbaa !5
  %9490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9491 = load i32, ptr @test_count, align 4, !tbaa !5
  %9492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9493 = load i32, ptr %9492, align 4, !tbaa !5
  %9494 = call ptr @s2n_strerror(i32 noundef %9493, ptr noundef @.str.3)
  %9495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9496 = load i32, ptr %9495, align 4, !tbaa !5
  %9497 = call ptr @s2n_strerror_debug(i32 noundef %9496, ptr noundef @.str.3)
  %9498 = call ptr @__errno_location() #11
  %9499 = load i32, ptr %9498, align 4, !tbaa !5
  %9500 = call ptr @strerror(i32 noundef %9499) #10
  %9501 = call ptr @__errno_location() #11
  %9502 = load i32, ptr %9501, align 4, !tbaa !5
  %9503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9490, ptr noundef @.str, i32 noundef %9491, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 513, ptr noundef %9494, ptr noundef %9497, ptr noundef %9500, i32 noundef %9502) #10
  br label %9521

9504:                                             ; preds = %9482, %9475
  %9505 = load i32, ptr %241, align 4, !tbaa !5
  %9506 = call ptr @__errno_location() #11
  store i32 %9505, ptr %9506, align 4, !tbaa !5
  %9507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9508 = load i32, ptr @test_count, align 4, !tbaa !5
  %9509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9510 = load i32, ptr %9509, align 4, !tbaa !5
  %9511 = call ptr @s2n_strerror(i32 noundef %9510, ptr noundef @.str.3)
  %9512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9513 = load i32, ptr %9512, align 4, !tbaa !5
  %9514 = call ptr @s2n_strerror_debug(i32 noundef %9513, ptr noundef @.str.3)
  %9515 = call ptr @__errno_location() #11
  %9516 = load i32, ptr %9515, align 4, !tbaa !5
  %9517 = call ptr @strerror(i32 noundef %9516) #10
  %9518 = call ptr @__errno_location() #11
  %9519 = load i32, ptr %9518, align 4, !tbaa !5
  %9520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9507, ptr noundef @.str.4, i32 noundef %9508, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 513, ptr noundef %9511, ptr noundef %9514, ptr noundef %9517, i32 noundef %9519) #10
  br label %9521

9521:                                             ; preds = %9504, %9487
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #10
  br label %9522

9522:                                             ; preds = %9521
  br label %9523

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

9524:                                             ; No predecessors!
  br label %9525

9525:                                             ; preds = %9524
  br label %9526

9526:                                             ; preds = %9525, %9464
  br label %9527

9527:                                             ; preds = %9526
  br label %9528

9528:                                             ; preds = %9527
  call void @llvm.lifetime.start.p0(i64 2, ptr %242) #10
  store i16 0, ptr %242, align 2, !tbaa !59
  br label %9529

9529:                                             ; preds = %9528
  %9530 = load i32, ptr @test_count, align 4, !tbaa !5
  %9531 = add nsw i32 %9530, 1
  store i32 %9531, ptr @test_count, align 4, !tbaa !5
  %9532 = load ptr, ptr %238, align 8, !tbaa !9
  %9533 = call i32 @s2n_record_min_write_payload_size(ptr noundef %9532, ptr noundef %242)
  %9534 = getelementptr inbounds %struct.s2n_result, ptr %243, i32 0, i32 0
  store i32 %9533, ptr %9534, align 4
  %9535 = getelementptr inbounds %struct.s2n_result, ptr %243, i32 0, i32 0
  %9536 = load i32, ptr %9535, align 4
  %9537 = call zeroext i1 @s2n_result_is_ok(i32 %9536)
  br i1 %9537, label %9591, label %9538

9538:                                             ; preds = %9529
  br label %9539

9539:                                             ; preds = %9538
  br label %9540

9540:                                             ; preds = %9539
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #10
  %9541 = call ptr @__errno_location() #11
  %9542 = load i32, ptr %9541, align 4, !tbaa !5
  store i32 %9542, ptr %244, align 4, !tbaa !5
  %9543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9544 = call i32 @s2n_print_stacktrace(ptr noundef %9543)
  %9545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9546 = trunc i8 %9545 to i1
  br i1 %9546, label %9547, label %9569

9547:                                             ; preds = %9540
  %9548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9549 = call i32 @fileno(ptr noundef %9548) #10
  %9550 = call i32 @isatty(i32 noundef %9549) #10
  %9551 = icmp ne i32 %9550, 0
  br i1 %9551, label %9552, label %9569

9552:                                             ; preds = %9547
  %9553 = load i32, ptr %244, align 4, !tbaa !5
  %9554 = call ptr @__errno_location() #11
  store i32 %9553, ptr %9554, align 4, !tbaa !5
  %9555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9556 = load i32, ptr @test_count, align 4, !tbaa !5
  %9557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9558 = load i32, ptr %9557, align 4, !tbaa !5
  %9559 = call ptr @s2n_strerror(i32 noundef %9558, ptr noundef @.str.3)
  %9560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9561 = load i32, ptr %9560, align 4, !tbaa !5
  %9562 = call ptr @s2n_strerror_debug(i32 noundef %9561, ptr noundef @.str.3)
  %9563 = call ptr @__errno_location() #11
  %9564 = load i32, ptr %9563, align 4, !tbaa !5
  %9565 = call ptr @strerror(i32 noundef %9564) #10
  %9566 = call ptr @__errno_location() #11
  %9567 = load i32, ptr %9566, align 4, !tbaa !5
  %9568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9555, ptr noundef @.str, i32 noundef %9556, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 517, ptr noundef %9559, ptr noundef %9562, ptr noundef %9565, i32 noundef %9567) #10
  br label %9586

9569:                                             ; preds = %9547, %9540
  %9570 = load i32, ptr %244, align 4, !tbaa !5
  %9571 = call ptr @__errno_location() #11
  store i32 %9570, ptr %9571, align 4, !tbaa !5
  %9572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9573 = load i32, ptr @test_count, align 4, !tbaa !5
  %9574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9575 = load i32, ptr %9574, align 4, !tbaa !5
  %9576 = call ptr @s2n_strerror(i32 noundef %9575, ptr noundef @.str.3)
  %9577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9578 = load i32, ptr %9577, align 4, !tbaa !5
  %9579 = call ptr @s2n_strerror_debug(i32 noundef %9578, ptr noundef @.str.3)
  %9580 = call ptr @__errno_location() #11
  %9581 = load i32, ptr %9580, align 4, !tbaa !5
  %9582 = call ptr @strerror(i32 noundef %9581) #10
  %9583 = call ptr @__errno_location() #11
  %9584 = load i32, ptr %9583, align 4, !tbaa !5
  %9585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9572, ptr noundef @.str.4, i32 noundef %9573, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 517, ptr noundef %9576, ptr noundef %9579, ptr noundef %9582, i32 noundef %9584) #10
  br label %9586

9586:                                             ; preds = %9569, %9552
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #10
  br label %9587

9587:                                             ; preds = %9586
  br label %9588

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

9589:                                             ; No predecessors!
  br label %9590

9590:                                             ; preds = %9589
  br label %9591

9591:                                             ; preds = %9590, %9529
  br label %9592

9592:                                             ; preds = %9591
  br label %9593

9593:                                             ; preds = %9592
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #10
  %9594 = load i16, ptr %242, align 2, !tbaa !59
  %9595 = zext i16 %9594 to i32
  %9596 = mul nsw i32 %9595, 2
  store i32 %9596, ptr %245, align 4, !tbaa !5
  br label %9597

9597:                                             ; preds = %9593
  %9598 = load i32, ptr @test_count, align 4, !tbaa !5
  %9599 = add nsw i32 %9598, 1
  store i32 %9599, ptr @test_count, align 4, !tbaa !5
  %9600 = load ptr, ptr %238, align 8, !tbaa !9
  %9601 = load i32, ptr %245, align 4, !tbaa !5
  %9602 = call i32 @s2n_connection_set_dynamic_record_threshold(ptr noundef %9600, i32 noundef %9601, i16 noundef zeroext -1)
  %9603 = icmp eq i32 %9602, -1
  br i1 %9603, label %9604, label %9657

9604:                                             ; preds = %9597
  br label %9605

9605:                                             ; preds = %9604
  br label %9606

9606:                                             ; preds = %9605
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #10
  %9607 = call ptr @__errno_location() #11
  %9608 = load i32, ptr %9607, align 4, !tbaa !5
  store i32 %9608, ptr %246, align 4, !tbaa !5
  %9609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9610 = call i32 @s2n_print_stacktrace(ptr noundef %9609)
  %9611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9612 = trunc i8 %9611 to i1
  br i1 %9612, label %9613, label %9635

9613:                                             ; preds = %9606
  %9614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9615 = call i32 @fileno(ptr noundef %9614) #10
  %9616 = call i32 @isatty(i32 noundef %9615) #10
  %9617 = icmp ne i32 %9616, 0
  br i1 %9617, label %9618, label %9635

9618:                                             ; preds = %9613
  %9619 = load i32, ptr %246, align 4, !tbaa !5
  %9620 = call ptr @__errno_location() #11
  store i32 %9619, ptr %9620, align 4, !tbaa !5
  %9621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9622 = load i32, ptr @test_count, align 4, !tbaa !5
  %9623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9624 = load i32, ptr %9623, align 4, !tbaa !5
  %9625 = call ptr @s2n_strerror(i32 noundef %9624, ptr noundef @.str.3)
  %9626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9627 = load i32, ptr %9626, align 4, !tbaa !5
  %9628 = call ptr @s2n_strerror_debug(i32 noundef %9627, ptr noundef @.str.3)
  %9629 = call ptr @__errno_location() #11
  %9630 = load i32, ptr %9629, align 4, !tbaa !5
  %9631 = call ptr @strerror(i32 noundef %9630) #10
  %9632 = call ptr @__errno_location() #11
  %9633 = load i32, ptr %9632, align 4, !tbaa !5
  %9634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9621, ptr noundef @.str, i32 noundef %9622, ptr noundef @.str.63, ptr noundef @.str.2, i32 noundef 521, ptr noundef %9625, ptr noundef %9628, ptr noundef %9631, i32 noundef %9633) #10
  br label %9652

9635:                                             ; preds = %9613, %9606
  %9636 = load i32, ptr %246, align 4, !tbaa !5
  %9637 = call ptr @__errno_location() #11
  store i32 %9636, ptr %9637, align 4, !tbaa !5
  %9638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9639 = load i32, ptr @test_count, align 4, !tbaa !5
  %9640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9641 = load i32, ptr %9640, align 4, !tbaa !5
  %9642 = call ptr @s2n_strerror(i32 noundef %9641, ptr noundef @.str.3)
  %9643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9644 = load i32, ptr %9643, align 4, !tbaa !5
  %9645 = call ptr @s2n_strerror_debug(i32 noundef %9644, ptr noundef @.str.3)
  %9646 = call ptr @__errno_location() #11
  %9647 = load i32, ptr %9646, align 4, !tbaa !5
  %9648 = call ptr @strerror(i32 noundef %9647) #10
  %9649 = call ptr @__errno_location() #11
  %9650 = load i32, ptr %9649, align 4, !tbaa !5
  %9651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9638, ptr noundef @.str.4, i32 noundef %9639, ptr noundef @.str.63, ptr noundef @.str.2, i32 noundef 521, ptr noundef %9642, ptr noundef %9645, ptr noundef %9648, i32 noundef %9650) #10
  br label %9652

9652:                                             ; preds = %9635, %9618
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #10
  br label %9653

9653:                                             ; preds = %9652
  br label %9654

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

9655:                                             ; No predecessors!
  br label %9656

9656:                                             ; preds = %9655
  br label %9657

9657:                                             ; preds = %9656, %9597
  br label %9658

9658:                                             ; preds = %9657
  br label %9659

9659:                                             ; preds = %9658
  call void @llvm.lifetime.start.p0(i64 48, ptr %247) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %247, ptr align 16 @__const.main.results.64, i64 48, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr %248) #10
  %9660 = getelementptr inbounds %struct.s2n_send_context, ptr %248, i32 0, i32 0
  store i64 0, ptr %9660, align 8, !tbaa !23
  %9661 = getelementptr inbounds %struct.s2n_send_context, ptr %248, i32 0, i32 1
  store i64 0, ptr %9661, align 8, !tbaa !25
  %9662 = getelementptr inbounds %struct.s2n_send_context, ptr %248, i32 0, i32 2
  %9663 = getelementptr inbounds [6 x %struct.s2n_send_result], ptr %247, i64 0, i64 0
  store ptr %9663, ptr %9662, align 8, !tbaa !26
  %9664 = getelementptr inbounds %struct.s2n_send_context, ptr %248, i32 0, i32 3
  store i64 6, ptr %9664, align 8, !tbaa !27
  br label %9665

9665:                                             ; preds = %9659
  %9666 = load i32, ptr @test_count, align 4, !tbaa !5
  %9667 = add nsw i32 %9666, 1
  store i32 %9667, ptr @test_count, align 4, !tbaa !5
  %9668 = load ptr, ptr %238, align 8, !tbaa !9
  %9669 = call i32 @s2n_connection_set_send_ctx(ptr noundef %9668, ptr noundef %248)
  %9670 = icmp eq i32 %9669, -1
  br i1 %9670, label %9671, label %9724

9671:                                             ; preds = %9665
  br label %9672

9672:                                             ; preds = %9671
  br label %9673

9673:                                             ; preds = %9672
  call void @llvm.lifetime.start.p0(i64 4, ptr %249) #10
  %9674 = call ptr @__errno_location() #11
  %9675 = load i32, ptr %9674, align 4, !tbaa !5
  store i32 %9675, ptr %249, align 4, !tbaa !5
  %9676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9677 = call i32 @s2n_print_stacktrace(ptr noundef %9676)
  %9678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9679 = trunc i8 %9678 to i1
  br i1 %9679, label %9680, label %9702

9680:                                             ; preds = %9673
  %9681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9682 = call i32 @fileno(ptr noundef %9681) #10
  %9683 = call i32 @isatty(i32 noundef %9682) #10
  %9684 = icmp ne i32 %9683, 0
  br i1 %9684, label %9685, label %9702

9685:                                             ; preds = %9680
  %9686 = load i32, ptr %249, align 4, !tbaa !5
  %9687 = call ptr @__errno_location() #11
  store i32 %9686, ptr %9687, align 4, !tbaa !5
  %9688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9689 = load i32, ptr @test_count, align 4, !tbaa !5
  %9690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9691 = load i32, ptr %9690, align 4, !tbaa !5
  %9692 = call ptr @s2n_strerror(i32 noundef %9691, ptr noundef @.str.3)
  %9693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9694 = load i32, ptr %9693, align 4, !tbaa !5
  %9695 = call ptr @s2n_strerror_debug(i32 noundef %9694, ptr noundef @.str.3)
  %9696 = call ptr @__errno_location() #11
  %9697 = load i32, ptr %9696, align 4, !tbaa !5
  %9698 = call ptr @strerror(i32 noundef %9697) #10
  %9699 = call ptr @__errno_location() #11
  %9700 = load i32, ptr %9699, align 4, !tbaa !5
  %9701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9688, ptr noundef @.str, i32 noundef %9689, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 535, ptr noundef %9692, ptr noundef %9695, ptr noundef %9698, i32 noundef %9700) #10
  br label %9719

9702:                                             ; preds = %9680, %9673
  %9703 = load i32, ptr %249, align 4, !tbaa !5
  %9704 = call ptr @__errno_location() #11
  store i32 %9703, ptr %9704, align 4, !tbaa !5
  %9705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9706 = load i32, ptr @test_count, align 4, !tbaa !5
  %9707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9708 = load i32, ptr %9707, align 4, !tbaa !5
  %9709 = call ptr @s2n_strerror(i32 noundef %9708, ptr noundef @.str.3)
  %9710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9711 = load i32, ptr %9710, align 4, !tbaa !5
  %9712 = call ptr @s2n_strerror_debug(i32 noundef %9711, ptr noundef @.str.3)
  %9713 = call ptr @__errno_location() #11
  %9714 = load i32, ptr %9713, align 4, !tbaa !5
  %9715 = call ptr @strerror(i32 noundef %9714) #10
  %9716 = call ptr @__errno_location() #11
  %9717 = load i32, ptr %9716, align 4, !tbaa !5
  %9718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9705, ptr noundef @.str.4, i32 noundef %9706, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 535, ptr noundef %9709, ptr noundef %9712, ptr noundef %9715, i32 noundef %9717) #10
  br label %9719

9719:                                             ; preds = %9702, %9685
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #10
  br label %9720

9720:                                             ; preds = %9719
  br label %9721

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

9722:                                             ; No predecessors!
  br label %9723

9723:                                             ; preds = %9722
  br label %9724

9724:                                             ; preds = %9723, %9665
  br label %9725

9725:                                             ; preds = %9724
  br label %9726

9726:                                             ; preds = %9725
  br label %9727

9727:                                             ; preds = %9726
  %9728 = load i32, ptr @test_count, align 4, !tbaa !5
  %9729 = add nsw i32 %9728, 1
  store i32 %9729, ptr @test_count, align 4, !tbaa !5
  %9730 = load ptr, ptr %238, align 8, !tbaa !9
  %9731 = call i32 @s2n_connection_set_send_cb(ptr noundef %9730, ptr noundef @s2n_test_send_cb)
  %9732 = icmp eq i32 %9731, -1
  br i1 %9732, label %9733, label %9786

9733:                                             ; preds = %9727
  br label %9734

9734:                                             ; preds = %9733
  br label %9735

9735:                                             ; preds = %9734
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #10
  %9736 = call ptr @__errno_location() #11
  %9737 = load i32, ptr %9736, align 4, !tbaa !5
  store i32 %9737, ptr %250, align 4, !tbaa !5
  %9738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9739 = call i32 @s2n_print_stacktrace(ptr noundef %9738)
  %9740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9741 = trunc i8 %9740 to i1
  br i1 %9741, label %9742, label %9764

9742:                                             ; preds = %9735
  %9743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9744 = call i32 @fileno(ptr noundef %9743) #10
  %9745 = call i32 @isatty(i32 noundef %9744) #10
  %9746 = icmp ne i32 %9745, 0
  br i1 %9746, label %9747, label %9764

9747:                                             ; preds = %9742
  %9748 = load i32, ptr %250, align 4, !tbaa !5
  %9749 = call ptr @__errno_location() #11
  store i32 %9748, ptr %9749, align 4, !tbaa !5
  %9750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9751 = load i32, ptr @test_count, align 4, !tbaa !5
  %9752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9753 = load i32, ptr %9752, align 4, !tbaa !5
  %9754 = call ptr @s2n_strerror(i32 noundef %9753, ptr noundef @.str.3)
  %9755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9756 = load i32, ptr %9755, align 4, !tbaa !5
  %9757 = call ptr @s2n_strerror_debug(i32 noundef %9756, ptr noundef @.str.3)
  %9758 = call ptr @__errno_location() #11
  %9759 = load i32, ptr %9758, align 4, !tbaa !5
  %9760 = call ptr @strerror(i32 noundef %9759) #10
  %9761 = call ptr @__errno_location() #11
  %9762 = load i32, ptr %9761, align 4, !tbaa !5
  %9763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9750, ptr noundef @.str, i32 noundef %9751, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 536, ptr noundef %9754, ptr noundef %9757, ptr noundef %9760, i32 noundef %9762) #10
  br label %9781

9764:                                             ; preds = %9742, %9735
  %9765 = load i32, ptr %250, align 4, !tbaa !5
  %9766 = call ptr @__errno_location() #11
  store i32 %9765, ptr %9766, align 4, !tbaa !5
  %9767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9768 = load i32, ptr @test_count, align 4, !tbaa !5
  %9769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9770 = load i32, ptr %9769, align 4, !tbaa !5
  %9771 = call ptr @s2n_strerror(i32 noundef %9770, ptr noundef @.str.3)
  %9772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9773 = load i32, ptr %9772, align 4, !tbaa !5
  %9774 = call ptr @s2n_strerror_debug(i32 noundef %9773, ptr noundef @.str.3)
  %9775 = call ptr @__errno_location() #11
  %9776 = load i32, ptr %9775, align 4, !tbaa !5
  %9777 = call ptr @strerror(i32 noundef %9776) #10
  %9778 = call ptr @__errno_location() #11
  %9779 = load i32, ptr %9778, align 4, !tbaa !5
  %9780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9767, ptr noundef @.str.4, i32 noundef %9768, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 536, ptr noundef %9771, ptr noundef %9774, ptr noundef %9777, i32 noundef %9779) #10
  br label %9781

9781:                                             ; preds = %9764, %9747
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #10
  br label %9782

9782:                                             ; preds = %9781
  br label %9783

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

9784:                                             ; No predecessors!
  br label %9785

9785:                                             ; preds = %9784
  br label %9786

9786:                                             ; preds = %9785, %9727
  br label %9787

9787:                                             ; preds = %9786
  br label %9788

9788:                                             ; preds = %9787
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #10
  store i32 0, ptr %251, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %252) #10
  %9789 = load i16, ptr %242, align 2, !tbaa !59
  %9790 = zext i16 %9789 to i32
  %9791 = mul nsw i32 %9790, 2
  %9792 = sext i32 %9791 to i64
  store i64 %9792, ptr %252, align 8, !tbaa !15
  br label %9793

9793:                                             ; preds = %9788
  br label %9794

9794:                                             ; preds = %9793
  br label %9795

9795:                                             ; preds = %9794
  %9796 = load i32, ptr @test_count, align 4, !tbaa !5
  %9797 = add nsw i32 %9796, 1
  store i32 %9797, ptr @test_count, align 4, !tbaa !5
  %9798 = load ptr, ptr %238, align 8, !tbaa !9
  %9799 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %9800 = load i64, ptr %252, align 8, !tbaa !15
  %9801 = call i64 @s2n_send(ptr noundef %9798, ptr noundef %9799, i64 noundef %9800, ptr noundef %251)
  %9802 = icmp eq i64 %9801, -1
  br i1 %9802, label %9856, label %9803

9803:                                             ; preds = %9795
  br label %9804

9804:                                             ; preds = %9803
  br label %9805

9805:                                             ; preds = %9804
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #10
  %9806 = call ptr @__errno_location() #11
  %9807 = load i32, ptr %9806, align 4, !tbaa !5
  store i32 %9807, ptr %253, align 4, !tbaa !5
  %9808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9809 = call i32 @s2n_print_stacktrace(ptr noundef %9808)
  %9810 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9811 = trunc i8 %9810 to i1
  br i1 %9811, label %9812, label %9834

9812:                                             ; preds = %9805
  %9813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9814 = call i32 @fileno(ptr noundef %9813) #10
  %9815 = call i32 @isatty(i32 noundef %9814) #10
  %9816 = icmp ne i32 %9815, 0
  br i1 %9816, label %9817, label %9834

9817:                                             ; preds = %9812
  %9818 = load i32, ptr %253, align 4, !tbaa !5
  %9819 = call ptr @__errno_location() #11
  store i32 %9818, ptr %9819, align 4, !tbaa !5
  %9820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9821 = load i32, ptr @test_count, align 4, !tbaa !5
  %9822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9823 = load i32, ptr %9822, align 4, !tbaa !5
  %9824 = call ptr @s2n_strerror(i32 noundef %9823, ptr noundef @.str.3)
  %9825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9826 = load i32, ptr %9825, align 4, !tbaa !5
  %9827 = call ptr @s2n_strerror_debug(i32 noundef %9826, ptr noundef @.str.3)
  %9828 = call ptr @__errno_location() #11
  %9829 = load i32, ptr %9828, align 4, !tbaa !5
  %9830 = call ptr @strerror(i32 noundef %9829) #10
  %9831 = call ptr @__errno_location() #11
  %9832 = load i32, ptr %9831, align 4, !tbaa !5
  %9833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9820, ptr noundef @.str, i32 noundef %9821, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 543, ptr noundef %9824, ptr noundef %9827, ptr noundef %9830, i32 noundef %9832) #10
  br label %9851

9834:                                             ; preds = %9812, %9805
  %9835 = load i32, ptr %253, align 4, !tbaa !5
  %9836 = call ptr @__errno_location() #11
  store i32 %9835, ptr %9836, align 4, !tbaa !5
  %9837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9838 = load i32, ptr @test_count, align 4, !tbaa !5
  %9839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9840 = load i32, ptr %9839, align 4, !tbaa !5
  %9841 = call ptr @s2n_strerror(i32 noundef %9840, ptr noundef @.str.3)
  %9842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9843 = load i32, ptr %9842, align 4, !tbaa !5
  %9844 = call ptr @s2n_strerror_debug(i32 noundef %9843, ptr noundef @.str.3)
  %9845 = call ptr @__errno_location() #11
  %9846 = load i32, ptr %9845, align 4, !tbaa !5
  %9847 = call ptr @strerror(i32 noundef %9846) #10
  %9848 = call ptr @__errno_location() #11
  %9849 = load i32, ptr %9848, align 4, !tbaa !5
  %9850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9837, ptr noundef @.str.4, i32 noundef %9838, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 543, ptr noundef %9841, ptr noundef %9844, ptr noundef %9847, i32 noundef %9849) #10
  br label %9851

9851:                                             ; preds = %9834, %9817
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #10
  br label %9852

9852:                                             ; preds = %9851
  br label %9853

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

9854:                                             ; No predecessors!
  br label %9855

9855:                                             ; preds = %9854
  br label %9856

9856:                                             ; preds = %9855, %9795
  br label %9857

9857:                                             ; preds = %9856
  br label %9858

9858:                                             ; preds = %9857
  br label %9859

9859:                                             ; preds = %9858
  %9860 = load i32, ptr @test_count, align 4, !tbaa !5
  %9861 = add nsw i32 %9860, 1
  store i32 %9861, ptr @test_count, align 4, !tbaa !5
  %9862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9863 = load i32, ptr %9862, align 4, !tbaa !5
  %9864 = icmp eq i32 %9863, 201326592
  br i1 %9864, label %9918, label %9865

9865:                                             ; preds = %9859
  br label %9866

9866:                                             ; preds = %9865
  br label %9867

9867:                                             ; preds = %9866
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #10
  %9868 = call ptr @__errno_location() #11
  %9869 = load i32, ptr %9868, align 4, !tbaa !5
  store i32 %9869, ptr %254, align 4, !tbaa !5
  %9870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9871 = call i32 @s2n_print_stacktrace(ptr noundef %9870)
  %9872 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9873 = trunc i8 %9872 to i1
  br i1 %9873, label %9874, label %9896

9874:                                             ; preds = %9867
  %9875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9876 = call i32 @fileno(ptr noundef %9875) #10
  %9877 = call i32 @isatty(i32 noundef %9876) #10
  %9878 = icmp ne i32 %9877, 0
  br i1 %9878, label %9879, label %9896

9879:                                             ; preds = %9874
  %9880 = load i32, ptr %254, align 4, !tbaa !5
  %9881 = call ptr @__errno_location() #11
  store i32 %9880, ptr %9881, align 4, !tbaa !5
  %9882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9883 = load i32, ptr @test_count, align 4, !tbaa !5
  %9884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9885 = load i32, ptr %9884, align 4, !tbaa !5
  %9886 = call ptr @s2n_strerror(i32 noundef %9885, ptr noundef @.str.3)
  %9887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9888 = load i32, ptr %9887, align 4, !tbaa !5
  %9889 = call ptr @s2n_strerror_debug(i32 noundef %9888, ptr noundef @.str.3)
  %9890 = call ptr @__errno_location() #11
  %9891 = load i32, ptr %9890, align 4, !tbaa !5
  %9892 = call ptr @strerror(i32 noundef %9891) #10
  %9893 = call ptr @__errno_location() #11
  %9894 = load i32, ptr %9893, align 4, !tbaa !5
  %9895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9882, ptr noundef @.str, i32 noundef %9883, ptr noundef @.str.43, ptr noundef @.str.2, i32 noundef 543, ptr noundef %9886, ptr noundef %9889, ptr noundef %9892, i32 noundef %9894) #10
  br label %9913

9896:                                             ; preds = %9874, %9867
  %9897 = load i32, ptr %254, align 4, !tbaa !5
  %9898 = call ptr @__errno_location() #11
  store i32 %9897, ptr %9898, align 4, !tbaa !5
  %9899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9900 = load i32, ptr @test_count, align 4, !tbaa !5
  %9901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9902 = load i32, ptr %9901, align 4, !tbaa !5
  %9903 = call ptr @s2n_strerror(i32 noundef %9902, ptr noundef @.str.3)
  %9904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9905 = load i32, ptr %9904, align 4, !tbaa !5
  %9906 = call ptr @s2n_strerror_debug(i32 noundef %9905, ptr noundef @.str.3)
  %9907 = call ptr @__errno_location() #11
  %9908 = load i32, ptr %9907, align 4, !tbaa !5
  %9909 = call ptr @strerror(i32 noundef %9908) #10
  %9910 = call ptr @__errno_location() #11
  %9911 = load i32, ptr %9910, align 4, !tbaa !5
  %9912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9899, ptr noundef @.str.4, i32 noundef %9900, ptr noundef @.str.43, ptr noundef @.str.2, i32 noundef 543, ptr noundef %9903, ptr noundef %9906, ptr noundef %9909, i32 noundef %9911) #10
  br label %9913

9913:                                             ; preds = %9896, %9879
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #10
  br label %9914

9914:                                             ; preds = %9913
  br label %9915

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

9916:                                             ; No predecessors!
  br label %9917

9917:                                             ; preds = %9916
  br label %9918

9918:                                             ; preds = %9917, %9859
  br label %9919

9919:                                             ; preds = %9918
  br label %9920

9920:                                             ; preds = %9919
  br label %9921

9921:                                             ; preds = %9920
  %9922 = load i32, ptr @test_count, align 4, !tbaa !5
  %9923 = add nsw i32 %9922, 1
  store i32 %9923, ptr @test_count, align 4, !tbaa !5
  %9924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9925 = load i32, ptr %9924, align 4, !tbaa !5
  %9926 = call ptr @s2n_strerror_debug(i32 noundef %9925, ptr noundef @.str.3)
  %9927 = icmp eq ptr %9926, null
  br i1 %9927, label %9928, label %9981

9928:                                             ; preds = %9921
  br label %9929

9929:                                             ; preds = %9928
  br label %9930

9930:                                             ; preds = %9929
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #10
  %9931 = call ptr @__errno_location() #11
  %9932 = load i32, ptr %9931, align 4, !tbaa !5
  store i32 %9932, ptr %255, align 4, !tbaa !5
  %9933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9934 = call i32 @s2n_print_stacktrace(ptr noundef %9933)
  %9935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9936 = trunc i8 %9935 to i1
  br i1 %9936, label %9937, label %9959

9937:                                             ; preds = %9930
  %9938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9939 = call i32 @fileno(ptr noundef %9938) #10
  %9940 = call i32 @isatty(i32 noundef %9939) #10
  %9941 = icmp ne i32 %9940, 0
  br i1 %9941, label %9942, label %9959

9942:                                             ; preds = %9937
  %9943 = load i32, ptr %255, align 4, !tbaa !5
  %9944 = call ptr @__errno_location() #11
  store i32 %9943, ptr %9944, align 4, !tbaa !5
  %9945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9946 = load i32, ptr @test_count, align 4, !tbaa !5
  %9947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9948 = load i32, ptr %9947, align 4, !tbaa !5
  %9949 = call ptr @s2n_strerror(i32 noundef %9948, ptr noundef @.str.3)
  %9950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9951 = load i32, ptr %9950, align 4, !tbaa !5
  %9952 = call ptr @s2n_strerror_debug(i32 noundef %9951, ptr noundef @.str.3)
  %9953 = call ptr @__errno_location() #11
  %9954 = load i32, ptr %9953, align 4, !tbaa !5
  %9955 = call ptr @strerror(i32 noundef %9954) #10
  %9956 = call ptr @__errno_location() #11
  %9957 = load i32, ptr %9956, align 4, !tbaa !5
  %9958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9945, ptr noundef @.str, i32 noundef %9946, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 543, ptr noundef %9949, ptr noundef %9952, ptr noundef %9955, i32 noundef %9957) #10
  br label %9976

9959:                                             ; preds = %9937, %9930
  %9960 = load i32, ptr %255, align 4, !tbaa !5
  %9961 = call ptr @__errno_location() #11
  store i32 %9960, ptr %9961, align 4, !tbaa !5
  %9962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9963 = load i32, ptr @test_count, align 4, !tbaa !5
  %9964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9965 = load i32, ptr %9964, align 4, !tbaa !5
  %9966 = call ptr @s2n_strerror(i32 noundef %9965, ptr noundef @.str.3)
  %9967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9968 = load i32, ptr %9967, align 4, !tbaa !5
  %9969 = call ptr @s2n_strerror_debug(i32 noundef %9968, ptr noundef @.str.3)
  %9970 = call ptr @__errno_location() #11
  %9971 = load i32, ptr %9970, align 4, !tbaa !5
  %9972 = call ptr @strerror(i32 noundef %9971) #10
  %9973 = call ptr @__errno_location() #11
  %9974 = load i32, ptr %9973, align 4, !tbaa !5
  %9975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9962, ptr noundef @.str.4, i32 noundef %9963, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 543, ptr noundef %9966, ptr noundef %9969, ptr noundef %9972, i32 noundef %9974) #10
  br label %9976

9976:                                             ; preds = %9959, %9942
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #10
  br label %9977

9977:                                             ; preds = %9976
  br label %9978

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

9979:                                             ; No predecessors!
  br label %9980

9980:                                             ; preds = %9979
  br label %9981

9981:                                             ; preds = %9980, %9921
  br label %9982

9982:                                             ; preds = %9981
  br label %9983

9983:                                             ; preds = %9982
  br label %9984

9984:                                             ; preds = %9983
  br label %9985

9985:                                             ; preds = %9984
  br label %9986

9986:                                             ; preds = %9985
  %9987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9987, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9988 = call ptr @__errno_location() #11
  store i32 0, ptr %9988, align 4, !tbaa !5
  br label %9989

9989:                                             ; preds = %9986
  br label %9990

9990:                                             ; preds = %9989
  br label %9991

9991:                                             ; preds = %9990
  br label %9992

9992:                                             ; preds = %9991
  br label %9993

9993:                                             ; preds = %9992
  %9994 = load i32, ptr @test_count, align 4, !tbaa !5
  %9995 = add nsw i32 %9994, 1
  store i32 %9995, ptr @test_count, align 4, !tbaa !5
  %9996 = load i32, ptr %251, align 4, !tbaa !5
  %9997 = icmp eq i32 %9996, 2
  br i1 %9997, label %10051, label %9998

9998:                                             ; preds = %9993
  br label %9999

9999:                                             ; preds = %9998
  br label %10000

10000:                                            ; preds = %9999
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #10
  %10001 = call ptr @__errno_location() #11
  %10002 = load i32, ptr %10001, align 4, !tbaa !5
  store i32 %10002, ptr %256, align 4, !tbaa !5
  %10003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10004 = call i32 @s2n_print_stacktrace(ptr noundef %10003)
  %10005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10006 = trunc i8 %10005 to i1
  br i1 %10006, label %10007, label %10029

10007:                                            ; preds = %10000
  %10008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10009 = call i32 @fileno(ptr noundef %10008) #10
  %10010 = call i32 @isatty(i32 noundef %10009) #10
  %10011 = icmp ne i32 %10010, 0
  br i1 %10011, label %10012, label %10029

10012:                                            ; preds = %10007
  %10013 = load i32, ptr %256, align 4, !tbaa !5
  %10014 = call ptr @__errno_location() #11
  store i32 %10013, ptr %10014, align 4, !tbaa !5
  %10015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10016 = load i32, ptr @test_count, align 4, !tbaa !5
  %10017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10018 = load i32, ptr %10017, align 4, !tbaa !5
  %10019 = call ptr @s2n_strerror(i32 noundef %10018, ptr noundef @.str.3)
  %10020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10021 = load i32, ptr %10020, align 4, !tbaa !5
  %10022 = call ptr @s2n_strerror_debug(i32 noundef %10021, ptr noundef @.str.3)
  %10023 = call ptr @__errno_location() #11
  %10024 = load i32, ptr %10023, align 4, !tbaa !5
  %10025 = call ptr @strerror(i32 noundef %10024) #10
  %10026 = call ptr @__errno_location() #11
  %10027 = load i32, ptr %10026, align 4, !tbaa !5
  %10028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10015, ptr noundef @.str, i32 noundef %10016, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 544, ptr noundef %10019, ptr noundef %10022, ptr noundef %10025, i32 noundef %10027) #10
  br label %10046

10029:                                            ; preds = %10007, %10000
  %10030 = load i32, ptr %256, align 4, !tbaa !5
  %10031 = call ptr @__errno_location() #11
  store i32 %10030, ptr %10031, align 4, !tbaa !5
  %10032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10033 = load i32, ptr @test_count, align 4, !tbaa !5
  %10034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10035 = load i32, ptr %10034, align 4, !tbaa !5
  %10036 = call ptr @s2n_strerror(i32 noundef %10035, ptr noundef @.str.3)
  %10037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10038 = load i32, ptr %10037, align 4, !tbaa !5
  %10039 = call ptr @s2n_strerror_debug(i32 noundef %10038, ptr noundef @.str.3)
  %10040 = call ptr @__errno_location() #11
  %10041 = load i32, ptr %10040, align 4, !tbaa !5
  %10042 = call ptr @strerror(i32 noundef %10041) #10
  %10043 = call ptr @__errno_location() #11
  %10044 = load i32, ptr %10043, align 4, !tbaa !5
  %10045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10032, ptr noundef @.str.4, i32 noundef %10033, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 544, ptr noundef %10036, ptr noundef %10039, ptr noundef %10042, i32 noundef %10044) #10
  br label %10046

10046:                                            ; preds = %10029, %10012
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #10
  br label %10047

10047:                                            ; preds = %10046
  br label %10048

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

10049:                                            ; No predecessors!
  br label %10050

10050:                                            ; preds = %10049
  br label %10051

10051:                                            ; preds = %10050, %9993
  br label %10052

10052:                                            ; preds = %10051
  br label %10053

10053:                                            ; preds = %10052
  br label %10054

10054:                                            ; preds = %10053
  %10055 = load i32, ptr @test_count, align 4, !tbaa !5
  %10056 = add nsw i32 %10055, 1
  store i32 %10056, ptr @test_count, align 4, !tbaa !5
  %10057 = getelementptr inbounds %struct.s2n_send_context, ptr %248, i32 0, i32 1
  %10058 = load i64, ptr %10057, align 8, !tbaa !25
  %10059 = icmp eq i64 %10058, 0
  br i1 %10059, label %10113, label %10060

10060:                                            ; preds = %10054
  br label %10061

10061:                                            ; preds = %10060
  br label %10062

10062:                                            ; preds = %10061
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #10
  %10063 = call ptr @__errno_location() #11
  %10064 = load i32, ptr %10063, align 4, !tbaa !5
  store i32 %10064, ptr %257, align 4, !tbaa !5
  %10065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10066 = call i32 @s2n_print_stacktrace(ptr noundef %10065)
  %10067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10068 = trunc i8 %10067 to i1
  br i1 %10068, label %10069, label %10091

10069:                                            ; preds = %10062
  %10070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10071 = call i32 @fileno(ptr noundef %10070) #10
  %10072 = call i32 @isatty(i32 noundef %10071) #10
  %10073 = icmp ne i32 %10072, 0
  br i1 %10073, label %10074, label %10091

10074:                                            ; preds = %10069
  %10075 = load i32, ptr %257, align 4, !tbaa !5
  %10076 = call ptr @__errno_location() #11
  store i32 %10075, ptr %10076, align 4, !tbaa !5
  %10077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10078 = load i32, ptr @test_count, align 4, !tbaa !5
  %10079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10080 = load i32, ptr %10079, align 4, !tbaa !5
  %10081 = call ptr @s2n_strerror(i32 noundef %10080, ptr noundef @.str.3)
  %10082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10083 = load i32, ptr %10082, align 4, !tbaa !5
  %10084 = call ptr @s2n_strerror_debug(i32 noundef %10083, ptr noundef @.str.3)
  %10085 = call ptr @__errno_location() #11
  %10086 = load i32, ptr %10085, align 4, !tbaa !5
  %10087 = call ptr @strerror(i32 noundef %10086) #10
  %10088 = call ptr @__errno_location() #11
  %10089 = load i32, ptr %10088, align 4, !tbaa !5
  %10090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10077, ptr noundef @.str, i32 noundef %10078, ptr noundef @.str.66, ptr noundef @.str.2, i32 noundef 546, ptr noundef %10081, ptr noundef %10084, ptr noundef %10087, i32 noundef %10089) #10
  br label %10108

10091:                                            ; preds = %10069, %10062
  %10092 = load i32, ptr %257, align 4, !tbaa !5
  %10093 = call ptr @__errno_location() #11
  store i32 %10092, ptr %10093, align 4, !tbaa !5
  %10094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10095 = load i32, ptr @test_count, align 4, !tbaa !5
  %10096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10097 = load i32, ptr %10096, align 4, !tbaa !5
  %10098 = call ptr @s2n_strerror(i32 noundef %10097, ptr noundef @.str.3)
  %10099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10100 = load i32, ptr %10099, align 4, !tbaa !5
  %10101 = call ptr @s2n_strerror_debug(i32 noundef %10100, ptr noundef @.str.3)
  %10102 = call ptr @__errno_location() #11
  %10103 = load i32, ptr %10102, align 4, !tbaa !5
  %10104 = call ptr @strerror(i32 noundef %10103) #10
  %10105 = call ptr @__errno_location() #11
  %10106 = load i32, ptr %10105, align 4, !tbaa !5
  %10107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10094, ptr noundef @.str.4, i32 noundef %10095, ptr noundef @.str.66, ptr noundef @.str.2, i32 noundef 546, ptr noundef %10098, ptr noundef %10101, ptr noundef %10104, i32 noundef %10106) #10
  br label %10108

10108:                                            ; preds = %10091, %10074
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #10
  br label %10109

10109:                                            ; preds = %10108
  br label %10110

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

10111:                                            ; No predecessors!
  br label %10112

10112:                                            ; preds = %10111
  br label %10113

10113:                                            ; preds = %10112, %10054
  br label %10114

10114:                                            ; preds = %10113
  br label %10115

10115:                                            ; preds = %10114
  br label %10116

10116:                                            ; preds = %10115
  %10117 = load i32, ptr @test_count, align 4, !tbaa !5
  %10118 = add nsw i32 %10117, 1
  store i32 %10118, ptr @test_count, align 4, !tbaa !5
  %10119 = load ptr, ptr %238, align 8, !tbaa !9
  %10120 = getelementptr inbounds %struct.s2n_connection, ptr %10119, i32 0, i32 56
  %10121 = load i64, ptr %10120, align 8, !tbaa !60
  %10122 = load i16, ptr %242, align 2, !tbaa !59
  %10123 = zext i16 %10122 to i64
  %10124 = icmp eq i64 %10121, %10123
  br i1 %10124, label %10178, label %10125

10125:                                            ; preds = %10116
  br label %10126

10126:                                            ; preds = %10125
  br label %10127

10127:                                            ; preds = %10126
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #10
  %10128 = call ptr @__errno_location() #11
  %10129 = load i32, ptr %10128, align 4, !tbaa !5
  store i32 %10129, ptr %258, align 4, !tbaa !5
  %10130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10131 = call i32 @s2n_print_stacktrace(ptr noundef %10130)
  %10132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10133 = trunc i8 %10132 to i1
  br i1 %10133, label %10134, label %10156

10134:                                            ; preds = %10127
  %10135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10136 = call i32 @fileno(ptr noundef %10135) #10
  %10137 = call i32 @isatty(i32 noundef %10136) #10
  %10138 = icmp ne i32 %10137, 0
  br i1 %10138, label %10139, label %10156

10139:                                            ; preds = %10134
  %10140 = load i32, ptr %258, align 4, !tbaa !5
  %10141 = call ptr @__errno_location() #11
  store i32 %10140, ptr %10141, align 4, !tbaa !5
  %10142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10143 = load i32, ptr @test_count, align 4, !tbaa !5
  %10144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10145 = load i32, ptr %10144, align 4, !tbaa !5
  %10146 = call ptr @s2n_strerror(i32 noundef %10145, ptr noundef @.str.3)
  %10147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10148 = load i32, ptr %10147, align 4, !tbaa !5
  %10149 = call ptr @s2n_strerror_debug(i32 noundef %10148, ptr noundef @.str.3)
  %10150 = call ptr @__errno_location() #11
  %10151 = load i32, ptr %10150, align 4, !tbaa !5
  %10152 = call ptr @strerror(i32 noundef %10151) #10
  %10153 = call ptr @__errno_location() #11
  %10154 = load i32, ptr %10153, align 4, !tbaa !5
  %10155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10142, ptr noundef @.str, i32 noundef %10143, ptr noundef @.str.67, ptr noundef @.str.2, i32 noundef 551, ptr noundef %10146, ptr noundef %10149, ptr noundef %10152, i32 noundef %10154) #10
  br label %10173

10156:                                            ; preds = %10134, %10127
  %10157 = load i32, ptr %258, align 4, !tbaa !5
  %10158 = call ptr @__errno_location() #11
  store i32 %10157, ptr %10158, align 4, !tbaa !5
  %10159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10160 = load i32, ptr @test_count, align 4, !tbaa !5
  %10161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10162 = load i32, ptr %10161, align 4, !tbaa !5
  %10163 = call ptr @s2n_strerror(i32 noundef %10162, ptr noundef @.str.3)
  %10164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10165 = load i32, ptr %10164, align 4, !tbaa !5
  %10166 = call ptr @s2n_strerror_debug(i32 noundef %10165, ptr noundef @.str.3)
  %10167 = call ptr @__errno_location() #11
  %10168 = load i32, ptr %10167, align 4, !tbaa !5
  %10169 = call ptr @strerror(i32 noundef %10168) #10
  %10170 = call ptr @__errno_location() #11
  %10171 = load i32, ptr %10170, align 4, !tbaa !5
  %10172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10159, ptr noundef @.str.4, i32 noundef %10160, ptr noundef @.str.67, ptr noundef @.str.2, i32 noundef 551, ptr noundef %10163, ptr noundef %10166, ptr noundef %10169, i32 noundef %10171) #10
  br label %10173

10173:                                            ; preds = %10156, %10139
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #10
  br label %10174

10174:                                            ; preds = %10173
  br label %10175

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

10176:                                            ; No predecessors!
  br label %10177

10177:                                            ; preds = %10176
  br label %10178

10178:                                            ; preds = %10177, %10116
  br label %10179

10179:                                            ; preds = %10178
  br label %10180

10180:                                            ; preds = %10179
  br label %10181

10181:                                            ; preds = %10180
  %10182 = load i32, ptr @test_count, align 4, !tbaa !5
  %10183 = add nsw i32 %10182, 1
  store i32 %10183, ptr @test_count, align 4, !tbaa !5
  %10184 = load ptr, ptr %238, align 8, !tbaa !9
  %10185 = getelementptr inbounds %struct.s2n_connection, ptr %10184, i32 0, i32 56
  %10186 = load i64, ptr %10185, align 8, !tbaa !60
  %10187 = load i32, ptr %245, align 4, !tbaa !5
  %10188 = zext i32 %10187 to i64
  %10189 = icmp ult i64 %10186, %10188
  br i1 %10189, label %10243, label %10190

10190:                                            ; preds = %10181
  br label %10191

10191:                                            ; preds = %10190
  br label %10192

10192:                                            ; preds = %10191
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #10
  %10193 = call ptr @__errno_location() #11
  %10194 = load i32, ptr %10193, align 4, !tbaa !5
  store i32 %10194, ptr %259, align 4, !tbaa !5
  %10195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10196 = call i32 @s2n_print_stacktrace(ptr noundef %10195)
  %10197 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10198 = trunc i8 %10197 to i1
  br i1 %10198, label %10199, label %10221

10199:                                            ; preds = %10192
  %10200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10201 = call i32 @fileno(ptr noundef %10200) #10
  %10202 = call i32 @isatty(i32 noundef %10201) #10
  %10203 = icmp ne i32 %10202, 0
  br i1 %10203, label %10204, label %10221

10204:                                            ; preds = %10199
  %10205 = load i32, ptr %259, align 4, !tbaa !5
  %10206 = call ptr @__errno_location() #11
  store i32 %10205, ptr %10206, align 4, !tbaa !5
  %10207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10208 = load i32, ptr @test_count, align 4, !tbaa !5
  %10209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10210 = load i32, ptr %10209, align 4, !tbaa !5
  %10211 = call ptr @s2n_strerror(i32 noundef %10210, ptr noundef @.str.3)
  %10212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10213 = load i32, ptr %10212, align 4, !tbaa !5
  %10214 = call ptr @s2n_strerror_debug(i32 noundef %10213, ptr noundef @.str.3)
  %10215 = call ptr @__errno_location() #11
  %10216 = load i32, ptr %10215, align 4, !tbaa !5
  %10217 = call ptr @strerror(i32 noundef %10216) #10
  %10218 = call ptr @__errno_location() #11
  %10219 = load i32, ptr %10218, align 4, !tbaa !5
  %10220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10207, ptr noundef @.str, i32 noundef %10208, ptr noundef @.str.68, ptr noundef @.str.2, i32 noundef 552, ptr noundef %10211, ptr noundef %10214, ptr noundef %10217, i32 noundef %10219) #10
  br label %10238

10221:                                            ; preds = %10199, %10192
  %10222 = load i32, ptr %259, align 4, !tbaa !5
  %10223 = call ptr @__errno_location() #11
  store i32 %10222, ptr %10223, align 4, !tbaa !5
  %10224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10225 = load i32, ptr @test_count, align 4, !tbaa !5
  %10226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10227 = load i32, ptr %10226, align 4, !tbaa !5
  %10228 = call ptr @s2n_strerror(i32 noundef %10227, ptr noundef @.str.3)
  %10229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10230 = load i32, ptr %10229, align 4, !tbaa !5
  %10231 = call ptr @s2n_strerror_debug(i32 noundef %10230, ptr noundef @.str.3)
  %10232 = call ptr @__errno_location() #11
  %10233 = load i32, ptr %10232, align 4, !tbaa !5
  %10234 = call ptr @strerror(i32 noundef %10233) #10
  %10235 = call ptr @__errno_location() #11
  %10236 = load i32, ptr %10235, align 4, !tbaa !5
  %10237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10224, ptr noundef @.str.4, i32 noundef %10225, ptr noundef @.str.68, ptr noundef @.str.2, i32 noundef 552, ptr noundef %10228, ptr noundef %10231, ptr noundef %10234, i32 noundef %10236) #10
  br label %10238

10238:                                            ; preds = %10221, %10204
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #10
  br label %10239

10239:                                            ; preds = %10238
  br label %10240

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

10241:                                            ; No predecessors!
  br label %10242

10242:                                            ; preds = %10241
  br label %10243

10243:                                            ; preds = %10242, %10181
  br label %10244

10244:                                            ; preds = %10243
  br label %10245

10245:                                            ; preds = %10244
  br label %10246

10246:                                            ; preds = %10245
  %10247 = load i32, ptr @test_count, align 4, !tbaa !5
  %10248 = add nsw i32 %10247, 1
  store i32 %10248, ptr @test_count, align 4, !tbaa !5
  %10249 = load ptr, ptr %238, align 8, !tbaa !9
  %10250 = getelementptr inbounds %struct.s2n_connection, ptr %10249, i32 0, i32 41
  %10251 = getelementptr inbounds %struct.s2n_stuffer, ptr %10250, i32 0, i32 0
  %10252 = getelementptr inbounds %struct.s2n_blob, ptr %10251, i32 0, i32 1
  %10253 = load i32, ptr %10252, align 8, !tbaa !56
  %10254 = getelementptr inbounds [4 x i32], ptr %34, i64 0, i64 0
  %10255 = load i32, ptr %10254, align 16, !tbaa !5
  %10256 = icmp eq i32 %10253, %10255
  br i1 %10256, label %10310, label %10257

10257:                                            ; preds = %10246
  br label %10258

10258:                                            ; preds = %10257
  br label %10259

10259:                                            ; preds = %10258
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #10
  %10260 = call ptr @__errno_location() #11
  %10261 = load i32, ptr %10260, align 4, !tbaa !5
  store i32 %10261, ptr %260, align 4, !tbaa !5
  %10262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10263 = call i32 @s2n_print_stacktrace(ptr noundef %10262)
  %10264 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10265 = trunc i8 %10264 to i1
  br i1 %10265, label %10266, label %10288

10266:                                            ; preds = %10259
  %10267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10268 = call i32 @fileno(ptr noundef %10267) #10
  %10269 = call i32 @isatty(i32 noundef %10268) #10
  %10270 = icmp ne i32 %10269, 0
  br i1 %10270, label %10271, label %10288

10271:                                            ; preds = %10266
  %10272 = load i32, ptr %260, align 4, !tbaa !5
  %10273 = call ptr @__errno_location() #11
  store i32 %10272, ptr %10273, align 4, !tbaa !5
  %10274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10275 = load i32, ptr @test_count, align 4, !tbaa !5
  %10276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10277 = load i32, ptr %10276, align 4, !tbaa !5
  %10278 = call ptr @s2n_strerror(i32 noundef %10277, ptr noundef @.str.3)
  %10279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10280 = load i32, ptr %10279, align 4, !tbaa !5
  %10281 = call ptr @s2n_strerror_debug(i32 noundef %10280, ptr noundef @.str.3)
  %10282 = call ptr @__errno_location() #11
  %10283 = load i32, ptr %10282, align 4, !tbaa !5
  %10284 = call ptr @strerror(i32 noundef %10283) #10
  %10285 = call ptr @__errno_location() #11
  %10286 = load i32, ptr %10285, align 4, !tbaa !5
  %10287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10274, ptr noundef @.str, i32 noundef %10275, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 556, ptr noundef %10278, ptr noundef %10281, ptr noundef %10284, i32 noundef %10286) #10
  br label %10305

10288:                                            ; preds = %10266, %10259
  %10289 = load i32, ptr %260, align 4, !tbaa !5
  %10290 = call ptr @__errno_location() #11
  store i32 %10289, ptr %10290, align 4, !tbaa !5
  %10291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10292 = load i32, ptr @test_count, align 4, !tbaa !5
  %10293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10294 = load i32, ptr %10293, align 4, !tbaa !5
  %10295 = call ptr @s2n_strerror(i32 noundef %10294, ptr noundef @.str.3)
  %10296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10297 = load i32, ptr %10296, align 4, !tbaa !5
  %10298 = call ptr @s2n_strerror_debug(i32 noundef %10297, ptr noundef @.str.3)
  %10299 = call ptr @__errno_location() #11
  %10300 = load i32, ptr %10299, align 4, !tbaa !5
  %10301 = call ptr @strerror(i32 noundef %10300) #10
  %10302 = call ptr @__errno_location() #11
  %10303 = load i32, ptr %10302, align 4, !tbaa !5
  %10304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10291, ptr noundef @.str.4, i32 noundef %10292, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 556, ptr noundef %10295, ptr noundef %10298, ptr noundef %10301, i32 noundef %10303) #10
  br label %10305

10305:                                            ; preds = %10288, %10271
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #10
  br label %10306

10306:                                            ; preds = %10305
  br label %10307

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

10308:                                            ; No predecessors!
  br label %10309

10309:                                            ; preds = %10308
  br label %10310

10310:                                            ; preds = %10309, %10246
  br label %10311

10311:                                            ; preds = %10310
  br label %10312

10312:                                            ; preds = %10311
  call void @llvm.lifetime.start.p0(i64 8, ptr %261) #10
  %10313 = load ptr, ptr %238, align 8, !tbaa !9
  %10314 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %10315 = load i64, ptr %252, align 8, !tbaa !15
  %10316 = call i64 @s2n_send(ptr noundef %10313, ptr noundef %10314, i64 noundef %10315, ptr noundef %251)
  store i64 %10316, ptr %261, align 8, !tbaa !15
  br label %10317

10317:                                            ; preds = %10312
  %10318 = load i32, ptr @test_count, align 4, !tbaa !5
  %10319 = add nsw i32 %10318, 1
  store i32 %10319, ptr @test_count, align 4, !tbaa !5
  %10320 = load i32, ptr %251, align 4, !tbaa !5
  %10321 = icmp eq i32 %10320, 2
  br i1 %10321, label %10375, label %10322

10322:                                            ; preds = %10317
  br label %10323

10323:                                            ; preds = %10322
  br label %10324

10324:                                            ; preds = %10323
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #10
  %10325 = call ptr @__errno_location() #11
  %10326 = load i32, ptr %10325, align 4, !tbaa !5
  store i32 %10326, ptr %262, align 4, !tbaa !5
  %10327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10328 = call i32 @s2n_print_stacktrace(ptr noundef %10327)
  %10329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10330 = trunc i8 %10329 to i1
  br i1 %10330, label %10331, label %10353

10331:                                            ; preds = %10324
  %10332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10333 = call i32 @fileno(ptr noundef %10332) #10
  %10334 = call i32 @isatty(i32 noundef %10333) #10
  %10335 = icmp ne i32 %10334, 0
  br i1 %10335, label %10336, label %10353

10336:                                            ; preds = %10331
  %10337 = load i32, ptr %262, align 4, !tbaa !5
  %10338 = call ptr @__errno_location() #11
  store i32 %10337, ptr %10338, align 4, !tbaa !5
  %10339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10340 = load i32, ptr @test_count, align 4, !tbaa !5
  %10341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10342 = load i32, ptr %10341, align 4, !tbaa !5
  %10343 = call ptr @s2n_strerror(i32 noundef %10342, ptr noundef @.str.3)
  %10344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10345 = load i32, ptr %10344, align 4, !tbaa !5
  %10346 = call ptr @s2n_strerror_debug(i32 noundef %10345, ptr noundef @.str.3)
  %10347 = call ptr @__errno_location() #11
  %10348 = load i32, ptr %10347, align 4, !tbaa !5
  %10349 = call ptr @strerror(i32 noundef %10348) #10
  %10350 = call ptr @__errno_location() #11
  %10351 = load i32, ptr %10350, align 4, !tbaa !5
  %10352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10339, ptr noundef @.str, i32 noundef %10340, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 562, ptr noundef %10343, ptr noundef %10346, ptr noundef %10349, i32 noundef %10351) #10
  br label %10370

10353:                                            ; preds = %10331, %10324
  %10354 = load i32, ptr %262, align 4, !tbaa !5
  %10355 = call ptr @__errno_location() #11
  store i32 %10354, ptr %10355, align 4, !tbaa !5
  %10356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10357 = load i32, ptr @test_count, align 4, !tbaa !5
  %10358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10359 = load i32, ptr %10358, align 4, !tbaa !5
  %10360 = call ptr @s2n_strerror(i32 noundef %10359, ptr noundef @.str.3)
  %10361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10362 = load i32, ptr %10361, align 4, !tbaa !5
  %10363 = call ptr @s2n_strerror_debug(i32 noundef %10362, ptr noundef @.str.3)
  %10364 = call ptr @__errno_location() #11
  %10365 = load i32, ptr %10364, align 4, !tbaa !5
  %10366 = call ptr @strerror(i32 noundef %10365) #10
  %10367 = call ptr @__errno_location() #11
  %10368 = load i32, ptr %10367, align 4, !tbaa !5
  %10369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10356, ptr noundef @.str.4, i32 noundef %10357, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 562, ptr noundef %10360, ptr noundef %10363, ptr noundef %10366, i32 noundef %10368) #10
  br label %10370

10370:                                            ; preds = %10353, %10336
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #10
  br label %10371

10371:                                            ; preds = %10370
  br label %10372

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

10373:                                            ; No predecessors!
  br label %10374

10374:                                            ; preds = %10373
  br label %10375

10375:                                            ; preds = %10374, %10317
  br label %10376

10376:                                            ; preds = %10375
  br label %10377

10377:                                            ; preds = %10376
  br label %10378

10378:                                            ; preds = %10377
  %10379 = load i32, ptr @test_count, align 4, !tbaa !5
  %10380 = add nsw i32 %10379, 1
  store i32 %10380, ptr @test_count, align 4, !tbaa !5
  %10381 = load i64, ptr %261, align 8, !tbaa !15
  %10382 = load i16, ptr %242, align 2, !tbaa !59
  %10383 = zext i16 %10382 to i64
  %10384 = icmp eq i64 %10381, %10383
  br i1 %10384, label %10438, label %10385

10385:                                            ; preds = %10378
  br label %10386

10386:                                            ; preds = %10385
  br label %10387

10387:                                            ; preds = %10386
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #10
  %10388 = call ptr @__errno_location() #11
  %10389 = load i32, ptr %10388, align 4, !tbaa !5
  store i32 %10389, ptr %263, align 4, !tbaa !5
  %10390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10391 = call i32 @s2n_print_stacktrace(ptr noundef %10390)
  %10392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10393 = trunc i8 %10392 to i1
  br i1 %10393, label %10394, label %10416

10394:                                            ; preds = %10387
  %10395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10396 = call i32 @fileno(ptr noundef %10395) #10
  %10397 = call i32 @isatty(i32 noundef %10396) #10
  %10398 = icmp ne i32 %10397, 0
  br i1 %10398, label %10399, label %10416

10399:                                            ; preds = %10394
  %10400 = load i32, ptr %263, align 4, !tbaa !5
  %10401 = call ptr @__errno_location() #11
  store i32 %10400, ptr %10401, align 4, !tbaa !5
  %10402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10403 = load i32, ptr @test_count, align 4, !tbaa !5
  %10404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10405 = load i32, ptr %10404, align 4, !tbaa !5
  %10406 = call ptr @s2n_strerror(i32 noundef %10405, ptr noundef @.str.3)
  %10407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10408 = load i32, ptr %10407, align 4, !tbaa !5
  %10409 = call ptr @s2n_strerror_debug(i32 noundef %10408, ptr noundef @.str.3)
  %10410 = call ptr @__errno_location() #11
  %10411 = load i32, ptr %10410, align 4, !tbaa !5
  %10412 = call ptr @strerror(i32 noundef %10411) #10
  %10413 = call ptr @__errno_location() #11
  %10414 = load i32, ptr %10413, align 4, !tbaa !5
  %10415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10402, ptr noundef @.str, i32 noundef %10403, ptr noundef @.str.69, ptr noundef @.str.2, i32 noundef 564, ptr noundef %10406, ptr noundef %10409, ptr noundef %10412, i32 noundef %10414) #10
  br label %10433

10416:                                            ; preds = %10394, %10387
  %10417 = load i32, ptr %263, align 4, !tbaa !5
  %10418 = call ptr @__errno_location() #11
  store i32 %10417, ptr %10418, align 4, !tbaa !5
  %10419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10420 = load i32, ptr @test_count, align 4, !tbaa !5
  %10421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10422 = load i32, ptr %10421, align 4, !tbaa !5
  %10423 = call ptr @s2n_strerror(i32 noundef %10422, ptr noundef @.str.3)
  %10424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10425 = load i32, ptr %10424, align 4, !tbaa !5
  %10426 = call ptr @s2n_strerror_debug(i32 noundef %10425, ptr noundef @.str.3)
  %10427 = call ptr @__errno_location() #11
  %10428 = load i32, ptr %10427, align 4, !tbaa !5
  %10429 = call ptr @strerror(i32 noundef %10428) #10
  %10430 = call ptr @__errno_location() #11
  %10431 = load i32, ptr %10430, align 4, !tbaa !5
  %10432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10419, ptr noundef @.str.4, i32 noundef %10420, ptr noundef @.str.69, ptr noundef @.str.2, i32 noundef 564, ptr noundef %10423, ptr noundef %10426, ptr noundef %10429, i32 noundef %10431) #10
  br label %10433

10433:                                            ; preds = %10416, %10399
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #10
  br label %10434

10434:                                            ; preds = %10433
  br label %10435

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

10436:                                            ; No predecessors!
  br label %10437

10437:                                            ; preds = %10436
  br label %10438

10438:                                            ; preds = %10437, %10378
  br label %10439

10439:                                            ; preds = %10438
  br label %10440

10440:                                            ; preds = %10439
  br label %10441

10441:                                            ; preds = %10440
  %10442 = load i32, ptr @test_count, align 4, !tbaa !5
  %10443 = add nsw i32 %10442, 1
  store i32 %10443, ptr @test_count, align 4, !tbaa !5
  %10444 = getelementptr inbounds %struct.s2n_send_context, ptr %248, i32 0, i32 1
  %10445 = load i64, ptr %10444, align 8, !tbaa !25
  %10446 = icmp ult i64 %10445, 1500
  br i1 %10446, label %10500, label %10447

10447:                                            ; preds = %10441
  br label %10448

10448:                                            ; preds = %10447
  br label %10449

10449:                                            ; preds = %10448
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #10
  %10450 = call ptr @__errno_location() #11
  %10451 = load i32, ptr %10450, align 4, !tbaa !5
  store i32 %10451, ptr %264, align 4, !tbaa !5
  %10452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10453 = call i32 @s2n_print_stacktrace(ptr noundef %10452)
  %10454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10455 = trunc i8 %10454 to i1
  br i1 %10455, label %10456, label %10478

10456:                                            ; preds = %10449
  %10457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10458 = call i32 @fileno(ptr noundef %10457) #10
  %10459 = call i32 @isatty(i32 noundef %10458) #10
  %10460 = icmp ne i32 %10459, 0
  br i1 %10460, label %10461, label %10478

10461:                                            ; preds = %10456
  %10462 = load i32, ptr %264, align 4, !tbaa !5
  %10463 = call ptr @__errno_location() #11
  store i32 %10462, ptr %10463, align 4, !tbaa !5
  %10464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10465 = load i32, ptr @test_count, align 4, !tbaa !5
  %10466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10467 = load i32, ptr %10466, align 4, !tbaa !5
  %10468 = call ptr @s2n_strerror(i32 noundef %10467, ptr noundef @.str.3)
  %10469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10470 = load i32, ptr %10469, align 4, !tbaa !5
  %10471 = call ptr @s2n_strerror_debug(i32 noundef %10470, ptr noundef @.str.3)
  %10472 = call ptr @__errno_location() #11
  %10473 = load i32, ptr %10472, align 4, !tbaa !5
  %10474 = call ptr @strerror(i32 noundef %10473) #10
  %10475 = call ptr @__errno_location() #11
  %10476 = load i32, ptr %10475, align 4, !tbaa !5
  %10477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10464, ptr noundef @.str, i32 noundef %10465, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 565, ptr noundef %10468, ptr noundef %10471, ptr noundef %10474, i32 noundef %10476) #10
  br label %10495

10478:                                            ; preds = %10456, %10449
  %10479 = load i32, ptr %264, align 4, !tbaa !5
  %10480 = call ptr @__errno_location() #11
  store i32 %10479, ptr %10480, align 4, !tbaa !5
  %10481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10482 = load i32, ptr @test_count, align 4, !tbaa !5
  %10483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10484 = load i32, ptr %10483, align 4, !tbaa !5
  %10485 = call ptr @s2n_strerror(i32 noundef %10484, ptr noundef @.str.3)
  %10486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10487 = load i32, ptr %10486, align 4, !tbaa !5
  %10488 = call ptr @s2n_strerror_debug(i32 noundef %10487, ptr noundef @.str.3)
  %10489 = call ptr @__errno_location() #11
  %10490 = load i32, ptr %10489, align 4, !tbaa !5
  %10491 = call ptr @strerror(i32 noundef %10490) #10
  %10492 = call ptr @__errno_location() #11
  %10493 = load i32, ptr %10492, align 4, !tbaa !5
  %10494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10481, ptr noundef @.str.4, i32 noundef %10482, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 565, ptr noundef %10485, ptr noundef %10488, ptr noundef %10491, i32 noundef %10493) #10
  br label %10495

10495:                                            ; preds = %10478, %10461
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #10
  br label %10496

10496:                                            ; preds = %10495
  br label %10497

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

10498:                                            ; No predecessors!
  br label %10499

10499:                                            ; preds = %10498
  br label %10500

10500:                                            ; preds = %10499, %10441
  br label %10501

10501:                                            ; preds = %10500
  br label %10502

10502:                                            ; preds = %10501
  br label %10503

10503:                                            ; preds = %10502
  %10504 = load i32, ptr @test_count, align 4, !tbaa !5
  %10505 = add nsw i32 %10504, 1
  store i32 %10505, ptr @test_count, align 4, !tbaa !5
  %10506 = load ptr, ptr %238, align 8, !tbaa !9
  %10507 = getelementptr inbounds %struct.s2n_connection, ptr %10506, i32 0, i32 56
  %10508 = load i64, ptr %10507, align 8, !tbaa !60
  %10509 = load i32, ptr %245, align 4, !tbaa !5
  %10510 = zext i32 %10509 to i64
  %10511 = icmp eq i64 %10508, %10510
  br i1 %10511, label %10565, label %10512

10512:                                            ; preds = %10503
  br label %10513

10513:                                            ; preds = %10512
  br label %10514

10514:                                            ; preds = %10513
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #10
  %10515 = call ptr @__errno_location() #11
  %10516 = load i32, ptr %10515, align 4, !tbaa !5
  store i32 %10516, ptr %265, align 4, !tbaa !5
  %10517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10518 = call i32 @s2n_print_stacktrace(ptr noundef %10517)
  %10519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10520 = trunc i8 %10519 to i1
  br i1 %10520, label %10521, label %10543

10521:                                            ; preds = %10514
  %10522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10523 = call i32 @fileno(ptr noundef %10522) #10
  %10524 = call i32 @isatty(i32 noundef %10523) #10
  %10525 = icmp ne i32 %10524, 0
  br i1 %10525, label %10526, label %10543

10526:                                            ; preds = %10521
  %10527 = load i32, ptr %265, align 4, !tbaa !5
  %10528 = call ptr @__errno_location() #11
  store i32 %10527, ptr %10528, align 4, !tbaa !5
  %10529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10530 = load i32, ptr @test_count, align 4, !tbaa !5
  %10531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10532 = load i32, ptr %10531, align 4, !tbaa !5
  %10533 = call ptr @s2n_strerror(i32 noundef %10532, ptr noundef @.str.3)
  %10534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10535 = load i32, ptr %10534, align 4, !tbaa !5
  %10536 = call ptr @s2n_strerror_debug(i32 noundef %10535, ptr noundef @.str.3)
  %10537 = call ptr @__errno_location() #11
  %10538 = load i32, ptr %10537, align 4, !tbaa !5
  %10539 = call ptr @strerror(i32 noundef %10538) #10
  %10540 = call ptr @__errno_location() #11
  %10541 = load i32, ptr %10540, align 4, !tbaa !5
  %10542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10529, ptr noundef @.str, i32 noundef %10530, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 570, ptr noundef %10533, ptr noundef %10536, ptr noundef %10539, i32 noundef %10541) #10
  br label %10560

10543:                                            ; preds = %10521, %10514
  %10544 = load i32, ptr %265, align 4, !tbaa !5
  %10545 = call ptr @__errno_location() #11
  store i32 %10544, ptr %10545, align 4, !tbaa !5
  %10546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10547 = load i32, ptr @test_count, align 4, !tbaa !5
  %10548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10549 = load i32, ptr %10548, align 4, !tbaa !5
  %10550 = call ptr @s2n_strerror(i32 noundef %10549, ptr noundef @.str.3)
  %10551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10552 = load i32, ptr %10551, align 4, !tbaa !5
  %10553 = call ptr @s2n_strerror_debug(i32 noundef %10552, ptr noundef @.str.3)
  %10554 = call ptr @__errno_location() #11
  %10555 = load i32, ptr %10554, align 4, !tbaa !5
  %10556 = call ptr @strerror(i32 noundef %10555) #10
  %10557 = call ptr @__errno_location() #11
  %10558 = load i32, ptr %10557, align 4, !tbaa !5
  %10559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10546, ptr noundef @.str.4, i32 noundef %10547, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 570, ptr noundef %10550, ptr noundef %10553, ptr noundef %10556, i32 noundef %10558) #10
  br label %10560

10560:                                            ; preds = %10543, %10526
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #10
  br label %10561

10561:                                            ; preds = %10560
  br label %10562

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

10563:                                            ; No predecessors!
  br label %10564

10564:                                            ; preds = %10563
  br label %10565

10565:                                            ; preds = %10564, %10503
  br label %10566

10566:                                            ; preds = %10565
  br label %10567

10567:                                            ; preds = %10566
  br label %10568

10568:                                            ; preds = %10567
  %10569 = load i32, ptr @test_count, align 4, !tbaa !5
  %10570 = add nsw i32 %10569, 1
  store i32 %10570, ptr @test_count, align 4, !tbaa !5
  %10571 = load ptr, ptr %238, align 8, !tbaa !9
  %10572 = getelementptr inbounds %struct.s2n_connection, ptr %10571, i32 0, i32 41
  %10573 = getelementptr inbounds %struct.s2n_stuffer, ptr %10572, i32 0, i32 0
  %10574 = getelementptr inbounds %struct.s2n_blob, ptr %10573, i32 0, i32 1
  %10575 = load i32, ptr %10574, align 8, !tbaa !56
  %10576 = getelementptr inbounds [4 x i32], ptr %34, i64 0, i64 0
  %10577 = load i32, ptr %10576, align 16, !tbaa !5
  %10578 = icmp eq i32 %10575, %10577
  br i1 %10578, label %10632, label %10579

10579:                                            ; preds = %10568
  br label %10580

10580:                                            ; preds = %10579
  br label %10581

10581:                                            ; preds = %10580
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #10
  %10582 = call ptr @__errno_location() #11
  %10583 = load i32, ptr %10582, align 4, !tbaa !5
  store i32 %10583, ptr %266, align 4, !tbaa !5
  %10584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10585 = call i32 @s2n_print_stacktrace(ptr noundef %10584)
  %10586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10587 = trunc i8 %10586 to i1
  br i1 %10587, label %10588, label %10610

10588:                                            ; preds = %10581
  %10589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10590 = call i32 @fileno(ptr noundef %10589) #10
  %10591 = call i32 @isatty(i32 noundef %10590) #10
  %10592 = icmp ne i32 %10591, 0
  br i1 %10592, label %10593, label %10610

10593:                                            ; preds = %10588
  %10594 = load i32, ptr %266, align 4, !tbaa !5
  %10595 = call ptr @__errno_location() #11
  store i32 %10594, ptr %10595, align 4, !tbaa !5
  %10596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10597 = load i32, ptr @test_count, align 4, !tbaa !5
  %10598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10599 = load i32, ptr %10598, align 4, !tbaa !5
  %10600 = call ptr @s2n_strerror(i32 noundef %10599, ptr noundef @.str.3)
  %10601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10602 = load i32, ptr %10601, align 4, !tbaa !5
  %10603 = call ptr @s2n_strerror_debug(i32 noundef %10602, ptr noundef @.str.3)
  %10604 = call ptr @__errno_location() #11
  %10605 = load i32, ptr %10604, align 4, !tbaa !5
  %10606 = call ptr @strerror(i32 noundef %10605) #10
  %10607 = call ptr @__errno_location() #11
  %10608 = load i32, ptr %10607, align 4, !tbaa !5
  %10609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10596, ptr noundef @.str, i32 noundef %10597, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 574, ptr noundef %10600, ptr noundef %10603, ptr noundef %10606, i32 noundef %10608) #10
  br label %10627

10610:                                            ; preds = %10588, %10581
  %10611 = load i32, ptr %266, align 4, !tbaa !5
  %10612 = call ptr @__errno_location() #11
  store i32 %10611, ptr %10612, align 4, !tbaa !5
  %10613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10614 = load i32, ptr @test_count, align 4, !tbaa !5
  %10615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10616 = load i32, ptr %10615, align 4, !tbaa !5
  %10617 = call ptr @s2n_strerror(i32 noundef %10616, ptr noundef @.str.3)
  %10618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10619 = load i32, ptr %10618, align 4, !tbaa !5
  %10620 = call ptr @s2n_strerror_debug(i32 noundef %10619, ptr noundef @.str.3)
  %10621 = call ptr @__errno_location() #11
  %10622 = load i32, ptr %10621, align 4, !tbaa !5
  %10623 = call ptr @strerror(i32 noundef %10622) #10
  %10624 = call ptr @__errno_location() #11
  %10625 = load i32, ptr %10624, align 4, !tbaa !5
  %10626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10613, ptr noundef @.str.4, i32 noundef %10614, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 574, ptr noundef %10617, ptr noundef %10620, ptr noundef %10623, i32 noundef %10625) #10
  br label %10627

10627:                                            ; preds = %10610, %10593
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #10
  br label %10628

10628:                                            ; preds = %10627
  br label %10629

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

10630:                                            ; No predecessors!
  br label %10631

10631:                                            ; preds = %10630
  br label %10632

10632:                                            ; preds = %10631, %10568
  br label %10633

10633:                                            ; preds = %10632
  br label %10634

10634:                                            ; preds = %10633
  %10635 = load ptr, ptr %238, align 8, !tbaa !9
  %10636 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %10637 = load i64, ptr %252, align 8, !tbaa !15
  %10638 = load i16, ptr %242, align 2, !tbaa !59
  %10639 = zext i16 %10638 to i64
  %10640 = sub i64 %10637, %10639
  %10641 = call i64 @s2n_send(ptr noundef %10635, ptr noundef %10636, i64 noundef %10640, ptr noundef %251)
  store i64 %10641, ptr %261, align 8, !tbaa !15
  br label %10642

10642:                                            ; preds = %10634
  %10643 = load i32, ptr @test_count, align 4, !tbaa !5
  %10644 = add nsw i32 %10643, 1
  store i32 %10644, ptr @test_count, align 4, !tbaa !5
  %10645 = load i32, ptr %251, align 4, !tbaa !5
  %10646 = icmp eq i32 %10645, 0
  br i1 %10646, label %10700, label %10647

10647:                                            ; preds = %10642
  br label %10648

10648:                                            ; preds = %10647
  br label %10649

10649:                                            ; preds = %10648
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #10
  %10650 = call ptr @__errno_location() #11
  %10651 = load i32, ptr %10650, align 4, !tbaa !5
  store i32 %10651, ptr %267, align 4, !tbaa !5
  %10652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10653 = call i32 @s2n_print_stacktrace(ptr noundef %10652)
  %10654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10655 = trunc i8 %10654 to i1
  br i1 %10655, label %10656, label %10678

10656:                                            ; preds = %10649
  %10657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10658 = call i32 @fileno(ptr noundef %10657) #10
  %10659 = call i32 @isatty(i32 noundef %10658) #10
  %10660 = icmp ne i32 %10659, 0
  br i1 %10660, label %10661, label %10678

10661:                                            ; preds = %10656
  %10662 = load i32, ptr %267, align 4, !tbaa !5
  %10663 = call ptr @__errno_location() #11
  store i32 %10662, ptr %10663, align 4, !tbaa !5
  %10664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10665 = load i32, ptr @test_count, align 4, !tbaa !5
  %10666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10667 = load i32, ptr %10666, align 4, !tbaa !5
  %10668 = call ptr @s2n_strerror(i32 noundef %10667, ptr noundef @.str.3)
  %10669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10670 = load i32, ptr %10669, align 4, !tbaa !5
  %10671 = call ptr @s2n_strerror_debug(i32 noundef %10670, ptr noundef @.str.3)
  %10672 = call ptr @__errno_location() #11
  %10673 = load i32, ptr %10672, align 4, !tbaa !5
  %10674 = call ptr @strerror(i32 noundef %10673) #10
  %10675 = call ptr @__errno_location() #11
  %10676 = load i32, ptr %10675, align 4, !tbaa !5
  %10677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10664, ptr noundef @.str, i32 noundef %10665, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 578, ptr noundef %10668, ptr noundef %10671, ptr noundef %10674, i32 noundef %10676) #10
  br label %10695

10678:                                            ; preds = %10656, %10649
  %10679 = load i32, ptr %267, align 4, !tbaa !5
  %10680 = call ptr @__errno_location() #11
  store i32 %10679, ptr %10680, align 4, !tbaa !5
  %10681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10682 = load i32, ptr @test_count, align 4, !tbaa !5
  %10683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10684 = load i32, ptr %10683, align 4, !tbaa !5
  %10685 = call ptr @s2n_strerror(i32 noundef %10684, ptr noundef @.str.3)
  %10686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10687 = load i32, ptr %10686, align 4, !tbaa !5
  %10688 = call ptr @s2n_strerror_debug(i32 noundef %10687, ptr noundef @.str.3)
  %10689 = call ptr @__errno_location() #11
  %10690 = load i32, ptr %10689, align 4, !tbaa !5
  %10691 = call ptr @strerror(i32 noundef %10690) #10
  %10692 = call ptr @__errno_location() #11
  %10693 = load i32, ptr %10692, align 4, !tbaa !5
  %10694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10681, ptr noundef @.str.4, i32 noundef %10682, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 578, ptr noundef %10685, ptr noundef %10688, ptr noundef %10691, i32 noundef %10693) #10
  br label %10695

10695:                                            ; preds = %10678, %10661
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #10
  br label %10696

10696:                                            ; preds = %10695
  br label %10697

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

10698:                                            ; No predecessors!
  br label %10699

10699:                                            ; preds = %10698
  br label %10700

10700:                                            ; preds = %10699, %10642
  br label %10701

10701:                                            ; preds = %10700
  br label %10702

10702:                                            ; preds = %10701
  br label %10703

10703:                                            ; preds = %10702
  %10704 = load i32, ptr @test_count, align 4, !tbaa !5
  %10705 = add nsw i32 %10704, 1
  store i32 %10705, ptr @test_count, align 4, !tbaa !5
  %10706 = load i64, ptr %261, align 8, !tbaa !15
  %10707 = load i16, ptr %242, align 2, !tbaa !59
  %10708 = zext i16 %10707 to i64
  %10709 = icmp eq i64 %10706, %10708
  br i1 %10709, label %10763, label %10710

10710:                                            ; preds = %10703
  br label %10711

10711:                                            ; preds = %10710
  br label %10712

10712:                                            ; preds = %10711
  call void @llvm.lifetime.start.p0(i64 4, ptr %268) #10
  %10713 = call ptr @__errno_location() #11
  %10714 = load i32, ptr %10713, align 4, !tbaa !5
  store i32 %10714, ptr %268, align 4, !tbaa !5
  %10715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10716 = call i32 @s2n_print_stacktrace(ptr noundef %10715)
  %10717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10718 = trunc i8 %10717 to i1
  br i1 %10718, label %10719, label %10741

10719:                                            ; preds = %10712
  %10720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10721 = call i32 @fileno(ptr noundef %10720) #10
  %10722 = call i32 @isatty(i32 noundef %10721) #10
  %10723 = icmp ne i32 %10722, 0
  br i1 %10723, label %10724, label %10741

10724:                                            ; preds = %10719
  %10725 = load i32, ptr %268, align 4, !tbaa !5
  %10726 = call ptr @__errno_location() #11
  store i32 %10725, ptr %10726, align 4, !tbaa !5
  %10727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10728 = load i32, ptr @test_count, align 4, !tbaa !5
  %10729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10730 = load i32, ptr %10729, align 4, !tbaa !5
  %10731 = call ptr @s2n_strerror(i32 noundef %10730, ptr noundef @.str.3)
  %10732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10733 = load i32, ptr %10732, align 4, !tbaa !5
  %10734 = call ptr @s2n_strerror_debug(i32 noundef %10733, ptr noundef @.str.3)
  %10735 = call ptr @__errno_location() #11
  %10736 = load i32, ptr %10735, align 4, !tbaa !5
  %10737 = call ptr @strerror(i32 noundef %10736) #10
  %10738 = call ptr @__errno_location() #11
  %10739 = load i32, ptr %10738, align 4, !tbaa !5
  %10740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10727, ptr noundef @.str, i32 noundef %10728, ptr noundef @.str.69, ptr noundef @.str.2, i32 noundef 580, ptr noundef %10731, ptr noundef %10734, ptr noundef %10737, i32 noundef %10739) #10
  br label %10758

10741:                                            ; preds = %10719, %10712
  %10742 = load i32, ptr %268, align 4, !tbaa !5
  %10743 = call ptr @__errno_location() #11
  store i32 %10742, ptr %10743, align 4, !tbaa !5
  %10744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10745 = load i32, ptr @test_count, align 4, !tbaa !5
  %10746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10747 = load i32, ptr %10746, align 4, !tbaa !5
  %10748 = call ptr @s2n_strerror(i32 noundef %10747, ptr noundef @.str.3)
  %10749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10750 = load i32, ptr %10749, align 4, !tbaa !5
  %10751 = call ptr @s2n_strerror_debug(i32 noundef %10750, ptr noundef @.str.3)
  %10752 = call ptr @__errno_location() #11
  %10753 = load i32, ptr %10752, align 4, !tbaa !5
  %10754 = call ptr @strerror(i32 noundef %10753) #10
  %10755 = call ptr @__errno_location() #11
  %10756 = load i32, ptr %10755, align 4, !tbaa !5
  %10757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10744, ptr noundef @.str.4, i32 noundef %10745, ptr noundef @.str.69, ptr noundef @.str.2, i32 noundef 580, ptr noundef %10748, ptr noundef %10751, ptr noundef %10754, i32 noundef %10756) #10
  br label %10758

10758:                                            ; preds = %10741, %10724
  call void @llvm.lifetime.end.p0(i64 4, ptr %268) #10
  br label %10759

10759:                                            ; preds = %10758
  br label %10760

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

10761:                                            ; No predecessors!
  br label %10762

10762:                                            ; preds = %10761
  br label %10763

10763:                                            ; preds = %10762, %10703
  br label %10764

10764:                                            ; preds = %10763
  br label %10765

10765:                                            ; preds = %10764
  br label %10766

10766:                                            ; preds = %10765
  %10767 = load i32, ptr @test_count, align 4, !tbaa !5
  %10768 = add nsw i32 %10767, 1
  store i32 %10768, ptr @test_count, align 4, !tbaa !5
  %10769 = load ptr, ptr %238, align 8, !tbaa !9
  %10770 = getelementptr inbounds %struct.s2n_connection, ptr %10769, i32 0, i32 56
  %10771 = load i64, ptr %10770, align 8, !tbaa !60
  %10772 = load i32, ptr %245, align 4, !tbaa !5
  %10773 = zext i32 %10772 to i64
  %10774 = icmp eq i64 %10771, %10773
  br i1 %10774, label %10828, label %10775

10775:                                            ; preds = %10766
  br label %10776

10776:                                            ; preds = %10775
  br label %10777

10777:                                            ; preds = %10776
  call void @llvm.lifetime.start.p0(i64 4, ptr %269) #10
  %10778 = call ptr @__errno_location() #11
  %10779 = load i32, ptr %10778, align 4, !tbaa !5
  store i32 %10779, ptr %269, align 4, !tbaa !5
  %10780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10781 = call i32 @s2n_print_stacktrace(ptr noundef %10780)
  %10782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10783 = trunc i8 %10782 to i1
  br i1 %10783, label %10784, label %10806

10784:                                            ; preds = %10777
  %10785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10786 = call i32 @fileno(ptr noundef %10785) #10
  %10787 = call i32 @isatty(i32 noundef %10786) #10
  %10788 = icmp ne i32 %10787, 0
  br i1 %10788, label %10789, label %10806

10789:                                            ; preds = %10784
  %10790 = load i32, ptr %269, align 4, !tbaa !5
  %10791 = call ptr @__errno_location() #11
  store i32 %10790, ptr %10791, align 4, !tbaa !5
  %10792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10793 = load i32, ptr @test_count, align 4, !tbaa !5
  %10794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10795 = load i32, ptr %10794, align 4, !tbaa !5
  %10796 = call ptr @s2n_strerror(i32 noundef %10795, ptr noundef @.str.3)
  %10797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10798 = load i32, ptr %10797, align 4, !tbaa !5
  %10799 = call ptr @s2n_strerror_debug(i32 noundef %10798, ptr noundef @.str.3)
  %10800 = call ptr @__errno_location() #11
  %10801 = load i32, ptr %10800, align 4, !tbaa !5
  %10802 = call ptr @strerror(i32 noundef %10801) #10
  %10803 = call ptr @__errno_location() #11
  %10804 = load i32, ptr %10803, align 4, !tbaa !5
  %10805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10792, ptr noundef @.str, i32 noundef %10793, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 584, ptr noundef %10796, ptr noundef %10799, ptr noundef %10802, i32 noundef %10804) #10
  br label %10823

10806:                                            ; preds = %10784, %10777
  %10807 = load i32, ptr %269, align 4, !tbaa !5
  %10808 = call ptr @__errno_location() #11
  store i32 %10807, ptr %10808, align 4, !tbaa !5
  %10809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10810 = load i32, ptr @test_count, align 4, !tbaa !5
  %10811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10812 = load i32, ptr %10811, align 4, !tbaa !5
  %10813 = call ptr @s2n_strerror(i32 noundef %10812, ptr noundef @.str.3)
  %10814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10815 = load i32, ptr %10814, align 4, !tbaa !5
  %10816 = call ptr @s2n_strerror_debug(i32 noundef %10815, ptr noundef @.str.3)
  %10817 = call ptr @__errno_location() #11
  %10818 = load i32, ptr %10817, align 4, !tbaa !5
  %10819 = call ptr @strerror(i32 noundef %10818) #10
  %10820 = call ptr @__errno_location() #11
  %10821 = load i32, ptr %10820, align 4, !tbaa !5
  %10822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10809, ptr noundef @.str.4, i32 noundef %10810, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 584, ptr noundef %10813, ptr noundef %10816, ptr noundef %10819, i32 noundef %10821) #10
  br label %10823

10823:                                            ; preds = %10806, %10789
  call void @llvm.lifetime.end.p0(i64 4, ptr %269) #10
  br label %10824

10824:                                            ; preds = %10823
  br label %10825

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

10826:                                            ; No predecessors!
  br label %10827

10827:                                            ; preds = %10826
  br label %10828

10828:                                            ; preds = %10827, %10766
  br label %10829

10829:                                            ; preds = %10828
  br label %10830

10830:                                            ; preds = %10829
  br label %10831

10831:                                            ; preds = %10830
  %10832 = load i32, ptr @test_count, align 4, !tbaa !5
  %10833 = add nsw i32 %10832, 1
  store i32 %10833, ptr @test_count, align 4, !tbaa !5
  %10834 = load ptr, ptr %238, align 8, !tbaa !9
  %10835 = getelementptr inbounds %struct.s2n_connection, ptr %10834, i32 0, i32 41
  %10836 = getelementptr inbounds %struct.s2n_stuffer, ptr %10835, i32 0, i32 0
  %10837 = getelementptr inbounds %struct.s2n_blob, ptr %10836, i32 0, i32 1
  %10838 = load i32, ptr %10837, align 8, !tbaa !56
  %10839 = getelementptr inbounds [4 x i32], ptr %34, i64 0, i64 0
  %10840 = load i32, ptr %10839, align 16, !tbaa !5
  %10841 = icmp eq i32 %10838, %10840
  br i1 %10841, label %10895, label %10842

10842:                                            ; preds = %10831
  br label %10843

10843:                                            ; preds = %10842
  br label %10844

10844:                                            ; preds = %10843
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #10
  %10845 = call ptr @__errno_location() #11
  %10846 = load i32, ptr %10845, align 4, !tbaa !5
  store i32 %10846, ptr %270, align 4, !tbaa !5
  %10847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10848 = call i32 @s2n_print_stacktrace(ptr noundef %10847)
  %10849 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10850 = trunc i8 %10849 to i1
  br i1 %10850, label %10851, label %10873

10851:                                            ; preds = %10844
  %10852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10853 = call i32 @fileno(ptr noundef %10852) #10
  %10854 = call i32 @isatty(i32 noundef %10853) #10
  %10855 = icmp ne i32 %10854, 0
  br i1 %10855, label %10856, label %10873

10856:                                            ; preds = %10851
  %10857 = load i32, ptr %270, align 4, !tbaa !5
  %10858 = call ptr @__errno_location() #11
  store i32 %10857, ptr %10858, align 4, !tbaa !5
  %10859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10860 = load i32, ptr @test_count, align 4, !tbaa !5
  %10861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10862 = load i32, ptr %10861, align 4, !tbaa !5
  %10863 = call ptr @s2n_strerror(i32 noundef %10862, ptr noundef @.str.3)
  %10864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10865 = load i32, ptr %10864, align 4, !tbaa !5
  %10866 = call ptr @s2n_strerror_debug(i32 noundef %10865, ptr noundef @.str.3)
  %10867 = call ptr @__errno_location() #11
  %10868 = load i32, ptr %10867, align 4, !tbaa !5
  %10869 = call ptr @strerror(i32 noundef %10868) #10
  %10870 = call ptr @__errno_location() #11
  %10871 = load i32, ptr %10870, align 4, !tbaa !5
  %10872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10859, ptr noundef @.str, i32 noundef %10860, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 588, ptr noundef %10863, ptr noundef %10866, ptr noundef %10869, i32 noundef %10871) #10
  br label %10890

10873:                                            ; preds = %10851, %10844
  %10874 = load i32, ptr %270, align 4, !tbaa !5
  %10875 = call ptr @__errno_location() #11
  store i32 %10874, ptr %10875, align 4, !tbaa !5
  %10876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10877 = load i32, ptr @test_count, align 4, !tbaa !5
  %10878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10879 = load i32, ptr %10878, align 4, !tbaa !5
  %10880 = call ptr @s2n_strerror(i32 noundef %10879, ptr noundef @.str.3)
  %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_debug(i32 noundef %10882, ptr noundef @.str.3)
  %10884 = call ptr @__errno_location() #11
  %10885 = load i32, ptr %10884, align 4, !tbaa !5
  %10886 = call ptr @strerror(i32 noundef %10885) #10
  %10887 = call ptr @__errno_location() #11
  %10888 = load i32, ptr %10887, align 4, !tbaa !5
  %10889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10876, ptr noundef @.str.4, i32 noundef %10877, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 588, ptr noundef %10880, ptr noundef %10883, ptr noundef %10886, i32 noundef %10888) #10
  br label %10890

10890:                                            ; preds = %10873, %10856
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #10
  br label %10891

10891:                                            ; preds = %10890
  br label %10892

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

10893:                                            ; No predecessors!
  br label %10894

10894:                                            ; preds = %10893
  br label %10895

10895:                                            ; preds = %10894, %10831
  br label %10896

10896:                                            ; preds = %10895
  br label %10897

10897:                                            ; preds = %10896
  %10898 = load ptr, ptr %238, align 8, !tbaa !9
  %10899 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %10900 = load ptr, ptr %238, align 8, !tbaa !9
  %10901 = getelementptr inbounds %struct.s2n_connection, ptr %10900, i32 0, i32 53
  %10902 = load i16, ptr %10901, align 8, !tbaa !55
  %10903 = zext i16 %10902 to i32
  %10904 = mul nsw i32 %10903, 2
  %10905 = sext i32 %10904 to i64
  %10906 = call i64 @s2n_send(ptr noundef %10898, ptr noundef %10899, i64 noundef %10905, ptr noundef %251)
  store i64 %10906, ptr %261, align 8, !tbaa !15
  br label %10907

10907:                                            ; preds = %10897
  %10908 = load i32, ptr @test_count, align 4, !tbaa !5
  %10909 = add nsw i32 %10908, 1
  store i32 %10909, ptr @test_count, align 4, !tbaa !5
  %10910 = load i32, ptr %251, align 4, !tbaa !5
  %10911 = icmp eq i32 %10910, 2
  br i1 %10911, label %10965, label %10912

10912:                                            ; preds = %10907
  br label %10913

10913:                                            ; preds = %10912
  br label %10914

10914:                                            ; preds = %10913
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #10
  %10915 = call ptr @__errno_location() #11
  %10916 = load i32, ptr %10915, align 4, !tbaa !5
  store i32 %10916, ptr %271, align 4, !tbaa !5
  %10917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10918 = call i32 @s2n_print_stacktrace(ptr noundef %10917)
  %10919 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10920 = trunc i8 %10919 to i1
  br i1 %10920, label %10921, label %10943

10921:                                            ; preds = %10914
  %10922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10923 = call i32 @fileno(ptr noundef %10922) #10
  %10924 = call i32 @isatty(i32 noundef %10923) #10
  %10925 = icmp ne i32 %10924, 0
  br i1 %10925, label %10926, label %10943

10926:                                            ; preds = %10921
  %10927 = load i32, ptr %271, align 4, !tbaa !5
  %10928 = call ptr @__errno_location() #11
  store i32 %10927, ptr %10928, align 4, !tbaa !5
  %10929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10930 = load i32, ptr @test_count, align 4, !tbaa !5
  %10931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10932 = load i32, ptr %10931, align 4, !tbaa !5
  %10933 = call ptr @s2n_strerror(i32 noundef %10932, ptr noundef @.str.3)
  %10934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10935 = load i32, ptr %10934, align 4, !tbaa !5
  %10936 = call ptr @s2n_strerror_debug(i32 noundef %10935, ptr noundef @.str.3)
  %10937 = call ptr @__errno_location() #11
  %10938 = load i32, ptr %10937, align 4, !tbaa !5
  %10939 = call ptr @strerror(i32 noundef %10938) #10
  %10940 = call ptr @__errno_location() #11
  %10941 = load i32, ptr %10940, align 4, !tbaa !5
  %10942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10929, ptr noundef @.str, i32 noundef %10930, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 592, ptr noundef %10933, ptr noundef %10936, ptr noundef %10939, i32 noundef %10941) #10
  br label %10960

10943:                                            ; preds = %10921, %10914
  %10944 = load i32, ptr %271, align 4, !tbaa !5
  %10945 = call ptr @__errno_location() #11
  store i32 %10944, ptr %10945, align 4, !tbaa !5
  %10946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10947 = load i32, ptr @test_count, align 4, !tbaa !5
  %10948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10949 = load i32, ptr %10948, align 4, !tbaa !5
  %10950 = call ptr @s2n_strerror(i32 noundef %10949, ptr noundef @.str.3)
  %10951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10952 = load i32, ptr %10951, align 4, !tbaa !5
  %10953 = call ptr @s2n_strerror_debug(i32 noundef %10952, ptr noundef @.str.3)
  %10954 = call ptr @__errno_location() #11
  %10955 = load i32, ptr %10954, align 4, !tbaa !5
  %10956 = call ptr @strerror(i32 noundef %10955) #10
  %10957 = call ptr @__errno_location() #11
  %10958 = load i32, ptr %10957, align 4, !tbaa !5
  %10959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10946, ptr noundef @.str.4, i32 noundef %10947, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 592, ptr noundef %10950, ptr noundef %10953, ptr noundef %10956, i32 noundef %10958) #10
  br label %10960

10960:                                            ; preds = %10943, %10926
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #10
  br label %10961

10961:                                            ; preds = %10960
  br label %10962

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

10963:                                            ; No predecessors!
  br label %10964

10964:                                            ; preds = %10963
  br label %10965

10965:                                            ; preds = %10964, %10907
  br label %10966

10966:                                            ; preds = %10965
  br label %10967

10967:                                            ; preds = %10966
  br label %10968

10968:                                            ; preds = %10967
  %10969 = load i32, ptr @test_count, align 4, !tbaa !5
  %10970 = add nsw i32 %10969, 1
  store i32 %10970, ptr @test_count, align 4, !tbaa !5
  %10971 = load i64, ptr %261, align 8, !tbaa !15
  %10972 = load i16, ptr %242, align 2, !tbaa !59
  %10973 = zext i16 %10972 to i64
  %10974 = icmp sgt i64 %10971, %10973
  br i1 %10974, label %11028, label %10975

10975:                                            ; preds = %10968
  br label %10976

10976:                                            ; preds = %10975
  br label %10977

10977:                                            ; preds = %10976
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #10
  %10978 = call ptr @__errno_location() #11
  %10979 = load i32, ptr %10978, align 4, !tbaa !5
  store i32 %10979, ptr %272, align 4, !tbaa !5
  %10980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10981 = call i32 @s2n_print_stacktrace(ptr noundef %10980)
  %10982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10983 = trunc i8 %10982 to i1
  br i1 %10983, label %10984, label %11006

10984:                                            ; preds = %10977
  %10985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10986 = call i32 @fileno(ptr noundef %10985) #10
  %10987 = call i32 @isatty(i32 noundef %10986) #10
  %10988 = icmp ne i32 %10987, 0
  br i1 %10988, label %10989, label %11006

10989:                                            ; preds = %10984
  %10990 = load i32, ptr %272, align 4, !tbaa !5
  %10991 = call ptr @__errno_location() #11
  store i32 %10990, ptr %10991, align 4, !tbaa !5
  %10992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10993 = load i32, ptr @test_count, align 4, !tbaa !5
  %10994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10995 = load i32, ptr %10994, align 4, !tbaa !5
  %10996 = call ptr @s2n_strerror(i32 noundef %10995, ptr noundef @.str.3)
  %10997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10998 = load i32, ptr %10997, align 4, !tbaa !5
  %10999 = call ptr @s2n_strerror_debug(i32 noundef %10998, ptr noundef @.str.3)
  %11000 = call ptr @__errno_location() #11
  %11001 = load i32, ptr %11000, align 4, !tbaa !5
  %11002 = call ptr @strerror(i32 noundef %11001) #10
  %11003 = call ptr @__errno_location() #11
  %11004 = load i32, ptr %11003, align 4, !tbaa !5
  %11005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10992, ptr noundef @.str, i32 noundef %10993, ptr noundef @.str.72, ptr noundef @.str.2, i32 noundef 596, ptr noundef %10996, ptr noundef %10999, ptr noundef %11002, i32 noundef %11004) #10
  br label %11023

11006:                                            ; preds = %10984, %10977
  %11007 = load i32, ptr %272, align 4, !tbaa !5
  %11008 = call ptr @__errno_location() #11
  store i32 %11007, ptr %11008, align 4, !tbaa !5
  %11009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11010 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11012, ptr noundef @.str.3)
  %11014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11015 = load i32, ptr %11014, align 4, !tbaa !5
  %11016 = call ptr @s2n_strerror_debug(i32 noundef %11015, ptr noundef @.str.3)
  %11017 = call ptr @__errno_location() #11
  %11018 = load i32, ptr %11017, align 4, !tbaa !5
  %11019 = call ptr @strerror(i32 noundef %11018) #10
  %11020 = call ptr @__errno_location() #11
  %11021 = load i32, ptr %11020, align 4, !tbaa !5
  %11022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11009, ptr noundef @.str.4, i32 noundef %11010, ptr noundef @.str.72, ptr noundef @.str.2, i32 noundef 596, ptr noundef %11013, ptr noundef %11016, ptr noundef %11019, i32 noundef %11021) #10
  br label %11023

11023:                                            ; preds = %11006, %10989
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #10
  br label %11024

11024:                                            ; preds = %11023
  br label %11025

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

11026:                                            ; No predecessors!
  br label %11027

11027:                                            ; preds = %11026
  br label %11028

11028:                                            ; preds = %11027, %10968
  br label %11029

11029:                                            ; preds = %11028
  br label %11030

11030:                                            ; preds = %11029
  br label %11031

11031:                                            ; preds = %11030
  %11032 = load i32, ptr @test_count, align 4, !tbaa !5
  %11033 = add nsw i32 %11032, 1
  store i32 %11033, ptr @test_count, align 4, !tbaa !5
  %11034 = load i64, ptr %261, align 8, !tbaa !15
  %11035 = load ptr, ptr %238, align 8, !tbaa !9
  %11036 = getelementptr inbounds %struct.s2n_connection, ptr %11035, i32 0, i32 53
  %11037 = load i16, ptr %11036, align 8, !tbaa !55
  %11038 = zext i16 %11037 to i64
  %11039 = icmp eq i64 %11034, %11038
  br i1 %11039, label %11093, label %11040

11040:                                            ; preds = %11031
  br label %11041

11041:                                            ; preds = %11040
  br label %11042

11042:                                            ; preds = %11041
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #10
  %11043 = call ptr @__errno_location() #11
  %11044 = load i32, ptr %11043, align 4, !tbaa !5
  store i32 %11044, ptr %273, align 4, !tbaa !5
  %11045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11046 = call i32 @s2n_print_stacktrace(ptr noundef %11045)
  %11047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11048 = trunc i8 %11047 to i1
  br i1 %11048, label %11049, label %11071

11049:                                            ; preds = %11042
  %11050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11051 = call i32 @fileno(ptr noundef %11050) #10
  %11052 = call i32 @isatty(i32 noundef %11051) #10
  %11053 = icmp ne i32 %11052, 0
  br i1 %11053, label %11054, label %11071

11054:                                            ; preds = %11049
  %11055 = load i32, ptr %273, align 4, !tbaa !5
  %11056 = call ptr @__errno_location() #11
  store i32 %11055, ptr %11056, align 4, !tbaa !5
  %11057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11058 = load i32, ptr @test_count, align 4, !tbaa !5
  %11059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11060 = load i32, ptr %11059, align 4, !tbaa !5
  %11061 = call ptr @s2n_strerror(i32 noundef %11060, ptr noundef @.str.3)
  %11062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11063 = load i32, ptr %11062, align 4, !tbaa !5
  %11064 = call ptr @s2n_strerror_debug(i32 noundef %11063, ptr noundef @.str.3)
  %11065 = call ptr @__errno_location() #11
  %11066 = load i32, ptr %11065, align 4, !tbaa !5
  %11067 = call ptr @strerror(i32 noundef %11066) #10
  %11068 = call ptr @__errno_location() #11
  %11069 = load i32, ptr %11068, align 4, !tbaa !5
  %11070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11057, ptr noundef @.str, i32 noundef %11058, ptr noundef @.str.73, ptr noundef @.str.2, i32 noundef 597, ptr noundef %11061, ptr noundef %11064, ptr noundef %11067, i32 noundef %11069) #10
  br label %11088

11071:                                            ; preds = %11049, %11042
  %11072 = load i32, ptr %273, align 4, !tbaa !5
  %11073 = call ptr @__errno_location() #11
  store i32 %11072, ptr %11073, align 4, !tbaa !5
  %11074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11075 = load i32, ptr @test_count, align 4, !tbaa !5
  %11076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11077 = load i32, ptr %11076, align 4, !tbaa !5
  %11078 = call ptr @s2n_strerror(i32 noundef %11077, ptr noundef @.str.3)
  %11079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11080 = load i32, ptr %11079, align 4, !tbaa !5
  %11081 = call ptr @s2n_strerror_debug(i32 noundef %11080, ptr noundef @.str.3)
  %11082 = call ptr @__errno_location() #11
  %11083 = load i32, ptr %11082, align 4, !tbaa !5
  %11084 = call ptr @strerror(i32 noundef %11083) #10
  %11085 = call ptr @__errno_location() #11
  %11086 = load i32, ptr %11085, align 4, !tbaa !5
  %11087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11074, ptr noundef @.str.4, i32 noundef %11075, ptr noundef @.str.73, ptr noundef @.str.2, i32 noundef 597, ptr noundef %11078, ptr noundef %11081, ptr noundef %11084, i32 noundef %11086) #10
  br label %11088

11088:                                            ; preds = %11071, %11054
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #10
  br label %11089

11089:                                            ; preds = %11088
  br label %11090

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

11091:                                            ; No predecessors!
  br label %11092

11092:                                            ; preds = %11091
  br label %11093

11093:                                            ; preds = %11092, %11031
  br label %11094

11094:                                            ; preds = %11093
  br label %11095

11095:                                            ; preds = %11094
  br label %11096

11096:                                            ; preds = %11095
  %11097 = load i32, ptr @test_count, align 4, !tbaa !5
  %11098 = add nsw i32 %11097, 1
  store i32 %11098, ptr @test_count, align 4, !tbaa !5
  %11099 = load ptr, ptr %238, align 8, !tbaa !9
  %11100 = getelementptr inbounds %struct.s2n_connection, ptr %11099, i32 0, i32 41
  %11101 = getelementptr inbounds %struct.s2n_stuffer, ptr %11100, i32 0, i32 0
  %11102 = getelementptr inbounds %struct.s2n_blob, ptr %11101, i32 0, i32 1
  %11103 = load i32, ptr %11102, align 8, !tbaa !56
  %11104 = getelementptr inbounds [4 x i32], ptr %34, i64 0, i64 0
  %11105 = load i32, ptr %11104, align 16, !tbaa !5
  %11106 = icmp eq i32 %11103, %11105
  br i1 %11106, label %11160, label %11107

11107:                                            ; preds = %11096
  br label %11108

11108:                                            ; preds = %11107
  br label %11109

11109:                                            ; preds = %11108
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #10
  %11110 = call ptr @__errno_location() #11
  %11111 = load i32, ptr %11110, align 4, !tbaa !5
  store i32 %11111, ptr %274, align 4, !tbaa !5
  %11112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11113 = call i32 @s2n_print_stacktrace(ptr noundef %11112)
  %11114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11115 = trunc i8 %11114 to i1
  br i1 %11115, label %11116, label %11138

11116:                                            ; preds = %11109
  %11117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11118 = call i32 @fileno(ptr noundef %11117) #10
  %11119 = call i32 @isatty(i32 noundef %11118) #10
  %11120 = icmp ne i32 %11119, 0
  br i1 %11120, label %11121, label %11138

11121:                                            ; preds = %11116
  %11122 = load i32, ptr %274, align 4, !tbaa !5
  %11123 = call ptr @__errno_location() #11
  store i32 %11122, ptr %11123, align 4, !tbaa !5
  %11124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11125 = load i32, ptr @test_count, align 4, !tbaa !5
  %11126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11127 = load i32, ptr %11126, align 4, !tbaa !5
  %11128 = call ptr @s2n_strerror(i32 noundef %11127, ptr noundef @.str.3)
  %11129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11130 = load i32, ptr %11129, align 4, !tbaa !5
  %11131 = call ptr @s2n_strerror_debug(i32 noundef %11130, ptr noundef @.str.3)
  %11132 = call ptr @__errno_location() #11
  %11133 = load i32, ptr %11132, align 4, !tbaa !5
  %11134 = call ptr @strerror(i32 noundef %11133) #10
  %11135 = call ptr @__errno_location() #11
  %11136 = load i32, ptr %11135, align 4, !tbaa !5
  %11137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11124, ptr noundef @.str, i32 noundef %11125, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 600, ptr noundef %11128, ptr noundef %11131, ptr noundef %11134, i32 noundef %11136) #10
  br label %11155

11138:                                            ; preds = %11116, %11109
  %11139 = load i32, ptr %274, align 4, !tbaa !5
  %11140 = call ptr @__errno_location() #11
  store i32 %11139, ptr %11140, align 4, !tbaa !5
  %11141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11142 = load i32, ptr @test_count, align 4, !tbaa !5
  %11143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11144 = load i32, ptr %11143, align 4, !tbaa !5
  %11145 = call ptr @s2n_strerror(i32 noundef %11144, ptr noundef @.str.3)
  %11146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11147 = load i32, ptr %11146, align 4, !tbaa !5
  %11148 = call ptr @s2n_strerror_debug(i32 noundef %11147, ptr noundef @.str.3)
  %11149 = call ptr @__errno_location() #11
  %11150 = load i32, ptr %11149, align 4, !tbaa !5
  %11151 = call ptr @strerror(i32 noundef %11150) #10
  %11152 = call ptr @__errno_location() #11
  %11153 = load i32, ptr %11152, align 4, !tbaa !5
  %11154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11141, ptr noundef @.str.4, i32 noundef %11142, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 600, ptr noundef %11145, ptr noundef %11148, ptr noundef %11151, i32 noundef %11153) #10
  br label %11155

11155:                                            ; preds = %11138, %11121
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #10
  br label %11156

11156:                                            ; preds = %11155
  br label %11157

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

11158:                                            ; No predecessors!
  br label %11159

11159:                                            ; preds = %11158
  br label %11160

11160:                                            ; preds = %11159, %11096
  br label %11161

11161:                                            ; preds = %11160
  br label %11162

11162:                                            ; preds = %11161
  call void @llvm.lifetime.end.p0(i64 8, ptr %261) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %252) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %248) #10
  call void @llvm.lifetime.end.p0(i64 48, ptr %247) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr %242) #10
  %11163 = call i32 @s2n_connection_ptr_free(ptr noundef %238)
  %11164 = getelementptr inbounds %struct.s2n_result, ptr %275, i32 0, i32 0
  store i32 %11163, ptr %11164, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %238) #10
  call void @llvm.lifetime.start.p0(i64 128, ptr %276) #10
  call void @llvm.memset.p0.i64(ptr align 16 %276, i8 0, i64 128, i1 false)
  %11165 = getelementptr inbounds [8 x %struct.iovec], ptr %276, i32 0, i32 1
  %11166 = getelementptr inbounds %struct.iovec, ptr %11165, i32 0, i32 1
  store i64 1, ptr %11166, align 8
  %11167 = getelementptr inbounds [8 x %struct.iovec], ptr %276, i32 0, i32 2
  %11168 = getelementptr inbounds %struct.iovec, ptr %11167, i32 0, i32 1
  store i64 2, ptr %11168, align 8
  %11169 = getelementptr inbounds [8 x %struct.iovec], ptr %276, i32 0, i32 4
  %11170 = getelementptr inbounds %struct.iovec, ptr %11169, i32 0, i32 1
  store i64 14, ptr %11170, align 8
  %11171 = getelementptr inbounds [8 x %struct.iovec], ptr %276, i32 0, i32 6
  %11172 = getelementptr inbounds %struct.iovec, ptr %11171, i32 0, i32 1
  store i64 3, ptr %11172, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %277) #10
  store i64 20, ptr %277, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 16, ptr %278) #10
  call void @llvm.memset.p0.i64(ptr align 8 %278, i8 0, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %279) #10
  store i64 0, ptr %279, align 8, !tbaa !15
  br label %11173

11173:                                            ; preds = %11162
  br label %11174

11174:                                            ; preds = %11173
  br label %11175

11175:                                            ; preds = %11174
  %11176 = load i32, ptr @test_count, align 4, !tbaa !5
  %11177 = add nsw i32 %11176, 1
  store i32 %11177, ptr @test_count, align 4, !tbaa !5
  %11178 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef %278, i64 noundef 1, i64 noundef 0, ptr noundef null)
  %11179 = getelementptr inbounds %struct.s2n_result, ptr %280, i32 0, i32 0
  store i32 %11178, ptr %11179, align 4
  %11180 = getelementptr inbounds %struct.s2n_result, ptr %280, i32 0, i32 0
  %11181 = load i32, ptr %11180, align 4
  %11182 = call zeroext i1 @s2n_result_is_error(i32 %11181)
  br i1 %11182, label %11236, label %11183

11183:                                            ; preds = %11175
  br label %11184

11184:                                            ; preds = %11183
  br label %11185

11185:                                            ; preds = %11184
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #10
  %11186 = call ptr @__errno_location() #11
  %11187 = load i32, ptr %11186, align 4, !tbaa !5
  store i32 %11187, ptr %281, align 4, !tbaa !5
  %11188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11189 = call i32 @s2n_print_stacktrace(ptr noundef %11188)
  %11190 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11191 = trunc i8 %11190 to i1
  br i1 %11191, label %11192, label %11214

11192:                                            ; preds = %11185
  %11193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11194 = call i32 @fileno(ptr noundef %11193) #10
  %11195 = call i32 @isatty(i32 noundef %11194) #10
  %11196 = icmp ne i32 %11195, 0
  br i1 %11196, label %11197, label %11214

11197:                                            ; preds = %11192
  %11198 = load i32, ptr %281, align 4, !tbaa !5
  %11199 = call ptr @__errno_location() #11
  store i32 %11198, ptr %11199, align 4, !tbaa !5
  %11200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11201 = load i32, ptr @test_count, align 4, !tbaa !5
  %11202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11203 = load i32, ptr %11202, align 4, !tbaa !5
  %11204 = call ptr @s2n_strerror(i32 noundef %11203, ptr noundef @.str.3)
  %11205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11206 = load i32, ptr %11205, align 4, !tbaa !5
  %11207 = call ptr @s2n_strerror_debug(i32 noundef %11206, ptr noundef @.str.3)
  %11208 = call ptr @__errno_location() #11
  %11209 = load i32, ptr %11208, align 4, !tbaa !5
  %11210 = call ptr @strerror(i32 noundef %11209) #10
  %11211 = call ptr @__errno_location() #11
  %11212 = load i32, ptr %11211, align 4, !tbaa !5
  %11213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11200, ptr noundef @.str, i32 noundef %11201, ptr noundef @.str.74, ptr noundef @.str.2, i32 noundef 625, ptr noundef %11204, ptr noundef %11207, ptr noundef %11210, i32 noundef %11212) #10
  br label %11231

11214:                                            ; preds = %11192, %11185
  %11215 = load i32, ptr %281, align 4, !tbaa !5
  %11216 = call ptr @__errno_location() #11
  store i32 %11215, ptr %11216, align 4, !tbaa !5
  %11217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11218 = load i32, ptr @test_count, align 4, !tbaa !5
  %11219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11220 = load i32, ptr %11219, align 4, !tbaa !5
  %11221 = call ptr @s2n_strerror(i32 noundef %11220, ptr noundef @.str.3)
  %11222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11223 = load i32, ptr %11222, align 4, !tbaa !5
  %11224 = call ptr @s2n_strerror_debug(i32 noundef %11223, ptr noundef @.str.3)
  %11225 = call ptr @__errno_location() #11
  %11226 = load i32, ptr %11225, align 4, !tbaa !5
  %11227 = call ptr @strerror(i32 noundef %11226) #10
  %11228 = call ptr @__errno_location() #11
  %11229 = load i32, ptr %11228, align 4, !tbaa !5
  %11230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11217, ptr noundef @.str.4, i32 noundef %11218, ptr noundef @.str.74, ptr noundef @.str.2, i32 noundef 625, ptr noundef %11221, ptr noundef %11224, ptr noundef %11227, i32 noundef %11229) #10
  br label %11231

11231:                                            ; preds = %11214, %11197
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #10
  br label %11232

11232:                                            ; preds = %11231
  br label %11233

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

11234:                                            ; No predecessors!
  br label %11235

11235:                                            ; preds = %11234
  br label %11236

11236:                                            ; preds = %11235, %11175
  br label %11237

11237:                                            ; preds = %11236
  br label %11238

11238:                                            ; preds = %11237
  br label %11239

11239:                                            ; preds = %11238
  %11240 = load i32, ptr @test_count, align 4, !tbaa !5
  %11241 = add nsw i32 %11240, 1
  store i32 %11241, ptr @test_count, align 4, !tbaa !5
  %11242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11243 = load i32, ptr %11242, align 4, !tbaa !5
  %11244 = icmp eq i32 %11243, 402653193
  br i1 %11244, label %11298, label %11245

11245:                                            ; preds = %11239
  br label %11246

11246:                                            ; preds = %11245
  br label %11247

11247:                                            ; preds = %11246
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #10
  %11248 = call ptr @__errno_location() #11
  %11249 = load i32, ptr %11248, align 4, !tbaa !5
  store i32 %11249, ptr %282, align 4, !tbaa !5
  %11250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11251 = call i32 @s2n_print_stacktrace(ptr noundef %11250)
  %11252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11253 = trunc i8 %11252 to i1
  br i1 %11253, label %11254, label %11276

11254:                                            ; preds = %11247
  %11255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11256 = call i32 @fileno(ptr noundef %11255) #10
  %11257 = call i32 @isatty(i32 noundef %11256) #10
  %11258 = icmp ne i32 %11257, 0
  br i1 %11258, label %11259, label %11276

11259:                                            ; preds = %11254
  %11260 = load i32, ptr %282, align 4, !tbaa !5
  %11261 = call ptr @__errno_location() #11
  store i32 %11260, ptr %11261, align 4, !tbaa !5
  %11262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11263 = load i32, ptr @test_count, align 4, !tbaa !5
  %11264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11265 = load i32, ptr %11264, align 4, !tbaa !5
  %11266 = call ptr @s2n_strerror(i32 noundef %11265, ptr noundef @.str.3)
  %11267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11268 = load i32, ptr %11267, align 4, !tbaa !5
  %11269 = call ptr @s2n_strerror_debug(i32 noundef %11268, ptr noundef @.str.3)
  %11270 = call ptr @__errno_location() #11
  %11271 = load i32, ptr %11270, align 4, !tbaa !5
  %11272 = call ptr @strerror(i32 noundef %11271) #10
  %11273 = call ptr @__errno_location() #11
  %11274 = load i32, ptr %11273, align 4, !tbaa !5
  %11275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11262, ptr noundef @.str, i32 noundef %11263, ptr noundef @.str.75, ptr noundef @.str.2, i32 noundef 625, ptr noundef %11266, ptr noundef %11269, ptr noundef %11272, i32 noundef %11274) #10
  br label %11293

11276:                                            ; preds = %11254, %11247
  %11277 = load i32, ptr %282, align 4, !tbaa !5
  %11278 = call ptr @__errno_location() #11
  store i32 %11277, ptr %11278, align 4, !tbaa !5
  %11279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11280 = load i32, ptr @test_count, align 4, !tbaa !5
  %11281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11282 = load i32, ptr %11281, align 4, !tbaa !5
  %11283 = call ptr @s2n_strerror(i32 noundef %11282, ptr noundef @.str.3)
  %11284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11285 = load i32, ptr %11284, align 4, !tbaa !5
  %11286 = call ptr @s2n_strerror_debug(i32 noundef %11285, ptr noundef @.str.3)
  %11287 = call ptr @__errno_location() #11
  %11288 = load i32, ptr %11287, align 4, !tbaa !5
  %11289 = call ptr @strerror(i32 noundef %11288) #10
  %11290 = call ptr @__errno_location() #11
  %11291 = load i32, ptr %11290, align 4, !tbaa !5
  %11292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11279, ptr noundef @.str.4, i32 noundef %11280, ptr noundef @.str.75, ptr noundef @.str.2, i32 noundef 625, ptr noundef %11283, ptr noundef %11286, ptr noundef %11289, i32 noundef %11291) #10
  br label %11293

11293:                                            ; preds = %11276, %11259
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #10
  br label %11294

11294:                                            ; preds = %11293
  br label %11295

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

11296:                                            ; No predecessors!
  br label %11297

11297:                                            ; preds = %11296
  br label %11298

11298:                                            ; preds = %11297, %11239
  br label %11299

11299:                                            ; preds = %11298
  br label %11300

11300:                                            ; preds = %11299
  br label %11301

11301:                                            ; preds = %11300
  %11302 = load i32, ptr @test_count, align 4, !tbaa !5
  %11303 = add nsw i32 %11302, 1
  store i32 %11303, ptr @test_count, align 4, !tbaa !5
  %11304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11305 = load i32, ptr %11304, align 4, !tbaa !5
  %11306 = call ptr @s2n_strerror_debug(i32 noundef %11305, ptr noundef @.str.3)
  %11307 = icmp eq ptr %11306, null
  br i1 %11307, label %11308, label %11361

11308:                                            ; preds = %11301
  br label %11309

11309:                                            ; preds = %11308
  br label %11310

11310:                                            ; preds = %11309
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #10
  %11311 = call ptr @__errno_location() #11
  %11312 = load i32, ptr %11311, align 4, !tbaa !5
  store i32 %11312, ptr %283, align 4, !tbaa !5
  %11313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11314 = call i32 @s2n_print_stacktrace(ptr noundef %11313)
  %11315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11316 = trunc i8 %11315 to i1
  br i1 %11316, label %11317, label %11339

11317:                                            ; preds = %11310
  %11318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11319 = call i32 @fileno(ptr noundef %11318) #10
  %11320 = call i32 @isatty(i32 noundef %11319) #10
  %11321 = icmp ne i32 %11320, 0
  br i1 %11321, label %11322, label %11339

11322:                                            ; preds = %11317
  %11323 = load i32, ptr %283, align 4, !tbaa !5
  %11324 = call ptr @__errno_location() #11
  store i32 %11323, ptr %11324, align 4, !tbaa !5
  %11325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11326 = load i32, ptr @test_count, align 4, !tbaa !5
  %11327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11328 = load i32, ptr %11327, align 4, !tbaa !5
  %11329 = call ptr @s2n_strerror(i32 noundef %11328, ptr noundef @.str.3)
  %11330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11331 = load i32, ptr %11330, align 4, !tbaa !5
  %11332 = call ptr @s2n_strerror_debug(i32 noundef %11331, ptr noundef @.str.3)
  %11333 = call ptr @__errno_location() #11
  %11334 = load i32, ptr %11333, align 4, !tbaa !5
  %11335 = call ptr @strerror(i32 noundef %11334) #10
  %11336 = call ptr @__errno_location() #11
  %11337 = load i32, ptr %11336, align 4, !tbaa !5
  %11338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11325, ptr noundef @.str, i32 noundef %11326, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 625, ptr noundef %11329, ptr noundef %11332, ptr noundef %11335, i32 noundef %11337) #10
  br label %11356

11339:                                            ; preds = %11317, %11310
  %11340 = load i32, ptr %283, align 4, !tbaa !5
  %11341 = call ptr @__errno_location() #11
  store i32 %11340, ptr %11341, align 4, !tbaa !5
  %11342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11343 = load i32, ptr @test_count, align 4, !tbaa !5
  %11344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11345 = load i32, ptr %11344, align 4, !tbaa !5
  %11346 = call ptr @s2n_strerror(i32 noundef %11345, ptr noundef @.str.3)
  %11347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11348 = load i32, ptr %11347, align 4, !tbaa !5
  %11349 = call ptr @s2n_strerror_debug(i32 noundef %11348, ptr noundef @.str.3)
  %11350 = call ptr @__errno_location() #11
  %11351 = load i32, ptr %11350, align 4, !tbaa !5
  %11352 = call ptr @strerror(i32 noundef %11351) #10
  %11353 = call ptr @__errno_location() #11
  %11354 = load i32, ptr %11353, align 4, !tbaa !5
  %11355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11342, ptr noundef @.str.4, i32 noundef %11343, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 625, ptr noundef %11346, ptr noundef %11349, ptr noundef %11352, i32 noundef %11354) #10
  br label %11356

11356:                                            ; preds = %11339, %11322
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #10
  br label %11357

11357:                                            ; preds = %11356
  br label %11358

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

11359:                                            ; No predecessors!
  br label %11360

11360:                                            ; preds = %11359
  br label %11361

11361:                                            ; preds = %11360, %11301
  br label %11362

11362:                                            ; preds = %11361
  br label %11363

11363:                                            ; preds = %11362
  br label %11364

11364:                                            ; preds = %11363
  br label %11365

11365:                                            ; preds = %11364
  br label %11366

11366:                                            ; preds = %11365
  %11367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11367, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11368 = call ptr @__errno_location() #11
  store i32 0, ptr %11368, align 4, !tbaa !5
  br label %11369

11369:                                            ; preds = %11366
  br label %11370

11370:                                            ; preds = %11369
  br label %11371

11371:                                            ; preds = %11370
  br label %11372

11372:                                            ; preds = %11371
  br label %11373

11373:                                            ; preds = %11372
  br label %11374

11374:                                            ; preds = %11373
  br label %11375

11375:                                            ; preds = %11374
  %11376 = load i32, ptr @test_count, align 4, !tbaa !5
  %11377 = add nsw i32 %11376, 1
  store i32 %11377, ptr @test_count, align 4, !tbaa !5
  %11378 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef null, i64 noundef 1, i64 noundef 0, ptr noundef %279)
  %11379 = getelementptr inbounds %struct.s2n_result, ptr %284, i32 0, i32 0
  store i32 %11378, ptr %11379, align 4
  %11380 = getelementptr inbounds %struct.s2n_result, ptr %284, i32 0, i32 0
  %11381 = load i32, ptr %11380, align 4
  %11382 = call zeroext i1 @s2n_result_is_error(i32 %11381)
  br i1 %11382, label %11436, label %11383

11383:                                            ; preds = %11375
  br label %11384

11384:                                            ; preds = %11383
  br label %11385

11385:                                            ; preds = %11384
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #10
  %11386 = call ptr @__errno_location() #11
  %11387 = load i32, ptr %11386, align 4, !tbaa !5
  store i32 %11387, ptr %285, align 4, !tbaa !5
  %11388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11389 = call i32 @s2n_print_stacktrace(ptr noundef %11388)
  %11390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11391 = trunc i8 %11390 to i1
  br i1 %11391, label %11392, label %11414

11392:                                            ; preds = %11385
  %11393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11394 = call i32 @fileno(ptr noundef %11393) #10
  %11395 = call i32 @isatty(i32 noundef %11394) #10
  %11396 = icmp ne i32 %11395, 0
  br i1 %11396, label %11397, label %11414

11397:                                            ; preds = %11392
  %11398 = load i32, ptr %285, align 4, !tbaa !5
  %11399 = call ptr @__errno_location() #11
  store i32 %11398, ptr %11399, align 4, !tbaa !5
  %11400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11401 = load i32, ptr @test_count, align 4, !tbaa !5
  %11402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11403 = load i32, ptr %11402, align 4, !tbaa !5
  %11404 = call ptr @s2n_strerror(i32 noundef %11403, ptr noundef @.str.3)
  %11405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11406 = load i32, ptr %11405, align 4, !tbaa !5
  %11407 = call ptr @s2n_strerror_debug(i32 noundef %11406, ptr noundef @.str.3)
  %11408 = call ptr @__errno_location() #11
  %11409 = load i32, ptr %11408, align 4, !tbaa !5
  %11410 = call ptr @strerror(i32 noundef %11409) #10
  %11411 = call ptr @__errno_location() #11
  %11412 = load i32, ptr %11411, align 4, !tbaa !5
  %11413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11400, ptr noundef @.str, i32 noundef %11401, ptr noundef @.str.76, ptr noundef @.str.2, i32 noundef 628, ptr noundef %11404, ptr noundef %11407, ptr noundef %11410, i32 noundef %11412) #10
  br label %11431

11414:                                            ; preds = %11392, %11385
  %11415 = load i32, ptr %285, align 4, !tbaa !5
  %11416 = call ptr @__errno_location() #11
  store i32 %11415, ptr %11416, align 4, !tbaa !5
  %11417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11418 = load i32, ptr @test_count, align 4, !tbaa !5
  %11419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11420 = load i32, ptr %11419, align 4, !tbaa !5
  %11421 = call ptr @s2n_strerror(i32 noundef %11420, ptr noundef @.str.3)
  %11422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11423 = load i32, ptr %11422, align 4, !tbaa !5
  %11424 = call ptr @s2n_strerror_debug(i32 noundef %11423, ptr noundef @.str.3)
  %11425 = call ptr @__errno_location() #11
  %11426 = load i32, ptr %11425, align 4, !tbaa !5
  %11427 = call ptr @strerror(i32 noundef %11426) #10
  %11428 = call ptr @__errno_location() #11
  %11429 = load i32, ptr %11428, align 4, !tbaa !5
  %11430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11417, ptr noundef @.str.4, i32 noundef %11418, ptr noundef @.str.76, ptr noundef @.str.2, i32 noundef 628, ptr noundef %11421, ptr noundef %11424, ptr noundef %11427, i32 noundef %11429) #10
  br label %11431

11431:                                            ; preds = %11414, %11397
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #10
  br label %11432

11432:                                            ; preds = %11431
  br label %11433

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

11434:                                            ; No predecessors!
  br label %11435

11435:                                            ; preds = %11434
  br label %11436

11436:                                            ; preds = %11435, %11375
  br label %11437

11437:                                            ; preds = %11436
  br label %11438

11438:                                            ; preds = %11437
  br label %11439

11439:                                            ; preds = %11438
  %11440 = load i32, ptr @test_count, align 4, !tbaa !5
  %11441 = add nsw i32 %11440, 1
  store i32 %11441, ptr @test_count, align 4, !tbaa !5
  %11442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11443 = load i32, ptr %11442, align 4, !tbaa !5
  %11444 = icmp eq i32 %11443, 402653193
  br i1 %11444, label %11498, label %11445

11445:                                            ; preds = %11439
  br label %11446

11446:                                            ; preds = %11445
  br label %11447

11447:                                            ; preds = %11446
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #10
  %11448 = call ptr @__errno_location() #11
  %11449 = load i32, ptr %11448, align 4, !tbaa !5
  store i32 %11449, ptr %286, align 4, !tbaa !5
  %11450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11451 = call i32 @s2n_print_stacktrace(ptr noundef %11450)
  %11452 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11453 = trunc i8 %11452 to i1
  br i1 %11453, label %11454, label %11476

11454:                                            ; preds = %11447
  %11455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11456 = call i32 @fileno(ptr noundef %11455) #10
  %11457 = call i32 @isatty(i32 noundef %11456) #10
  %11458 = icmp ne i32 %11457, 0
  br i1 %11458, label %11459, label %11476

11459:                                            ; preds = %11454
  %11460 = load i32, ptr %286, align 4, !tbaa !5
  %11461 = call ptr @__errno_location() #11
  store i32 %11460, ptr %11461, align 4, !tbaa !5
  %11462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11463 = load i32, ptr @test_count, align 4, !tbaa !5
  %11464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11465 = load i32, ptr %11464, align 4, !tbaa !5
  %11466 = call ptr @s2n_strerror(i32 noundef %11465, ptr noundef @.str.3)
  %11467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11468 = load i32, ptr %11467, align 4, !tbaa !5
  %11469 = call ptr @s2n_strerror_debug(i32 noundef %11468, ptr noundef @.str.3)
  %11470 = call ptr @__errno_location() #11
  %11471 = load i32, ptr %11470, align 4, !tbaa !5
  %11472 = call ptr @strerror(i32 noundef %11471) #10
  %11473 = call ptr @__errno_location() #11
  %11474 = load i32, ptr %11473, align 4, !tbaa !5
  %11475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11462, ptr noundef @.str, i32 noundef %11463, ptr noundef @.str.75, ptr noundef @.str.2, i32 noundef 628, ptr noundef %11466, ptr noundef %11469, ptr noundef %11472, i32 noundef %11474) #10
  br label %11493

11476:                                            ; preds = %11454, %11447
  %11477 = load i32, ptr %286, align 4, !tbaa !5
  %11478 = call ptr @__errno_location() #11
  store i32 %11477, ptr %11478, align 4, !tbaa !5
  %11479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11480 = load i32, ptr @test_count, align 4, !tbaa !5
  %11481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11482 = load i32, ptr %11481, align 4, !tbaa !5
  %11483 = call ptr @s2n_strerror(i32 noundef %11482, ptr noundef @.str.3)
  %11484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11485 = load i32, ptr %11484, align 4, !tbaa !5
  %11486 = call ptr @s2n_strerror_debug(i32 noundef %11485, ptr noundef @.str.3)
  %11487 = call ptr @__errno_location() #11
  %11488 = load i32, ptr %11487, align 4, !tbaa !5
  %11489 = call ptr @strerror(i32 noundef %11488) #10
  %11490 = call ptr @__errno_location() #11
  %11491 = load i32, ptr %11490, align 4, !tbaa !5
  %11492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11479, ptr noundef @.str.4, i32 noundef %11480, ptr noundef @.str.75, ptr noundef @.str.2, i32 noundef 628, ptr noundef %11483, ptr noundef %11486, ptr noundef %11489, i32 noundef %11491) #10
  br label %11493

11493:                                            ; preds = %11476, %11459
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #10
  br label %11494

11494:                                            ; preds = %11493
  br label %11495

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

11496:                                            ; No predecessors!
  br label %11497

11497:                                            ; preds = %11496
  br label %11498

11498:                                            ; preds = %11497, %11439
  br label %11499

11499:                                            ; preds = %11498
  br label %11500

11500:                                            ; preds = %11499
  br label %11501

11501:                                            ; preds = %11500
  %11502 = load i32, ptr @test_count, align 4, !tbaa !5
  %11503 = add nsw i32 %11502, 1
  store i32 %11503, ptr @test_count, align 4, !tbaa !5
  %11504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11505 = load i32, ptr %11504, align 4, !tbaa !5
  %11506 = call ptr @s2n_strerror_debug(i32 noundef %11505, ptr noundef @.str.3)
  %11507 = icmp eq ptr %11506, null
  br i1 %11507, label %11508, label %11561

11508:                                            ; preds = %11501
  br label %11509

11509:                                            ; preds = %11508
  br label %11510

11510:                                            ; preds = %11509
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #10
  %11511 = call ptr @__errno_location() #11
  %11512 = load i32, ptr %11511, align 4, !tbaa !5
  store i32 %11512, ptr %287, align 4, !tbaa !5
  %11513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11514 = call i32 @s2n_print_stacktrace(ptr noundef %11513)
  %11515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11516 = trunc i8 %11515 to i1
  br i1 %11516, label %11517, label %11539

11517:                                            ; preds = %11510
  %11518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11519 = call i32 @fileno(ptr noundef %11518) #10
  %11520 = call i32 @isatty(i32 noundef %11519) #10
  %11521 = icmp ne i32 %11520, 0
  br i1 %11521, label %11522, label %11539

11522:                                            ; preds = %11517
  %11523 = load i32, ptr %287, align 4, !tbaa !5
  %11524 = call ptr @__errno_location() #11
  store i32 %11523, ptr %11524, align 4, !tbaa !5
  %11525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11526 = load i32, ptr @test_count, align 4, !tbaa !5
  %11527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11528 = load i32, ptr %11527, align 4, !tbaa !5
  %11529 = call ptr @s2n_strerror(i32 noundef %11528, ptr noundef @.str.3)
  %11530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11531 = load i32, ptr %11530, align 4, !tbaa !5
  %11532 = call ptr @s2n_strerror_debug(i32 noundef %11531, ptr noundef @.str.3)
  %11533 = call ptr @__errno_location() #11
  %11534 = load i32, ptr %11533, align 4, !tbaa !5
  %11535 = call ptr @strerror(i32 noundef %11534) #10
  %11536 = call ptr @__errno_location() #11
  %11537 = load i32, ptr %11536, align 4, !tbaa !5
  %11538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11525, ptr noundef @.str, i32 noundef %11526, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 628, ptr noundef %11529, ptr noundef %11532, ptr noundef %11535, i32 noundef %11537) #10
  br label %11556

11539:                                            ; preds = %11517, %11510
  %11540 = load i32, ptr %287, align 4, !tbaa !5
  %11541 = call ptr @__errno_location() #11
  store i32 %11540, ptr %11541, align 4, !tbaa !5
  %11542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11543 = load i32, ptr @test_count, align 4, !tbaa !5
  %11544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11545 = load i32, ptr %11544, align 4, !tbaa !5
  %11546 = call ptr @s2n_strerror(i32 noundef %11545, ptr noundef @.str.3)
  %11547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11548 = load i32, ptr %11547, align 4, !tbaa !5
  %11549 = call ptr @s2n_strerror_debug(i32 noundef %11548, ptr noundef @.str.3)
  %11550 = call ptr @__errno_location() #11
  %11551 = load i32, ptr %11550, align 4, !tbaa !5
  %11552 = call ptr @strerror(i32 noundef %11551) #10
  %11553 = call ptr @__errno_location() #11
  %11554 = load i32, ptr %11553, align 4, !tbaa !5
  %11555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11542, ptr noundef @.str.4, i32 noundef %11543, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 628, ptr noundef %11546, ptr noundef %11549, ptr noundef %11552, i32 noundef %11554) #10
  br label %11556

11556:                                            ; preds = %11539, %11522
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #10
  br label %11557

11557:                                            ; preds = %11556
  br label %11558

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

11559:                                            ; No predecessors!
  br label %11560

11560:                                            ; preds = %11559
  br label %11561

11561:                                            ; preds = %11560, %11501
  br label %11562

11562:                                            ; preds = %11561
  br label %11563

11563:                                            ; preds = %11562
  br label %11564

11564:                                            ; preds = %11563
  br label %11565

11565:                                            ; preds = %11564
  br label %11566

11566:                                            ; preds = %11565
  %11567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11567, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11568 = call ptr @__errno_location() #11
  store i32 0, ptr %11568, align 4, !tbaa !5
  br label %11569

11569:                                            ; preds = %11566
  br label %11570

11570:                                            ; preds = %11569
  br label %11571

11571:                                            ; preds = %11570
  br label %11572

11572:                                            ; preds = %11571
  br label %11573

11573:                                            ; preds = %11572
  %11574 = load i32, ptr @test_count, align 4, !tbaa !5
  %11575 = add nsw i32 %11574, 1
  store i32 %11575, ptr @test_count, align 4, !tbaa !5
  %11576 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef null, i64 noundef -1, i64 noundef 0, ptr noundef %279)
  %11577 = getelementptr inbounds %struct.s2n_result, ptr %288, i32 0, i32 0
  store i32 %11576, ptr %11577, align 4
  %11578 = getelementptr inbounds %struct.s2n_result, ptr %288, i32 0, i32 0
  %11579 = load i32, ptr %11578, align 4
  %11580 = call zeroext i1 @s2n_result_is_ok(i32 %11579)
  br i1 %11580, label %11634, label %11581

11581:                                            ; preds = %11573
  br label %11582

11582:                                            ; preds = %11581
  br label %11583

11583:                                            ; preds = %11582
  call void @llvm.lifetime.start.p0(i64 4, ptr %289) #10
  %11584 = call ptr @__errno_location() #11
  %11585 = load i32, ptr %11584, align 4, !tbaa !5
  store i32 %11585, ptr %289, align 4, !tbaa !5
  %11586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11587 = call i32 @s2n_print_stacktrace(ptr noundef %11586)
  %11588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11589 = trunc i8 %11588 to i1
  br i1 %11589, label %11590, label %11612

11590:                                            ; preds = %11583
  %11591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11592 = call i32 @fileno(ptr noundef %11591) #10
  %11593 = call i32 @isatty(i32 noundef %11592) #10
  %11594 = icmp ne i32 %11593, 0
  br i1 %11594, label %11595, label %11612

11595:                                            ; preds = %11590
  %11596 = load i32, ptr %289, align 4, !tbaa !5
  %11597 = call ptr @__errno_location() #11
  store i32 %11596, ptr %11597, align 4, !tbaa !5
  %11598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11599 = load i32, ptr @test_count, align 4, !tbaa !5
  %11600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11601 = load i32, ptr %11600, align 4, !tbaa !5
  %11602 = call ptr @s2n_strerror(i32 noundef %11601, ptr noundef @.str.3)
  %11603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11604 = load i32, ptr %11603, align 4, !tbaa !5
  %11605 = call ptr @s2n_strerror_debug(i32 noundef %11604, ptr noundef @.str.3)
  %11606 = call ptr @__errno_location() #11
  %11607 = load i32, ptr %11606, align 4, !tbaa !5
  %11608 = call ptr @strerror(i32 noundef %11607) #10
  %11609 = call ptr @__errno_location() #11
  %11610 = load i32, ptr %11609, align 4, !tbaa !5
  %11611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11598, ptr noundef @.str, i32 noundef %11599, ptr noundef @.str.77, ptr noundef @.str.2, i32 noundef 631, ptr noundef %11602, ptr noundef %11605, ptr noundef %11608, i32 noundef %11610) #10
  br label %11629

11612:                                            ; preds = %11590, %11583
  %11613 = load i32, ptr %289, align 4, !tbaa !5
  %11614 = call ptr @__errno_location() #11
  store i32 %11613, ptr %11614, align 4, !tbaa !5
  %11615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11616 = load i32, ptr @test_count, align 4, !tbaa !5
  %11617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11618 = load i32, ptr %11617, align 4, !tbaa !5
  %11619 = call ptr @s2n_strerror(i32 noundef %11618, ptr noundef @.str.3)
  %11620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11621 = load i32, ptr %11620, align 4, !tbaa !5
  %11622 = call ptr @s2n_strerror_debug(i32 noundef %11621, ptr noundef @.str.3)
  %11623 = call ptr @__errno_location() #11
  %11624 = load i32, ptr %11623, align 4, !tbaa !5
  %11625 = call ptr @strerror(i32 noundef %11624) #10
  %11626 = call ptr @__errno_location() #11
  %11627 = load i32, ptr %11626, align 4, !tbaa !5
  %11628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11615, ptr noundef @.str.4, i32 noundef %11616, ptr noundef @.str.77, ptr noundef @.str.2, i32 noundef 631, ptr noundef %11619, ptr noundef %11622, ptr noundef %11625, i32 noundef %11627) #10
  br label %11629

11629:                                            ; preds = %11612, %11595
  call void @llvm.lifetime.end.p0(i64 4, ptr %289) #10
  br label %11630

11630:                                            ; preds = %11629
  br label %11631

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

11632:                                            ; No predecessors!
  br label %11633

11633:                                            ; preds = %11632
  br label %11634

11634:                                            ; preds = %11633, %11573
  br label %11635

11635:                                            ; preds = %11634
  br label %11636

11636:                                            ; preds = %11635
  br label %11637

11637:                                            ; preds = %11636
  %11638 = load i32, ptr @test_count, align 4, !tbaa !5
  %11639 = add nsw i32 %11638, 1
  store i32 %11639, ptr @test_count, align 4, !tbaa !5
  %11640 = load i64, ptr %279, align 8, !tbaa !15
  %11641 = icmp eq i64 %11640, 0
  br i1 %11641, label %11695, label %11642

11642:                                            ; preds = %11637
  br label %11643

11643:                                            ; preds = %11642
  br label %11644

11644:                                            ; preds = %11643
  call void @llvm.lifetime.start.p0(i64 4, ptr %290) #10
  %11645 = call ptr @__errno_location() #11
  %11646 = load i32, ptr %11645, align 4, !tbaa !5
  store i32 %11646, ptr %290, align 4, !tbaa !5
  %11647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11648 = call i32 @s2n_print_stacktrace(ptr noundef %11647)
  %11649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11650 = trunc i8 %11649 to i1
  br i1 %11650, label %11651, label %11673

11651:                                            ; preds = %11644
  %11652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11653 = call i32 @fileno(ptr noundef %11652) #10
  %11654 = call i32 @isatty(i32 noundef %11653) #10
  %11655 = icmp ne i32 %11654, 0
  br i1 %11655, label %11656, label %11673

11656:                                            ; preds = %11651
  %11657 = load i32, ptr %290, align 4, !tbaa !5
  %11658 = call ptr @__errno_location() #11
  store i32 %11657, ptr %11658, align 4, !tbaa !5
  %11659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11660 = load i32, ptr @test_count, align 4, !tbaa !5
  %11661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11662 = load i32, ptr %11661, align 4, !tbaa !5
  %11663 = call ptr @s2n_strerror(i32 noundef %11662, ptr noundef @.str.3)
  %11664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11665 = load i32, ptr %11664, align 4, !tbaa !5
  %11666 = call ptr @s2n_strerror_debug(i32 noundef %11665, ptr noundef @.str.3)
  %11667 = call ptr @__errno_location() #11
  %11668 = load i32, ptr %11667, align 4, !tbaa !5
  %11669 = call ptr @strerror(i32 noundef %11668) #10
  %11670 = call ptr @__errno_location() #11
  %11671 = load i32, ptr %11670, align 4, !tbaa !5
  %11672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11659, ptr noundef @.str, i32 noundef %11660, ptr noundef @.str.78, ptr noundef @.str.2, i32 noundef 632, ptr noundef %11663, ptr noundef %11666, ptr noundef %11669, i32 noundef %11671) #10
  br label %11690

11673:                                            ; preds = %11651, %11644
  %11674 = load i32, ptr %290, align 4, !tbaa !5
  %11675 = call ptr @__errno_location() #11
  store i32 %11674, ptr %11675, align 4, !tbaa !5
  %11676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11677 = load i32, ptr @test_count, align 4, !tbaa !5
  %11678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11679 = load i32, ptr %11678, align 4, !tbaa !5
  %11680 = call ptr @s2n_strerror(i32 noundef %11679, ptr noundef @.str.3)
  %11681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11682 = load i32, ptr %11681, align 4, !tbaa !5
  %11683 = call ptr @s2n_strerror_debug(i32 noundef %11682, ptr noundef @.str.3)
  %11684 = call ptr @__errno_location() #11
  %11685 = load i32, ptr %11684, align 4, !tbaa !5
  %11686 = call ptr @strerror(i32 noundef %11685) #10
  %11687 = call ptr @__errno_location() #11
  %11688 = load i32, ptr %11687, align 4, !tbaa !5
  %11689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11676, ptr noundef @.str.4, i32 noundef %11677, ptr noundef @.str.78, ptr noundef @.str.2, i32 noundef 632, ptr noundef %11680, ptr noundef %11683, ptr noundef %11686, i32 noundef %11688) #10
  br label %11690

11690:                                            ; preds = %11673, %11656
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #10
  br label %11691

11691:                                            ; preds = %11690
  br label %11692

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

11693:                                            ; No predecessors!
  br label %11694

11694:                                            ; preds = %11693
  br label %11695

11695:                                            ; preds = %11694, %11637
  br label %11696

11696:                                            ; preds = %11695
  br label %11697

11697:                                            ; preds = %11696
  br label %11698

11698:                                            ; preds = %11697
  %11699 = load i32, ptr @test_count, align 4, !tbaa !5
  %11700 = add nsw i32 %11699, 1
  store i32 %11700, ptr @test_count, align 4, !tbaa !5
  %11701 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef %278, i64 noundef -1, i64 noundef 0, ptr noundef %279)
  %11702 = getelementptr inbounds %struct.s2n_result, ptr %291, i32 0, i32 0
  store i32 %11701, ptr %11702, align 4
  %11703 = getelementptr inbounds %struct.s2n_result, ptr %291, i32 0, i32 0
  %11704 = load i32, ptr %11703, align 4
  %11705 = call zeroext i1 @s2n_result_is_ok(i32 %11704)
  br i1 %11705, label %11759, label %11706

11706:                                            ; preds = %11698
  br label %11707

11707:                                            ; preds = %11706
  br label %11708

11708:                                            ; preds = %11707
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #10
  %11709 = call ptr @__errno_location() #11
  %11710 = load i32, ptr %11709, align 4, !tbaa !5
  store i32 %11710, ptr %292, align 4, !tbaa !5
  %11711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11712 = call i32 @s2n_print_stacktrace(ptr noundef %11711)
  %11713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11714 = trunc i8 %11713 to i1
  br i1 %11714, label %11715, label %11737

11715:                                            ; preds = %11708
  %11716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11717 = call i32 @fileno(ptr noundef %11716) #10
  %11718 = call i32 @isatty(i32 noundef %11717) #10
  %11719 = icmp ne i32 %11718, 0
  br i1 %11719, label %11720, label %11737

11720:                                            ; preds = %11715
  %11721 = load i32, ptr %292, align 4, !tbaa !5
  %11722 = call ptr @__errno_location() #11
  store i32 %11721, ptr %11722, align 4, !tbaa !5
  %11723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11724 = load i32, ptr @test_count, align 4, !tbaa !5
  %11725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11726 = load i32, ptr %11725, align 4, !tbaa !5
  %11727 = call ptr @s2n_strerror(i32 noundef %11726, ptr noundef @.str.3)
  %11728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11729 = load i32, ptr %11728, align 4, !tbaa !5
  %11730 = call ptr @s2n_strerror_debug(i32 noundef %11729, ptr noundef @.str.3)
  %11731 = call ptr @__errno_location() #11
  %11732 = load i32, ptr %11731, align 4, !tbaa !5
  %11733 = call ptr @strerror(i32 noundef %11732) #10
  %11734 = call ptr @__errno_location() #11
  %11735 = load i32, ptr %11734, align 4, !tbaa !5
  %11736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11723, ptr noundef @.str, i32 noundef %11724, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 633, ptr noundef %11727, ptr noundef %11730, ptr noundef %11733, i32 noundef %11735) #10
  br label %11754

11737:                                            ; preds = %11715, %11708
  %11738 = load i32, ptr %292, align 4, !tbaa !5
  %11739 = call ptr @__errno_location() #11
  store i32 %11738, ptr %11739, align 4, !tbaa !5
  %11740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11741 = load i32, ptr @test_count, align 4, !tbaa !5
  %11742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11743 = load i32, ptr %11742, align 4, !tbaa !5
  %11744 = call ptr @s2n_strerror(i32 noundef %11743, ptr noundef @.str.3)
  %11745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11746 = load i32, ptr %11745, align 4, !tbaa !5
  %11747 = call ptr @s2n_strerror_debug(i32 noundef %11746, ptr noundef @.str.3)
  %11748 = call ptr @__errno_location() #11
  %11749 = load i32, ptr %11748, align 4, !tbaa !5
  %11750 = call ptr @strerror(i32 noundef %11749) #10
  %11751 = call ptr @__errno_location() #11
  %11752 = load i32, ptr %11751, align 4, !tbaa !5
  %11753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11740, ptr noundef @.str.4, i32 noundef %11741, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 633, ptr noundef %11744, ptr noundef %11747, ptr noundef %11750, i32 noundef %11752) #10
  br label %11754

11754:                                            ; preds = %11737, %11720
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #10
  br label %11755

11755:                                            ; preds = %11754
  br label %11756

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

11757:                                            ; No predecessors!
  br label %11758

11758:                                            ; preds = %11757
  br label %11759

11759:                                            ; preds = %11758, %11698
  br label %11760

11760:                                            ; preds = %11759
  br label %11761

11761:                                            ; preds = %11760
  br label %11762

11762:                                            ; preds = %11761
  %11763 = load i32, ptr @test_count, align 4, !tbaa !5
  %11764 = add nsw i32 %11763, 1
  store i32 %11764, ptr @test_count, align 4, !tbaa !5
  %11765 = load i64, ptr %279, align 8, !tbaa !15
  %11766 = icmp eq i64 %11765, 0
  br i1 %11766, label %11820, label %11767

11767:                                            ; preds = %11762
  br label %11768

11768:                                            ; preds = %11767
  br label %11769

11769:                                            ; preds = %11768
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #10
  %11770 = call ptr @__errno_location() #11
  %11771 = load i32, ptr %11770, align 4, !tbaa !5
  store i32 %11771, ptr %293, align 4, !tbaa !5
  %11772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11773 = call i32 @s2n_print_stacktrace(ptr noundef %11772)
  %11774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11775 = trunc i8 %11774 to i1
  br i1 %11775, label %11776, label %11798

11776:                                            ; preds = %11769
  %11777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11778 = call i32 @fileno(ptr noundef %11777) #10
  %11779 = call i32 @isatty(i32 noundef %11778) #10
  %11780 = icmp ne i32 %11779, 0
  br i1 %11780, label %11781, label %11798

11781:                                            ; preds = %11776
  %11782 = load i32, ptr %293, align 4, !tbaa !5
  %11783 = call ptr @__errno_location() #11
  store i32 %11782, ptr %11783, align 4, !tbaa !5
  %11784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11785 = load i32, ptr @test_count, align 4, !tbaa !5
  %11786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11787 = load i32, ptr %11786, align 4, !tbaa !5
  %11788 = call ptr @s2n_strerror(i32 noundef %11787, ptr noundef @.str.3)
  %11789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11790 = load i32, ptr %11789, align 4, !tbaa !5
  %11791 = call ptr @s2n_strerror_debug(i32 noundef %11790, ptr noundef @.str.3)
  %11792 = call ptr @__errno_location() #11
  %11793 = load i32, ptr %11792, align 4, !tbaa !5
  %11794 = call ptr @strerror(i32 noundef %11793) #10
  %11795 = call ptr @__errno_location() #11
  %11796 = load i32, ptr %11795, align 4, !tbaa !5
  %11797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11784, ptr noundef @.str, i32 noundef %11785, ptr noundef @.str.78, ptr noundef @.str.2, i32 noundef 634, ptr noundef %11788, ptr noundef %11791, ptr noundef %11794, i32 noundef %11796) #10
  br label %11815

11798:                                            ; preds = %11776, %11769
  %11799 = load i32, ptr %293, align 4, !tbaa !5
  %11800 = call ptr @__errno_location() #11
  store i32 %11799, ptr %11800, align 4, !tbaa !5
  %11801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11802 = load i32, ptr @test_count, align 4, !tbaa !5
  %11803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11804 = load i32, ptr %11803, align 4, !tbaa !5
  %11805 = call ptr @s2n_strerror(i32 noundef %11804, ptr noundef @.str.3)
  %11806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11807 = load i32, ptr %11806, align 4, !tbaa !5
  %11808 = call ptr @s2n_strerror_debug(i32 noundef %11807, ptr noundef @.str.3)
  %11809 = call ptr @__errno_location() #11
  %11810 = load i32, ptr %11809, align 4, !tbaa !5
  %11811 = call ptr @strerror(i32 noundef %11810) #10
  %11812 = call ptr @__errno_location() #11
  %11813 = load i32, ptr %11812, align 4, !tbaa !5
  %11814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11801, ptr noundef @.str.4, i32 noundef %11802, ptr noundef @.str.78, ptr noundef @.str.2, i32 noundef 634, ptr noundef %11805, ptr noundef %11808, ptr noundef %11811, i32 noundef %11813) #10
  br label %11815

11815:                                            ; preds = %11798, %11781
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #10
  br label %11816

11816:                                            ; preds = %11815
  br label %11817

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

11818:                                            ; No predecessors!
  br label %11819

11819:                                            ; preds = %11818
  br label %11820

11820:                                            ; preds = %11819, %11762
  br label %11821

11821:                                            ; preds = %11820
  br label %11822

11822:                                            ; preds = %11821
  br label %11823

11823:                                            ; preds = %11822
  br label %11824

11824:                                            ; preds = %11823
  br label %11825

11825:                                            ; preds = %11824
  %11826 = load i32, ptr @test_count, align 4, !tbaa !5
  %11827 = add nsw i32 %11826, 1
  store i32 %11827, ptr @test_count, align 4, !tbaa !5
  %11828 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef null, i64 noundef 0, i64 noundef -1, ptr noundef %279)
  %11829 = getelementptr inbounds %struct.s2n_result, ptr %294, i32 0, i32 0
  store i32 %11828, ptr %11829, align 4
  %11830 = getelementptr inbounds %struct.s2n_result, ptr %294, i32 0, i32 0
  %11831 = load i32, ptr %11830, align 4
  %11832 = call zeroext i1 @s2n_result_is_error(i32 %11831)
  br i1 %11832, label %11886, label %11833

11833:                                            ; preds = %11825
  br label %11834

11834:                                            ; preds = %11833
  br label %11835

11835:                                            ; preds = %11834
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #10
  %11836 = call ptr @__errno_location() #11
  %11837 = load i32, ptr %11836, align 4, !tbaa !5
  store i32 %11837, ptr %295, align 4, !tbaa !5
  %11838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11839 = call i32 @s2n_print_stacktrace(ptr noundef %11838)
  %11840 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11841 = trunc i8 %11840 to i1
  br i1 %11841, label %11842, label %11864

11842:                                            ; preds = %11835
  %11843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11844 = call i32 @fileno(ptr noundef %11843) #10
  %11845 = call i32 @isatty(i32 noundef %11844) #10
  %11846 = icmp ne i32 %11845, 0
  br i1 %11846, label %11847, label %11864

11847:                                            ; preds = %11842
  %11848 = load i32, ptr %295, align 4, !tbaa !5
  %11849 = call ptr @__errno_location() #11
  store i32 %11848, ptr %11849, align 4, !tbaa !5
  %11850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11851 = load i32, ptr @test_count, align 4, !tbaa !5
  %11852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11853 = load i32, ptr %11852, align 4, !tbaa !5
  %11854 = call ptr @s2n_strerror(i32 noundef %11853, ptr noundef @.str.3)
  %11855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11856 = load i32, ptr %11855, align 4, !tbaa !5
  %11857 = call ptr @s2n_strerror_debug(i32 noundef %11856, ptr noundef @.str.3)
  %11858 = call ptr @__errno_location() #11
  %11859 = load i32, ptr %11858, align 4, !tbaa !5
  %11860 = call ptr @strerror(i32 noundef %11859) #10
  %11861 = call ptr @__errno_location() #11
  %11862 = load i32, ptr %11861, align 4, !tbaa !5
  %11863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11850, ptr noundef @.str, i32 noundef %11851, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 637, ptr noundef %11854, ptr noundef %11857, ptr noundef %11860, i32 noundef %11862) #10
  br label %11881

11864:                                            ; preds = %11842, %11835
  %11865 = load i32, ptr %295, align 4, !tbaa !5
  %11866 = call ptr @__errno_location() #11
  store i32 %11865, ptr %11866, align 4, !tbaa !5
  %11867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11868 = load i32, ptr @test_count, align 4, !tbaa !5
  %11869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11870 = load i32, ptr %11869, align 4, !tbaa !5
  %11871 = call ptr @s2n_strerror(i32 noundef %11870, ptr noundef @.str.3)
  %11872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11873 = load i32, ptr %11872, align 4, !tbaa !5
  %11874 = call ptr @s2n_strerror_debug(i32 noundef %11873, ptr noundef @.str.3)
  %11875 = call ptr @__errno_location() #11
  %11876 = load i32, ptr %11875, align 4, !tbaa !5
  %11877 = call ptr @strerror(i32 noundef %11876) #10
  %11878 = call ptr @__errno_location() #11
  %11879 = load i32, ptr %11878, align 4, !tbaa !5
  %11880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11867, ptr noundef @.str.4, i32 noundef %11868, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 637, ptr noundef %11871, ptr noundef %11874, ptr noundef %11877, i32 noundef %11879) #10
  br label %11881

11881:                                            ; preds = %11864, %11847
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #10
  br label %11882

11882:                                            ; preds = %11881
  br label %11883

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

11884:                                            ; No predecessors!
  br label %11885

11885:                                            ; preds = %11884
  br label %11886

11886:                                            ; preds = %11885, %11825
  br label %11887

11887:                                            ; preds = %11886
  br label %11888

11888:                                            ; preds = %11887
  br label %11889

11889:                                            ; preds = %11888
  %11890 = load i32, ptr @test_count, align 4, !tbaa !5
  %11891 = add nsw i32 %11890, 1
  store i32 %11891, ptr @test_count, align 4, !tbaa !5
  %11892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11893 = load i32, ptr %11892, align 4, !tbaa !5
  %11894 = icmp eq i32 %11893, 469762089
  br i1 %11894, label %11948, label %11895

11895:                                            ; preds = %11889
  br label %11896

11896:                                            ; preds = %11895
  br label %11897

11897:                                            ; preds = %11896
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #10
  %11898 = call ptr @__errno_location() #11
  %11899 = load i32, ptr %11898, align 4, !tbaa !5
  store i32 %11899, ptr %296, align 4, !tbaa !5
  %11900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11901 = call i32 @s2n_print_stacktrace(ptr noundef %11900)
  %11902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11903 = trunc i8 %11902 to i1
  br i1 %11903, label %11904, label %11926

11904:                                            ; preds = %11897
  %11905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11906 = call i32 @fileno(ptr noundef %11905) #10
  %11907 = call i32 @isatty(i32 noundef %11906) #10
  %11908 = icmp ne i32 %11907, 0
  br i1 %11908, label %11909, label %11926

11909:                                            ; preds = %11904
  %11910 = load i32, ptr %296, align 4, !tbaa !5
  %11911 = call ptr @__errno_location() #11
  store i32 %11910, ptr %11911, align 4, !tbaa !5
  %11912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11913 = load i32, ptr @test_count, align 4, !tbaa !5
  %11914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11915 = load i32, ptr %11914, align 4, !tbaa !5
  %11916 = call ptr @s2n_strerror(i32 noundef %11915, ptr noundef @.str.3)
  %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_debug(i32 noundef %11918, ptr noundef @.str.3)
  %11920 = call ptr @__errno_location() #11
  %11921 = load i32, ptr %11920, align 4, !tbaa !5
  %11922 = call ptr @strerror(i32 noundef %11921) #10
  %11923 = call ptr @__errno_location() #11
  %11924 = load i32, ptr %11923, align 4, !tbaa !5
  %11925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11912, ptr noundef @.str, i32 noundef %11913, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 637, ptr noundef %11916, ptr noundef %11919, ptr noundef %11922, i32 noundef %11924) #10
  br label %11943

11926:                                            ; preds = %11904, %11897
  %11927 = load i32, ptr %296, align 4, !tbaa !5
  %11928 = call ptr @__errno_location() #11
  store i32 %11927, ptr %11928, align 4, !tbaa !5
  %11929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11930 = load i32, ptr @test_count, align 4, !tbaa !5
  %11931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11932 = load i32, ptr %11931, align 4, !tbaa !5
  %11933 = call ptr @s2n_strerror(i32 noundef %11932, ptr noundef @.str.3)
  %11934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11935 = load i32, ptr %11934, align 4, !tbaa !5
  %11936 = call ptr @s2n_strerror_debug(i32 noundef %11935, ptr noundef @.str.3)
  %11937 = call ptr @__errno_location() #11
  %11938 = load i32, ptr %11937, align 4, !tbaa !5
  %11939 = call ptr @strerror(i32 noundef %11938) #10
  %11940 = call ptr @__errno_location() #11
  %11941 = load i32, ptr %11940, align 4, !tbaa !5
  %11942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11929, ptr noundef @.str.4, i32 noundef %11930, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 637, ptr noundef %11933, ptr noundef %11936, ptr noundef %11939, i32 noundef %11941) #10
  br label %11943

11943:                                            ; preds = %11926, %11909
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #10
  br label %11944

11944:                                            ; preds = %11943
  br label %11945

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

11946:                                            ; No predecessors!
  br label %11947

11947:                                            ; preds = %11946
  br label %11948

11948:                                            ; preds = %11947, %11889
  br label %11949

11949:                                            ; preds = %11948
  br label %11950

11950:                                            ; preds = %11949
  br label %11951

11951:                                            ; preds = %11950
  %11952 = load i32, ptr @test_count, align 4, !tbaa !5
  %11953 = add nsw i32 %11952, 1
  store i32 %11953, ptr @test_count, align 4, !tbaa !5
  %11954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11955 = load i32, ptr %11954, align 4, !tbaa !5
  %11956 = call ptr @s2n_strerror_debug(i32 noundef %11955, ptr noundef @.str.3)
  %11957 = icmp eq ptr %11956, null
  br i1 %11957, label %11958, label %12011

11958:                                            ; preds = %11951
  br label %11959

11959:                                            ; preds = %11958
  br label %11960

11960:                                            ; preds = %11959
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #10
  %11961 = call ptr @__errno_location() #11
  %11962 = load i32, ptr %11961, align 4, !tbaa !5
  store i32 %11962, ptr %297, align 4, !tbaa !5
  %11963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11964 = call i32 @s2n_print_stacktrace(ptr noundef %11963)
  %11965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11966 = trunc i8 %11965 to i1
  br i1 %11966, label %11967, label %11989

11967:                                            ; preds = %11960
  %11968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11969 = call i32 @fileno(ptr noundef %11968) #10
  %11970 = call i32 @isatty(i32 noundef %11969) #10
  %11971 = icmp ne i32 %11970, 0
  br i1 %11971, label %11972, label %11989

11972:                                            ; preds = %11967
  %11973 = load i32, ptr %297, align 4, !tbaa !5
  %11974 = call ptr @__errno_location() #11
  store i32 %11973, ptr %11974, align 4, !tbaa !5
  %11975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11976 = load i32, ptr @test_count, align 4, !tbaa !5
  %11977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11978 = load i32, ptr %11977, align 4, !tbaa !5
  %11979 = call ptr @s2n_strerror(i32 noundef %11978, ptr noundef @.str.3)
  %11980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11981 = load i32, ptr %11980, align 4, !tbaa !5
  %11982 = call ptr @s2n_strerror_debug(i32 noundef %11981, ptr noundef @.str.3)
  %11983 = call ptr @__errno_location() #11
  %11984 = load i32, ptr %11983, align 4, !tbaa !5
  %11985 = call ptr @strerror(i32 noundef %11984) #10
  %11986 = call ptr @__errno_location() #11
  %11987 = load i32, ptr %11986, align 4, !tbaa !5
  %11988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11975, ptr noundef @.str, i32 noundef %11976, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 637, ptr noundef %11979, ptr noundef %11982, ptr noundef %11985, i32 noundef %11987) #10
  br label %12006

11989:                                            ; preds = %11967, %11960
  %11990 = load i32, ptr %297, align 4, !tbaa !5
  %11991 = call ptr @__errno_location() #11
  store i32 %11990, ptr %11991, align 4, !tbaa !5
  %11992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11993 = load i32, ptr @test_count, align 4, !tbaa !5
  %11994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11995 = load i32, ptr %11994, align 4, !tbaa !5
  %11996 = call ptr @s2n_strerror(i32 noundef %11995, ptr noundef @.str.3)
  %11997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11998 = load i32, ptr %11997, align 4, !tbaa !5
  %11999 = call ptr @s2n_strerror_debug(i32 noundef %11998, ptr noundef @.str.3)
  %12000 = call ptr @__errno_location() #11
  %12001 = load i32, ptr %12000, align 4, !tbaa !5
  %12002 = call ptr @strerror(i32 noundef %12001) #10
  %12003 = call ptr @__errno_location() #11
  %12004 = load i32, ptr %12003, align 4, !tbaa !5
  %12005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11992, ptr noundef @.str.4, i32 noundef %11993, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 637, ptr noundef %11996, ptr noundef %11999, ptr noundef %12002, i32 noundef %12004) #10
  br label %12006

12006:                                            ; preds = %11989, %11972
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #10
  br label %12007

12007:                                            ; preds = %12006
  br label %12008

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

12009:                                            ; No predecessors!
  br label %12010

12010:                                            ; preds = %12009
  br label %12011

12011:                                            ; preds = %12010, %11951
  br label %12012

12012:                                            ; preds = %12011
  br label %12013

12013:                                            ; preds = %12012
  br label %12014

12014:                                            ; preds = %12013
  br label %12015

12015:                                            ; preds = %12014
  br label %12016

12016:                                            ; preds = %12015
  %12017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12017, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12018 = call ptr @__errno_location() #11
  store i32 0, ptr %12018, align 4, !tbaa !5
  br label %12019

12019:                                            ; preds = %12016
  br label %12020

12020:                                            ; preds = %12019
  br label %12021

12021:                                            ; preds = %12020
  br label %12022

12022:                                            ; preds = %12021
  br label %12023

12023:                                            ; preds = %12022
  br label %12024

12024:                                            ; preds = %12023
  br label %12025

12025:                                            ; preds = %12024
  %12026 = load i32, ptr @test_count, align 4, !tbaa !5
  %12027 = add nsw i32 %12026, 1
  store i32 %12027, ptr @test_count, align 4, !tbaa !5
  %12028 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef %278, i64 noundef 1, i64 noundef -1, ptr noundef %279)
  %12029 = getelementptr inbounds %struct.s2n_result, ptr %298, i32 0, i32 0
  store i32 %12028, ptr %12029, align 4
  %12030 = getelementptr inbounds %struct.s2n_result, ptr %298, i32 0, i32 0
  %12031 = load i32, ptr %12030, align 4
  %12032 = call zeroext i1 @s2n_result_is_error(i32 %12031)
  br i1 %12032, label %12086, label %12033

12033:                                            ; preds = %12025
  br label %12034

12034:                                            ; preds = %12033
  br label %12035

12035:                                            ; preds = %12034
  call void @llvm.lifetime.start.p0(i64 4, ptr %299) #10
  %12036 = call ptr @__errno_location() #11
  %12037 = load i32, ptr %12036, align 4, !tbaa !5
  store i32 %12037, ptr %299, align 4, !tbaa !5
  %12038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12039 = call i32 @s2n_print_stacktrace(ptr noundef %12038)
  %12040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12041 = trunc i8 %12040 to i1
  br i1 %12041, label %12042, label %12064

12042:                                            ; preds = %12035
  %12043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12044 = call i32 @fileno(ptr noundef %12043) #10
  %12045 = call i32 @isatty(i32 noundef %12044) #10
  %12046 = icmp ne i32 %12045, 0
  br i1 %12046, label %12047, label %12064

12047:                                            ; preds = %12042
  %12048 = load i32, ptr %299, align 4, !tbaa !5
  %12049 = call ptr @__errno_location() #11
  store i32 %12048, ptr %12049, align 4, !tbaa !5
  %12050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12051 = load i32, ptr @test_count, align 4, !tbaa !5
  %12052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12053 = load i32, ptr %12052, align 4, !tbaa !5
  %12054 = call ptr @s2n_strerror(i32 noundef %12053, ptr noundef @.str.3)
  %12055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12056 = load i32, ptr %12055, align 4, !tbaa !5
  %12057 = call ptr @s2n_strerror_debug(i32 noundef %12056, ptr noundef @.str.3)
  %12058 = call ptr @__errno_location() #11
  %12059 = load i32, ptr %12058, align 4, !tbaa !5
  %12060 = call ptr @strerror(i32 noundef %12059) #10
  %12061 = call ptr @__errno_location() #11
  %12062 = load i32, ptr %12061, align 4, !tbaa !5
  %12063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12050, ptr noundef @.str, i32 noundef %12051, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 640, ptr noundef %12054, ptr noundef %12057, ptr noundef %12060, i32 noundef %12062) #10
  br label %12081

12064:                                            ; preds = %12042, %12035
  %12065 = load i32, ptr %299, align 4, !tbaa !5
  %12066 = call ptr @__errno_location() #11
  store i32 %12065, ptr %12066, align 4, !tbaa !5
  %12067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12068 = load i32, ptr @test_count, align 4, !tbaa !5
  %12069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12070 = load i32, ptr %12069, align 4, !tbaa !5
  %12071 = call ptr @s2n_strerror(i32 noundef %12070, ptr noundef @.str.3)
  %12072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12073 = load i32, ptr %12072, align 4, !tbaa !5
  %12074 = call ptr @s2n_strerror_debug(i32 noundef %12073, ptr noundef @.str.3)
  %12075 = call ptr @__errno_location() #11
  %12076 = load i32, ptr %12075, align 4, !tbaa !5
  %12077 = call ptr @strerror(i32 noundef %12076) #10
  %12078 = call ptr @__errno_location() #11
  %12079 = load i32, ptr %12078, align 4, !tbaa !5
  %12080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12067, ptr noundef @.str.4, i32 noundef %12068, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 640, ptr noundef %12071, ptr noundef %12074, ptr noundef %12077, i32 noundef %12079) #10
  br label %12081

12081:                                            ; preds = %12064, %12047
  call void @llvm.lifetime.end.p0(i64 4, ptr %299) #10
  br label %12082

12082:                                            ; preds = %12081
  br label %12083

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

12084:                                            ; No predecessors!
  br label %12085

12085:                                            ; preds = %12084
  br label %12086

12086:                                            ; preds = %12085, %12025
  br label %12087

12087:                                            ; preds = %12086
  br label %12088

12088:                                            ; preds = %12087
  br label %12089

12089:                                            ; preds = %12088
  %12090 = load i32, ptr @test_count, align 4, !tbaa !5
  %12091 = add nsw i32 %12090, 1
  store i32 %12091, 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 = icmp eq i32 %12093, 469762089
  br i1 %12094, label %12148, label %12095

12095:                                            ; preds = %12089
  br label %12096

12096:                                            ; preds = %12095
  br label %12097

12097:                                            ; preds = %12096
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #10
  %12098 = call ptr @__errno_location() #11
  %12099 = load i32, ptr %12098, align 4, !tbaa !5
  store i32 %12099, ptr %300, align 4, !tbaa !5
  %12100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12101 = call i32 @s2n_print_stacktrace(ptr noundef %12100)
  %12102 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12103 = trunc i8 %12102 to i1
  br i1 %12103, label %12104, label %12126

12104:                                            ; preds = %12097
  %12105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12106 = call i32 @fileno(ptr noundef %12105) #10
  %12107 = call i32 @isatty(i32 noundef %12106) #10
  %12108 = icmp ne i32 %12107, 0
  br i1 %12108, label %12109, label %12126

12109:                                            ; preds = %12104
  %12110 = load i32, ptr %300, align 4, !tbaa !5
  %12111 = call ptr @__errno_location() #11
  store i32 %12110, ptr %12111, align 4, !tbaa !5
  %12112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12113 = load i32, ptr @test_count, align 4, !tbaa !5
  %12114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12115 = load i32, ptr %12114, align 4, !tbaa !5
  %12116 = call ptr @s2n_strerror(i32 noundef %12115, ptr noundef @.str.3)
  %12117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12118 = load i32, ptr %12117, align 4, !tbaa !5
  %12119 = call ptr @s2n_strerror_debug(i32 noundef %12118, ptr noundef @.str.3)
  %12120 = call ptr @__errno_location() #11
  %12121 = load i32, ptr %12120, align 4, !tbaa !5
  %12122 = call ptr @strerror(i32 noundef %12121) #10
  %12123 = call ptr @__errno_location() #11
  %12124 = load i32, ptr %12123, align 4, !tbaa !5
  %12125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12112, ptr noundef @.str, i32 noundef %12113, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 640, ptr noundef %12116, ptr noundef %12119, ptr noundef %12122, i32 noundef %12124) #10
  br label %12143

12126:                                            ; preds = %12104, %12097
  %12127 = load i32, ptr %300, align 4, !tbaa !5
  %12128 = call ptr @__errno_location() #11
  store i32 %12127, ptr %12128, align 4, !tbaa !5
  %12129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12130 = load i32, ptr @test_count, align 4, !tbaa !5
  %12131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12132 = load i32, ptr %12131, align 4, !tbaa !5
  %12133 = call ptr @s2n_strerror(i32 noundef %12132, ptr noundef @.str.3)
  %12134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12135 = load i32, ptr %12134, align 4, !tbaa !5
  %12136 = call ptr @s2n_strerror_debug(i32 noundef %12135, ptr noundef @.str.3)
  %12137 = call ptr @__errno_location() #11
  %12138 = load i32, ptr %12137, align 4, !tbaa !5
  %12139 = call ptr @strerror(i32 noundef %12138) #10
  %12140 = call ptr @__errno_location() #11
  %12141 = load i32, ptr %12140, align 4, !tbaa !5
  %12142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12129, ptr noundef @.str.4, i32 noundef %12130, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 640, ptr noundef %12133, ptr noundef %12136, ptr noundef %12139, i32 noundef %12141) #10
  br label %12143

12143:                                            ; preds = %12126, %12109
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #10
  br label %12144

12144:                                            ; preds = %12143
  br label %12145

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

12146:                                            ; No predecessors!
  br label %12147

12147:                                            ; preds = %12146
  br label %12148

12148:                                            ; preds = %12147, %12089
  br label %12149

12149:                                            ; preds = %12148
  br label %12150

12150:                                            ; preds = %12149
  br label %12151

12151:                                            ; preds = %12150
  %12152 = load i32, ptr @test_count, align 4, !tbaa !5
  %12153 = add nsw i32 %12152, 1
  store i32 %12153, ptr @test_count, align 4, !tbaa !5
  %12154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12155 = load i32, ptr %12154, align 4, !tbaa !5
  %12156 = call ptr @s2n_strerror_debug(i32 noundef %12155, ptr noundef @.str.3)
  %12157 = icmp eq ptr %12156, null
  br i1 %12157, label %12158, label %12211

12158:                                            ; preds = %12151
  br label %12159

12159:                                            ; preds = %12158
  br label %12160

12160:                                            ; preds = %12159
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #10
  %12161 = call ptr @__errno_location() #11
  %12162 = load i32, ptr %12161, align 4, !tbaa !5
  store i32 %12162, ptr %301, align 4, !tbaa !5
  %12163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12164 = call i32 @s2n_print_stacktrace(ptr noundef %12163)
  %12165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12166 = trunc i8 %12165 to i1
  br i1 %12166, label %12167, label %12189

12167:                                            ; preds = %12160
  %12168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12169 = call i32 @fileno(ptr noundef %12168) #10
  %12170 = call i32 @isatty(i32 noundef %12169) #10
  %12171 = icmp ne i32 %12170, 0
  br i1 %12171, label %12172, label %12189

12172:                                            ; preds = %12167
  %12173 = load i32, ptr %301, align 4, !tbaa !5
  %12174 = call ptr @__errno_location() #11
  store i32 %12173, ptr %12174, align 4, !tbaa !5
  %12175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12176 = load i32, ptr @test_count, align 4, !tbaa !5
  %12177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12178 = load i32, ptr %12177, align 4, !tbaa !5
  %12179 = call ptr @s2n_strerror(i32 noundef %12178, ptr noundef @.str.3)
  %12180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12181 = load i32, ptr %12180, align 4, !tbaa !5
  %12182 = call ptr @s2n_strerror_debug(i32 noundef %12181, ptr noundef @.str.3)
  %12183 = call ptr @__errno_location() #11
  %12184 = load i32, ptr %12183, align 4, !tbaa !5
  %12185 = call ptr @strerror(i32 noundef %12184) #10
  %12186 = call ptr @__errno_location() #11
  %12187 = load i32, ptr %12186, align 4, !tbaa !5
  %12188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12175, ptr noundef @.str, i32 noundef %12176, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 640, ptr noundef %12179, ptr noundef %12182, ptr noundef %12185, i32 noundef %12187) #10
  br label %12206

12189:                                            ; preds = %12167, %12160
  %12190 = load i32, ptr %301, align 4, !tbaa !5
  %12191 = call ptr @__errno_location() #11
  store i32 %12190, ptr %12191, align 4, !tbaa !5
  %12192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12193 = load i32, ptr @test_count, align 4, !tbaa !5
  %12194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12195 = load i32, ptr %12194, align 4, !tbaa !5
  %12196 = call ptr @s2n_strerror(i32 noundef %12195, ptr noundef @.str.3)
  %12197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12198 = load i32, ptr %12197, align 4, !tbaa !5
  %12199 = call ptr @s2n_strerror_debug(i32 noundef %12198, ptr noundef @.str.3)
  %12200 = call ptr @__errno_location() #11
  %12201 = load i32, ptr %12200, align 4, !tbaa !5
  %12202 = call ptr @strerror(i32 noundef %12201) #10
  %12203 = call ptr @__errno_location() #11
  %12204 = load i32, ptr %12203, align 4, !tbaa !5
  %12205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12192, ptr noundef @.str.4, i32 noundef %12193, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 640, ptr noundef %12196, ptr noundef %12199, ptr noundef %12202, i32 noundef %12204) #10
  br label %12206

12206:                                            ; preds = %12189, %12172
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #10
  br label %12207

12207:                                            ; preds = %12206
  br label %12208

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

12209:                                            ; No predecessors!
  br label %12210

12210:                                            ; preds = %12209
  br label %12211

12211:                                            ; preds = %12210, %12151
  br label %12212

12212:                                            ; preds = %12211
  br label %12213

12213:                                            ; preds = %12212
  br label %12214

12214:                                            ; preds = %12213
  br label %12215

12215:                                            ; preds = %12214
  br label %12216

12216:                                            ; preds = %12215
  %12217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12217, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12218 = call ptr @__errno_location() #11
  store i32 0, ptr %12218, align 4, !tbaa !5
  br label %12219

12219:                                            ; preds = %12216
  br label %12220

12220:                                            ; preds = %12219
  br label %12221

12221:                                            ; preds = %12220
  br label %12222

12222:                                            ; preds = %12221
  call void @llvm.lifetime.end.p0(i64 8, ptr %279) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %278) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %302) #10
  store i64 0, ptr %302, align 8, !tbaa !15
  br label %12223

12223:                                            ; preds = %12222
  %12224 = load i32, ptr @test_count, align 4, !tbaa !5
  %12225 = add nsw i32 %12224, 1
  store i32 %12225, ptr @test_count, align 4, !tbaa !5
  %12226 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef null, i64 noundef 0, i64 noundef 0, ptr noundef %302)
  %12227 = getelementptr inbounds %struct.s2n_result, ptr %303, i32 0, i32 0
  store i32 %12226, ptr %12227, align 4
  %12228 = getelementptr inbounds %struct.s2n_result, ptr %303, i32 0, i32 0
  %12229 = load i32, ptr %12228, align 4
  %12230 = call zeroext i1 @s2n_result_is_ok(i32 %12229)
  br i1 %12230, label %12284, label %12231

12231:                                            ; preds = %12223
  br label %12232

12232:                                            ; preds = %12231
  br label %12233

12233:                                            ; preds = %12232
  call void @llvm.lifetime.start.p0(i64 4, ptr %304) #10
  %12234 = call ptr @__errno_location() #11
  %12235 = load i32, ptr %12234, align 4, !tbaa !5
  store i32 %12235, ptr %304, align 4, !tbaa !5
  %12236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12237 = call i32 @s2n_print_stacktrace(ptr noundef %12236)
  %12238 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12239 = trunc i8 %12238 to i1
  br i1 %12239, label %12240, label %12262

12240:                                            ; preds = %12233
  %12241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12242 = call i32 @fileno(ptr noundef %12241) #10
  %12243 = call i32 @isatty(i32 noundef %12242) #10
  %12244 = icmp ne i32 %12243, 0
  br i1 %12244, label %12245, label %12262

12245:                                            ; preds = %12240
  %12246 = load i32, ptr %304, align 4, !tbaa !5
  %12247 = call ptr @__errno_location() #11
  store i32 %12246, ptr %12247, align 4, !tbaa !5
  %12248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12249 = load i32, ptr @test_count, align 4, !tbaa !5
  %12250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12251 = load i32, ptr %12250, align 4, !tbaa !5
  %12252 = call ptr @s2n_strerror(i32 noundef %12251, ptr noundef @.str.3)
  %12253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12254 = load i32, ptr %12253, align 4, !tbaa !5
  %12255 = call ptr @s2n_strerror_debug(i32 noundef %12254, ptr noundef @.str.3)
  %12256 = call ptr @__errno_location() #11
  %12257 = load i32, ptr %12256, align 4, !tbaa !5
  %12258 = call ptr @strerror(i32 noundef %12257) #10
  %12259 = call ptr @__errno_location() #11
  %12260 = load i32, ptr %12259, align 4, !tbaa !5
  %12261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12248, ptr noundef @.str, i32 noundef %12249, ptr noundef @.str.83, ptr noundef @.str.2, i32 noundef 646, ptr noundef %12252, ptr noundef %12255, ptr noundef %12258, i32 noundef %12260) #10
  br label %12279

12262:                                            ; preds = %12240, %12233
  %12263 = load i32, ptr %304, align 4, !tbaa !5
  %12264 = call ptr @__errno_location() #11
  store i32 %12263, ptr %12264, align 4, !tbaa !5
  %12265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12266 = load i32, ptr @test_count, align 4, !tbaa !5
  %12267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12268 = load i32, ptr %12267, align 4, !tbaa !5
  %12269 = call ptr @s2n_strerror(i32 noundef %12268, ptr noundef @.str.3)
  %12270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12271 = load i32, ptr %12270, align 4, !tbaa !5
  %12272 = call ptr @s2n_strerror_debug(i32 noundef %12271, ptr noundef @.str.3)
  %12273 = call ptr @__errno_location() #11
  %12274 = load i32, ptr %12273, align 4, !tbaa !5
  %12275 = call ptr @strerror(i32 noundef %12274) #10
  %12276 = call ptr @__errno_location() #11
  %12277 = load i32, ptr %12276, align 4, !tbaa !5
  %12278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12265, ptr noundef @.str.4, i32 noundef %12266, ptr noundef @.str.83, ptr noundef @.str.2, i32 noundef 646, ptr noundef %12269, ptr noundef %12272, ptr noundef %12275, i32 noundef %12277) #10
  br label %12279

12279:                                            ; preds = %12262, %12245
  call void @llvm.lifetime.end.p0(i64 4, ptr %304) #10
  br label %12280

12280:                                            ; preds = %12279
  br label %12281

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

12282:                                            ; No predecessors!
  br label %12283

12283:                                            ; preds = %12282
  br label %12284

12284:                                            ; preds = %12283, %12223
  br label %12285

12285:                                            ; preds = %12284
  br label %12286

12286:                                            ; preds = %12285
  br label %12287

12287:                                            ; preds = %12286
  %12288 = load i32, ptr @test_count, align 4, !tbaa !5
  %12289 = add nsw i32 %12288, 1
  store i32 %12289, ptr @test_count, align 4, !tbaa !5
  %12290 = load i64, ptr %302, align 8, !tbaa !15
  %12291 = icmp eq i64 %12290, 0
  br i1 %12291, label %12345, label %12292

12292:                                            ; preds = %12287
  br label %12293

12293:                                            ; preds = %12292
  br label %12294

12294:                                            ; preds = %12293
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #10
  %12295 = call ptr @__errno_location() #11
  %12296 = load i32, ptr %12295, align 4, !tbaa !5
  store i32 %12296, ptr %305, align 4, !tbaa !5
  %12297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12298 = call i32 @s2n_print_stacktrace(ptr noundef %12297)
  %12299 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12300 = trunc i8 %12299 to i1
  br i1 %12300, label %12301, label %12323

12301:                                            ; preds = %12294
  %12302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12303 = call i32 @fileno(ptr noundef %12302) #10
  %12304 = call i32 @isatty(i32 noundef %12303) #10
  %12305 = icmp ne i32 %12304, 0
  br i1 %12305, label %12306, label %12323

12306:                                            ; preds = %12301
  %12307 = load i32, ptr %305, align 4, !tbaa !5
  %12308 = call ptr @__errno_location() #11
  store i32 %12307, ptr %12308, align 4, !tbaa !5
  %12309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12310 = load i32, ptr @test_count, align 4, !tbaa !5
  %12311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12312 = load i32, ptr %12311, align 4, !tbaa !5
  %12313 = call ptr @s2n_strerror(i32 noundef %12312, ptr noundef @.str.3)
  %12314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12315 = load i32, ptr %12314, align 4, !tbaa !5
  %12316 = call ptr @s2n_strerror_debug(i32 noundef %12315, ptr noundef @.str.3)
  %12317 = call ptr @__errno_location() #11
  %12318 = load i32, ptr %12317, align 4, !tbaa !5
  %12319 = call ptr @strerror(i32 noundef %12318) #10
  %12320 = call ptr @__errno_location() #11
  %12321 = load i32, ptr %12320, align 4, !tbaa !5
  %12322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12309, ptr noundef @.str, i32 noundef %12310, ptr noundef @.str.78, ptr noundef @.str.2, i32 noundef 647, ptr noundef %12313, ptr noundef %12316, ptr noundef %12319, i32 noundef %12321) #10
  br label %12340

12323:                                            ; preds = %12301, %12294
  %12324 = load i32, ptr %305, align 4, !tbaa !5
  %12325 = call ptr @__errno_location() #11
  store i32 %12324, ptr %12325, align 4, !tbaa !5
  %12326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12327 = load i32, ptr @test_count, align 4, !tbaa !5
  %12328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12329 = load i32, ptr %12328, align 4, !tbaa !5
  %12330 = call ptr @s2n_strerror(i32 noundef %12329, ptr noundef @.str.3)
  %12331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12332 = load i32, ptr %12331, align 4, !tbaa !5
  %12333 = call ptr @s2n_strerror_debug(i32 noundef %12332, ptr noundef @.str.3)
  %12334 = call ptr @__errno_location() #11
  %12335 = load i32, ptr %12334, align 4, !tbaa !5
  %12336 = call ptr @strerror(i32 noundef %12335) #10
  %12337 = call ptr @__errno_location() #11
  %12338 = load i32, ptr %12337, align 4, !tbaa !5
  %12339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12326, ptr noundef @.str.4, i32 noundef %12327, ptr noundef @.str.78, ptr noundef @.str.2, i32 noundef 647, ptr noundef %12330, ptr noundef %12333, ptr noundef %12336, i32 noundef %12338) #10
  br label %12340

12340:                                            ; preds = %12323, %12306
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #10
  br label %12341

12341:                                            ; preds = %12340
  br label %12342

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

12343:                                            ; No predecessors!
  br label %12344

12344:                                            ; preds = %12343
  br label %12345

12345:                                            ; preds = %12344, %12287
  br label %12346

12346:                                            ; preds = %12345
  br label %12347

12347:                                            ; preds = %12346
  call void @llvm.lifetime.end.p0(i64 8, ptr %302) #10
  call void @llvm.lifetime.start.p0(i64 160, ptr %306) #10
  call void @llvm.memset.p0.i64(ptr align 16 %306, i8 0, i64 160, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %307) #10
  store i64 0, ptr %307, align 8, !tbaa !15
  br label %12348

12348:                                            ; preds = %12347
  %12349 = load i32, ptr @test_count, align 4, !tbaa !5
  %12350 = add nsw i32 %12349, 1
  store i32 %12350, ptr @test_count, align 4, !tbaa !5
  %12351 = getelementptr inbounds [10 x %struct.iovec], ptr %306, i64 0, i64 0
  %12352 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef %12351, i64 noundef 10, i64 noundef 0, ptr noundef %307)
  %12353 = getelementptr inbounds %struct.s2n_result, ptr %308, i32 0, i32 0
  store i32 %12352, ptr %12353, align 4
  %12354 = getelementptr inbounds %struct.s2n_result, ptr %308, i32 0, i32 0
  %12355 = load i32, ptr %12354, align 4
  %12356 = call zeroext i1 @s2n_result_is_ok(i32 %12355)
  br i1 %12356, label %12410, label %12357

12357:                                            ; preds = %12348
  br label %12358

12358:                                            ; preds = %12357
  br label %12359

12359:                                            ; preds = %12358
  call void @llvm.lifetime.start.p0(i64 4, ptr %309) #10
  %12360 = call ptr @__errno_location() #11
  %12361 = load i32, ptr %12360, align 4, !tbaa !5
  store i32 %12361, ptr %309, align 4, !tbaa !5
  %12362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12363 = call i32 @s2n_print_stacktrace(ptr noundef %12362)
  %12364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12365 = trunc i8 %12364 to i1
  br i1 %12365, label %12366, label %12388

12366:                                            ; preds = %12359
  %12367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12368 = call i32 @fileno(ptr noundef %12367) #10
  %12369 = call i32 @isatty(i32 noundef %12368) #10
  %12370 = icmp ne i32 %12369, 0
  br i1 %12370, label %12371, label %12388

12371:                                            ; preds = %12366
  %12372 = load i32, ptr %309, align 4, !tbaa !5
  %12373 = call ptr @__errno_location() #11
  store i32 %12372, ptr %12373, align 4, !tbaa !5
  %12374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12375 = load i32, ptr @test_count, align 4, !tbaa !5
  %12376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12377 = load i32, ptr %12376, align 4, !tbaa !5
  %12378 = call ptr @s2n_strerror(i32 noundef %12377, ptr noundef @.str.3)
  %12379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12380 = load i32, ptr %12379, align 4, !tbaa !5
  %12381 = call ptr @s2n_strerror_debug(i32 noundef %12380, ptr noundef @.str.3)
  %12382 = call ptr @__errno_location() #11
  %12383 = load i32, ptr %12382, align 4, !tbaa !5
  %12384 = call ptr @strerror(i32 noundef %12383) #10
  %12385 = call ptr @__errno_location() #11
  %12386 = load i32, ptr %12385, align 4, !tbaa !5
  %12387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12374, ptr noundef @.str, i32 noundef %12375, ptr noundef @.str.84, ptr noundef @.str.2, i32 noundef 655, ptr noundef %12378, ptr noundef %12381, ptr noundef %12384, i32 noundef %12386) #10
  br label %12405

12388:                                            ; preds = %12366, %12359
  %12389 = load i32, ptr %309, align 4, !tbaa !5
  %12390 = call ptr @__errno_location() #11
  store i32 %12389, ptr %12390, align 4, !tbaa !5
  %12391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12392 = load i32, ptr @test_count, align 4, !tbaa !5
  %12393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12394 = load i32, ptr %12393, align 4, !tbaa !5
  %12395 = call ptr @s2n_strerror(i32 noundef %12394, ptr noundef @.str.3)
  %12396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12397 = load i32, ptr %12396, align 4, !tbaa !5
  %12398 = call ptr @s2n_strerror_debug(i32 noundef %12397, ptr noundef @.str.3)
  %12399 = call ptr @__errno_location() #11
  %12400 = load i32, ptr %12399, align 4, !tbaa !5
  %12401 = call ptr @strerror(i32 noundef %12400) #10
  %12402 = call ptr @__errno_location() #11
  %12403 = load i32, ptr %12402, align 4, !tbaa !5
  %12404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12391, ptr noundef @.str.4, i32 noundef %12392, ptr noundef @.str.84, ptr noundef @.str.2, i32 noundef 655, ptr noundef %12395, ptr noundef %12398, ptr noundef %12401, i32 noundef %12403) #10
  br label %12405

12405:                                            ; preds = %12388, %12371
  call void @llvm.lifetime.end.p0(i64 4, ptr %309) #10
  br label %12406

12406:                                            ; preds = %12405
  br label %12407

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

12408:                                            ; No predecessors!
  br label %12409

12409:                                            ; preds = %12408
  br label %12410

12410:                                            ; preds = %12409, %12348
  br label %12411

12411:                                            ; preds = %12410
  br label %12412

12412:                                            ; preds = %12411
  br label %12413

12413:                                            ; preds = %12412
  %12414 = load i32, ptr @test_count, align 4, !tbaa !5
  %12415 = add nsw i32 %12414, 1
  store i32 %12415, ptr @test_count, align 4, !tbaa !5
  %12416 = load i64, ptr %307, align 8, !tbaa !15
  %12417 = icmp eq i64 %12416, 0
  br i1 %12417, label %12471, label %12418

12418:                                            ; preds = %12413
  br label %12419

12419:                                            ; preds = %12418
  br label %12420

12420:                                            ; preds = %12419
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #10
  %12421 = call ptr @__errno_location() #11
  %12422 = load i32, ptr %12421, align 4, !tbaa !5
  store i32 %12422, ptr %310, align 4, !tbaa !5
  %12423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12424 = call i32 @s2n_print_stacktrace(ptr noundef %12423)
  %12425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12426 = trunc i8 %12425 to i1
  br i1 %12426, label %12427, label %12449

12427:                                            ; preds = %12420
  %12428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12429 = call i32 @fileno(ptr noundef %12428) #10
  %12430 = call i32 @isatty(i32 noundef %12429) #10
  %12431 = icmp ne i32 %12430, 0
  br i1 %12431, label %12432, label %12449

12432:                                            ; preds = %12427
  %12433 = load i32, ptr %310, align 4, !tbaa !5
  %12434 = call ptr @__errno_location() #11
  store i32 %12433, ptr %12434, align 4, !tbaa !5
  %12435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12436 = load i32, ptr @test_count, align 4, !tbaa !5
  %12437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12438 = load i32, ptr %12437, align 4, !tbaa !5
  %12439 = call ptr @s2n_strerror(i32 noundef %12438, ptr noundef @.str.3)
  %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_debug(i32 noundef %12441, ptr noundef @.str.3)
  %12443 = call ptr @__errno_location() #11
  %12444 = load i32, ptr %12443, align 4, !tbaa !5
  %12445 = call ptr @strerror(i32 noundef %12444) #10
  %12446 = call ptr @__errno_location() #11
  %12447 = load i32, ptr %12446, align 4, !tbaa !5
  %12448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12435, ptr noundef @.str, i32 noundef %12436, ptr noundef @.str.78, ptr noundef @.str.2, i32 noundef 656, ptr noundef %12439, ptr noundef %12442, ptr noundef %12445, i32 noundef %12447) #10
  br label %12466

12449:                                            ; preds = %12427, %12420
  %12450 = load i32, ptr %310, align 4, !tbaa !5
  %12451 = call ptr @__errno_location() #11
  store i32 %12450, ptr %12451, align 4, !tbaa !5
  %12452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12453 = load i32, ptr @test_count, align 4, !tbaa !5
  %12454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12455 = load i32, ptr %12454, align 4, !tbaa !5
  %12456 = call ptr @s2n_strerror(i32 noundef %12455, ptr noundef @.str.3)
  %12457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12458 = load i32, ptr %12457, align 4, !tbaa !5
  %12459 = call ptr @s2n_strerror_debug(i32 noundef %12458, ptr noundef @.str.3)
  %12460 = call ptr @__errno_location() #11
  %12461 = load i32, ptr %12460, align 4, !tbaa !5
  %12462 = call ptr @strerror(i32 noundef %12461) #10
  %12463 = call ptr @__errno_location() #11
  %12464 = load i32, ptr %12463, align 4, !tbaa !5
  %12465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12452, ptr noundef @.str.4, i32 noundef %12453, ptr noundef @.str.78, ptr noundef @.str.2, i32 noundef 656, ptr noundef %12456, ptr noundef %12459, ptr noundef %12462, i32 noundef %12464) #10
  br label %12466

12466:                                            ; preds = %12449, %12432
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #10
  br label %12467

12467:                                            ; preds = %12466
  br label %12468

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

12469:                                            ; No predecessors!
  br label %12470

12470:                                            ; preds = %12469
  br label %12471

12471:                                            ; preds = %12470, %12413
  br label %12472

12472:                                            ; preds = %12471
  br label %12473

12473:                                            ; preds = %12472
  call void @llvm.lifetime.end.p0(i64 8, ptr %307) #10
  call void @llvm.lifetime.end.p0(i64 160, ptr %306) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %311) #10
  store i64 10, ptr %311, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 16, ptr %312) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %312, ptr align 8 @__const.main.test_buf, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %313) #10
  store i64 0, ptr %313, align 8, !tbaa !15
  br label %12474

12474:                                            ; preds = %12473
  %12475 = load i32, ptr @test_count, align 4, !tbaa !5
  %12476 = add nsw i32 %12475, 1
  store i32 %12476, ptr @test_count, align 4, !tbaa !5
  %12477 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef %312, i64 noundef 1, i64 noundef 0, ptr noundef %313)
  %12478 = getelementptr inbounds %struct.s2n_result, ptr %314, i32 0, i32 0
  store i32 %12477, ptr %12478, align 4
  %12479 = getelementptr inbounds %struct.s2n_result, ptr %314, i32 0, i32 0
  %12480 = load i32, ptr %12479, align 4
  %12481 = call zeroext i1 @s2n_result_is_ok(i32 %12480)
  br i1 %12481, label %12535, label %12482

12482:                                            ; preds = %12474
  br label %12483

12483:                                            ; preds = %12482
  br label %12484

12484:                                            ; preds = %12483
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #10
  %12485 = call ptr @__errno_location() #11
  %12486 = load i32, ptr %12485, align 4, !tbaa !5
  store i32 %12486, ptr %315, align 4, !tbaa !5
  %12487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12488 = call i32 @s2n_print_stacktrace(ptr noundef %12487)
  %12489 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12490 = trunc i8 %12489 to i1
  br i1 %12490, label %12491, label %12513

12491:                                            ; preds = %12484
  %12492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12493 = call i32 @fileno(ptr noundef %12492) #10
  %12494 = call i32 @isatty(i32 noundef %12493) #10
  %12495 = icmp ne i32 %12494, 0
  br i1 %12495, label %12496, label %12513

12496:                                            ; preds = %12491
  %12497 = load i32, ptr %315, align 4, !tbaa !5
  %12498 = call ptr @__errno_location() #11
  store i32 %12497, ptr %12498, align 4, !tbaa !5
  %12499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12500 = load i32, ptr @test_count, align 4, !tbaa !5
  %12501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12502 = load i32, ptr %12501, align 4, !tbaa !5
  %12503 = call ptr @s2n_strerror(i32 noundef %12502, ptr noundef @.str.3)
  %12504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12505 = load i32, ptr %12504, align 4, !tbaa !5
  %12506 = call ptr @s2n_strerror_debug(i32 noundef %12505, ptr noundef @.str.3)
  %12507 = call ptr @__errno_location() #11
  %12508 = load i32, ptr %12507, align 4, !tbaa !5
  %12509 = call ptr @strerror(i32 noundef %12508) #10
  %12510 = call ptr @__errno_location() #11
  %12511 = load i32, ptr %12510, align 4, !tbaa !5
  %12512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12499, ptr noundef @.str, i32 noundef %12500, ptr noundef @.str.85, ptr noundef @.str.2, i32 noundef 664, ptr noundef %12503, ptr noundef %12506, ptr noundef %12509, i32 noundef %12511) #10
  br label %12530

12513:                                            ; preds = %12491, %12484
  %12514 = load i32, ptr %315, align 4, !tbaa !5
  %12515 = call ptr @__errno_location() #11
  store i32 %12514, ptr %12515, align 4, !tbaa !5
  %12516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12517 = load i32, ptr @test_count, align 4, !tbaa !5
  %12518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12519 = load i32, ptr %12518, align 4, !tbaa !5
  %12520 = call ptr @s2n_strerror(i32 noundef %12519, ptr noundef @.str.3)
  %12521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12522 = load i32, ptr %12521, align 4, !tbaa !5
  %12523 = call ptr @s2n_strerror_debug(i32 noundef %12522, ptr noundef @.str.3)
  %12524 = call ptr @__errno_location() #11
  %12525 = load i32, ptr %12524, align 4, !tbaa !5
  %12526 = call ptr @strerror(i32 noundef %12525) #10
  %12527 = call ptr @__errno_location() #11
  %12528 = load i32, ptr %12527, align 4, !tbaa !5
  %12529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12516, ptr noundef @.str.4, i32 noundef %12517, ptr noundef @.str.85, ptr noundef @.str.2, i32 noundef 664, ptr noundef %12520, ptr noundef %12523, ptr noundef %12526, i32 noundef %12528) #10
  br label %12530

12530:                                            ; preds = %12513, %12496
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #10
  br label %12531

12531:                                            ; preds = %12530
  br label %12532

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

12533:                                            ; No predecessors!
  br label %12534

12534:                                            ; preds = %12533
  br label %12535

12535:                                            ; preds = %12534, %12474
  br label %12536

12536:                                            ; preds = %12535
  br label %12537

12537:                                            ; preds = %12536
  br label %12538

12538:                                            ; preds = %12537
  %12539 = load i32, ptr @test_count, align 4, !tbaa !5
  %12540 = add nsw i32 %12539, 1
  store i32 %12540, ptr @test_count, align 4, !tbaa !5
  %12541 = load i64, ptr %313, align 8, !tbaa !15
  %12542 = icmp eq i64 %12541, 10
  br i1 %12542, label %12596, label %12543

12543:                                            ; preds = %12538
  br label %12544

12544:                                            ; preds = %12543
  br label %12545

12545:                                            ; preds = %12544
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #10
  %12546 = call ptr @__errno_location() #11
  %12547 = load i32, ptr %12546, align 4, !tbaa !5
  store i32 %12547, ptr %316, align 4, !tbaa !5
  %12548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12549 = call i32 @s2n_print_stacktrace(ptr noundef %12548)
  %12550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12551 = trunc i8 %12550 to i1
  br i1 %12551, label %12552, label %12574

12552:                                            ; preds = %12545
  %12553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12554 = call i32 @fileno(ptr noundef %12553) #10
  %12555 = call i32 @isatty(i32 noundef %12554) #10
  %12556 = icmp ne i32 %12555, 0
  br i1 %12556, label %12557, label %12574

12557:                                            ; preds = %12552
  %12558 = load i32, ptr %316, align 4, !tbaa !5
  %12559 = call ptr @__errno_location() #11
  store i32 %12558, ptr %12559, align 4, !tbaa !5
  %12560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12561 = load i32, ptr @test_count, align 4, !tbaa !5
  %12562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12563 = load i32, ptr %12562, align 4, !tbaa !5
  %12564 = call ptr @s2n_strerror(i32 noundef %12563, ptr noundef @.str.3)
  %12565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12566 = load i32, ptr %12565, align 4, !tbaa !5
  %12567 = call ptr @s2n_strerror_debug(i32 noundef %12566, ptr noundef @.str.3)
  %12568 = call ptr @__errno_location() #11
  %12569 = load i32, ptr %12568, align 4, !tbaa !5
  %12570 = call ptr @strerror(i32 noundef %12569) #10
  %12571 = call ptr @__errno_location() #11
  %12572 = load i32, ptr %12571, align 4, !tbaa !5
  %12573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12560, ptr noundef @.str, i32 noundef %12561, ptr noundef @.str.86, ptr noundef @.str.2, i32 noundef 665, ptr noundef %12564, ptr noundef %12567, ptr noundef %12570, i32 noundef %12572) #10
  br label %12591

12574:                                            ; preds = %12552, %12545
  %12575 = load i32, ptr %316, align 4, !tbaa !5
  %12576 = call ptr @__errno_location() #11
  store i32 %12575, ptr %12576, align 4, !tbaa !5
  %12577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12578 = load i32, ptr @test_count, align 4, !tbaa !5
  %12579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12580 = load i32, ptr %12579, align 4, !tbaa !5
  %12581 = call ptr @s2n_strerror(i32 noundef %12580, ptr noundef @.str.3)
  %12582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12583 = load i32, ptr %12582, align 4, !tbaa !5
  %12584 = call ptr @s2n_strerror_debug(i32 noundef %12583, ptr noundef @.str.3)
  %12585 = call ptr @__errno_location() #11
  %12586 = load i32, ptr %12585, align 4, !tbaa !5
  %12587 = call ptr @strerror(i32 noundef %12586) #10
  %12588 = call ptr @__errno_location() #11
  %12589 = load i32, ptr %12588, align 4, !tbaa !5
  %12590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12577, ptr noundef @.str.4, i32 noundef %12578, ptr noundef @.str.86, ptr noundef @.str.2, i32 noundef 665, ptr noundef %12581, ptr noundef %12584, ptr noundef %12587, i32 noundef %12589) #10
  br label %12591

12591:                                            ; preds = %12574, %12557
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #10
  br label %12592

12592:                                            ; preds = %12591
  br label %12593

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

12594:                                            ; No predecessors!
  br label %12595

12595:                                            ; preds = %12594
  br label %12596

12596:                                            ; preds = %12595, %12538
  br label %12597

12597:                                            ; preds = %12596
  br label %12598

12598:                                            ; preds = %12597
  call void @llvm.lifetime.end.p0(i64 8, ptr %313) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %312) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %311) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %317) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %317, ptr align 8 @__const.main.test_buf.87, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %318) #10
  store i64 5, ptr %318, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %319) #10
  store i64 0, ptr %319, align 8, !tbaa !15
  br label %12599

12599:                                            ; preds = %12598
  %12600 = load i32, ptr @test_count, align 4, !tbaa !5
  %12601 = add nsw i32 %12600, 1
  store i32 %12601, ptr @test_count, align 4, !tbaa !5
  %12602 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef %317, i64 noundef 1, i64 noundef 5, ptr noundef %319)
  %12603 = getelementptr inbounds %struct.s2n_result, ptr %320, i32 0, i32 0
  store i32 %12602, ptr %12603, align 4
  %12604 = getelementptr inbounds %struct.s2n_result, ptr %320, i32 0, i32 0
  %12605 = load i32, ptr %12604, align 4
  %12606 = call zeroext i1 @s2n_result_is_ok(i32 %12605)
  br i1 %12606, label %12660, label %12607

12607:                                            ; preds = %12599
  br label %12608

12608:                                            ; preds = %12607
  br label %12609

12609:                                            ; preds = %12608
  call void @llvm.lifetime.start.p0(i64 4, ptr %321) #10
  %12610 = call ptr @__errno_location() #11
  %12611 = load i32, ptr %12610, align 4, !tbaa !5
  store i32 %12611, ptr %321, align 4, !tbaa !5
  %12612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12613 = call i32 @s2n_print_stacktrace(ptr noundef %12612)
  %12614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12615 = trunc i8 %12614 to i1
  br i1 %12615, label %12616, label %12638

12616:                                            ; preds = %12609
  %12617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12618 = call i32 @fileno(ptr noundef %12617) #10
  %12619 = call i32 @isatty(i32 noundef %12618) #10
  %12620 = icmp ne i32 %12619, 0
  br i1 %12620, label %12621, label %12638

12621:                                            ; preds = %12616
  %12622 = load i32, ptr %321, align 4, !tbaa !5
  %12623 = call ptr @__errno_location() #11
  store i32 %12622, ptr %12623, align 4, !tbaa !5
  %12624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12625 = load i32, ptr @test_count, align 4, !tbaa !5
  %12626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12627 = load i32, ptr %12626, align 4, !tbaa !5
  %12628 = call ptr @s2n_strerror(i32 noundef %12627, ptr noundef @.str.3)
  %12629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12630 = load i32, ptr %12629, align 4, !tbaa !5
  %12631 = call ptr @s2n_strerror_debug(i32 noundef %12630, ptr noundef @.str.3)
  %12632 = call ptr @__errno_location() #11
  %12633 = load i32, ptr %12632, align 4, !tbaa !5
  %12634 = call ptr @strerror(i32 noundef %12633) #10
  %12635 = call ptr @__errno_location() #11
  %12636 = load i32, ptr %12635, align 4, !tbaa !5
  %12637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12624, ptr noundef @.str, i32 noundef %12625, ptr noundef @.str.88, ptr noundef @.str.2, i32 noundef 673, ptr noundef %12628, ptr noundef %12631, ptr noundef %12634, i32 noundef %12636) #10
  br label %12655

12638:                                            ; preds = %12616, %12609
  %12639 = load i32, ptr %321, align 4, !tbaa !5
  %12640 = call ptr @__errno_location() #11
  store i32 %12639, ptr %12640, align 4, !tbaa !5
  %12641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12642 = load i32, ptr @test_count, align 4, !tbaa !5
  %12643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12644 = load i32, ptr %12643, align 4, !tbaa !5
  %12645 = call ptr @s2n_strerror(i32 noundef %12644, ptr noundef @.str.3)
  %12646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12647 = load i32, ptr %12646, align 4, !tbaa !5
  %12648 = call ptr @s2n_strerror_debug(i32 noundef %12647, ptr noundef @.str.3)
  %12649 = call ptr @__errno_location() #11
  %12650 = load i32, ptr %12649, align 4, !tbaa !5
  %12651 = call ptr @strerror(i32 noundef %12650) #10
  %12652 = call ptr @__errno_location() #11
  %12653 = load i32, ptr %12652, align 4, !tbaa !5
  %12654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12641, ptr noundef @.str.4, i32 noundef %12642, ptr noundef @.str.88, ptr noundef @.str.2, i32 noundef 673, ptr noundef %12645, ptr noundef %12648, ptr noundef %12651, i32 noundef %12653) #10
  br label %12655

12655:                                            ; preds = %12638, %12621
  call void @llvm.lifetime.end.p0(i64 4, ptr %321) #10
  br label %12656

12656:                                            ; preds = %12655
  br label %12657

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

12658:                                            ; No predecessors!
  br label %12659

12659:                                            ; preds = %12658
  br label %12660

12660:                                            ; preds = %12659, %12599
  br label %12661

12661:                                            ; preds = %12660
  br label %12662

12662:                                            ; preds = %12661
  br label %12663

12663:                                            ; preds = %12662
  %12664 = load i32, ptr @test_count, align 4, !tbaa !5
  %12665 = add nsw i32 %12664, 1
  store i32 %12665, ptr @test_count, align 4, !tbaa !5
  %12666 = load i64, ptr %319, align 8, !tbaa !15
  %12667 = icmp eq i64 %12666, 5
  br i1 %12667, label %12721, label %12668

12668:                                            ; preds = %12663
  br label %12669

12669:                                            ; preds = %12668
  br label %12670

12670:                                            ; preds = %12669
  call void @llvm.lifetime.start.p0(i64 4, ptr %322) #10
  %12671 = call ptr @__errno_location() #11
  %12672 = load i32, ptr %12671, align 4, !tbaa !5
  store i32 %12672, ptr %322, align 4, !tbaa !5
  %12673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12674 = call i32 @s2n_print_stacktrace(ptr noundef %12673)
  %12675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12676 = trunc i8 %12675 to i1
  br i1 %12676, label %12677, label %12699

12677:                                            ; preds = %12670
  %12678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12679 = call i32 @fileno(ptr noundef %12678) #10
  %12680 = call i32 @isatty(i32 noundef %12679) #10
  %12681 = icmp ne i32 %12680, 0
  br i1 %12681, label %12682, label %12699

12682:                                            ; preds = %12677
  %12683 = load i32, ptr %322, align 4, !tbaa !5
  %12684 = call ptr @__errno_location() #11
  store i32 %12683, ptr %12684, align 4, !tbaa !5
  %12685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12686 = load i32, ptr @test_count, align 4, !tbaa !5
  %12687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12688 = load i32, ptr %12687, align 4, !tbaa !5
  %12689 = call ptr @s2n_strerror(i32 noundef %12688, ptr noundef @.str.3)
  %12690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12691 = load i32, ptr %12690, align 4, !tbaa !5
  %12692 = call ptr @s2n_strerror_debug(i32 noundef %12691, ptr noundef @.str.3)
  %12693 = call ptr @__errno_location() #11
  %12694 = load i32, ptr %12693, align 4, !tbaa !5
  %12695 = call ptr @strerror(i32 noundef %12694) #10
  %12696 = call ptr @__errno_location() #11
  %12697 = load i32, ptr %12696, align 4, !tbaa !5
  %12698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12685, ptr noundef @.str, i32 noundef %12686, ptr noundef @.str.89, ptr noundef @.str.2, i32 noundef 674, ptr noundef %12689, ptr noundef %12692, ptr noundef %12695, i32 noundef %12697) #10
  br label %12716

12699:                                            ; preds = %12677, %12670
  %12700 = load i32, ptr %322, align 4, !tbaa !5
  %12701 = call ptr @__errno_location() #11
  store i32 %12700, ptr %12701, align 4, !tbaa !5
  %12702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12703 = load i32, ptr @test_count, align 4, !tbaa !5
  %12704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12705 = load i32, ptr %12704, align 4, !tbaa !5
  %12706 = call ptr @s2n_strerror(i32 noundef %12705, ptr noundef @.str.3)
  %12707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12708 = load i32, ptr %12707, align 4, !tbaa !5
  %12709 = call ptr @s2n_strerror_debug(i32 noundef %12708, ptr noundef @.str.3)
  %12710 = call ptr @__errno_location() #11
  %12711 = load i32, ptr %12710, align 4, !tbaa !5
  %12712 = call ptr @strerror(i32 noundef %12711) #10
  %12713 = call ptr @__errno_location() #11
  %12714 = load i32, ptr %12713, align 4, !tbaa !5
  %12715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12702, ptr noundef @.str.4, i32 noundef %12703, ptr noundef @.str.89, ptr noundef @.str.2, i32 noundef 674, ptr noundef %12706, ptr noundef %12709, ptr noundef %12712, i32 noundef %12714) #10
  br label %12716

12716:                                            ; preds = %12699, %12682
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #10
  br label %12717

12717:                                            ; preds = %12716
  br label %12718

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

12719:                                            ; No predecessors!
  br label %12720

12720:                                            ; preds = %12719
  br label %12721

12721:                                            ; preds = %12720, %12663
  br label %12722

12722:                                            ; preds = %12721
  br label %12723

12723:                                            ; preds = %12722
  call void @llvm.lifetime.end.p0(i64 8, ptr %319) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %318) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %317) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %323) #10
  store i64 0, ptr %323, align 8, !tbaa !15
  br label %12724

12724:                                            ; preds = %12723
  %12725 = load i32, ptr @test_count, align 4, !tbaa !5
  %12726 = add nsw i32 %12725, 1
  store i32 %12726, ptr @test_count, align 4, !tbaa !5
  %12727 = getelementptr inbounds [8 x %struct.iovec], ptr %276, i64 0, i64 0
  %12728 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef %12727, i64 noundef 8, i64 noundef 0, ptr noundef %323)
  %12729 = getelementptr inbounds %struct.s2n_result, ptr %324, i32 0, i32 0
  store i32 %12728, ptr %12729, align 4
  %12730 = getelementptr inbounds %struct.s2n_result, ptr %324, i32 0, i32 0
  %12731 = load i32, ptr %12730, align 4
  %12732 = call zeroext i1 @s2n_result_is_ok(i32 %12731)
  br i1 %12732, label %12786, label %12733

12733:                                            ; preds = %12724
  br label %12734

12734:                                            ; preds = %12733
  br label %12735

12735:                                            ; preds = %12734
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #10
  %12736 = call ptr @__errno_location() #11
  %12737 = load i32, ptr %12736, align 4, !tbaa !5
  store i32 %12737, ptr %325, align 4, !tbaa !5
  %12738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12739 = call i32 @s2n_print_stacktrace(ptr noundef %12738)
  %12740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12741 = trunc i8 %12740 to i1
  br i1 %12741, label %12742, label %12764

12742:                                            ; preds = %12735
  %12743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12744 = call i32 @fileno(ptr noundef %12743) #10
  %12745 = call i32 @isatty(i32 noundef %12744) #10
  %12746 = icmp ne i32 %12745, 0
  br i1 %12746, label %12747, label %12764

12747:                                            ; preds = %12742
  %12748 = load i32, ptr %325, align 4, !tbaa !5
  %12749 = call ptr @__errno_location() #11
  store i32 %12748, ptr %12749, align 4, !tbaa !5
  %12750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12751 = load i32, ptr @test_count, align 4, !tbaa !5
  %12752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12753 = load i32, ptr %12752, align 4, !tbaa !5
  %12754 = call ptr @s2n_strerror(i32 noundef %12753, ptr noundef @.str.3)
  %12755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12756 = load i32, ptr %12755, align 4, !tbaa !5
  %12757 = call ptr @s2n_strerror_debug(i32 noundef %12756, ptr noundef @.str.3)
  %12758 = call ptr @__errno_location() #11
  %12759 = load i32, ptr %12758, align 4, !tbaa !5
  %12760 = call ptr @strerror(i32 noundef %12759) #10
  %12761 = call ptr @__errno_location() #11
  %12762 = load i32, ptr %12761, align 4, !tbaa !5
  %12763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12750, ptr noundef @.str, i32 noundef %12751, ptr noundef @.str.90, ptr noundef @.str.2, i32 noundef 681, ptr noundef %12754, ptr noundef %12757, ptr noundef %12760, i32 noundef %12762) #10
  br label %12781

12764:                                            ; preds = %12742, %12735
  %12765 = load i32, ptr %325, align 4, !tbaa !5
  %12766 = call ptr @__errno_location() #11
  store i32 %12765, ptr %12766, align 4, !tbaa !5
  %12767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12768 = load i32, ptr @test_count, align 4, !tbaa !5
  %12769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12770 = load i32, ptr %12769, align 4, !tbaa !5
  %12771 = call ptr @s2n_strerror(i32 noundef %12770, ptr noundef @.str.3)
  %12772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12773 = load i32, ptr %12772, align 4, !tbaa !5
  %12774 = call ptr @s2n_strerror_debug(i32 noundef %12773, ptr noundef @.str.3)
  %12775 = call ptr @__errno_location() #11
  %12776 = load i32, ptr %12775, align 4, !tbaa !5
  %12777 = call ptr @strerror(i32 noundef %12776) #10
  %12778 = call ptr @__errno_location() #11
  %12779 = load i32, ptr %12778, align 4, !tbaa !5
  %12780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12767, ptr noundef @.str.4, i32 noundef %12768, ptr noundef @.str.90, ptr noundef @.str.2, i32 noundef 681, ptr noundef %12771, ptr noundef %12774, ptr noundef %12777, i32 noundef %12779) #10
  br label %12781

12781:                                            ; preds = %12764, %12747
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #10
  br label %12782

12782:                                            ; preds = %12781
  br label %12783

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

12784:                                            ; No predecessors!
  br label %12785

12785:                                            ; preds = %12784
  br label %12786

12786:                                            ; preds = %12785, %12724
  br label %12787

12787:                                            ; preds = %12786
  br label %12788

12788:                                            ; preds = %12787
  br label %12789

12789:                                            ; preds = %12788
  %12790 = load i32, ptr @test_count, align 4, !tbaa !5
  %12791 = add nsw i32 %12790, 1
  store i32 %12791, ptr @test_count, align 4, !tbaa !5
  %12792 = load i64, ptr %323, align 8, !tbaa !15
  %12793 = icmp eq i64 %12792, 20
  br i1 %12793, label %12847, label %12794

12794:                                            ; preds = %12789
  br label %12795

12795:                                            ; preds = %12794
  br label %12796

12796:                                            ; preds = %12795
  call void @llvm.lifetime.start.p0(i64 4, ptr %326) #10
  %12797 = call ptr @__errno_location() #11
  %12798 = load i32, ptr %12797, align 4, !tbaa !5
  store i32 %12798, ptr %326, align 4, !tbaa !5
  %12799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12800 = call i32 @s2n_print_stacktrace(ptr noundef %12799)
  %12801 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12802 = trunc i8 %12801 to i1
  br i1 %12802, label %12803, label %12825

12803:                                            ; preds = %12796
  %12804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12805 = call i32 @fileno(ptr noundef %12804) #10
  %12806 = call i32 @isatty(i32 noundef %12805) #10
  %12807 = icmp ne i32 %12806, 0
  br i1 %12807, label %12808, label %12825

12808:                                            ; preds = %12803
  %12809 = load i32, ptr %326, align 4, !tbaa !5
  %12810 = call ptr @__errno_location() #11
  store i32 %12809, ptr %12810, align 4, !tbaa !5
  %12811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12812 = load i32, ptr @test_count, align 4, !tbaa !5
  %12813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12814 = load i32, ptr %12813, align 4, !tbaa !5
  %12815 = call ptr @s2n_strerror(i32 noundef %12814, ptr noundef @.str.3)
  %12816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12817 = load i32, ptr %12816, align 4, !tbaa !5
  %12818 = call ptr @s2n_strerror_debug(i32 noundef %12817, ptr noundef @.str.3)
  %12819 = call ptr @__errno_location() #11
  %12820 = load i32, ptr %12819, align 4, !tbaa !5
  %12821 = call ptr @strerror(i32 noundef %12820) #10
  %12822 = call ptr @__errno_location() #11
  %12823 = load i32, ptr %12822, align 4, !tbaa !5
  %12824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12811, ptr noundef @.str, i32 noundef %12812, ptr noundef @.str.91, ptr noundef @.str.2, i32 noundef 682, ptr noundef %12815, ptr noundef %12818, ptr noundef %12821, i32 noundef %12823) #10
  br label %12842

12825:                                            ; preds = %12803, %12796
  %12826 = load i32, ptr %326, align 4, !tbaa !5
  %12827 = call ptr @__errno_location() #11
  store i32 %12826, ptr %12827, align 4, !tbaa !5
  %12828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12829 = load i32, ptr @test_count, align 4, !tbaa !5
  %12830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12831 = load i32, ptr %12830, align 4, !tbaa !5
  %12832 = call ptr @s2n_strerror(i32 noundef %12831, ptr noundef @.str.3)
  %12833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12834 = load i32, ptr %12833, align 4, !tbaa !5
  %12835 = call ptr @s2n_strerror_debug(i32 noundef %12834, ptr noundef @.str.3)
  %12836 = call ptr @__errno_location() #11
  %12837 = load i32, ptr %12836, align 4, !tbaa !5
  %12838 = call ptr @strerror(i32 noundef %12837) #10
  %12839 = call ptr @__errno_location() #11
  %12840 = load i32, ptr %12839, align 4, !tbaa !5
  %12841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12828, ptr noundef @.str.4, i32 noundef %12829, ptr noundef @.str.91, ptr noundef @.str.2, i32 noundef 682, ptr noundef %12832, ptr noundef %12835, ptr noundef %12838, i32 noundef %12840) #10
  br label %12842

12842:                                            ; preds = %12825, %12808
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #10
  br label %12843

12843:                                            ; preds = %12842
  br label %12844

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

12845:                                            ; No predecessors!
  br label %12846

12846:                                            ; preds = %12845
  br label %12847

12847:                                            ; preds = %12846, %12789
  br label %12848

12848:                                            ; preds = %12847
  br label %12849

12849:                                            ; preds = %12848
  call void @llvm.lifetime.end.p0(i64 8, ptr %323) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %327) #10
  store i64 10, ptr %327, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %328) #10
  store i64 0, ptr %328, align 8, !tbaa !15
  br label %12850

12850:                                            ; preds = %12849
  %12851 = load i32, ptr @test_count, align 4, !tbaa !5
  %12852 = add nsw i32 %12851, 1
  store i32 %12852, ptr @test_count, align 4, !tbaa !5
  %12853 = getelementptr inbounds [8 x %struct.iovec], ptr %276, i64 0, i64 0
  %12854 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef %12853, i64 noundef 8, i64 noundef 10, ptr noundef %328)
  %12855 = getelementptr inbounds %struct.s2n_result, ptr %329, i32 0, i32 0
  store i32 %12854, ptr %12855, align 4
  %12856 = getelementptr inbounds %struct.s2n_result, ptr %329, i32 0, i32 0
  %12857 = load i32, ptr %12856, align 4
  %12858 = call zeroext i1 @s2n_result_is_ok(i32 %12857)
  br i1 %12858, label %12912, label %12859

12859:                                            ; preds = %12850
  br label %12860

12860:                                            ; preds = %12859
  br label %12861

12861:                                            ; preds = %12860
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #10
  %12862 = call ptr @__errno_location() #11
  %12863 = load i32, ptr %12862, align 4, !tbaa !5
  store i32 %12863, ptr %330, align 4, !tbaa !5
  %12864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12865 = call i32 @s2n_print_stacktrace(ptr noundef %12864)
  %12866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12867 = trunc i8 %12866 to i1
  br i1 %12867, label %12868, label %12890

12868:                                            ; preds = %12861
  %12869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12870 = call i32 @fileno(ptr noundef %12869) #10
  %12871 = call i32 @isatty(i32 noundef %12870) #10
  %12872 = icmp ne i32 %12871, 0
  br i1 %12872, label %12873, label %12890

12873:                                            ; preds = %12868
  %12874 = load i32, ptr %330, align 4, !tbaa !5
  %12875 = call ptr @__errno_location() #11
  store i32 %12874, ptr %12875, align 4, !tbaa !5
  %12876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12877 = load i32, ptr @test_count, align 4, !tbaa !5
  %12878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12879 = load i32, ptr %12878, align 4, !tbaa !5
  %12880 = call ptr @s2n_strerror(i32 noundef %12879, ptr noundef @.str.3)
  %12881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12882 = load i32, ptr %12881, align 4, !tbaa !5
  %12883 = call ptr @s2n_strerror_debug(i32 noundef %12882, ptr noundef @.str.3)
  %12884 = call ptr @__errno_location() #11
  %12885 = load i32, ptr %12884, align 4, !tbaa !5
  %12886 = call ptr @strerror(i32 noundef %12885) #10
  %12887 = call ptr @__errno_location() #11
  %12888 = load i32, ptr %12887, align 4, !tbaa !5
  %12889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12876, ptr noundef @.str, i32 noundef %12877, ptr noundef @.str.92, ptr noundef @.str.2, i32 noundef 690, ptr noundef %12880, ptr noundef %12883, ptr noundef %12886, i32 noundef %12888) #10
  br label %12907

12890:                                            ; preds = %12868, %12861
  %12891 = load i32, ptr %330, align 4, !tbaa !5
  %12892 = call ptr @__errno_location() #11
  store i32 %12891, ptr %12892, align 4, !tbaa !5
  %12893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12894 = load i32, ptr @test_count, align 4, !tbaa !5
  %12895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12896 = load i32, ptr %12895, align 4, !tbaa !5
  %12897 = call ptr @s2n_strerror(i32 noundef %12896, ptr noundef @.str.3)
  %12898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12899 = load i32, ptr %12898, align 4, !tbaa !5
  %12900 = call ptr @s2n_strerror_debug(i32 noundef %12899, ptr noundef @.str.3)
  %12901 = call ptr @__errno_location() #11
  %12902 = load i32, ptr %12901, align 4, !tbaa !5
  %12903 = call ptr @strerror(i32 noundef %12902) #10
  %12904 = call ptr @__errno_location() #11
  %12905 = load i32, ptr %12904, align 4, !tbaa !5
  %12906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12893, ptr noundef @.str.4, i32 noundef %12894, ptr noundef @.str.92, ptr noundef @.str.2, i32 noundef 690, ptr noundef %12897, ptr noundef %12900, ptr noundef %12903, i32 noundef %12905) #10
  br label %12907

12907:                                            ; preds = %12890, %12873
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #10
  br label %12908

12908:                                            ; preds = %12907
  br label %12909

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

12910:                                            ; No predecessors!
  br label %12911

12911:                                            ; preds = %12910
  br label %12912

12912:                                            ; preds = %12911, %12850
  br label %12913

12913:                                            ; preds = %12912
  br label %12914

12914:                                            ; preds = %12913
  br label %12915

12915:                                            ; preds = %12914
  %12916 = load i32, ptr @test_count, align 4, !tbaa !5
  %12917 = add nsw i32 %12916, 1
  store i32 %12917, ptr @test_count, align 4, !tbaa !5
  %12918 = load i64, ptr %328, align 8, !tbaa !15
  %12919 = icmp eq i64 %12918, 10
  br i1 %12919, label %12973, label %12920

12920:                                            ; preds = %12915
  br label %12921

12921:                                            ; preds = %12920
  br label %12922

12922:                                            ; preds = %12921
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #10
  %12923 = call ptr @__errno_location() #11
  %12924 = load i32, ptr %12923, align 4, !tbaa !5
  store i32 %12924, ptr %331, align 4, !tbaa !5
  %12925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12926 = call i32 @s2n_print_stacktrace(ptr noundef %12925)
  %12927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12928 = trunc i8 %12927 to i1
  br i1 %12928, label %12929, label %12951

12929:                                            ; preds = %12922
  %12930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12931 = call i32 @fileno(ptr noundef %12930) #10
  %12932 = call i32 @isatty(i32 noundef %12931) #10
  %12933 = icmp ne i32 %12932, 0
  br i1 %12933, label %12934, label %12951

12934:                                            ; preds = %12929
  %12935 = load i32, ptr %331, align 4, !tbaa !5
  %12936 = call ptr @__errno_location() #11
  store i32 %12935, ptr %12936, align 4, !tbaa !5
  %12937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12938 = load i32, ptr @test_count, align 4, !tbaa !5
  %12939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12940 = load i32, ptr %12939, align 4, !tbaa !5
  %12941 = call ptr @s2n_strerror(i32 noundef %12940, ptr noundef @.str.3)
  %12942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12943 = load i32, ptr %12942, align 4, !tbaa !5
  %12944 = call ptr @s2n_strerror_debug(i32 noundef %12943, ptr noundef @.str.3)
  %12945 = call ptr @__errno_location() #11
  %12946 = load i32, ptr %12945, align 4, !tbaa !5
  %12947 = call ptr @strerror(i32 noundef %12946) #10
  %12948 = call ptr @__errno_location() #11
  %12949 = load i32, ptr %12948, align 4, !tbaa !5
  %12950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12937, ptr noundef @.str, i32 noundef %12938, ptr noundef @.str.93, ptr noundef @.str.2, i32 noundef 691, ptr noundef %12941, ptr noundef %12944, ptr noundef %12947, i32 noundef %12949) #10
  br label %12968

12951:                                            ; preds = %12929, %12922
  %12952 = load i32, ptr %331, align 4, !tbaa !5
  %12953 = call ptr @__errno_location() #11
  store i32 %12952, ptr %12953, align 4, !tbaa !5
  %12954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12955 = load i32, ptr @test_count, align 4, !tbaa !5
  %12956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12957 = load i32, ptr %12956, align 4, !tbaa !5
  %12958 = call ptr @s2n_strerror(i32 noundef %12957, ptr noundef @.str.3)
  %12959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12960 = load i32, ptr %12959, align 4, !tbaa !5
  %12961 = call ptr @s2n_strerror_debug(i32 noundef %12960, ptr noundef @.str.3)
  %12962 = call ptr @__errno_location() #11
  %12963 = load i32, ptr %12962, align 4, !tbaa !5
  %12964 = call ptr @strerror(i32 noundef %12963) #10
  %12965 = call ptr @__errno_location() #11
  %12966 = load i32, ptr %12965, align 4, !tbaa !5
  %12967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12954, ptr noundef @.str.4, i32 noundef %12955, ptr noundef @.str.93, ptr noundef @.str.2, i32 noundef 691, ptr noundef %12958, ptr noundef %12961, ptr noundef %12964, i32 noundef %12966) #10
  br label %12968

12968:                                            ; preds = %12951, %12934
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #10
  br label %12969

12969:                                            ; preds = %12968
  br label %12970

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

12971:                                            ; No predecessors!
  br label %12972

12972:                                            ; preds = %12971
  br label %12973

12973:                                            ; preds = %12972, %12915
  br label %12974

12974:                                            ; preds = %12973
  br label %12975

12975:                                            ; preds = %12974
  call void @llvm.lifetime.end.p0(i64 8, ptr %328) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %327) #10
  call void @llvm.lifetime.start.p0(i64 160, ptr %332) #10
  call void @llvm.memset.p0.i64(ptr align 16 %332, i8 0, i64 160, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %333) #10
  store i64 0, ptr %333, align 8, !tbaa !15
  br label %12976

12976:                                            ; preds = %12975
  br label %12977

12977:                                            ; preds = %12976
  br label %12978

12978:                                            ; preds = %12977
  %12979 = load i32, ptr @test_count, align 4, !tbaa !5
  %12980 = add nsw i32 %12979, 1
  store i32 %12980, ptr @test_count, align 4, !tbaa !5
  %12981 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef null, i64 noundef 0, i64 noundef 1, ptr noundef %333)
  %12982 = getelementptr inbounds %struct.s2n_result, ptr %334, i32 0, i32 0
  store i32 %12981, ptr %12982, align 4
  %12983 = getelementptr inbounds %struct.s2n_result, ptr %334, i32 0, i32 0
  %12984 = load i32, ptr %12983, align 4
  %12985 = call zeroext i1 @s2n_result_is_error(i32 %12984)
  br i1 %12985, label %13039, label %12986

12986:                                            ; preds = %12978
  br label %12987

12987:                                            ; preds = %12986
  br label %12988

12988:                                            ; preds = %12987
  call void @llvm.lifetime.start.p0(i64 4, ptr %335) #10
  %12989 = call ptr @__errno_location() #11
  %12990 = load i32, ptr %12989, align 4, !tbaa !5
  store i32 %12990, ptr %335, align 4, !tbaa !5
  %12991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12992 = call i32 @s2n_print_stacktrace(ptr noundef %12991)
  %12993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12994 = trunc i8 %12993 to i1
  br i1 %12994, label %12995, label %13017

12995:                                            ; preds = %12988
  %12996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12997 = call i32 @fileno(ptr noundef %12996) #10
  %12998 = call i32 @isatty(i32 noundef %12997) #10
  %12999 = icmp ne i32 %12998, 0
  br i1 %12999, label %13000, label %13017

13000:                                            ; preds = %12995
  %13001 = load i32, ptr %335, align 4, !tbaa !5
  %13002 = call ptr @__errno_location() #11
  store i32 %13001, ptr %13002, align 4, !tbaa !5
  %13003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13004 = load i32, ptr @test_count, align 4, !tbaa !5
  %13005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13006 = load i32, ptr %13005, align 4, !tbaa !5
  %13007 = call ptr @s2n_strerror(i32 noundef %13006, ptr noundef @.str.3)
  %13008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13009 = load i32, ptr %13008, align 4, !tbaa !5
  %13010 = call ptr @s2n_strerror_debug(i32 noundef %13009, ptr noundef @.str.3)
  %13011 = call ptr @__errno_location() #11
  %13012 = load i32, ptr %13011, align 4, !tbaa !5
  %13013 = call ptr @strerror(i32 noundef %13012) #10
  %13014 = call ptr @__errno_location() #11
  %13015 = load i32, ptr %13014, align 4, !tbaa !5
  %13016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13003, ptr noundef @.str, i32 noundef %13004, ptr noundef @.str.94, ptr noundef @.str.2, i32 noundef 700, ptr noundef %13007, ptr noundef %13010, ptr noundef %13013, i32 noundef %13015) #10
  br label %13034

13017:                                            ; preds = %12995, %12988
  %13018 = load i32, ptr %335, align 4, !tbaa !5
  %13019 = call ptr @__errno_location() #11
  store i32 %13018, ptr %13019, align 4, !tbaa !5
  %13020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13021 = load i32, ptr @test_count, align 4, !tbaa !5
  %13022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13023 = load i32, ptr %13022, align 4, !tbaa !5
  %13024 = call ptr @s2n_strerror(i32 noundef %13023, ptr noundef @.str.3)
  %13025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13026 = load i32, ptr %13025, align 4, !tbaa !5
  %13027 = call ptr @s2n_strerror_debug(i32 noundef %13026, ptr noundef @.str.3)
  %13028 = call ptr @__errno_location() #11
  %13029 = load i32, ptr %13028, align 4, !tbaa !5
  %13030 = call ptr @strerror(i32 noundef %13029) #10
  %13031 = call ptr @__errno_location() #11
  %13032 = load i32, ptr %13031, align 4, !tbaa !5
  %13033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13020, ptr noundef @.str.4, i32 noundef %13021, ptr noundef @.str.94, ptr noundef @.str.2, i32 noundef 700, ptr noundef %13024, ptr noundef %13027, ptr noundef %13030, i32 noundef %13032) #10
  br label %13034

13034:                                            ; preds = %13017, %13000
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #10
  br label %13035

13035:                                            ; preds = %13034
  br label %13036

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

13037:                                            ; No predecessors!
  br label %13038

13038:                                            ; preds = %13037
  br label %13039

13039:                                            ; preds = %13038, %12978
  br label %13040

13040:                                            ; preds = %13039
  br label %13041

13041:                                            ; preds = %13040
  br label %13042

13042:                                            ; preds = %13041
  %13043 = load i32, ptr @test_count, align 4, !tbaa !5
  %13044 = add nsw i32 %13043, 1
  store i32 %13044, ptr @test_count, align 4, !tbaa !5
  %13045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13046 = load i32, ptr %13045, align 4, !tbaa !5
  %13047 = icmp eq i32 %13046, 469762089
  br i1 %13047, label %13101, label %13048

13048:                                            ; preds = %13042
  br label %13049

13049:                                            ; preds = %13048
  br label %13050

13050:                                            ; preds = %13049
  call void @llvm.lifetime.start.p0(i64 4, ptr %336) #10
  %13051 = call ptr @__errno_location() #11
  %13052 = load i32, ptr %13051, align 4, !tbaa !5
  store i32 %13052, ptr %336, align 4, !tbaa !5
  %13053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13054 = call i32 @s2n_print_stacktrace(ptr noundef %13053)
  %13055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13056 = trunc i8 %13055 to i1
  br i1 %13056, label %13057, label %13079

13057:                                            ; preds = %13050
  %13058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13059 = call i32 @fileno(ptr noundef %13058) #10
  %13060 = call i32 @isatty(i32 noundef %13059) #10
  %13061 = icmp ne i32 %13060, 0
  br i1 %13061, label %13062, label %13079

13062:                                            ; preds = %13057
  %13063 = load i32, ptr %336, align 4, !tbaa !5
  %13064 = call ptr @__errno_location() #11
  store i32 %13063, ptr %13064, align 4, !tbaa !5
  %13065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13066 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %13068, ptr noundef @.str.3)
  %13070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13071 = load i32, ptr %13070, align 4, !tbaa !5
  %13072 = call ptr @s2n_strerror_debug(i32 noundef %13071, ptr noundef @.str.3)
  %13073 = call ptr @__errno_location() #11
  %13074 = load i32, ptr %13073, align 4, !tbaa !5
  %13075 = call ptr @strerror(i32 noundef %13074) #10
  %13076 = call ptr @__errno_location() #11
  %13077 = load i32, ptr %13076, align 4, !tbaa !5
  %13078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13065, ptr noundef @.str, i32 noundef %13066, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 700, ptr noundef %13069, ptr noundef %13072, ptr noundef %13075, i32 noundef %13077) #10
  br label %13096

13079:                                            ; preds = %13057, %13050
  %13080 = load i32, ptr %336, align 4, !tbaa !5
  %13081 = call ptr @__errno_location() #11
  store i32 %13080, ptr %13081, align 4, !tbaa !5
  %13082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13083 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %13085, ptr noundef @.str.3)
  %13087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13088 = load i32, ptr %13087, align 4, !tbaa !5
  %13089 = call ptr @s2n_strerror_debug(i32 noundef %13088, ptr noundef @.str.3)
  %13090 = call ptr @__errno_location() #11
  %13091 = load i32, ptr %13090, align 4, !tbaa !5
  %13092 = call ptr @strerror(i32 noundef %13091) #10
  %13093 = call ptr @__errno_location() #11
  %13094 = load i32, ptr %13093, align 4, !tbaa !5
  %13095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13082, ptr noundef @.str.4, i32 noundef %13083, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 700, ptr noundef %13086, ptr noundef %13089, ptr noundef %13092, i32 noundef %13094) #10
  br label %13096

13096:                                            ; preds = %13079, %13062
  call void @llvm.lifetime.end.p0(i64 4, ptr %336) #10
  br label %13097

13097:                                            ; preds = %13096
  br label %13098

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

13099:                                            ; No predecessors!
  br label %13100

13100:                                            ; preds = %13099
  br label %13101

13101:                                            ; preds = %13100, %13042
  br label %13102

13102:                                            ; preds = %13101
  br label %13103

13103:                                            ; preds = %13102
  br label %13104

13104:                                            ; preds = %13103
  %13105 = load i32, ptr @test_count, align 4, !tbaa !5
  %13106 = add nsw i32 %13105, 1
  store i32 %13106, ptr @test_count, align 4, !tbaa !5
  %13107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13108 = load i32, ptr %13107, align 4, !tbaa !5
  %13109 = call ptr @s2n_strerror_debug(i32 noundef %13108, ptr noundef @.str.3)
  %13110 = icmp eq ptr %13109, null
  br i1 %13110, label %13111, label %13164

13111:                                            ; preds = %13104
  br label %13112

13112:                                            ; preds = %13111
  br label %13113

13113:                                            ; preds = %13112
  call void @llvm.lifetime.start.p0(i64 4, ptr %337) #10
  %13114 = call ptr @__errno_location() #11
  %13115 = load i32, ptr %13114, align 4, !tbaa !5
  store i32 %13115, ptr %337, align 4, !tbaa !5
  %13116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13117 = call i32 @s2n_print_stacktrace(ptr noundef %13116)
  %13118 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13119 = trunc i8 %13118 to i1
  br i1 %13119, label %13120, label %13142

13120:                                            ; preds = %13113
  %13121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13122 = call i32 @fileno(ptr noundef %13121) #10
  %13123 = call i32 @isatty(i32 noundef %13122) #10
  %13124 = icmp ne i32 %13123, 0
  br i1 %13124, label %13125, label %13142

13125:                                            ; preds = %13120
  %13126 = load i32, ptr %337, align 4, !tbaa !5
  %13127 = call ptr @__errno_location() #11
  store i32 %13126, ptr %13127, align 4, !tbaa !5
  %13128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13129 = load i32, ptr @test_count, align 4, !tbaa !5
  %13130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13131 = load i32, ptr %13130, align 4, !tbaa !5
  %13132 = call ptr @s2n_strerror(i32 noundef %13131, ptr noundef @.str.3)
  %13133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13134 = load i32, ptr %13133, align 4, !tbaa !5
  %13135 = call ptr @s2n_strerror_debug(i32 noundef %13134, ptr noundef @.str.3)
  %13136 = call ptr @__errno_location() #11
  %13137 = load i32, ptr %13136, align 4, !tbaa !5
  %13138 = call ptr @strerror(i32 noundef %13137) #10
  %13139 = call ptr @__errno_location() #11
  %13140 = load i32, ptr %13139, align 4, !tbaa !5
  %13141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13128, ptr noundef @.str, i32 noundef %13129, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 700, ptr noundef %13132, ptr noundef %13135, ptr noundef %13138, i32 noundef %13140) #10
  br label %13159

13142:                                            ; preds = %13120, %13113
  %13143 = load i32, ptr %337, align 4, !tbaa !5
  %13144 = call ptr @__errno_location() #11
  store i32 %13143, ptr %13144, align 4, !tbaa !5
  %13145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13146 = load i32, ptr @test_count, align 4, !tbaa !5
  %13147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13148 = load i32, ptr %13147, align 4, !tbaa !5
  %13149 = call ptr @s2n_strerror(i32 noundef %13148, ptr noundef @.str.3)
  %13150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13151 = load i32, ptr %13150, align 4, !tbaa !5
  %13152 = call ptr @s2n_strerror_debug(i32 noundef %13151, ptr noundef @.str.3)
  %13153 = call ptr @__errno_location() #11
  %13154 = load i32, ptr %13153, align 4, !tbaa !5
  %13155 = call ptr @strerror(i32 noundef %13154) #10
  %13156 = call ptr @__errno_location() #11
  %13157 = load i32, ptr %13156, align 4, !tbaa !5
  %13158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13145, ptr noundef @.str.4, i32 noundef %13146, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 700, ptr noundef %13149, ptr noundef %13152, ptr noundef %13155, i32 noundef %13157) #10
  br label %13159

13159:                                            ; preds = %13142, %13125
  call void @llvm.lifetime.end.p0(i64 4, ptr %337) #10
  br label %13160

13160:                                            ; preds = %13159
  br label %13161

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

13162:                                            ; No predecessors!
  br label %13163

13163:                                            ; preds = %13162
  br label %13164

13164:                                            ; preds = %13163, %13104
  br label %13165

13165:                                            ; preds = %13164
  br label %13166

13166:                                            ; preds = %13165
  br label %13167

13167:                                            ; preds = %13166
  br label %13168

13168:                                            ; preds = %13167
  br label %13169

13169:                                            ; preds = %13168
  %13170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13170, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13171 = call ptr @__errno_location() #11
  store i32 0, ptr %13171, align 4, !tbaa !5
  br label %13172

13172:                                            ; preds = %13169
  br label %13173

13173:                                            ; preds = %13172
  br label %13174

13174:                                            ; preds = %13173
  br label %13175

13175:                                            ; preds = %13174
  br label %13176

13176:                                            ; preds = %13175
  br label %13177

13177:                                            ; preds = %13176
  br label %13178

13178:                                            ; preds = %13177
  %13179 = load i32, ptr @test_count, align 4, !tbaa !5
  %13180 = add nsw i32 %13179, 1
  store i32 %13180, ptr @test_count, align 4, !tbaa !5
  %13181 = getelementptr inbounds [10 x %struct.iovec], ptr %332, i64 0, i64 0
  %13182 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef %13181, i64 noundef 0, i64 noundef 1, ptr noundef %333)
  %13183 = getelementptr inbounds %struct.s2n_result, ptr %338, i32 0, i32 0
  store i32 %13182, ptr %13183, align 4
  %13184 = getelementptr inbounds %struct.s2n_result, ptr %338, i32 0, i32 0
  %13185 = load i32, ptr %13184, align 4
  %13186 = call zeroext i1 @s2n_result_is_error(i32 %13185)
  br i1 %13186, label %13240, label %13187

13187:                                            ; preds = %13178
  br label %13188

13188:                                            ; preds = %13187
  br label %13189

13189:                                            ; preds = %13188
  call void @llvm.lifetime.start.p0(i64 4, ptr %339) #10
  %13190 = call ptr @__errno_location() #11
  %13191 = load i32, ptr %13190, align 4, !tbaa !5
  store i32 %13191, ptr %339, align 4, !tbaa !5
  %13192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13193 = call i32 @s2n_print_stacktrace(ptr noundef %13192)
  %13194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13195 = trunc i8 %13194 to i1
  br i1 %13195, label %13196, label %13218

13196:                                            ; preds = %13189
  %13197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13198 = call i32 @fileno(ptr noundef %13197) #10
  %13199 = call i32 @isatty(i32 noundef %13198) #10
  %13200 = icmp ne i32 %13199, 0
  br i1 %13200, label %13201, label %13218

13201:                                            ; preds = %13196
  %13202 = load i32, ptr %339, 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.3)
  %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.3)
  %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, i32 noundef %13205, ptr noundef @.str.95, ptr noundef @.str.2, i32 noundef 703, ptr noundef %13208, ptr noundef %13211, ptr noundef %13214, i32 noundef %13216) #10
  br label %13235

13218:                                            ; preds = %13196, %13189
  %13219 = load i32, ptr %339, align 4, !tbaa !5
  %13220 = call ptr @__errno_location() #11
  store i32 %13219, ptr %13220, align 4, !tbaa !5
  %13221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13222 = load i32, ptr @test_count, align 4, !tbaa !5
  %13223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13224 = load i32, ptr %13223, align 4, !tbaa !5
  %13225 = call ptr @s2n_strerror(i32 noundef %13224, ptr noundef @.str.3)
  %13226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13227 = load i32, ptr %13226, align 4, !tbaa !5
  %13228 = call ptr @s2n_strerror_debug(i32 noundef %13227, ptr noundef @.str.3)
  %13229 = call ptr @__errno_location() #11
  %13230 = load i32, ptr %13229, align 4, !tbaa !5
  %13231 = call ptr @strerror(i32 noundef %13230) #10
  %13232 = call ptr @__errno_location() #11
  %13233 = load i32, ptr %13232, align 4, !tbaa !5
  %13234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13221, ptr noundef @.str.4, i32 noundef %13222, ptr noundef @.str.95, ptr noundef @.str.2, i32 noundef 703, ptr noundef %13225, ptr noundef %13228, ptr noundef %13231, i32 noundef %13233) #10
  br label %13235

13235:                                            ; preds = %13218, %13201
  call void @llvm.lifetime.end.p0(i64 4, ptr %339) #10
  br label %13236

13236:                                            ; preds = %13235
  br label %13237

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

13238:                                            ; No predecessors!
  br label %13239

13239:                                            ; preds = %13238
  br label %13240

13240:                                            ; preds = %13239, %13178
  br label %13241

13241:                                            ; preds = %13240
  br label %13242

13242:                                            ; preds = %13241
  br label %13243

13243:                                            ; preds = %13242
  %13244 = load i32, ptr @test_count, align 4, !tbaa !5
  %13245 = add nsw i32 %13244, 1
  store i32 %13245, ptr @test_count, align 4, !tbaa !5
  %13246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13247 = load i32, ptr %13246, align 4, !tbaa !5
  %13248 = icmp eq i32 %13247, 469762089
  br i1 %13248, label %13302, label %13249

13249:                                            ; preds = %13243
  br label %13250

13250:                                            ; preds = %13249
  br label %13251

13251:                                            ; preds = %13250
  call void @llvm.lifetime.start.p0(i64 4, ptr %340) #10
  %13252 = call ptr @__errno_location() #11
  %13253 = load i32, ptr %13252, align 4, !tbaa !5
  store i32 %13253, ptr %340, align 4, !tbaa !5
  %13254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13255 = call i32 @s2n_print_stacktrace(ptr noundef %13254)
  %13256 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13257 = trunc i8 %13256 to i1
  br i1 %13257, label %13258, label %13280

13258:                                            ; preds = %13251
  %13259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13260 = call i32 @fileno(ptr noundef %13259) #10
  %13261 = call i32 @isatty(i32 noundef %13260) #10
  %13262 = icmp ne i32 %13261, 0
  br i1 %13262, label %13263, label %13280

13263:                                            ; preds = %13258
  %13264 = load i32, ptr %340, align 4, !tbaa !5
  %13265 = call ptr @__errno_location() #11
  store i32 %13264, ptr %13265, align 4, !tbaa !5
  %13266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13267 = load i32, ptr @test_count, align 4, !tbaa !5
  %13268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13269 = load i32, ptr %13268, align 4, !tbaa !5
  %13270 = call ptr @s2n_strerror(i32 noundef %13269, ptr noundef @.str.3)
  %13271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13272 = load i32, ptr %13271, align 4, !tbaa !5
  %13273 = call ptr @s2n_strerror_debug(i32 noundef %13272, ptr noundef @.str.3)
  %13274 = call ptr @__errno_location() #11
  %13275 = load i32, ptr %13274, align 4, !tbaa !5
  %13276 = call ptr @strerror(i32 noundef %13275) #10
  %13277 = call ptr @__errno_location() #11
  %13278 = load i32, ptr %13277, align 4, !tbaa !5
  %13279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13266, ptr noundef @.str, i32 noundef %13267, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 703, ptr noundef %13270, ptr noundef %13273, ptr noundef %13276, i32 noundef %13278) #10
  br label %13297

13280:                                            ; preds = %13258, %13251
  %13281 = load i32, ptr %340, align 4, !tbaa !5
  %13282 = call ptr @__errno_location() #11
  store i32 %13281, ptr %13282, align 4, !tbaa !5
  %13283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13284 = load i32, ptr @test_count, align 4, !tbaa !5
  %13285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13286 = load i32, ptr %13285, align 4, !tbaa !5
  %13287 = call ptr @s2n_strerror(i32 noundef %13286, ptr noundef @.str.3)
  %13288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13289 = load i32, ptr %13288, align 4, !tbaa !5
  %13290 = call ptr @s2n_strerror_debug(i32 noundef %13289, ptr noundef @.str.3)
  %13291 = call ptr @__errno_location() #11
  %13292 = load i32, ptr %13291, align 4, !tbaa !5
  %13293 = call ptr @strerror(i32 noundef %13292) #10
  %13294 = call ptr @__errno_location() #11
  %13295 = load i32, ptr %13294, align 4, !tbaa !5
  %13296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13283, ptr noundef @.str.4, i32 noundef %13284, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 703, ptr noundef %13287, ptr noundef %13290, ptr noundef %13293, i32 noundef %13295) #10
  br label %13297

13297:                                            ; preds = %13280, %13263
  call void @llvm.lifetime.end.p0(i64 4, ptr %340) #10
  br label %13298

13298:                                            ; preds = %13297
  br label %13299

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

13300:                                            ; No predecessors!
  br label %13301

13301:                                            ; preds = %13300
  br label %13302

13302:                                            ; preds = %13301, %13243
  br label %13303

13303:                                            ; preds = %13302
  br label %13304

13304:                                            ; preds = %13303
  br label %13305

13305:                                            ; preds = %13304
  %13306 = load i32, ptr @test_count, align 4, !tbaa !5
  %13307 = add nsw i32 %13306, 1
  store i32 %13307, ptr @test_count, align 4, !tbaa !5
  %13308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13309 = load i32, ptr %13308, align 4, !tbaa !5
  %13310 = call ptr @s2n_strerror_debug(i32 noundef %13309, ptr noundef @.str.3)
  %13311 = icmp eq ptr %13310, null
  br i1 %13311, label %13312, label %13365

13312:                                            ; preds = %13305
  br label %13313

13313:                                            ; preds = %13312
  br label %13314

13314:                                            ; preds = %13313
  call void @llvm.lifetime.start.p0(i64 4, ptr %341) #10
  %13315 = call ptr @__errno_location() #11
  %13316 = load i32, ptr %13315, align 4, !tbaa !5
  store i32 %13316, ptr %341, align 4, !tbaa !5
  %13317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13318 = call i32 @s2n_print_stacktrace(ptr noundef %13317)
  %13319 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13320 = trunc i8 %13319 to i1
  br i1 %13320, label %13321, label %13343

13321:                                            ; preds = %13314
  %13322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13323 = call i32 @fileno(ptr noundef %13322) #10
  %13324 = call i32 @isatty(i32 noundef %13323) #10
  %13325 = icmp ne i32 %13324, 0
  br i1 %13325, label %13326, label %13343

13326:                                            ; preds = %13321
  %13327 = load i32, ptr %341, align 4, !tbaa !5
  %13328 = call ptr @__errno_location() #11
  store i32 %13327, ptr %13328, align 4, !tbaa !5
  %13329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13330 = load i32, ptr @test_count, align 4, !tbaa !5
  %13331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13332 = load i32, ptr %13331, align 4, !tbaa !5
  %13333 = call ptr @s2n_strerror(i32 noundef %13332, ptr noundef @.str.3)
  %13334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13335 = load i32, ptr %13334, align 4, !tbaa !5
  %13336 = call ptr @s2n_strerror_debug(i32 noundef %13335, ptr noundef @.str.3)
  %13337 = call ptr @__errno_location() #11
  %13338 = load i32, ptr %13337, align 4, !tbaa !5
  %13339 = call ptr @strerror(i32 noundef %13338) #10
  %13340 = call ptr @__errno_location() #11
  %13341 = load i32, ptr %13340, align 4, !tbaa !5
  %13342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13329, ptr noundef @.str, i32 noundef %13330, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 703, ptr noundef %13333, ptr noundef %13336, ptr noundef %13339, i32 noundef %13341) #10
  br label %13360

13343:                                            ; preds = %13321, %13314
  %13344 = load i32, ptr %341, align 4, !tbaa !5
  %13345 = call ptr @__errno_location() #11
  store i32 %13344, ptr %13345, align 4, !tbaa !5
  %13346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13347 = load i32, ptr @test_count, align 4, !tbaa !5
  %13348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13349 = load i32, ptr %13348, align 4, !tbaa !5
  %13350 = call ptr @s2n_strerror(i32 noundef %13349, ptr noundef @.str.3)
  %13351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13352 = load i32, ptr %13351, align 4, !tbaa !5
  %13353 = call ptr @s2n_strerror_debug(i32 noundef %13352, ptr noundef @.str.3)
  %13354 = call ptr @__errno_location() #11
  %13355 = load i32, ptr %13354, align 4, !tbaa !5
  %13356 = call ptr @strerror(i32 noundef %13355) #10
  %13357 = call ptr @__errno_location() #11
  %13358 = load i32, ptr %13357, align 4, !tbaa !5
  %13359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13346, ptr noundef @.str.4, i32 noundef %13347, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 703, ptr noundef %13350, ptr noundef %13353, ptr noundef %13356, i32 noundef %13358) #10
  br label %13360

13360:                                            ; preds = %13343, %13326
  call void @llvm.lifetime.end.p0(i64 4, ptr %341) #10
  br label %13361

13361:                                            ; preds = %13360
  br label %13362

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

13363:                                            ; No predecessors!
  br label %13364

13364:                                            ; preds = %13363
  br label %13365

13365:                                            ; preds = %13364, %13305
  br label %13366

13366:                                            ; preds = %13365
  br label %13367

13367:                                            ; preds = %13366
  br label %13368

13368:                                            ; preds = %13367
  br label %13369

13369:                                            ; preds = %13368
  br label %13370

13370:                                            ; preds = %13369
  %13371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13371, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13372 = call ptr @__errno_location() #11
  store i32 0, ptr %13372, align 4, !tbaa !5
  br label %13373

13373:                                            ; preds = %13370
  br label %13374

13374:                                            ; preds = %13373
  br label %13375

13375:                                            ; preds = %13374
  br label %13376

13376:                                            ; preds = %13375
  br label %13377

13377:                                            ; preds = %13376
  br label %13378

13378:                                            ; preds = %13377
  br label %13379

13379:                                            ; preds = %13378
  %13380 = load i32, ptr @test_count, align 4, !tbaa !5
  %13381 = add nsw i32 %13380, 1
  store i32 %13381, ptr @test_count, align 4, !tbaa !5
  %13382 = getelementptr inbounds [10 x %struct.iovec], ptr %332, i64 0, i64 0
  %13383 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef %13382, i64 noundef 10, i64 noundef 1, ptr noundef %333)
  %13384 = getelementptr inbounds %struct.s2n_result, ptr %342, i32 0, i32 0
  store i32 %13383, ptr %13384, align 4
  %13385 = getelementptr inbounds %struct.s2n_result, ptr %342, i32 0, i32 0
  %13386 = load i32, ptr %13385, align 4
  %13387 = call zeroext i1 @s2n_result_is_error(i32 %13386)
  br i1 %13387, label %13441, label %13388

13388:                                            ; preds = %13379
  br label %13389

13389:                                            ; preds = %13388
  br label %13390

13390:                                            ; preds = %13389
  call void @llvm.lifetime.start.p0(i64 4, ptr %343) #10
  %13391 = call ptr @__errno_location() #11
  %13392 = load i32, ptr %13391, align 4, !tbaa !5
  store i32 %13392, ptr %343, align 4, !tbaa !5
  %13393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13394 = call i32 @s2n_print_stacktrace(ptr noundef %13393)
  %13395 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13396 = trunc i8 %13395 to i1
  br i1 %13396, label %13397, label %13419

13397:                                            ; preds = %13390
  %13398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13399 = call i32 @fileno(ptr noundef %13398) #10
  %13400 = call i32 @isatty(i32 noundef %13399) #10
  %13401 = icmp ne i32 %13400, 0
  br i1 %13401, label %13402, label %13419

13402:                                            ; preds = %13397
  %13403 = load i32, ptr %343, align 4, !tbaa !5
  %13404 = call ptr @__errno_location() #11
  store i32 %13403, ptr %13404, align 4, !tbaa !5
  %13405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13406 = load i32, ptr @test_count, align 4, !tbaa !5
  %13407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13408 = load i32, ptr %13407, align 4, !tbaa !5
  %13409 = call ptr @s2n_strerror(i32 noundef %13408, ptr noundef @.str.3)
  %13410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13411 = load i32, ptr %13410, align 4, !tbaa !5
  %13412 = call ptr @s2n_strerror_debug(i32 noundef %13411, ptr noundef @.str.3)
  %13413 = call ptr @__errno_location() #11
  %13414 = load i32, ptr %13413, align 4, !tbaa !5
  %13415 = call ptr @strerror(i32 noundef %13414) #10
  %13416 = call ptr @__errno_location() #11
  %13417 = load i32, ptr %13416, align 4, !tbaa !5
  %13418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13405, ptr noundef @.str, i32 noundef %13406, ptr noundef @.str.96, ptr noundef @.str.2, i32 noundef 706, ptr noundef %13409, ptr noundef %13412, ptr noundef %13415, i32 noundef %13417) #10
  br label %13436

13419:                                            ; preds = %13397, %13390
  %13420 = load i32, ptr %343, align 4, !tbaa !5
  %13421 = call ptr @__errno_location() #11
  store i32 %13420, ptr %13421, align 4, !tbaa !5
  %13422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13423 = load i32, ptr @test_count, align 4, !tbaa !5
  %13424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13425 = load i32, ptr %13424, align 4, !tbaa !5
  %13426 = call ptr @s2n_strerror(i32 noundef %13425, ptr noundef @.str.3)
  %13427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13428 = load i32, ptr %13427, align 4, !tbaa !5
  %13429 = call ptr @s2n_strerror_debug(i32 noundef %13428, ptr noundef @.str.3)
  %13430 = call ptr @__errno_location() #11
  %13431 = load i32, ptr %13430, align 4, !tbaa !5
  %13432 = call ptr @strerror(i32 noundef %13431) #10
  %13433 = call ptr @__errno_location() #11
  %13434 = load i32, ptr %13433, align 4, !tbaa !5
  %13435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13422, ptr noundef @.str.4, i32 noundef %13423, ptr noundef @.str.96, ptr noundef @.str.2, i32 noundef 706, ptr noundef %13426, ptr noundef %13429, ptr noundef %13432, i32 noundef %13434) #10
  br label %13436

13436:                                            ; preds = %13419, %13402
  call void @llvm.lifetime.end.p0(i64 4, ptr %343) #10
  br label %13437

13437:                                            ; preds = %13436
  br label %13438

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

13439:                                            ; No predecessors!
  br label %13440

13440:                                            ; preds = %13439
  br label %13441

13441:                                            ; preds = %13440, %13379
  br label %13442

13442:                                            ; preds = %13441
  br label %13443

13443:                                            ; preds = %13442
  br label %13444

13444:                                            ; preds = %13443
  %13445 = load i32, ptr @test_count, align 4, !tbaa !5
  %13446 = add nsw i32 %13445, 1
  store i32 %13446, ptr @test_count, align 4, !tbaa !5
  %13447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13448 = load i32, ptr %13447, align 4, !tbaa !5
  %13449 = icmp eq i32 %13448, 469762089
  br i1 %13449, label %13503, label %13450

13450:                                            ; preds = %13444
  br label %13451

13451:                                            ; preds = %13450
  br label %13452

13452:                                            ; preds = %13451
  call void @llvm.lifetime.start.p0(i64 4, ptr %344) #10
  %13453 = call ptr @__errno_location() #11
  %13454 = load i32, ptr %13453, align 4, !tbaa !5
  store i32 %13454, ptr %344, align 4, !tbaa !5
  %13455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13456 = call i32 @s2n_print_stacktrace(ptr noundef %13455)
  %13457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13458 = trunc i8 %13457 to i1
  br i1 %13458, label %13459, label %13481

13459:                                            ; preds = %13452
  %13460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13461 = call i32 @fileno(ptr noundef %13460) #10
  %13462 = call i32 @isatty(i32 noundef %13461) #10
  %13463 = icmp ne i32 %13462, 0
  br i1 %13463, label %13464, label %13481

13464:                                            ; preds = %13459
  %13465 = load i32, ptr %344, align 4, !tbaa !5
  %13466 = call ptr @__errno_location() #11
  store i32 %13465, ptr %13466, align 4, !tbaa !5
  %13467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13468 = load i32, ptr @test_count, align 4, !tbaa !5
  %13469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13470 = load i32, ptr %13469, align 4, !tbaa !5
  %13471 = call ptr @s2n_strerror(i32 noundef %13470, ptr noundef @.str.3)
  %13472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13473 = load i32, ptr %13472, align 4, !tbaa !5
  %13474 = call ptr @s2n_strerror_debug(i32 noundef %13473, ptr noundef @.str.3)
  %13475 = call ptr @__errno_location() #11
  %13476 = load i32, ptr %13475, align 4, !tbaa !5
  %13477 = call ptr @strerror(i32 noundef %13476) #10
  %13478 = call ptr @__errno_location() #11
  %13479 = load i32, ptr %13478, align 4, !tbaa !5
  %13480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13467, ptr noundef @.str, i32 noundef %13468, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 706, ptr noundef %13471, ptr noundef %13474, ptr noundef %13477, i32 noundef %13479) #10
  br label %13498

13481:                                            ; preds = %13459, %13452
  %13482 = load i32, ptr %344, align 4, !tbaa !5
  %13483 = call ptr @__errno_location() #11
  store i32 %13482, ptr %13483, align 4, !tbaa !5
  %13484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13485 = load i32, ptr @test_count, align 4, !tbaa !5
  %13486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13487 = load i32, ptr %13486, align 4, !tbaa !5
  %13488 = call ptr @s2n_strerror(i32 noundef %13487, ptr noundef @.str.3)
  %13489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13490 = load i32, ptr %13489, align 4, !tbaa !5
  %13491 = call ptr @s2n_strerror_debug(i32 noundef %13490, ptr noundef @.str.3)
  %13492 = call ptr @__errno_location() #11
  %13493 = load i32, ptr %13492, align 4, !tbaa !5
  %13494 = call ptr @strerror(i32 noundef %13493) #10
  %13495 = call ptr @__errno_location() #11
  %13496 = load i32, ptr %13495, align 4, !tbaa !5
  %13497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13484, ptr noundef @.str.4, i32 noundef %13485, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 706, ptr noundef %13488, ptr noundef %13491, ptr noundef %13494, i32 noundef %13496) #10
  br label %13498

13498:                                            ; preds = %13481, %13464
  call void @llvm.lifetime.end.p0(i64 4, ptr %344) #10
  br label %13499

13499:                                            ; preds = %13498
  br label %13500

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

13501:                                            ; No predecessors!
  br label %13502

13502:                                            ; preds = %13501
  br label %13503

13503:                                            ; preds = %13502, %13444
  br label %13504

13504:                                            ; preds = %13503
  br label %13505

13505:                                            ; preds = %13504
  br label %13506

13506:                                            ; preds = %13505
  %13507 = load i32, ptr @test_count, align 4, !tbaa !5
  %13508 = add nsw i32 %13507, 1
  store i32 %13508, ptr @test_count, align 4, !tbaa !5
  %13509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13510 = load i32, ptr %13509, align 4, !tbaa !5
  %13511 = call ptr @s2n_strerror_debug(i32 noundef %13510, ptr noundef @.str.3)
  %13512 = icmp eq ptr %13511, null
  br i1 %13512, label %13513, label %13566

13513:                                            ; preds = %13506
  br label %13514

13514:                                            ; preds = %13513
  br label %13515

13515:                                            ; preds = %13514
  call void @llvm.lifetime.start.p0(i64 4, ptr %345) #10
  %13516 = call ptr @__errno_location() #11
  %13517 = load i32, ptr %13516, align 4, !tbaa !5
  store i32 %13517, ptr %345, align 4, !tbaa !5
  %13518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13519 = call i32 @s2n_print_stacktrace(ptr noundef %13518)
  %13520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13521 = trunc i8 %13520 to i1
  br i1 %13521, label %13522, label %13544

13522:                                            ; preds = %13515
  %13523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13524 = call i32 @fileno(ptr noundef %13523) #10
  %13525 = call i32 @isatty(i32 noundef %13524) #10
  %13526 = icmp ne i32 %13525, 0
  br i1 %13526, label %13527, label %13544

13527:                                            ; preds = %13522
  %13528 = load i32, ptr %345, align 4, !tbaa !5
  %13529 = call ptr @__errno_location() #11
  store i32 %13528, ptr %13529, align 4, !tbaa !5
  %13530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13531 = load i32, ptr @test_count, align 4, !tbaa !5
  %13532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13533 = load i32, ptr %13532, align 4, !tbaa !5
  %13534 = call ptr @s2n_strerror(i32 noundef %13533, ptr noundef @.str.3)
  %13535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13536 = load i32, ptr %13535, align 4, !tbaa !5
  %13537 = call ptr @s2n_strerror_debug(i32 noundef %13536, ptr noundef @.str.3)
  %13538 = call ptr @__errno_location() #11
  %13539 = load i32, ptr %13538, align 4, !tbaa !5
  %13540 = call ptr @strerror(i32 noundef %13539) #10
  %13541 = call ptr @__errno_location() #11
  %13542 = load i32, ptr %13541, align 4, !tbaa !5
  %13543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13530, ptr noundef @.str, i32 noundef %13531, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 706, ptr noundef %13534, ptr noundef %13537, ptr noundef %13540, i32 noundef %13542) #10
  br label %13561

13544:                                            ; preds = %13522, %13515
  %13545 = load i32, ptr %345, align 4, !tbaa !5
  %13546 = call ptr @__errno_location() #11
  store i32 %13545, ptr %13546, align 4, !tbaa !5
  %13547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13548 = load i32, ptr @test_count, align 4, !tbaa !5
  %13549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13550 = load i32, ptr %13549, align 4, !tbaa !5
  %13551 = call ptr @s2n_strerror(i32 noundef %13550, ptr noundef @.str.3)
  %13552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13553 = load i32, ptr %13552, align 4, !tbaa !5
  %13554 = call ptr @s2n_strerror_debug(i32 noundef %13553, ptr noundef @.str.3)
  %13555 = call ptr @__errno_location() #11
  %13556 = load i32, ptr %13555, align 4, !tbaa !5
  %13557 = call ptr @strerror(i32 noundef %13556) #10
  %13558 = call ptr @__errno_location() #11
  %13559 = load i32, ptr %13558, align 4, !tbaa !5
  %13560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13547, ptr noundef @.str.4, i32 noundef %13548, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 706, ptr noundef %13551, ptr noundef %13554, ptr noundef %13557, i32 noundef %13559) #10
  br label %13561

13561:                                            ; preds = %13544, %13527
  call void @llvm.lifetime.end.p0(i64 4, ptr %345) #10
  br label %13562

13562:                                            ; preds = %13561
  br label %13563

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

13564:                                            ; No predecessors!
  br label %13565

13565:                                            ; preds = %13564
  br label %13566

13566:                                            ; preds = %13565, %13506
  br label %13567

13567:                                            ; preds = %13566
  br label %13568

13568:                                            ; preds = %13567
  br label %13569

13569:                                            ; preds = %13568
  br label %13570

13570:                                            ; preds = %13569
  br label %13571

13571:                                            ; preds = %13570
  %13572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13572, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13573 = call ptr @__errno_location() #11
  store i32 0, ptr %13573, align 4, !tbaa !5
  br label %13574

13574:                                            ; preds = %13571
  br label %13575

13575:                                            ; preds = %13574
  br label %13576

13576:                                            ; preds = %13575
  br label %13577

13577:                                            ; preds = %13576
  call void @llvm.lifetime.end.p0(i64 8, ptr %333) #10
  call void @llvm.lifetime.end.p0(i64 160, ptr %332) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %346) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %346, ptr align 8 @__const.main.test_buf.97, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %347) #10
  store i64 0, ptr %347, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %348) #10
  store i64 11, ptr %348, align 8, !tbaa !15
  br label %13578

13578:                                            ; preds = %13577
  br label %13579

13579:                                            ; preds = %13578
  br label %13580

13580:                                            ; preds = %13579
  %13581 = load i32, ptr @test_count, align 4, !tbaa !5
  %13582 = add nsw i32 %13581, 1
  store i32 %13582, ptr @test_count, align 4, !tbaa !5
  %13583 = load i64, ptr %348, align 8, !tbaa !15
  %13584 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef %346, i64 noundef 1, i64 noundef %13583, ptr noundef %347)
  %13585 = getelementptr inbounds %struct.s2n_result, ptr %349, i32 0, i32 0
  store i32 %13584, ptr %13585, align 4
  %13586 = getelementptr inbounds %struct.s2n_result, ptr %349, i32 0, i32 0
  %13587 = load i32, ptr %13586, align 4
  %13588 = call zeroext i1 @s2n_result_is_error(i32 %13587)
  br i1 %13588, label %13642, label %13589

13589:                                            ; preds = %13580
  br label %13590

13590:                                            ; preds = %13589
  br label %13591

13591:                                            ; preds = %13590
  call void @llvm.lifetime.start.p0(i64 4, ptr %350) #10
  %13592 = call ptr @__errno_location() #11
  %13593 = load i32, ptr %13592, align 4, !tbaa !5
  store i32 %13593, ptr %350, align 4, !tbaa !5
  %13594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13595 = call i32 @s2n_print_stacktrace(ptr noundef %13594)
  %13596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13597 = trunc i8 %13596 to i1
  br i1 %13597, label %13598, label %13620

13598:                                            ; preds = %13591
  %13599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13600 = call i32 @fileno(ptr noundef %13599) #10
  %13601 = call i32 @isatty(i32 noundef %13600) #10
  %13602 = icmp ne i32 %13601, 0
  br i1 %13602, label %13603, label %13620

13603:                                            ; preds = %13598
  %13604 = load i32, ptr %350, align 4, !tbaa !5
  %13605 = call ptr @__errno_location() #11
  store i32 %13604, ptr %13605, align 4, !tbaa !5
  %13606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13607 = load i32, ptr @test_count, align 4, !tbaa !5
  %13608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13609 = load i32, ptr %13608, align 4, !tbaa !5
  %13610 = call ptr @s2n_strerror(i32 noundef %13609, ptr noundef @.str.3)
  %13611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13612 = load i32, ptr %13611, align 4, !tbaa !5
  %13613 = call ptr @s2n_strerror_debug(i32 noundef %13612, ptr noundef @.str.3)
  %13614 = call ptr @__errno_location() #11
  %13615 = load i32, ptr %13614, align 4, !tbaa !5
  %13616 = call ptr @strerror(i32 noundef %13615) #10
  %13617 = call ptr @__errno_location() #11
  %13618 = load i32, ptr %13617, align 4, !tbaa !5
  %13619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13606, ptr noundef @.str, i32 noundef %13607, ptr noundef @.str.98, ptr noundef @.str.2, i32 noundef 717, ptr noundef %13610, ptr noundef %13613, ptr noundef %13616, i32 noundef %13618) #10
  br label %13637

13620:                                            ; preds = %13598, %13591
  %13621 = load i32, ptr %350, align 4, !tbaa !5
  %13622 = call ptr @__errno_location() #11
  store i32 %13621, ptr %13622, align 4, !tbaa !5
  %13623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13624 = load i32, ptr @test_count, align 4, !tbaa !5
  %13625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13626 = load i32, ptr %13625, align 4, !tbaa !5
  %13627 = call ptr @s2n_strerror(i32 noundef %13626, ptr noundef @.str.3)
  %13628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13629 = load i32, ptr %13628, align 4, !tbaa !5
  %13630 = call ptr @s2n_strerror_debug(i32 noundef %13629, ptr noundef @.str.3)
  %13631 = call ptr @__errno_location() #11
  %13632 = load i32, ptr %13631, align 4, !tbaa !5
  %13633 = call ptr @strerror(i32 noundef %13632) #10
  %13634 = call ptr @__errno_location() #11
  %13635 = load i32, ptr %13634, align 4, !tbaa !5
  %13636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13623, ptr noundef @.str.4, i32 noundef %13624, ptr noundef @.str.98, ptr noundef @.str.2, i32 noundef 717, ptr noundef %13627, ptr noundef %13630, ptr noundef %13633, i32 noundef %13635) #10
  br label %13637

13637:                                            ; preds = %13620, %13603
  call void @llvm.lifetime.end.p0(i64 4, ptr %350) #10
  br label %13638

13638:                                            ; preds = %13637
  br label %13639

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

13640:                                            ; No predecessors!
  br label %13641

13641:                                            ; preds = %13640
  br label %13642

13642:                                            ; preds = %13641, %13580
  br label %13643

13643:                                            ; preds = %13642
  br label %13644

13644:                                            ; preds = %13643
  br label %13645

13645:                                            ; preds = %13644
  %13646 = load i32, ptr @test_count, align 4, !tbaa !5
  %13647 = add nsw i32 %13646, 1
  store i32 %13647, ptr @test_count, align 4, !tbaa !5
  %13648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13649 = load i32, ptr %13648, align 4, !tbaa !5
  %13650 = icmp eq i32 %13649, 469762089
  br i1 %13650, label %13704, label %13651

13651:                                            ; preds = %13645
  br label %13652

13652:                                            ; preds = %13651
  br label %13653

13653:                                            ; preds = %13652
  call void @llvm.lifetime.start.p0(i64 4, ptr %351) #10
  %13654 = call ptr @__errno_location() #11
  %13655 = load i32, ptr %13654, align 4, !tbaa !5
  store i32 %13655, ptr %351, align 4, !tbaa !5
  %13656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13657 = call i32 @s2n_print_stacktrace(ptr noundef %13656)
  %13658 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13659 = trunc i8 %13658 to i1
  br i1 %13659, label %13660, label %13682

13660:                                            ; preds = %13653
  %13661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13662 = call i32 @fileno(ptr noundef %13661) #10
  %13663 = call i32 @isatty(i32 noundef %13662) #10
  %13664 = icmp ne i32 %13663, 0
  br i1 %13664, label %13665, label %13682

13665:                                            ; preds = %13660
  %13666 = load i32, ptr %351, align 4, !tbaa !5
  %13667 = call ptr @__errno_location() #11
  store i32 %13666, ptr %13667, align 4, !tbaa !5
  %13668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13669 = load i32, ptr @test_count, align 4, !tbaa !5
  %13670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13671 = load i32, ptr %13670, align 4, !tbaa !5
  %13672 = call ptr @s2n_strerror(i32 noundef %13671, ptr noundef @.str.3)
  %13673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13674 = load i32, ptr %13673, align 4, !tbaa !5
  %13675 = call ptr @s2n_strerror_debug(i32 noundef %13674, ptr noundef @.str.3)
  %13676 = call ptr @__errno_location() #11
  %13677 = load i32, ptr %13676, align 4, !tbaa !5
  %13678 = call ptr @strerror(i32 noundef %13677) #10
  %13679 = call ptr @__errno_location() #11
  %13680 = load i32, ptr %13679, align 4, !tbaa !5
  %13681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13668, ptr noundef @.str, i32 noundef %13669, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 717, ptr noundef %13672, ptr noundef %13675, ptr noundef %13678, i32 noundef %13680) #10
  br label %13699

13682:                                            ; preds = %13660, %13653
  %13683 = load i32, ptr %351, align 4, !tbaa !5
  %13684 = call ptr @__errno_location() #11
  store i32 %13683, ptr %13684, align 4, !tbaa !5
  %13685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13686 = load i32, ptr @test_count, align 4, !tbaa !5
  %13687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13688 = load i32, ptr %13687, align 4, !tbaa !5
  %13689 = call ptr @s2n_strerror(i32 noundef %13688, ptr noundef @.str.3)
  %13690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13691 = load i32, ptr %13690, align 4, !tbaa !5
  %13692 = call ptr @s2n_strerror_debug(i32 noundef %13691, ptr noundef @.str.3)
  %13693 = call ptr @__errno_location() #11
  %13694 = load i32, ptr %13693, align 4, !tbaa !5
  %13695 = call ptr @strerror(i32 noundef %13694) #10
  %13696 = call ptr @__errno_location() #11
  %13697 = load i32, ptr %13696, align 4, !tbaa !5
  %13698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13685, ptr noundef @.str.4, i32 noundef %13686, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 717, ptr noundef %13689, ptr noundef %13692, ptr noundef %13695, i32 noundef %13697) #10
  br label %13699

13699:                                            ; preds = %13682, %13665
  call void @llvm.lifetime.end.p0(i64 4, ptr %351) #10
  br label %13700

13700:                                            ; preds = %13699
  br label %13701

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

13702:                                            ; No predecessors!
  br label %13703

13703:                                            ; preds = %13702
  br label %13704

13704:                                            ; preds = %13703, %13645
  br label %13705

13705:                                            ; preds = %13704
  br label %13706

13706:                                            ; preds = %13705
  br label %13707

13707:                                            ; preds = %13706
  %13708 = load i32, ptr @test_count, align 4, !tbaa !5
  %13709 = add nsw i32 %13708, 1
  store i32 %13709, ptr @test_count, align 4, !tbaa !5
  %13710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13711 = load i32, ptr %13710, align 4, !tbaa !5
  %13712 = call ptr @s2n_strerror_debug(i32 noundef %13711, ptr noundef @.str.3)
  %13713 = icmp eq ptr %13712, null
  br i1 %13713, label %13714, label %13767

13714:                                            ; preds = %13707
  br label %13715

13715:                                            ; preds = %13714
  br label %13716

13716:                                            ; preds = %13715
  call void @llvm.lifetime.start.p0(i64 4, ptr %352) #10
  %13717 = call ptr @__errno_location() #11
  %13718 = load i32, ptr %13717, align 4, !tbaa !5
  store i32 %13718, ptr %352, align 4, !tbaa !5
  %13719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13720 = call i32 @s2n_print_stacktrace(ptr noundef %13719)
  %13721 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13722 = trunc i8 %13721 to i1
  br i1 %13722, label %13723, label %13745

13723:                                            ; preds = %13716
  %13724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13725 = call i32 @fileno(ptr noundef %13724) #10
  %13726 = call i32 @isatty(i32 noundef %13725) #10
  %13727 = icmp ne i32 %13726, 0
  br i1 %13727, label %13728, label %13745

13728:                                            ; preds = %13723
  %13729 = load i32, ptr %352, align 4, !tbaa !5
  %13730 = call ptr @__errno_location() #11
  store i32 %13729, ptr %13730, align 4, !tbaa !5
  %13731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13732 = load i32, ptr @test_count, align 4, !tbaa !5
  %13733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13734 = load i32, ptr %13733, align 4, !tbaa !5
  %13735 = call ptr @s2n_strerror(i32 noundef %13734, ptr noundef @.str.3)
  %13736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13737 = load i32, ptr %13736, align 4, !tbaa !5
  %13738 = call ptr @s2n_strerror_debug(i32 noundef %13737, ptr noundef @.str.3)
  %13739 = call ptr @__errno_location() #11
  %13740 = load i32, ptr %13739, align 4, !tbaa !5
  %13741 = call ptr @strerror(i32 noundef %13740) #10
  %13742 = call ptr @__errno_location() #11
  %13743 = load i32, ptr %13742, align 4, !tbaa !5
  %13744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13731, ptr noundef @.str, i32 noundef %13732, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 717, ptr noundef %13735, ptr noundef %13738, ptr noundef %13741, i32 noundef %13743) #10
  br label %13762

13745:                                            ; preds = %13723, %13716
  %13746 = load i32, ptr %352, align 4, !tbaa !5
  %13747 = call ptr @__errno_location() #11
  store i32 %13746, ptr %13747, align 4, !tbaa !5
  %13748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13749 = load i32, ptr @test_count, align 4, !tbaa !5
  %13750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13751 = load i32, ptr %13750, align 4, !tbaa !5
  %13752 = call ptr @s2n_strerror(i32 noundef %13751, ptr noundef @.str.3)
  %13753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13754 = load i32, ptr %13753, align 4, !tbaa !5
  %13755 = call ptr @s2n_strerror_debug(i32 noundef %13754, ptr noundef @.str.3)
  %13756 = call ptr @__errno_location() #11
  %13757 = load i32, ptr %13756, align 4, !tbaa !5
  %13758 = call ptr @strerror(i32 noundef %13757) #10
  %13759 = call ptr @__errno_location() #11
  %13760 = load i32, ptr %13759, align 4, !tbaa !5
  %13761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13748, ptr noundef @.str.4, i32 noundef %13749, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 717, ptr noundef %13752, ptr noundef %13755, ptr noundef %13758, i32 noundef %13760) #10
  br label %13762

13762:                                            ; preds = %13745, %13728
  call void @llvm.lifetime.end.p0(i64 4, ptr %352) #10
  br label %13763

13763:                                            ; preds = %13762
  br label %13764

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

13765:                                            ; No predecessors!
  br label %13766

13766:                                            ; preds = %13765
  br label %13767

13767:                                            ; preds = %13766, %13707
  br label %13768

13768:                                            ; preds = %13767
  br label %13769

13769:                                            ; preds = %13768
  br label %13770

13770:                                            ; preds = %13769
  br label %13771

13771:                                            ; preds = %13770
  br label %13772

13772:                                            ; preds = %13771
  %13773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13773, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13774 = call ptr @__errno_location() #11
  store i32 0, ptr %13774, align 4, !tbaa !5
  br label %13775

13775:                                            ; preds = %13772
  br label %13776

13776:                                            ; preds = %13775
  br label %13777

13777:                                            ; preds = %13776
  br label %13778

13778:                                            ; preds = %13777
  call void @llvm.lifetime.start.p0(i64 8, ptr %353) #10
  store i64 21, ptr %353, align 8, !tbaa !15
  br label %13779

13779:                                            ; preds = %13778
  br label %13780

13780:                                            ; preds = %13779
  br label %13781

13781:                                            ; preds = %13780
  %13782 = load i32, ptr @test_count, align 4, !tbaa !5
  %13783 = add nsw i32 %13782, 1
  store i32 %13783, ptr @test_count, align 4, !tbaa !5
  %13784 = getelementptr inbounds [8 x %struct.iovec], ptr %276, i64 0, i64 0
  %13785 = load i64, ptr %353, align 8, !tbaa !15
  %13786 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef %13784, i64 noundef 8, i64 noundef %13785, ptr noundef %347)
  %13787 = getelementptr inbounds %struct.s2n_result, ptr %354, i32 0, i32 0
  store i32 %13786, ptr %13787, align 4
  %13788 = getelementptr inbounds %struct.s2n_result, ptr %354, i32 0, i32 0
  %13789 = load i32, ptr %13788, align 4
  %13790 = call zeroext i1 @s2n_result_is_error(i32 %13789)
  br i1 %13790, label %13844, label %13791

13791:                                            ; preds = %13781
  br label %13792

13792:                                            ; preds = %13791
  br label %13793

13793:                                            ; preds = %13792
  call void @llvm.lifetime.start.p0(i64 4, ptr %355) #10
  %13794 = call ptr @__errno_location() #11
  %13795 = load i32, ptr %13794, align 4, !tbaa !5
  store i32 %13795, ptr %355, align 4, !tbaa !5
  %13796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13797 = call i32 @s2n_print_stacktrace(ptr noundef %13796)
  %13798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13799 = trunc i8 %13798 to i1
  br i1 %13799, label %13800, label %13822

13800:                                            ; preds = %13793
  %13801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13802 = call i32 @fileno(ptr noundef %13801) #10
  %13803 = call i32 @isatty(i32 noundef %13802) #10
  %13804 = icmp ne i32 %13803, 0
  br i1 %13804, label %13805, label %13822

13805:                                            ; preds = %13800
  %13806 = load i32, ptr %355, align 4, !tbaa !5
  %13807 = call ptr @__errno_location() #11
  store i32 %13806, ptr %13807, align 4, !tbaa !5
  %13808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13809 = load i32, ptr @test_count, align 4, !tbaa !5
  %13810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13811 = load i32, ptr %13810, align 4, !tbaa !5
  %13812 = call ptr @s2n_strerror(i32 noundef %13811, ptr noundef @.str.3)
  %13813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13814 = load i32, ptr %13813, align 4, !tbaa !5
  %13815 = call ptr @s2n_strerror_debug(i32 noundef %13814, ptr noundef @.str.3)
  %13816 = call ptr @__errno_location() #11
  %13817 = load i32, ptr %13816, align 4, !tbaa !5
  %13818 = call ptr @strerror(i32 noundef %13817) #10
  %13819 = call ptr @__errno_location() #11
  %13820 = load i32, ptr %13819, align 4, !tbaa !5
  %13821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13808, ptr noundef @.str, i32 noundef %13809, ptr noundef @.str.99, ptr noundef @.str.2, i32 noundef 723, ptr noundef %13812, ptr noundef %13815, ptr noundef %13818, i32 noundef %13820) #10
  br label %13839

13822:                                            ; preds = %13800, %13793
  %13823 = load i32, ptr %355, align 4, !tbaa !5
  %13824 = call ptr @__errno_location() #11
  store i32 %13823, ptr %13824, align 4, !tbaa !5
  %13825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13826 = load i32, ptr @test_count, align 4, !tbaa !5
  %13827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13828 = load i32, ptr %13827, align 4, !tbaa !5
  %13829 = call ptr @s2n_strerror(i32 noundef %13828, ptr noundef @.str.3)
  %13830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13831 = load i32, ptr %13830, align 4, !tbaa !5
  %13832 = call ptr @s2n_strerror_debug(i32 noundef %13831, ptr noundef @.str.3)
  %13833 = call ptr @__errno_location() #11
  %13834 = load i32, ptr %13833, align 4, !tbaa !5
  %13835 = call ptr @strerror(i32 noundef %13834) #10
  %13836 = call ptr @__errno_location() #11
  %13837 = load i32, ptr %13836, align 4, !tbaa !5
  %13838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13825, ptr noundef @.str.4, i32 noundef %13826, ptr noundef @.str.99, ptr noundef @.str.2, i32 noundef 723, ptr noundef %13829, ptr noundef %13832, ptr noundef %13835, i32 noundef %13837) #10
  br label %13839

13839:                                            ; preds = %13822, %13805
  call void @llvm.lifetime.end.p0(i64 4, ptr %355) #10
  br label %13840

13840:                                            ; preds = %13839
  br label %13841

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

13842:                                            ; No predecessors!
  br label %13843

13843:                                            ; preds = %13842
  br label %13844

13844:                                            ; preds = %13843, %13781
  br label %13845

13845:                                            ; preds = %13844
  br label %13846

13846:                                            ; preds = %13845
  br label %13847

13847:                                            ; preds = %13846
  %13848 = load i32, ptr @test_count, align 4, !tbaa !5
  %13849 = add nsw i32 %13848, 1
  store i32 %13849, ptr @test_count, align 4, !tbaa !5
  %13850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13851 = load i32, ptr %13850, align 4, !tbaa !5
  %13852 = icmp eq i32 %13851, 469762089
  br i1 %13852, label %13906, label %13853

13853:                                            ; preds = %13847
  br label %13854

13854:                                            ; preds = %13853
  br label %13855

13855:                                            ; preds = %13854
  call void @llvm.lifetime.start.p0(i64 4, ptr %356) #10
  %13856 = call ptr @__errno_location() #11
  %13857 = load i32, ptr %13856, align 4, !tbaa !5
  store i32 %13857, ptr %356, align 4, !tbaa !5
  %13858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13859 = call i32 @s2n_print_stacktrace(ptr noundef %13858)
  %13860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13861 = trunc i8 %13860 to i1
  br i1 %13861, label %13862, label %13884

13862:                                            ; preds = %13855
  %13863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13864 = call i32 @fileno(ptr noundef %13863) #10
  %13865 = call i32 @isatty(i32 noundef %13864) #10
  %13866 = icmp ne i32 %13865, 0
  br i1 %13866, label %13867, label %13884

13867:                                            ; preds = %13862
  %13868 = load i32, ptr %356, align 4, !tbaa !5
  %13869 = call ptr @__errno_location() #11
  store i32 %13868, ptr %13869, align 4, !tbaa !5
  %13870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13871 = load i32, ptr @test_count, align 4, !tbaa !5
  %13872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13873 = load i32, ptr %13872, align 4, !tbaa !5
  %13874 = call ptr @s2n_strerror(i32 noundef %13873, ptr noundef @.str.3)
  %13875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13876 = load i32, ptr %13875, align 4, !tbaa !5
  %13877 = call ptr @s2n_strerror_debug(i32 noundef %13876, ptr noundef @.str.3)
  %13878 = call ptr @__errno_location() #11
  %13879 = load i32, ptr %13878, align 4, !tbaa !5
  %13880 = call ptr @strerror(i32 noundef %13879) #10
  %13881 = call ptr @__errno_location() #11
  %13882 = load i32, ptr %13881, align 4, !tbaa !5
  %13883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13870, ptr noundef @.str, i32 noundef %13871, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 723, ptr noundef %13874, ptr noundef %13877, ptr noundef %13880, i32 noundef %13882) #10
  br label %13901

13884:                                            ; preds = %13862, %13855
  %13885 = load i32, ptr %356, align 4, !tbaa !5
  %13886 = call ptr @__errno_location() #11
  store i32 %13885, ptr %13886, align 4, !tbaa !5
  %13887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13888 = load i32, ptr @test_count, align 4, !tbaa !5
  %13889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13890 = load i32, ptr %13889, align 4, !tbaa !5
  %13891 = call ptr @s2n_strerror(i32 noundef %13890, ptr noundef @.str.3)
  %13892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13893 = load i32, ptr %13892, align 4, !tbaa !5
  %13894 = call ptr @s2n_strerror_debug(i32 noundef %13893, ptr noundef @.str.3)
  %13895 = call ptr @__errno_location() #11
  %13896 = load i32, ptr %13895, align 4, !tbaa !5
  %13897 = call ptr @strerror(i32 noundef %13896) #10
  %13898 = call ptr @__errno_location() #11
  %13899 = load i32, ptr %13898, align 4, !tbaa !5
  %13900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13887, ptr noundef @.str.4, i32 noundef %13888, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 723, ptr noundef %13891, ptr noundef %13894, ptr noundef %13897, i32 noundef %13899) #10
  br label %13901

13901:                                            ; preds = %13884, %13867
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #10
  br label %13902

13902:                                            ; preds = %13901
  br label %13903

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

13904:                                            ; No predecessors!
  br label %13905

13905:                                            ; preds = %13904
  br label %13906

13906:                                            ; preds = %13905, %13847
  br label %13907

13907:                                            ; preds = %13906
  br label %13908

13908:                                            ; preds = %13907
  br label %13909

13909:                                            ; preds = %13908
  %13910 = load i32, ptr @test_count, align 4, !tbaa !5
  %13911 = add nsw i32 %13910, 1
  store i32 %13911, ptr @test_count, align 4, !tbaa !5
  %13912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13913 = load i32, ptr %13912, align 4, !tbaa !5
  %13914 = call ptr @s2n_strerror_debug(i32 noundef %13913, ptr noundef @.str.3)
  %13915 = icmp eq ptr %13914, null
  br i1 %13915, label %13916, label %13969

13916:                                            ; preds = %13909
  br label %13917

13917:                                            ; preds = %13916
  br label %13918

13918:                                            ; preds = %13917
  call void @llvm.lifetime.start.p0(i64 4, ptr %357) #10
  %13919 = call ptr @__errno_location() #11
  %13920 = load i32, ptr %13919, align 4, !tbaa !5
  store i32 %13920, ptr %357, align 4, !tbaa !5
  %13921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13922 = call i32 @s2n_print_stacktrace(ptr noundef %13921)
  %13923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13924 = trunc i8 %13923 to i1
  br i1 %13924, label %13925, label %13947

13925:                                            ; preds = %13918
  %13926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13927 = call i32 @fileno(ptr noundef %13926) #10
  %13928 = call i32 @isatty(i32 noundef %13927) #10
  %13929 = icmp ne i32 %13928, 0
  br i1 %13929, label %13930, label %13947

13930:                                            ; preds = %13925
  %13931 = load i32, ptr %357, align 4, !tbaa !5
  %13932 = call ptr @__errno_location() #11
  store i32 %13931, ptr %13932, align 4, !tbaa !5
  %13933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13934 = load i32, ptr @test_count, align 4, !tbaa !5
  %13935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13936 = load i32, ptr %13935, align 4, !tbaa !5
  %13937 = call ptr @s2n_strerror(i32 noundef %13936, ptr noundef @.str.3)
  %13938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13939 = load i32, ptr %13938, align 4, !tbaa !5
  %13940 = call ptr @s2n_strerror_debug(i32 noundef %13939, ptr noundef @.str.3)
  %13941 = call ptr @__errno_location() #11
  %13942 = load i32, ptr %13941, align 4, !tbaa !5
  %13943 = call ptr @strerror(i32 noundef %13942) #10
  %13944 = call ptr @__errno_location() #11
  %13945 = load i32, ptr %13944, align 4, !tbaa !5
  %13946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13933, ptr noundef @.str, i32 noundef %13934, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 723, ptr noundef %13937, ptr noundef %13940, ptr noundef %13943, i32 noundef %13945) #10
  br label %13964

13947:                                            ; preds = %13925, %13918
  %13948 = load i32, ptr %357, align 4, !tbaa !5
  %13949 = call ptr @__errno_location() #11
  store i32 %13948, ptr %13949, align 4, !tbaa !5
  %13950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13951 = load i32, ptr @test_count, align 4, !tbaa !5
  %13952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13953 = load i32, ptr %13952, align 4, !tbaa !5
  %13954 = call ptr @s2n_strerror(i32 noundef %13953, ptr noundef @.str.3)
  %13955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13956 = load i32, ptr %13955, align 4, !tbaa !5
  %13957 = call ptr @s2n_strerror_debug(i32 noundef %13956, ptr noundef @.str.3)
  %13958 = call ptr @__errno_location() #11
  %13959 = load i32, ptr %13958, align 4, !tbaa !5
  %13960 = call ptr @strerror(i32 noundef %13959) #10
  %13961 = call ptr @__errno_location() #11
  %13962 = load i32, ptr %13961, align 4, !tbaa !5
  %13963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13950, ptr noundef @.str.4, i32 noundef %13951, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 723, ptr noundef %13954, ptr noundef %13957, ptr noundef %13960, i32 noundef %13962) #10
  br label %13964

13964:                                            ; preds = %13947, %13930
  call void @llvm.lifetime.end.p0(i64 4, ptr %357) #10
  br label %13965

13965:                                            ; preds = %13964
  br label %13966

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

13967:                                            ; No predecessors!
  br label %13968

13968:                                            ; preds = %13967
  br label %13969

13969:                                            ; preds = %13968, %13909
  br label %13970

13970:                                            ; preds = %13969
  br label %13971

13971:                                            ; preds = %13970
  br label %13972

13972:                                            ; preds = %13971
  br label %13973

13973:                                            ; preds = %13972
  br label %13974

13974:                                            ; preds = %13973
  %13975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13975, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13976 = call ptr @__errno_location() #11
  store i32 0, ptr %13976, align 4, !tbaa !5
  br label %13977

13977:                                            ; preds = %13974
  br label %13978

13978:                                            ; preds = %13977
  br label %13979

13979:                                            ; preds = %13978
  br label %13980

13980:                                            ; preds = %13979
  call void @llvm.lifetime.end.p0(i64 8, ptr %353) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %348) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %347) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %346) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %358) #10
  store i64 0, ptr %358, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 32, ptr %359) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %359, ptr align 16 @__const.main.test_bufs_ssize, i64 32, i1 false)
  br label %13981

13981:                                            ; preds = %13980
  br label %13982

13982:                                            ; preds = %13981
  br label %13983

13983:                                            ; preds = %13982
  %13984 = load i32, ptr @test_count, align 4, !tbaa !5
  %13985 = add nsw i32 %13984, 1
  store i32 %13985, ptr @test_count, align 4, !tbaa !5
  %13986 = getelementptr inbounds [2 x %struct.iovec], ptr %359, i64 0, i64 0
  %13987 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef %13986, i64 noundef 2, i64 noundef 0, ptr noundef %358)
  %13988 = getelementptr inbounds %struct.s2n_result, ptr %360, i32 0, i32 0
  store i32 %13987, ptr %13988, align 4
  %13989 = getelementptr inbounds %struct.s2n_result, ptr %360, i32 0, i32 0
  %13990 = load i32, ptr %13989, align 4
  %13991 = call zeroext i1 @s2n_result_is_error(i32 %13990)
  br i1 %13991, label %14045, label %13992

13992:                                            ; preds = %13983
  br label %13993

13993:                                            ; preds = %13992
  br label %13994

13994:                                            ; preds = %13993
  call void @llvm.lifetime.start.p0(i64 4, ptr %361) #10
  %13995 = call ptr @__errno_location() #11
  %13996 = load i32, ptr %13995, align 4, !tbaa !5
  store i32 %13996, ptr %361, align 4, !tbaa !5
  %13997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13998 = call i32 @s2n_print_stacktrace(ptr noundef %13997)
  %13999 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14000 = trunc i8 %13999 to i1
  br i1 %14000, label %14001, label %14023

14001:                                            ; preds = %13994
  %14002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14003 = call i32 @fileno(ptr noundef %14002) #10
  %14004 = call i32 @isatty(i32 noundef %14003) #10
  %14005 = icmp ne i32 %14004, 0
  br i1 %14005, label %14006, label %14023

14006:                                            ; preds = %14001
  %14007 = load i32, ptr %361, align 4, !tbaa !5
  %14008 = call ptr @__errno_location() #11
  store i32 %14007, ptr %14008, align 4, !tbaa !5
  %14009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14010 = load i32, ptr @test_count, align 4, !tbaa !5
  %14011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14012 = load i32, ptr %14011, align 4, !tbaa !5
  %14013 = call ptr @s2n_strerror(i32 noundef %14012, ptr noundef @.str.3)
  %14014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14015 = load i32, ptr %14014, align 4, !tbaa !5
  %14016 = call ptr @s2n_strerror_debug(i32 noundef %14015, ptr noundef @.str.3)
  %14017 = call ptr @__errno_location() #11
  %14018 = load i32, ptr %14017, align 4, !tbaa !5
  %14019 = call ptr @strerror(i32 noundef %14018) #10
  %14020 = call ptr @__errno_location() #11
  %14021 = load i32, ptr %14020, align 4, !tbaa !5
  %14022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14009, ptr noundef @.str, i32 noundef %14010, ptr noundef @.str.100, ptr noundef @.str.2, i32 noundef 741, ptr noundef %14013, ptr noundef %14016, ptr noundef %14019, i32 noundef %14021) #10
  br label %14040

14023:                                            ; preds = %14001, %13994
  %14024 = load i32, ptr %361, align 4, !tbaa !5
  %14025 = call ptr @__errno_location() #11
  store i32 %14024, ptr %14025, align 4, !tbaa !5
  %14026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14027 = load i32, ptr @test_count, align 4, !tbaa !5
  %14028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14029 = load i32, ptr %14028, align 4, !tbaa !5
  %14030 = call ptr @s2n_strerror(i32 noundef %14029, ptr noundef @.str.3)
  %14031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14032 = load i32, ptr %14031, align 4, !tbaa !5
  %14033 = call ptr @s2n_strerror_debug(i32 noundef %14032, ptr noundef @.str.3)
  %14034 = call ptr @__errno_location() #11
  %14035 = load i32, ptr %14034, align 4, !tbaa !5
  %14036 = call ptr @strerror(i32 noundef %14035) #10
  %14037 = call ptr @__errno_location() #11
  %14038 = load i32, ptr %14037, align 4, !tbaa !5
  %14039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14026, ptr noundef @.str.4, i32 noundef %14027, ptr noundef @.str.100, ptr noundef @.str.2, i32 noundef 741, ptr noundef %14030, ptr noundef %14033, ptr noundef %14036, i32 noundef %14038) #10
  br label %14040

14040:                                            ; preds = %14023, %14006
  call void @llvm.lifetime.end.p0(i64 4, ptr %361) #10
  br label %14041

14041:                                            ; preds = %14040
  br label %14042

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

14043:                                            ; No predecessors!
  br label %14044

14044:                                            ; preds = %14043
  br label %14045

14045:                                            ; preds = %14044, %13983
  br label %14046

14046:                                            ; preds = %14045
  br label %14047

14047:                                            ; preds = %14046
  br label %14048

14048:                                            ; preds = %14047
  %14049 = load i32, ptr @test_count, align 4, !tbaa !5
  %14050 = add nsw i32 %14049, 1
  store i32 %14050, ptr @test_count, align 4, !tbaa !5
  %14051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14052 = load i32, ptr %14051, align 4, !tbaa !5
  %14053 = icmp eq i32 %14052, 469762089
  br i1 %14053, label %14107, label %14054

14054:                                            ; preds = %14048
  br label %14055

14055:                                            ; preds = %14054
  br label %14056

14056:                                            ; preds = %14055
  call void @llvm.lifetime.start.p0(i64 4, ptr %362) #10
  %14057 = call ptr @__errno_location() #11
  %14058 = load i32, ptr %14057, align 4, !tbaa !5
  store i32 %14058, ptr %362, align 4, !tbaa !5
  %14059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14060 = call i32 @s2n_print_stacktrace(ptr noundef %14059)
  %14061 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14062 = trunc i8 %14061 to i1
  br i1 %14062, label %14063, label %14085

14063:                                            ; preds = %14056
  %14064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14065 = call i32 @fileno(ptr noundef %14064) #10
  %14066 = call i32 @isatty(i32 noundef %14065) #10
  %14067 = icmp ne i32 %14066, 0
  br i1 %14067, label %14068, label %14085

14068:                                            ; preds = %14063
  %14069 = load i32, ptr %362, align 4, !tbaa !5
  %14070 = call ptr @__errno_location() #11
  store i32 %14069, ptr %14070, align 4, !tbaa !5
  %14071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14072 = load i32, ptr @test_count, align 4, !tbaa !5
  %14073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14074 = load i32, ptr %14073, align 4, !tbaa !5
  %14075 = call ptr @s2n_strerror(i32 noundef %14074, ptr noundef @.str.3)
  %14076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14077 = load i32, ptr %14076, align 4, !tbaa !5
  %14078 = call ptr @s2n_strerror_debug(i32 noundef %14077, ptr noundef @.str.3)
  %14079 = call ptr @__errno_location() #11
  %14080 = load i32, ptr %14079, align 4, !tbaa !5
  %14081 = call ptr @strerror(i32 noundef %14080) #10
  %14082 = call ptr @__errno_location() #11
  %14083 = load i32, ptr %14082, align 4, !tbaa !5
  %14084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14071, ptr noundef @.str, i32 noundef %14072, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 741, ptr noundef %14075, ptr noundef %14078, ptr noundef %14081, i32 noundef %14083) #10
  br label %14102

14085:                                            ; preds = %14063, %14056
  %14086 = load i32, ptr %362, align 4, !tbaa !5
  %14087 = call ptr @__errno_location() #11
  store i32 %14086, ptr %14087, align 4, !tbaa !5
  %14088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14089 = load i32, ptr @test_count, align 4, !tbaa !5
  %14090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14091 = load i32, ptr %14090, align 4, !tbaa !5
  %14092 = call ptr @s2n_strerror(i32 noundef %14091, ptr noundef @.str.3)
  %14093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14094 = load i32, ptr %14093, align 4, !tbaa !5
  %14095 = call ptr @s2n_strerror_debug(i32 noundef %14094, ptr noundef @.str.3)
  %14096 = call ptr @__errno_location() #11
  %14097 = load i32, ptr %14096, align 4, !tbaa !5
  %14098 = call ptr @strerror(i32 noundef %14097) #10
  %14099 = call ptr @__errno_location() #11
  %14100 = load i32, ptr %14099, align 4, !tbaa !5
  %14101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14088, ptr noundef @.str.4, i32 noundef %14089, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 741, ptr noundef %14092, ptr noundef %14095, ptr noundef %14098, i32 noundef %14100) #10
  br label %14102

14102:                                            ; preds = %14085, %14068
  call void @llvm.lifetime.end.p0(i64 4, ptr %362) #10
  br label %14103

14103:                                            ; preds = %14102
  br label %14104

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

14105:                                            ; No predecessors!
  br label %14106

14106:                                            ; preds = %14105
  br label %14107

14107:                                            ; preds = %14106, %14048
  br label %14108

14108:                                            ; preds = %14107
  br label %14109

14109:                                            ; preds = %14108
  br label %14110

14110:                                            ; preds = %14109
  %14111 = load i32, ptr @test_count, align 4, !tbaa !5
  %14112 = add nsw i32 %14111, 1
  store i32 %14112, ptr @test_count, align 4, !tbaa !5
  %14113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14114 = load i32, ptr %14113, align 4, !tbaa !5
  %14115 = call ptr @s2n_strerror_debug(i32 noundef %14114, ptr noundef @.str.3)
  %14116 = icmp eq ptr %14115, null
  br i1 %14116, label %14117, label %14170

14117:                                            ; preds = %14110
  br label %14118

14118:                                            ; preds = %14117
  br label %14119

14119:                                            ; preds = %14118
  call void @llvm.lifetime.start.p0(i64 4, ptr %363) #10
  %14120 = call ptr @__errno_location() #11
  %14121 = load i32, ptr %14120, align 4, !tbaa !5
  store i32 %14121, ptr %363, align 4, !tbaa !5
  %14122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14123 = call i32 @s2n_print_stacktrace(ptr noundef %14122)
  %14124 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14125 = trunc i8 %14124 to i1
  br i1 %14125, label %14126, label %14148

14126:                                            ; preds = %14119
  %14127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14128 = call i32 @fileno(ptr noundef %14127) #10
  %14129 = call i32 @isatty(i32 noundef %14128) #10
  %14130 = icmp ne i32 %14129, 0
  br i1 %14130, label %14131, label %14148

14131:                                            ; preds = %14126
  %14132 = load i32, ptr %363, align 4, !tbaa !5
  %14133 = call ptr @__errno_location() #11
  store i32 %14132, ptr %14133, align 4, !tbaa !5
  %14134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14135 = load i32, ptr @test_count, align 4, !tbaa !5
  %14136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14137 = load i32, ptr %14136, align 4, !tbaa !5
  %14138 = call ptr @s2n_strerror(i32 noundef %14137, ptr noundef @.str.3)
  %14139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14140 = load i32, ptr %14139, align 4, !tbaa !5
  %14141 = call ptr @s2n_strerror_debug(i32 noundef %14140, ptr noundef @.str.3)
  %14142 = call ptr @__errno_location() #11
  %14143 = load i32, ptr %14142, align 4, !tbaa !5
  %14144 = call ptr @strerror(i32 noundef %14143) #10
  %14145 = call ptr @__errno_location() #11
  %14146 = load i32, ptr %14145, align 4, !tbaa !5
  %14147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14134, ptr noundef @.str, i32 noundef %14135, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 741, ptr noundef %14138, ptr noundef %14141, ptr noundef %14144, i32 noundef %14146) #10
  br label %14165

14148:                                            ; preds = %14126, %14119
  %14149 = load i32, ptr %363, align 4, !tbaa !5
  %14150 = call ptr @__errno_location() #11
  store i32 %14149, ptr %14150, align 4, !tbaa !5
  %14151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14152 = load i32, ptr @test_count, align 4, !tbaa !5
  %14153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14154 = load i32, ptr %14153, align 4, !tbaa !5
  %14155 = call ptr @s2n_strerror(i32 noundef %14154, ptr noundef @.str.3)
  %14156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14157 = load i32, ptr %14156, align 4, !tbaa !5
  %14158 = call ptr @s2n_strerror_debug(i32 noundef %14157, ptr noundef @.str.3)
  %14159 = call ptr @__errno_location() #11
  %14160 = load i32, ptr %14159, align 4, !tbaa !5
  %14161 = call ptr @strerror(i32 noundef %14160) #10
  %14162 = call ptr @__errno_location() #11
  %14163 = load i32, ptr %14162, align 4, !tbaa !5
  %14164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14151, ptr noundef @.str.4, i32 noundef %14152, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 741, ptr noundef %14155, ptr noundef %14158, ptr noundef %14161, i32 noundef %14163) #10
  br label %14165

14165:                                            ; preds = %14148, %14131
  call void @llvm.lifetime.end.p0(i64 4, ptr %363) #10
  br label %14166

14166:                                            ; preds = %14165
  br label %14167

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

14168:                                            ; No predecessors!
  br label %14169

14169:                                            ; preds = %14168
  br label %14170

14170:                                            ; preds = %14169, %14110
  br label %14171

14171:                                            ; preds = %14170
  br label %14172

14172:                                            ; preds = %14171
  br label %14173

14173:                                            ; preds = %14172
  br label %14174

14174:                                            ; preds = %14173
  br label %14175

14175:                                            ; preds = %14174
  %14176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14176, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14177 = call ptr @__errno_location() #11
  store i32 0, ptr %14177, align 4, !tbaa !5
  br label %14178

14178:                                            ; preds = %14175
  br label %14179

14179:                                            ; preds = %14178
  br label %14180

14180:                                            ; preds = %14179
  br label %14181

14181:                                            ; preds = %14180
  call void @llvm.lifetime.start.p0(i64 32, ptr %364) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %364, ptr align 16 @__const.main.test_bufs_size, i64 32, i1 false)
  br label %14182

14182:                                            ; preds = %14181
  br label %14183

14183:                                            ; preds = %14182
  br label %14184

14184:                                            ; preds = %14183
  %14185 = load i32, ptr @test_count, align 4, !tbaa !5
  %14186 = add nsw i32 %14185, 1
  store i32 %14186, ptr @test_count, align 4, !tbaa !5
  %14187 = getelementptr inbounds [2 x %struct.iovec], ptr %364, i64 0, i64 0
  %14188 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef %14187, i64 noundef 2, i64 noundef 0, ptr noundef %358)
  %14189 = getelementptr inbounds %struct.s2n_result, ptr %365, i32 0, i32 0
  store i32 %14188, ptr %14189, align 4
  %14190 = getelementptr inbounds %struct.s2n_result, ptr %365, i32 0, i32 0
  %14191 = load i32, ptr %14190, align 4
  %14192 = call zeroext i1 @s2n_result_is_error(i32 %14191)
  br i1 %14192, label %14246, label %14193

14193:                                            ; preds = %14184
  br label %14194

14194:                                            ; preds = %14193
  br label %14195

14195:                                            ; preds = %14194
  call void @llvm.lifetime.start.p0(i64 4, ptr %366) #10
  %14196 = call ptr @__errno_location() #11
  %14197 = load i32, ptr %14196, align 4, !tbaa !5
  store i32 %14197, ptr %366, align 4, !tbaa !5
  %14198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14199 = call i32 @s2n_print_stacktrace(ptr noundef %14198)
  %14200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14201 = trunc i8 %14200 to i1
  br i1 %14201, label %14202, label %14224

14202:                                            ; preds = %14195
  %14203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14204 = call i32 @fileno(ptr noundef %14203) #10
  %14205 = call i32 @isatty(i32 noundef %14204) #10
  %14206 = icmp ne i32 %14205, 0
  br i1 %14206, label %14207, label %14224

14207:                                            ; preds = %14202
  %14208 = load i32, ptr %366, align 4, !tbaa !5
  %14209 = call ptr @__errno_location() #11
  store i32 %14208, ptr %14209, align 4, !tbaa !5
  %14210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14211 = load i32, ptr @test_count, align 4, !tbaa !5
  %14212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14213 = load i32, ptr %14212, align 4, !tbaa !5
  %14214 = call ptr @s2n_strerror(i32 noundef %14213, ptr noundef @.str.3)
  %14215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14216 = load i32, ptr %14215, align 4, !tbaa !5
  %14217 = call ptr @s2n_strerror_debug(i32 noundef %14216, ptr noundef @.str.3)
  %14218 = call ptr @__errno_location() #11
  %14219 = load i32, ptr %14218, align 4, !tbaa !5
  %14220 = call ptr @strerror(i32 noundef %14219) #10
  %14221 = call ptr @__errno_location() #11
  %14222 = load i32, ptr %14221, align 4, !tbaa !5
  %14223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14210, ptr noundef @.str, i32 noundef %14211, ptr noundef @.str.101, ptr noundef @.str.2, i32 noundef 749, ptr noundef %14214, ptr noundef %14217, ptr noundef %14220, i32 noundef %14222) #10
  br label %14241

14224:                                            ; preds = %14202, %14195
  %14225 = load i32, ptr %366, align 4, !tbaa !5
  %14226 = call ptr @__errno_location() #11
  store i32 %14225, ptr %14226, align 4, !tbaa !5
  %14227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14228 = load i32, ptr @test_count, align 4, !tbaa !5
  %14229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14230 = load i32, ptr %14229, align 4, !tbaa !5
  %14231 = call ptr @s2n_strerror(i32 noundef %14230, ptr noundef @.str.3)
  %14232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14233 = load i32, ptr %14232, align 4, !tbaa !5
  %14234 = call ptr @s2n_strerror_debug(i32 noundef %14233, ptr noundef @.str.3)
  %14235 = call ptr @__errno_location() #11
  %14236 = load i32, ptr %14235, align 4, !tbaa !5
  %14237 = call ptr @strerror(i32 noundef %14236) #10
  %14238 = call ptr @__errno_location() #11
  %14239 = load i32, ptr %14238, align 4, !tbaa !5
  %14240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14227, ptr noundef @.str.4, i32 noundef %14228, ptr noundef @.str.101, ptr noundef @.str.2, i32 noundef 749, ptr noundef %14231, ptr noundef %14234, ptr noundef %14237, i32 noundef %14239) #10
  br label %14241

14241:                                            ; preds = %14224, %14207
  call void @llvm.lifetime.end.p0(i64 4, ptr %366) #10
  br label %14242

14242:                                            ; preds = %14241
  br label %14243

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

14244:                                            ; No predecessors!
  br label %14245

14245:                                            ; preds = %14244
  br label %14246

14246:                                            ; preds = %14245, %14184
  br label %14247

14247:                                            ; preds = %14246
  br label %14248

14248:                                            ; preds = %14247
  br label %14249

14249:                                            ; preds = %14248
  %14250 = load i32, ptr @test_count, align 4, !tbaa !5
  %14251 = add nsw i32 %14250, 1
  store i32 %14251, ptr @test_count, align 4, !tbaa !5
  %14252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14253 = load i32, ptr %14252, align 4, !tbaa !5
  %14254 = icmp eq i32 %14253, 469762089
  br i1 %14254, label %14308, label %14255

14255:                                            ; preds = %14249
  br label %14256

14256:                                            ; preds = %14255
  br label %14257

14257:                                            ; preds = %14256
  call void @llvm.lifetime.start.p0(i64 4, ptr %367) #10
  %14258 = call ptr @__errno_location() #11
  %14259 = load i32, ptr %14258, align 4, !tbaa !5
  store i32 %14259, ptr %367, align 4, !tbaa !5
  %14260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14261 = call i32 @s2n_print_stacktrace(ptr noundef %14260)
  %14262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14263 = trunc i8 %14262 to i1
  br i1 %14263, label %14264, label %14286

14264:                                            ; preds = %14257
  %14265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14266 = call i32 @fileno(ptr noundef %14265) #10
  %14267 = call i32 @isatty(i32 noundef %14266) #10
  %14268 = icmp ne i32 %14267, 0
  br i1 %14268, label %14269, label %14286

14269:                                            ; preds = %14264
  %14270 = load i32, ptr %367, align 4, !tbaa !5
  %14271 = call ptr @__errno_location() #11
  store i32 %14270, ptr %14271, align 4, !tbaa !5
  %14272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14273 = load i32, ptr @test_count, align 4, !tbaa !5
  %14274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14275 = load i32, ptr %14274, align 4, !tbaa !5
  %14276 = call ptr @s2n_strerror(i32 noundef %14275, ptr noundef @.str.3)
  %14277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14278 = load i32, ptr %14277, align 4, !tbaa !5
  %14279 = call ptr @s2n_strerror_debug(i32 noundef %14278, ptr noundef @.str.3)
  %14280 = call ptr @__errno_location() #11
  %14281 = load i32, ptr %14280, align 4, !tbaa !5
  %14282 = call ptr @strerror(i32 noundef %14281) #10
  %14283 = call ptr @__errno_location() #11
  %14284 = load i32, ptr %14283, align 4, !tbaa !5
  %14285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14272, ptr noundef @.str, i32 noundef %14273, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 749, ptr noundef %14276, ptr noundef %14279, ptr noundef %14282, i32 noundef %14284) #10
  br label %14303

14286:                                            ; preds = %14264, %14257
  %14287 = load i32, ptr %367, align 4, !tbaa !5
  %14288 = call ptr @__errno_location() #11
  store i32 %14287, ptr %14288, align 4, !tbaa !5
  %14289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14290 = load i32, ptr @test_count, align 4, !tbaa !5
  %14291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14292 = load i32, ptr %14291, align 4, !tbaa !5
  %14293 = call ptr @s2n_strerror(i32 noundef %14292, ptr noundef @.str.3)
  %14294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14295 = load i32, ptr %14294, align 4, !tbaa !5
  %14296 = call ptr @s2n_strerror_debug(i32 noundef %14295, ptr noundef @.str.3)
  %14297 = call ptr @__errno_location() #11
  %14298 = load i32, ptr %14297, align 4, !tbaa !5
  %14299 = call ptr @strerror(i32 noundef %14298) #10
  %14300 = call ptr @__errno_location() #11
  %14301 = load i32, ptr %14300, align 4, !tbaa !5
  %14302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14289, ptr noundef @.str.4, i32 noundef %14290, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 749, ptr noundef %14293, ptr noundef %14296, ptr noundef %14299, i32 noundef %14301) #10
  br label %14303

14303:                                            ; preds = %14286, %14269
  call void @llvm.lifetime.end.p0(i64 4, ptr %367) #10
  br label %14304

14304:                                            ; preds = %14303
  br label %14305

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

14306:                                            ; No predecessors!
  br label %14307

14307:                                            ; preds = %14306
  br label %14308

14308:                                            ; preds = %14307, %14249
  br label %14309

14309:                                            ; preds = %14308
  br label %14310

14310:                                            ; preds = %14309
  br label %14311

14311:                                            ; preds = %14310
  %14312 = load i32, ptr @test_count, align 4, !tbaa !5
  %14313 = add nsw i32 %14312, 1
  store i32 %14313, ptr @test_count, align 4, !tbaa !5
  %14314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14315 = load i32, ptr %14314, align 4, !tbaa !5
  %14316 = call ptr @s2n_strerror_debug(i32 noundef %14315, ptr noundef @.str.3)
  %14317 = icmp eq ptr %14316, null
  br i1 %14317, label %14318, label %14371

14318:                                            ; preds = %14311
  br label %14319

14319:                                            ; preds = %14318
  br label %14320

14320:                                            ; preds = %14319
  call void @llvm.lifetime.start.p0(i64 4, ptr %368) #10
  %14321 = call ptr @__errno_location() #11
  %14322 = load i32, ptr %14321, align 4, !tbaa !5
  store i32 %14322, ptr %368, align 4, !tbaa !5
  %14323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14324 = call i32 @s2n_print_stacktrace(ptr noundef %14323)
  %14325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14326 = trunc i8 %14325 to i1
  br i1 %14326, label %14327, label %14349

14327:                                            ; preds = %14320
  %14328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14329 = call i32 @fileno(ptr noundef %14328) #10
  %14330 = call i32 @isatty(i32 noundef %14329) #10
  %14331 = icmp ne i32 %14330, 0
  br i1 %14331, label %14332, label %14349

14332:                                            ; preds = %14327
  %14333 = load i32, ptr %368, align 4, !tbaa !5
  %14334 = call ptr @__errno_location() #11
  store i32 %14333, ptr %14334, align 4, !tbaa !5
  %14335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14336 = load i32, ptr @test_count, align 4, !tbaa !5
  %14337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14338 = load i32, ptr %14337, align 4, !tbaa !5
  %14339 = call ptr @s2n_strerror(i32 noundef %14338, ptr noundef @.str.3)
  %14340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14341 = load i32, ptr %14340, align 4, !tbaa !5
  %14342 = call ptr @s2n_strerror_debug(i32 noundef %14341, ptr noundef @.str.3)
  %14343 = call ptr @__errno_location() #11
  %14344 = load i32, ptr %14343, align 4, !tbaa !5
  %14345 = call ptr @strerror(i32 noundef %14344) #10
  %14346 = call ptr @__errno_location() #11
  %14347 = load i32, ptr %14346, align 4, !tbaa !5
  %14348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14335, ptr noundef @.str, i32 noundef %14336, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 749, ptr noundef %14339, ptr noundef %14342, ptr noundef %14345, i32 noundef %14347) #10
  br label %14366

14349:                                            ; preds = %14327, %14320
  %14350 = load i32, ptr %368, align 4, !tbaa !5
  %14351 = call ptr @__errno_location() #11
  store i32 %14350, ptr %14351, align 4, !tbaa !5
  %14352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14353 = load i32, ptr @test_count, align 4, !tbaa !5
  %14354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14355 = load i32, ptr %14354, align 4, !tbaa !5
  %14356 = call ptr @s2n_strerror(i32 noundef %14355, ptr noundef @.str.3)
  %14357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14358 = load i32, ptr %14357, align 4, !tbaa !5
  %14359 = call ptr @s2n_strerror_debug(i32 noundef %14358, ptr noundef @.str.3)
  %14360 = call ptr @__errno_location() #11
  %14361 = load i32, ptr %14360, align 4, !tbaa !5
  %14362 = call ptr @strerror(i32 noundef %14361) #10
  %14363 = call ptr @__errno_location() #11
  %14364 = load i32, ptr %14363, align 4, !tbaa !5
  %14365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14352, ptr noundef @.str.4, i32 noundef %14353, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 749, ptr noundef %14356, ptr noundef %14359, ptr noundef %14362, i32 noundef %14364) #10
  br label %14366

14366:                                            ; preds = %14349, %14332
  call void @llvm.lifetime.end.p0(i64 4, ptr %368) #10
  br label %14367

14367:                                            ; preds = %14366
  br label %14368

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

14369:                                            ; No predecessors!
  br label %14370

14370:                                            ; preds = %14369
  br label %14371

14371:                                            ; preds = %14370, %14311
  br label %14372

14372:                                            ; preds = %14371
  br label %14373

14373:                                            ; preds = %14372
  br label %14374

14374:                                            ; preds = %14373
  br label %14375

14375:                                            ; preds = %14374
  br label %14376

14376:                                            ; preds = %14375
  %14377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14377, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14378 = call ptr @__errno_location() #11
  store i32 0, ptr %14378, align 4, !tbaa !5
  br label %14379

14379:                                            ; preds = %14376
  br label %14380

14380:                                            ; preds = %14379
  br label %14381

14381:                                            ; preds = %14380
  br label %14382

14382:                                            ; preds = %14381
  call void @llvm.lifetime.end.p0(i64 32, ptr %364) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %359) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %358) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %277) #10
  call void @llvm.lifetime.end.p0(i64 128, ptr %276) #10
  call void @llvm.lifetime.start.p0(i64 2, ptr %369) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %369, ptr align 1 @__const.main.use_send, i64 2, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr %370) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %370, ptr align 16 @__const.main.results.102, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %371) #10
  store i64 0, ptr %371, align 8, !tbaa !15
  br label %14383

14383:                                            ; preds = %15428, %14382
  %14384 = load i64, ptr %371, align 8, !tbaa !15
  %14385 = icmp ult i64 %14384, 2
  br i1 %14385, label %14387, label %14386

14386:                                            ; preds = %14383
  store i32 1413, ptr %372, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %371) #10
  br label %15431

14387:                                            ; preds = %14383
  call void @llvm.lifetime.start.p0(i64 8, ptr %373) #10
  %14388 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %14388, ptr %373, align 8, !tbaa !9
  br label %14389

14389:                                            ; preds = %14387
  %14390 = load i32, ptr @test_count, align 4, !tbaa !5
  %14391 = add nsw i32 %14390, 1
  store i32 %14391, ptr @test_count, align 4, !tbaa !5
  %14392 = load ptr, ptr %373, align 8, !tbaa !9
  %14393 = icmp eq ptr %14392, null
  br i1 %14393, label %14394, label %14447

14394:                                            ; preds = %14389
  br label %14395

14395:                                            ; preds = %14394
  br label %14396

14396:                                            ; preds = %14395
  call void @llvm.lifetime.start.p0(i64 4, ptr %374) #10
  %14397 = call ptr @__errno_location() #11
  %14398 = load i32, ptr %14397, align 4, !tbaa !5
  store i32 %14398, ptr %374, align 4, !tbaa !5
  %14399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14400 = call i32 @s2n_print_stacktrace(ptr noundef %14399)
  %14401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14402 = trunc i8 %14401 to i1
  br i1 %14402, label %14403, label %14425

14403:                                            ; preds = %14396
  %14404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14405 = call i32 @fileno(ptr noundef %14404) #10
  %14406 = call i32 @isatty(i32 noundef %14405) #10
  %14407 = icmp ne i32 %14406, 0
  br i1 %14407, label %14408, label %14425

14408:                                            ; preds = %14403
  %14409 = load i32, ptr %374, align 4, !tbaa !5
  %14410 = call ptr @__errno_location() #11
  store i32 %14409, ptr %14410, align 4, !tbaa !5
  %14411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14412 = load i32, ptr @test_count, align 4, !tbaa !5
  %14413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14414 = load i32, ptr %14413, align 4, !tbaa !5
  %14415 = call ptr @s2n_strerror(i32 noundef %14414, ptr noundef @.str.3)
  %14416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14417 = load i32, ptr %14416, align 4, !tbaa !5
  %14418 = call ptr @s2n_strerror_debug(i32 noundef %14417, ptr noundef @.str.3)
  %14419 = call ptr @__errno_location() #11
  %14420 = load i32, ptr %14419, align 4, !tbaa !5
  %14421 = call ptr @strerror(i32 noundef %14420) #10
  %14422 = call ptr @__errno_location() #11
  %14423 = load i32, ptr %14422, align 4, !tbaa !5
  %14424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14411, ptr noundef @.str, i32 noundef %14412, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 770, ptr noundef %14415, ptr noundef %14418, ptr noundef %14421, i32 noundef %14423) #10
  br label %14442

14425:                                            ; preds = %14403, %14396
  %14426 = load i32, ptr %374, align 4, !tbaa !5
  %14427 = call ptr @__errno_location() #11
  store i32 %14426, ptr %14427, align 4, !tbaa !5
  %14428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14429 = load i32, ptr @test_count, align 4, !tbaa !5
  %14430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14431 = load i32, ptr %14430, align 4, !tbaa !5
  %14432 = call ptr @s2n_strerror(i32 noundef %14431, ptr noundef @.str.3)
  %14433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14434 = load i32, ptr %14433, align 4, !tbaa !5
  %14435 = call ptr @s2n_strerror_debug(i32 noundef %14434, ptr noundef @.str.3)
  %14436 = call ptr @__errno_location() #11
  %14437 = load i32, ptr %14436, align 4, !tbaa !5
  %14438 = call ptr @strerror(i32 noundef %14437) #10
  %14439 = call ptr @__errno_location() #11
  %14440 = load i32, ptr %14439, align 4, !tbaa !5
  %14441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14428, ptr noundef @.str.4, i32 noundef %14429, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 770, ptr noundef %14432, ptr noundef %14435, ptr noundef %14438, i32 noundef %14440) #10
  br label %14442

14442:                                            ; preds = %14425, %14408
  call void @llvm.lifetime.end.p0(i64 4, ptr %374) #10
  br label %14443

14443:                                            ; preds = %14442
  br label %14444

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

14445:                                            ; No predecessors!
  br label %14446

14446:                                            ; preds = %14445
  br label %14447

14447:                                            ; preds = %14446, %14389
  br label %14448

14448:                                            ; preds = %14447
  br label %14449

14449:                                            ; preds = %14448
  br label %14450

14450:                                            ; preds = %14449
  %14451 = load i32, ptr @test_count, align 4, !tbaa !5
  %14452 = add nsw i32 %14451, 1
  store i32 %14452, ptr @test_count, align 4, !tbaa !5
  %14453 = load ptr, ptr %373, align 8, !tbaa !9
  %14454 = call i32 @s2n_connection_set_secrets(ptr noundef %14453)
  %14455 = getelementptr inbounds %struct.s2n_result, ptr %375, i32 0, i32 0
  store i32 %14454, ptr %14455, align 4
  %14456 = getelementptr inbounds %struct.s2n_result, ptr %375, i32 0, i32 0
  %14457 = load i32, ptr %14456, align 4
  %14458 = call zeroext i1 @s2n_result_is_ok(i32 %14457)
  br i1 %14458, label %14512, label %14459

14459:                                            ; preds = %14450
  br label %14460

14460:                                            ; preds = %14459
  br label %14461

14461:                                            ; preds = %14460
  call void @llvm.lifetime.start.p0(i64 4, ptr %376) #10
  %14462 = call ptr @__errno_location() #11
  %14463 = load i32, ptr %14462, align 4, !tbaa !5
  store i32 %14463, ptr %376, align 4, !tbaa !5
  %14464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14465 = call i32 @s2n_print_stacktrace(ptr noundef %14464)
  %14466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14467 = trunc i8 %14466 to i1
  br i1 %14467, label %14468, label %14490

14468:                                            ; preds = %14461
  %14469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14470 = call i32 @fileno(ptr noundef %14469) #10
  %14471 = call i32 @isatty(i32 noundef %14470) #10
  %14472 = icmp ne i32 %14471, 0
  br i1 %14472, label %14473, label %14490

14473:                                            ; preds = %14468
  %14474 = load i32, ptr %376, align 4, !tbaa !5
  %14475 = call ptr @__errno_location() #11
  store i32 %14474, ptr %14475, align 4, !tbaa !5
  %14476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14477 = load i32, ptr @test_count, align 4, !tbaa !5
  %14478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14479 = load i32, ptr %14478, align 4, !tbaa !5
  %14480 = call ptr @s2n_strerror(i32 noundef %14479, ptr noundef @.str.3)
  %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_debug(i32 noundef %14482, ptr noundef @.str.3)
  %14484 = call ptr @__errno_location() #11
  %14485 = load i32, ptr %14484, align 4, !tbaa !5
  %14486 = call ptr @strerror(i32 noundef %14485) #10
  %14487 = call ptr @__errno_location() #11
  %14488 = load i32, ptr %14487, align 4, !tbaa !5
  %14489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14476, ptr noundef @.str, i32 noundef %14477, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 771, ptr noundef %14480, ptr noundef %14483, ptr noundef %14486, i32 noundef %14488) #10
  br label %14507

14490:                                            ; preds = %14468, %14461
  %14491 = load i32, ptr %376, align 4, !tbaa !5
  %14492 = call ptr @__errno_location() #11
  store i32 %14491, ptr %14492, align 4, !tbaa !5
  %14493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14494 = load i32, ptr @test_count, align 4, !tbaa !5
  %14495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14496 = load i32, ptr %14495, align 4, !tbaa !5
  %14497 = call ptr @s2n_strerror(i32 noundef %14496, ptr noundef @.str.3)
  %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_debug(i32 noundef %14499, ptr noundef @.str.3)
  %14501 = call ptr @__errno_location() #11
  %14502 = load i32, ptr %14501, align 4, !tbaa !5
  %14503 = call ptr @strerror(i32 noundef %14502) #10
  %14504 = call ptr @__errno_location() #11
  %14505 = load i32, ptr %14504, align 4, !tbaa !5
  %14506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14493, ptr noundef @.str.4, i32 noundef %14494, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 771, ptr noundef %14497, ptr noundef %14500, ptr noundef %14503, i32 noundef %14505) #10
  br label %14507

14507:                                            ; preds = %14490, %14473
  call void @llvm.lifetime.end.p0(i64 4, ptr %376) #10
  br label %14508

14508:                                            ; preds = %14507
  br label %14509

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

14510:                                            ; No predecessors!
  br label %14511

14511:                                            ; preds = %14510
  br label %14512

14512:                                            ; preds = %14511, %14450
  br label %14513

14513:                                            ; preds = %14512
  br label %14514

14514:                                            ; preds = %14513
  call void @llvm.lifetime.start.p0(i64 32, ptr %377) #10
  %14515 = getelementptr inbounds %struct.s2n_send_context, ptr %377, i32 0, i32 0
  store i64 0, ptr %14515, align 8, !tbaa !23
  %14516 = getelementptr inbounds %struct.s2n_send_context, ptr %377, i32 0, i32 1
  store i64 0, ptr %14516, align 8, !tbaa !25
  %14517 = getelementptr inbounds %struct.s2n_send_context, ptr %377, i32 0, i32 2
  %14518 = getelementptr inbounds [4 x %struct.s2n_send_result], ptr %370, i64 0, i64 0
  store ptr %14518, ptr %14517, align 8, !tbaa !26
  %14519 = getelementptr inbounds %struct.s2n_send_context, ptr %377, i32 0, i32 3
  store i64 4, ptr %14519, align 8, !tbaa !27
  br label %14520

14520:                                            ; preds = %14514
  %14521 = load i32, ptr @test_count, align 4, !tbaa !5
  %14522 = add nsw i32 %14521, 1
  store i32 %14522, ptr @test_count, align 4, !tbaa !5
  %14523 = load ptr, ptr %373, align 8, !tbaa !9
  %14524 = call i32 @s2n_connection_set_send_cb(ptr noundef %14523, ptr noundef @s2n_test_send_cb)
  %14525 = icmp eq i32 %14524, -1
  br i1 %14525, label %14526, label %14579

14526:                                            ; preds = %14520
  br label %14527

14527:                                            ; preds = %14526
  br label %14528

14528:                                            ; preds = %14527
  call void @llvm.lifetime.start.p0(i64 4, ptr %378) #10
  %14529 = call ptr @__errno_location() #11
  %14530 = load i32, ptr %14529, align 4, !tbaa !5
  store i32 %14530, ptr %378, align 4, !tbaa !5
  %14531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14532 = call i32 @s2n_print_stacktrace(ptr noundef %14531)
  %14533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14534 = trunc i8 %14533 to i1
  br i1 %14534, label %14535, label %14557

14535:                                            ; preds = %14528
  %14536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14537 = call i32 @fileno(ptr noundef %14536) #10
  %14538 = call i32 @isatty(i32 noundef %14537) #10
  %14539 = icmp ne i32 %14538, 0
  br i1 %14539, label %14540, label %14557

14540:                                            ; preds = %14535
  %14541 = load i32, ptr %378, align 4, !tbaa !5
  %14542 = call ptr @__errno_location() #11
  store i32 %14541, ptr %14542, align 4, !tbaa !5
  %14543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14544 = load i32, ptr @test_count, align 4, !tbaa !5
  %14545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14546 = load i32, ptr %14545, align 4, !tbaa !5
  %14547 = call ptr @s2n_strerror(i32 noundef %14546, ptr noundef @.str.3)
  %14548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14549 = load i32, ptr %14548, align 4, !tbaa !5
  %14550 = call ptr @s2n_strerror_debug(i32 noundef %14549, ptr noundef @.str.3)
  %14551 = call ptr @__errno_location() #11
  %14552 = load i32, ptr %14551, align 4, !tbaa !5
  %14553 = call ptr @strerror(i32 noundef %14552) #10
  %14554 = call ptr @__errno_location() #11
  %14555 = load i32, ptr %14554, align 4, !tbaa !5
  %14556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14543, ptr noundef @.str, i32 noundef %14544, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 777, ptr noundef %14547, ptr noundef %14550, ptr noundef %14553, i32 noundef %14555) #10
  br label %14574

14557:                                            ; preds = %14535, %14528
  %14558 = load i32, ptr %378, align 4, !tbaa !5
  %14559 = call ptr @__errno_location() #11
  store i32 %14558, ptr %14559, align 4, !tbaa !5
  %14560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14561 = load i32, ptr @test_count, align 4, !tbaa !5
  %14562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14563 = load i32, ptr %14562, align 4, !tbaa !5
  %14564 = call ptr @s2n_strerror(i32 noundef %14563, ptr noundef @.str.3)
  %14565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14566 = load i32, ptr %14565, align 4, !tbaa !5
  %14567 = call ptr @s2n_strerror_debug(i32 noundef %14566, ptr noundef @.str.3)
  %14568 = call ptr @__errno_location() #11
  %14569 = load i32, ptr %14568, align 4, !tbaa !5
  %14570 = call ptr @strerror(i32 noundef %14569) #10
  %14571 = call ptr @__errno_location() #11
  %14572 = load i32, ptr %14571, align 4, !tbaa !5
  %14573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14560, ptr noundef @.str.4, i32 noundef %14561, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 777, ptr noundef %14564, ptr noundef %14567, ptr noundef %14570, i32 noundef %14572) #10
  br label %14574

14574:                                            ; preds = %14557, %14540
  call void @llvm.lifetime.end.p0(i64 4, ptr %378) #10
  br label %14575

14575:                                            ; preds = %14574
  br label %14576

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

14577:                                            ; No predecessors!
  br label %14578

14578:                                            ; preds = %14577
  br label %14579

14579:                                            ; preds = %14578, %14520
  br label %14580

14580:                                            ; preds = %14579
  br label %14581

14581:                                            ; preds = %14580
  br label %14582

14582:                                            ; preds = %14581
  %14583 = load i32, ptr @test_count, align 4, !tbaa !5
  %14584 = add nsw i32 %14583, 1
  store i32 %14584, ptr @test_count, align 4, !tbaa !5
  %14585 = load ptr, ptr %373, align 8, !tbaa !9
  %14586 = call i32 @s2n_connection_set_send_ctx(ptr noundef %14585, ptr noundef %377)
  %14587 = icmp eq i32 %14586, -1
  br i1 %14587, label %14588, label %14641

14588:                                            ; preds = %14582
  br label %14589

14589:                                            ; preds = %14588
  br label %14590

14590:                                            ; preds = %14589
  call void @llvm.lifetime.start.p0(i64 4, ptr %379) #10
  %14591 = call ptr @__errno_location() #11
  %14592 = load i32, ptr %14591, align 4, !tbaa !5
  store i32 %14592, ptr %379, align 4, !tbaa !5
  %14593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14594 = call i32 @s2n_print_stacktrace(ptr noundef %14593)
  %14595 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14596 = trunc i8 %14595 to i1
  br i1 %14596, label %14597, label %14619

14597:                                            ; preds = %14590
  %14598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14599 = call i32 @fileno(ptr noundef %14598) #10
  %14600 = call i32 @isatty(i32 noundef %14599) #10
  %14601 = icmp ne i32 %14600, 0
  br i1 %14601, label %14602, label %14619

14602:                                            ; preds = %14597
  %14603 = load i32, ptr %379, align 4, !tbaa !5
  %14604 = call ptr @__errno_location() #11
  store i32 %14603, ptr %14604, align 4, !tbaa !5
  %14605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14606 = load i32, ptr @test_count, align 4, !tbaa !5
  %14607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14608 = load i32, ptr %14607, align 4, !tbaa !5
  %14609 = call ptr @s2n_strerror(i32 noundef %14608, ptr noundef @.str.3)
  %14610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14611 = load i32, ptr %14610, align 4, !tbaa !5
  %14612 = call ptr @s2n_strerror_debug(i32 noundef %14611, ptr noundef @.str.3)
  %14613 = call ptr @__errno_location() #11
  %14614 = load i32, ptr %14613, align 4, !tbaa !5
  %14615 = call ptr @strerror(i32 noundef %14614) #10
  %14616 = call ptr @__errno_location() #11
  %14617 = load i32, ptr %14616, align 4, !tbaa !5
  %14618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14605, ptr noundef @.str, i32 noundef %14606, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 778, ptr noundef %14609, ptr noundef %14612, ptr noundef %14615, i32 noundef %14617) #10
  br label %14636

14619:                                            ; preds = %14597, %14590
  %14620 = load i32, ptr %379, align 4, !tbaa !5
  %14621 = call ptr @__errno_location() #11
  store i32 %14620, ptr %14621, align 4, !tbaa !5
  %14622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14623 = load i32, ptr @test_count, align 4, !tbaa !5
  %14624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14625 = load i32, ptr %14624, align 4, !tbaa !5
  %14626 = call ptr @s2n_strerror(i32 noundef %14625, ptr noundef @.str.3)
  %14627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14628 = load i32, ptr %14627, align 4, !tbaa !5
  %14629 = call ptr @s2n_strerror_debug(i32 noundef %14628, ptr noundef @.str.3)
  %14630 = call ptr @__errno_location() #11
  %14631 = load i32, ptr %14630, align 4, !tbaa !5
  %14632 = call ptr @strerror(i32 noundef %14631) #10
  %14633 = call ptr @__errno_location() #11
  %14634 = load i32, ptr %14633, align 4, !tbaa !5
  %14635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14622, ptr noundef @.str.4, i32 noundef %14623, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 778, ptr noundef %14626, ptr noundef %14629, ptr noundef %14632, i32 noundef %14634) #10
  br label %14636

14636:                                            ; preds = %14619, %14602
  call void @llvm.lifetime.end.p0(i64 4, ptr %379) #10
  br label %14637

14637:                                            ; preds = %14636
  br label %14638

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

14639:                                            ; No predecessors!
  br label %14640

14640:                                            ; preds = %14639
  br label %14641

14641:                                            ; preds = %14640, %14582
  br label %14642

14642:                                            ; preds = %14641
  br label %14643

14643:                                            ; preds = %14642
  call void @llvm.lifetime.start.p0(i64 4, ptr %380) #10
  store i32 0, ptr %380, align 4, !tbaa !5
  br label %14644

14644:                                            ; preds = %14643
  br label %14645

14645:                                            ; preds = %14644
  br label %14646

14646:                                            ; preds = %14645
  %14647 = load i32, ptr @test_count, align 4, !tbaa !5
  %14648 = add nsw i32 %14647, 1
  store i32 %14648, ptr @test_count, align 4, !tbaa !5
  %14649 = load ptr, ptr %373, align 8, !tbaa !9
  %14650 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %14651 = call i64 @s2n_send(ptr noundef %14649, ptr noundef %14650, i64 noundef 16394, ptr noundef %380)
  %14652 = icmp eq i64 %14651, -1
  br i1 %14652, label %14706, label %14653

14653:                                            ; preds = %14646
  br label %14654

14654:                                            ; preds = %14653
  br label %14655

14655:                                            ; preds = %14654
  call void @llvm.lifetime.start.p0(i64 4, ptr %381) #10
  %14656 = call ptr @__errno_location() #11
  %14657 = load i32, ptr %14656, align 4, !tbaa !5
  store i32 %14657, ptr %381, align 4, !tbaa !5
  %14658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14659 = call i32 @s2n_print_stacktrace(ptr noundef %14658)
  %14660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14661 = trunc i8 %14660 to i1
  br i1 %14661, label %14662, label %14684

14662:                                            ; preds = %14655
  %14663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14664 = call i32 @fileno(ptr noundef %14663) #10
  %14665 = call i32 @isatty(i32 noundef %14664) #10
  %14666 = icmp ne i32 %14665, 0
  br i1 %14666, label %14667, label %14684

14667:                                            ; preds = %14662
  %14668 = load i32, ptr %381, align 4, !tbaa !5
  %14669 = call ptr @__errno_location() #11
  store i32 %14668, ptr %14669, align 4, !tbaa !5
  %14670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14671 = load i32, ptr @test_count, align 4, !tbaa !5
  %14672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14673 = load i32, ptr %14672, align 4, !tbaa !5
  %14674 = call ptr @s2n_strerror(i32 noundef %14673, ptr noundef @.str.3)
  %14675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14676 = load i32, ptr %14675, align 4, !tbaa !5
  %14677 = call ptr @s2n_strerror_debug(i32 noundef %14676, ptr noundef @.str.3)
  %14678 = call ptr @__errno_location() #11
  %14679 = load i32, ptr %14678, align 4, !tbaa !5
  %14680 = call ptr @strerror(i32 noundef %14679) #10
  %14681 = call ptr @__errno_location() #11
  %14682 = load i32, ptr %14681, align 4, !tbaa !5
  %14683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14670, ptr noundef @.str, i32 noundef %14671, ptr noundef @.str.103, ptr noundef @.str.2, i32 noundef 784, ptr noundef %14674, ptr noundef %14677, ptr noundef %14680, i32 noundef %14682) #10
  br label %14701

14684:                                            ; preds = %14662, %14655
  %14685 = load i32, ptr %381, align 4, !tbaa !5
  %14686 = call ptr @__errno_location() #11
  store i32 %14685, ptr %14686, align 4, !tbaa !5
  %14687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14688 = load i32, ptr @test_count, align 4, !tbaa !5
  %14689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14690 = load i32, ptr %14689, align 4, !tbaa !5
  %14691 = call ptr @s2n_strerror(i32 noundef %14690, ptr noundef @.str.3)
  %14692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14693 = load i32, ptr %14692, align 4, !tbaa !5
  %14694 = call ptr @s2n_strerror_debug(i32 noundef %14693, ptr noundef @.str.3)
  %14695 = call ptr @__errno_location() #11
  %14696 = load i32, ptr %14695, align 4, !tbaa !5
  %14697 = call ptr @strerror(i32 noundef %14696) #10
  %14698 = call ptr @__errno_location() #11
  %14699 = load i32, ptr %14698, align 4, !tbaa !5
  %14700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14687, ptr noundef @.str.4, i32 noundef %14688, ptr noundef @.str.103, ptr noundef @.str.2, i32 noundef 784, ptr noundef %14691, ptr noundef %14694, ptr noundef %14697, i32 noundef %14699) #10
  br label %14701

14701:                                            ; preds = %14684, %14667
  call void @llvm.lifetime.end.p0(i64 4, ptr %381) #10
  br label %14702

14702:                                            ; preds = %14701
  br label %14703

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

14704:                                            ; No predecessors!
  br label %14705

14705:                                            ; preds = %14704
  br label %14706

14706:                                            ; preds = %14705, %14646
  br label %14707

14707:                                            ; preds = %14706
  br label %14708

14708:                                            ; preds = %14707
  br label %14709

14709:                                            ; preds = %14708
  %14710 = load i32, ptr @test_count, align 4, !tbaa !5
  %14711 = add nsw i32 %14710, 1
  store i32 %14711, ptr @test_count, align 4, !tbaa !5
  %14712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14713 = load i32, ptr %14712, align 4, !tbaa !5
  %14714 = icmp eq i32 %14713, 201326592
  br i1 %14714, label %14768, label %14715

14715:                                            ; preds = %14709
  br label %14716

14716:                                            ; preds = %14715
  br label %14717

14717:                                            ; preds = %14716
  call void @llvm.lifetime.start.p0(i64 4, ptr %382) #10
  %14718 = call ptr @__errno_location() #11
  %14719 = load i32, ptr %14718, align 4, !tbaa !5
  store i32 %14719, ptr %382, align 4, !tbaa !5
  %14720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14721 = call i32 @s2n_print_stacktrace(ptr noundef %14720)
  %14722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14723 = trunc i8 %14722 to i1
  br i1 %14723, label %14724, label %14746

14724:                                            ; preds = %14717
  %14725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14726 = call i32 @fileno(ptr noundef %14725) #10
  %14727 = call i32 @isatty(i32 noundef %14726) #10
  %14728 = icmp ne i32 %14727, 0
  br i1 %14728, label %14729, label %14746

14729:                                            ; preds = %14724
  %14730 = load i32, ptr %382, align 4, !tbaa !5
  %14731 = call ptr @__errno_location() #11
  store i32 %14730, ptr %14731, align 4, !tbaa !5
  %14732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14733 = load i32, ptr @test_count, align 4, !tbaa !5
  %14734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14735 = load i32, ptr %14734, align 4, !tbaa !5
  %14736 = call ptr @s2n_strerror(i32 noundef %14735, ptr noundef @.str.3)
  %14737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14738 = load i32, ptr %14737, align 4, !tbaa !5
  %14739 = call ptr @s2n_strerror_debug(i32 noundef %14738, ptr noundef @.str.3)
  %14740 = call ptr @__errno_location() #11
  %14741 = load i32, ptr %14740, align 4, !tbaa !5
  %14742 = call ptr @strerror(i32 noundef %14741) #10
  %14743 = call ptr @__errno_location() #11
  %14744 = load i32, ptr %14743, align 4, !tbaa !5
  %14745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14732, ptr noundef @.str, i32 noundef %14733, ptr noundef @.str.43, ptr noundef @.str.2, i32 noundef 784, ptr noundef %14736, ptr noundef %14739, ptr noundef %14742, i32 noundef %14744) #10
  br label %14763

14746:                                            ; preds = %14724, %14717
  %14747 = load i32, ptr %382, align 4, !tbaa !5
  %14748 = call ptr @__errno_location() #11
  store i32 %14747, ptr %14748, align 4, !tbaa !5
  %14749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14750 = load i32, ptr @test_count, align 4, !tbaa !5
  %14751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14752 = load i32, ptr %14751, align 4, !tbaa !5
  %14753 = call ptr @s2n_strerror(i32 noundef %14752, ptr noundef @.str.3)
  %14754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14755 = load i32, ptr %14754, align 4, !tbaa !5
  %14756 = call ptr @s2n_strerror_debug(i32 noundef %14755, ptr noundef @.str.3)
  %14757 = call ptr @__errno_location() #11
  %14758 = load i32, ptr %14757, align 4, !tbaa !5
  %14759 = call ptr @strerror(i32 noundef %14758) #10
  %14760 = call ptr @__errno_location() #11
  %14761 = load i32, ptr %14760, align 4, !tbaa !5
  %14762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14749, ptr noundef @.str.4, i32 noundef %14750, ptr noundef @.str.43, ptr noundef @.str.2, i32 noundef 784, ptr noundef %14753, ptr noundef %14756, ptr noundef %14759, i32 noundef %14761) #10
  br label %14763

14763:                                            ; preds = %14746, %14729
  call void @llvm.lifetime.end.p0(i64 4, ptr %382) #10
  br label %14764

14764:                                            ; preds = %14763
  br label %14765

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

14766:                                            ; No predecessors!
  br label %14767

14767:                                            ; preds = %14766
  br label %14768

14768:                                            ; preds = %14767, %14709
  br label %14769

14769:                                            ; preds = %14768
  br label %14770

14770:                                            ; preds = %14769
  br label %14771

14771:                                            ; preds = %14770
  %14772 = load i32, ptr @test_count, align 4, !tbaa !5
  %14773 = add nsw i32 %14772, 1
  store i32 %14773, ptr @test_count, align 4, !tbaa !5
  %14774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14775 = load i32, ptr %14774, align 4, !tbaa !5
  %14776 = call ptr @s2n_strerror_debug(i32 noundef %14775, ptr noundef @.str.3)
  %14777 = icmp eq ptr %14776, null
  br i1 %14777, label %14778, label %14831

14778:                                            ; preds = %14771
  br label %14779

14779:                                            ; preds = %14778
  br label %14780

14780:                                            ; preds = %14779
  call void @llvm.lifetime.start.p0(i64 4, ptr %383) #10
  %14781 = call ptr @__errno_location() #11
  %14782 = load i32, ptr %14781, align 4, !tbaa !5
  store i32 %14782, ptr %383, align 4, !tbaa !5
  %14783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14784 = call i32 @s2n_print_stacktrace(ptr noundef %14783)
  %14785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14786 = trunc i8 %14785 to i1
  br i1 %14786, label %14787, label %14809

14787:                                            ; preds = %14780
  %14788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14789 = call i32 @fileno(ptr noundef %14788) #10
  %14790 = call i32 @isatty(i32 noundef %14789) #10
  %14791 = icmp ne i32 %14790, 0
  br i1 %14791, label %14792, label %14809

14792:                                            ; preds = %14787
  %14793 = load i32, ptr %383, align 4, !tbaa !5
  %14794 = call ptr @__errno_location() #11
  store i32 %14793, ptr %14794, align 4, !tbaa !5
  %14795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14796 = load i32, ptr @test_count, align 4, !tbaa !5
  %14797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14798 = load i32, ptr %14797, align 4, !tbaa !5
  %14799 = call ptr @s2n_strerror(i32 noundef %14798, ptr noundef @.str.3)
  %14800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14801 = load i32, ptr %14800, align 4, !tbaa !5
  %14802 = call ptr @s2n_strerror_debug(i32 noundef %14801, ptr noundef @.str.3)
  %14803 = call ptr @__errno_location() #11
  %14804 = load i32, ptr %14803, align 4, !tbaa !5
  %14805 = call ptr @strerror(i32 noundef %14804) #10
  %14806 = call ptr @__errno_location() #11
  %14807 = load i32, ptr %14806, align 4, !tbaa !5
  %14808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14795, ptr noundef @.str, i32 noundef %14796, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 784, ptr noundef %14799, ptr noundef %14802, ptr noundef %14805, i32 noundef %14807) #10
  br label %14826

14809:                                            ; preds = %14787, %14780
  %14810 = load i32, ptr %383, align 4, !tbaa !5
  %14811 = call ptr @__errno_location() #11
  store i32 %14810, ptr %14811, align 4, !tbaa !5
  %14812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14813 = load i32, ptr @test_count, align 4, !tbaa !5
  %14814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14815 = load i32, ptr %14814, align 4, !tbaa !5
  %14816 = call ptr @s2n_strerror(i32 noundef %14815, ptr noundef @.str.3)
  %14817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14818 = load i32, ptr %14817, align 4, !tbaa !5
  %14819 = call ptr @s2n_strerror_debug(i32 noundef %14818, ptr noundef @.str.3)
  %14820 = call ptr @__errno_location() #11
  %14821 = load i32, ptr %14820, align 4, !tbaa !5
  %14822 = call ptr @strerror(i32 noundef %14821) #10
  %14823 = call ptr @__errno_location() #11
  %14824 = load i32, ptr %14823, align 4, !tbaa !5
  %14825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14812, ptr noundef @.str.4, i32 noundef %14813, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 784, ptr noundef %14816, ptr noundef %14819, ptr noundef %14822, i32 noundef %14824) #10
  br label %14826

14826:                                            ; preds = %14809, %14792
  call void @llvm.lifetime.end.p0(i64 4, ptr %383) #10
  br label %14827

14827:                                            ; preds = %14826
  br label %14828

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

14829:                                            ; No predecessors!
  br label %14830

14830:                                            ; preds = %14829
  br label %14831

14831:                                            ; preds = %14830, %14771
  br label %14832

14832:                                            ; preds = %14831
  br label %14833

14833:                                            ; preds = %14832
  br label %14834

14834:                                            ; preds = %14833
  br label %14835

14835:                                            ; preds = %14834
  br label %14836

14836:                                            ; preds = %14835
  %14837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14837, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14838 = call ptr @__errno_location() #11
  store i32 0, ptr %14838, align 4, !tbaa !5
  br label %14839

14839:                                            ; preds = %14836
  br label %14840

14840:                                            ; preds = %14839
  br label %14841

14841:                                            ; preds = %14840
  br label %14842

14842:                                            ; preds = %14841
  br label %14843

14843:                                            ; preds = %14842
  %14844 = load i32, ptr @test_count, align 4, !tbaa !5
  %14845 = add nsw i32 %14844, 1
  store i32 %14845, ptr @test_count, align 4, !tbaa !5
  %14846 = load i32, ptr %380, align 4, !tbaa !5
  %14847 = icmp eq i32 %14846, 2
  br i1 %14847, label %14901, label %14848

14848:                                            ; preds = %14843
  br label %14849

14849:                                            ; preds = %14848
  br label %14850

14850:                                            ; preds = %14849
  call void @llvm.lifetime.start.p0(i64 4, ptr %384) #10
  %14851 = call ptr @__errno_location() #11
  %14852 = load i32, ptr %14851, align 4, !tbaa !5
  store i32 %14852, ptr %384, align 4, !tbaa !5
  %14853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14854 = call i32 @s2n_print_stacktrace(ptr noundef %14853)
  %14855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14856 = trunc i8 %14855 to i1
  br i1 %14856, label %14857, label %14879

14857:                                            ; preds = %14850
  %14858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14859 = call i32 @fileno(ptr noundef %14858) #10
  %14860 = call i32 @isatty(i32 noundef %14859) #10
  %14861 = icmp ne i32 %14860, 0
  br i1 %14861, label %14862, label %14879

14862:                                            ; preds = %14857
  %14863 = load i32, ptr %384, align 4, !tbaa !5
  %14864 = call ptr @__errno_location() #11
  store i32 %14863, ptr %14864, align 4, !tbaa !5
  %14865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14866 = load i32, ptr @test_count, align 4, !tbaa !5
  %14867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14868 = load i32, ptr %14867, align 4, !tbaa !5
  %14869 = call ptr @s2n_strerror(i32 noundef %14868, ptr noundef @.str.3)
  %14870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14871 = load i32, ptr %14870, align 4, !tbaa !5
  %14872 = call ptr @s2n_strerror_debug(i32 noundef %14871, ptr noundef @.str.3)
  %14873 = call ptr @__errno_location() #11
  %14874 = load i32, ptr %14873, align 4, !tbaa !5
  %14875 = call ptr @strerror(i32 noundef %14874) #10
  %14876 = call ptr @__errno_location() #11
  %14877 = load i32, ptr %14876, align 4, !tbaa !5
  %14878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14865, ptr noundef @.str, i32 noundef %14866, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 785, ptr noundef %14869, ptr noundef %14872, ptr noundef %14875, i32 noundef %14877) #10
  br label %14896

14879:                                            ; preds = %14857, %14850
  %14880 = load i32, ptr %384, align 4, !tbaa !5
  %14881 = call ptr @__errno_location() #11
  store i32 %14880, ptr %14881, align 4, !tbaa !5
  %14882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14883 = load i32, ptr @test_count, align 4, !tbaa !5
  %14884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14885 = load i32, ptr %14884, align 4, !tbaa !5
  %14886 = call ptr @s2n_strerror(i32 noundef %14885, ptr noundef @.str.3)
  %14887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14888 = load i32, ptr %14887, align 4, !tbaa !5
  %14889 = call ptr @s2n_strerror_debug(i32 noundef %14888, ptr noundef @.str.3)
  %14890 = call ptr @__errno_location() #11
  %14891 = load i32, ptr %14890, align 4, !tbaa !5
  %14892 = call ptr @strerror(i32 noundef %14891) #10
  %14893 = call ptr @__errno_location() #11
  %14894 = load i32, ptr %14893, align 4, !tbaa !5
  %14895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14882, ptr noundef @.str.4, i32 noundef %14883, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 785, ptr noundef %14886, ptr noundef %14889, ptr noundef %14892, i32 noundef %14894) #10
  br label %14896

14896:                                            ; preds = %14879, %14862
  call void @llvm.lifetime.end.p0(i64 4, ptr %384) #10
  br label %14897

14897:                                            ; preds = %14896
  br label %14898

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

14899:                                            ; No predecessors!
  br label %14900

14900:                                            ; preds = %14899
  br label %14901

14901:                                            ; preds = %14900, %14843
  br label %14902

14902:                                            ; preds = %14901
  br label %14903

14903:                                            ; preds = %14902
  br label %14904

14904:                                            ; preds = %14903
  %14905 = load i32, ptr @test_count, align 4, !tbaa !5
  %14906 = add nsw i32 %14905, 1
  store i32 %14906, ptr @test_count, align 4, !tbaa !5
  %14907 = getelementptr inbounds %struct.s2n_send_context, ptr %377, i32 0, i32 1
  %14908 = load i64, ptr %14907, align 8, !tbaa !25
  %14909 = icmp eq i64 %14908, 0
  br i1 %14909, label %14963, label %14910

14910:                                            ; preds = %14904
  br label %14911

14911:                                            ; preds = %14910
  br label %14912

14912:                                            ; preds = %14911
  call void @llvm.lifetime.start.p0(i64 4, ptr %385) #10
  %14913 = call ptr @__errno_location() #11
  %14914 = load i32, ptr %14913, align 4, !tbaa !5
  store i32 %14914, ptr %385, align 4, !tbaa !5
  %14915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14916 = call i32 @s2n_print_stacktrace(ptr noundef %14915)
  %14917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14918 = trunc i8 %14917 to i1
  br i1 %14918, label %14919, label %14941

14919:                                            ; preds = %14912
  %14920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14921 = call i32 @fileno(ptr noundef %14920) #10
  %14922 = call i32 @isatty(i32 noundef %14921) #10
  %14923 = icmp ne i32 %14922, 0
  br i1 %14923, label %14924, label %14941

14924:                                            ; preds = %14919
  %14925 = load i32, ptr %385, align 4, !tbaa !5
  %14926 = call ptr @__errno_location() #11
  store i32 %14925, ptr %14926, align 4, !tbaa !5
  %14927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14928 = load i32, ptr @test_count, align 4, !tbaa !5
  %14929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14930 = load i32, ptr %14929, align 4, !tbaa !5
  %14931 = call ptr @s2n_strerror(i32 noundef %14930, ptr noundef @.str.3)
  %14932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14933 = load i32, ptr %14932, align 4, !tbaa !5
  %14934 = call ptr @s2n_strerror_debug(i32 noundef %14933, ptr noundef @.str.3)
  %14935 = call ptr @__errno_location() #11
  %14936 = load i32, ptr %14935, align 4, !tbaa !5
  %14937 = call ptr @strerror(i32 noundef %14936) #10
  %14938 = call ptr @__errno_location() #11
  %14939 = load i32, ptr %14938, align 4, !tbaa !5
  %14940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14927, ptr noundef @.str, i32 noundef %14928, ptr noundef @.str.66, ptr noundef @.str.2, i32 noundef 786, ptr noundef %14931, ptr noundef %14934, ptr noundef %14937, i32 noundef %14939) #10
  br label %14958

14941:                                            ; preds = %14919, %14912
  %14942 = load i32, ptr %385, align 4, !tbaa !5
  %14943 = call ptr @__errno_location() #11
  store i32 %14942, ptr %14943, align 4, !tbaa !5
  %14944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14945 = load i32, ptr @test_count, align 4, !tbaa !5
  %14946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14947 = load i32, ptr %14946, align 4, !tbaa !5
  %14948 = call ptr @s2n_strerror(i32 noundef %14947, ptr noundef @.str.3)
  %14949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14950 = load i32, ptr %14949, align 4, !tbaa !5
  %14951 = call ptr @s2n_strerror_debug(i32 noundef %14950, ptr noundef @.str.3)
  %14952 = call ptr @__errno_location() #11
  %14953 = load i32, ptr %14952, align 4, !tbaa !5
  %14954 = call ptr @strerror(i32 noundef %14953) #10
  %14955 = call ptr @__errno_location() #11
  %14956 = load i32, ptr %14955, align 4, !tbaa !5
  %14957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14944, ptr noundef @.str.4, i32 noundef %14945, ptr noundef @.str.66, ptr noundef @.str.2, i32 noundef 786, ptr noundef %14948, ptr noundef %14951, ptr noundef %14954, i32 noundef %14956) #10
  br label %14958

14958:                                            ; preds = %14941, %14924
  call void @llvm.lifetime.end.p0(i64 4, ptr %385) #10
  br label %14959

14959:                                            ; preds = %14958
  br label %14960

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

14961:                                            ; No predecessors!
  br label %14962

14962:                                            ; preds = %14961
  br label %14963

14963:                                            ; preds = %14962, %14904
  br label %14964

14964:                                            ; preds = %14963
  br label %14965

14965:                                            ; preds = %14964
  %14966 = load i64, ptr %371, align 8, !tbaa !15
  %14967 = getelementptr inbounds [2 x i8], ptr %369, i64 0, i64 %14966
  %14968 = load i8, ptr %14967, align 1, !tbaa !11, !range !13, !noundef !14
  %14969 = trunc i8 %14968 to i1
  br i1 %14969, label %14970, label %15170

14970:                                            ; preds = %14965
  br label %14971

14971:                                            ; preds = %14970
  br label %14972

14972:                                            ; preds = %14971
  br label %14973

14973:                                            ; preds = %14972
  %14974 = load i32, ptr @test_count, align 4, !tbaa !5
  %14975 = add nsw i32 %14974, 1
  store i32 %14975, ptr @test_count, align 4, !tbaa !5
  %14976 = load ptr, ptr %373, align 8, !tbaa !9
  %14977 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %14978 = call i64 @s2n_send(ptr noundef %14976, ptr noundef %14977, i64 noundef 0, ptr noundef %380)
  %14979 = icmp eq i64 %14978, -1
  br i1 %14979, label %15033, label %14980

14980:                                            ; preds = %14973
  br label %14981

14981:                                            ; preds = %14980
  br label %14982

14982:                                            ; preds = %14981
  call void @llvm.lifetime.start.p0(i64 4, ptr %386) #10
  %14983 = call ptr @__errno_location() #11
  %14984 = load i32, ptr %14983, align 4, !tbaa !5
  store i32 %14984, ptr %386, align 4, !tbaa !5
  %14985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14986 = call i32 @s2n_print_stacktrace(ptr noundef %14985)
  %14987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14988 = trunc i8 %14987 to i1
  br i1 %14988, label %14989, label %15011

14989:                                            ; preds = %14982
  %14990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14991 = call i32 @fileno(ptr noundef %14990) #10
  %14992 = call i32 @isatty(i32 noundef %14991) #10
  %14993 = icmp ne i32 %14992, 0
  br i1 %14993, label %14994, label %15011

14994:                                            ; preds = %14989
  %14995 = load i32, ptr %386, align 4, !tbaa !5
  %14996 = call ptr @__errno_location() #11
  store i32 %14995, ptr %14996, align 4, !tbaa !5
  %14997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14998 = load i32, ptr @test_count, align 4, !tbaa !5
  %14999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15000 = load i32, ptr %14999, align 4, !tbaa !5
  %15001 = call ptr @s2n_strerror(i32 noundef %15000, ptr noundef @.str.3)
  %15002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15003 = load i32, ptr %15002, align 4, !tbaa !5
  %15004 = call ptr @s2n_strerror_debug(i32 noundef %15003, ptr noundef @.str.3)
  %15005 = call ptr @__errno_location() #11
  %15006 = load i32, ptr %15005, align 4, !tbaa !5
  %15007 = call ptr @strerror(i32 noundef %15006) #10
  %15008 = call ptr @__errno_location() #11
  %15009 = load i32, ptr %15008, align 4, !tbaa !5
  %15010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14997, ptr noundef @.str, i32 noundef %14998, ptr noundef @.str.104, ptr noundef @.str.2, i32 noundef 792, ptr noundef %15001, ptr noundef %15004, ptr noundef %15007, i32 noundef %15009) #10
  br label %15028

15011:                                            ; preds = %14989, %14982
  %15012 = load i32, ptr %386, align 4, !tbaa !5
  %15013 = call ptr @__errno_location() #11
  store i32 %15012, ptr %15013, align 4, !tbaa !5
  %15014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15015 = load i32, ptr @test_count, align 4, !tbaa !5
  %15016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15017 = load i32, ptr %15016, align 4, !tbaa !5
  %15018 = call ptr @s2n_strerror(i32 noundef %15017, ptr noundef @.str.3)
  %15019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15020 = load i32, ptr %15019, align 4, !tbaa !5
  %15021 = call ptr @s2n_strerror_debug(i32 noundef %15020, ptr noundef @.str.3)
  %15022 = call ptr @__errno_location() #11
  %15023 = load i32, ptr %15022, align 4, !tbaa !5
  %15024 = call ptr @strerror(i32 noundef %15023) #10
  %15025 = call ptr @__errno_location() #11
  %15026 = load i32, ptr %15025, align 4, !tbaa !5
  %15027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15014, ptr noundef @.str.4, i32 noundef %15015, ptr noundef @.str.104, ptr noundef @.str.2, i32 noundef 792, ptr noundef %15018, ptr noundef %15021, ptr noundef %15024, i32 noundef %15026) #10
  br label %15028

15028:                                            ; preds = %15011, %14994
  call void @llvm.lifetime.end.p0(i64 4, ptr %386) #10
  br label %15029

15029:                                            ; preds = %15028
  br label %15030

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

15031:                                            ; No predecessors!
  br label %15032

15032:                                            ; preds = %15031
  br label %15033

15033:                                            ; preds = %15032, %14973
  br label %15034

15034:                                            ; preds = %15033
  br label %15035

15035:                                            ; preds = %15034
  br label %15036

15036:                                            ; preds = %15035
  %15037 = load i32, ptr @test_count, align 4, !tbaa !5
  %15038 = add nsw i32 %15037, 1
  store i32 %15038, ptr @test_count, align 4, !tbaa !5
  %15039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15040 = load i32, ptr %15039, align 4, !tbaa !5
  %15041 = icmp eq i32 %15040, 469762069
  br i1 %15041, label %15095, label %15042

15042:                                            ; preds = %15036
  br label %15043

15043:                                            ; preds = %15042
  br label %15044

15044:                                            ; preds = %15043
  call void @llvm.lifetime.start.p0(i64 4, ptr %387) #10
  %15045 = call ptr @__errno_location() #11
  %15046 = load i32, ptr %15045, align 4, !tbaa !5
  store i32 %15046, ptr %387, align 4, !tbaa !5
  %15047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15048 = call i32 @s2n_print_stacktrace(ptr noundef %15047)
  %15049 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15050 = trunc i8 %15049 to i1
  br i1 %15050, label %15051, label %15073

15051:                                            ; preds = %15044
  %15052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15053 = call i32 @fileno(ptr noundef %15052) #10
  %15054 = call i32 @isatty(i32 noundef %15053) #10
  %15055 = icmp ne i32 %15054, 0
  br i1 %15055, label %15056, label %15073

15056:                                            ; preds = %15051
  %15057 = load i32, ptr %387, align 4, !tbaa !5
  %15058 = call ptr @__errno_location() #11
  store i32 %15057, ptr %15058, align 4, !tbaa !5
  %15059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15060 = load i32, ptr @test_count, align 4, !tbaa !5
  %15061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15062 = load i32, ptr %15061, align 4, !tbaa !5
  %15063 = call ptr @s2n_strerror(i32 noundef %15062, ptr noundef @.str.3)
  %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_debug(i32 noundef %15065, ptr noundef @.str.3)
  %15067 = call ptr @__errno_location() #11
  %15068 = load i32, ptr %15067, align 4, !tbaa !5
  %15069 = call ptr @strerror(i32 noundef %15068) #10
  %15070 = call ptr @__errno_location() #11
  %15071 = load i32, ptr %15070, align 4, !tbaa !5
  %15072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15059, ptr noundef @.str, i32 noundef %15060, ptr noundef @.str.105, ptr noundef @.str.2, i32 noundef 792, ptr noundef %15063, ptr noundef %15066, ptr noundef %15069, i32 noundef %15071) #10
  br label %15090

15073:                                            ; preds = %15051, %15044
  %15074 = load i32, ptr %387, align 4, !tbaa !5
  %15075 = call ptr @__errno_location() #11
  store i32 %15074, ptr %15075, align 4, !tbaa !5
  %15076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15077 = load i32, ptr @test_count, align 4, !tbaa !5
  %15078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15079 = load i32, ptr %15078, align 4, !tbaa !5
  %15080 = call ptr @s2n_strerror(i32 noundef %15079, ptr noundef @.str.3)
  %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_debug(i32 noundef %15082, ptr noundef @.str.3)
  %15084 = call ptr @__errno_location() #11
  %15085 = load i32, ptr %15084, align 4, !tbaa !5
  %15086 = call ptr @strerror(i32 noundef %15085) #10
  %15087 = call ptr @__errno_location() #11
  %15088 = load i32, ptr %15087, align 4, !tbaa !5
  %15089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15076, ptr noundef @.str.4, i32 noundef %15077, ptr noundef @.str.105, ptr noundef @.str.2, i32 noundef 792, ptr noundef %15080, ptr noundef %15083, ptr noundef %15086, i32 noundef %15088) #10
  br label %15090

15090:                                            ; preds = %15073, %15056
  call void @llvm.lifetime.end.p0(i64 4, ptr %387) #10
  br label %15091

15091:                                            ; preds = %15090
  br label %15092

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

15093:                                            ; No predecessors!
  br label %15094

15094:                                            ; preds = %15093
  br label %15095

15095:                                            ; preds = %15094, %15036
  br label %15096

15096:                                            ; preds = %15095
  br label %15097

15097:                                            ; preds = %15096
  br label %15098

15098:                                            ; preds = %15097
  %15099 = load i32, ptr @test_count, align 4, !tbaa !5
  %15100 = add nsw i32 %15099, 1
  store i32 %15100, ptr @test_count, align 4, !tbaa !5
  %15101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15102 = load i32, ptr %15101, align 4, !tbaa !5
  %15103 = call ptr @s2n_strerror_debug(i32 noundef %15102, ptr noundef @.str.3)
  %15104 = icmp eq ptr %15103, null
  br i1 %15104, label %15105, label %15158

15105:                                            ; preds = %15098
  br label %15106

15106:                                            ; preds = %15105
  br label %15107

15107:                                            ; preds = %15106
  call void @llvm.lifetime.start.p0(i64 4, ptr %388) #10
  %15108 = call ptr @__errno_location() #11
  %15109 = load i32, ptr %15108, align 4, !tbaa !5
  store i32 %15109, ptr %388, align 4, !tbaa !5
  %15110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15111 = call i32 @s2n_print_stacktrace(ptr noundef %15110)
  %15112 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15113 = trunc i8 %15112 to i1
  br i1 %15113, label %15114, label %15136

15114:                                            ; preds = %15107
  %15115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15116 = call i32 @fileno(ptr noundef %15115) #10
  %15117 = call i32 @isatty(i32 noundef %15116) #10
  %15118 = icmp ne i32 %15117, 0
  br i1 %15118, label %15119, label %15136

15119:                                            ; preds = %15114
  %15120 = load i32, ptr %388, align 4, !tbaa !5
  %15121 = call ptr @__errno_location() #11
  store i32 %15120, ptr %15121, align 4, !tbaa !5
  %15122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15123 = load i32, ptr @test_count, align 4, !tbaa !5
  %15124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15125 = load i32, ptr %15124, align 4, !tbaa !5
  %15126 = call ptr @s2n_strerror(i32 noundef %15125, ptr noundef @.str.3)
  %15127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15128 = load i32, ptr %15127, align 4, !tbaa !5
  %15129 = call ptr @s2n_strerror_debug(i32 noundef %15128, ptr noundef @.str.3)
  %15130 = call ptr @__errno_location() #11
  %15131 = load i32, ptr %15130, align 4, !tbaa !5
  %15132 = call ptr @strerror(i32 noundef %15131) #10
  %15133 = call ptr @__errno_location() #11
  %15134 = load i32, ptr %15133, align 4, !tbaa !5
  %15135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15122, ptr noundef @.str, i32 noundef %15123, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 792, ptr noundef %15126, ptr noundef %15129, ptr noundef %15132, i32 noundef %15134) #10
  br label %15153

15136:                                            ; preds = %15114, %15107
  %15137 = load i32, ptr %388, align 4, !tbaa !5
  %15138 = call ptr @__errno_location() #11
  store i32 %15137, ptr %15138, align 4, !tbaa !5
  %15139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15140 = load i32, ptr @test_count, align 4, !tbaa !5
  %15141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15142 = load i32, ptr %15141, align 4, !tbaa !5
  %15143 = call ptr @s2n_strerror(i32 noundef %15142, ptr noundef @.str.3)
  %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_debug(i32 noundef %15145, ptr noundef @.str.3)
  %15147 = call ptr @__errno_location() #11
  %15148 = load i32, ptr %15147, align 4, !tbaa !5
  %15149 = call ptr @strerror(i32 noundef %15148) #10
  %15150 = call ptr @__errno_location() #11
  %15151 = load i32, ptr %15150, align 4, !tbaa !5
  %15152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15139, ptr noundef @.str.4, i32 noundef %15140, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 792, ptr noundef %15143, ptr noundef %15146, ptr noundef %15149, i32 noundef %15151) #10
  br label %15153

15153:                                            ; preds = %15136, %15119
  call void @llvm.lifetime.end.p0(i64 4, ptr %388) #10
  br label %15154

15154:                                            ; preds = %15153
  br label %15155

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

15156:                                            ; No predecessors!
  br label %15157

15157:                                            ; preds = %15156
  br label %15158

15158:                                            ; preds = %15157, %15098
  br label %15159

15159:                                            ; preds = %15158
  br label %15160

15160:                                            ; preds = %15159
  br label %15161

15161:                                            ; preds = %15160
  br label %15162

15162:                                            ; preds = %15161
  br label %15163

15163:                                            ; preds = %15162
  %15164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15164, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15165 = call ptr @__errno_location() #11
  store i32 0, ptr %15165, align 4, !tbaa !5
  br label %15166

15166:                                            ; preds = %15163
  br label %15167

15167:                                            ; preds = %15166
  br label %15168

15168:                                            ; preds = %15167
  br label %15169

15169:                                            ; preds = %15168
  store i32 1415, ptr %372, align 4
  br label %15423

15170:                                            ; preds = %14965
  br label %15171

15171:                                            ; preds = %15170
  %15172 = load i32, ptr @test_count, align 4, !tbaa !5
  %15173 = add nsw i32 %15172, 1
  store i32 %15173, ptr @test_count, align 4, !tbaa !5
  %15174 = load ptr, ptr %373, align 8, !tbaa !9
  %15175 = call i32 @s2n_flush(ptr noundef %15174, ptr noundef %380)
  %15176 = icmp eq i32 %15175, -1
  br i1 %15176, label %15177, label %15230

15177:                                            ; preds = %15171
  br label %15178

15178:                                            ; preds = %15177
  br label %15179

15179:                                            ; preds = %15178
  call void @llvm.lifetime.start.p0(i64 4, ptr %389) #10
  %15180 = call ptr @__errno_location() #11
  %15181 = load i32, ptr %15180, align 4, !tbaa !5
  store i32 %15181, ptr %389, align 4, !tbaa !5
  %15182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15183 = call i32 @s2n_print_stacktrace(ptr noundef %15182)
  %15184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15185 = trunc i8 %15184 to i1
  br i1 %15185, label %15186, label %15208

15186:                                            ; preds = %15179
  %15187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15188 = call i32 @fileno(ptr noundef %15187) #10
  %15189 = call i32 @isatty(i32 noundef %15188) #10
  %15190 = icmp ne i32 %15189, 0
  br i1 %15190, label %15191, label %15208

15191:                                            ; preds = %15186
  %15192 = load i32, ptr %389, align 4, !tbaa !5
  %15193 = call ptr @__errno_location() #11
  store i32 %15192, ptr %15193, align 4, !tbaa !5
  %15194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15195 = load i32, ptr @test_count, align 4, !tbaa !5
  %15196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15197 = load i32, ptr %15196, align 4, !tbaa !5
  %15198 = call ptr @s2n_strerror(i32 noundef %15197, ptr noundef @.str.3)
  %15199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15200 = load i32, ptr %15199, align 4, !tbaa !5
  %15201 = call ptr @s2n_strerror_debug(i32 noundef %15200, ptr noundef @.str.3)
  %15202 = call ptr @__errno_location() #11
  %15203 = load i32, ptr %15202, align 4, !tbaa !5
  %15204 = call ptr @strerror(i32 noundef %15203) #10
  %15205 = call ptr @__errno_location() #11
  %15206 = load i32, ptr %15205, align 4, !tbaa !5
  %15207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15194, ptr noundef @.str, i32 noundef %15195, ptr noundef @.str.106, ptr noundef @.str.2, i32 noundef 797, ptr noundef %15198, ptr noundef %15201, ptr noundef %15204, i32 noundef %15206) #10
  br label %15225

15208:                                            ; preds = %15186, %15179
  %15209 = load i32, ptr %389, align 4, !tbaa !5
  %15210 = call ptr @__errno_location() #11
  store i32 %15209, ptr %15210, align 4, !tbaa !5
  %15211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15212 = load i32, ptr @test_count, align 4, !tbaa !5
  %15213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15214 = load i32, ptr %15213, align 4, !tbaa !5
  %15215 = call ptr @s2n_strerror(i32 noundef %15214, ptr noundef @.str.3)
  %15216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15217 = load i32, ptr %15216, align 4, !tbaa !5
  %15218 = call ptr @s2n_strerror_debug(i32 noundef %15217, ptr noundef @.str.3)
  %15219 = call ptr @__errno_location() #11
  %15220 = load i32, ptr %15219, align 4, !tbaa !5
  %15221 = call ptr @strerror(i32 noundef %15220) #10
  %15222 = call ptr @__errno_location() #11
  %15223 = load i32, ptr %15222, align 4, !tbaa !5
  %15224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15211, ptr noundef @.str.4, i32 noundef %15212, ptr noundef @.str.106, ptr noundef @.str.2, i32 noundef 797, ptr noundef %15215, ptr noundef %15218, ptr noundef %15221, i32 noundef %15223) #10
  br label %15225

15225:                                            ; preds = %15208, %15191
  call void @llvm.lifetime.end.p0(i64 4, ptr %389) #10
  br label %15226

15226:                                            ; preds = %15225
  br label %15227

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

15228:                                            ; No predecessors!
  br label %15229

15229:                                            ; preds = %15228
  br label %15230

15230:                                            ; preds = %15229, %15171
  br label %15231

15231:                                            ; preds = %15230
  br label %15232

15232:                                            ; preds = %15231
  br label %15233

15233:                                            ; preds = %15232
  %15234 = load i32, ptr @test_count, align 4, !tbaa !5
  %15235 = add nsw i32 %15234, 1
  store i32 %15235, ptr @test_count, align 4, !tbaa !5
  %15236 = getelementptr inbounds %struct.s2n_send_context, ptr %377, i32 0, i32 1
  %15237 = load i64, ptr %15236, align 8, !tbaa !25
  %15238 = getelementptr inbounds [4 x i64], ptr %33, i64 0, i64 0
  %15239 = load i64, ptr %15238, align 16, !tbaa !15
  %15240 = icmp eq i64 %15237, %15239
  br i1 %15240, label %15294, label %15241

15241:                                            ; preds = %15233
  br label %15242

15242:                                            ; preds = %15241
  br label %15243

15243:                                            ; preds = %15242
  call void @llvm.lifetime.start.p0(i64 4, ptr %390) #10
  %15244 = call ptr @__errno_location() #11
  %15245 = load i32, ptr %15244, align 4, !tbaa !5
  store i32 %15245, ptr %390, align 4, !tbaa !5
  %15246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15247 = call i32 @s2n_print_stacktrace(ptr noundef %15246)
  %15248 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15249 = trunc i8 %15248 to i1
  br i1 %15249, label %15250, label %15272

15250:                                            ; preds = %15243
  %15251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15252 = call i32 @fileno(ptr noundef %15251) #10
  %15253 = call i32 @isatty(i32 noundef %15252) #10
  %15254 = icmp ne i32 %15253, 0
  br i1 %15254, label %15255, label %15272

15255:                                            ; preds = %15250
  %15256 = load i32, ptr %390, align 4, !tbaa !5
  %15257 = call ptr @__errno_location() #11
  store i32 %15256, ptr %15257, align 4, !tbaa !5
  %15258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15259 = load i32, ptr @test_count, align 4, !tbaa !5
  %15260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15261 = load i32, ptr %15260, align 4, !tbaa !5
  %15262 = call ptr @s2n_strerror(i32 noundef %15261, ptr noundef @.str.3)
  %15263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15264 = load i32, ptr %15263, align 4, !tbaa !5
  %15265 = call ptr @s2n_strerror_debug(i32 noundef %15264, ptr noundef @.str.3)
  %15266 = call ptr @__errno_location() #11
  %15267 = load i32, ptr %15266, align 4, !tbaa !5
  %15268 = call ptr @strerror(i32 noundef %15267) #10
  %15269 = call ptr @__errno_location() #11
  %15270 = load i32, ptr %15269, align 4, !tbaa !5
  %15271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15258, ptr noundef @.str, i32 noundef %15259, ptr noundef @.str.107, ptr noundef @.str.2, i32 noundef 798, ptr noundef %15262, ptr noundef %15265, ptr noundef %15268, i32 noundef %15270) #10
  br label %15289

15272:                                            ; preds = %15250, %15243
  %15273 = load i32, ptr %390, align 4, !tbaa !5
  %15274 = call ptr @__errno_location() #11
  store i32 %15273, ptr %15274, align 4, !tbaa !5
  %15275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15276 = load i32, ptr @test_count, align 4, !tbaa !5
  %15277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15278 = load i32, ptr %15277, align 4, !tbaa !5
  %15279 = call ptr @s2n_strerror(i32 noundef %15278, ptr noundef @.str.3)
  %15280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15281 = load i32, ptr %15280, align 4, !tbaa !5
  %15282 = call ptr @s2n_strerror_debug(i32 noundef %15281, ptr noundef @.str.3)
  %15283 = call ptr @__errno_location() #11
  %15284 = load i32, ptr %15283, align 4, !tbaa !5
  %15285 = call ptr @strerror(i32 noundef %15284) #10
  %15286 = call ptr @__errno_location() #11
  %15287 = load i32, ptr %15286, align 4, !tbaa !5
  %15288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15275, ptr noundef @.str.4, i32 noundef %15276, ptr noundef @.str.107, ptr noundef @.str.2, i32 noundef 798, ptr noundef %15279, ptr noundef %15282, ptr noundef %15285, i32 noundef %15287) #10
  br label %15289

15289:                                            ; preds = %15272, %15255
  call void @llvm.lifetime.end.p0(i64 4, ptr %390) #10
  br label %15290

15290:                                            ; preds = %15289
  br label %15291

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

15292:                                            ; No predecessors!
  br label %15293

15293:                                            ; preds = %15292
  br label %15294

15294:                                            ; preds = %15293, %15233
  br label %15295

15295:                                            ; preds = %15294
  br label %15296

15296:                                            ; preds = %15295
  br label %15297

15297:                                            ; preds = %15296
  %15298 = load i32, ptr @test_count, align 4, !tbaa !5
  %15299 = add nsw i32 %15298, 1
  store i32 %15299, ptr @test_count, align 4, !tbaa !5
  %15300 = load ptr, ptr %373, align 8, !tbaa !9
  %15301 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %15302 = call i64 @s2n_send(ptr noundef %15300, ptr noundef %15301, i64 noundef 16394, ptr noundef %380)
  %15303 = icmp eq i64 %15302, 16394
  br i1 %15303, label %15357, label %15304

15304:                                            ; preds = %15297
  br label %15305

15305:                                            ; preds = %15304
  br label %15306

15306:                                            ; preds = %15305
  call void @llvm.lifetime.start.p0(i64 4, ptr %391) #10
  %15307 = call ptr @__errno_location() #11
  %15308 = load i32, ptr %15307, align 4, !tbaa !5
  store i32 %15308, ptr %391, align 4, !tbaa !5
  %15309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15310 = call i32 @s2n_print_stacktrace(ptr noundef %15309)
  %15311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15312 = trunc i8 %15311 to i1
  br i1 %15312, label %15313, label %15335

15313:                                            ; preds = %15306
  %15314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15315 = call i32 @fileno(ptr noundef %15314) #10
  %15316 = call i32 @isatty(i32 noundef %15315) #10
  %15317 = icmp ne i32 %15316, 0
  br i1 %15317, label %15318, label %15335

15318:                                            ; preds = %15313
  %15319 = load i32, ptr %391, align 4, !tbaa !5
  %15320 = call ptr @__errno_location() #11
  store i32 %15319, ptr %15320, align 4, !tbaa !5
  %15321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15322 = load i32, ptr @test_count, align 4, !tbaa !5
  %15323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15324 = load i32, ptr %15323, align 4, !tbaa !5
  %15325 = call ptr @s2n_strerror(i32 noundef %15324, ptr noundef @.str.3)
  %15326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15327 = load i32, ptr %15326, align 4, !tbaa !5
  %15328 = call ptr @s2n_strerror_debug(i32 noundef %15327, ptr noundef @.str.3)
  %15329 = call ptr @__errno_location() #11
  %15330 = load i32, ptr %15329, align 4, !tbaa !5
  %15331 = call ptr @strerror(i32 noundef %15330) #10
  %15332 = call ptr @__errno_location() #11
  %15333 = load i32, ptr %15332, align 4, !tbaa !5
  %15334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15321, ptr noundef @.str, i32 noundef %15322, ptr noundef @.str.47, ptr noundef @.str.2, i32 noundef 803, ptr noundef %15325, ptr noundef %15328, ptr noundef %15331, i32 noundef %15333) #10
  br label %15352

15335:                                            ; preds = %15313, %15306
  %15336 = load i32, ptr %391, align 4, !tbaa !5
  %15337 = call ptr @__errno_location() #11
  store i32 %15336, ptr %15337, align 4, !tbaa !5
  %15338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15339 = load i32, ptr @test_count, align 4, !tbaa !5
  %15340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15341 = load i32, ptr %15340, align 4, !tbaa !5
  %15342 = call ptr @s2n_strerror(i32 noundef %15341, ptr noundef @.str.3)
  %15343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15344 = load i32, ptr %15343, align 4, !tbaa !5
  %15345 = call ptr @s2n_strerror_debug(i32 noundef %15344, ptr noundef @.str.3)
  %15346 = call ptr @__errno_location() #11
  %15347 = load i32, ptr %15346, align 4, !tbaa !5
  %15348 = call ptr @strerror(i32 noundef %15347) #10
  %15349 = call ptr @__errno_location() #11
  %15350 = load i32, ptr %15349, align 4, !tbaa !5
  %15351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15338, ptr noundef @.str.4, i32 noundef %15339, ptr noundef @.str.47, ptr noundef @.str.2, i32 noundef 803, ptr noundef %15342, ptr noundef %15345, ptr noundef %15348, i32 noundef %15350) #10
  br label %15352

15352:                                            ; preds = %15335, %15318
  call void @llvm.lifetime.end.p0(i64 4, ptr %391) #10
  br label %15353

15353:                                            ; preds = %15352
  br label %15354

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

15355:                                            ; No predecessors!
  br label %15356

15356:                                            ; preds = %15355
  br label %15357

15357:                                            ; preds = %15356, %15297
  br label %15358

15358:                                            ; preds = %15357
  br label %15359

15359:                                            ; preds = %15358
  br label %15360

15360:                                            ; preds = %15359
  %15361 = load i32, ptr @test_count, align 4, !tbaa !5
  %15362 = add nsw i32 %15361, 1
  store i32 %15362, ptr @test_count, align 4, !tbaa !5
  %15363 = getelementptr inbounds %struct.s2n_send_context, ptr %377, i32 0, i32 1
  %15364 = load i64, ptr %15363, align 8, !tbaa !25
  %15365 = load i64, ptr %145, align 8, !tbaa !15
  %15366 = icmp eq i64 %15364, %15365
  br i1 %15366, label %15420, label %15367

15367:                                            ; preds = %15360
  br label %15368

15368:                                            ; preds = %15367
  br label %15369

15369:                                            ; preds = %15368
  call void @llvm.lifetime.start.p0(i64 4, ptr %392) #10
  %15370 = call ptr @__errno_location() #11
  %15371 = load i32, ptr %15370, align 4, !tbaa !5
  store i32 %15371, ptr %392, align 4, !tbaa !5
  %15372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15373 = call i32 @s2n_print_stacktrace(ptr noundef %15372)
  %15374 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15375 = trunc i8 %15374 to i1
  br i1 %15375, label %15376, label %15398

15376:                                            ; preds = %15369
  %15377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15378 = call i32 @fileno(ptr noundef %15377) #10
  %15379 = call i32 @isatty(i32 noundef %15378) #10
  %15380 = icmp ne i32 %15379, 0
  br i1 %15380, label %15381, label %15398

15381:                                            ; preds = %15376
  %15382 = load i32, ptr %392, align 4, !tbaa !5
  %15383 = call ptr @__errno_location() #11
  store i32 %15382, ptr %15383, align 4, !tbaa !5
  %15384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15385 = load i32, ptr @test_count, align 4, !tbaa !5
  %15386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15387 = load i32, ptr %15386, align 4, !tbaa !5
  %15388 = call ptr @s2n_strerror(i32 noundef %15387, ptr noundef @.str.3)
  %15389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15390 = load i32, ptr %15389, align 4, !tbaa !5
  %15391 = call ptr @s2n_strerror_debug(i32 noundef %15390, ptr noundef @.str.3)
  %15392 = call ptr @__errno_location() #11
  %15393 = load i32, ptr %15392, align 4, !tbaa !5
  %15394 = call ptr @strerror(i32 noundef %15393) #10
  %15395 = call ptr @__errno_location() #11
  %15396 = load i32, ptr %15395, align 4, !tbaa !5
  %15397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15384, ptr noundef @.str, i32 noundef %15385, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 804, ptr noundef %15388, ptr noundef %15391, ptr noundef %15394, i32 noundef %15396) #10
  br label %15415

15398:                                            ; preds = %15376, %15369
  %15399 = load i32, ptr %392, align 4, !tbaa !5
  %15400 = call ptr @__errno_location() #11
  store i32 %15399, ptr %15400, align 4, !tbaa !5
  %15401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15402 = load i32, ptr @test_count, align 4, !tbaa !5
  %15403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15404 = load i32, ptr %15403, align 4, !tbaa !5
  %15405 = call ptr @s2n_strerror(i32 noundef %15404, ptr noundef @.str.3)
  %15406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15407 = load i32, ptr %15406, align 4, !tbaa !5
  %15408 = call ptr @s2n_strerror_debug(i32 noundef %15407, ptr noundef @.str.3)
  %15409 = call ptr @__errno_location() #11
  %15410 = load i32, ptr %15409, align 4, !tbaa !5
  %15411 = call ptr @strerror(i32 noundef %15410) #10
  %15412 = call ptr @__errno_location() #11
  %15413 = load i32, ptr %15412, align 4, !tbaa !5
  %15414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15401, ptr noundef @.str.4, i32 noundef %15402, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 804, ptr noundef %15405, ptr noundef %15408, ptr noundef %15411, i32 noundef %15413) #10
  br label %15415

15415:                                            ; preds = %15398, %15381
  call void @llvm.lifetime.end.p0(i64 4, ptr %392) #10
  br label %15416

15416:                                            ; preds = %15415
  br label %15417

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

15418:                                            ; No predecessors!
  br label %15419

15419:                                            ; preds = %15418
  br label %15420

15420:                                            ; preds = %15419, %15360
  br label %15421

15421:                                            ; preds = %15420
  br label %15422

15422:                                            ; preds = %15421
  store i32 0, ptr %372, align 4
  br label %15423

15423:                                            ; preds = %15422, %15169
  call void @llvm.lifetime.end.p0(i64 4, ptr %380) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %377) #10
  %15424 = call i32 @s2n_connection_ptr_free(ptr noundef %373)
  %15425 = getelementptr inbounds %struct.s2n_result, ptr %393, i32 0, i32 0
  store i32 %15424, ptr %15425, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %373) #10
  %15426 = load i32, ptr %372, align 4
  switch i32 %15426, label %15590 [
    i32 0, label %15427
    i32 1415, label %15428
  ]

15427:                                            ; preds = %15423
  br label %15428

15428:                                            ; preds = %15427, %15423
  %15429 = load i64, ptr %371, align 8, !tbaa !15
  %15430 = add i64 %15429, 1
  store i64 %15430, ptr %371, align 8, !tbaa !15
  br label %14383, !llvm.loop !61

15431:                                            ; preds = %14386
  call void @llvm.lifetime.end.p0(i64 32, ptr %370) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr %369) #10
  br label %15432

15432:                                            ; preds = %15431
  br label %15433

15433:                                            ; preds = %15432
  %15434 = call i32 @s2n_cleanup()
  %15435 = icmp eq i32 %15434, -1
  br i1 %15435, label %15436, label %15489

15436:                                            ; preds = %15433
  br label %15437

15437:                                            ; preds = %15436
  br label %15438

15438:                                            ; preds = %15437
  call void @llvm.lifetime.start.p0(i64 4, ptr %394) #10
  %15439 = call ptr @__errno_location() #11
  %15440 = load i32, ptr %15439, align 4, !tbaa !5
  store i32 %15440, ptr %394, align 4, !tbaa !5
  %15441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15442 = call i32 @s2n_print_stacktrace(ptr noundef %15441)
  %15443 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15444 = trunc i8 %15443 to i1
  br i1 %15444, label %15445, label %15467

15445:                                            ; preds = %15438
  %15446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15447 = call i32 @fileno(ptr noundef %15446) #10
  %15448 = call i32 @isatty(i32 noundef %15447) #10
  %15449 = icmp ne i32 %15448, 0
  br i1 %15449, label %15450, label %15467

15450:                                            ; preds = %15445
  %15451 = load i32, ptr %394, align 4, !tbaa !5
  %15452 = call ptr @__errno_location() #11
  store i32 %15451, ptr %15452, align 4, !tbaa !5
  %15453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15454 = load i32, ptr @test_count, align 4, !tbaa !5
  %15455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15456 = load i32, ptr %15455, align 4, !tbaa !5
  %15457 = call ptr @s2n_strerror(i32 noundef %15456, ptr noundef @.str.3)
  %15458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15459 = load i32, ptr %15458, align 4, !tbaa !5
  %15460 = call ptr @s2n_strerror_debug(i32 noundef %15459, ptr noundef @.str.3)
  %15461 = call ptr @__errno_location() #11
  %15462 = load i32, ptr %15461, align 4, !tbaa !5
  %15463 = call ptr @strerror(i32 noundef %15462) #10
  %15464 = call ptr @__errno_location() #11
  %15465 = load i32, ptr %15464, align 4, !tbaa !5
  %15466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15453, ptr noundef @.str, i32 noundef %15454, ptr noundef @.str.108, ptr noundef @.str.2, i32 noundef 808, ptr noundef %15457, ptr noundef %15460, ptr noundef %15463, i32 noundef %15465) #10
  br label %15484

15467:                                            ; preds = %15445, %15438
  %15468 = load i32, ptr %394, align 4, !tbaa !5
  %15469 = call ptr @__errno_location() #11
  store i32 %15468, ptr %15469, align 4, !tbaa !5
  %15470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15471 = load i32, ptr @test_count, align 4, !tbaa !5
  %15472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15473 = load i32, ptr %15472, align 4, !tbaa !5
  %15474 = call ptr @s2n_strerror(i32 noundef %15473, ptr noundef @.str.3)
  %15475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15476 = load i32, ptr %15475, align 4, !tbaa !5
  %15477 = call ptr @s2n_strerror_debug(i32 noundef %15476, ptr noundef @.str.3)
  %15478 = call ptr @__errno_location() #11
  %15479 = load i32, ptr %15478, align 4, !tbaa !5
  %15480 = call ptr @strerror(i32 noundef %15479) #10
  %15481 = call ptr @__errno_location() #11
  %15482 = load i32, ptr %15481, align 4, !tbaa !5
  %15483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15470, ptr noundef @.str.4, i32 noundef %15471, ptr noundef @.str.108, ptr noundef @.str.2, i32 noundef 808, ptr noundef %15474, ptr noundef %15477, ptr noundef %15480, i32 noundef %15482) #10
  br label %15484

15484:                                            ; preds = %15467, %15450
  call void @llvm.lifetime.end.p0(i64 4, ptr %394) #10
  br label %15485

15485:                                            ; preds = %15484
  br label %15486

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

15487:                                            ; No predecessors!
  br label %15488

15488:                                            ; preds = %15487
  br label %15489

15489:                                            ; preds = %15488, %15433
  br label %15490

15490:                                            ; preds = %15489
  br label %15491

15491:                                            ; preds = %15490
  br label %15492

15492:                                            ; preds = %15491
  br label %15493

15493:                                            ; preds = %15492
  %15494 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %15495 = icmp eq i32 %15494, -1
  br i1 %15495, label %15496, label %15549

15496:                                            ; preds = %15493
  br label %15497

15497:                                            ; preds = %15496
  br label %15498

15498:                                            ; preds = %15497
  call void @llvm.lifetime.start.p0(i64 4, ptr %395) #10
  %15499 = call ptr @__errno_location() #11
  %15500 = load i32, ptr %15499, align 4, !tbaa !5
  store i32 %15500, ptr %395, align 4, !tbaa !5
  %15501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15502 = call i32 @s2n_print_stacktrace(ptr noundef %15501)
  %15503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15504 = trunc i8 %15503 to i1
  br i1 %15504, label %15505, label %15527

15505:                                            ; preds = %15498
  %15506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15507 = call i32 @fileno(ptr noundef %15506) #10
  %15508 = call i32 @isatty(i32 noundef %15507) #10
  %15509 = icmp ne i32 %15508, 0
  br i1 %15509, label %15510, label %15527

15510:                                            ; preds = %15505
  %15511 = load i32, ptr %395, align 4, !tbaa !5
  %15512 = call ptr @__errno_location() #11
  store i32 %15511, ptr %15512, align 4, !tbaa !5
  %15513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15514 = load i32, ptr @test_count, align 4, !tbaa !5
  %15515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15516 = load i32, ptr %15515, align 4, !tbaa !5
  %15517 = call ptr @s2n_strerror(i32 noundef %15516, ptr noundef @.str.3)
  %15518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15519 = load i32, ptr %15518, align 4, !tbaa !5
  %15520 = call ptr @s2n_strerror_debug(i32 noundef %15519, ptr noundef @.str.3)
  %15521 = call ptr @__errno_location() #11
  %15522 = load i32, ptr %15521, align 4, !tbaa !5
  %15523 = call ptr @strerror(i32 noundef %15522) #10
  %15524 = call ptr @__errno_location() #11
  %15525 = load i32, ptr %15524, align 4, !tbaa !5
  %15526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15513, ptr noundef @.str, i32 noundef %15514, ptr noundef @.str.109, ptr noundef @.str.2, i32 noundef 808, ptr noundef %15517, ptr noundef %15520, ptr noundef %15523, i32 noundef %15525) #10
  br label %15544

15527:                                            ; preds = %15505, %15498
  %15528 = load i32, ptr %395, align 4, !tbaa !5
  %15529 = call ptr @__errno_location() #11
  store i32 %15528, ptr %15529, align 4, !tbaa !5
  %15530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15531 = load i32, ptr @test_count, align 4, !tbaa !5
  %15532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15533 = load i32, ptr %15532, align 4, !tbaa !5
  %15534 = call ptr @s2n_strerror(i32 noundef %15533, ptr noundef @.str.3)
  %15535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15536 = load i32, ptr %15535, align 4, !tbaa !5
  %15537 = call ptr @s2n_strerror_debug(i32 noundef %15536, ptr noundef @.str.3)
  %15538 = call ptr @__errno_location() #11
  %15539 = load i32, ptr %15538, align 4, !tbaa !5
  %15540 = call ptr @strerror(i32 noundef %15539) #10
  %15541 = call ptr @__errno_location() #11
  %15542 = load i32, ptr %15541, align 4, !tbaa !5
  %15543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15530, ptr noundef @.str.4, i32 noundef %15531, ptr noundef @.str.109, ptr noundef @.str.2, i32 noundef 808, ptr noundef %15534, ptr noundef %15537, ptr noundef %15540, i32 noundef %15542) #10
  br label %15544

15544:                                            ; preds = %15527, %15510
  call void @llvm.lifetime.end.p0(i64 4, ptr %395) #10
  br label %15545

15545:                                            ; preds = %15544
  br label %15546

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

15547:                                            ; No predecessors!
  br label %15548

15548:                                            ; preds = %15547
  br label %15549

15549:                                            ; preds = %15548, %15493
  br label %15550

15550:                                            ; preds = %15549
  br label %15551

15551:                                            ; preds = %15550
  %15552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15553 = trunc i8 %15552 to i1
  br i1 %15553, label %15554, label %15570

15554:                                            ; preds = %15551
  %15555 = load ptr, ptr @stdout, align 8, !tbaa !9
  %15556 = call i32 @fileno(ptr noundef %15555) #10
  %15557 = call i32 @isatty(i32 noundef %15556) #10
  %15558 = icmp ne i32 %15557, 0
  br i1 %15558, label %15559, label %15570

15559:                                            ; preds = %15554
  %15560 = load i32, ptr @test_count, align 4, !tbaa !5
  %15561 = icmp ne i32 %15560, 0
  br i1 %15561, label %15562, label %15566

15562:                                            ; preds = %15559
  %15563 = load ptr, ptr @stdout, align 8, !tbaa !9
  %15564 = load i32, ptr @test_count, align 4, !tbaa !5
  %15565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15563, ptr noundef @.str.110, i32 noundef %15564) #10
  br label %15569

15566:                                            ; preds = %15559
  %15567 = load ptr, ptr @stdout, align 8, !tbaa !9
  %15568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15567, ptr noundef @.str.111) #10
  br label %15569

15569:                                            ; preds = %15566, %15562
  br label %15581

15570:                                            ; preds = %15554, %15551
  %15571 = load i32, ptr @test_count, align 4, !tbaa !5
  %15572 = icmp ne i32 %15571, 0
  br i1 %15572, label %15573, label %15577

15573:                                            ; preds = %15570
  %15574 = load ptr, ptr @stdout, align 8, !tbaa !9
  %15575 = load i32, ptr @test_count, align 4, !tbaa !5
  %15576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15574, ptr noundef @.str.112, i32 noundef %15575) #10
  br label %15580

15577:                                            ; preds = %15570
  %15578 = load ptr, ptr @stdout, align 8, !tbaa !9
  %15579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15578, ptr noundef @.str.113) #10
  br label %15580

15580:                                            ; preds = %15577, %15573
  br label %15581

15581:                                            ; preds = %15580, %15569
  store i32 0, ptr %3, align 4
  store i32 1, ptr %372, align 4
  br label %15586

15582:                                            ; No predecessors!
  br label %15583

15583:                                            ; preds = %15582
  br label %15584

15584:                                            ; preds = %15583
  br label %15585

15585:                                            ; preds = %15584
  store i32 0, ptr %372, align 4
  br label %15586

15586:                                            ; preds = %15585, %15581
  call void @llvm.lifetime.end.p0(i64 8, ptr %145) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #10
  call void @llvm.lifetime.end.p0(i64 400, ptr %15) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #10
  call void @llvm.lifetime.end.p0(i64 16394, ptr %10) #10
  call void @llvm.lifetime.end.p0(i64 12, ptr %9) #10
  %15587 = load i32, ptr %372, align 4
  switch i32 %15587, label %15590 [
    i32 0, label %15588
    i32 1, label %15588
  ]

15588:                                            ; preds = %15586, %15586
  %15589 = load i32, ptr %3, align 4
  ret i32 %15589

15590:                                            ; preds = %15586, %15423
  unreachable
}

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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) #7

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #8

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) #2

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

declare i32 @s2n_get_public_random_data(ptr noundef) #2

declare ptr @s2n_connection_new(i32 noundef) #2

declare i32 @s2n_connection_ptr_free(ptr noundef) #2

declare i32 @s2n_connection_set_secrets(ptr noundef) #2

declare i32 @s2n_connection_set_send_cb(ptr noundef, ptr noundef) #2

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

declare i32 @s2n_connection_set_send_ctx(ptr noundef, ptr noundef) #2

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

declare i32 @s2n_connection_set_blinding(ptr noundef, i32 noundef) #2

declare i64 @s2n_connection_get_wire_bytes_out(ptr noundef) #2

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.ceil.f64(double) #5

declare i32 @s2n_record_min_write_payload_size(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_set_dynamic_record_threshold(ptr noundef, i32 noundef, i16 noundef zeroext) #2

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

declare i32 @s2n_sendv_with_offset_total_size(ptr noundef, i64 noundef, i64 noundef, ptr noundef) #2

declare i32 @s2n_flush(ptr noundef, ptr noundef) #2

declare i32 @s2n_cleanup() #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
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 = { 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 #4 = { 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 #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #8 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #9 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { nounwind }
attributes #11 = { nounwind willreturn memory(none) }
attributes #12 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !16, i64 0}
!16 = !{!"long", !7, i64 0}
!17 = !{!18, !6, i64 0}
!18 = !{!"s2n_send_result", !6, i64 0, !6, i64 4}
!19 = !{!18, !6, i64 4}
!20 = !{i64 0, i64 4, !5, i64 4, i64 4, !5}
!21 = distinct !{!21, !22}
!22 = !{!"llvm.loop.mustprogress"}
!23 = !{!24, !16, i64 0}
!24 = !{!"s2n_send_context", !16, i64 0, !16, i64 8, !10, i64 16, !16, i64 24}
!25 = !{!24, !16, i64 8}
!26 = !{!24, !10, i64 16}
!27 = !{!24, !16, i64 24}
!28 = !{i64 0, i64 8, !15, i64 8, i64 8, !15, i64 16, i64 8, !9, i64 24, i64 8, !15}
!29 = !{!30, !16, i64 2248}
!30 = !{!"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, !31, i64 160, !16, i64 168, !16, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !32, i64 240, !10, i64 632, !10, i64 640, !33, i64 648, !39, i64 1144, !42, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !45, i64 1776, !45, i64 1816, !45, i64 1856, !45, i64 1896, !6, i64 1936, !16, i64 1944, !7, i64 1952, !45, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !46, i64 2004, !46, i64 2008, !47, i64 2016, !44, i64 2208, !6, i64 2212, !44, i64 2216, !16, i64 2224, !7, i64 2232, !16, i64 2240, !16, i64 2248, !16, i64 2256, !46, i64 2264, !46, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !38, i64 2792, !6, i64 2816, !38, i64 2824, !38, i64 2848, !38, i64 2872, !49, i64 2896, !51, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !38, i64 3784, !6, i64 3808, !53, i64 3816, !7, i64 3848, !45, i64 3992, !38, i64 4032, !38, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !44, i64 4084, !44, i64 4086, !6, i64 4088, !6, i64 4092, !38, i64 4096, !6, i64 4120, !54, i64 4128, !46, i64 4176, !7, i64 4180, !7, i64 4181}
!31 = !{!"s2n_timer", !16, i64 0}
!32 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!33 = !{!"s2n_kex_parameters", !34, i64 0, !35, i64 8, !7, i64 24, !35, i64 56, !36, i64 72, !36, i64 184, !7, i64 296, !37, i64 360, !38, i64 448, !38, i64 472}
!34 = !{!"s2n_dh_params", !10, i64 0}
!35 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!36 = !{!"s2n_kem_group_params", !10, i64 0, !37, i64 8, !35, i64 96}
!37 = !{!"s2n_kem_params", !10, i64 0, !38, i64 8, !38, i64 32, !38, i64 56, !12, i64 80}
!38 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!39 = !{!"s2n_handshake_parameters", !40, i64 0, !40, i64 48, !38, i64 96, !6, i64 120, !41, 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}
!40 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!41 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!42 = !{!"s2n_psk_parameters", !6, i64 0, !43, i64 8, !44, i64 40, !44, i64 42, !10, i64 48, !6, i64 56}
!43 = !{!"s2n_array", !38, i64 0, !6, i64 24, !6, i64 28}
!44 = !{!"short", !7, i64 0}
!45 = !{!"s2n_stuffer", !38, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!46 = !{!"", !6, i64 0}
!47 = !{!"s2n_handshake", !45, 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, !48, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!48 = !{!"s2n_offered_early_data", !10, i64 0}
!49 = !{!"s2n_client_hello", !38, i64 0, !50, i64 24, !38, i64 728, !38, i64 752, !38, 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}
!50 = !{!"", !7, i64 0, !38, i64 672, !44, i64 696}
!51 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !44, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !52, i64 48, !12, i64 52}
!52 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!53 = !{!"s2n_ticket_fields", !38, i64 0, !6, i64 24}
!54 = !{!"s2n_post_handshake", !45, i64 0, !7, i64 40}
!55 = !{!30, !44, i64 2208}
!56 = !{!30, !6, i64 1904}
!57 = distinct !{!57, !22}
!58 = distinct !{!58, !22}
!59 = !{!44, !44, i64 0}
!60 = !{!30, !16, i64 2224}
!61 = distinct !{!61, !22}


; 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_send_result = type { i32, i32 }
%struct.iovec = type { ptr, i64 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_send_context = type { i64, i64, ptr, i64 }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@s2n_custom_send_fn_called = external dso_local local_unnamed_addr global i8, align 1
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stderr = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [101 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [72 x i8], align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@.str.3 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [70 x i8], align 1
@stdout = external local_unnamed_addr global ptr, align 8
@.str.7 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [39 x i8], align 1
@__const.main.test_data = external hidden unnamed_addr constant [12 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [79 x i8], align 1
@__const.main.results = external hidden unnamed_addr constant [2 x %struct.s2n_send_result], align 16
@.str.38 = external hidden unnamed_addr constant [52 x i8], align 1
@__const.main.results.39 = external hidden unnamed_addr constant [4 x %struct.s2n_send_result], align 16
@.str.40 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [66 x i8], align 1
@__const.main.results.42 = external hidden unnamed_addr constant [5 x %struct.s2n_send_result], align 16
@.str.43 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [56 x i8], align 1
@__const.main.results.46 = external hidden unnamed_addr constant [3 x %struct.s2n_send_result], align 16
@.str.47 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [66 x i8], align 1
@__const.main.results.49 = external hidden unnamed_addr constant [6 x %struct.s2n_send_result], align 16
@.str.50 = external hidden unnamed_addr constant [66 x i8], align 1
@__const.main.results.51 = external hidden unnamed_addr constant [8 x %struct.s2n_send_result], align 16
@.str.52 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [152 x i8], align 1
@__const.main.results.57 = external hidden unnamed_addr constant [4 x %struct.s2n_send_result], align 16
@.str.58 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [138 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [105 x i8], align 1
@__const.main.results.64 = external hidden unnamed_addr constant [6 x %struct.s2n_send_result], align 16
@.str.65 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [129 x i8], align 1
@__const.main.test_buf = external hidden unnamed_addr constant %struct.iovec, align 8
@.str.85 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [38 x i8], align 1
@__const.main.test_buf.87 = external hidden unnamed_addr constant %struct.iovec, align 8
@.str.88 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [156 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [161 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [131 x i8], align 1
@__const.main.test_buf.97 = external hidden unnamed_addr constant %struct.iovec, align 8
@.str.98 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [182 x i8], align 1
@__const.main.test_bufs_ssize = external hidden unnamed_addr constant [2 x %struct.iovec], align 16
@.str.100 = external hidden unnamed_addr constant [149 x i8], align 1
@__const.main.test_bufs_size = external hidden unnamed_addr constant [2 x %struct.iovec], align 16
@.str.101 = external hidden unnamed_addr constant [146 x i8], align 1
@__const.main.use_send = external hidden unnamed_addr constant [2 x i8], align 1
@__const.main.results.102 = external hidden unnamed_addr constant [4 x %struct.s2n_send_result], align 16
@.str.103 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [25 x i8], align 1

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

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

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #3

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) local_unnamed_addr #4

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #5

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #5

declare ptr @s2n_strerror(i32 noundef, ptr noundef) local_unnamed_addr #2

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

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) local_unnamed_addr #4

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #7

declare void @s2n_debug_info_reset() 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 [12 x i8], align 1
  %4 = alloca [16394 x i8], align 16
  %5 = alloca %struct.s2n_blob, align 8
  %6 = alloca [50 x %struct.s2n_send_result], align 16
  %7 = alloca ptr, align 8
  %8 = alloca %struct.s2n_send_context, align 8
  %9 = alloca i32, align 4
  %10 = alloca [4 x i64], align 16
  %11 = alloca [4 x i32], align 16
  %12 = alloca ptr, align 8
  %13 = alloca %struct.s2n_send_context, align 8
  %14 = alloca i32, align 4
  %15 = alloca ptr, align 8
  %16 = alloca i32, align 4
  %17 = alloca ptr, align 8
  %18 = alloca %struct.s2n_send_context, align 8
  %19 = alloca i32, align 4
  %20 = alloca ptr, align 8
  %21 = alloca [2 x %struct.s2n_send_result], align 16
  %22 = alloca %struct.s2n_send_context, align 8
  %23 = alloca i32, align 4
  %24 = alloca ptr, align 8
  %25 = alloca [4 x %struct.s2n_send_result], align 16
  %26 = alloca %struct.s2n_send_context, align 8
  %27 = alloca i32, align 4
  %28 = alloca ptr, align 8
  %29 = alloca [5 x %struct.s2n_send_result], align 16
  %30 = alloca %struct.s2n_send_context, align 8
  %31 = alloca i32, align 4
  %32 = alloca ptr, align 8
  %33 = alloca [3 x %struct.s2n_send_result], align 16
  %34 = alloca %struct.s2n_send_context, align 8
  %35 = alloca i32, align 4
  %36 = alloca ptr, align 8
  %37 = alloca [6 x %struct.s2n_send_result], align 16
  %38 = alloca %struct.s2n_send_context, align 8
  %39 = alloca i32, align 4
  %40 = alloca ptr, align 8
  %41 = alloca [8 x %struct.s2n_send_result], align 16
  %42 = alloca %struct.s2n_send_context, align 8
  %43 = alloca i32, align 4
  %44 = alloca ptr, align 8
  %45 = alloca [4 x %struct.s2n_send_result], align 16
  %46 = alloca %struct.s2n_send_context, align 8
  %47 = alloca i32, align 4
  %48 = alloca ptr, align 8
  %49 = alloca %struct.s2n_send_context, align 8
  %50 = alloca i32, align 4
  %51 = alloca ptr, align 8
  %52 = alloca i16, align 2
  %53 = alloca [6 x %struct.s2n_send_result], align 16
  %54 = alloca %struct.s2n_send_context, align 8
  %55 = alloca i32, align 4
  %56 = alloca [8 x %struct.iovec], align 16
  %57 = alloca %struct.iovec, align 8
  %58 = alloca i64, align 8
  %59 = alloca i64, align 8
  %60 = alloca [10 x %struct.iovec], align 16
  %61 = alloca i64, align 8
  %62 = alloca %struct.iovec, align 8
  %63 = alloca i64, align 8
  %64 = alloca %struct.iovec, align 8
  %65 = alloca i64, align 8
  %66 = alloca i64, align 8
  %67 = alloca i64, align 8
  %68 = alloca [10 x %struct.iovec], align 16
  %69 = alloca i64, align 8
  %70 = alloca %struct.iovec, align 8
  %71 = alloca i64, align 8
  %72 = alloca i64, align 8
  %73 = alloca [2 x %struct.iovec], align 16
  %74 = alloca [2 x %struct.iovec], align 16
  %75 = alloca [4 x %struct.s2n_send_result], align 16
  %76 = alloca ptr, align 8
  %77 = alloca %struct.s2n_send_context, align 8
  %78 = alloca i32, align 4
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %79 = load ptr, ptr @stdout, align 8, !tbaa !9
  %80 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %79, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.2) #11
  %81 = load ptr, ptr @stdout, align 8, !tbaa !9
  %82 = tail call i32 @fflush(ptr noundef %81)
  %83 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #11
  %84 = icmp eq i32 %83, -1
  br i1 %84, label %85, label %109

85:                                               ; preds = %2
  %86 = tail call ptr @__errno_location() #12
  %87 = load i32, ptr %86, align 4, !tbaa !5
  %88 = load ptr, ptr @stderr, align 8, !tbaa !9
  %89 = tail call i32 @s2n_print_stacktrace(ptr noundef %88) #11
  %90 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %91 = trunc nuw i8 %90 to i1
  br i1 %91, label %92, label %96

92:                                               ; preds = %85
  %93 = load ptr, ptr @stderr, align 8, !tbaa !9
  %94 = tail call i32 @fileno(ptr noundef %93) #11
  %95 = tail call i32 @isatty(i32 noundef %94) #11
  %.not841 = icmp eq i32 %95, 0
  br i1 %.not841, label %96, label %97

96:                                               ; preds = %92, %85
  br label %97

97:                                               ; preds = %92, %96
  %.str.4.sink = phi ptr [ @.str.4, %96 ], [ @.str, %92 ]
  store i32 %87, ptr %86, align 4, !tbaa !5
  %98 = load ptr, ptr @stderr, align 8, !tbaa !9
  %99 = load i32, ptr @test_count, align 4, !tbaa !5
  %100 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %101 = load i32, ptr %100, align 4, !tbaa !5
  %102 = tail call ptr @s2n_strerror(i32 noundef %101, ptr noundef nonnull @.str.3) #11
  %103 = load i32, ptr %100, align 4, !tbaa !5
  %104 = tail call ptr @s2n_strerror_debug(i32 noundef %103, ptr noundef nonnull @.str.3) #11
  %105 = load i32, ptr %86, align 4, !tbaa !5
  %106 = tail call ptr @strerror(i32 noundef %105) #11
  %107 = load i32, ptr %86, align 4, !tbaa !5
  %108 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %98, ptr noundef nonnull %.str.4.sink, i32 noundef %99, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.2, i32 noundef 106, ptr noundef %102, ptr noundef %104, ptr noundef %106, i32 noundef %107) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

109:                                              ; preds = %2
  %110 = load i32, ptr @test_count, align 4, !tbaa !5
  %111 = add nsw i32 %110, 1
  store i32 %111, ptr @test_count, align 4, !tbaa !5
  %112 = tail call i32 @s2n_enable_atexit() #11
  %113 = icmp eq i32 %112, -1
  br i1 %113, label %114, label %138

114:                                              ; preds = %109
  %115 = tail call ptr @__errno_location() #12
  %116 = load i32, ptr %115, align 4, !tbaa !5
  %117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %118 = tail call i32 @s2n_print_stacktrace(ptr noundef %117) #11
  %119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %120 = trunc nuw i8 %119 to i1
  br i1 %120, label %121, label %125

121:                                              ; preds = %114
  %122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %123 = tail call i32 @fileno(ptr noundef %122) #11
  %124 = tail call i32 @isatty(i32 noundef %123) #11
  %.not840 = icmp eq i32 %124, 0
  br i1 %.not840, label %125, label %126

125:                                              ; preds = %121, %114
  br label %126

126:                                              ; preds = %121, %125
  %.str.4.sink857 = phi ptr [ @.str.4, %125 ], [ @.str, %121 ]
  store i32 %116, ptr %115, align 4, !tbaa !5
  %127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %128 = load i32, ptr @test_count, align 4, !tbaa !5
  %129 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %130 = load i32, ptr %129, align 4, !tbaa !5
  %131 = tail call ptr @s2n_strerror(i32 noundef %130, ptr noundef nonnull @.str.3) #11
  %132 = load i32, ptr %129, align 4, !tbaa !5
  %133 = tail call ptr @s2n_strerror_debug(i32 noundef %132, ptr noundef nonnull @.str.3) #11
  %134 = load i32, ptr %115, align 4, !tbaa !5
  %135 = tail call ptr @strerror(i32 noundef %134) #11
  %136 = load i32, ptr %115, align 4, !tbaa !5
  %137 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %127, ptr noundef nonnull %.str.4.sink857, i32 noundef %128, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.2, i32 noundef 106, ptr noundef %131, ptr noundef %133, ptr noundef %135, i32 noundef %136) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

138:                                              ; preds = %109
  %139 = tail call i32 @s2n_init() #11
  %140 = icmp eq i32 %139, -1
  br i1 %140, label %141, label %165

141:                                              ; preds = %138
  %142 = tail call ptr @__errno_location() #12
  %143 = load i32, ptr %142, align 4, !tbaa !5
  %144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %145 = tail call i32 @s2n_print_stacktrace(ptr noundef %144) #11
  %146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %147 = trunc nuw i8 %146 to i1
  br i1 %147, label %148, label %152

148:                                              ; preds = %141
  %149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %150 = tail call i32 @fileno(ptr noundef %149) #11
  %151 = tail call i32 @isatty(i32 noundef %150) #11
  %.not839 = icmp eq i32 %151, 0
  br i1 %.not839, label %152, label %153

152:                                              ; preds = %148, %141
  br label %153

153:                                              ; preds = %148, %152
  %.str.4.sink868 = phi ptr [ @.str.4, %152 ], [ @.str, %148 ]
  store i32 %143, ptr %142, align 4, !tbaa !5
  %154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %155 = load i32, ptr @test_count, align 4, !tbaa !5
  %156 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %157 = load i32, ptr %156, align 4, !tbaa !5
  %158 = tail call ptr @s2n_strerror(i32 noundef %157, ptr noundef nonnull @.str.3) #11
  %159 = load i32, ptr %156, align 4, !tbaa !5
  %160 = tail call ptr @s2n_strerror_debug(i32 noundef %159, ptr noundef nonnull @.str.3) #11
  %161 = load i32, ptr %142, align 4, !tbaa !5
  %162 = tail call ptr @strerror(i32 noundef %161) #11
  %163 = load i32, ptr %142, align 4, !tbaa !5
  %164 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %154, ptr noundef nonnull %.str.4.sink868, i32 noundef %155, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.2, i32 noundef 106, ptr noundef %158, ptr noundef %160, ptr noundef %162, i32 noundef %163) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

165:                                              ; preds = %138
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %3) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %3, ptr noundef nonnull align 1 dereferenceable(12) @__const.main.test_data, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 16394, ptr nonnull %4) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16394) %4, i8 0, i64 16394, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, i8 0, i64 24, i1 false)
  %166 = load i32, ptr @test_count, align 4, !tbaa !5
  %167 = add nsw i32 %166, 1
  store i32 %167, ptr @test_count, align 4, !tbaa !5
  %168 = call i32 @s2n_blob_init(ptr noundef nonnull %5, ptr noundef nonnull %4, i32 noundef 16394) #11
  %169 = icmp eq i32 %168, -1
  br i1 %169, label %170, label %194

170:                                              ; preds = %165
  %171 = tail call ptr @__errno_location() #12
  %172 = load i32, ptr %171, align 4, !tbaa !5
  %173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %174 = call i32 @s2n_print_stacktrace(ptr noundef %173) #11
  %175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %176 = trunc nuw i8 %175 to i1
  br i1 %176, label %177, label %181

177:                                              ; preds = %170
  %178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %179 = call i32 @fileno(ptr noundef %178) #11
  %180 = call i32 @isatty(i32 noundef %179) #11
  %.not838 = icmp eq i32 %180, 0
  br i1 %.not838, label %181, label %182

181:                                              ; preds = %177, %170
  br label %182

182:                                              ; preds = %177, %181
  %.str.4.sink879 = phi ptr [ @.str.4, %181 ], [ @.str, %177 ]
  store i32 %172, ptr %171, align 4, !tbaa !5
  %183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %184 = load i32, ptr @test_count, align 4, !tbaa !5
  %185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %186 = load i32, ptr %185, align 4, !tbaa !5
  %187 = call ptr @s2n_strerror(i32 noundef %186, ptr noundef nonnull @.str.3) #11
  %188 = load i32, ptr %185, align 4, !tbaa !5
  %189 = call ptr @s2n_strerror_debug(i32 noundef %188, ptr noundef nonnull @.str.3) #11
  %190 = load i32, ptr %171, align 4, !tbaa !5
  %191 = call ptr @strerror(i32 noundef %190) #11
  %192 = load i32, ptr %171, align 4, !tbaa !5
  %193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %183, ptr noundef nonnull %.str.4.sink879, i32 noundef %184, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 112, ptr noundef %187, ptr noundef %189, ptr noundef %191, i32 noundef %192) #13
  call void @exit(i32 noundef 1) #14
  unreachable

194:                                              ; preds = %165
  %195 = load i32, ptr @test_count, align 4, !tbaa !5
  %196 = add nsw i32 %195, 1
  store i32 %196, ptr @test_count, align 4, !tbaa !5
  %197 = call i32 @s2n_get_public_random_data(ptr noundef nonnull %5) #11
  %198 = call zeroext i1 @s2n_result_is_ok(i32 %197)
  br i1 %198, label %223, label %199

199:                                              ; preds = %194
  %200 = tail call ptr @__errno_location() #12
  %201 = load i32, ptr %200, align 4, !tbaa !5
  %202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %203 = call i32 @s2n_print_stacktrace(ptr noundef %202) #11
  %204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %205 = trunc nuw i8 %204 to i1
  br i1 %205, label %206, label %210

206:                                              ; preds = %199
  %207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %208 = call i32 @fileno(ptr noundef %207) #11
  %209 = call i32 @isatty(i32 noundef %208) #11
  %.not = icmp eq i32 %209, 0
  br i1 %.not, label %210, label %211

210:                                              ; preds = %206, %199
  br label %211

211:                                              ; preds = %206, %210
  %.str.4.sink890 = phi ptr [ @.str.4, %210 ], [ @.str, %206 ]
  store i32 %201, ptr %200, align 4, !tbaa !5
  %212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %213 = load i32, ptr @test_count, align 4, !tbaa !5
  %214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %215 = load i32, ptr %214, align 4, !tbaa !5
  %216 = call ptr @s2n_strerror(i32 noundef %215, ptr noundef nonnull @.str.3) #11
  %217 = load i32, ptr %214, align 4, !tbaa !5
  %218 = call ptr @s2n_strerror_debug(i32 noundef %217, ptr noundef nonnull @.str.3) #11
  %219 = load i32, ptr %200, align 4, !tbaa !5
  %220 = call ptr @strerror(i32 noundef %219) #11
  %221 = load i32, ptr %200, align 4, !tbaa !5
  %222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %212, ptr noundef nonnull %.str.4.sink890, i32 noundef %213, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 113, ptr noundef %216, ptr noundef %218, ptr noundef %220, i32 noundef %221) #13
  call void @exit(i32 noundef 1) #14
  unreachable

223:                                              ; preds = %194
  call void @llvm.lifetime.start.p0(i64 400, ptr nonnull %6) #11
  %224 = getelementptr inbounds i8, ptr %6, i64 352
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(400) %224, i8 0, i64 48, i1 false)
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %6, align 16, !tbaa !5
  %225 = getelementptr inbounds i8, ptr %6, i64 16
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %225, align 16, !tbaa !5
  %226 = getelementptr inbounds i8, ptr %6, i64 32
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %226, align 16, !tbaa !5
  %227 = getelementptr inbounds i8, ptr %6, i64 48
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %227, align 16, !tbaa !5
  %228 = getelementptr inbounds i8, ptr %6, i64 64
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %228, align 16, !tbaa !5
  %229 = getelementptr inbounds i8, ptr %6, i64 80
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %229, align 16, !tbaa !5
  %230 = getelementptr inbounds i8, ptr %6, i64 96
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %230, align 16, !tbaa !5
  %231 = getelementptr inbounds i8, ptr %6, i64 112
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %231, align 16, !tbaa !5
  %232 = getelementptr inbounds i8, ptr %6, i64 128
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %232, align 16, !tbaa !5
  %233 = getelementptr inbounds i8, ptr %6, i64 144
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %233, align 16, !tbaa !5
  %234 = getelementptr inbounds i8, ptr %6, i64 160
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %234, align 16, !tbaa !5
  %235 = getelementptr inbounds i8, ptr %6, i64 176
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %235, align 16, !tbaa !5
  %236 = getelementptr inbounds i8, ptr %6, i64 192
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %236, align 16, !tbaa !5
  %237 = getelementptr inbounds i8, ptr %6, i64 208
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %237, align 16, !tbaa !5
  %238 = getelementptr inbounds i8, ptr %6, i64 224
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %238, align 16, !tbaa !5
  %239 = getelementptr inbounds i8, ptr %6, i64 240
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %239, align 16, !tbaa !5
  %240 = getelementptr inbounds i8, ptr %6, i64 256
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %240, align 16, !tbaa !5
  %241 = getelementptr inbounds i8, ptr %6, i64 272
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %241, align 16, !tbaa !5
  %242 = getelementptr inbounds i8, ptr %6, i64 288
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %242, align 16, !tbaa !5
  %243 = getelementptr inbounds i8, ptr %6, i64 304
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %243, align 16, !tbaa !5
  %244 = getelementptr inbounds i8, ptr %6, i64 320
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %244, align 16, !tbaa !5
  %245 = getelementptr inbounds i8, ptr %6, i64 336
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %245, align 16, !tbaa !5
  %246 = getelementptr inbounds i8, ptr %6, i64 352
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %246, align 16, !tbaa !5
  %247 = getelementptr inbounds i8, ptr %6, i64 368
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %247, align 16, !tbaa !5
  %248 = getelementptr inbounds i8, ptr %6, i64 384
  store <4 x i32> <i32 2147483647, i32 0, i32 2147483647, i32 0>, ptr %248, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #11
  %249 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %249, ptr %7, align 8, !tbaa !9
  %250 = load i32, ptr @test_count, align 4, !tbaa !5
  %251 = add nsw i32 %250, 1
  store i32 %251, ptr @test_count, align 4, !tbaa !5
  %252 = icmp eq ptr %249, null
  br i1 %252, label %253, label %277

253:                                              ; preds = %223
  %254 = tail call ptr @__errno_location() #12
  %255 = load i32, ptr %254, align 4, !tbaa !5
  %256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %257 = call i32 @s2n_print_stacktrace(ptr noundef %256) #11
  %258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %259 = trunc nuw i8 %258 to i1
  br i1 %259, label %260, label %264

260:                                              ; preds = %253
  %261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %262 = call i32 @fileno(ptr noundef %261) #11
  %263 = call i32 @isatty(i32 noundef %262) #11
  %.not837 = icmp eq i32 %263, 0
  br i1 %.not837, label %264, label %265

264:                                              ; preds = %260, %253
  br label %265

265:                                              ; preds = %260, %264
  %.str.4.sink901 = phi ptr [ @.str.4, %264 ], [ @.str, %260 ]
  store i32 %255, ptr %254, align 4, !tbaa !5
  %266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %267 = load i32, ptr @test_count, align 4, !tbaa !5
  %268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %269 = load i32, ptr %268, align 4, !tbaa !5
  %270 = call ptr @s2n_strerror(i32 noundef %269, ptr noundef nonnull @.str.3) #11
  %271 = load i32, ptr %268, align 4, !tbaa !5
  %272 = call ptr @s2n_strerror_debug(i32 noundef %271, ptr noundef nonnull @.str.3) #11
  %273 = load i32, ptr %254, align 4, !tbaa !5
  %274 = call ptr @strerror(i32 noundef %273) #11
  %275 = load i32, ptr %254, align 4, !tbaa !5
  %276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %266, ptr noundef nonnull %.str.4.sink901, i32 noundef %267, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 136, ptr noundef %270, ptr noundef %272, ptr noundef %274, i32 noundef %275) #13
  call void @exit(i32 noundef 1) #14
  unreachable

277:                                              ; preds = %223
  %278 = add nsw i32 %250, 2
  store i32 %278, ptr @test_count, align 4, !tbaa !5
  %279 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %249) #11
  %280 = call zeroext i1 @s2n_result_is_ok(i32 %279)
  br i1 %280, label %305, label %281

281:                                              ; preds = %277
  %282 = tail call ptr @__errno_location() #12
  %283 = load i32, ptr %282, align 4, !tbaa !5
  %284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %285 = call i32 @s2n_print_stacktrace(ptr noundef %284) #11
  %286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %287 = trunc nuw i8 %286 to i1
  br i1 %287, label %288, label %292

288:                                              ; preds = %281
  %289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %290 = call i32 @fileno(ptr noundef %289) #11
  %291 = call i32 @isatty(i32 noundef %290) #11
  %.not605 = icmp eq i32 %291, 0
  br i1 %.not605, label %292, label %293

292:                                              ; preds = %288, %281
  br label %293

293:                                              ; preds = %288, %292
  %.str.4.sink912 = phi ptr [ @.str.4, %292 ], [ @.str, %288 ]
  store i32 %283, ptr %282, align 4, !tbaa !5
  %294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %295 = load i32, ptr @test_count, align 4, !tbaa !5
  %296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %297 = load i32, ptr %296, align 4, !tbaa !5
  %298 = call ptr @s2n_strerror(i32 noundef %297, ptr noundef nonnull @.str.3) #11
  %299 = load i32, ptr %296, align 4, !tbaa !5
  %300 = call ptr @s2n_strerror_debug(i32 noundef %299, ptr noundef nonnull @.str.3) #11
  %301 = load i32, ptr %282, align 4, !tbaa !5
  %302 = call ptr @strerror(i32 noundef %301) #11
  %303 = load i32, ptr %282, align 4, !tbaa !5
  %304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %294, ptr noundef nonnull %.str.4.sink912, i32 noundef %295, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 137, ptr noundef %298, ptr noundef %300, ptr noundef %302, i32 noundef %303) #13
  call void @exit(i32 noundef 1) #14
  unreachable

305:                                              ; preds = %277
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #11
  %.sroa.7.0..sroa_idx = getelementptr inbounds i8, ptr %8, i64 8
  %.sroa.8.0..sroa_idx = getelementptr inbounds i8, ptr %8, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %8, i8 0, i64 16, i1 false)
  store ptr %6, ptr %.sroa.8.0..sroa_idx, align 8, !tbaa !9
  %.sroa.9.0..sroa_idx = getelementptr inbounds i8, ptr %8, i64 24
  store i64 50, ptr %.sroa.9.0..sroa_idx, align 8, !tbaa !15
  %306 = load i32, ptr @test_count, align 4, !tbaa !5
  %307 = add nsw i32 %306, 1
  store i32 %307, ptr @test_count, align 4, !tbaa !5
  %308 = load ptr, ptr %7, align 8, !tbaa !9
  %309 = call i32 @s2n_connection_set_send_cb(ptr noundef %308, ptr noundef nonnull @s2n_test_send_cb) #11
  %310 = icmp eq i32 %309, -1
  br i1 %310, label %311, label %335

311:                                              ; preds = %305
  %312 = tail call ptr @__errno_location() #12
  %313 = load i32, ptr %312, align 4, !tbaa !5
  %314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %315 = call i32 @s2n_print_stacktrace(ptr noundef %314) #11
  %316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %317 = trunc nuw i8 %316 to i1
  br i1 %317, label %318, label %322

318:                                              ; preds = %311
  %319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %320 = call i32 @fileno(ptr noundef %319) #11
  %321 = call i32 @isatty(i32 noundef %320) #11
  %.not836 = icmp eq i32 %321, 0
  br i1 %.not836, label %322, label %323

322:                                              ; preds = %318, %311
  br label %323

323:                                              ; preds = %318, %322
  %.str.4.sink923 = phi ptr [ @.str.4, %322 ], [ @.str, %318 ]
  store i32 %313, ptr %312, align 4, !tbaa !5
  %324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %325 = load i32, ptr @test_count, align 4, !tbaa !5
  %326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %327 = load i32, ptr %326, align 4, !tbaa !5
  %328 = call ptr @s2n_strerror(i32 noundef %327, ptr noundef nonnull @.str.3) #11
  %329 = load i32, ptr %326, align 4, !tbaa !5
  %330 = call ptr @s2n_strerror_debug(i32 noundef %329, ptr noundef nonnull @.str.3) #11
  %331 = load i32, ptr %312, align 4, !tbaa !5
  %332 = call ptr @strerror(i32 noundef %331) #11
  %333 = load i32, ptr %312, align 4, !tbaa !5
  %334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %324, ptr noundef nonnull %.str.4.sink923, i32 noundef %325, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 140, ptr noundef %328, ptr noundef %330, ptr noundef %332, i32 noundef %333) #13
  call void @exit(i32 noundef 1) #14
  unreachable

335:                                              ; preds = %305
  %336 = load i32, ptr @test_count, align 4, !tbaa !5
  %337 = add nsw i32 %336, 1
  store i32 %337, ptr @test_count, align 4, !tbaa !5
  %338 = load ptr, ptr %7, align 8, !tbaa !9
  %339 = call i32 @s2n_connection_set_send_ctx(ptr noundef %338, ptr noundef nonnull %8) #11
  %340 = icmp eq i32 %339, -1
  br i1 %340, label %341, label %365

341:                                              ; preds = %335
  %342 = tail call ptr @__errno_location() #12
  %343 = load i32, ptr %342, align 4, !tbaa !5
  %344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %345 = call i32 @s2n_print_stacktrace(ptr noundef %344) #11
  %346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %347 = trunc nuw i8 %346 to i1
  br i1 %347, label %348, label %352

348:                                              ; preds = %341
  %349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %350 = call i32 @fileno(ptr noundef %349) #11
  %351 = call i32 @isatty(i32 noundef %350) #11
  %.not835 = icmp eq i32 %351, 0
  br i1 %.not835, label %352, label %353

352:                                              ; preds = %348, %341
  br label %353

353:                                              ; preds = %348, %352
  %.str.4.sink934 = phi ptr [ @.str.4, %352 ], [ @.str, %348 ]
  store i32 %343, ptr %342, align 4, !tbaa !5
  %354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %355 = load i32, ptr @test_count, align 4, !tbaa !5
  %356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %357 = load i32, ptr %356, align 4, !tbaa !5
  %358 = call ptr @s2n_strerror(i32 noundef %357, ptr noundef nonnull @.str.3) #11
  %359 = load i32, ptr %356, align 4, !tbaa !5
  %360 = call ptr @s2n_strerror_debug(i32 noundef %359, ptr noundef nonnull @.str.3) #11
  %361 = load i32, ptr %342, align 4, !tbaa !5
  %362 = call ptr @strerror(i32 noundef %361) #11
  %363 = load i32, ptr %342, align 4, !tbaa !5
  %364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %354, ptr noundef nonnull %.str.4.sink934, i32 noundef %355, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 141, ptr noundef %358, ptr noundef %360, ptr noundef %362, i32 noundef %363) #13
  call void @exit(i32 noundef 1) #14
  unreachable

365:                                              ; preds = %335
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #11
  store i32 0, ptr %9, align 4, !tbaa !5
  %366 = load i32, ptr @test_count, align 4, !tbaa !5
  %367 = add nsw i32 %366, 1
  store i32 %367, ptr @test_count, align 4, !tbaa !5
  %368 = load ptr, ptr %7, align 8, !tbaa !9
  %369 = call i64 @s2n_send(ptr noundef %368, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %9) #11
  %370 = icmp eq i64 %369, 12
  br i1 %370, label %395, label %371

371:                                              ; preds = %365
  %372 = tail call ptr @__errno_location() #12
  %373 = load i32, ptr %372, align 4, !tbaa !5
  %374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %375 = call i32 @s2n_print_stacktrace(ptr noundef %374) #11
  %376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %377 = trunc nuw i8 %376 to i1
  br i1 %377, label %378, label %382

378:                                              ; preds = %371
  %379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %380 = call i32 @fileno(ptr noundef %379) #11
  %381 = call i32 @isatty(i32 noundef %380) #11
  %.not606 = icmp eq i32 %381, 0
  br i1 %.not606, label %382, label %383

382:                                              ; preds = %378, %371
  br label %383

383:                                              ; preds = %378, %382
  %.str.4.sink945 = phi ptr [ @.str.4, %382 ], [ @.str, %378 ]
  store i32 %373, ptr %372, align 4, !tbaa !5
  %384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %385 = load i32, ptr @test_count, align 4, !tbaa !5
  %386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %387 = load i32, ptr %386, align 4, !tbaa !5
  %388 = call ptr @s2n_strerror(i32 noundef %387, ptr noundef nonnull @.str.3) #11
  %389 = load i32, ptr %386, align 4, !tbaa !5
  %390 = call ptr @s2n_strerror_debug(i32 noundef %389, ptr noundef nonnull @.str.3) #11
  %391 = load i32, ptr %372, align 4, !tbaa !5
  %392 = call ptr @strerror(i32 noundef %391) #11
  %393 = load i32, ptr %372, align 4, !tbaa !5
  %394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %384, ptr noundef nonnull %.str.4.sink945, i32 noundef %385, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.2, i32 noundef 144, ptr noundef %388, ptr noundef %390, ptr noundef %392, i32 noundef %393) #13
  call void @exit(i32 noundef 1) #14
  unreachable

395:                                              ; preds = %365
  %396 = load i32, ptr @test_count, align 4, !tbaa !5
  %397 = add nsw i32 %396, 1
  store i32 %397, ptr @test_count, align 4, !tbaa !5
  %398 = load i64, ptr %8, align 8, !tbaa !17
  %399 = icmp eq i64 %398, 1
  br i1 %399, label %424, label %400

400:                                              ; preds = %395
  %401 = tail call ptr @__errno_location() #12
  %402 = load i32, ptr %401, align 4, !tbaa !5
  %403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %404 = call i32 @s2n_print_stacktrace(ptr noundef %403) #11
  %405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %406 = trunc nuw i8 %405 to i1
  br i1 %406, label %407, label %411

407:                                              ; preds = %400
  %408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %409 = call i32 @fileno(ptr noundef %408) #11
  %410 = call i32 @isatty(i32 noundef %409) #11
  %.not607 = icmp eq i32 %410, 0
  br i1 %.not607, label %411, label %412

411:                                              ; preds = %407, %400
  br label %412

412:                                              ; preds = %407, %411
  %.str.4.sink956 = phi ptr [ @.str.4, %411 ], [ @.str, %407 ]
  store i32 %402, ptr %401, align 4, !tbaa !5
  %413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %414 = load i32, ptr @test_count, align 4, !tbaa !5
  %415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %416 = load i32, ptr %415, align 4, !tbaa !5
  %417 = call ptr @s2n_strerror(i32 noundef %416, ptr noundef nonnull @.str.3) #11
  %418 = load i32, ptr %415, align 4, !tbaa !5
  %419 = call ptr @s2n_strerror_debug(i32 noundef %418, ptr noundef nonnull @.str.3) #11
  %420 = load i32, ptr %401, align 4, !tbaa !5
  %421 = call ptr @strerror(i32 noundef %420) #11
  %422 = load i32, ptr %401, align 4, !tbaa !5
  %423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %413, ptr noundef nonnull %.str.4.sink956, i32 noundef %414, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 146, ptr noundef %417, ptr noundef %419, ptr noundef %421, i32 noundef %422) #13
  call void @exit(i32 noundef 1) #14
  unreachable

424:                                              ; preds = %395
  %425 = add nsw i32 %396, 2
  store i32 %425, ptr @test_count, align 4, !tbaa !5
  %426 = load i64, ptr %.sroa.7.0..sroa_idx, align 8, !tbaa !19
  %427 = load ptr, ptr %7, align 8, !tbaa !9
  %428 = getelementptr inbounds i8, ptr %427, i64 2248
  %429 = load i64, ptr %428, align 8, !tbaa !20
  %430 = icmp eq i64 %426, %429
  br i1 %430, label %455, label %431

431:                                              ; preds = %424
  %432 = tail call ptr @__errno_location() #12
  %433 = load i32, ptr %432, align 4, !tbaa !5
  %434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %435 = call i32 @s2n_print_stacktrace(ptr noundef %434) #11
  %436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %437 = trunc nuw i8 %436 to i1
  br i1 %437, label %438, label %442

438:                                              ; preds = %431
  %439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %440 = call i32 @fileno(ptr noundef %439) #11
  %441 = call i32 @isatty(i32 noundef %440) #11
  %.not608 = icmp eq i32 %441, 0
  br i1 %.not608, label %442, label %443

442:                                              ; preds = %438, %431
  br label %443

443:                                              ; preds = %438, %442
  %.str.4.sink967 = phi ptr [ @.str.4, %442 ], [ @.str, %438 ]
  store i32 %433, ptr %432, align 4, !tbaa !5
  %444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %445 = load i32, ptr @test_count, align 4, !tbaa !5
  %446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %447 = load i32, ptr %446, align 4, !tbaa !5
  %448 = call ptr @s2n_strerror(i32 noundef %447, ptr noundef nonnull @.str.3) #11
  %449 = load i32, ptr %446, align 4, !tbaa !5
  %450 = call ptr @s2n_strerror_debug(i32 noundef %449, ptr noundef nonnull @.str.3) #11
  %451 = load i32, ptr %432, align 4, !tbaa !5
  %452 = call ptr @strerror(i32 noundef %451) #11
  %453 = load i32, ptr %432, align 4, !tbaa !5
  %454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %444, ptr noundef nonnull %.str.4.sink967, i32 noundef %445, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.2, i32 noundef 147, ptr noundef %448, ptr noundef %450, ptr noundef %452, i32 noundef %453) #13
  call void @exit(i32 noundef 1) #14
  unreachable

455:                                              ; preds = %424
  %456 = add nsw i32 %396, 3
  store i32 %456, ptr @test_count, align 4, !tbaa !5
  %457 = icmp ugt i64 %426, 12
  br i1 %457, label %482, label %458

458:                                              ; preds = %455
  %459 = tail call ptr @__errno_location() #12
  %460 = load i32, ptr %459, align 4, !tbaa !5
  %461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %462 = call i32 @s2n_print_stacktrace(ptr noundef %461) #11
  %463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %464 = trunc nuw i8 %463 to i1
  br i1 %464, label %465, label %469

465:                                              ; preds = %458
  %466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %467 = call i32 @fileno(ptr noundef %466) #11
  %468 = call i32 @isatty(i32 noundef %467) #11
  %.not609 = icmp eq i32 %468, 0
  br i1 %.not609, label %469, label %470

469:                                              ; preds = %465, %458
  br label %470

470:                                              ; preds = %465, %469
  %.str.4.sink978 = phi ptr [ @.str.4, %469 ], [ @.str, %465 ]
  store i32 %460, ptr %459, align 4, !tbaa !5
  %471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %472 = load i32, ptr @test_count, align 4, !tbaa !5
  %473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %474 = load i32, ptr %473, align 4, !tbaa !5
  %475 = call ptr @s2n_strerror(i32 noundef %474, ptr noundef nonnull @.str.3) #11
  %476 = load i32, ptr %473, align 4, !tbaa !5
  %477 = call ptr @s2n_strerror_debug(i32 noundef %476, ptr noundef nonnull @.str.3) #11
  %478 = load i32, ptr %459, align 4, !tbaa !5
  %479 = call ptr @strerror(i32 noundef %478) #11
  %480 = load i32, ptr %459, align 4, !tbaa !5
  %481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %471, ptr noundef nonnull %.str.4.sink978, i32 noundef %472, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.2, i32 noundef 151, ptr noundef %475, ptr noundef %477, ptr noundef %479, i32 noundef %480) #13
  call void @exit(i32 noundef 1) #14
  unreachable

482:                                              ; preds = %455
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #11
  %483 = 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 32, ptr nonnull %10) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %10, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %11) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %11, i8 0, i64 16, i1 false)
  %.sroa.7.0..sroa_idx561 = getelementptr inbounds i8, ptr %13, i64 8
  %.sroa.8.0..sroa_idx567 = getelementptr inbounds i8, ptr %13, i64 16
  %.sroa.9.0..sroa_idx573 = getelementptr inbounds i8, ptr %13, i64 24
  br label %489

484:                                              ; preds = %902
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #11
  %485 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %485, ptr %15, align 8, !tbaa !9
  %486 = load i32, ptr @test_count, align 4, !tbaa !5
  %487 = add nsw i32 %486, 1
  store i32 %487, ptr @test_count, align 4, !tbaa !5
  %488 = icmp eq ptr %485, null
  br i1 %488, label %905, label %929

489:                                              ; preds = %482, %902
  %.0595843 = phi i64 [ 0, %482 ], [ %904, %902 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #11
  %490 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %490, ptr %12, align 8, !tbaa !9
  %491 = load i32, ptr @test_count, align 4, !tbaa !5
  %492 = add nsw i32 %491, 1
  store i32 %492, ptr @test_count, align 4, !tbaa !5
  %493 = icmp eq ptr %490, null
  br i1 %493, label %494, label %518

494:                                              ; preds = %489
  %495 = tail call ptr @__errno_location() #12
  %496 = load i32, ptr %495, align 4, !tbaa !5
  %497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %498 = call i32 @s2n_print_stacktrace(ptr noundef %497) #11
  %499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %500 = trunc nuw i8 %499 to i1
  br i1 %500, label %501, label %505

501:                                              ; preds = %494
  %502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %503 = call i32 @fileno(ptr noundef %502) #11
  %504 = call i32 @isatty(i32 noundef %503) #11
  %.not834 = icmp eq i32 %504, 0
  br i1 %.not834, label %505, label %506

505:                                              ; preds = %501, %494
  br label %506

506:                                              ; preds = %501, %505
  %.str.4.sink989 = phi ptr [ @.str.4, %505 ], [ @.str, %501 ]
  store i32 %496, ptr %495, align 4, !tbaa !5
  %507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %508 = load i32, ptr @test_count, align 4, !tbaa !5
  %509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %510 = load i32, ptr %509, align 4, !tbaa !5
  %511 = call ptr @s2n_strerror(i32 noundef %510, ptr noundef nonnull @.str.3) #11
  %512 = load i32, ptr %509, align 4, !tbaa !5
  %513 = call ptr @s2n_strerror_debug(i32 noundef %512, ptr noundef nonnull @.str.3) #11
  %514 = load i32, ptr %495, align 4, !tbaa !5
  %515 = call ptr @strerror(i32 noundef %514) #11
  %516 = load i32, ptr %495, align 4, !tbaa !5
  %517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %507, ptr noundef nonnull %.str.4.sink989, i32 noundef %508, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 168, ptr noundef %511, ptr noundef %513, ptr noundef %515, i32 noundef %516) #13
  call void @exit(i32 noundef 1) #14
  unreachable

518:                                              ; preds = %489
  %519 = add nsw i32 %491, 2
  store i32 %519, ptr @test_count, align 4, !tbaa !5
  %520 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %490) #11
  %521 = call zeroext i1 @s2n_result_is_ok(i32 %520)
  br i1 %521, label %546, label %522

522:                                              ; preds = %518
  %523 = tail call ptr @__errno_location() #12
  %524 = load i32, ptr %523, align 4, !tbaa !5
  %525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %526 = call i32 @s2n_print_stacktrace(ptr noundef %525) #11
  %527 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %528 = trunc nuw i8 %527 to i1
  br i1 %528, label %529, label %533

529:                                              ; preds = %522
  %530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %531 = call i32 @fileno(ptr noundef %530) #11
  %532 = call i32 @isatty(i32 noundef %531) #11
  %.not820 = icmp eq i32 %532, 0
  br i1 %.not820, label %533, label %534

533:                                              ; preds = %529, %522
  br label %534

534:                                              ; preds = %529, %533
  %.str.4.sink1000 = phi ptr [ @.str.4, %533 ], [ @.str, %529 ]
  store i32 %524, ptr %523, align 4, !tbaa !5
  %535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %536 = load i32, ptr @test_count, align 4, !tbaa !5
  %537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %538 = load i32, ptr %537, align 4, !tbaa !5
  %539 = call ptr @s2n_strerror(i32 noundef %538, ptr noundef nonnull @.str.3) #11
  %540 = load i32, ptr %537, align 4, !tbaa !5
  %541 = call ptr @s2n_strerror_debug(i32 noundef %540, ptr noundef nonnull @.str.3) #11
  %542 = load i32, ptr %523, align 4, !tbaa !5
  %543 = call ptr @strerror(i32 noundef %542) #11
  %544 = load i32, ptr %523, align 4, !tbaa !5
  %545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %535, ptr noundef nonnull %.str.4.sink1000, i32 noundef %536, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 169, ptr noundef %539, ptr noundef %541, ptr noundef %543, i32 noundef %544) #13
  call void @exit(i32 noundef 1) #14
  unreachable

546:                                              ; preds = %518
  %547 = load i32, ptr @test_count, align 4, !tbaa !5
  %548 = add nsw i32 %547, 1
  store i32 %548, ptr @test_count, align 4, !tbaa !5
  %549 = load ptr, ptr %12, align 8, !tbaa !9
  %550 = trunc nuw nsw i64 %.0595843 to i32
  %551 = call i32 @s2n_set_test_max_fragment_len(ptr noundef %549, i32 noundef %550)
  %552 = call zeroext i1 @s2n_result_is_ok(i32 %551)
  br i1 %552, label %577, label %553

553:                                              ; preds = %546
  %554 = tail call ptr @__errno_location() #12
  %555 = load i32, ptr %554, align 4, !tbaa !5
  %556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %557 = call i32 @s2n_print_stacktrace(ptr noundef %556) #11
  %558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %559 = trunc nuw i8 %558 to i1
  br i1 %559, label %560, label %564

560:                                              ; preds = %553
  %561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %562 = call i32 @fileno(ptr noundef %561) #11
  %563 = call i32 @isatty(i32 noundef %562) #11
  %.not821 = icmp eq i32 %563, 0
  br i1 %.not821, label %564, label %565

564:                                              ; preds = %560, %553
  br label %565

565:                                              ; preds = %560, %564
  %.str.4.sink1011 = phi ptr [ @.str.4, %564 ], [ @.str, %560 ]
  store i32 %555, ptr %554, align 4, !tbaa !5
  %566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %567 = load i32, ptr @test_count, align 4, !tbaa !5
  %568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %569 = load i32, ptr %568, align 4, !tbaa !5
  %570 = call ptr @s2n_strerror(i32 noundef %569, ptr noundef nonnull @.str.3) #11
  %571 = load i32, ptr %568, align 4, !tbaa !5
  %572 = call ptr @s2n_strerror_debug(i32 noundef %571, ptr noundef nonnull @.str.3) #11
  %573 = load i32, ptr %554, align 4, !tbaa !5
  %574 = call ptr @strerror(i32 noundef %573) #11
  %575 = load i32, ptr %554, align 4, !tbaa !5
  %576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %566, ptr noundef nonnull %.str.4.sink1011, i32 noundef %567, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.2, i32 noundef 170, ptr noundef %570, ptr noundef %572, ptr noundef %574, i32 noundef %575) #13
  call void @exit(i32 noundef 1) #14
  unreachable

577:                                              ; preds = %546
  %578 = load ptr, ptr %12, align 8, !tbaa !9
  %579 = getelementptr inbounds i8, ptr %578, i64 2208
  %580 = load i16, ptr %579, align 8, !tbaa !46
  %581 = zext i16 %580 to i64
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %13, i8 0, i64 16, i1 false)
  store ptr %6, ptr %.sroa.8.0..sroa_idx567, align 8, !tbaa !9
  store i64 50, ptr %.sroa.9.0..sroa_idx573, align 8, !tbaa !15
  %582 = load i32, ptr @test_count, align 4, !tbaa !5
  %583 = add nsw i32 %582, 1
  store i32 %583, ptr @test_count, align 4, !tbaa !5
  %584 = call i32 @s2n_connection_set_send_cb(ptr noundef %578, ptr noundef nonnull @s2n_test_send_cb) #11
  %585 = icmp eq i32 %584, -1
  br i1 %585, label %586, label %610

586:                                              ; preds = %577
  %587 = tail call ptr @__errno_location() #12
  %588 = load i32, ptr %587, align 4, !tbaa !5
  %589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %590 = call i32 @s2n_print_stacktrace(ptr noundef %589) #11
  %591 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %592 = trunc nuw i8 %591 to i1
  br i1 %592, label %593, label %597

593:                                              ; preds = %586
  %594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %595 = call i32 @fileno(ptr noundef %594) #11
  %596 = call i32 @isatty(i32 noundef %595) #11
  %.not833 = icmp eq i32 %596, 0
  br i1 %.not833, label %597, label %598

597:                                              ; preds = %593, %586
  br label %598

598:                                              ; preds = %593, %597
  %.str.4.sink1022 = phi ptr [ @.str.4, %597 ], [ @.str, %593 ]
  store i32 %588, ptr %587, align 4, !tbaa !5
  %599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %600 = load i32, ptr @test_count, align 4, !tbaa !5
  %601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %602 = load i32, ptr %601, align 4, !tbaa !5
  %603 = call ptr @s2n_strerror(i32 noundef %602, ptr noundef nonnull @.str.3) #11
  %604 = load i32, ptr %601, align 4, !tbaa !5
  %605 = call ptr @s2n_strerror_debug(i32 noundef %604, ptr noundef nonnull @.str.3) #11
  %606 = load i32, ptr %587, align 4, !tbaa !5
  %607 = call ptr @strerror(i32 noundef %606) #11
  %608 = load i32, ptr %587, align 4, !tbaa !5
  %609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %599, ptr noundef nonnull %.str.4.sink1022, i32 noundef %600, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 174, ptr noundef %603, ptr noundef %605, ptr noundef %607, i32 noundef %608) #13
  call void @exit(i32 noundef 1) #14
  unreachable

610:                                              ; preds = %577
  %611 = load i32, ptr @test_count, align 4, !tbaa !5
  %612 = add nsw i32 %611, 1
  store i32 %612, ptr @test_count, align 4, !tbaa !5
  %613 = load ptr, ptr %12, align 8, !tbaa !9
  %614 = call i32 @s2n_connection_set_send_ctx(ptr noundef %613, ptr noundef nonnull %13) #11
  %615 = icmp eq i32 %614, -1
  br i1 %615, label %616, label %640

616:                                              ; preds = %610
  %617 = tail call ptr @__errno_location() #12
  %618 = load i32, ptr %617, align 4, !tbaa !5
  %619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %620 = call i32 @s2n_print_stacktrace(ptr noundef %619) #11
  %621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %622 = trunc nuw i8 %621 to i1
  br i1 %622, label %623, label %627

623:                                              ; preds = %616
  %624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %625 = call i32 @fileno(ptr noundef %624) #11
  %626 = call i32 @isatty(i32 noundef %625) #11
  %.not832 = icmp eq i32 %626, 0
  br i1 %.not832, label %627, label %628

627:                                              ; preds = %623, %616
  br label %628

628:                                              ; preds = %623, %627
  %.str.4.sink1033 = phi ptr [ @.str.4, %627 ], [ @.str, %623 ]
  store i32 %618, ptr %617, align 4, !tbaa !5
  %629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %630 = load i32, ptr @test_count, align 4, !tbaa !5
  %631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %632 = load i32, ptr %631, align 4, !tbaa !5
  %633 = call ptr @s2n_strerror(i32 noundef %632, ptr noundef nonnull @.str.3) #11
  %634 = load i32, ptr %631, align 4, !tbaa !5
  %635 = call ptr @s2n_strerror_debug(i32 noundef %634, ptr noundef nonnull @.str.3) #11
  %636 = load i32, ptr %617, align 4, !tbaa !5
  %637 = call ptr @strerror(i32 noundef %636) #11
  %638 = load i32, ptr %617, align 4, !tbaa !5
  %639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %629, ptr noundef nonnull %.str.4.sink1033, i32 noundef %630, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 175, ptr noundef %633, ptr noundef %635, ptr noundef %637, i32 noundef %638) #13
  call void @exit(i32 noundef 1) #14
  unreachable

640:                                              ; preds = %610
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %14) #11
  store i32 0, ptr %14, align 4, !tbaa !5
  %641 = load i32, ptr @test_count, align 4, !tbaa !5
  %642 = add nsw i32 %641, 1
  store i32 %642, ptr @test_count, align 4, !tbaa !5
  %643 = load ptr, ptr %12, align 8, !tbaa !9
  %644 = call i64 @s2n_send(ptr noundef %643, ptr noundef nonnull %4, i64 noundef %581, ptr noundef nonnull %14) #11
  %645 = icmp eq i64 %644, %581
  br i1 %645, label %670, label %646

646:                                              ; preds = %640
  %647 = tail call ptr @__errno_location() #12
  %648 = load i32, ptr %647, align 4, !tbaa !5
  %649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %650 = call i32 @s2n_print_stacktrace(ptr noundef %649) #11
  %651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %652 = trunc nuw i8 %651 to i1
  br i1 %652, label %653, label %657

653:                                              ; preds = %646
  %654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %655 = call i32 @fileno(ptr noundef %654) #11
  %656 = call i32 @isatty(i32 noundef %655) #11
  %.not822 = icmp eq i32 %656, 0
  br i1 %.not822, label %657, label %658

657:                                              ; preds = %653, %646
  br label %658

658:                                              ; preds = %653, %657
  %.str.4.sink1044 = phi ptr [ @.str.4, %657 ], [ @.str, %653 ]
  store i32 %648, ptr %647, align 4, !tbaa !5
  %659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %660 = load i32, ptr @test_count, align 4, !tbaa !5
  %661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %662 = load i32, ptr %661, align 4, !tbaa !5
  %663 = call ptr @s2n_strerror(i32 noundef %662, ptr noundef nonnull @.str.3) #11
  %664 = load i32, ptr %661, align 4, !tbaa !5
  %665 = call ptr @s2n_strerror_debug(i32 noundef %664, ptr noundef nonnull @.str.3) #11
  %666 = load i32, ptr %647, align 4, !tbaa !5
  %667 = call ptr @strerror(i32 noundef %666) #11
  %668 = load i32, ptr %647, align 4, !tbaa !5
  %669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %659, ptr noundef nonnull %.str.4.sink1044, i32 noundef %660, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 180, ptr noundef %663, ptr noundef %665, ptr noundef %667, i32 noundef %668) #13
  call void @exit(i32 noundef 1) #14
  unreachable

670:                                              ; preds = %640
  %671 = load i32, ptr @test_count, align 4, !tbaa !5
  %672 = add nsw i32 %671, 1
  store i32 %672, ptr @test_count, align 4, !tbaa !5
  %673 = load i32, ptr %14, align 4, !tbaa !5
  %674 = icmp eq i32 %673, 0
  br i1 %674, label %699, label %675

675:                                              ; preds = %670
  %676 = tail call ptr @__errno_location() #12
  %677 = load i32, ptr %676, align 4, !tbaa !5
  %678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %679 = call i32 @s2n_print_stacktrace(ptr noundef %678) #11
  %680 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %681 = trunc nuw i8 %680 to i1
  br i1 %681, label %682, label %686

682:                                              ; preds = %675
  %683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %684 = call i32 @fileno(ptr noundef %683) #11
  %685 = call i32 @isatty(i32 noundef %684) #11
  %.not823 = icmp eq i32 %685, 0
  br i1 %.not823, label %686, label %687

686:                                              ; preds = %682, %675
  br label %687

687:                                              ; preds = %682, %686
  %.str.4.sink1055 = phi ptr [ @.str.4, %686 ], [ @.str, %682 ]
  store i32 %677, ptr %676, align 4, !tbaa !5
  %688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %689 = load i32, ptr @test_count, align 4, !tbaa !5
  %690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %691 = load i32, ptr %690, align 4, !tbaa !5
  %692 = call ptr @s2n_strerror(i32 noundef %691, ptr noundef nonnull @.str.3) #11
  %693 = load i32, ptr %690, align 4, !tbaa !5
  %694 = call ptr @s2n_strerror_debug(i32 noundef %693, ptr noundef nonnull @.str.3) #11
  %695 = load i32, ptr %676, align 4, !tbaa !5
  %696 = call ptr @strerror(i32 noundef %695) #11
  %697 = load i32, ptr %676, align 4, !tbaa !5
  %698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %688, ptr noundef nonnull %.str.4.sink1055, i32 noundef %689, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 181, ptr noundef %692, ptr noundef %694, ptr noundef %696, i32 noundef %697) #13
  call void @exit(i32 noundef 1) #14
  unreachable

699:                                              ; preds = %670
  %700 = add nsw i32 %671, 2
  store i32 %700, ptr @test_count, align 4, !tbaa !5
  %701 = load i64, ptr %13, align 8, !tbaa !17
  %702 = icmp eq i64 %701, 1
  br i1 %702, label %727, label %703

703:                                              ; preds = %699
  %704 = tail call ptr @__errno_location() #12
  %705 = load i32, ptr %704, align 4, !tbaa !5
  %706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %707 = call i32 @s2n_print_stacktrace(ptr noundef %706) #11
  %708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %709 = trunc nuw i8 %708 to i1
  br i1 %709, label %710, label %714

710:                                              ; preds = %703
  %711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %712 = call i32 @fileno(ptr noundef %711) #11
  %713 = call i32 @isatty(i32 noundef %712) #11
  %.not824 = icmp eq i32 %713, 0
  br i1 %.not824, label %714, label %715

714:                                              ; preds = %710, %703
  br label %715

715:                                              ; preds = %710, %714
  %.str.4.sink1066 = phi ptr [ @.str.4, %714 ], [ @.str, %710 ]
  store i32 %705, ptr %704, align 4, !tbaa !5
  %716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %717 = load i32, ptr @test_count, align 4, !tbaa !5
  %718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %719 = load i32, ptr %718, align 4, !tbaa !5
  %720 = call ptr @s2n_strerror(i32 noundef %719, ptr noundef nonnull @.str.3) #11
  %721 = load i32, ptr %718, align 4, !tbaa !5
  %722 = call ptr @s2n_strerror_debug(i32 noundef %721, ptr noundef nonnull @.str.3) #11
  %723 = load i32, ptr %704, align 4, !tbaa !5
  %724 = call ptr @strerror(i32 noundef %723) #11
  %725 = load i32, ptr %704, align 4, !tbaa !5
  %726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %716, ptr noundef nonnull %.str.4.sink1066, i32 noundef %717, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 182, ptr noundef %720, ptr noundef %722, ptr noundef %724, i32 noundef %725) #13
  call void @exit(i32 noundef 1) #14
  unreachable

727:                                              ; preds = %699
  %728 = load i64, ptr %.sroa.7.0..sroa_idx561, align 8, !tbaa !19
  %729 = getelementptr inbounds [4 x i64], ptr %10, i64 0, i64 %.0595843
  store i64 %728, ptr %729, align 8, !tbaa !15
  %730 = add nsw i32 %671, 3
  store i32 %730, ptr @test_count, align 4, !tbaa !5
  %731 = icmp sgt i64 %728, 0
  br i1 %731, label %756, label %732

732:                                              ; preds = %727
  %733 = tail call ptr @__errno_location() #12
  %734 = load i32, ptr %733, align 4, !tbaa !5
  %735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %736 = call i32 @s2n_print_stacktrace(ptr noundef %735) #11
  %737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %738 = trunc nuw i8 %737 to i1
  br i1 %738, label %739, label %743

739:                                              ; preds = %732
  %740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %741 = call i32 @fileno(ptr noundef %740) #11
  %742 = call i32 @isatty(i32 noundef %741) #11
  %.not825 = icmp eq i32 %742, 0
  br i1 %.not825, label %743, label %744

743:                                              ; preds = %739, %732
  br label %744

744:                                              ; preds = %739, %743
  %.str.4.sink1077 = phi ptr [ @.str.4, %743 ], [ @.str, %739 ]
  store i32 %734, ptr %733, align 4, !tbaa !5
  %745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %746 = load i32, ptr @test_count, align 4, !tbaa !5
  %747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %748 = load i32, ptr %747, align 4, !tbaa !5
  %749 = call ptr @s2n_strerror(i32 noundef %748, ptr noundef nonnull @.str.3) #11
  %750 = load i32, ptr %747, align 4, !tbaa !5
  %751 = call ptr @s2n_strerror_debug(i32 noundef %750, ptr noundef nonnull @.str.3) #11
  %752 = load i32, ptr %733, align 4, !tbaa !5
  %753 = call ptr @strerror(i32 noundef %752) #11
  %754 = load i32, ptr %733, align 4, !tbaa !5
  %755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %745, ptr noundef nonnull %.str.4.sink1077, i32 noundef %746, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.2, i32 noundef 186, ptr noundef %749, ptr noundef %751, ptr noundef %753, i32 noundef %754) #13
  call void @exit(i32 noundef 1) #14
  unreachable

756:                                              ; preds = %727
  %757 = load ptr, ptr %12, align 8, !tbaa !9
  %758 = getelementptr inbounds i8, ptr %757, i64 1904
  %759 = load i32, ptr %758, align 8, !tbaa !47
  %760 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 %.0595843
  store i32 %759, ptr %760, align 4, !tbaa !5
  %761 = add nsw i32 %671, 4
  store i32 %761, ptr @test_count, align 4, !tbaa !5
  %.not826 = icmp eq i32 %759, 0
  br i1 %.not826, label %762, label %786

762:                                              ; preds = %756
  %763 = tail call ptr @__errno_location() #12
  %764 = load i32, ptr %763, align 4, !tbaa !5
  %765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %766 = call i32 @s2n_print_stacktrace(ptr noundef %765) #11
  %767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %768 = trunc nuw i8 %767 to i1
  br i1 %768, label %769, label %773

769:                                              ; preds = %762
  %770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %771 = call i32 @fileno(ptr noundef %770) #11
  %772 = call i32 @isatty(i32 noundef %771) #11
  %.not827 = icmp eq i32 %772, 0
  br i1 %.not827, label %773, label %774

773:                                              ; preds = %769, %762
  br label %774

774:                                              ; preds = %769, %773
  %.str.4.sink1088 = phi ptr [ @.str.4, %773 ], [ @.str, %769 ]
  store i32 %764, ptr %763, align 4, !tbaa !5
  %775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %776 = load i32, ptr @test_count, align 4, !tbaa !5
  %777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %778 = load i32, ptr %777, align 4, !tbaa !5
  %779 = call ptr @s2n_strerror(i32 noundef %778, ptr noundef nonnull @.str.3) #11
  %780 = load i32, ptr %777, align 4, !tbaa !5
  %781 = call ptr @s2n_strerror_debug(i32 noundef %780, ptr noundef nonnull @.str.3) #11
  %782 = load i32, ptr %763, align 4, !tbaa !5
  %783 = call ptr @strerror(i32 noundef %782) #11
  %784 = load i32, ptr %763, align 4, !tbaa !5
  %785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %775, ptr noundef nonnull %.str.4.sink1088, i32 noundef %776, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.2, i32 noundef 190, ptr noundef %779, ptr noundef %781, ptr noundef %783, i32 noundef %784) #13
  call void @exit(i32 noundef 1) #14
  unreachable

786:                                              ; preds = %756
  store i64 0, ptr %13, align 8, !tbaa !17
  %787 = add nsw i32 %671, 5
  store i32 %787, ptr @test_count, align 4, !tbaa !5
  %788 = add nuw nsw i64 %581, 1
  %789 = call i64 @s2n_send(ptr noundef nonnull %757, ptr noundef nonnull %4, i64 noundef %788, ptr noundef nonnull %14) #11
  %790 = icmp eq i64 %789, %788
  br i1 %790, label %815, label %791

791:                                              ; preds = %786
  %792 = tail call ptr @__errno_location() #12
  %793 = load i32, ptr %792, align 4, !tbaa !5
  %794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %795 = call i32 @s2n_print_stacktrace(ptr noundef %794) #11
  %796 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %797 = trunc nuw i8 %796 to i1
  br i1 %797, label %798, label %802

798:                                              ; preds = %791
  %799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %800 = call i32 @fileno(ptr noundef %799) #11
  %801 = call i32 @isatty(i32 noundef %800) #11
  %.not828 = icmp eq i32 %801, 0
  br i1 %.not828, label %802, label %803

802:                                              ; preds = %798, %791
  br label %803

803:                                              ; preds = %798, %802
  %.str.4.sink1099 = phi ptr [ @.str.4, %802 ], [ @.str, %798 ]
  store i32 %793, ptr %792, align 4, !tbaa !5
  %804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %805 = load i32, ptr @test_count, align 4, !tbaa !5
  %806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %807 = load i32, ptr %806, align 4, !tbaa !5
  %808 = call ptr @s2n_strerror(i32 noundef %807, ptr noundef nonnull @.str.3) #11
  %809 = load i32, ptr %806, align 4, !tbaa !5
  %810 = call ptr @s2n_strerror_debug(i32 noundef %809, ptr noundef nonnull @.str.3) #11
  %811 = load i32, ptr %792, align 4, !tbaa !5
  %812 = call ptr @strerror(i32 noundef %811) #11
  %813 = load i32, ptr %792, align 4, !tbaa !5
  %814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %804, ptr noundef nonnull %.str.4.sink1099, i32 noundef %805, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.2, i32 noundef 197, ptr noundef %808, ptr noundef %810, ptr noundef %812, i32 noundef %813) #13
  call void @exit(i32 noundef 1) #14
  unreachable

815:                                              ; preds = %786
  %816 = load i32, ptr @test_count, align 4, !tbaa !5
  %817 = add nsw i32 %816, 1
  store i32 %817, ptr @test_count, align 4, !tbaa !5
  %818 = load i32, ptr %14, align 4, !tbaa !5
  %819 = icmp eq i32 %818, 0
  br i1 %819, label %844, label %820

820:                                              ; preds = %815
  %821 = tail call ptr @__errno_location() #12
  %822 = load i32, ptr %821, align 4, !tbaa !5
  %823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %824 = call i32 @s2n_print_stacktrace(ptr noundef %823) #11
  %825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %826 = trunc nuw i8 %825 to i1
  br i1 %826, label %827, label %831

827:                                              ; preds = %820
  %828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %829 = call i32 @fileno(ptr noundef %828) #11
  %830 = call i32 @isatty(i32 noundef %829) #11
  %.not829 = icmp eq i32 %830, 0
  br i1 %.not829, label %831, label %832

831:                                              ; preds = %827, %820
  br label %832

832:                                              ; preds = %827, %831
  %.str.4.sink1110 = phi ptr [ @.str.4, %831 ], [ @.str, %827 ]
  store i32 %822, ptr %821, 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 nonnull @.str.3) #11
  %838 = load i32, ptr %835, align 4, !tbaa !5
  %839 = call ptr @s2n_strerror_debug(i32 noundef %838, ptr noundef nonnull @.str.3) #11
  %840 = load i32, ptr %821, align 4, !tbaa !5
  %841 = call ptr @strerror(i32 noundef %840) #11
  %842 = load i32, ptr %821, align 4, !tbaa !5
  %843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %833, ptr noundef nonnull %.str.4.sink1110, i32 noundef %834, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 198, ptr noundef %837, ptr noundef %839, ptr noundef %841, i32 noundef %842) #13
  call void @exit(i32 noundef 1) #14
  unreachable

844:                                              ; preds = %815
  %845 = add nsw i32 %816, 2
  store i32 %845, ptr @test_count, align 4, !tbaa !5
  %846 = load i64, ptr %13, align 8, !tbaa !17
  %847 = icmp eq i64 %846, 2
  br i1 %847, label %872, label %848

848:                                              ; preds = %844
  %849 = tail call ptr @__errno_location() #12
  %850 = load i32, ptr %849, align 4, !tbaa !5
  %851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %852 = call i32 @s2n_print_stacktrace(ptr noundef %851) #11
  %853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %854 = trunc nuw i8 %853 to i1
  br i1 %854, label %855, label %859

855:                                              ; preds = %848
  %856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %857 = call i32 @fileno(ptr noundef %856) #11
  %858 = call i32 @isatty(i32 noundef %857) #11
  %.not830 = icmp eq i32 %858, 0
  br i1 %.not830, label %859, label %860

859:                                              ; preds = %855, %848
  br label %860

860:                                              ; preds = %855, %859
  %.str.4.sink1121 = phi ptr [ @.str.4, %859 ], [ @.str, %855 ]
  store i32 %850, ptr %849, align 4, !tbaa !5
  %861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %862 = load i32, ptr @test_count, align 4, !tbaa !5
  %863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %864 = load i32, ptr %863, align 4, !tbaa !5
  %865 = call ptr @s2n_strerror(i32 noundef %864, ptr noundef nonnull @.str.3) #11
  %866 = load i32, ptr %863, align 4, !tbaa !5
  %867 = call ptr @s2n_strerror_debug(i32 noundef %866, ptr noundef nonnull @.str.3) #11
  %868 = load i32, ptr %849, align 4, !tbaa !5
  %869 = call ptr @strerror(i32 noundef %868) #11
  %870 = load i32, ptr %849, align 4, !tbaa !5
  %871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %861, ptr noundef nonnull %.str.4.sink1121, i32 noundef %862, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.2, i32 noundef 199, ptr noundef %865, ptr noundef %867, ptr noundef %869, i32 noundef %870) #13
  call void @exit(i32 noundef 1) #14
  unreachable

872:                                              ; preds = %844
  %873 = add nsw i32 %816, 3
  store i32 %873, ptr @test_count, align 4, !tbaa !5
  %874 = load ptr, ptr %12, align 8, !tbaa !9
  %875 = getelementptr inbounds i8, ptr %874, i64 1904
  %876 = load i32, ptr %875, align 8, !tbaa !47
  %877 = icmp eq i32 %876, %759
  br i1 %877, label %902, label %878

878:                                              ; preds = %872
  %879 = tail call ptr @__errno_location() #12
  %880 = load i32, ptr %879, align 4, !tbaa !5
  %881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %882 = call i32 @s2n_print_stacktrace(ptr noundef %881) #11
  %883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %884 = trunc nuw i8 %883 to i1
  br i1 %884, label %885, label %889

885:                                              ; preds = %878
  %886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %887 = call i32 @fileno(ptr noundef %886) #11
  %888 = call i32 @isatty(i32 noundef %887) #11
  %.not831 = icmp eq i32 %888, 0
  br i1 %.not831, label %889, label %890

889:                                              ; preds = %885, %878
  br label %890

890:                                              ; preds = %885, %889
  %.str.4.sink1132 = phi ptr [ @.str.4, %889 ], [ @.str, %885 ]
  store i32 %880, ptr %879, align 4, !tbaa !5
  %891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %892 = load i32, ptr @test_count, align 4, !tbaa !5
  %893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %894 = load i32, ptr %893, align 4, !tbaa !5
  %895 = call ptr @s2n_strerror(i32 noundef %894, ptr noundef nonnull @.str.3) #11
  %896 = load i32, ptr %893, align 4, !tbaa !5
  %897 = call ptr @s2n_strerror_debug(i32 noundef %896, ptr noundef nonnull @.str.3) #11
  %898 = load i32, ptr %879, align 4, !tbaa !5
  %899 = call ptr @strerror(i32 noundef %898) #11
  %900 = load i32, ptr %879, align 4, !tbaa !5
  %901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %891, ptr noundef nonnull %.str.4.sink1132, i32 noundef %892, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.2, i32 noundef 202, ptr noundef %895, ptr noundef %897, ptr noundef %899, i32 noundef %900) #13
  call void @exit(i32 noundef 1) #14
  unreachable

902:                                              ; preds = %872
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #11
  %903 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %12) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #11
  %904 = add nuw nsw i64 %.0595843, 1
  %exitcond.not = icmp eq i64 %904, 4
  br i1 %exitcond.not, label %484, label %489, !llvm.loop !48

905:                                              ; preds = %484
  %906 = tail call ptr @__errno_location() #12
  %907 = load i32, ptr %906, align 4, !tbaa !5
  %908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %909 = call i32 @s2n_print_stacktrace(ptr noundef %908) #11
  %910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %911 = trunc nuw i8 %910 to i1
  br i1 %911, label %912, label %916

912:                                              ; preds = %905
  %913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %914 = call i32 @fileno(ptr noundef %913) #11
  %915 = call i32 @isatty(i32 noundef %914) #11
  %.not819 = icmp eq i32 %915, 0
  br i1 %.not819, label %916, label %917

916:                                              ; preds = %912, %905
  br label %917

917:                                              ; preds = %912, %916
  %.str.4.sink1143 = phi ptr [ @.str.4, %916 ], [ @.str, %912 ]
  store i32 %907, ptr %906, align 4, !tbaa !5
  %918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %919 = load i32, ptr @test_count, align 4, !tbaa !5
  %920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %921 = load i32, ptr %920, align 4, !tbaa !5
  %922 = call ptr @s2n_strerror(i32 noundef %921, ptr noundef nonnull @.str.3) #11
  %923 = load i32, ptr %920, align 4, !tbaa !5
  %924 = call ptr @s2n_strerror_debug(i32 noundef %923, ptr noundef nonnull @.str.3) #11
  %925 = load i32, ptr %906, align 4, !tbaa !5
  %926 = call ptr @strerror(i32 noundef %925) #11
  %927 = load i32, ptr %906, align 4, !tbaa !5
  %928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %918, ptr noundef nonnull %.str.4.sink1143, i32 noundef %919, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 210, ptr noundef %922, ptr noundef %924, ptr noundef %926, i32 noundef %927) #13
  call void @exit(i32 noundef 1) #14
  unreachable

929:                                              ; preds = %484
  %930 = add nsw i32 %486, 2
  store i32 %930, ptr @test_count, align 4, !tbaa !5
  %931 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %485) #11
  %932 = call zeroext i1 @s2n_result_is_ok(i32 %931)
  br i1 %932, label %957, label %933

933:                                              ; preds = %929
  %934 = tail call ptr @__errno_location() #12
  %935 = load i32, ptr %934, align 4, !tbaa !5
  %936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %937 = call i32 @s2n_print_stacktrace(ptr noundef %936) #11
  %938 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %939 = trunc nuw i8 %938 to i1
  br i1 %939, label %940, label %944

940:                                              ; preds = %933
  %941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %942 = call i32 @fileno(ptr noundef %941) #11
  %943 = call i32 @isatty(i32 noundef %942) #11
  %.not610 = icmp eq i32 %943, 0
  br i1 %.not610, label %944, label %945

944:                                              ; preds = %940, %933
  br label %945

945:                                              ; preds = %940, %944
  %.str.4.sink1154 = phi ptr [ @.str.4, %944 ], [ @.str, %940 ]
  store i32 %935, ptr %934, align 4, !tbaa !5
  %946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %947 = load i32, ptr @test_count, align 4, !tbaa !5
  %948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %949 = load i32, ptr %948, align 4, !tbaa !5
  %950 = call ptr @s2n_strerror(i32 noundef %949, ptr noundef nonnull @.str.3) #11
  %951 = load i32, ptr %948, align 4, !tbaa !5
  %952 = call ptr @s2n_strerror_debug(i32 noundef %951, ptr noundef nonnull @.str.3) #11
  %953 = load i32, ptr %934, align 4, !tbaa !5
  %954 = call ptr @strerror(i32 noundef %953) #11
  %955 = load i32, ptr %934, align 4, !tbaa !5
  %956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %946, ptr noundef nonnull %.str.4.sink1154, i32 noundef %947, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 211, ptr noundef %950, ptr noundef %952, ptr noundef %954, i32 noundef %955) #13
  call void @exit(i32 noundef 1) #14
  unreachable

957:                                              ; preds = %929
  %958 = load i32, ptr @test_count, align 4, !tbaa !5
  %959 = add nsw i32 %958, 1
  store i32 %959, ptr @test_count, align 4, !tbaa !5
  %960 = load ptr, ptr %15, align 8, !tbaa !9
  %961 = call i32 @s2n_connection_set_send_cb(ptr noundef %960, ptr noundef nonnull @s2n_expect_concurrent_error_send_fn) #11
  %962 = icmp eq i32 %961, -1
  br i1 %962, label %963, label %987

963:                                              ; preds = %957
  %964 = tail call ptr @__errno_location() #12
  %965 = load i32, ptr %964, align 4, !tbaa !5
  %966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %967 = call i32 @s2n_print_stacktrace(ptr noundef %966) #11
  %968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %969 = trunc nuw i8 %968 to i1
  br i1 %969, label %970, label %974

970:                                              ; preds = %963
  %971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %972 = call i32 @fileno(ptr noundef %971) #11
  %973 = call i32 @isatty(i32 noundef %972) #11
  %.not818 = icmp eq i32 %973, 0
  br i1 %.not818, label %974, label %975

974:                                              ; preds = %970, %963
  br label %975

975:                                              ; preds = %970, %974
  %.str.4.sink1165 = phi ptr [ @.str.4, %974 ], [ @.str, %970 ]
  store i32 %965, ptr %964, align 4, !tbaa !5
  %976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %977 = load i32, ptr @test_count, align 4, !tbaa !5
  %978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %979 = load i32, ptr %978, align 4, !tbaa !5
  %980 = call ptr @s2n_strerror(i32 noundef %979, ptr noundef nonnull @.str.3) #11
  %981 = load i32, ptr %978, align 4, !tbaa !5
  %982 = call ptr @s2n_strerror_debug(i32 noundef %981, ptr noundef nonnull @.str.3) #11
  %983 = load i32, ptr %964, align 4, !tbaa !5
  %984 = call ptr @strerror(i32 noundef %983) #11
  %985 = load i32, ptr %964, align 4, !tbaa !5
  %986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %976, ptr noundef nonnull %.str.4.sink1165, i32 noundef %977, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.2, i32 noundef 214, ptr noundef %980, ptr noundef %982, ptr noundef %984, i32 noundef %985) #13
  call void @exit(i32 noundef 1) #14
  unreachable

987:                                              ; preds = %957
  %988 = load i32, ptr @test_count, align 4, !tbaa !5
  %989 = add nsw i32 %988, 1
  store i32 %989, ptr @test_count, align 4, !tbaa !5
  %990 = load ptr, ptr %15, align 8, !tbaa !9
  %991 = call i32 @s2n_connection_set_send_ctx(ptr noundef %990, ptr noundef %990) #11
  %992 = icmp eq i32 %991, -1
  br i1 %992, label %993, label %1017

993:                                              ; preds = %987
  %994 = tail call ptr @__errno_location() #12
  %995 = load i32, ptr %994, align 4, !tbaa !5
  %996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %997 = call i32 @s2n_print_stacktrace(ptr noundef %996) #11
  %998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %999 = trunc nuw i8 %998 to i1
  br i1 %999, label %1000, label %1004

1000:                                             ; preds = %993
  %1001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1002 = call i32 @fileno(ptr noundef %1001) #11
  %1003 = call i32 @isatty(i32 noundef %1002) #11
  %.not817 = icmp eq i32 %1003, 0
  br i1 %.not817, label %1004, label %1005

1004:                                             ; preds = %1000, %993
  br label %1005

1005:                                             ; preds = %1000, %1004
  %.str.4.sink1176 = phi ptr [ @.str.4, %1004 ], [ @.str, %1000 ]
  store i32 %995, ptr %994, align 4, !tbaa !5
  %1006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1007 = load i32, ptr @test_count, align 4, !tbaa !5
  %1008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1009 = load i32, ptr %1008, align 4, !tbaa !5
  %1010 = call ptr @s2n_strerror(i32 noundef %1009, ptr noundef nonnull @.str.3) #11
  %1011 = load i32, ptr %1008, align 4, !tbaa !5
  %1012 = call ptr @s2n_strerror_debug(i32 noundef %1011, ptr noundef nonnull @.str.3) #11
  %1013 = load i32, ptr %994, align 4, !tbaa !5
  %1014 = call ptr @strerror(i32 noundef %1013) #11
  %1015 = load i32, ptr %994, align 4, !tbaa !5
  %1016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1006, ptr noundef nonnull %.str.4.sink1176, i32 noundef %1007, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 215, ptr noundef %1010, ptr noundef %1012, ptr noundef %1014, i32 noundef %1015) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1017:                                             ; preds = %987
  %1018 = load i32, ptr @test_count, align 4, !tbaa !5
  %1019 = add nsw i32 %1018, 1
  store i32 %1019, ptr @test_count, align 4, !tbaa !5
  %1020 = load ptr, ptr %15, align 8, !tbaa !9
  %1021 = call i32 @s2n_connection_set_blinding(ptr noundef %1020, i32 noundef 1) #11
  %1022 = icmp eq i32 %1021, -1
  br i1 %1022, label %1023, label %1047

1023:                                             ; preds = %1017
  %1024 = tail call ptr @__errno_location() #12
  %1025 = load i32, ptr %1024, align 4, !tbaa !5
  %1026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1027 = call i32 @s2n_print_stacktrace(ptr noundef %1026) #11
  %1028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1029 = trunc nuw i8 %1028 to i1
  br i1 %1029, label %1030, label %1034

1030:                                             ; preds = %1023
  %1031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1032 = call i32 @fileno(ptr noundef %1031) #11
  %1033 = call i32 @isatty(i32 noundef %1032) #11
  %.not816 = icmp eq i32 %1033, 0
  br i1 %.not816, label %1034, label %1035

1034:                                             ; preds = %1030, %1023
  br label %1035

1035:                                             ; preds = %1030, %1034
  %.str.4.sink1187 = phi ptr [ @.str.4, %1034 ], [ @.str, %1030 ]
  store i32 %1025, ptr %1024, align 4, !tbaa !5
  %1036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1037 = load i32, ptr @test_count, align 4, !tbaa !5
  %1038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1039 = load i32, ptr %1038, align 4, !tbaa !5
  %1040 = call ptr @s2n_strerror(i32 noundef %1039, ptr noundef nonnull @.str.3) #11
  %1041 = load i32, ptr %1038, align 4, !tbaa !5
  %1042 = call ptr @s2n_strerror_debug(i32 noundef %1041, ptr noundef nonnull @.str.3) #11
  %1043 = load i32, ptr %1024, align 4, !tbaa !5
  %1044 = call ptr @strerror(i32 noundef %1043) #11
  %1045 = load i32, ptr %1024, align 4, !tbaa !5
  %1046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1036, ptr noundef nonnull %.str.4.sink1187, i32 noundef %1037, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 216, ptr noundef %1040, ptr noundef %1042, ptr noundef %1044, i32 noundef %1045) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1047:                                             ; preds = %1017
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #11
  store i32 0, ptr %16, align 4, !tbaa !5
  store i8 0, ptr @s2n_custom_send_fn_called, align 1, !tbaa !11
  %1048 = load i32, ptr @test_count, align 4, !tbaa !5
  %1049 = add nsw i32 %1048, 1
  store i32 %1049, ptr @test_count, align 4, !tbaa !5
  %1050 = load ptr, ptr %15, align 8, !tbaa !9
  %1051 = call i64 @s2n_send(ptr noundef %1050, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %16) #11
  %1052 = icmp eq i64 %1051, -1
  br i1 %1052, label %1077, label %1053

1053:                                             ; preds = %1047
  %1054 = tail call ptr @__errno_location() #12
  %1055 = load i32, ptr %1054, align 4, !tbaa !5
  %1056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1057 = call i32 @s2n_print_stacktrace(ptr noundef %1056) #11
  %1058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1059 = trunc nuw i8 %1058 to i1
  br i1 %1059, label %1060, label %1064

1060:                                             ; preds = %1053
  %1061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1062 = call i32 @fileno(ptr noundef %1061) #11
  %1063 = call i32 @isatty(i32 noundef %1062) #11
  %.not611 = icmp eq i32 %1063, 0
  br i1 %.not611, label %1064, label %1065

1064:                                             ; preds = %1060, %1053
  br label %1065

1065:                                             ; preds = %1060, %1064
  %.str.4.sink1198 = phi ptr [ @.str.4, %1064 ], [ @.str, %1060 ]
  store i32 %1055, ptr %1054, align 4, !tbaa !5
  %1066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1067 = load i32, ptr @test_count, align 4, !tbaa !5
  %1068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1069 = load i32, ptr %1068, align 4, !tbaa !5
  %1070 = call ptr @s2n_strerror(i32 noundef %1069, ptr noundef nonnull @.str.3) #11
  %1071 = load i32, ptr %1068, align 4, !tbaa !5
  %1072 = call ptr @s2n_strerror_debug(i32 noundef %1071, ptr noundef nonnull @.str.3) #11
  %1073 = load i32, ptr %1054, align 4, !tbaa !5
  %1074 = call ptr @strerror(i32 noundef %1073) #11
  %1075 = load i32, ptr %1054, align 4, !tbaa !5
  %1076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1066, ptr noundef nonnull %.str.4.sink1198, i32 noundef %1067, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 221, ptr noundef %1070, ptr noundef %1072, ptr noundef %1074, i32 noundef %1075) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1077:                                             ; preds = %1047
  %1078 = load i32, ptr @test_count, align 4, !tbaa !5
  %1079 = add nsw i32 %1078, 1
  store i32 %1079, ptr @test_count, align 4, !tbaa !5
  %1080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1081 = load i32, ptr %1080, align 4, !tbaa !5
  %1082 = icmp eq i32 %1081, 67108864
  br i1 %1082, label %1106, label %1083

1083:                                             ; preds = %1077
  %1084 = tail call ptr @__errno_location() #12
  %1085 = load i32, ptr %1084, align 4, !tbaa !5
  %1086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1087 = call i32 @s2n_print_stacktrace(ptr noundef %1086) #11
  %1088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1089 = trunc nuw i8 %1088 to i1
  br i1 %1089, label %1090, label %1094

1090:                                             ; preds = %1083
  %1091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1092 = call i32 @fileno(ptr noundef %1091) #11
  %1093 = call i32 @isatty(i32 noundef %1092) #11
  %.not612 = icmp eq i32 %1093, 0
  br i1 %.not612, label %1094, label %1095

1094:                                             ; preds = %1090, %1083
  br label %1095

1095:                                             ; preds = %1090, %1094
  %.str.4.sink1209 = phi ptr [ @.str.4, %1094 ], [ @.str, %1090 ]
  store i32 %1085, ptr %1084, align 4, !tbaa !5
  %1096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1097 = load i32, ptr @test_count, align 4, !tbaa !5
  %1098 = load i32, ptr %1080, align 4, !tbaa !5
  %1099 = call ptr @s2n_strerror(i32 noundef %1098, ptr noundef nonnull @.str.3) #11
  %1100 = load i32, ptr %1080, align 4, !tbaa !5
  %1101 = call ptr @s2n_strerror_debug(i32 noundef %1100, ptr noundef nonnull @.str.3) #11
  %1102 = load i32, ptr %1084, align 4, !tbaa !5
  %1103 = call ptr @strerror(i32 noundef %1102) #11
  %1104 = load i32, ptr %1084, align 4, !tbaa !5
  %1105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1096, ptr noundef nonnull %.str.4.sink1209, i32 noundef %1097, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 221, ptr noundef %1099, ptr noundef %1101, ptr noundef %1103, i32 noundef %1104) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1106:                                             ; preds = %1077
  %1107 = add nsw i32 %1078, 2
  store i32 %1107, ptr @test_count, align 4, !tbaa !5
  %1108 = call ptr @s2n_strerror_debug(i32 noundef 67108864, ptr noundef nonnull @.str.3) #11
  %1109 = icmp eq ptr %1108, null
  br i1 %1109, label %1110, label %1133

1110:                                             ; preds = %1106
  %1111 = tail call ptr @__errno_location() #12
  %1112 = load i32, ptr %1111, align 4, !tbaa !5
  %1113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1114 = call i32 @s2n_print_stacktrace(ptr noundef %1113) #11
  %1115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1116 = trunc nuw i8 %1115 to i1
  br i1 %1116, label %1117, label %1121

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

1121:                                             ; preds = %1117, %1110
  br label %1122

1122:                                             ; preds = %1117, %1121
  %.str.4.sink1218 = phi ptr [ @.str.4, %1121 ], [ @.str, %1117 ]
  store i32 %1112, ptr %1111, align 4, !tbaa !5
  %1123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1124 = load i32, ptr @test_count, align 4, !tbaa !5
  %1125 = load i32, ptr %1080, align 4, !tbaa !5
  %1126 = call ptr @s2n_strerror(i32 noundef %1125, ptr noundef nonnull @.str.3) #11
  %1127 = load i32, ptr %1080, align 4, !tbaa !5
  %1128 = call ptr @s2n_strerror_debug(i32 noundef %1127, ptr noundef nonnull @.str.3) #11
  %1129 = load i32, ptr %1111, align 4, !tbaa !5
  %1130 = call ptr @strerror(i32 noundef %1129) #11
  %1131 = load i32, ptr %1111, align 4, !tbaa !5
  %1132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1123, ptr noundef nonnull %.str.4.sink1218, i32 noundef %1124, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 221, ptr noundef %1126, ptr noundef %1128, ptr noundef %1130, i32 noundef %1131) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1133:                                             ; preds = %1106
  store i32 0, ptr %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  %1134 = tail call ptr @__errno_location() #12
  store i32 0, ptr %1134, align 4, !tbaa !5
  %1135 = load i32, ptr @test_count, align 4, !tbaa !5
  %1136 = add nsw i32 %1135, 1
  store i32 %1136, ptr @test_count, align 4, !tbaa !5
  %1137 = load i8, ptr @s2n_custom_send_fn_called, align 1, !tbaa !11, !range !13, !noundef !14
  %1138 = trunc nuw i8 %1137 to i1
  br i1 %1138, label %1161, label %1139

1139:                                             ; preds = %1133
  %1140 = load i32, ptr %1134, align 4, !tbaa !5
  %1141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1142 = call i32 @s2n_print_stacktrace(ptr noundef %1141) #11
  %1143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1144 = trunc nuw i8 %1143 to i1
  br i1 %1144, label %1145, label %1149

1145:                                             ; preds = %1139
  %1146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1147 = call i32 @fileno(ptr noundef %1146) #11
  %1148 = call i32 @isatty(i32 noundef %1147) #11
  %.not613 = icmp eq i32 %1148, 0
  br i1 %.not613, label %1149, label %1150

1149:                                             ; preds = %1145, %1139
  br label %1150

1150:                                             ; preds = %1145, %1149
  %.str.4.sink1227 = phi ptr [ @.str.4, %1149 ], [ @.str, %1145 ]
  store i32 %1140, ptr %1134, align 4, !tbaa !5
  %1151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1152 = load i32, ptr @test_count, align 4, !tbaa !5
  %1153 = load i32, ptr %1080, align 4, !tbaa !5
  %1154 = call ptr @s2n_strerror(i32 noundef %1153, ptr noundef nonnull @.str.3) #11
  %1155 = load i32, ptr %1080, align 4, !tbaa !5
  %1156 = call ptr @s2n_strerror_debug(i32 noundef %1155, ptr noundef nonnull @.str.3) #11
  %1157 = load i32, ptr %1134, align 4, !tbaa !5
  %1158 = call ptr @strerror(i32 noundef %1157) #11
  %1159 = load i32, ptr %1134, align 4, !tbaa !5
  %1160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1151, ptr noundef nonnull %.str.4.sink1227, i32 noundef %1152, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.2, i32 noundef 222, ptr noundef %1154, ptr noundef %1156, ptr noundef %1158, i32 noundef %1159) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1161:                                             ; preds = %1133
  %1162 = add nsw i32 %1135, 2
  store i32 %1162, ptr @test_count, align 4, !tbaa !5
  %1163 = load ptr, ptr %15, align 8, !tbaa !9
  %1164 = getelementptr inbounds i8, ptr %1163, i64 2248
  %1165 = load i64, ptr %1164, align 8, !tbaa !20
  %1166 = icmp eq i64 %1165, 0
  br i1 %1166, label %1189, label %1167

1167:                                             ; preds = %1161
  %1168 = load i32, ptr %1134, align 4, !tbaa !5
  %1169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1170 = call i32 @s2n_print_stacktrace(ptr noundef %1169) #11
  %1171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1172 = trunc nuw i8 %1171 to i1
  br i1 %1172, label %1173, label %1177

1173:                                             ; preds = %1167
  %1174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1175 = call i32 @fileno(ptr noundef %1174) #11
  %1176 = call i32 @isatty(i32 noundef %1175) #11
  %.not614 = icmp eq i32 %1176, 0
  br i1 %.not614, label %1177, label %1178

1177:                                             ; preds = %1173, %1167
  br label %1178

1178:                                             ; preds = %1173, %1177
  %.str.4.sink1236 = phi ptr [ @.str.4, %1177 ], [ @.str, %1173 ]
  store i32 %1168, ptr %1134, align 4, !tbaa !5
  %1179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1180 = load i32, ptr @test_count, align 4, !tbaa !5
  %1181 = load i32, ptr %1080, align 4, !tbaa !5
  %1182 = call ptr @s2n_strerror(i32 noundef %1181, ptr noundef nonnull @.str.3) #11
  %1183 = load i32, ptr %1080, align 4, !tbaa !5
  %1184 = call ptr @s2n_strerror_debug(i32 noundef %1183, ptr noundef nonnull @.str.3) #11
  %1185 = load i32, ptr %1134, align 4, !tbaa !5
  %1186 = call ptr @strerror(i32 noundef %1185) #11
  %1187 = load i32, ptr %1134, align 4, !tbaa !5
  %1188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1179, ptr noundef nonnull %.str.4.sink1236, i32 noundef %1180, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.2, i32 noundef 223, ptr noundef %1182, ptr noundef %1184, ptr noundef %1186, i32 noundef %1187) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1189:                                             ; preds = %1161
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #11
  %1190 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %15) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #11
  %1191 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %1191, ptr %17, align 8, !tbaa !9
  %1192 = load i32, ptr @test_count, align 4, !tbaa !5
  %1193 = add nsw i32 %1192, 1
  store i32 %1193, ptr @test_count, align 4, !tbaa !5
  %1194 = icmp eq ptr %1191, null
  br i1 %1194, label %1195, label %1217

1195:                                             ; preds = %1189
  %1196 = load i32, ptr %1134, align 4, !tbaa !5
  %1197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1198 = call i32 @s2n_print_stacktrace(ptr noundef %1197) #11
  %1199 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1200 = trunc nuw i8 %1199 to i1
  br i1 %1200, label %1201, label %1205

1201:                                             ; preds = %1195
  %1202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1203 = call i32 @fileno(ptr noundef %1202) #11
  %1204 = call i32 @isatty(i32 noundef %1203) #11
  %.not814 = icmp eq i32 %1204, 0
  br i1 %.not814, label %1205, label %1206

1205:                                             ; preds = %1201, %1195
  br label %1206

1206:                                             ; preds = %1201, %1205
  %.str.4.sink1245 = phi ptr [ @.str.4, %1205 ], [ @.str, %1201 ]
  store i32 %1196, ptr %1134, align 4, !tbaa !5
  %1207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1208 = load i32, ptr @test_count, align 4, !tbaa !5
  %1209 = load i32, ptr %1080, align 4, !tbaa !5
  %1210 = call ptr @s2n_strerror(i32 noundef %1209, ptr noundef nonnull @.str.3) #11
  %1211 = load i32, ptr %1080, align 4, !tbaa !5
  %1212 = call ptr @s2n_strerror_debug(i32 noundef %1211, ptr noundef nonnull @.str.3) #11
  %1213 = load i32, ptr %1134, align 4, !tbaa !5
  %1214 = call ptr @strerror(i32 noundef %1213) #11
  %1215 = load i32, ptr %1134, align 4, !tbaa !5
  %1216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1207, ptr noundef nonnull %.str.4.sink1245, i32 noundef %1208, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 230, ptr noundef %1210, ptr noundef %1212, ptr noundef %1214, i32 noundef %1215) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1217:                                             ; preds = %1189
  %1218 = add nsw i32 %1192, 2
  store i32 %1218, ptr @test_count, align 4, !tbaa !5
  %1219 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %1191) #11
  %1220 = call zeroext i1 @s2n_result_is_ok(i32 %1219)
  br i1 %1220, label %1243, label %1221

1221:                                             ; preds = %1217
  %1222 = load i32, ptr %1134, align 4, !tbaa !5
  %1223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1224 = call i32 @s2n_print_stacktrace(ptr noundef %1223) #11
  %1225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1226 = trunc nuw i8 %1225 to i1
  br i1 %1226, label %1227, label %1231

1227:                                             ; preds = %1221
  %1228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1229 = call i32 @fileno(ptr noundef %1228) #11
  %1230 = call i32 @isatty(i32 noundef %1229) #11
  %.not615 = icmp eq i32 %1230, 0
  br i1 %.not615, label %1231, label %1232

1231:                                             ; preds = %1227, %1221
  br label %1232

1232:                                             ; preds = %1227, %1231
  %.str.4.sink1254 = phi ptr [ @.str.4, %1231 ], [ @.str, %1227 ]
  store i32 %1222, ptr %1134, align 4, !tbaa !5
  %1233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1234 = load i32, ptr @test_count, align 4, !tbaa !5
  %1235 = load i32, ptr %1080, align 4, !tbaa !5
  %1236 = call ptr @s2n_strerror(i32 noundef %1235, ptr noundef nonnull @.str.3) #11
  %1237 = load i32, ptr %1080, align 4, !tbaa !5
  %1238 = call ptr @s2n_strerror_debug(i32 noundef %1237, ptr noundef nonnull @.str.3) #11
  %1239 = load i32, ptr %1134, align 4, !tbaa !5
  %1240 = call ptr @strerror(i32 noundef %1239) #11
  %1241 = load i32, ptr %1134, align 4, !tbaa !5
  %1242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1233, ptr noundef nonnull %.str.4.sink1254, i32 noundef %1234, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 231, ptr noundef %1236, ptr noundef %1238, ptr noundef %1240, i32 noundef %1241) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1243:                                             ; preds = %1217
  %1244 = load i32, ptr @test_count, align 4, !tbaa !5
  %1245 = add nsw i32 %1244, 1
  store i32 %1245, ptr @test_count, align 4, !tbaa !5
  %1246 = load ptr, ptr %17, align 8, !tbaa !9
  %1247 = getelementptr inbounds i8, ptr %1246, i64 2248
  %1248 = load i64, ptr %1247, align 8, !tbaa !20
  %1249 = icmp eq i64 %1248, 0
  br i1 %1249, label %1272, label %1250

1250:                                             ; preds = %1243
  %1251 = load i32, ptr %1134, align 4, !tbaa !5
  %1252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1253 = call i32 @s2n_print_stacktrace(ptr noundef %1252) #11
  %1254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1255 = trunc nuw i8 %1254 to i1
  br i1 %1255, label %1256, label %1260

1256:                                             ; preds = %1250
  %1257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1258 = call i32 @fileno(ptr noundef %1257) #11
  %1259 = call i32 @isatty(i32 noundef %1258) #11
  %.not616 = icmp eq i32 %1259, 0
  br i1 %.not616, label %1260, label %1261

1260:                                             ; preds = %1256, %1250
  br label %1261

1261:                                             ; preds = %1256, %1260
  %.str.4.sink1263 = phi ptr [ @.str.4, %1260 ], [ @.str, %1256 ]
  store i32 %1251, ptr %1134, align 4, !tbaa !5
  %1262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1263 = load i32, ptr @test_count, align 4, !tbaa !5
  %1264 = load i32, ptr %1080, align 4, !tbaa !5
  %1265 = call ptr @s2n_strerror(i32 noundef %1264, ptr noundef nonnull @.str.3) #11
  %1266 = load i32, ptr %1080, align 4, !tbaa !5
  %1267 = call ptr @s2n_strerror_debug(i32 noundef %1266, ptr noundef nonnull @.str.3) #11
  %1268 = load i32, ptr %1134, align 4, !tbaa !5
  %1269 = call ptr @strerror(i32 noundef %1268) #11
  %1270 = load i32, ptr %1134, align 4, !tbaa !5
  %1271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1262, ptr noundef nonnull %.str.4.sink1263, i32 noundef %1263, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.2, i32 noundef 232, ptr noundef %1265, ptr noundef %1267, ptr noundef %1269, i32 noundef %1270) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1272:                                             ; preds = %1243
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #11
  %.sroa.7.0..sroa_idx563 = getelementptr inbounds i8, ptr %18, i64 8
  %.sroa.8.0..sroa_idx569 = getelementptr inbounds i8, ptr %18, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %18, i8 0, i64 16, i1 false)
  store ptr %6, ptr %.sroa.8.0..sroa_idx569, align 8, !tbaa !9
  %.sroa.9.0..sroa_idx575 = getelementptr inbounds i8, ptr %18, i64 24
  store i64 50, ptr %.sroa.9.0..sroa_idx575, align 8, !tbaa !15
  %1273 = add nsw i32 %1244, 2
  store i32 %1273, ptr @test_count, align 4, !tbaa !5
  %1274 = call i32 @s2n_connection_set_send_cb(ptr noundef nonnull %1246, ptr noundef nonnull @s2n_test_send_cb) #11
  %1275 = icmp eq i32 %1274, -1
  br i1 %1275, label %1276, label %1298

1276:                                             ; preds = %1272
  %1277 = load i32, ptr %1134, align 4, !tbaa !5
  %1278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1279 = call i32 @s2n_print_stacktrace(ptr noundef %1278) #11
  %1280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1281 = trunc nuw i8 %1280 to i1
  br i1 %1281, label %1282, label %1286

1282:                                             ; preds = %1276
  %1283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1284 = call i32 @fileno(ptr noundef %1283) #11
  %1285 = call i32 @isatty(i32 noundef %1284) #11
  %.not813 = icmp eq i32 %1285, 0
  br i1 %.not813, label %1286, label %1287

1286:                                             ; preds = %1282, %1276
  br label %1287

1287:                                             ; preds = %1282, %1286
  %.str.4.sink1272 = phi ptr [ @.str.4, %1286 ], [ @.str, %1282 ]
  store i32 %1277, ptr %1134, align 4, !tbaa !5
  %1288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1289 = load i32, ptr @test_count, align 4, !tbaa !5
  %1290 = load i32, ptr %1080, align 4, !tbaa !5
  %1291 = call ptr @s2n_strerror(i32 noundef %1290, ptr noundef nonnull @.str.3) #11
  %1292 = load i32, ptr %1080, align 4, !tbaa !5
  %1293 = call ptr @s2n_strerror_debug(i32 noundef %1292, ptr noundef nonnull @.str.3) #11
  %1294 = load i32, ptr %1134, align 4, !tbaa !5
  %1295 = call ptr @strerror(i32 noundef %1294) #11
  %1296 = load i32, ptr %1134, align 4, !tbaa !5
  %1297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1288, ptr noundef nonnull %.str.4.sink1272, i32 noundef %1289, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 235, ptr noundef %1291, ptr noundef %1293, ptr noundef %1295, i32 noundef %1296) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1298:                                             ; preds = %1272
  %1299 = load i32, ptr @test_count, align 4, !tbaa !5
  %1300 = add nsw i32 %1299, 1
  store i32 %1300, ptr @test_count, align 4, !tbaa !5
  %1301 = load ptr, ptr %17, align 8, !tbaa !9
  %1302 = call i32 @s2n_connection_set_send_ctx(ptr noundef %1301, ptr noundef nonnull %18) #11
  %1303 = icmp eq i32 %1302, -1
  br i1 %1303, label %1304, label %1326

1304:                                             ; preds = %1298
  %1305 = load i32, ptr %1134, align 4, !tbaa !5
  %1306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1307 = call i32 @s2n_print_stacktrace(ptr noundef %1306) #11
  %1308 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1309 = trunc nuw i8 %1308 to i1
  br i1 %1309, label %1310, label %1314

1310:                                             ; preds = %1304
  %1311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1312 = call i32 @fileno(ptr noundef %1311) #11
  %1313 = call i32 @isatty(i32 noundef %1312) #11
  %.not812 = icmp eq i32 %1313, 0
  br i1 %.not812, label %1314, label %1315

1314:                                             ; preds = %1310, %1304
  br label %1315

1315:                                             ; preds = %1310, %1314
  %.str.4.sink1281 = phi ptr [ @.str.4, %1314 ], [ @.str, %1310 ]
  store i32 %1305, ptr %1134, align 4, !tbaa !5
  %1316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1317 = load i32, ptr @test_count, align 4, !tbaa !5
  %1318 = load i32, ptr %1080, align 4, !tbaa !5
  %1319 = call ptr @s2n_strerror(i32 noundef %1318, ptr noundef nonnull @.str.3) #11
  %1320 = load i32, ptr %1080, align 4, !tbaa !5
  %1321 = call ptr @s2n_strerror_debug(i32 noundef %1320, ptr noundef nonnull @.str.3) #11
  %1322 = load i32, ptr %1134, align 4, !tbaa !5
  %1323 = call ptr @strerror(i32 noundef %1322) #11
  %1324 = load i32, ptr %1134, align 4, !tbaa !5
  %1325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1316, ptr noundef nonnull %.str.4.sink1281, i32 noundef %1317, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 236, ptr noundef %1319, ptr noundef %1321, ptr noundef %1323, i32 noundef %1324) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1326:                                             ; preds = %1298
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #11
  store i32 0, ptr %19, align 4, !tbaa !5
  %1327 = load i32, ptr @test_count, align 4, !tbaa !5
  %1328 = add nsw i32 %1327, 1
  store i32 %1328, ptr @test_count, align 4, !tbaa !5
  %1329 = load ptr, ptr %17, align 8, !tbaa !9
  %1330 = call i64 @s2n_send(ptr noundef %1329, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %19) #11
  %1331 = icmp eq i64 %1330, 12
  br i1 %1331, label %1354, label %1332

1332:                                             ; preds = %1326
  %1333 = load i32, ptr %1134, align 4, !tbaa !5
  %1334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1335 = call i32 @s2n_print_stacktrace(ptr noundef %1334) #11
  %1336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1337 = trunc nuw i8 %1336 to i1
  br i1 %1337, label %1338, label %1342

1338:                                             ; preds = %1332
  %1339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1340 = call i32 @fileno(ptr noundef %1339) #11
  %1341 = call i32 @isatty(i32 noundef %1340) #11
  %.not617 = icmp eq i32 %1341, 0
  br i1 %.not617, label %1342, label %1343

1342:                                             ; preds = %1338, %1332
  br label %1343

1343:                                             ; preds = %1338, %1342
  %.str.4.sink1290 = phi ptr [ @.str.4, %1342 ], [ @.str, %1338 ]
  store i32 %1333, ptr %1134, align 4, !tbaa !5
  %1344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1345 = load i32, ptr @test_count, align 4, !tbaa !5
  %1346 = load i32, ptr %1080, align 4, !tbaa !5
  %1347 = call ptr @s2n_strerror(i32 noundef %1346, ptr noundef nonnull @.str.3) #11
  %1348 = load i32, ptr %1080, align 4, !tbaa !5
  %1349 = call ptr @s2n_strerror_debug(i32 noundef %1348, ptr noundef nonnull @.str.3) #11
  %1350 = load i32, ptr %1134, align 4, !tbaa !5
  %1351 = call ptr @strerror(i32 noundef %1350) #11
  %1352 = load i32, ptr %1134, align 4, !tbaa !5
  %1353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1344, ptr noundef nonnull %.str.4.sink1290, i32 noundef %1345, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.2, i32 noundef 239, ptr noundef %1347, ptr noundef %1349, ptr noundef %1351, i32 noundef %1352) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1354:                                             ; preds = %1326
  %1355 = load i32, ptr @test_count, align 4, !tbaa !5
  %1356 = add nsw i32 %1355, 1
  store i32 %1356, ptr @test_count, align 4, !tbaa !5
  %1357 = load i64, ptr %18, align 8, !tbaa !17
  %1358 = icmp eq i64 %1357, 1
  br i1 %1358, label %1381, label %1359

1359:                                             ; preds = %1354
  %1360 = load i32, ptr %1134, align 4, !tbaa !5
  %1361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1362 = call i32 @s2n_print_stacktrace(ptr noundef %1361) #11
  %1363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1364 = trunc nuw i8 %1363 to i1
  br i1 %1364, label %1365, label %1369

1365:                                             ; preds = %1359
  %1366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1367 = call i32 @fileno(ptr noundef %1366) #11
  %1368 = call i32 @isatty(i32 noundef %1367) #11
  %.not618 = icmp eq i32 %1368, 0
  br i1 %.not618, label %1369, label %1370

1369:                                             ; preds = %1365, %1359
  br label %1370

1370:                                             ; preds = %1365, %1369
  %.str.4.sink1299 = phi ptr [ @.str.4, %1369 ], [ @.str, %1365 ]
  store i32 %1360, ptr %1134, align 4, !tbaa !5
  %1371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1372 = load i32, ptr @test_count, align 4, !tbaa !5
  %1373 = load i32, ptr %1080, align 4, !tbaa !5
  %1374 = call ptr @s2n_strerror(i32 noundef %1373, ptr noundef nonnull @.str.3) #11
  %1375 = load i32, ptr %1080, align 4, !tbaa !5
  %1376 = call ptr @s2n_strerror_debug(i32 noundef %1375, ptr noundef nonnull @.str.3) #11
  %1377 = load i32, ptr %1134, align 4, !tbaa !5
  %1378 = call ptr @strerror(i32 noundef %1377) #11
  %1379 = load i32, ptr %1134, align 4, !tbaa !5
  %1380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1371, ptr noundef nonnull %.str.4.sink1299, i32 noundef %1372, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 241, ptr noundef %1374, ptr noundef %1376, ptr noundef %1378, i32 noundef %1379) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1381:                                             ; preds = %1354
  %1382 = add nsw i32 %1355, 2
  store i32 %1382, ptr @test_count, align 4, !tbaa !5
  %1383 = load i64, ptr %.sroa.7.0..sroa_idx563, align 8, !tbaa !19
  %1384 = icmp eq i64 %1383, %426
  br i1 %1384, label %1407, label %1385

1385:                                             ; preds = %1381
  %1386 = load i32, ptr %1134, align 4, !tbaa !5
  %1387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1388 = call i32 @s2n_print_stacktrace(ptr noundef %1387) #11
  %1389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1390 = trunc nuw i8 %1389 to i1
  br i1 %1390, label %1391, label %1395

1391:                                             ; preds = %1385
  %1392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1393 = call i32 @fileno(ptr noundef %1392) #11
  %1394 = call i32 @isatty(i32 noundef %1393) #11
  %.not619 = icmp eq i32 %1394, 0
  br i1 %.not619, label %1395, label %1396

1395:                                             ; preds = %1391, %1385
  br label %1396

1396:                                             ; preds = %1391, %1395
  %.str.4.sink1308 = phi ptr [ @.str.4, %1395 ], [ @.str, %1391 ]
  store i32 %1386, ptr %1134, align 4, !tbaa !5
  %1397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1398 = load i32, ptr @test_count, align 4, !tbaa !5
  %1399 = load i32, ptr %1080, align 4, !tbaa !5
  %1400 = call ptr @s2n_strerror(i32 noundef %1399, ptr noundef nonnull @.str.3) #11
  %1401 = load i32, ptr %1080, align 4, !tbaa !5
  %1402 = call ptr @s2n_strerror_debug(i32 noundef %1401, ptr noundef nonnull @.str.3) #11
  %1403 = load i32, ptr %1134, align 4, !tbaa !5
  %1404 = call ptr @strerror(i32 noundef %1403) #11
  %1405 = load i32, ptr %1134, align 4, !tbaa !5
  %1406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1397, ptr noundef nonnull %.str.4.sink1308, i32 noundef %1398, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.2, i32 noundef 242, ptr noundef %1400, ptr noundef %1402, ptr noundef %1404, i32 noundef %1405) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1407:                                             ; preds = %1381
  %1408 = add nsw i32 %1355, 3
  store i32 %1408, ptr @test_count, align 4, !tbaa !5
  %1409 = load ptr, ptr %17, align 8, !tbaa !9
  %1410 = getelementptr inbounds i8, ptr %1409, i64 2248
  %1411 = load i64, ptr %1410, align 8, !tbaa !20
  %1412 = icmp eq i64 %426, %1411
  br i1 %1412, label %1435, label %1413

1413:                                             ; preds = %1407
  %1414 = load i32, ptr %1134, align 4, !tbaa !5
  %1415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1416 = call i32 @s2n_print_stacktrace(ptr noundef %1415) #11
  %1417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1418 = trunc nuw i8 %1417 to i1
  br i1 %1418, label %1419, label %1423

1419:                                             ; preds = %1413
  %1420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1421 = call i32 @fileno(ptr noundef %1420) #11
  %1422 = call i32 @isatty(i32 noundef %1421) #11
  %.not620 = icmp eq i32 %1422, 0
  br i1 %.not620, label %1423, label %1424

1423:                                             ; preds = %1419, %1413
  br label %1424

1424:                                             ; preds = %1419, %1423
  %.str.4.sink1317 = phi ptr [ @.str.4, %1423 ], [ @.str, %1419 ]
  store i32 %1414, ptr %1134, align 4, !tbaa !5
  %1425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1426 = load i32, ptr @test_count, align 4, !tbaa !5
  %1427 = load i32, ptr %1080, align 4, !tbaa !5
  %1428 = call ptr @s2n_strerror(i32 noundef %1427, ptr noundef nonnull @.str.3) #11
  %1429 = load i32, ptr %1080, align 4, !tbaa !5
  %1430 = call ptr @s2n_strerror_debug(i32 noundef %1429, ptr noundef nonnull @.str.3) #11
  %1431 = load i32, ptr %1134, align 4, !tbaa !5
  %1432 = call ptr @strerror(i32 noundef %1431) #11
  %1433 = load i32, ptr %1134, align 4, !tbaa !5
  %1434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1425, ptr noundef nonnull %.str.4.sink1317, i32 noundef %1426, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.2, i32 noundef 243, ptr noundef %1428, ptr noundef %1430, ptr noundef %1432, i32 noundef %1433) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1435:                                             ; preds = %1407
  %1436 = add nsw i32 %1355, 4
  store i32 %1436, ptr @test_count, align 4, !tbaa !5
  %1437 = call i64 @s2n_connection_get_wire_bytes_out(ptr noundef nonnull %1409) #11
  %1438 = icmp eq i64 %426, %1437
  br i1 %1438, label %1461, label %1439

1439:                                             ; preds = %1435
  %1440 = load i32, ptr %1134, align 4, !tbaa !5
  %1441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1442 = call i32 @s2n_print_stacktrace(ptr noundef %1441) #11
  %1443 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1444 = trunc nuw i8 %1443 to i1
  br i1 %1444, label %1445, label %1449

1445:                                             ; preds = %1439
  %1446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1447 = call i32 @fileno(ptr noundef %1446) #11
  %1448 = call i32 @isatty(i32 noundef %1447) #11
  %.not621 = icmp eq i32 %1448, 0
  br i1 %.not621, label %1449, label %1450

1449:                                             ; preds = %1445, %1439
  br label %1450

1450:                                             ; preds = %1445, %1449
  %.str.4.sink1326 = phi ptr [ @.str.4, %1449 ], [ @.str, %1445 ]
  store i32 %1440, ptr %1134, align 4, !tbaa !5
  %1451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1452 = load i32, ptr @test_count, align 4, !tbaa !5
  %1453 = load i32, ptr %1080, align 4, !tbaa !5
  %1454 = call ptr @s2n_strerror(i32 noundef %1453, ptr noundef nonnull @.str.3) #11
  %1455 = load i32, ptr %1080, align 4, !tbaa !5
  %1456 = call ptr @s2n_strerror_debug(i32 noundef %1455, ptr noundef nonnull @.str.3) #11
  %1457 = load i32, ptr %1134, align 4, !tbaa !5
  %1458 = call ptr @strerror(i32 noundef %1457) #11
  %1459 = load i32, ptr %1134, align 4, !tbaa !5
  %1460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1451, ptr noundef nonnull %.str.4.sink1326, i32 noundef %1452, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.2, i32 noundef 244, ptr noundef %1454, ptr noundef %1456, ptr noundef %1458, i32 noundef %1459) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1461:                                             ; preds = %1435
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #11
  %1462 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %17) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #11
  %1463 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %1463, ptr %20, align 8, !tbaa !9
  %1464 = load i32, ptr @test_count, align 4, !tbaa !5
  %1465 = add nsw i32 %1464, 1
  store i32 %1465, ptr @test_count, align 4, !tbaa !5
  %1466 = icmp eq ptr %1463, null
  br i1 %1466, label %1467, label %1489

1467:                                             ; preds = %1461
  %1468 = load i32, ptr %1134, align 4, !tbaa !5
  %1469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1470 = call i32 @s2n_print_stacktrace(ptr noundef %1469) #11
  %1471 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1472 = trunc nuw i8 %1471 to i1
  br i1 %1472, label %1473, label %1477

1473:                                             ; preds = %1467
  %1474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1475 = call i32 @fileno(ptr noundef %1474) #11
  %1476 = call i32 @isatty(i32 noundef %1475) #11
  %.not811 = icmp eq i32 %1476, 0
  br i1 %.not811, label %1477, label %1478

1477:                                             ; preds = %1473, %1467
  br label %1478

1478:                                             ; preds = %1473, %1477
  %.str.4.sink1335 = phi ptr [ @.str.4, %1477 ], [ @.str, %1473 ]
  store i32 %1468, ptr %1134, align 4, !tbaa !5
  %1479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1480 = load i32, ptr @test_count, align 4, !tbaa !5
  %1481 = load i32, ptr %1080, align 4, !tbaa !5
  %1482 = call ptr @s2n_strerror(i32 noundef %1481, ptr noundef nonnull @.str.3) #11
  %1483 = load i32, ptr %1080, align 4, !tbaa !5
  %1484 = call ptr @s2n_strerror_debug(i32 noundef %1483, ptr noundef nonnull @.str.3) #11
  %1485 = load i32, ptr %1134, align 4, !tbaa !5
  %1486 = call ptr @strerror(i32 noundef %1485) #11
  %1487 = load i32, ptr %1134, align 4, !tbaa !5
  %1488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1479, ptr noundef nonnull %.str.4.sink1335, i32 noundef %1480, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 251, ptr noundef %1482, ptr noundef %1484, ptr noundef %1486, i32 noundef %1487) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1489:                                             ; preds = %1461
  %1490 = add nsw i32 %1464, 2
  store i32 %1490, ptr @test_count, align 4, !tbaa !5
  %1491 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %1463) #11
  %1492 = call zeroext i1 @s2n_result_is_ok(i32 %1491)
  br i1 %1492, label %1515, label %1493

1493:                                             ; preds = %1489
  %1494 = load i32, ptr %1134, align 4, !tbaa !5
  %1495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1496 = call i32 @s2n_print_stacktrace(ptr noundef %1495) #11
  %1497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1498 = trunc nuw i8 %1497 to i1
  br i1 %1498, label %1499, label %1503

1499:                                             ; preds = %1493
  %1500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1501 = call i32 @fileno(ptr noundef %1500) #11
  %1502 = call i32 @isatty(i32 noundef %1501) #11
  %.not622 = icmp eq i32 %1502, 0
  br i1 %.not622, label %1503, label %1504

1503:                                             ; preds = %1499, %1493
  br label %1504

1504:                                             ; preds = %1499, %1503
  %.str.4.sink1344 = phi ptr [ @.str.4, %1503 ], [ @.str, %1499 ]
  store i32 %1494, ptr %1134, align 4, !tbaa !5
  %1505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1506 = load i32, ptr @test_count, align 4, !tbaa !5
  %1507 = load i32, ptr %1080, align 4, !tbaa !5
  %1508 = call ptr @s2n_strerror(i32 noundef %1507, ptr noundef nonnull @.str.3) #11
  %1509 = load i32, ptr %1080, align 4, !tbaa !5
  %1510 = call ptr @s2n_strerror_debug(i32 noundef %1509, ptr noundef nonnull @.str.3) #11
  %1511 = load i32, ptr %1134, align 4, !tbaa !5
  %1512 = call ptr @strerror(i32 noundef %1511) #11
  %1513 = load i32, ptr %1134, align 4, !tbaa !5
  %1514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1505, ptr noundef nonnull %.str.4.sink1344, i32 noundef %1506, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 252, ptr noundef %1508, ptr noundef %1510, ptr noundef %1512, i32 noundef %1513) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1515:                                             ; preds = %1489
  %1516 = load i32, ptr @test_count, align 4, !tbaa !5
  %1517 = add nsw i32 %1516, 1
  store i32 %1517, ptr @test_count, align 4, !tbaa !5
  %1518 = load ptr, ptr %20, align 8, !tbaa !9
  %1519 = getelementptr inbounds i8, ptr %1518, i64 2248
  %1520 = load i64, ptr %1519, align 8, !tbaa !20
  %1521 = icmp eq i64 %1520, 0
  br i1 %1521, label %1544, label %1522

1522:                                             ; preds = %1515
  %1523 = load i32, ptr %1134, align 4, !tbaa !5
  %1524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1525 = call i32 @s2n_print_stacktrace(ptr noundef %1524) #11
  %1526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1527 = trunc nuw i8 %1526 to i1
  br i1 %1527, label %1528, label %1532

1528:                                             ; preds = %1522
  %1529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1530 = call i32 @fileno(ptr noundef %1529) #11
  %1531 = call i32 @isatty(i32 noundef %1530) #11
  %.not623 = icmp eq i32 %1531, 0
  br i1 %.not623, label %1532, label %1533

1532:                                             ; preds = %1528, %1522
  br label %1533

1533:                                             ; preds = %1528, %1532
  %.str.4.sink1353 = phi ptr [ @.str.4, %1532 ], [ @.str, %1528 ]
  store i32 %1523, ptr %1134, align 4, !tbaa !5
  %1534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1535 = load i32, ptr @test_count, align 4, !tbaa !5
  %1536 = load i32, ptr %1080, align 4, !tbaa !5
  %1537 = call ptr @s2n_strerror(i32 noundef %1536, ptr noundef nonnull @.str.3) #11
  %1538 = load i32, ptr %1080, align 4, !tbaa !5
  %1539 = call ptr @s2n_strerror_debug(i32 noundef %1538, ptr noundef nonnull @.str.3) #11
  %1540 = load i32, ptr %1134, align 4, !tbaa !5
  %1541 = call ptr @strerror(i32 noundef %1540) #11
  %1542 = load i32, ptr %1134, align 4, !tbaa !5
  %1543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1534, ptr noundef nonnull %.str.4.sink1353, i32 noundef %1535, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.2, i32 noundef 253, ptr noundef %1537, ptr noundef %1539, ptr noundef %1541, i32 noundef %1542) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1544:                                             ; preds = %1515
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %21) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %21, ptr noundef nonnull align 16 dereferenceable(16) @__const.main.results, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #11
  %1545 = getelementptr inbounds i8, ptr %22, i64 8
  %1546 = getelementptr inbounds i8, ptr %22, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %22, i8 0, i64 16, i1 false)
  store ptr %21, ptr %1546, align 8, !tbaa !50
  %1547 = getelementptr inbounds i8, ptr %22, i64 24
  store i64 2, ptr %1547, align 8, !tbaa !51
  %1548 = add nsw i32 %1516, 2
  store i32 %1548, ptr @test_count, align 4, !tbaa !5
  %1549 = call i32 @s2n_connection_set_send_cb(ptr noundef nonnull %1518, ptr noundef nonnull @s2n_test_send_cb) #11
  %1550 = icmp eq i32 %1549, -1
  br i1 %1550, label %1551, label %1573

1551:                                             ; preds = %1544
  %1552 = load i32, ptr %1134, align 4, !tbaa !5
  %1553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1554 = call i32 @s2n_print_stacktrace(ptr noundef %1553) #11
  %1555 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1556 = trunc nuw i8 %1555 to i1
  br i1 %1556, label %1557, label %1561

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

1561:                                             ; preds = %1557, %1551
  br label %1562

1562:                                             ; preds = %1557, %1561
  %.str.4.sink1362 = phi ptr [ @.str.4, %1561 ], [ @.str, %1557 ]
  store i32 %1552, ptr %1134, align 4, !tbaa !5
  %1563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1564 = load i32, ptr @test_count, align 4, !tbaa !5
  %1565 = load i32, ptr %1080, align 4, !tbaa !5
  %1566 = call ptr @s2n_strerror(i32 noundef %1565, ptr noundef nonnull @.str.3) #11
  %1567 = load i32, ptr %1080, align 4, !tbaa !5
  %1568 = call ptr @s2n_strerror_debug(i32 noundef %1567, ptr noundef nonnull @.str.3) #11
  %1569 = load i32, ptr %1134, align 4, !tbaa !5
  %1570 = call ptr @strerror(i32 noundef %1569) #11
  %1571 = load i32, ptr %1134, align 4, !tbaa !5
  %1572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1563, ptr noundef nonnull %.str.4.sink1362, i32 noundef %1564, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 261, ptr noundef %1566, ptr noundef %1568, ptr noundef %1570, i32 noundef %1571) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1573:                                             ; preds = %1544
  %1574 = load i32, ptr @test_count, align 4, !tbaa !5
  %1575 = add nsw i32 %1574, 1
  store i32 %1575, ptr @test_count, align 4, !tbaa !5
  %1576 = load ptr, ptr %20, align 8, !tbaa !9
  %1577 = call i32 @s2n_connection_set_send_ctx(ptr noundef %1576, ptr noundef nonnull %22) #11
  %1578 = icmp eq i32 %1577, -1
  br i1 %1578, label %1579, label %1601

1579:                                             ; preds = %1573
  %1580 = load i32, ptr %1134, align 4, !tbaa !5
  %1581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1582 = call i32 @s2n_print_stacktrace(ptr noundef %1581) #11
  %1583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1584 = trunc nuw i8 %1583 to i1
  br i1 %1584, label %1585, label %1589

1585:                                             ; preds = %1579
  %1586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1587 = call i32 @fileno(ptr noundef %1586) #11
  %1588 = call i32 @isatty(i32 noundef %1587) #11
  %.not809 = icmp eq i32 %1588, 0
  br i1 %.not809, label %1589, label %1590

1589:                                             ; preds = %1585, %1579
  br label %1590

1590:                                             ; preds = %1585, %1589
  %.str.4.sink1371 = phi ptr [ @.str.4, %1589 ], [ @.str, %1585 ]
  store i32 %1580, ptr %1134, align 4, !tbaa !5
  %1591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1592 = load i32, ptr @test_count, align 4, !tbaa !5
  %1593 = load i32, ptr %1080, align 4, !tbaa !5
  %1594 = call ptr @s2n_strerror(i32 noundef %1593, ptr noundef nonnull @.str.3) #11
  %1595 = load i32, ptr %1080, align 4, !tbaa !5
  %1596 = call ptr @s2n_strerror_debug(i32 noundef %1595, ptr noundef nonnull @.str.3) #11
  %1597 = load i32, ptr %1134, align 4, !tbaa !5
  %1598 = call ptr @strerror(i32 noundef %1597) #11
  %1599 = load i32, ptr %1134, align 4, !tbaa !5
  %1600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1591, ptr noundef nonnull %.str.4.sink1371, i32 noundef %1592, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 262, ptr noundef %1594, ptr noundef %1596, ptr noundef %1598, i32 noundef %1599) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1601:                                             ; preds = %1573
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #11
  store i32 0, ptr %23, align 4, !tbaa !5
  %1602 = load i32, ptr @test_count, align 4, !tbaa !5
  %1603 = add nsw i32 %1602, 1
  store i32 %1603, ptr @test_count, align 4, !tbaa !5
  %1604 = load ptr, ptr %20, align 8, !tbaa !9
  %1605 = call i64 @s2n_send(ptr noundef %1604, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %23) #11
  %1606 = icmp eq i64 %1605, -1
  br i1 %1606, label %1629, label %1607

1607:                                             ; preds = %1601
  %1608 = load i32, ptr %1134, align 4, !tbaa !5
  %1609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1610 = call i32 @s2n_print_stacktrace(ptr noundef %1609) #11
  %1611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1612 = trunc nuw i8 %1611 to i1
  br i1 %1612, label %1613, label %1617

1613:                                             ; preds = %1607
  %1614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1615 = call i32 @fileno(ptr noundef %1614) #11
  %1616 = call i32 @isatty(i32 noundef %1615) #11
  %.not624 = icmp eq i32 %1616, 0
  br i1 %.not624, label %1617, label %1618

1617:                                             ; preds = %1613, %1607
  br label %1618

1618:                                             ; preds = %1613, %1617
  %.str.4.sink1380 = phi ptr [ @.str.4, %1617 ], [ @.str, %1613 ]
  store i32 %1608, ptr %1134, align 4, !tbaa !5
  %1619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1620 = load i32, ptr @test_count, align 4, !tbaa !5
  %1621 = load i32, ptr %1080, align 4, !tbaa !5
  %1622 = call ptr @s2n_strerror(i32 noundef %1621, ptr noundef nonnull @.str.3) #11
  %1623 = load i32, ptr %1080, align 4, !tbaa !5
  %1624 = call ptr @s2n_strerror_debug(i32 noundef %1623, ptr noundef nonnull @.str.3) #11
  %1625 = load i32, ptr %1134, align 4, !tbaa !5
  %1626 = call ptr @strerror(i32 noundef %1625) #11
  %1627 = load i32, ptr %1134, align 4, !tbaa !5
  %1628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1619, ptr noundef nonnull %.str.4.sink1380, i32 noundef %1620, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 265, ptr noundef %1622, ptr noundef %1624, ptr noundef %1626, i32 noundef %1627) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1629:                                             ; preds = %1601
  %1630 = load i32, ptr @test_count, align 4, !tbaa !5
  %1631 = add nsw i32 %1630, 1
  store i32 %1631, ptr @test_count, align 4, !tbaa !5
  %1632 = load i32, ptr %1080, align 4, !tbaa !5
  %1633 = icmp eq i32 %1632, 67108864
  br i1 %1633, label %1656, label %1634

1634:                                             ; preds = %1629
  %1635 = load i32, ptr %1134, align 4, !tbaa !5
  %1636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1637 = call i32 @s2n_print_stacktrace(ptr noundef %1636) #11
  %1638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1639 = trunc nuw i8 %1638 to i1
  br i1 %1639, label %1640, label %1644

1640:                                             ; preds = %1634
  %1641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1642 = call i32 @fileno(ptr noundef %1641) #11
  %1643 = call i32 @isatty(i32 noundef %1642) #11
  %.not625 = icmp eq i32 %1643, 0
  br i1 %.not625, label %1644, label %1645

1644:                                             ; preds = %1640, %1634
  br label %1645

1645:                                             ; preds = %1640, %1644
  %.str.4.sink1389 = phi ptr [ @.str.4, %1644 ], [ @.str, %1640 ]
  store i32 %1635, ptr %1134, align 4, !tbaa !5
  %1646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1647 = load i32, ptr @test_count, align 4, !tbaa !5
  %1648 = load i32, ptr %1080, align 4, !tbaa !5
  %1649 = call ptr @s2n_strerror(i32 noundef %1648, ptr noundef nonnull @.str.3) #11
  %1650 = load i32, ptr %1080, align 4, !tbaa !5
  %1651 = call ptr @s2n_strerror_debug(i32 noundef %1650, ptr noundef nonnull @.str.3) #11
  %1652 = load i32, ptr %1134, align 4, !tbaa !5
  %1653 = call ptr @strerror(i32 noundef %1652) #11
  %1654 = load i32, ptr %1134, align 4, !tbaa !5
  %1655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1646, ptr noundef nonnull %.str.4.sink1389, i32 noundef %1647, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 265, ptr noundef %1649, ptr noundef %1651, ptr noundef %1653, i32 noundef %1654) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1656:                                             ; preds = %1629
  %1657 = add nsw i32 %1630, 2
  store i32 %1657, ptr @test_count, align 4, !tbaa !5
  %1658 = call ptr @s2n_strerror_debug(i32 noundef 67108864, ptr noundef nonnull @.str.3) #11
  %1659 = icmp eq ptr %1658, null
  br i1 %1659, label %1660, label %1682

1660:                                             ; preds = %1656
  %1661 = load i32, ptr %1134, align 4, !tbaa !5
  %1662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1663 = call i32 @s2n_print_stacktrace(ptr noundef %1662) #11
  %1664 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1665 = trunc nuw i8 %1664 to i1
  br i1 %1665, label %1666, label %1670

1666:                                             ; preds = %1660
  %1667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1668 = call i32 @fileno(ptr noundef %1667) #11
  %1669 = call i32 @isatty(i32 noundef %1668) #11
  %.not808 = icmp eq i32 %1669, 0
  br i1 %.not808, label %1670, label %1671

1670:                                             ; preds = %1666, %1660
  br label %1671

1671:                                             ; preds = %1666, %1670
  %.str.4.sink1398 = phi ptr [ @.str.4, %1670 ], [ @.str, %1666 ]
  store i32 %1661, ptr %1134, align 4, !tbaa !5
  %1672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1673 = load i32, ptr @test_count, align 4, !tbaa !5
  %1674 = load i32, ptr %1080, align 4, !tbaa !5
  %1675 = call ptr @s2n_strerror(i32 noundef %1674, ptr noundef nonnull @.str.3) #11
  %1676 = load i32, ptr %1080, align 4, !tbaa !5
  %1677 = call ptr @s2n_strerror_debug(i32 noundef %1676, ptr noundef nonnull @.str.3) #11
  %1678 = load i32, ptr %1134, align 4, !tbaa !5
  %1679 = call ptr @strerror(i32 noundef %1678) #11
  %1680 = load i32, ptr %1134, align 4, !tbaa !5
  %1681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1672, ptr noundef nonnull %.str.4.sink1398, i32 noundef %1673, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 265, ptr noundef %1675, ptr noundef %1677, ptr noundef %1679, i32 noundef %1680) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1682:                                             ; preds = %1656
  store i32 0, ptr %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1134, align 4, !tbaa !5
  %1683 = load i32, ptr @test_count, align 4, !tbaa !5
  %1684 = add nsw i32 %1683, 1
  store i32 %1684, ptr @test_count, align 4, !tbaa !5
  %1685 = load i64, ptr %22, align 8, !tbaa !17
  %1686 = icmp eq i64 %1685, 2
  br i1 %1686, label %1709, label %1687

1687:                                             ; preds = %1682
  %1688 = load i32, ptr %1134, align 4, !tbaa !5
  %1689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1690 = call i32 @s2n_print_stacktrace(ptr noundef %1689) #11
  %1691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1692 = trunc nuw i8 %1691 to i1
  br i1 %1692, label %1693, label %1697

1693:                                             ; preds = %1687
  %1694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1695 = call i32 @fileno(ptr noundef %1694) #11
  %1696 = call i32 @isatty(i32 noundef %1695) #11
  %.not626 = icmp eq i32 %1696, 0
  br i1 %.not626, label %1697, label %1698

1697:                                             ; preds = %1693, %1687
  br label %1698

1698:                                             ; preds = %1693, %1697
  %.str.4.sink1407 = phi ptr [ @.str.4, %1697 ], [ @.str, %1693 ]
  store i32 %1688, ptr %1134, align 4, !tbaa !5
  %1699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1700 = load i32, ptr @test_count, align 4, !tbaa !5
  %1701 = load i32, ptr %1080, align 4, !tbaa !5
  %1702 = call ptr @s2n_strerror(i32 noundef %1701, ptr noundef nonnull @.str.3) #11
  %1703 = load i32, ptr %1080, align 4, !tbaa !5
  %1704 = call ptr @s2n_strerror_debug(i32 noundef %1703, ptr noundef nonnull @.str.3) #11
  %1705 = load i32, ptr %1134, align 4, !tbaa !5
  %1706 = call ptr @strerror(i32 noundef %1705) #11
  %1707 = load i32, ptr %1134, align 4, !tbaa !5
  %1708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1699, ptr noundef nonnull %.str.4.sink1407, i32 noundef %1700, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.2, i32 noundef 267, ptr noundef %1702, ptr noundef %1704, ptr noundef %1706, i32 noundef %1707) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1709:                                             ; preds = %1682
  %1710 = add nsw i32 %1683, 2
  store i32 %1710, ptr @test_count, align 4, !tbaa !5
  %1711 = load i64, ptr %1545, align 8, !tbaa !19
  %1712 = icmp eq i64 %1711, 10
  br i1 %1712, label %1735, label %1713

1713:                                             ; preds = %1709
  %1714 = load i32, ptr %1134, align 4, !tbaa !5
  %1715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1716 = call i32 @s2n_print_stacktrace(ptr noundef %1715) #11
  %1717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1718 = trunc nuw i8 %1717 to i1
  br i1 %1718, label %1719, label %1723

1719:                                             ; preds = %1713
  %1720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1721 = call i32 @fileno(ptr noundef %1720) #11
  %1722 = call i32 @isatty(i32 noundef %1721) #11
  %.not627 = icmp eq i32 %1722, 0
  br i1 %.not627, label %1723, label %1724

1723:                                             ; preds = %1719, %1713
  br label %1724

1724:                                             ; preds = %1719, %1723
  %.str.4.sink1416 = phi ptr [ @.str.4, %1723 ], [ @.str, %1719 ]
  store i32 %1714, ptr %1134, align 4, !tbaa !5
  %1725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1726 = load i32, ptr @test_count, align 4, !tbaa !5
  %1727 = load i32, ptr %1080, align 4, !tbaa !5
  %1728 = call ptr @s2n_strerror(i32 noundef %1727, ptr noundef nonnull @.str.3) #11
  %1729 = load i32, ptr %1080, align 4, !tbaa !5
  %1730 = call ptr @s2n_strerror_debug(i32 noundef %1729, ptr noundef nonnull @.str.3) #11
  %1731 = load i32, ptr %1134, align 4, !tbaa !5
  %1732 = call ptr @strerror(i32 noundef %1731) #11
  %1733 = load i32, ptr %1134, align 4, !tbaa !5
  %1734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1725, ptr noundef nonnull %.str.4.sink1416, i32 noundef %1726, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.2, i32 noundef 268, ptr noundef %1728, ptr noundef %1730, ptr noundef %1732, i32 noundef %1733) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1735:                                             ; preds = %1709
  %1736 = add nsw i32 %1683, 3
  store i32 %1736, ptr @test_count, align 4, !tbaa !5
  %1737 = load ptr, ptr %20, align 8, !tbaa !9
  %1738 = getelementptr inbounds i8, ptr %1737, i64 2248
  %1739 = load i64, ptr %1738, align 8, !tbaa !20
  %1740 = icmp eq i64 %1739, 10
  br i1 %1740, label %1763, label %1741

1741:                                             ; preds = %1735
  %1742 = load i32, ptr %1134, align 4, !tbaa !5
  %1743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1744 = call i32 @s2n_print_stacktrace(ptr noundef %1743) #11
  %1745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1746 = trunc nuw i8 %1745 to i1
  br i1 %1746, label %1747, label %1751

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

1751:                                             ; preds = %1747, %1741
  br label %1752

1752:                                             ; preds = %1747, %1751
  %.str.4.sink1425 = phi ptr [ @.str.4, %1751 ], [ @.str, %1747 ]
  store i32 %1742, ptr %1134, align 4, !tbaa !5
  %1753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1754 = load i32, ptr @test_count, align 4, !tbaa !5
  %1755 = load i32, ptr %1080, align 4, !tbaa !5
  %1756 = call ptr @s2n_strerror(i32 noundef %1755, ptr noundef nonnull @.str.3) #11
  %1757 = load i32, ptr %1080, align 4, !tbaa !5
  %1758 = call ptr @s2n_strerror_debug(i32 noundef %1757, ptr noundef nonnull @.str.3) #11
  %1759 = load i32, ptr %1134, align 4, !tbaa !5
  %1760 = call ptr @strerror(i32 noundef %1759) #11
  %1761 = load i32, ptr %1134, align 4, !tbaa !5
  %1762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1753, ptr noundef nonnull %.str.4.sink1425, i32 noundef %1754, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.2, i32 noundef 269, ptr noundef %1756, ptr noundef %1758, ptr noundef %1760, i32 noundef %1761) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1763:                                             ; preds = %1735
  %1764 = add nsw i32 %1683, 4
  store i32 %1764, ptr @test_count, align 4, !tbaa !5
  %1765 = call i64 @s2n_connection_get_wire_bytes_out(ptr noundef nonnull %1737) #11
  %1766 = icmp eq i64 %1765, 10
  br i1 %1766, label %1789, label %1767

1767:                                             ; preds = %1763
  %1768 = load i32, ptr %1134, align 4, !tbaa !5
  %1769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1770 = call i32 @s2n_print_stacktrace(ptr noundef %1769) #11
  %1771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1772 = trunc nuw i8 %1771 to i1
  br i1 %1772, label %1773, label %1777

1773:                                             ; preds = %1767
  %1774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1775 = call i32 @fileno(ptr noundef %1774) #11
  %1776 = call i32 @isatty(i32 noundef %1775) #11
  %.not629 = icmp eq i32 %1776, 0
  br i1 %.not629, label %1777, label %1778

1777:                                             ; preds = %1773, %1767
  br label %1778

1778:                                             ; preds = %1773, %1777
  %.str.4.sink1434 = phi ptr [ @.str.4, %1777 ], [ @.str, %1773 ]
  store i32 %1768, ptr %1134, align 4, !tbaa !5
  %1779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1780 = load i32, ptr @test_count, align 4, !tbaa !5
  %1781 = load i32, ptr %1080, align 4, !tbaa !5
  %1782 = call ptr @s2n_strerror(i32 noundef %1781, ptr noundef nonnull @.str.3) #11
  %1783 = load i32, ptr %1080, align 4, !tbaa !5
  %1784 = call ptr @s2n_strerror_debug(i32 noundef %1783, ptr noundef nonnull @.str.3) #11
  %1785 = load i32, ptr %1134, align 4, !tbaa !5
  %1786 = call ptr @strerror(i32 noundef %1785) #11
  %1787 = load i32, ptr %1134, align 4, !tbaa !5
  %1788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1779, ptr noundef nonnull %.str.4.sink1434, i32 noundef %1780, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.2, i32 noundef 270, ptr noundef %1782, ptr noundef %1784, ptr noundef %1786, i32 noundef %1787) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1789:                                             ; preds = %1763
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #11
  %1790 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %20) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #11
  %1791 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %1791, ptr %24, align 8, !tbaa !9
  %1792 = load i32, ptr @test_count, align 4, !tbaa !5
  %1793 = add nsw i32 %1792, 1
  store i32 %1793, ptr @test_count, align 4, !tbaa !5
  %1794 = icmp eq ptr %1791, null
  br i1 %1794, label %1795, label %1817

1795:                                             ; preds = %1789
  %1796 = load i32, ptr %1134, align 4, !tbaa !5
  %1797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1798 = call i32 @s2n_print_stacktrace(ptr noundef %1797) #11
  %1799 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1800 = trunc nuw i8 %1799 to i1
  br i1 %1800, label %1801, label %1805

1801:                                             ; preds = %1795
  %1802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1803 = call i32 @fileno(ptr noundef %1802) #11
  %1804 = call i32 @isatty(i32 noundef %1803) #11
  %.not807 = icmp eq i32 %1804, 0
  br i1 %.not807, label %1805, label %1806

1805:                                             ; preds = %1801, %1795
  br label %1806

1806:                                             ; preds = %1801, %1805
  %.str.4.sink1443 = phi ptr [ @.str.4, %1805 ], [ @.str, %1801 ]
  store i32 %1796, ptr %1134, align 4, !tbaa !5
  %1807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1808 = load i32, ptr @test_count, align 4, !tbaa !5
  %1809 = load i32, ptr %1080, align 4, !tbaa !5
  %1810 = call ptr @s2n_strerror(i32 noundef %1809, ptr noundef nonnull @.str.3) #11
  %1811 = load i32, ptr %1080, align 4, !tbaa !5
  %1812 = call ptr @s2n_strerror_debug(i32 noundef %1811, ptr noundef nonnull @.str.3) #11
  %1813 = load i32, ptr %1134, align 4, !tbaa !5
  %1814 = call ptr @strerror(i32 noundef %1813) #11
  %1815 = load i32, ptr %1134, align 4, !tbaa !5
  %1816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1807, ptr noundef nonnull %.str.4.sink1443, i32 noundef %1808, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 277, ptr noundef %1810, ptr noundef %1812, ptr noundef %1814, i32 noundef %1815) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1817:                                             ; preds = %1789
  %1818 = add nsw i32 %1792, 2
  store i32 %1818, ptr @test_count, align 4, !tbaa !5
  %1819 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %1791) #11
  %1820 = call zeroext i1 @s2n_result_is_ok(i32 %1819)
  br i1 %1820, label %1843, label %1821

1821:                                             ; preds = %1817
  %1822 = load i32, ptr %1134, align 4, !tbaa !5
  %1823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1824 = call i32 @s2n_print_stacktrace(ptr noundef %1823) #11
  %1825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1826 = trunc nuw i8 %1825 to i1
  br i1 %1826, label %1827, label %1831

1827:                                             ; preds = %1821
  %1828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1829 = call i32 @fileno(ptr noundef %1828) #11
  %1830 = call i32 @isatty(i32 noundef %1829) #11
  %.not630 = icmp eq i32 %1830, 0
  br i1 %.not630, label %1831, label %1832

1831:                                             ; preds = %1827, %1821
  br label %1832

1832:                                             ; preds = %1827, %1831
  %.str.4.sink1452 = phi ptr [ @.str.4, %1831 ], [ @.str, %1827 ]
  store i32 %1822, ptr %1134, align 4, !tbaa !5
  %1833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1834 = load i32, ptr @test_count, align 4, !tbaa !5
  %1835 = load i32, ptr %1080, align 4, !tbaa !5
  %1836 = call ptr @s2n_strerror(i32 noundef %1835, ptr noundef nonnull @.str.3) #11
  %1837 = load i32, ptr %1080, align 4, !tbaa !5
  %1838 = call ptr @s2n_strerror_debug(i32 noundef %1837, ptr noundef nonnull @.str.3) #11
  %1839 = load i32, ptr %1134, align 4, !tbaa !5
  %1840 = call ptr @strerror(i32 noundef %1839) #11
  %1841 = load i32, ptr %1134, align 4, !tbaa !5
  %1842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1833, ptr noundef nonnull %.str.4.sink1452, i32 noundef %1834, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 278, ptr noundef %1836, ptr noundef %1838, ptr noundef %1840, i32 noundef %1841) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1843:                                             ; preds = %1817
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %25, ptr noundef nonnull align 16 dereferenceable(32) @__const.main.results.39, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #11
  %1844 = getelementptr inbounds i8, ptr %26, i64 8
  %1845 = getelementptr inbounds i8, ptr %26, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %26, i8 0, i64 16, i1 false)
  store ptr %25, ptr %1845, align 8, !tbaa !50
  %1846 = getelementptr inbounds i8, ptr %26, i64 24
  store i64 4, ptr %1846, align 8, !tbaa !51
  %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 %24, align 8, !tbaa !9
  %1850 = call i32 @s2n_connection_set_send_cb(ptr noundef %1849, ptr noundef nonnull @s2n_test_send_cb) #11
  %1851 = icmp eq i32 %1850, -1
  br i1 %1851, label %1852, label %1874

1852:                                             ; preds = %1843
  %1853 = load i32, ptr %1134, align 4, !tbaa !5
  %1854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1855 = call i32 @s2n_print_stacktrace(ptr noundef %1854) #11
  %1856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1857 = trunc nuw i8 %1856 to i1
  br i1 %1857, label %1858, label %1862

1858:                                             ; preds = %1852
  %1859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1860 = call i32 @fileno(ptr noundef %1859) #11
  %1861 = call i32 @isatty(i32 noundef %1860) #11
  %.not806 = icmp eq i32 %1861, 0
  br i1 %.not806, label %1862, label %1863

1862:                                             ; preds = %1858, %1852
  br label %1863

1863:                                             ; preds = %1858, %1862
  %.str.4.sink1461 = phi ptr [ @.str.4, %1862 ], [ @.str, %1858 ]
  store i32 %1853, ptr %1134, align 4, !tbaa !5
  %1864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1865 = load i32, ptr @test_count, align 4, !tbaa !5
  %1866 = load i32, ptr %1080, align 4, !tbaa !5
  %1867 = call ptr @s2n_strerror(i32 noundef %1866, ptr noundef nonnull @.str.3) #11
  %1868 = load i32, ptr %1080, align 4, !tbaa !5
  %1869 = call ptr @s2n_strerror_debug(i32 noundef %1868, ptr noundef nonnull @.str.3) #11
  %1870 = load i32, ptr %1134, align 4, !tbaa !5
  %1871 = call ptr @strerror(i32 noundef %1870) #11
  %1872 = load i32, ptr %1134, align 4, !tbaa !5
  %1873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1864, ptr noundef nonnull %.str.4.sink1461, i32 noundef %1865, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 287, ptr noundef %1867, ptr noundef %1869, ptr noundef %1871, i32 noundef %1872) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1874:                                             ; preds = %1843
  %1875 = load i32, ptr @test_count, align 4, !tbaa !5
  %1876 = add nsw i32 %1875, 1
  store i32 %1876, ptr @test_count, align 4, !tbaa !5
  %1877 = load ptr, ptr %24, align 8, !tbaa !9
  %1878 = call i32 @s2n_connection_set_send_ctx(ptr noundef %1877, ptr noundef nonnull %26) #11
  %1879 = icmp eq i32 %1878, -1
  br i1 %1879, label %1880, label %1902

1880:                                             ; preds = %1874
  %1881 = load i32, ptr %1134, align 4, !tbaa !5
  %1882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1883 = call i32 @s2n_print_stacktrace(ptr noundef %1882) #11
  %1884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1885 = trunc nuw i8 %1884 to i1
  br i1 %1885, label %1886, label %1890

1886:                                             ; preds = %1880
  %1887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1888 = call i32 @fileno(ptr noundef %1887) #11
  %1889 = call i32 @isatty(i32 noundef %1888) #11
  %.not805 = icmp eq i32 %1889, 0
  br i1 %.not805, label %1890, label %1891

1890:                                             ; preds = %1886, %1880
  br label %1891

1891:                                             ; preds = %1886, %1890
  %.str.4.sink1470 = phi ptr [ @.str.4, %1890 ], [ @.str, %1886 ]
  store i32 %1881, ptr %1134, align 4, !tbaa !5
  %1892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1893 = load i32, ptr @test_count, align 4, !tbaa !5
  %1894 = load i32, ptr %1080, align 4, !tbaa !5
  %1895 = call ptr @s2n_strerror(i32 noundef %1894, ptr noundef nonnull @.str.3) #11
  %1896 = load i32, ptr %1080, align 4, !tbaa !5
  %1897 = call ptr @s2n_strerror_debug(i32 noundef %1896, ptr noundef nonnull @.str.3) #11
  %1898 = load i32, ptr %1134, align 4, !tbaa !5
  %1899 = call ptr @strerror(i32 noundef %1898) #11
  %1900 = load i32, ptr %1134, align 4, !tbaa !5
  %1901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1892, ptr noundef nonnull %.str.4.sink1470, i32 noundef %1893, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 288, ptr noundef %1895, ptr noundef %1897, ptr noundef %1899, i32 noundef %1900) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1902:                                             ; preds = %1874
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) #11
  store i32 0, ptr %27, align 4, !tbaa !5
  %1903 = load i32, ptr @test_count, align 4, !tbaa !5
  %1904 = add nsw i32 %1903, 1
  store i32 %1904, ptr @test_count, align 4, !tbaa !5
  %1905 = load ptr, ptr %24, align 8, !tbaa !9
  %1906 = call i64 @s2n_send(ptr noundef %1905, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %27) #11
  %1907 = icmp eq i64 %1906, 12
  br i1 %1907, label %1930, label %1908

1908:                                             ; preds = %1902
  %1909 = load i32, ptr %1134, align 4, !tbaa !5
  %1910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1911 = call i32 @s2n_print_stacktrace(ptr noundef %1910) #11
  %1912 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1913 = trunc nuw i8 %1912 to i1
  br i1 %1913, label %1914, label %1918

1914:                                             ; preds = %1908
  %1915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1916 = call i32 @fileno(ptr noundef %1915) #11
  %1917 = call i32 @isatty(i32 noundef %1916) #11
  %.not631 = icmp eq i32 %1917, 0
  br i1 %.not631, label %1918, label %1919

1918:                                             ; preds = %1914, %1908
  br label %1919

1919:                                             ; preds = %1914, %1918
  %.str.4.sink1479 = phi ptr [ @.str.4, %1918 ], [ @.str, %1914 ]
  store i32 %1909, ptr %1134, align 4, !tbaa !5
  %1920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1921 = load i32, ptr @test_count, align 4, !tbaa !5
  %1922 = load i32, ptr %1080, align 4, !tbaa !5
  %1923 = call ptr @s2n_strerror(i32 noundef %1922, ptr noundef nonnull @.str.3) #11
  %1924 = load i32, ptr %1080, align 4, !tbaa !5
  %1925 = call ptr @s2n_strerror_debug(i32 noundef %1924, ptr noundef nonnull @.str.3) #11
  %1926 = load i32, ptr %1134, align 4, !tbaa !5
  %1927 = call ptr @strerror(i32 noundef %1926) #11
  %1928 = load i32, ptr %1134, align 4, !tbaa !5
  %1929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1920, ptr noundef nonnull %.str.4.sink1479, i32 noundef %1921, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.2, i32 noundef 291, ptr noundef %1923, ptr noundef %1925, ptr noundef %1927, i32 noundef %1928) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1930:                                             ; preds = %1902
  %1931 = load i32, ptr @test_count, align 4, !tbaa !5
  %1932 = add nsw i32 %1931, 1
  store i32 %1932, ptr @test_count, align 4, !tbaa !5
  %1933 = load i32, ptr %27, align 4, !tbaa !5
  %1934 = icmp eq i32 %1933, 0
  br i1 %1934, label %1957, label %1935

1935:                                             ; preds = %1930
  %1936 = load i32, ptr %1134, align 4, !tbaa !5
  %1937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1938 = call i32 @s2n_print_stacktrace(ptr noundef %1937) #11
  %1939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1940 = trunc nuw i8 %1939 to i1
  br i1 %1940, label %1941, label %1945

1941:                                             ; preds = %1935
  %1942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1943 = call i32 @fileno(ptr noundef %1942) #11
  %1944 = call i32 @isatty(i32 noundef %1943) #11
  %.not632 = icmp eq i32 %1944, 0
  br i1 %.not632, label %1945, label %1946

1945:                                             ; preds = %1941, %1935
  br label %1946

1946:                                             ; preds = %1941, %1945
  %.str.4.sink1488 = phi ptr [ @.str.4, %1945 ], [ @.str, %1941 ]
  store i32 %1936, ptr %1134, align 4, !tbaa !5
  %1947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1948 = load i32, ptr @test_count, align 4, !tbaa !5
  %1949 = load i32, ptr %1080, align 4, !tbaa !5
  %1950 = call ptr @s2n_strerror(i32 noundef %1949, ptr noundef nonnull @.str.3) #11
  %1951 = load i32, ptr %1080, align 4, !tbaa !5
  %1952 = call ptr @s2n_strerror_debug(i32 noundef %1951, ptr noundef nonnull @.str.3) #11
  %1953 = load i32, ptr %1134, align 4, !tbaa !5
  %1954 = call ptr @strerror(i32 noundef %1953) #11
  %1955 = load i32, ptr %1134, align 4, !tbaa !5
  %1956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1947, ptr noundef nonnull %.str.4.sink1488, i32 noundef %1948, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 292, ptr noundef %1950, ptr noundef %1952, ptr noundef %1954, i32 noundef %1955) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1957:                                             ; preds = %1930
  %1958 = add nsw i32 %1931, 2
  store i32 %1958, ptr @test_count, align 4, !tbaa !5
  %1959 = load i64, ptr %26, align 8, !tbaa !17
  %1960 = icmp eq i64 %1959, 4
  br i1 %1960, label %1983, label %1961

1961:                                             ; preds = %1957
  %1962 = load i32, ptr %1134, align 4, !tbaa !5
  %1963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1964 = call i32 @s2n_print_stacktrace(ptr noundef %1963) #11
  %1965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1966 = trunc nuw i8 %1965 to i1
  br i1 %1966, label %1967, label %1971

1967:                                             ; preds = %1961
  %1968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1969 = call i32 @fileno(ptr noundef %1968) #11
  %1970 = call i32 @isatty(i32 noundef %1969) #11
  %.not633 = icmp eq i32 %1970, 0
  br i1 %.not633, label %1971, label %1972

1971:                                             ; preds = %1967, %1961
  br label %1972

1972:                                             ; preds = %1967, %1971
  %.str.4.sink1497 = phi ptr [ @.str.4, %1971 ], [ @.str, %1967 ]
  store i32 %1962, ptr %1134, align 4, !tbaa !5
  %1973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1974 = load i32, ptr @test_count, align 4, !tbaa !5
  %1975 = load i32, ptr %1080, align 4, !tbaa !5
  %1976 = call ptr @s2n_strerror(i32 noundef %1975, ptr noundef nonnull @.str.3) #11
  %1977 = load i32, ptr %1080, align 4, !tbaa !5
  %1978 = call ptr @s2n_strerror_debug(i32 noundef %1977, ptr noundef nonnull @.str.3) #11
  %1979 = load i32, ptr %1134, align 4, !tbaa !5
  %1980 = call ptr @strerror(i32 noundef %1979) #11
  %1981 = load i32, ptr %1134, align 4, !tbaa !5
  %1982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1973, ptr noundef nonnull %.str.4.sink1497, i32 noundef %1974, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.2, i32 noundef 293, ptr noundef %1976, ptr noundef %1978, ptr noundef %1980, i32 noundef %1981) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1983:                                             ; preds = %1957
  %1984 = add nsw i32 %1931, 3
  store i32 %1984, ptr @test_count, align 4, !tbaa !5
  %1985 = load i64, ptr %1844, align 8, !tbaa !19
  %1986 = icmp eq i64 %1985, %426
  br i1 %1986, label %2009, label %1987

1987:                                             ; preds = %1983
  %1988 = load i32, ptr %1134, align 4, !tbaa !5
  %1989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1990 = call i32 @s2n_print_stacktrace(ptr noundef %1989) #11
  %1991 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1992 = trunc nuw i8 %1991 to i1
  br i1 %1992, label %1993, label %1997

1993:                                             ; preds = %1987
  %1994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1995 = call i32 @fileno(ptr noundef %1994) #11
  %1996 = call i32 @isatty(i32 noundef %1995) #11
  %.not634 = icmp eq i32 %1996, 0
  br i1 %.not634, label %1997, label %1998

1997:                                             ; preds = %1993, %1987
  br label %1998

1998:                                             ; preds = %1993, %1997
  %.str.4.sink1506 = phi ptr [ @.str.4, %1997 ], [ @.str, %1993 ]
  store i32 %1988, ptr %1134, align 4, !tbaa !5
  %1999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2000 = load i32, ptr @test_count, align 4, !tbaa !5
  %2001 = load i32, ptr %1080, align 4, !tbaa !5
  %2002 = call ptr @s2n_strerror(i32 noundef %2001, ptr noundef nonnull @.str.3) #11
  %2003 = load i32, ptr %1080, align 4, !tbaa !5
  %2004 = call ptr @s2n_strerror_debug(i32 noundef %2003, ptr noundef nonnull @.str.3) #11
  %2005 = load i32, ptr %1134, align 4, !tbaa !5
  %2006 = call ptr @strerror(i32 noundef %2005) #11
  %2007 = load i32, ptr %1134, align 4, !tbaa !5
  %2008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1999, ptr noundef nonnull %.str.4.sink1506, i32 noundef %2000, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.2, i32 noundef 294, ptr noundef %2002, ptr noundef %2004, ptr noundef %2006, i32 noundef %2007) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2009:                                             ; preds = %1983
  %2010 = add nsw i32 %1931, 4
  store i32 %2010, ptr @test_count, align 4, !tbaa !5
  %2011 = load ptr, ptr %24, align 8, !tbaa !9
  %2012 = getelementptr inbounds i8, ptr %2011, i64 1904
  %2013 = load i32, ptr %2012, align 8, !tbaa !47
  %2014 = load i32, ptr %11, align 16, !tbaa !5
  %2015 = icmp eq i32 %2013, %2014
  br i1 %2015, label %2038, label %2016

2016:                                             ; preds = %2009
  %2017 = load i32, ptr %1134, align 4, !tbaa !5
  %2018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2019 = call i32 @s2n_print_stacktrace(ptr noundef %2018) #11
  %2020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2021 = trunc nuw i8 %2020 to i1
  br i1 %2021, label %2022, label %2026

2022:                                             ; preds = %2016
  %2023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2024 = call i32 @fileno(ptr noundef %2023) #11
  %2025 = call i32 @isatty(i32 noundef %2024) #11
  %.not635 = icmp eq i32 %2025, 0
  br i1 %.not635, label %2026, label %2027

2026:                                             ; preds = %2022, %2016
  br label %2027

2027:                                             ; preds = %2022, %2026
  %.str.4.sink1515 = phi ptr [ @.str.4, %2026 ], [ @.str, %2022 ]
  store i32 %2017, ptr %1134, align 4, !tbaa !5
  %2028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2029 = load i32, ptr @test_count, align 4, !tbaa !5
  %2030 = load i32, ptr %1080, align 4, !tbaa !5
  %2031 = call ptr @s2n_strerror(i32 noundef %2030, ptr noundef nonnull @.str.3) #11
  %2032 = load i32, ptr %1080, align 4, !tbaa !5
  %2033 = call ptr @s2n_strerror_debug(i32 noundef %2032, ptr noundef nonnull @.str.3) #11
  %2034 = load i32, ptr %1134, align 4, !tbaa !5
  %2035 = call ptr @strerror(i32 noundef %2034) #11
  %2036 = load i32, ptr %1134, align 4, !tbaa !5
  %2037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2028, ptr noundef nonnull %.str.4.sink1515, i32 noundef %2029, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 297, ptr noundef %2031, ptr noundef %2033, ptr noundef %2035, i32 noundef %2036) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2038:                                             ; preds = %2009
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #11
  %2039 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %24) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #11
  %2040 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %2040, ptr %28, align 8, !tbaa !9
  %2041 = load i32, ptr @test_count, align 4, !tbaa !5
  %2042 = add nsw i32 %2041, 1
  store i32 %2042, ptr @test_count, align 4, !tbaa !5
  %2043 = icmp eq ptr %2040, null
  br i1 %2043, label %2044, label %2066

2044:                                             ; preds = %2038
  %2045 = load i32, ptr %1134, align 4, !tbaa !5
  %2046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2047 = call i32 @s2n_print_stacktrace(ptr noundef %2046) #11
  %2048 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2049 = trunc nuw i8 %2048 to i1
  br i1 %2049, label %2050, label %2054

2050:                                             ; preds = %2044
  %2051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2052 = call i32 @fileno(ptr noundef %2051) #11
  %2053 = call i32 @isatty(i32 noundef %2052) #11
  %.not804 = icmp eq i32 %2053, 0
  br i1 %.not804, label %2054, label %2055

2054:                                             ; preds = %2050, %2044
  br label %2055

2055:                                             ; preds = %2050, %2054
  %.str.4.sink1524 = phi ptr [ @.str.4, %2054 ], [ @.str, %2050 ]
  store i32 %2045, ptr %1134, align 4, !tbaa !5
  %2056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2057 = load i32, ptr @test_count, align 4, !tbaa !5
  %2058 = load i32, ptr %1080, align 4, !tbaa !5
  %2059 = call ptr @s2n_strerror(i32 noundef %2058, ptr noundef nonnull @.str.3) #11
  %2060 = load i32, ptr %1080, align 4, !tbaa !5
  %2061 = call ptr @s2n_strerror_debug(i32 noundef %2060, ptr noundef nonnull @.str.3) #11
  %2062 = load i32, ptr %1134, align 4, !tbaa !5
  %2063 = call ptr @strerror(i32 noundef %2062) #11
  %2064 = load i32, ptr %1134, align 4, !tbaa !5
  %2065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2056, ptr noundef nonnull %.str.4.sink1524, i32 noundef %2057, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 304, ptr noundef %2059, ptr noundef %2061, ptr noundef %2063, i32 noundef %2064) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2066:                                             ; preds = %2038
  %2067 = add nsw i32 %2041, 2
  store i32 %2067, ptr @test_count, align 4, !tbaa !5
  %2068 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %2040) #11
  %2069 = call zeroext i1 @s2n_result_is_ok(i32 %2068)
  br i1 %2069, label %2092, label %2070

2070:                                             ; preds = %2066
  %2071 = load i32, ptr %1134, align 4, !tbaa !5
  %2072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2073 = call i32 @s2n_print_stacktrace(ptr noundef %2072) #11
  %2074 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2075 = trunc nuw i8 %2074 to i1
  br i1 %2075, label %2076, label %2080

2076:                                             ; preds = %2070
  %2077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2078 = call i32 @fileno(ptr noundef %2077) #11
  %2079 = call i32 @isatty(i32 noundef %2078) #11
  %.not636 = icmp eq i32 %2079, 0
  br i1 %.not636, label %2080, label %2081

2080:                                             ; preds = %2076, %2070
  br label %2081

2081:                                             ; preds = %2076, %2080
  %.str.4.sink1533 = phi ptr [ @.str.4, %2080 ], [ @.str, %2076 ]
  store i32 %2071, ptr %1134, align 4, !tbaa !5
  %2082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2083 = load i32, ptr @test_count, align 4, !tbaa !5
  %2084 = load i32, ptr %1080, align 4, !tbaa !5
  %2085 = call ptr @s2n_strerror(i32 noundef %2084, ptr noundef nonnull @.str.3) #11
  %2086 = load i32, ptr %1080, align 4, !tbaa !5
  %2087 = call ptr @s2n_strerror_debug(i32 noundef %2086, ptr noundef nonnull @.str.3) #11
  %2088 = load i32, ptr %1134, align 4, !tbaa !5
  %2089 = call ptr @strerror(i32 noundef %2088) #11
  %2090 = load i32, ptr %1134, align 4, !tbaa !5
  %2091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2082, ptr noundef nonnull %.str.4.sink1533, i32 noundef %2083, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 305, ptr noundef %2085, ptr noundef %2087, ptr noundef %2089, i32 noundef %2090) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2092:                                             ; preds = %2066
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %29) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %29, ptr noundef nonnull align 16 dereferenceable(40) @__const.main.results.42, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #11
  %2093 = getelementptr inbounds i8, ptr %30, i64 8
  %2094 = getelementptr inbounds i8, ptr %30, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %30, i8 0, i64 16, i1 false)
  store ptr %29, ptr %2094, align 8, !tbaa !50
  %2095 = getelementptr inbounds i8, ptr %30, i64 24
  store i64 5, ptr %2095, align 8, !tbaa !51
  %2096 = load i32, ptr @test_count, align 4, !tbaa !5
  %2097 = add nsw i32 %2096, 1
  store i32 %2097, ptr @test_count, align 4, !tbaa !5
  %2098 = load ptr, ptr %28, align 8, !tbaa !9
  %2099 = call i32 @s2n_connection_set_send_cb(ptr noundef %2098, ptr noundef nonnull @s2n_test_send_cb) #11
  %2100 = icmp eq i32 %2099, -1
  br i1 %2100, label %2101, label %2123

2101:                                             ; preds = %2092
  %2102 = load i32, ptr %1134, align 4, !tbaa !5
  %2103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2104 = call i32 @s2n_print_stacktrace(ptr noundef %2103) #11
  %2105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2106 = trunc nuw i8 %2105 to i1
  br i1 %2106, label %2107, label %2111

2107:                                             ; preds = %2101
  %2108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2109 = call i32 @fileno(ptr noundef %2108) #11
  %2110 = call i32 @isatty(i32 noundef %2109) #11
  %.not803 = icmp eq i32 %2110, 0
  br i1 %.not803, label %2111, label %2112

2111:                                             ; preds = %2107, %2101
  br label %2112

2112:                                             ; preds = %2107, %2111
  %.str.4.sink1542 = phi ptr [ @.str.4, %2111 ], [ @.str, %2107 ]
  store i32 %2102, ptr %1134, align 4, !tbaa !5
  %2113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2114 = load i32, ptr @test_count, align 4, !tbaa !5
  %2115 = load i32, ptr %1080, align 4, !tbaa !5
  %2116 = call ptr @s2n_strerror(i32 noundef %2115, ptr noundef nonnull @.str.3) #11
  %2117 = load i32, ptr %1080, align 4, !tbaa !5
  %2118 = call ptr @s2n_strerror_debug(i32 noundef %2117, ptr noundef nonnull @.str.3) #11
  %2119 = load i32, ptr %1134, align 4, !tbaa !5
  %2120 = call ptr @strerror(i32 noundef %2119) #11
  %2121 = load i32, ptr %1134, align 4, !tbaa !5
  %2122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2113, ptr noundef nonnull %.str.4.sink1542, i32 noundef %2114, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 316, ptr noundef %2116, ptr noundef %2118, ptr noundef %2120, i32 noundef %2121) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2123:                                             ; preds = %2092
  %2124 = load i32, ptr @test_count, align 4, !tbaa !5
  %2125 = add nsw i32 %2124, 1
  store i32 %2125, ptr @test_count, align 4, !tbaa !5
  %2126 = load ptr, ptr %28, align 8, !tbaa !9
  %2127 = call i32 @s2n_connection_set_send_ctx(ptr noundef %2126, ptr noundef nonnull %30) #11
  %2128 = icmp eq i32 %2127, -1
  br i1 %2128, label %2129, label %2151

2129:                                             ; preds = %2123
  %2130 = load i32, ptr %1134, align 4, !tbaa !5
  %2131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2132 = call i32 @s2n_print_stacktrace(ptr noundef %2131) #11
  %2133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2134 = trunc nuw i8 %2133 to i1
  br i1 %2134, label %2135, label %2139

2135:                                             ; preds = %2129
  %2136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2137 = call i32 @fileno(ptr noundef %2136) #11
  %2138 = call i32 @isatty(i32 noundef %2137) #11
  %.not802 = icmp eq i32 %2138, 0
  br i1 %.not802, label %2139, label %2140

2139:                                             ; preds = %2135, %2129
  br label %2140

2140:                                             ; preds = %2135, %2139
  %.str.4.sink1551 = phi ptr [ @.str.4, %2139 ], [ @.str, %2135 ]
  store i32 %2130, ptr %1134, align 4, !tbaa !5
  %2141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2142 = load i32, ptr @test_count, align 4, !tbaa !5
  %2143 = load i32, ptr %1080, align 4, !tbaa !5
  %2144 = call ptr @s2n_strerror(i32 noundef %2143, ptr noundef nonnull @.str.3) #11
  %2145 = load i32, ptr %1080, align 4, !tbaa !5
  %2146 = call ptr @s2n_strerror_debug(i32 noundef %2145, ptr noundef nonnull @.str.3) #11
  %2147 = load i32, ptr %1134, align 4, !tbaa !5
  %2148 = call ptr @strerror(i32 noundef %2147) #11
  %2149 = load i32, ptr %1134, align 4, !tbaa !5
  %2150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2141, ptr noundef nonnull %.str.4.sink1551, i32 noundef %2142, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 317, ptr noundef %2144, ptr noundef %2146, ptr noundef %2148, i32 noundef %2149) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2151:                                             ; preds = %2123
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #11
  store i32 0, ptr %31, align 4, !tbaa !5
  %2152 = load i32, ptr @test_count, align 4, !tbaa !5
  %2153 = add nsw i32 %2152, 1
  store i32 %2153, ptr @test_count, align 4, !tbaa !5
  %2154 = load ptr, ptr %28, align 8, !tbaa !9
  %2155 = call i64 @s2n_send(ptr noundef %2154, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %31) #11
  %2156 = icmp eq i64 %2155, -1
  br i1 %2156, label %2179, label %2157

2157:                                             ; preds = %2151
  %2158 = load i32, ptr %1134, align 4, !tbaa !5
  %2159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2160 = call i32 @s2n_print_stacktrace(ptr noundef %2159) #11
  %2161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2162 = trunc nuw i8 %2161 to i1
  br i1 %2162, label %2163, label %2167

2163:                                             ; preds = %2157
  %2164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2165 = call i32 @fileno(ptr noundef %2164) #11
  %2166 = call i32 @isatty(i32 noundef %2165) #11
  %.not637 = icmp eq i32 %2166, 0
  br i1 %.not637, label %2167, label %2168

2167:                                             ; preds = %2163, %2157
  br label %2168

2168:                                             ; preds = %2163, %2167
  %.str.4.sink1560 = phi ptr [ @.str.4, %2167 ], [ @.str, %2163 ]
  store i32 %2158, ptr %1134, align 4, !tbaa !5
  %2169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2170 = load i32, ptr @test_count, align 4, !tbaa !5
  %2171 = load i32, ptr %1080, align 4, !tbaa !5
  %2172 = call ptr @s2n_strerror(i32 noundef %2171, ptr noundef nonnull @.str.3) #11
  %2173 = load i32, ptr %1080, align 4, !tbaa !5
  %2174 = call ptr @s2n_strerror_debug(i32 noundef %2173, ptr noundef nonnull @.str.3) #11
  %2175 = load i32, ptr %1134, align 4, !tbaa !5
  %2176 = call ptr @strerror(i32 noundef %2175) #11
  %2177 = load i32, ptr %1134, align 4, !tbaa !5
  %2178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2169, ptr noundef nonnull %.str.4.sink1560, i32 noundef %2170, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 322, ptr noundef %2172, ptr noundef %2174, ptr noundef %2176, i32 noundef %2177) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2179:                                             ; preds = %2151
  %2180 = load i32, ptr @test_count, align 4, !tbaa !5
  %2181 = add nsw i32 %2180, 1
  store i32 %2181, ptr @test_count, align 4, !tbaa !5
  %2182 = load i32, ptr %1080, align 4, !tbaa !5
  %2183 = icmp eq i32 %2182, 201326592
  br i1 %2183, label %2206, label %2184

2184:                                             ; preds = %2179
  %2185 = load i32, ptr %1134, align 4, !tbaa !5
  %2186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2187 = call i32 @s2n_print_stacktrace(ptr noundef %2186) #11
  %2188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2189 = trunc nuw i8 %2188 to i1
  br i1 %2189, label %2190, label %2194

2190:                                             ; preds = %2184
  %2191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2192 = call i32 @fileno(ptr noundef %2191) #11
  %2193 = call i32 @isatty(i32 noundef %2192) #11
  %.not638 = icmp eq i32 %2193, 0
  br i1 %.not638, label %2194, label %2195

2194:                                             ; preds = %2190, %2184
  br label %2195

2195:                                             ; preds = %2190, %2194
  %.str.4.sink1569 = phi ptr [ @.str.4, %2194 ], [ @.str, %2190 ]
  store i32 %2185, ptr %1134, align 4, !tbaa !5
  %2196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2197 = load i32, ptr @test_count, align 4, !tbaa !5
  %2198 = load i32, ptr %1080, align 4, !tbaa !5
  %2199 = call ptr @s2n_strerror(i32 noundef %2198, ptr noundef nonnull @.str.3) #11
  %2200 = load i32, ptr %1080, align 4, !tbaa !5
  %2201 = call ptr @s2n_strerror_debug(i32 noundef %2200, ptr noundef nonnull @.str.3) #11
  %2202 = load i32, ptr %1134, align 4, !tbaa !5
  %2203 = call ptr @strerror(i32 noundef %2202) #11
  %2204 = load i32, ptr %1134, align 4, !tbaa !5
  %2205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2196, ptr noundef nonnull %.str.4.sink1569, i32 noundef %2197, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.2, i32 noundef 322, ptr noundef %2199, ptr noundef %2201, ptr noundef %2203, i32 noundef %2204) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2206:                                             ; preds = %2179
  %2207 = add nsw i32 %2180, 2
  store i32 %2207, ptr @test_count, align 4, !tbaa !5
  %2208 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.3) #11
  %2209 = icmp eq ptr %2208, null
  br i1 %2209, label %2210, label %2232

2210:                                             ; preds = %2206
  %2211 = load i32, ptr %1134, align 4, !tbaa !5
  %2212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2213 = call i32 @s2n_print_stacktrace(ptr noundef %2212) #11
  %2214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2215 = trunc nuw i8 %2214 to i1
  br i1 %2215, label %2216, label %2220

2216:                                             ; preds = %2210
  %2217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2218 = call i32 @fileno(ptr noundef %2217) #11
  %2219 = call i32 @isatty(i32 noundef %2218) #11
  %.not801 = icmp eq i32 %2219, 0
  br i1 %.not801, label %2220, label %2221

2220:                                             ; preds = %2216, %2210
  br label %2221

2221:                                             ; preds = %2216, %2220
  %.str.4.sink1578 = phi ptr [ @.str.4, %2220 ], [ @.str, %2216 ]
  store i32 %2211, ptr %1134, align 4, !tbaa !5
  %2222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2223 = load i32, ptr @test_count, align 4, !tbaa !5
  %2224 = load i32, ptr %1080, align 4, !tbaa !5
  %2225 = call ptr @s2n_strerror(i32 noundef %2224, ptr noundef nonnull @.str.3) #11
  %2226 = load i32, ptr %1080, align 4, !tbaa !5
  %2227 = call ptr @s2n_strerror_debug(i32 noundef %2226, ptr noundef nonnull @.str.3) #11
  %2228 = load i32, ptr %1134, align 4, !tbaa !5
  %2229 = call ptr @strerror(i32 noundef %2228) #11
  %2230 = load i32, ptr %1134, align 4, !tbaa !5
  %2231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2222, ptr noundef nonnull %.str.4.sink1578, i32 noundef %2223, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 322, ptr noundef %2225, ptr noundef %2227, ptr noundef %2229, i32 noundef %2230) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2232:                                             ; preds = %2206
  store i32 0, ptr %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1134, align 4, !tbaa !5
  %2233 = load i32, ptr @test_count, align 4, !tbaa !5
  %2234 = add nsw i32 %2233, 1
  store i32 %2234, ptr @test_count, align 4, !tbaa !5
  %2235 = load i32, ptr %31, align 4, !tbaa !5
  %2236 = icmp eq i32 %2235, 2
  br i1 %2236, label %2259, label %2237

2237:                                             ; preds = %2232
  %2238 = load i32, ptr %1134, align 4, !tbaa !5
  %2239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2240 = call i32 @s2n_print_stacktrace(ptr noundef %2239) #11
  %2241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2242 = trunc nuw i8 %2241 to i1
  br i1 %2242, label %2243, label %2247

2243:                                             ; preds = %2237
  %2244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2245 = call i32 @fileno(ptr noundef %2244) #11
  %2246 = call i32 @isatty(i32 noundef %2245) #11
  %.not639 = icmp eq i32 %2246, 0
  br i1 %.not639, label %2247, label %2248

2247:                                             ; preds = %2243, %2237
  br label %2248

2248:                                             ; preds = %2243, %2247
  %.str.4.sink1587 = phi ptr [ @.str.4, %2247 ], [ @.str, %2243 ]
  store i32 %2238, ptr %1134, align 4, !tbaa !5
  %2249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2250 = load i32, ptr @test_count, align 4, !tbaa !5
  %2251 = load i32, ptr %1080, align 4, !tbaa !5
  %2252 = call ptr @s2n_strerror(i32 noundef %2251, ptr noundef nonnull @.str.3) #11
  %2253 = load i32, ptr %1080, align 4, !tbaa !5
  %2254 = call ptr @s2n_strerror_debug(i32 noundef %2253, ptr noundef nonnull @.str.3) #11
  %2255 = load i32, ptr %1134, align 4, !tbaa !5
  %2256 = call ptr @strerror(i32 noundef %2255) #11
  %2257 = load i32, ptr %1134, align 4, !tbaa !5
  %2258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2249, ptr noundef nonnull %.str.4.sink1587, i32 noundef %2250, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 323, ptr noundef %2252, ptr noundef %2254, ptr noundef %2256, i32 noundef %2257) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2259:                                             ; preds = %2232
  %2260 = add nsw i32 %2233, 2
  store i32 %2260, ptr @test_count, align 4, !tbaa !5
  %2261 = load i64, ptr %2093, align 8, !tbaa !19
  %2262 = icmp eq i64 %2261, 10
  br i1 %2262, label %2285, label %2263

2263:                                             ; preds = %2259
  %2264 = load i32, ptr %1134, align 4, !tbaa !5
  %2265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2266 = call i32 @s2n_print_stacktrace(ptr noundef %2265) #11
  %2267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2268 = trunc nuw i8 %2267 to i1
  br i1 %2268, label %2269, label %2273

2269:                                             ; preds = %2263
  %2270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2271 = call i32 @fileno(ptr noundef %2270) #11
  %2272 = call i32 @isatty(i32 noundef %2271) #11
  %.not640 = icmp eq i32 %2272, 0
  br i1 %.not640, label %2273, label %2274

2273:                                             ; preds = %2269, %2263
  br label %2274

2274:                                             ; preds = %2269, %2273
  %.str.4.sink1596 = phi ptr [ @.str.4, %2273 ], [ @.str, %2269 ]
  store i32 %2264, ptr %1134, align 4, !tbaa !5
  %2275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2276 = load i32, ptr @test_count, align 4, !tbaa !5
  %2277 = load i32, ptr %1080, align 4, !tbaa !5
  %2278 = call ptr @s2n_strerror(i32 noundef %2277, ptr noundef nonnull @.str.3) #11
  %2279 = load i32, ptr %1080, align 4, !tbaa !5
  %2280 = call ptr @s2n_strerror_debug(i32 noundef %2279, ptr noundef nonnull @.str.3) #11
  %2281 = load i32, ptr %1134, align 4, !tbaa !5
  %2282 = call ptr @strerror(i32 noundef %2281) #11
  %2283 = load i32, ptr %1134, align 4, !tbaa !5
  %2284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2275, ptr noundef nonnull %.str.4.sink1596, i32 noundef %2276, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.2, i32 noundef 324, ptr noundef %2278, ptr noundef %2280, ptr noundef %2282, i32 noundef %2283) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2285:                                             ; preds = %2259
  %2286 = add nsw i32 %2233, 3
  store i32 %2286, ptr @test_count, align 4, !tbaa !5
  %2287 = load ptr, ptr %28, align 8, !tbaa !9
  %2288 = call i64 @s2n_send(ptr noundef %2287, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %31) #11
  %2289 = icmp eq i64 %2288, -1
  br i1 %2289, label %2312, label %2290

2290:                                             ; preds = %2285
  %2291 = load i32, ptr %1134, align 4, !tbaa !5
  %2292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2293 = call i32 @s2n_print_stacktrace(ptr noundef %2292) #11
  %2294 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2295 = trunc nuw i8 %2294 to i1
  br i1 %2295, label %2296, label %2300

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

2300:                                             ; preds = %2296, %2290
  br label %2301

2301:                                             ; preds = %2296, %2300
  %.str.4.sink1605 = phi ptr [ @.str.4, %2300 ], [ @.str, %2296 ]
  store i32 %2291, ptr %1134, align 4, !tbaa !5
  %2302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2303 = load i32, ptr @test_count, align 4, !tbaa !5
  %2304 = load i32, ptr %1080, align 4, !tbaa !5
  %2305 = call ptr @s2n_strerror(i32 noundef %2304, ptr noundef nonnull @.str.3) #11
  %2306 = load i32, ptr %1080, align 4, !tbaa !5
  %2307 = call ptr @s2n_strerror_debug(i32 noundef %2306, ptr noundef nonnull @.str.3) #11
  %2308 = load i32, ptr %1134, align 4, !tbaa !5
  %2309 = call ptr @strerror(i32 noundef %2308) #11
  %2310 = load i32, ptr %1134, align 4, !tbaa !5
  %2311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2302, ptr noundef nonnull %.str.4.sink1605, i32 noundef %2303, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 327, ptr noundef %2305, ptr noundef %2307, ptr noundef %2309, i32 noundef %2310) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2312:                                             ; preds = %2285
  %2313 = load i32, ptr @test_count, align 4, !tbaa !5
  %2314 = add nsw i32 %2313, 1
  store i32 %2314, ptr @test_count, align 4, !tbaa !5
  %2315 = load i32, ptr %1080, align 4, !tbaa !5
  %2316 = icmp eq i32 %2315, 201326592
  br i1 %2316, label %2339, label %2317

2317:                                             ; preds = %2312
  %2318 = load i32, ptr %1134, align 4, !tbaa !5
  %2319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2320 = call i32 @s2n_print_stacktrace(ptr noundef %2319) #11
  %2321 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2322 = trunc nuw i8 %2321 to i1
  br i1 %2322, label %2323, label %2327

2323:                                             ; preds = %2317
  %2324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2325 = call i32 @fileno(ptr noundef %2324) #11
  %2326 = call i32 @isatty(i32 noundef %2325) #11
  %.not642 = icmp eq i32 %2326, 0
  br i1 %.not642, label %2327, label %2328

2327:                                             ; preds = %2323, %2317
  br label %2328

2328:                                             ; preds = %2323, %2327
  %.str.4.sink1614 = phi ptr [ @.str.4, %2327 ], [ @.str, %2323 ]
  store i32 %2318, ptr %1134, align 4, !tbaa !5
  %2329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2330 = load i32, ptr @test_count, align 4, !tbaa !5
  %2331 = load i32, ptr %1080, align 4, !tbaa !5
  %2332 = call ptr @s2n_strerror(i32 noundef %2331, ptr noundef nonnull @.str.3) #11
  %2333 = load i32, ptr %1080, align 4, !tbaa !5
  %2334 = call ptr @s2n_strerror_debug(i32 noundef %2333, ptr noundef nonnull @.str.3) #11
  %2335 = load i32, ptr %1134, align 4, !tbaa !5
  %2336 = call ptr @strerror(i32 noundef %2335) #11
  %2337 = load i32, ptr %1134, align 4, !tbaa !5
  %2338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2329, ptr noundef nonnull %.str.4.sink1614, i32 noundef %2330, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.2, i32 noundef 327, ptr noundef %2332, ptr noundef %2334, ptr noundef %2336, i32 noundef %2337) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2339:                                             ; preds = %2312
  %2340 = add nsw i32 %2313, 2
  store i32 %2340, ptr @test_count, align 4, !tbaa !5
  %2341 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.3) #11
  %2342 = icmp eq ptr %2341, null
  br i1 %2342, label %2343, label %2365

2343:                                             ; preds = %2339
  %2344 = load i32, ptr %1134, align 4, !tbaa !5
  %2345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2346 = call i32 @s2n_print_stacktrace(ptr noundef %2345) #11
  %2347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2348 = trunc nuw i8 %2347 to i1
  br i1 %2348, label %2349, label %2353

2349:                                             ; preds = %2343
  %2350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2351 = call i32 @fileno(ptr noundef %2350) #11
  %2352 = call i32 @isatty(i32 noundef %2351) #11
  %.not800 = icmp eq i32 %2352, 0
  br i1 %.not800, label %2353, label %2354

2353:                                             ; preds = %2349, %2343
  br label %2354

2354:                                             ; preds = %2349, %2353
  %.str.4.sink1623 = phi ptr [ @.str.4, %2353 ], [ @.str, %2349 ]
  store i32 %2344, ptr %1134, align 4, !tbaa !5
  %2355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2356 = load i32, ptr @test_count, align 4, !tbaa !5
  %2357 = load i32, ptr %1080, align 4, !tbaa !5
  %2358 = call ptr @s2n_strerror(i32 noundef %2357, ptr noundef nonnull @.str.3) #11
  %2359 = load i32, ptr %1080, align 4, !tbaa !5
  %2360 = call ptr @s2n_strerror_debug(i32 noundef %2359, ptr noundef nonnull @.str.3) #11
  %2361 = load i32, ptr %1134, align 4, !tbaa !5
  %2362 = call ptr @strerror(i32 noundef %2361) #11
  %2363 = load i32, ptr %1134, align 4, !tbaa !5
  %2364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2355, ptr noundef nonnull %.str.4.sink1623, i32 noundef %2356, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 327, ptr noundef %2358, ptr noundef %2360, ptr noundef %2362, i32 noundef %2363) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2365:                                             ; preds = %2339
  store i32 0, ptr %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1134, align 4, !tbaa !5
  %2366 = load i32, ptr @test_count, align 4, !tbaa !5
  %2367 = add nsw i32 %2366, 1
  store i32 %2367, ptr @test_count, align 4, !tbaa !5
  %2368 = load i32, ptr %31, align 4, !tbaa !5
  %2369 = icmp eq i32 %2368, 2
  br i1 %2369, label %2392, label %2370

2370:                                             ; preds = %2365
  %2371 = load i32, ptr %1134, align 4, !tbaa !5
  %2372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2373 = call i32 @s2n_print_stacktrace(ptr noundef %2372) #11
  %2374 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2375 = trunc nuw i8 %2374 to i1
  br i1 %2375, label %2376, label %2380

2376:                                             ; preds = %2370
  %2377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2378 = call i32 @fileno(ptr noundef %2377) #11
  %2379 = call i32 @isatty(i32 noundef %2378) #11
  %.not643 = icmp eq i32 %2379, 0
  br i1 %.not643, label %2380, label %2381

2380:                                             ; preds = %2376, %2370
  br label %2381

2381:                                             ; preds = %2376, %2380
  %.str.4.sink1632 = phi ptr [ @.str.4, %2380 ], [ @.str, %2376 ]
  store i32 %2371, ptr %1134, align 4, !tbaa !5
  %2382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2383 = load i32, ptr @test_count, align 4, !tbaa !5
  %2384 = load i32, ptr %1080, align 4, !tbaa !5
  %2385 = call ptr @s2n_strerror(i32 noundef %2384, ptr noundef nonnull @.str.3) #11
  %2386 = load i32, ptr %1080, align 4, !tbaa !5
  %2387 = call ptr @s2n_strerror_debug(i32 noundef %2386, ptr noundef nonnull @.str.3) #11
  %2388 = load i32, ptr %1134, align 4, !tbaa !5
  %2389 = call ptr @strerror(i32 noundef %2388) #11
  %2390 = load i32, ptr %1134, align 4, !tbaa !5
  %2391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2382, ptr noundef nonnull %.str.4.sink1632, i32 noundef %2383, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 328, ptr noundef %2385, ptr noundef %2387, ptr noundef %2389, i32 noundef %2390) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2392:                                             ; preds = %2365
  %2393 = add nsw i32 %2366, 2
  store i32 %2393, ptr @test_count, align 4, !tbaa !5
  %2394 = load i64, ptr %2093, align 8, !tbaa !19
  %2395 = icmp eq i64 %2394, 20
  br i1 %2395, label %2418, label %2396

2396:                                             ; preds = %2392
  %2397 = load i32, ptr %1134, align 4, !tbaa !5
  %2398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2399 = call i32 @s2n_print_stacktrace(ptr noundef %2398) #11
  %2400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2401 = trunc nuw i8 %2400 to i1
  br i1 %2401, label %2402, label %2406

2402:                                             ; preds = %2396
  %2403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2404 = call i32 @fileno(ptr noundef %2403) #11
  %2405 = call i32 @isatty(i32 noundef %2404) #11
  %.not644 = icmp eq i32 %2405, 0
  br i1 %.not644, label %2406, label %2407

2406:                                             ; preds = %2402, %2396
  br label %2407

2407:                                             ; preds = %2402, %2406
  %.str.4.sink1641 = phi ptr [ @.str.4, %2406 ], [ @.str, %2402 ]
  store i32 %2397, ptr %1134, align 4, !tbaa !5
  %2408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2409 = load i32, ptr @test_count, align 4, !tbaa !5
  %2410 = load i32, ptr %1080, align 4, !tbaa !5
  %2411 = call ptr @s2n_strerror(i32 noundef %2410, ptr noundef nonnull @.str.3) #11
  %2412 = load i32, ptr %1080, align 4, !tbaa !5
  %2413 = call ptr @s2n_strerror_debug(i32 noundef %2412, ptr noundef nonnull @.str.3) #11
  %2414 = load i32, ptr %1134, align 4, !tbaa !5
  %2415 = call ptr @strerror(i32 noundef %2414) #11
  %2416 = load i32, ptr %1134, align 4, !tbaa !5
  %2417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2408, ptr noundef nonnull %.str.4.sink1641, i32 noundef %2409, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.2, i32 noundef 329, ptr noundef %2411, ptr noundef %2413, ptr noundef %2415, i32 noundef %2416) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2418:                                             ; preds = %2392
  %2419 = add nsw i32 %2366, 3
  store i32 %2419, ptr @test_count, align 4, !tbaa !5
  %2420 = load ptr, ptr %28, align 8, !tbaa !9
  %2421 = call i64 @s2n_send(ptr noundef %2420, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %31) #11
  %2422 = icmp eq i64 %2421, 12
  br i1 %2422, label %2445, label %2423

2423:                                             ; preds = %2418
  %2424 = load i32, ptr %1134, align 4, !tbaa !5
  %2425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2426 = call i32 @s2n_print_stacktrace(ptr noundef %2425) #11
  %2427 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2428 = trunc nuw i8 %2427 to i1
  br i1 %2428, label %2429, label %2433

2429:                                             ; preds = %2423
  %2430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2431 = call i32 @fileno(ptr noundef %2430) #11
  %2432 = call i32 @isatty(i32 noundef %2431) #11
  %.not645 = icmp eq i32 %2432, 0
  br i1 %.not645, label %2433, label %2434

2433:                                             ; preds = %2429, %2423
  br label %2434

2434:                                             ; preds = %2429, %2433
  %.str.4.sink1650 = phi ptr [ @.str.4, %2433 ], [ @.str, %2429 ]
  store i32 %2424, ptr %1134, align 4, !tbaa !5
  %2435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2436 = load i32, ptr @test_count, align 4, !tbaa !5
  %2437 = load i32, ptr %1080, align 4, !tbaa !5
  %2438 = call ptr @s2n_strerror(i32 noundef %2437, ptr noundef nonnull @.str.3) #11
  %2439 = load i32, ptr %1080, align 4, !tbaa !5
  %2440 = call ptr @s2n_strerror_debug(i32 noundef %2439, ptr noundef nonnull @.str.3) #11
  %2441 = load i32, ptr %1134, align 4, !tbaa !5
  %2442 = call ptr @strerror(i32 noundef %2441) #11
  %2443 = load i32, ptr %1134, align 4, !tbaa !5
  %2444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2435, ptr noundef nonnull %.str.4.sink1650, i32 noundef %2436, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.2, i32 noundef 332, ptr noundef %2438, ptr noundef %2440, ptr noundef %2442, i32 noundef %2443) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2445:                                             ; preds = %2418
  %2446 = load i32, ptr @test_count, align 4, !tbaa !5
  %2447 = add nsw i32 %2446, 1
  store i32 %2447, ptr @test_count, align 4, !tbaa !5
  %2448 = load i32, ptr %31, align 4, !tbaa !5
  %2449 = icmp eq i32 %2448, 0
  br i1 %2449, label %2472, label %2450

2450:                                             ; preds = %2445
  %2451 = load i32, ptr %1134, align 4, !tbaa !5
  %2452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2453 = call i32 @s2n_print_stacktrace(ptr noundef %2452) #11
  %2454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2455 = trunc nuw i8 %2454 to i1
  br i1 %2455, label %2456, label %2460

2456:                                             ; preds = %2450
  %2457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2458 = call i32 @fileno(ptr noundef %2457) #11
  %2459 = call i32 @isatty(i32 noundef %2458) #11
  %.not646 = icmp eq i32 %2459, 0
  br i1 %.not646, label %2460, label %2461

2460:                                             ; preds = %2456, %2450
  br label %2461

2461:                                             ; preds = %2456, %2460
  %.str.4.sink1659 = phi ptr [ @.str.4, %2460 ], [ @.str, %2456 ]
  store i32 %2451, ptr %1134, align 4, !tbaa !5
  %2462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2463 = load i32, ptr @test_count, align 4, !tbaa !5
  %2464 = load i32, ptr %1080, align 4, !tbaa !5
  %2465 = call ptr @s2n_strerror(i32 noundef %2464, ptr noundef nonnull @.str.3) #11
  %2466 = load i32, ptr %1080, align 4, !tbaa !5
  %2467 = call ptr @s2n_strerror_debug(i32 noundef %2466, ptr noundef nonnull @.str.3) #11
  %2468 = load i32, ptr %1134, align 4, !tbaa !5
  %2469 = call ptr @strerror(i32 noundef %2468) #11
  %2470 = load i32, ptr %1134, align 4, !tbaa !5
  %2471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2462, ptr noundef nonnull %.str.4.sink1659, i32 noundef %2463, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 333, ptr noundef %2465, ptr noundef %2467, ptr noundef %2469, i32 noundef %2470) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2472:                                             ; preds = %2445
  %2473 = add nsw i32 %2446, 2
  store i32 %2473, ptr @test_count, align 4, !tbaa !5
  %2474 = load i64, ptr %2093, align 8, !tbaa !19
  %2475 = icmp eq i64 %2474, %426
  br i1 %2475, label %2498, label %2476

2476:                                             ; preds = %2472
  %2477 = load i32, ptr %1134, align 4, !tbaa !5
  %2478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2479 = call i32 @s2n_print_stacktrace(ptr noundef %2478) #11
  %2480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2481 = trunc nuw i8 %2480 to i1
  br i1 %2481, label %2482, label %2486

2482:                                             ; preds = %2476
  %2483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2484 = call i32 @fileno(ptr noundef %2483) #11
  %2485 = call i32 @isatty(i32 noundef %2484) #11
  %.not647 = icmp eq i32 %2485, 0
  br i1 %.not647, label %2486, label %2487

2486:                                             ; preds = %2482, %2476
  br label %2487

2487:                                             ; preds = %2482, %2486
  %.str.4.sink1668 = phi ptr [ @.str.4, %2486 ], [ @.str, %2482 ]
  store i32 %2477, ptr %1134, align 4, !tbaa !5
  %2488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2489 = load i32, ptr @test_count, align 4, !tbaa !5
  %2490 = load i32, ptr %1080, align 4, !tbaa !5
  %2491 = call ptr @s2n_strerror(i32 noundef %2490, ptr noundef nonnull @.str.3) #11
  %2492 = load i32, ptr %1080, align 4, !tbaa !5
  %2493 = call ptr @s2n_strerror_debug(i32 noundef %2492, ptr noundef nonnull @.str.3) #11
  %2494 = load i32, ptr %1134, align 4, !tbaa !5
  %2495 = call ptr @strerror(i32 noundef %2494) #11
  %2496 = load i32, ptr %1134, align 4, !tbaa !5
  %2497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2488, ptr noundef nonnull %.str.4.sink1668, i32 noundef %2489, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.2, i32 noundef 334, ptr noundef %2491, ptr noundef %2493, ptr noundef %2495, i32 noundef %2496) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2498:                                             ; preds = %2472
  %2499 = add nsw i32 %2446, 3
  store i32 %2499, ptr @test_count, align 4, !tbaa !5
  %2500 = load ptr, ptr %28, align 8, !tbaa !9
  %2501 = getelementptr inbounds i8, ptr %2500, i64 1904
  %2502 = load i32, ptr %2501, align 8, !tbaa !47
  %2503 = icmp eq i32 %2502, %2013
  br i1 %2503, label %2526, label %2504

2504:                                             ; preds = %2498
  %2505 = load i32, ptr %1134, 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
  %.not648 = icmp eq i32 %2513, 0
  br i1 %.not648, label %2514, label %2515

2514:                                             ; preds = %2510, %2504
  br label %2515

2515:                                             ; preds = %2510, %2514
  %.str.4.sink1677 = phi ptr [ @.str.4, %2514 ], [ @.str, %2510 ]
  store i32 %2505, ptr %1134, 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 %1080, align 4, !tbaa !5
  %2519 = call ptr @s2n_strerror(i32 noundef %2518, ptr noundef nonnull @.str.3) #11
  %2520 = load i32, ptr %1080, align 4, !tbaa !5
  %2521 = call ptr @s2n_strerror_debug(i32 noundef %2520, ptr noundef nonnull @.str.3) #11
  %2522 = load i32, ptr %1134, align 4, !tbaa !5
  %2523 = call ptr @strerror(i32 noundef %2522) #11
  %2524 = load i32, ptr %1134, align 4, !tbaa !5
  %2525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2516, ptr noundef nonnull %.str.4.sink1677, i32 noundef %2517, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 337, ptr noundef %2519, ptr noundef %2521, ptr noundef %2523, i32 noundef %2524) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2526:                                             ; preds = %2498
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %29) #11
  %2527 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %28) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #11
  %2528 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %2528, ptr %32, align 8, !tbaa !9
  %2529 = load i32, ptr @test_count, align 4, !tbaa !5
  %2530 = add nsw i32 %2529, 1
  store i32 %2530, ptr @test_count, align 4, !tbaa !5
  %2531 = icmp eq ptr %2528, null
  br i1 %2531, label %2532, label %2554

2532:                                             ; preds = %2526
  %2533 = load i32, ptr %1134, align 4, !tbaa !5
  %2534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2535 = call i32 @s2n_print_stacktrace(ptr noundef %2534) #11
  %2536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2537 = trunc nuw i8 %2536 to i1
  br i1 %2537, label %2538, label %2542

2538:                                             ; preds = %2532
  %2539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2540 = call i32 @fileno(ptr noundef %2539) #11
  %2541 = call i32 @isatty(i32 noundef %2540) #11
  %.not799 = icmp eq i32 %2541, 0
  br i1 %.not799, label %2542, label %2543

2542:                                             ; preds = %2538, %2532
  br label %2543

2543:                                             ; preds = %2538, %2542
  %.str.4.sink1686 = phi ptr [ @.str.4, %2542 ], [ @.str, %2538 ]
  store i32 %2533, ptr %1134, align 4, !tbaa !5
  %2544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2545 = load i32, ptr @test_count, align 4, !tbaa !5
  %2546 = load i32, ptr %1080, align 4, !tbaa !5
  %2547 = call ptr @s2n_strerror(i32 noundef %2546, ptr noundef nonnull @.str.3) #11
  %2548 = load i32, ptr %1080, align 4, !tbaa !5
  %2549 = call ptr @s2n_strerror_debug(i32 noundef %2548, ptr noundef nonnull @.str.3) #11
  %2550 = load i32, ptr %1134, align 4, !tbaa !5
  %2551 = call ptr @strerror(i32 noundef %2550) #11
  %2552 = load i32, ptr %1134, align 4, !tbaa !5
  %2553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2544, ptr noundef nonnull %.str.4.sink1686, i32 noundef %2545, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 349, ptr noundef %2547, ptr noundef %2549, ptr noundef %2551, i32 noundef %2552) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2554:                                             ; preds = %2526
  %2555 = add nsw i32 %2529, 2
  store i32 %2555, ptr @test_count, align 4, !tbaa !5
  %2556 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %2528) #11
  %2557 = call zeroext i1 @s2n_result_is_ok(i32 %2556)
  br i1 %2557, label %2580, label %2558

2558:                                             ; preds = %2554
  %2559 = load i32, ptr %1134, align 4, !tbaa !5
  %2560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2561 = call i32 @s2n_print_stacktrace(ptr noundef %2560) #11
  %2562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2563 = trunc nuw i8 %2562 to i1
  br i1 %2563, label %2564, label %2568

2564:                                             ; preds = %2558
  %2565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2566 = call i32 @fileno(ptr noundef %2565) #11
  %2567 = call i32 @isatty(i32 noundef %2566) #11
  %.not649 = icmp eq i32 %2567, 0
  br i1 %.not649, label %2568, label %2569

2568:                                             ; preds = %2564, %2558
  br label %2569

2569:                                             ; preds = %2564, %2568
  %.str.4.sink1695 = phi ptr [ @.str.4, %2568 ], [ @.str, %2564 ]
  store i32 %2559, ptr %1134, align 4, !tbaa !5
  %2570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2571 = load i32, ptr @test_count, align 4, !tbaa !5
  %2572 = load i32, ptr %1080, align 4, !tbaa !5
  %2573 = call ptr @s2n_strerror(i32 noundef %2572, ptr noundef nonnull @.str.3) #11
  %2574 = load i32, ptr %1080, align 4, !tbaa !5
  %2575 = call ptr @s2n_strerror_debug(i32 noundef %2574, ptr noundef nonnull @.str.3) #11
  %2576 = load i32, ptr %1134, align 4, !tbaa !5
  %2577 = call ptr @strerror(i32 noundef %2576) #11
  %2578 = load i32, ptr %1134, align 4, !tbaa !5
  %2579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2570, ptr noundef nonnull %.str.4.sink1695, i32 noundef %2571, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 350, ptr noundef %2573, ptr noundef %2575, ptr noundef %2577, i32 noundef %2578) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2580:                                             ; preds = %2554
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %33) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %33, ptr noundef nonnull align 16 dereferenceable(24) @__const.main.results.46, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #11
  %2581 = getelementptr inbounds i8, ptr %34, i64 8
  %2582 = getelementptr inbounds i8, ptr %34, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %34, i8 0, i64 16, i1 false)
  store ptr %33, ptr %2582, align 8, !tbaa !50
  %2583 = getelementptr inbounds i8, ptr %34, i64 24
  store i64 3, ptr %2583, align 8, !tbaa !51
  %2584 = load i32, ptr @test_count, align 4, !tbaa !5
  %2585 = add nsw i32 %2584, 1
  store i32 %2585, ptr @test_count, align 4, !tbaa !5
  %2586 = load ptr, ptr %32, align 8, !tbaa !9
  %2587 = call i32 @s2n_connection_set_send_cb(ptr noundef %2586, ptr noundef nonnull @s2n_test_send_cb) #11
  %2588 = icmp eq i32 %2587, -1
  br i1 %2588, label %2589, label %2611

2589:                                             ; preds = %2580
  %2590 = load i32, ptr %1134, align 4, !tbaa !5
  %2591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2592 = call i32 @s2n_print_stacktrace(ptr noundef %2591) #11
  %2593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2594 = trunc nuw i8 %2593 to i1
  br i1 %2594, label %2595, label %2599

2595:                                             ; preds = %2589
  %2596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2597 = call i32 @fileno(ptr noundef %2596) #11
  %2598 = call i32 @isatty(i32 noundef %2597) #11
  %.not798 = icmp eq i32 %2598, 0
  br i1 %.not798, label %2599, label %2600

2599:                                             ; preds = %2595, %2589
  br label %2600

2600:                                             ; preds = %2595, %2599
  %.str.4.sink1704 = phi ptr [ @.str.4, %2599 ], [ @.str, %2595 ]
  store i32 %2590, ptr %1134, align 4, !tbaa !5
  %2601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2602 = load i32, ptr @test_count, align 4, !tbaa !5
  %2603 = load i32, ptr %1080, align 4, !tbaa !5
  %2604 = call ptr @s2n_strerror(i32 noundef %2603, ptr noundef nonnull @.str.3) #11
  %2605 = load i32, ptr %1080, align 4, !tbaa !5
  %2606 = call ptr @s2n_strerror_debug(i32 noundef %2605, ptr noundef nonnull @.str.3) #11
  %2607 = load i32, ptr %1134, align 4, !tbaa !5
  %2608 = call ptr @strerror(i32 noundef %2607) #11
  %2609 = load i32, ptr %1134, align 4, !tbaa !5
  %2610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2601, ptr noundef nonnull %.str.4.sink1704, i32 noundef %2602, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 354, ptr noundef %2604, ptr noundef %2606, ptr noundef %2608, i32 noundef %2609) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2611:                                             ; preds = %2580
  %2612 = load i32, ptr @test_count, align 4, !tbaa !5
  %2613 = add nsw i32 %2612, 1
  store i32 %2613, ptr @test_count, align 4, !tbaa !5
  %2614 = load ptr, ptr %32, align 8, !tbaa !9
  %2615 = call i32 @s2n_connection_set_send_ctx(ptr noundef %2614, ptr noundef nonnull %34) #11
  %2616 = icmp eq i32 %2615, -1
  br i1 %2616, label %2617, label %2639

2617:                                             ; preds = %2611
  %2618 = load i32, ptr %1134, align 4, !tbaa !5
  %2619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2620 = call i32 @s2n_print_stacktrace(ptr noundef %2619) #11
  %2621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2622 = trunc nuw i8 %2621 to i1
  br i1 %2622, label %2623, label %2627

2623:                                             ; preds = %2617
  %2624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2625 = call i32 @fileno(ptr noundef %2624) #11
  %2626 = call i32 @isatty(i32 noundef %2625) #11
  %.not797 = icmp eq i32 %2626, 0
  br i1 %.not797, label %2627, label %2628

2627:                                             ; preds = %2623, %2617
  br label %2628

2628:                                             ; preds = %2623, %2627
  %.str.4.sink1713 = phi ptr [ @.str.4, %2627 ], [ @.str, %2623 ]
  store i32 %2618, ptr %1134, align 4, !tbaa !5
  %2629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2630 = load i32, ptr @test_count, align 4, !tbaa !5
  %2631 = load i32, ptr %1080, align 4, !tbaa !5
  %2632 = call ptr @s2n_strerror(i32 noundef %2631, ptr noundef nonnull @.str.3) #11
  %2633 = load i32, ptr %1080, align 4, !tbaa !5
  %2634 = call ptr @s2n_strerror_debug(i32 noundef %2633, ptr noundef nonnull @.str.3) #11
  %2635 = load i32, ptr %1134, align 4, !tbaa !5
  %2636 = call ptr @strerror(i32 noundef %2635) #11
  %2637 = load i32, ptr %1134, align 4, !tbaa !5
  %2638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2629, ptr noundef nonnull %.str.4.sink1713, i32 noundef %2630, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 355, ptr noundef %2632, ptr noundef %2634, ptr noundef %2636, i32 noundef %2637) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2639:                                             ; preds = %2611
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %35) #11
  store i32 0, ptr %35, align 4, !tbaa !5
  %2640 = load i32, ptr @test_count, align 4, !tbaa !5
  %2641 = add nsw i32 %2640, 1
  store i32 %2641, ptr @test_count, align 4, !tbaa !5
  %2642 = load ptr, ptr %32, align 8, !tbaa !9
  %2643 = call i64 @s2n_send(ptr noundef %2642, ptr noundef nonnull %4, i64 noundef 16394, ptr noundef nonnull %35) #11
  %2644 = icmp eq i64 %2643, 16394
  br i1 %2644, label %2667, label %2645

2645:                                             ; preds = %2639
  %2646 = load i32, ptr %1134, align 4, !tbaa !5
  %2647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2648 = call i32 @s2n_print_stacktrace(ptr noundef %2647) #11
  %2649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2650 = trunc nuw i8 %2649 to i1
  br i1 %2650, label %2651, label %2655

2651:                                             ; preds = %2645
  %2652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2653 = call i32 @fileno(ptr noundef %2652) #11
  %2654 = call i32 @isatty(i32 noundef %2653) #11
  %.not650 = icmp eq i32 %2654, 0
  br i1 %.not650, label %2655, label %2656

2655:                                             ; preds = %2651, %2645
  br label %2656

2656:                                             ; preds = %2651, %2655
  %.str.4.sink1722 = phi ptr [ @.str.4, %2655 ], [ @.str, %2651 ]
  store i32 %2646, ptr %1134, align 4, !tbaa !5
  %2657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2658 = load i32, ptr @test_count, align 4, !tbaa !5
  %2659 = load i32, ptr %1080, align 4, !tbaa !5
  %2660 = call ptr @s2n_strerror(i32 noundef %2659, ptr noundef nonnull @.str.3) #11
  %2661 = load i32, ptr %1080, align 4, !tbaa !5
  %2662 = call ptr @s2n_strerror_debug(i32 noundef %2661, ptr noundef nonnull @.str.3) #11
  %2663 = load i32, ptr %1134, align 4, !tbaa !5
  %2664 = call ptr @strerror(i32 noundef %2663) #11
  %2665 = load i32, ptr %1134, align 4, !tbaa !5
  %2666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2657, ptr noundef nonnull %.str.4.sink1722, i32 noundef %2658, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.2, i32 noundef 358, ptr noundef %2660, ptr noundef %2662, ptr noundef %2664, i32 noundef %2665) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2667:                                             ; preds = %2639
  %2668 = load i32, ptr @test_count, align 4, !tbaa !5
  %2669 = add nsw i32 %2668, 1
  store i32 %2669, ptr @test_count, align 4, !tbaa !5
  %2670 = load i32, ptr %35, align 4, !tbaa !5
  %2671 = icmp eq i32 %2670, 0
  br i1 %2671, label %2694, label %2672

2672:                                             ; preds = %2667
  %2673 = load i32, ptr %1134, align 4, !tbaa !5
  %2674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2675 = call i32 @s2n_print_stacktrace(ptr noundef %2674) #11
  %2676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2677 = trunc nuw i8 %2676 to i1
  br i1 %2677, label %2678, label %2682

2678:                                             ; preds = %2672
  %2679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2680 = call i32 @fileno(ptr noundef %2679) #11
  %2681 = call i32 @isatty(i32 noundef %2680) #11
  %.not651 = icmp eq i32 %2681, 0
  br i1 %.not651, label %2682, label %2683

2682:                                             ; preds = %2678, %2672
  br label %2683

2683:                                             ; preds = %2678, %2682
  %.str.4.sink1731 = phi ptr [ @.str.4, %2682 ], [ @.str, %2678 ]
  store i32 %2673, ptr %1134, align 4, !tbaa !5
  %2684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2685 = load i32, ptr @test_count, align 4, !tbaa !5
  %2686 = load i32, ptr %1080, align 4, !tbaa !5
  %2687 = call ptr @s2n_strerror(i32 noundef %2686, ptr noundef nonnull @.str.3) #11
  %2688 = load i32, ptr %1080, align 4, !tbaa !5
  %2689 = call ptr @s2n_strerror_debug(i32 noundef %2688, ptr noundef nonnull @.str.3) #11
  %2690 = load i32, ptr %1134, align 4, !tbaa !5
  %2691 = call ptr @strerror(i32 noundef %2690) #11
  %2692 = load i32, ptr %1134, align 4, !tbaa !5
  %2693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2684, ptr noundef nonnull %.str.4.sink1731, i32 noundef %2685, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 359, ptr noundef %2687, ptr noundef %2689, ptr noundef %2691, i32 noundef %2692) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2694:                                             ; preds = %2667
  %2695 = add nsw i32 %2668, 2
  store i32 %2695, ptr @test_count, align 4, !tbaa !5
  %2696 = load i64, ptr %34, align 8, !tbaa !17
  %2697 = icmp eq i64 %2696, 3
  br i1 %2697, label %2720, label %2698

2698:                                             ; preds = %2694
  %2699 = load i32, ptr %1134, align 4, !tbaa !5
  %2700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2701 = call i32 @s2n_print_stacktrace(ptr noundef %2700) #11
  %2702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2703 = trunc nuw i8 %2702 to i1
  br i1 %2703, label %2704, label %2708

2704:                                             ; preds = %2698
  %2705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2706 = call i32 @fileno(ptr noundef %2705) #11
  %2707 = call i32 @isatty(i32 noundef %2706) #11
  %.not652 = icmp eq i32 %2707, 0
  br i1 %.not652, label %2708, label %2709

2708:                                             ; preds = %2704, %2698
  br label %2709

2709:                                             ; preds = %2704, %2708
  %.str.4.sink1740 = phi ptr [ @.str.4, %2708 ], [ @.str, %2704 ]
  store i32 %2699, ptr %1134, align 4, !tbaa !5
  %2710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2711 = load i32, ptr @test_count, align 4, !tbaa !5
  %2712 = load i32, ptr %1080, align 4, !tbaa !5
  %2713 = call ptr @s2n_strerror(i32 noundef %2712, ptr noundef nonnull @.str.3) #11
  %2714 = load i32, ptr %1080, align 4, !tbaa !5
  %2715 = call ptr @s2n_strerror_debug(i32 noundef %2714, ptr noundef nonnull @.str.3) #11
  %2716 = load i32, ptr %1134, align 4, !tbaa !5
  %2717 = call ptr @strerror(i32 noundef %2716) #11
  %2718 = load i32, ptr %1134, align 4, !tbaa !5
  %2719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2710, ptr noundef nonnull %.str.4.sink1740, i32 noundef %2711, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.2, i32 noundef 360, ptr noundef %2713, ptr noundef %2715, ptr noundef %2717, i32 noundef %2718) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2720:                                             ; preds = %2694
  %2721 = load i64, ptr %2581, align 8, !tbaa !19
  %2722 = add nsw i32 %2668, 3
  store i32 %2722, ptr @test_count, align 4, !tbaa !5
  %2723 = icmp ugt i64 %2721, 16394
  br i1 %2723, label %2746, label %2724

2724:                                             ; preds = %2720
  %2725 = load i32, ptr %1134, align 4, !tbaa !5
  %2726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2727 = call i32 @s2n_print_stacktrace(ptr noundef %2726) #11
  %2728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2729 = trunc nuw i8 %2728 to i1
  br i1 %2729, label %2730, label %2734

2730:                                             ; preds = %2724
  %2731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2732 = call i32 @fileno(ptr noundef %2731) #11
  %2733 = call i32 @isatty(i32 noundef %2732) #11
  %.not653 = icmp eq i32 %2733, 0
  br i1 %.not653, label %2734, label %2735

2734:                                             ; preds = %2730, %2724
  br label %2735

2735:                                             ; preds = %2730, %2734
  %.str.4.sink1749 = phi ptr [ @.str.4, %2734 ], [ @.str, %2730 ]
  store i32 %2725, ptr %1134, align 4, !tbaa !5
  %2736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2737 = load i32, ptr @test_count, align 4, !tbaa !5
  %2738 = load i32, ptr %1080, align 4, !tbaa !5
  %2739 = call ptr @s2n_strerror(i32 noundef %2738, ptr noundef nonnull @.str.3) #11
  %2740 = load i32, ptr %1080, align 4, !tbaa !5
  %2741 = call ptr @s2n_strerror_debug(i32 noundef %2740, ptr noundef nonnull @.str.3) #11
  %2742 = load i32, ptr %1134, align 4, !tbaa !5
  %2743 = call ptr @strerror(i32 noundef %2742) #11
  %2744 = load i32, ptr %1134, align 4, !tbaa !5
  %2745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2736, ptr noundef nonnull %.str.4.sink1749, i32 noundef %2737, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.2, i32 noundef 363, ptr noundef %2739, ptr noundef %2741, ptr noundef %2743, i32 noundef %2744) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2746:                                             ; preds = %2720
  %2747 = add nsw i32 %2668, 4
  store i32 %2747, ptr @test_count, align 4, !tbaa !5
  %2748 = load ptr, ptr %32, align 8, !tbaa !9
  %2749 = getelementptr inbounds i8, ptr %2748, i64 1904
  %2750 = load i32, ptr %2749, align 8, !tbaa !47
  %2751 = icmp eq i32 %2750, %2013
  br i1 %2751, label %2774, label %2752

2752:                                             ; preds = %2746
  %2753 = load i32, ptr %1134, align 4, !tbaa !5
  %2754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2755 = call i32 @s2n_print_stacktrace(ptr noundef %2754) #11
  %2756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2757 = trunc nuw i8 %2756 to i1
  br i1 %2757, label %2758, label %2762

2758:                                             ; preds = %2752
  %2759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2760 = call i32 @fileno(ptr noundef %2759) #11
  %2761 = call i32 @isatty(i32 noundef %2760) #11
  %.not654 = icmp eq i32 %2761, 0
  br i1 %.not654, label %2762, label %2763

2762:                                             ; preds = %2758, %2752
  br label %2763

2763:                                             ; preds = %2758, %2762
  %.str.4.sink1758 = phi ptr [ @.str.4, %2762 ], [ @.str, %2758 ]
  store i32 %2753, ptr %1134, align 4, !tbaa !5
  %2764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2765 = load i32, ptr @test_count, align 4, !tbaa !5
  %2766 = load i32, ptr %1080, align 4, !tbaa !5
  %2767 = call ptr @s2n_strerror(i32 noundef %2766, ptr noundef nonnull @.str.3) #11
  %2768 = load i32, ptr %1080, align 4, !tbaa !5
  %2769 = call ptr @s2n_strerror_debug(i32 noundef %2768, ptr noundef nonnull @.str.3) #11
  %2770 = load i32, ptr %1134, align 4, !tbaa !5
  %2771 = call ptr @strerror(i32 noundef %2770) #11
  %2772 = load i32, ptr %1134, align 4, !tbaa !5
  %2773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2764, ptr noundef nonnull %.str.4.sink1758, i32 noundef %2765, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 366, ptr noundef %2767, ptr noundef %2769, ptr noundef %2771, i32 noundef %2772) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2774:                                             ; preds = %2746
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %33) #11
  %2775 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %32) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #11
  %2776 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %2776, ptr %36, align 8, !tbaa !9
  %2777 = load i32, ptr @test_count, align 4, !tbaa !5
  %2778 = add nsw i32 %2777, 1
  store i32 %2778, ptr @test_count, align 4, !tbaa !5
  %2779 = icmp eq ptr %2776, null
  br i1 %2779, label %2780, label %2802

2780:                                             ; preds = %2774
  %2781 = load i32, ptr %1134, align 4, !tbaa !5
  %2782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2783 = call i32 @s2n_print_stacktrace(ptr noundef %2782) #11
  %2784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2785 = trunc nuw i8 %2784 to i1
  br i1 %2785, label %2786, label %2790

2786:                                             ; preds = %2780
  %2787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2788 = call i32 @fileno(ptr noundef %2787) #11
  %2789 = call i32 @isatty(i32 noundef %2788) #11
  %.not796 = icmp eq i32 %2789, 0
  br i1 %.not796, label %2790, label %2791

2790:                                             ; preds = %2786, %2780
  br label %2791

2791:                                             ; preds = %2786, %2790
  %.str.4.sink1767 = phi ptr [ @.str.4, %2790 ], [ @.str, %2786 ]
  store i32 %2781, ptr %1134, align 4, !tbaa !5
  %2792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2793 = load i32, ptr @test_count, align 4, !tbaa !5
  %2794 = load i32, ptr %1080, align 4, !tbaa !5
  %2795 = call ptr @s2n_strerror(i32 noundef %2794, ptr noundef nonnull @.str.3) #11
  %2796 = load i32, ptr %1080, align 4, !tbaa !5
  %2797 = call ptr @s2n_strerror_debug(i32 noundef %2796, ptr noundef nonnull @.str.3) #11
  %2798 = load i32, ptr %1134, align 4, !tbaa !5
  %2799 = call ptr @strerror(i32 noundef %2798) #11
  %2800 = load i32, ptr %1134, align 4, !tbaa !5
  %2801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2792, ptr noundef nonnull %.str.4.sink1767, i32 noundef %2793, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 373, ptr noundef %2795, ptr noundef %2797, ptr noundef %2799, i32 noundef %2800) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2802:                                             ; preds = %2774
  %2803 = add nsw i32 %2777, 2
  store i32 %2803, ptr @test_count, align 4, !tbaa !5
  %2804 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %2776) #11
  %2805 = call zeroext i1 @s2n_result_is_ok(i32 %2804)
  br i1 %2805, label %2828, label %2806

2806:                                             ; preds = %2802
  %2807 = load i32, ptr %1134, align 4, !tbaa !5
  %2808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2809 = call i32 @s2n_print_stacktrace(ptr noundef %2808) #11
  %2810 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2811 = trunc nuw i8 %2810 to i1
  br i1 %2811, label %2812, label %2816

2812:                                             ; preds = %2806
  %2813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2814 = call i32 @fileno(ptr noundef %2813) #11
  %2815 = call i32 @isatty(i32 noundef %2814) #11
  %.not655 = icmp eq i32 %2815, 0
  br i1 %.not655, label %2816, label %2817

2816:                                             ; preds = %2812, %2806
  br label %2817

2817:                                             ; preds = %2812, %2816
  %.str.4.sink1776 = phi ptr [ @.str.4, %2816 ], [ @.str, %2812 ]
  store i32 %2807, ptr %1134, align 4, !tbaa !5
  %2818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2819 = load i32, ptr @test_count, align 4, !tbaa !5
  %2820 = load i32, ptr %1080, align 4, !tbaa !5
  %2821 = call ptr @s2n_strerror(i32 noundef %2820, ptr noundef nonnull @.str.3) #11
  %2822 = load i32, ptr %1080, align 4, !tbaa !5
  %2823 = call ptr @s2n_strerror_debug(i32 noundef %2822, ptr noundef nonnull @.str.3) #11
  %2824 = load i32, ptr %1134, align 4, !tbaa !5
  %2825 = call ptr @strerror(i32 noundef %2824) #11
  %2826 = load i32, ptr %1134, align 4, !tbaa !5
  %2827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2818, ptr noundef nonnull %.str.4.sink1776, i32 noundef %2819, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 374, ptr noundef %2821, ptr noundef %2823, ptr noundef %2825, i32 noundef %2826) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2828:                                             ; preds = %2802
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %37) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(48) %37, ptr noundef nonnull align 16 dereferenceable(48) @__const.main.results.49, i64 48, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #11
  %2829 = getelementptr inbounds i8, ptr %38, i64 8
  %2830 = getelementptr inbounds i8, ptr %38, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %38, i8 0, i64 16, i1 false)
  store ptr %37, ptr %2830, align 8, !tbaa !50
  %2831 = getelementptr inbounds i8, ptr %38, i64 24
  store i64 6, ptr %2831, align 8, !tbaa !51
  %2832 = load i32, ptr @test_count, align 4, !tbaa !5
  %2833 = add nsw i32 %2832, 1
  store i32 %2833, ptr @test_count, align 4, !tbaa !5
  %2834 = load ptr, ptr %36, align 8, !tbaa !9
  %2835 = call i32 @s2n_connection_set_send_cb(ptr noundef %2834, ptr noundef nonnull @s2n_test_send_cb) #11
  %2836 = icmp eq i32 %2835, -1
  br i1 %2836, label %2837, label %2859

2837:                                             ; preds = %2828
  %2838 = load i32, ptr %1134, align 4, !tbaa !5
  %2839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2840 = call i32 @s2n_print_stacktrace(ptr noundef %2839) #11
  %2841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2842 = trunc nuw i8 %2841 to i1
  br i1 %2842, label %2843, label %2847

2843:                                             ; preds = %2837
  %2844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2845 = call i32 @fileno(ptr noundef %2844) #11
  %2846 = call i32 @isatty(i32 noundef %2845) #11
  %.not795 = icmp eq i32 %2846, 0
  br i1 %.not795, label %2847, label %2848

2847:                                             ; preds = %2843, %2837
  br label %2848

2848:                                             ; preds = %2843, %2847
  %.str.4.sink1785 = phi ptr [ @.str.4, %2847 ], [ @.str, %2843 ]
  store i32 %2838, ptr %1134, align 4, !tbaa !5
  %2849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2850 = load i32, ptr @test_count, align 4, !tbaa !5
  %2851 = load i32, ptr %1080, align 4, !tbaa !5
  %2852 = call ptr @s2n_strerror(i32 noundef %2851, ptr noundef nonnull @.str.3) #11
  %2853 = load i32, ptr %1080, align 4, !tbaa !5
  %2854 = call ptr @s2n_strerror_debug(i32 noundef %2853, ptr noundef nonnull @.str.3) #11
  %2855 = load i32, ptr %1134, align 4, !tbaa !5
  %2856 = call ptr @strerror(i32 noundef %2855) #11
  %2857 = load i32, ptr %1134, align 4, !tbaa !5
  %2858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2849, ptr noundef nonnull %.str.4.sink1785, i32 noundef %2850, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 382, ptr noundef %2852, ptr noundef %2854, ptr noundef %2856, i32 noundef %2857) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2859:                                             ; preds = %2828
  %2860 = load i32, ptr @test_count, align 4, !tbaa !5
  %2861 = add nsw i32 %2860, 1
  store i32 %2861, ptr @test_count, align 4, !tbaa !5
  %2862 = load ptr, ptr %36, align 8, !tbaa !9
  %2863 = call i32 @s2n_connection_set_send_ctx(ptr noundef %2862, ptr noundef nonnull %38) #11
  %2864 = icmp eq i32 %2863, -1
  br i1 %2864, label %2865, label %2887

2865:                                             ; preds = %2859
  %2866 = load i32, ptr %1134, align 4, !tbaa !5
  %2867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2868 = call i32 @s2n_print_stacktrace(ptr noundef %2867) #11
  %2869 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2870 = trunc nuw i8 %2869 to i1
  br i1 %2870, label %2871, label %2875

2871:                                             ; preds = %2865
  %2872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2873 = call i32 @fileno(ptr noundef %2872) #11
  %2874 = call i32 @isatty(i32 noundef %2873) #11
  %.not794 = icmp eq i32 %2874, 0
  br i1 %.not794, label %2875, label %2876

2875:                                             ; preds = %2871, %2865
  br label %2876

2876:                                             ; preds = %2871, %2875
  %.str.4.sink1794 = phi ptr [ @.str.4, %2875 ], [ @.str, %2871 ]
  store i32 %2866, ptr %1134, align 4, !tbaa !5
  %2877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2878 = load i32, ptr @test_count, align 4, !tbaa !5
  %2879 = load i32, ptr %1080, align 4, !tbaa !5
  %2880 = call ptr @s2n_strerror(i32 noundef %2879, ptr noundef nonnull @.str.3) #11
  %2881 = load i32, ptr %1080, align 4, !tbaa !5
  %2882 = call ptr @s2n_strerror_debug(i32 noundef %2881, ptr noundef nonnull @.str.3) #11
  %2883 = load i32, ptr %1134, align 4, !tbaa !5
  %2884 = call ptr @strerror(i32 noundef %2883) #11
  %2885 = load i32, ptr %1134, align 4, !tbaa !5
  %2886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2877, ptr noundef nonnull %.str.4.sink1794, i32 noundef %2878, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 383, ptr noundef %2880, ptr noundef %2882, ptr noundef %2884, i32 noundef %2885) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2887:                                             ; preds = %2859
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %39) #11
  store i32 0, ptr %39, align 4, !tbaa !5
  %2888 = load i32, ptr @test_count, align 4, !tbaa !5
  %2889 = add nsw i32 %2888, 1
  store i32 %2889, ptr @test_count, align 4, !tbaa !5
  %2890 = load ptr, ptr %36, align 8, !tbaa !9
  %2891 = call i64 @s2n_send(ptr noundef %2890, ptr noundef nonnull %4, i64 noundef 16394, ptr noundef nonnull %39) #11
  %2892 = icmp eq i64 %2891, 16394
  br i1 %2892, label %2915, label %2893

2893:                                             ; preds = %2887
  %2894 = load i32, ptr %1134, align 4, !tbaa !5
  %2895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2896 = call i32 @s2n_print_stacktrace(ptr noundef %2895) #11
  %2897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2898 = trunc nuw i8 %2897 to i1
  br i1 %2898, label %2899, label %2903

2899:                                             ; preds = %2893
  %2900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2901 = call i32 @fileno(ptr noundef %2900) #11
  %2902 = call i32 @isatty(i32 noundef %2901) #11
  %.not656 = icmp eq i32 %2902, 0
  br i1 %.not656, label %2903, label %2904

2903:                                             ; preds = %2899, %2893
  br label %2904

2904:                                             ; preds = %2899, %2903
  %.str.4.sink1803 = phi ptr [ @.str.4, %2903 ], [ @.str, %2899 ]
  store i32 %2894, ptr %1134, align 4, !tbaa !5
  %2905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2906 = load i32, ptr @test_count, align 4, !tbaa !5
  %2907 = load i32, ptr %1080, align 4, !tbaa !5
  %2908 = call ptr @s2n_strerror(i32 noundef %2907, ptr noundef nonnull @.str.3) #11
  %2909 = load i32, ptr %1080, align 4, !tbaa !5
  %2910 = call ptr @s2n_strerror_debug(i32 noundef %2909, ptr noundef nonnull @.str.3) #11
  %2911 = load i32, ptr %1134, align 4, !tbaa !5
  %2912 = call ptr @strerror(i32 noundef %2911) #11
  %2913 = load i32, ptr %1134, align 4, !tbaa !5
  %2914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2905, ptr noundef nonnull %.str.4.sink1803, i32 noundef %2906, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.2, i32 noundef 386, ptr noundef %2908, ptr noundef %2910, ptr noundef %2912, i32 noundef %2913) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2915:                                             ; preds = %2887
  %2916 = load i32, ptr @test_count, align 4, !tbaa !5
  %2917 = add nsw i32 %2916, 1
  store i32 %2917, ptr @test_count, align 4, !tbaa !5
  %2918 = load i32, ptr %39, align 4, !tbaa !5
  %2919 = icmp eq i32 %2918, 0
  br i1 %2919, label %2942, label %2920

2920:                                             ; preds = %2915
  %2921 = load i32, ptr %1134, align 4, !tbaa !5
  %2922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2923 = call i32 @s2n_print_stacktrace(ptr noundef %2922) #11
  %2924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2925 = trunc nuw i8 %2924 to i1
  br i1 %2925, label %2926, label %2930

2926:                                             ; preds = %2920
  %2927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2928 = call i32 @fileno(ptr noundef %2927) #11
  %2929 = call i32 @isatty(i32 noundef %2928) #11
  %.not657 = icmp eq i32 %2929, 0
  br i1 %.not657, label %2930, label %2931

2930:                                             ; preds = %2926, %2920
  br label %2931

2931:                                             ; preds = %2926, %2930
  %.str.4.sink1812 = phi ptr [ @.str.4, %2930 ], [ @.str, %2926 ]
  store i32 %2921, ptr %1134, align 4, !tbaa !5
  %2932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2933 = load i32, ptr @test_count, align 4, !tbaa !5
  %2934 = load i32, ptr %1080, align 4, !tbaa !5
  %2935 = call ptr @s2n_strerror(i32 noundef %2934, ptr noundef nonnull @.str.3) #11
  %2936 = load i32, ptr %1080, align 4, !tbaa !5
  %2937 = call ptr @s2n_strerror_debug(i32 noundef %2936, ptr noundef nonnull @.str.3) #11
  %2938 = load i32, ptr %1134, align 4, !tbaa !5
  %2939 = call ptr @strerror(i32 noundef %2938) #11
  %2940 = load i32, ptr %1134, align 4, !tbaa !5
  %2941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2932, ptr noundef nonnull %.str.4.sink1812, i32 noundef %2933, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 387, ptr noundef %2935, ptr noundef %2937, ptr noundef %2939, i32 noundef %2940) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2942:                                             ; preds = %2915
  %2943 = add nsw i32 %2916, 2
  store i32 %2943, ptr @test_count, align 4, !tbaa !5
  %2944 = load i64, ptr %38, align 8, !tbaa !17
  %2945 = icmp eq i64 %2944, 6
  br i1 %2945, label %2968, label %2946

2946:                                             ; preds = %2942
  %2947 = load i32, ptr %1134, align 4, !tbaa !5
  %2948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2949 = call i32 @s2n_print_stacktrace(ptr noundef %2948) #11
  %2950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2951 = trunc nuw i8 %2950 to i1
  br i1 %2951, label %2952, label %2956

2952:                                             ; preds = %2946
  %2953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2954 = call i32 @fileno(ptr noundef %2953) #11
  %2955 = call i32 @isatty(i32 noundef %2954) #11
  %.not658 = icmp eq i32 %2955, 0
  br i1 %.not658, label %2956, label %2957

2956:                                             ; preds = %2952, %2946
  br label %2957

2957:                                             ; preds = %2952, %2956
  %.str.4.sink1821 = phi ptr [ @.str.4, %2956 ], [ @.str, %2952 ]
  store i32 %2947, ptr %1134, align 4, !tbaa !5
  %2958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2959 = load i32, ptr @test_count, align 4, !tbaa !5
  %2960 = load i32, ptr %1080, align 4, !tbaa !5
  %2961 = call ptr @s2n_strerror(i32 noundef %2960, ptr noundef nonnull @.str.3) #11
  %2962 = load i32, ptr %1080, align 4, !tbaa !5
  %2963 = call ptr @s2n_strerror_debug(i32 noundef %2962, ptr noundef nonnull @.str.3) #11
  %2964 = load i32, ptr %1134, align 4, !tbaa !5
  %2965 = call ptr @strerror(i32 noundef %2964) #11
  %2966 = load i32, ptr %1134, align 4, !tbaa !5
  %2967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2958, ptr noundef nonnull %.str.4.sink1821, i32 noundef %2959, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.2, i32 noundef 388, ptr noundef %2961, ptr noundef %2963, ptr noundef %2965, i32 noundef %2966) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2968:                                             ; preds = %2942
  %2969 = add nsw i32 %2916, 3
  store i32 %2969, ptr @test_count, align 4, !tbaa !5
  %2970 = load i64, ptr %2829, align 8, !tbaa !19
  %2971 = icmp eq i64 %2970, %2721
  br i1 %2971, label %2994, label %2972

2972:                                             ; preds = %2968
  %2973 = load i32, ptr %1134, align 4, !tbaa !5
  %2974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2975 = call i32 @s2n_print_stacktrace(ptr noundef %2974) #11
  %2976 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2977 = trunc nuw i8 %2976 to i1
  br i1 %2977, label %2978, label %2982

2978:                                             ; preds = %2972
  %2979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2980 = call i32 @fileno(ptr noundef %2979) #11
  %2981 = call i32 @isatty(i32 noundef %2980) #11
  %.not659 = icmp eq i32 %2981, 0
  br i1 %.not659, label %2982, label %2983

2982:                                             ; preds = %2978, %2972
  br label %2983

2983:                                             ; preds = %2978, %2982
  %.str.4.sink1830 = phi ptr [ @.str.4, %2982 ], [ @.str, %2978 ]
  store i32 %2973, ptr %1134, align 4, !tbaa !5
  %2984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2985 = load i32, ptr @test_count, align 4, !tbaa !5
  %2986 = load i32, ptr %1080, align 4, !tbaa !5
  %2987 = call ptr @s2n_strerror(i32 noundef %2986, ptr noundef nonnull @.str.3) #11
  %2988 = load i32, ptr %1080, align 4, !tbaa !5
  %2989 = call ptr @s2n_strerror_debug(i32 noundef %2988, ptr noundef nonnull @.str.3) #11
  %2990 = load i32, ptr %1134, align 4, !tbaa !5
  %2991 = call ptr @strerror(i32 noundef %2990) #11
  %2992 = load i32, ptr %1134, align 4, !tbaa !5
  %2993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2984, ptr noundef nonnull %.str.4.sink1830, i32 noundef %2985, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.2, i32 noundef 389, ptr noundef %2987, ptr noundef %2989, ptr noundef %2991, i32 noundef %2992) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2994:                                             ; preds = %2968
  %2995 = add nsw i32 %2916, 4
  store i32 %2995, ptr @test_count, align 4, !tbaa !5
  %2996 = load ptr, ptr %36, align 8, !tbaa !9
  %2997 = getelementptr inbounds i8, ptr %2996, i64 1904
  %2998 = load i32, ptr %2997, align 8, !tbaa !47
  %2999 = icmp eq i32 %2998, %2013
  br i1 %2999, label %3022, label %3000

3000:                                             ; preds = %2994
  %3001 = load i32, ptr %1134, align 4, !tbaa !5
  %3002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3003 = call i32 @s2n_print_stacktrace(ptr noundef %3002) #11
  %3004 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3005 = trunc nuw i8 %3004 to i1
  br i1 %3005, label %3006, label %3010

3006:                                             ; preds = %3000
  %3007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3008 = call i32 @fileno(ptr noundef %3007) #11
  %3009 = call i32 @isatty(i32 noundef %3008) #11
  %.not660 = icmp eq i32 %3009, 0
  br i1 %.not660, label %3010, label %3011

3010:                                             ; preds = %3006, %3000
  br label %3011

3011:                                             ; preds = %3006, %3010
  %.str.4.sink1839 = phi ptr [ @.str.4, %3010 ], [ @.str, %3006 ]
  store i32 %3001, ptr %1134, align 4, !tbaa !5
  %3012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3013 = load i32, ptr @test_count, align 4, !tbaa !5
  %3014 = load i32, ptr %1080, align 4, !tbaa !5
  %3015 = call ptr @s2n_strerror(i32 noundef %3014, ptr noundef nonnull @.str.3) #11
  %3016 = load i32, ptr %1080, align 4, !tbaa !5
  %3017 = call ptr @s2n_strerror_debug(i32 noundef %3016, ptr noundef nonnull @.str.3) #11
  %3018 = load i32, ptr %1134, align 4, !tbaa !5
  %3019 = call ptr @strerror(i32 noundef %3018) #11
  %3020 = load i32, ptr %1134, align 4, !tbaa !5
  %3021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3012, ptr noundef nonnull %.str.4.sink1839, i32 noundef %3013, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 392, ptr noundef %3015, ptr noundef %3017, ptr noundef %3019, i32 noundef %3020) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3022:                                             ; preds = %2994
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %37) #11
  %3023 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %36) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #11
  %3024 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %3024, ptr %40, align 8, !tbaa !9
  %3025 = load i32, ptr @test_count, align 4, !tbaa !5
  %3026 = add nsw i32 %3025, 1
  store i32 %3026, ptr @test_count, align 4, !tbaa !5
  %3027 = icmp eq ptr %3024, null
  br i1 %3027, label %3028, label %3050

3028:                                             ; preds = %3022
  %3029 = load i32, ptr %1134, align 4, !tbaa !5
  %3030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3031 = call i32 @s2n_print_stacktrace(ptr noundef %3030) #11
  %3032 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3033 = trunc nuw i8 %3032 to i1
  br i1 %3033, label %3034, label %3038

3034:                                             ; preds = %3028
  %3035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3036 = call i32 @fileno(ptr noundef %3035) #11
  %3037 = call i32 @isatty(i32 noundef %3036) #11
  %.not793 = icmp eq i32 %3037, 0
  br i1 %.not793, label %3038, label %3039

3038:                                             ; preds = %3034, %3028
  br label %3039

3039:                                             ; preds = %3034, %3038
  %.str.4.sink1848 = phi ptr [ @.str.4, %3038 ], [ @.str, %3034 ]
  store i32 %3029, ptr %1134, align 4, !tbaa !5
  %3040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3041 = load i32, ptr @test_count, align 4, !tbaa !5
  %3042 = load i32, ptr %1080, align 4, !tbaa !5
  %3043 = call ptr @s2n_strerror(i32 noundef %3042, ptr noundef nonnull @.str.3) #11
  %3044 = load i32, ptr %1080, align 4, !tbaa !5
  %3045 = call ptr @s2n_strerror_debug(i32 noundef %3044, ptr noundef nonnull @.str.3) #11
  %3046 = load i32, ptr %1134, align 4, !tbaa !5
  %3047 = call ptr @strerror(i32 noundef %3046) #11
  %3048 = load i32, ptr %1134, align 4, !tbaa !5
  %3049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3040, ptr noundef nonnull %.str.4.sink1848, i32 noundef %3041, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 399, ptr noundef %3043, ptr noundef %3045, ptr noundef %3047, i32 noundef %3048) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3050:                                             ; preds = %3022
  %3051 = add nsw i32 %3025, 2
  store i32 %3051, ptr @test_count, align 4, !tbaa !5
  %3052 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %3024) #11
  %3053 = call zeroext i1 @s2n_result_is_ok(i32 %3052)
  br i1 %3053, label %3076, label %3054

3054:                                             ; preds = %3050
  %3055 = load i32, ptr %1134, align 4, !tbaa !5
  %3056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3057 = call i32 @s2n_print_stacktrace(ptr noundef %3056) #11
  %3058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3059 = trunc nuw i8 %3058 to i1
  br i1 %3059, label %3060, label %3064

3060:                                             ; preds = %3054
  %3061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3062 = call i32 @fileno(ptr noundef %3061) #11
  %3063 = call i32 @isatty(i32 noundef %3062) #11
  %.not661 = icmp eq i32 %3063, 0
  br i1 %.not661, label %3064, label %3065

3064:                                             ; preds = %3060, %3054
  br label %3065

3065:                                             ; preds = %3060, %3064
  %.str.4.sink1857 = phi ptr [ @.str.4, %3064 ], [ @.str, %3060 ]
  store i32 %3055, ptr %1134, align 4, !tbaa !5
  %3066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3067 = load i32, ptr @test_count, align 4, !tbaa !5
  %3068 = load i32, ptr %1080, align 4, !tbaa !5
  %3069 = call ptr @s2n_strerror(i32 noundef %3068, ptr noundef nonnull @.str.3) #11
  %3070 = load i32, ptr %1080, align 4, !tbaa !5
  %3071 = call ptr @s2n_strerror_debug(i32 noundef %3070, ptr noundef nonnull @.str.3) #11
  %3072 = load i32, ptr %1134, align 4, !tbaa !5
  %3073 = call ptr @strerror(i32 noundef %3072) #11
  %3074 = load i32, ptr %1134, align 4, !tbaa !5
  %3075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3066, ptr noundef nonnull %.str.4.sink1857, i32 noundef %3067, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 400, ptr noundef %3069, ptr noundef %3071, ptr noundef %3073, i32 noundef %3074) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3076:                                             ; preds = %3050
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %41) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %41, ptr noundef nonnull align 16 dereferenceable(64) @__const.main.results.51, i64 64, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #11
  %3077 = getelementptr inbounds i8, ptr %42, i64 8
  %3078 = getelementptr inbounds i8, ptr %42, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %42, i8 0, i64 16, i1 false)
  store ptr %41, ptr %3078, align 8, !tbaa !50
  %3079 = getelementptr inbounds i8, ptr %42, i64 24
  store i64 8, ptr %3079, align 8, !tbaa !51
  %3080 = load i32, ptr @test_count, align 4, !tbaa !5
  %3081 = add nsw i32 %3080, 1
  store i32 %3081, ptr @test_count, align 4, !tbaa !5
  %3082 = load ptr, ptr %40, align 8, !tbaa !9
  %3083 = call i32 @s2n_connection_set_send_cb(ptr noundef %3082, ptr noundef nonnull @s2n_test_send_cb) #11
  %3084 = icmp eq i32 %3083, -1
  br i1 %3084, label %3085, label %3107

3085:                                             ; preds = %3076
  %3086 = load i32, ptr %1134, align 4, !tbaa !5
  %3087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3088 = call i32 @s2n_print_stacktrace(ptr noundef %3087) #11
  %3089 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3090 = trunc nuw i8 %3089 to i1
  br i1 %3090, label %3091, label %3095

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

3095:                                             ; preds = %3091, %3085
  br label %3096

3096:                                             ; preds = %3091, %3095
  %.str.4.sink1866 = phi ptr [ @.str.4, %3095 ], [ @.str, %3091 ]
  store i32 %3086, ptr %1134, align 4, !tbaa !5
  %3097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3098 = load i32, ptr @test_count, align 4, !tbaa !5
  %3099 = load i32, ptr %1080, align 4, !tbaa !5
  %3100 = call ptr @s2n_strerror(i32 noundef %3099, ptr noundef nonnull @.str.3) #11
  %3101 = load i32, ptr %1080, align 4, !tbaa !5
  %3102 = call ptr @s2n_strerror_debug(i32 noundef %3101, ptr noundef nonnull @.str.3) #11
  %3103 = load i32, ptr %1134, align 4, !tbaa !5
  %3104 = call ptr @strerror(i32 noundef %3103) #11
  %3105 = load i32, ptr %1134, align 4, !tbaa !5
  %3106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3097, ptr noundef nonnull %.str.4.sink1866, i32 noundef %3098, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 412, ptr noundef %3100, ptr noundef %3102, ptr noundef %3104, i32 noundef %3105) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3107:                                             ; preds = %3076
  %3108 = load i32, ptr @test_count, align 4, !tbaa !5
  %3109 = add nsw i32 %3108, 1
  store i32 %3109, ptr @test_count, align 4, !tbaa !5
  %3110 = load ptr, ptr %40, align 8, !tbaa !9
  %3111 = call i32 @s2n_connection_set_send_ctx(ptr noundef %3110, ptr noundef nonnull %42) #11
  %3112 = icmp eq i32 %3111, -1
  br i1 %3112, label %3113, label %3135

3113:                                             ; preds = %3107
  %3114 = load i32, ptr %1134, align 4, !tbaa !5
  %3115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3116 = call i32 @s2n_print_stacktrace(ptr noundef %3115) #11
  %3117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3118 = trunc nuw i8 %3117 to i1
  br i1 %3118, label %3119, label %3123

3119:                                             ; preds = %3113
  %3120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3121 = call i32 @fileno(ptr noundef %3120) #11
  %3122 = call i32 @isatty(i32 noundef %3121) #11
  %.not791 = icmp eq i32 %3122, 0
  br i1 %.not791, label %3123, label %3124

3123:                                             ; preds = %3119, %3113
  br label %3124

3124:                                             ; preds = %3119, %3123
  %.str.4.sink1875 = phi ptr [ @.str.4, %3123 ], [ @.str, %3119 ]
  store i32 %3114, ptr %1134, align 4, !tbaa !5
  %3125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3126 = load i32, ptr @test_count, align 4, !tbaa !5
  %3127 = load i32, ptr %1080, align 4, !tbaa !5
  %3128 = call ptr @s2n_strerror(i32 noundef %3127, ptr noundef nonnull @.str.3) #11
  %3129 = load i32, ptr %1080, align 4, !tbaa !5
  %3130 = call ptr @s2n_strerror_debug(i32 noundef %3129, ptr noundef nonnull @.str.3) #11
  %3131 = load i32, ptr %1134, align 4, !tbaa !5
  %3132 = call ptr @strerror(i32 noundef %3131) #11
  %3133 = load i32, ptr %1134, align 4, !tbaa !5
  %3134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3125, ptr noundef nonnull %.str.4.sink1875, i32 noundef %3126, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 413, ptr noundef %3128, ptr noundef %3130, ptr noundef %3132, i32 noundef %3133) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3135:                                             ; preds = %3107
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #11
  store i32 0, ptr %43, align 4, !tbaa !5
  %3136 = load i64, ptr %10, align 16, !tbaa !15
  %3137 = load i32, ptr @test_count, align 4, !tbaa !5
  %3138 = add nsw i32 %3137, 1
  store i32 %3138, ptr @test_count, align 4, !tbaa !5
  %3139 = load ptr, ptr %40, align 8, !tbaa !9
  %3140 = call i64 @s2n_send(ptr noundef %3139, ptr noundef nonnull %4, i64 noundef 16394, ptr noundef nonnull %43) #11
  %3141 = icmp eq i64 %3140, 8087
  br i1 %3141, label %3164, label %3142

3142:                                             ; preds = %3135
  %3143 = load i32, ptr %1134, align 4, !tbaa !5
  %3144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3145 = call i32 @s2n_print_stacktrace(ptr noundef %3144) #11
  %3146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3147 = trunc nuw i8 %3146 to i1
  br i1 %3147, label %3148, label %3152

3148:                                             ; preds = %3142
  %3149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3150 = call i32 @fileno(ptr noundef %3149) #11
  %3151 = call i32 @isatty(i32 noundef %3150) #11
  %.not662 = icmp eq i32 %3151, 0
  br i1 %.not662, label %3152, label %3153

3152:                                             ; preds = %3148, %3142
  br label %3153

3153:                                             ; preds = %3148, %3152
  %.str.4.sink1884 = phi ptr [ @.str.4, %3152 ], [ @.str, %3148 ]
  store i32 %3143, ptr %1134, align 4, !tbaa !5
  %3154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3155 = load i32, ptr @test_count, align 4, !tbaa !5
  %3156 = load i32, ptr %1080, align 4, !tbaa !5
  %3157 = call ptr @s2n_strerror(i32 noundef %3156, ptr noundef nonnull @.str.3) #11
  %3158 = load i32, ptr %1080, align 4, !tbaa !5
  %3159 = call ptr @s2n_strerror_debug(i32 noundef %3158, ptr noundef nonnull @.str.3) #11
  %3160 = load i32, ptr %1134, align 4, !tbaa !5
  %3161 = call ptr @strerror(i32 noundef %3160) #11
  %3162 = load i32, ptr %1134, align 4, !tbaa !5
  %3163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3154, ptr noundef nonnull %.str.4.sink1884, i32 noundef %3155, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.2, i32 noundef 420, ptr noundef %3157, ptr noundef %3159, ptr noundef %3161, i32 noundef %3162) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3164:                                             ; preds = %3135
  %3165 = load i32, ptr @test_count, align 4, !tbaa !5
  %3166 = add nsw i32 %3165, 1
  store i32 %3166, ptr @test_count, align 4, !tbaa !5
  %3167 = load i32, ptr %43, align 4, !tbaa !5
  %3168 = icmp eq i32 %3167, 2
  br i1 %3168, label %3191, label %3169

3169:                                             ; preds = %3164
  %3170 = load i32, ptr %1134, align 4, !tbaa !5
  %3171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3172 = call i32 @s2n_print_stacktrace(ptr noundef %3171) #11
  %3173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3174 = trunc nuw i8 %3173 to i1
  br i1 %3174, label %3175, label %3179

3175:                                             ; preds = %3169
  %3176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3177 = call i32 @fileno(ptr noundef %3176) #11
  %3178 = call i32 @isatty(i32 noundef %3177) #11
  %.not663 = icmp eq i32 %3178, 0
  br i1 %.not663, label %3179, label %3180

3179:                                             ; preds = %3175, %3169
  br label %3180

3180:                                             ; preds = %3175, %3179
  %.str.4.sink1893 = phi ptr [ @.str.4, %3179 ], [ @.str, %3175 ]
  store i32 %3170, ptr %1134, align 4, !tbaa !5
  %3181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3182 = load i32, ptr @test_count, align 4, !tbaa !5
  %3183 = load i32, ptr %1080, align 4, !tbaa !5
  %3184 = call ptr @s2n_strerror(i32 noundef %3183, ptr noundef nonnull @.str.3) #11
  %3185 = load i32, ptr %1080, align 4, !tbaa !5
  %3186 = call ptr @s2n_strerror_debug(i32 noundef %3185, ptr noundef nonnull @.str.3) #11
  %3187 = load i32, ptr %1134, align 4, !tbaa !5
  %3188 = call ptr @strerror(i32 noundef %3187) #11
  %3189 = load i32, ptr %1134, align 4, !tbaa !5
  %3190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3181, ptr noundef nonnull %.str.4.sink1893, i32 noundef %3182, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 421, ptr noundef %3184, ptr noundef %3186, ptr noundef %3188, i32 noundef %3189) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3191:                                             ; preds = %3164
  %3192 = add nsw i32 %3165, 2
  store i32 %3192, ptr @test_count, align 4, !tbaa !5
  %3193 = load i64, ptr %3077, align 8, !tbaa !19
  %3194 = add nsw i64 %3136, 10
  %3195 = icmp eq i64 %3193, %3194
  br i1 %3195, label %3218, label %3196

3196:                                             ; preds = %3191
  %3197 = load i32, ptr %1134, align 4, !tbaa !5
  %3198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3199 = call i32 @s2n_print_stacktrace(ptr noundef %3198) #11
  %3200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3201 = trunc nuw i8 %3200 to i1
  br i1 %3201, label %3202, label %3206

3202:                                             ; preds = %3196
  %3203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3204 = call i32 @fileno(ptr noundef %3203) #11
  %3205 = call i32 @isatty(i32 noundef %3204) #11
  %.not664 = icmp eq i32 %3205, 0
  br i1 %.not664, label %3206, label %3207

3206:                                             ; preds = %3202, %3196
  br label %3207

3207:                                             ; preds = %3202, %3206
  %.str.4.sink1902 = phi ptr [ @.str.4, %3206 ], [ @.str, %3202 ]
  store i32 %3197, ptr %1134, align 4, !tbaa !5
  %3208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3209 = load i32, ptr @test_count, align 4, !tbaa !5
  %3210 = load i32, ptr %1080, align 4, !tbaa !5
  %3211 = call ptr @s2n_strerror(i32 noundef %3210, ptr noundef nonnull @.str.3) #11
  %3212 = load i32, ptr %1080, align 4, !tbaa !5
  %3213 = call ptr @s2n_strerror_debug(i32 noundef %3212, ptr noundef nonnull @.str.3) #11
  %3214 = load i32, ptr %1134, align 4, !tbaa !5
  %3215 = call ptr @strerror(i32 noundef %3214) #11
  %3216 = load i32, ptr %1134, align 4, !tbaa !5
  %3217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3208, ptr noundef nonnull %.str.4.sink1902, i32 noundef %3209, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.2, i32 noundef 422, ptr noundef %3211, ptr noundef %3213, ptr noundef %3215, i32 noundef %3216) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3218:                                             ; preds = %3191
  %3219 = add nsw i32 %3165, 3
  store i32 %3219, ptr @test_count, align 4, !tbaa !5
  %3220 = load ptr, ptr %40, align 8, !tbaa !9
  %3221 = getelementptr inbounds i8, ptr %4, i64 8087
  %3222 = call i64 @s2n_send(ptr noundef %3220, ptr noundef nonnull %3221, i64 noundef 8307, ptr noundef nonnull %43) #11
  %3223 = icmp eq i64 %3222, -1
  br i1 %3223, label %3246, label %3224

3224:                                             ; preds = %3218
  %3225 = load i32, ptr %1134, align 4, !tbaa !5
  %3226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3227 = call i32 @s2n_print_stacktrace(ptr noundef %3226) #11
  %3228 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3229 = trunc nuw i8 %3228 to i1
  br i1 %3229, label %3230, label %3234

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

3234:                                             ; preds = %3230, %3224
  br label %3235

3235:                                             ; preds = %3230, %3234
  %.str.4.sink1911 = phi ptr [ @.str.4, %3234 ], [ @.str, %3230 ]
  store i32 %3225, ptr %1134, align 4, !tbaa !5
  %3236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3237 = load i32, ptr @test_count, align 4, !tbaa !5
  %3238 = load i32, ptr %1080, align 4, !tbaa !5
  %3239 = call ptr @s2n_strerror(i32 noundef %3238, ptr noundef nonnull @.str.3) #11
  %3240 = load i32, ptr %1080, align 4, !tbaa !5
  %3241 = call ptr @s2n_strerror_debug(i32 noundef %3240, ptr noundef nonnull @.str.3) #11
  %3242 = load i32, ptr %1134, align 4, !tbaa !5
  %3243 = call ptr @strerror(i32 noundef %3242) #11
  %3244 = load i32, ptr %1134, align 4, !tbaa !5
  %3245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3236, ptr noundef nonnull %.str.4.sink1911, i32 noundef %3237, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.2, i32 noundef 429, ptr noundef %3239, ptr noundef %3241, ptr noundef %3243, i32 noundef %3244) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3246:                                             ; preds = %3218
  %3247 = load i32, ptr @test_count, align 4, !tbaa !5
  %3248 = add nsw i32 %3247, 1
  store i32 %3248, ptr @test_count, align 4, !tbaa !5
  %3249 = load i32, ptr %1080, align 4, !tbaa !5
  %3250 = icmp eq i32 %3249, 201326592
  br i1 %3250, label %3273, label %3251

3251:                                             ; preds = %3246
  %3252 = load i32, ptr %1134, align 4, !tbaa !5
  %3253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3254 = call i32 @s2n_print_stacktrace(ptr noundef %3253) #11
  %3255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3256 = trunc nuw i8 %3255 to i1
  br i1 %3256, label %3257, label %3261

3257:                                             ; preds = %3251
  %3258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3259 = call i32 @fileno(ptr noundef %3258) #11
  %3260 = call i32 @isatty(i32 noundef %3259) #11
  %.not666 = icmp eq i32 %3260, 0
  br i1 %.not666, label %3261, label %3262

3261:                                             ; preds = %3257, %3251
  br label %3262

3262:                                             ; preds = %3257, %3261
  %.str.4.sink1920 = phi ptr [ @.str.4, %3261 ], [ @.str, %3257 ]
  store i32 %3252, ptr %1134, align 4, !tbaa !5
  %3263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3264 = load i32, ptr @test_count, align 4, !tbaa !5
  %3265 = load i32, ptr %1080, align 4, !tbaa !5
  %3266 = call ptr @s2n_strerror(i32 noundef %3265, ptr noundef nonnull @.str.3) #11
  %3267 = load i32, ptr %1080, align 4, !tbaa !5
  %3268 = call ptr @s2n_strerror_debug(i32 noundef %3267, ptr noundef nonnull @.str.3) #11
  %3269 = load i32, ptr %1134, align 4, !tbaa !5
  %3270 = call ptr @strerror(i32 noundef %3269) #11
  %3271 = load i32, ptr %1134, align 4, !tbaa !5
  %3272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3263, ptr noundef nonnull %.str.4.sink1920, i32 noundef %3264, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.2, i32 noundef 429, ptr noundef %3266, ptr noundef %3268, ptr noundef %3270, i32 noundef %3271) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3273:                                             ; preds = %3246
  %3274 = add nsw i32 %3247, 2
  store i32 %3274, ptr @test_count, align 4, !tbaa !5
  %3275 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.3) #11
  %3276 = icmp eq ptr %3275, null
  br i1 %3276, label %3277, label %3299

3277:                                             ; preds = %3273
  %3278 = load i32, ptr %1134, align 4, !tbaa !5
  %3279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3280 = call i32 @s2n_print_stacktrace(ptr noundef %3279) #11
  %3281 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3282 = trunc nuw i8 %3281 to i1
  br i1 %3282, label %3283, label %3287

3283:                                             ; preds = %3277
  %3284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3285 = call i32 @fileno(ptr noundef %3284) #11
  %3286 = call i32 @isatty(i32 noundef %3285) #11
  %.not790 = icmp eq i32 %3286, 0
  br i1 %.not790, label %3287, label %3288

3287:                                             ; preds = %3283, %3277
  br label %3288

3288:                                             ; preds = %3283, %3287
  %.str.4.sink1929 = phi ptr [ @.str.4, %3287 ], [ @.str, %3283 ]
  store i32 %3278, ptr %1134, align 4, !tbaa !5
  %3289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3290 = load i32, ptr @test_count, align 4, !tbaa !5
  %3291 = load i32, ptr %1080, align 4, !tbaa !5
  %3292 = call ptr @s2n_strerror(i32 noundef %3291, ptr noundef nonnull @.str.3) #11
  %3293 = load i32, ptr %1080, align 4, !tbaa !5
  %3294 = call ptr @s2n_strerror_debug(i32 noundef %3293, ptr noundef nonnull @.str.3) #11
  %3295 = load i32, ptr %1134, align 4, !tbaa !5
  %3296 = call ptr @strerror(i32 noundef %3295) #11
  %3297 = load i32, ptr %1134, align 4, !tbaa !5
  %3298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3289, ptr noundef nonnull %.str.4.sink1929, i32 noundef %3290, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 429, ptr noundef %3292, ptr noundef %3294, ptr noundef %3296, i32 noundef %3297) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3299:                                             ; preds = %3273
  store i32 0, ptr %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1134, align 4, !tbaa !5
  %3300 = load i32, ptr @test_count, align 4, !tbaa !5
  %3301 = add nsw i32 %3300, 1
  store i32 %3301, ptr @test_count, align 4, !tbaa !5
  %3302 = load i32, ptr %43, align 4, !tbaa !5
  %3303 = icmp eq i32 %3302, 2
  br i1 %3303, label %3326, label %3304

3304:                                             ; preds = %3299
  %3305 = load i32, ptr %1134, align 4, !tbaa !5
  %3306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3307 = call i32 @s2n_print_stacktrace(ptr noundef %3306) #11
  %3308 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3309 = trunc nuw i8 %3308 to i1
  br i1 %3309, label %3310, label %3314

3310:                                             ; preds = %3304
  %3311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3312 = call i32 @fileno(ptr noundef %3311) #11
  %3313 = call i32 @isatty(i32 noundef %3312) #11
  %.not667 = icmp eq i32 %3313, 0
  br i1 %.not667, label %3314, label %3315

3314:                                             ; preds = %3310, %3304
  br label %3315

3315:                                             ; preds = %3310, %3314
  %.str.4.sink1938 = phi ptr [ @.str.4, %3314 ], [ @.str, %3310 ]
  store i32 %3305, ptr %1134, align 4, !tbaa !5
  %3316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3317 = load i32, ptr @test_count, align 4, !tbaa !5
  %3318 = load i32, ptr %1080, align 4, !tbaa !5
  %3319 = call ptr @s2n_strerror(i32 noundef %3318, ptr noundef nonnull @.str.3) #11
  %3320 = load i32, ptr %1080, align 4, !tbaa !5
  %3321 = call ptr @s2n_strerror_debug(i32 noundef %3320, ptr noundef nonnull @.str.3) #11
  %3322 = load i32, ptr %1134, align 4, !tbaa !5
  %3323 = call ptr @strerror(i32 noundef %3322) #11
  %3324 = load i32, ptr %1134, align 4, !tbaa !5
  %3325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3316, ptr noundef nonnull %.str.4.sink1938, i32 noundef %3317, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 430, ptr noundef %3319, ptr noundef %3321, ptr noundef %3323, i32 noundef %3324) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3326:                                             ; preds = %3299
  %3327 = add nsw i32 %3300, 2
  store i32 %3327, ptr @test_count, align 4, !tbaa !5
  %3328 = load i64, ptr %3077, align 8, !tbaa !19
  %3329 = add nsw i64 %3136, 20
  %3330 = icmp eq i64 %3328, %3329
  br i1 %3330, label %3353, label %3331

3331:                                             ; preds = %3326
  %3332 = load i32, ptr %1134, align 4, !tbaa !5
  %3333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3334 = call i32 @s2n_print_stacktrace(ptr noundef %3333) #11
  %3335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3336 = trunc nuw i8 %3335 to i1
  br i1 %3336, label %3337, label %3341

3337:                                             ; preds = %3331
  %3338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3339 = call i32 @fileno(ptr noundef %3338) #11
  %3340 = call i32 @isatty(i32 noundef %3339) #11
  %.not668 = icmp eq i32 %3340, 0
  br i1 %.not668, label %3341, label %3342

3341:                                             ; preds = %3337, %3331
  br label %3342

3342:                                             ; preds = %3337, %3341
  %.str.4.sink1947 = phi ptr [ @.str.4, %3341 ], [ @.str, %3337 ]
  store i32 %3332, ptr %1134, align 4, !tbaa !5
  %3343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3344 = load i32, ptr @test_count, align 4, !tbaa !5
  %3345 = load i32, ptr %1080, align 4, !tbaa !5
  %3346 = call ptr @s2n_strerror(i32 noundef %3345, ptr noundef nonnull @.str.3) #11
  %3347 = load i32, ptr %1080, align 4, !tbaa !5
  %3348 = call ptr @s2n_strerror_debug(i32 noundef %3347, ptr noundef nonnull @.str.3) #11
  %3349 = load i32, ptr %1134, align 4, !tbaa !5
  %3350 = call ptr @strerror(i32 noundef %3349) #11
  %3351 = load i32, ptr %1134, align 4, !tbaa !5
  %3352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3343, ptr noundef nonnull %.str.4.sink1947, i32 noundef %3344, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.2, i32 noundef 431, ptr noundef %3346, ptr noundef %3348, ptr noundef %3350, i32 noundef %3351) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3353:                                             ; preds = %3326
  %3354 = add nsw i32 %3300, 3
  store i32 %3354, ptr @test_count, align 4, !tbaa !5
  %3355 = load ptr, ptr %40, align 8, !tbaa !9
  %3356 = call i64 @s2n_send(ptr noundef %3355, ptr noundef nonnull %3221, i64 noundef 8307, ptr noundef nonnull %43) #11
  %3357 = icmp eq i64 %3356, 8307
  br i1 %3357, label %3380, label %3358

3358:                                             ; preds = %3353
  %3359 = load i32, ptr %1134, align 4, !tbaa !5
  %3360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3361 = call i32 @s2n_print_stacktrace(ptr noundef %3360) #11
  %3362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3363 = trunc nuw i8 %3362 to i1
  br i1 %3363, label %3364, label %3368

3364:                                             ; preds = %3358
  %3365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3366 = call i32 @fileno(ptr noundef %3365) #11
  %3367 = call i32 @isatty(i32 noundef %3366) #11
  %.not669 = icmp eq i32 %3367, 0
  br i1 %.not669, label %3368, label %3369

3368:                                             ; preds = %3364, %3358
  br label %3369

3369:                                             ; preds = %3364, %3368
  %.str.4.sink1956 = phi ptr [ @.str.4, %3368 ], [ @.str, %3364 ]
  store i32 %3359, ptr %1134, align 4, !tbaa !5
  %3370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3371 = load i32, ptr @test_count, align 4, !tbaa !5
  %3372 = load i32, ptr %1080, align 4, !tbaa !5
  %3373 = call ptr @s2n_strerror(i32 noundef %3372, ptr noundef nonnull @.str.3) #11
  %3374 = load i32, ptr %1080, align 4, !tbaa !5
  %3375 = call ptr @s2n_strerror_debug(i32 noundef %3374, ptr noundef nonnull @.str.3) #11
  %3376 = load i32, ptr %1134, align 4, !tbaa !5
  %3377 = call ptr @strerror(i32 noundef %3376) #11
  %3378 = load i32, ptr %1134, align 4, !tbaa !5
  %3379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3370, ptr noundef nonnull %.str.4.sink1956, i32 noundef %3371, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.2, i32 noundef 435, ptr noundef %3373, ptr noundef %3375, ptr noundef %3377, i32 noundef %3378) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3380:                                             ; preds = %3353
  %3381 = load i32, ptr @test_count, align 4, !tbaa !5
  %3382 = add nsw i32 %3381, 1
  store i32 %3382, ptr @test_count, align 4, !tbaa !5
  %3383 = load i32, ptr %43, align 4, !tbaa !5
  %3384 = icmp eq i32 %3383, 0
  br i1 %3384, label %3407, label %3385

3385:                                             ; preds = %3380
  %3386 = load i32, ptr %1134, align 4, !tbaa !5
  %3387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3388 = call i32 @s2n_print_stacktrace(ptr noundef %3387) #11
  %3389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3390 = trunc nuw i8 %3389 to i1
  br i1 %3390, label %3391, label %3395

3391:                                             ; preds = %3385
  %3392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3393 = call i32 @fileno(ptr noundef %3392) #11
  %3394 = call i32 @isatty(i32 noundef %3393) #11
  %.not670 = icmp eq i32 %3394, 0
  br i1 %.not670, label %3395, label %3396

3395:                                             ; preds = %3391, %3385
  br label %3396

3396:                                             ; preds = %3391, %3395
  %.str.4.sink1965 = phi ptr [ @.str.4, %3395 ], [ @.str, %3391 ]
  store i32 %3386, ptr %1134, align 4, !tbaa !5
  %3397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3398 = load i32, ptr @test_count, align 4, !tbaa !5
  %3399 = load i32, ptr %1080, align 4, !tbaa !5
  %3400 = call ptr @s2n_strerror(i32 noundef %3399, ptr noundef nonnull @.str.3) #11
  %3401 = load i32, ptr %1080, align 4, !tbaa !5
  %3402 = call ptr @s2n_strerror_debug(i32 noundef %3401, ptr noundef nonnull @.str.3) #11
  %3403 = load i32, ptr %1134, align 4, !tbaa !5
  %3404 = call ptr @strerror(i32 noundef %3403) #11
  %3405 = load i32, ptr %1134, align 4, !tbaa !5
  %3406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3397, ptr noundef nonnull %.str.4.sink1965, i32 noundef %3398, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 436, ptr noundef %3400, ptr noundef %3402, ptr noundef %3404, i32 noundef %3405) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3407:                                             ; preds = %3380
  %3408 = add nsw i32 %3381, 2
  store i32 %3408, ptr @test_count, align 4, !tbaa !5
  %3409 = load i64, ptr %3077, align 8, !tbaa !19
  %3410 = icmp eq i64 %3409, %2721
  br i1 %3410, label %3433, label %3411

3411:                                             ; preds = %3407
  %3412 = load i32, ptr %1134, align 4, !tbaa !5
  %3413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3414 = call i32 @s2n_print_stacktrace(ptr noundef %3413) #11
  %3415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3416 = trunc nuw i8 %3415 to i1
  br i1 %3416, label %3417, label %3421

3417:                                             ; preds = %3411
  %3418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3419 = call i32 @fileno(ptr noundef %3418) #11
  %3420 = call i32 @isatty(i32 noundef %3419) #11
  %.not671 = icmp eq i32 %3420, 0
  br i1 %.not671, label %3421, label %3422

3421:                                             ; preds = %3417, %3411
  br label %3422

3422:                                             ; preds = %3417, %3421
  %.str.4.sink1974 = phi ptr [ @.str.4, %3421 ], [ @.str, %3417 ]
  store i32 %3412, ptr %1134, align 4, !tbaa !5
  %3423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3424 = load i32, ptr @test_count, align 4, !tbaa !5
  %3425 = load i32, ptr %1080, align 4, !tbaa !5
  %3426 = call ptr @s2n_strerror(i32 noundef %3425, ptr noundef nonnull @.str.3) #11
  %3427 = load i32, ptr %1080, align 4, !tbaa !5
  %3428 = call ptr @s2n_strerror_debug(i32 noundef %3427, ptr noundef nonnull @.str.3) #11
  %3429 = load i32, ptr %1134, align 4, !tbaa !5
  %3430 = call ptr @strerror(i32 noundef %3429) #11
  %3431 = load i32, ptr %1134, align 4, !tbaa !5
  %3432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3423, ptr noundef nonnull %.str.4.sink1974, i32 noundef %3424, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.2, i32 noundef 437, ptr noundef %3426, ptr noundef %3428, ptr noundef %3430, i32 noundef %3431) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3433:                                             ; preds = %3407
  %3434 = add nsw i32 %3381, 3
  store i32 %3434, ptr @test_count, align 4, !tbaa !5
  %3435 = load ptr, ptr %40, align 8, !tbaa !9
  %3436 = getelementptr inbounds i8, ptr %3435, i64 1904
  %3437 = load i32, ptr %3436, align 8, !tbaa !47
  %3438 = icmp eq i32 %3437, %2013
  br i1 %3438, label %3461, label %3439

3439:                                             ; preds = %3433
  %3440 = load i32, ptr %1134, align 4, !tbaa !5
  %3441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3442 = call i32 @s2n_print_stacktrace(ptr noundef %3441) #11
  %3443 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3444 = trunc nuw i8 %3443 to i1
  br i1 %3444, label %3445, label %3449

3445:                                             ; preds = %3439
  %3446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3447 = call i32 @fileno(ptr noundef %3446) #11
  %3448 = call i32 @isatty(i32 noundef %3447) #11
  %.not672 = icmp eq i32 %3448, 0
  br i1 %.not672, label %3449, label %3450

3449:                                             ; preds = %3445, %3439
  br label %3450

3450:                                             ; preds = %3445, %3449
  %.str.4.sink1983 = phi ptr [ @.str.4, %3449 ], [ @.str, %3445 ]
  store i32 %3440, ptr %1134, align 4, !tbaa !5
  %3451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3452 = load i32, ptr @test_count, align 4, !tbaa !5
  %3453 = load i32, ptr %1080, align 4, !tbaa !5
  %3454 = call ptr @s2n_strerror(i32 noundef %3453, ptr noundef nonnull @.str.3) #11
  %3455 = load i32, ptr %1080, align 4, !tbaa !5
  %3456 = call ptr @s2n_strerror_debug(i32 noundef %3455, ptr noundef nonnull @.str.3) #11
  %3457 = load i32, ptr %1134, align 4, !tbaa !5
  %3458 = call ptr @strerror(i32 noundef %3457) #11
  %3459 = load i32, ptr %1134, align 4, !tbaa !5
  %3460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3451, ptr noundef nonnull %.str.4.sink1983, i32 noundef %3452, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 440, ptr noundef %3454, ptr noundef %3456, ptr noundef %3458, i32 noundef %3459) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3461:                                             ; preds = %3433
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #11
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %41) #11
  %3462 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %40) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #11
  %3463 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %3463, ptr %44, align 8, !tbaa !9
  %3464 = load i32, ptr @test_count, align 4, !tbaa !5
  %3465 = add nsw i32 %3464, 1
  store i32 %3465, ptr @test_count, align 4, !tbaa !5
  %3466 = icmp eq ptr %3463, null
  br i1 %3466, label %3467, label %3489

3467:                                             ; preds = %3461
  %3468 = load i32, ptr %1134, align 4, !tbaa !5
  %3469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3470 = call i32 @s2n_print_stacktrace(ptr noundef %3469) #11
  %3471 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3472 = trunc nuw i8 %3471 to i1
  br i1 %3472, label %3473, label %3477

3473:                                             ; preds = %3467
  %3474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3475 = call i32 @fileno(ptr noundef %3474) #11
  %3476 = call i32 @isatty(i32 noundef %3475) #11
  %.not789 = icmp eq i32 %3476, 0
  br i1 %.not789, label %3477, label %3478

3477:                                             ; preds = %3473, %3467
  br label %3478

3478:                                             ; preds = %3473, %3477
  %.str.4.sink1992 = phi ptr [ @.str.4, %3477 ], [ @.str, %3473 ]
  store i32 %3468, ptr %1134, align 4, !tbaa !5
  %3479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3480 = load i32, ptr @test_count, align 4, !tbaa !5
  %3481 = load i32, ptr %1080, align 4, !tbaa !5
  %3482 = call ptr @s2n_strerror(i32 noundef %3481, ptr noundef nonnull @.str.3) #11
  %3483 = load i32, ptr %1080, align 4, !tbaa !5
  %3484 = call ptr @s2n_strerror_debug(i32 noundef %3483, ptr noundef nonnull @.str.3) #11
  %3485 = load i32, ptr %1134, align 4, !tbaa !5
  %3486 = call ptr @strerror(i32 noundef %3485) #11
  %3487 = load i32, ptr %1134, align 4, !tbaa !5
  %3488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3479, ptr noundef nonnull %.str.4.sink1992, i32 noundef %3480, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 449, ptr noundef %3482, ptr noundef %3484, ptr noundef %3486, i32 noundef %3487) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3489:                                             ; preds = %3461
  %3490 = add nsw i32 %3464, 2
  store i32 %3490, ptr @test_count, align 4, !tbaa !5
  %3491 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %3463) #11
  %3492 = call zeroext i1 @s2n_result_is_ok(i32 %3491)
  br i1 %3492, label %3515, label %3493

3493:                                             ; preds = %3489
  %3494 = load i32, ptr %1134, align 4, !tbaa !5
  %3495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3496 = call i32 @s2n_print_stacktrace(ptr noundef %3495) #11
  %3497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3498 = trunc nuw i8 %3497 to i1
  br i1 %3498, label %3499, label %3503

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

3503:                                             ; preds = %3499, %3493
  br label %3504

3504:                                             ; preds = %3499, %3503
  %.str.4.sink2001 = phi ptr [ @.str.4, %3503 ], [ @.str, %3499 ]
  store i32 %3494, ptr %1134, align 4, !tbaa !5
  %3505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3506 = load i32, ptr @test_count, align 4, !tbaa !5
  %3507 = load i32, ptr %1080, align 4, !tbaa !5
  %3508 = call ptr @s2n_strerror(i32 noundef %3507, ptr noundef nonnull @.str.3) #11
  %3509 = load i32, ptr %1080, align 4, !tbaa !5
  %3510 = call ptr @s2n_strerror_debug(i32 noundef %3509, ptr noundef nonnull @.str.3) #11
  %3511 = load i32, ptr %1134, align 4, !tbaa !5
  %3512 = call ptr @strerror(i32 noundef %3511) #11
  %3513 = load i32, ptr %1134, align 4, !tbaa !5
  %3514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3505, ptr noundef nonnull %.str.4.sink2001, i32 noundef %3506, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 450, ptr noundef %3508, ptr noundef %3510, ptr noundef %3512, i32 noundef %3513) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3515:                                             ; preds = %3489
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %45, ptr noundef nonnull align 16 dereferenceable(32) @__const.main.results.57, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #11
  %3516 = getelementptr inbounds i8, ptr %46, i64 8
  %3517 = getelementptr inbounds i8, ptr %46, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %46, i8 0, i64 16, i1 false)
  store ptr %45, ptr %3517, align 8, !tbaa !50
  %3518 = getelementptr inbounds i8, ptr %46, i64 24
  store i64 4, ptr %3518, align 8, !tbaa !51
  %3519 = load i32, ptr @test_count, align 4, !tbaa !5
  %3520 = add nsw i32 %3519, 1
  store i32 %3520, ptr @test_count, align 4, !tbaa !5
  %3521 = load ptr, ptr %44, align 8, !tbaa !9
  %3522 = call i32 @s2n_connection_set_send_cb(ptr noundef %3521, ptr noundef nonnull @s2n_test_send_cb) #11
  %3523 = icmp eq i32 %3522, -1
  br i1 %3523, label %3524, label %3546

3524:                                             ; preds = %3515
  %3525 = load i32, ptr %1134, align 4, !tbaa !5
  %3526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3527 = call i32 @s2n_print_stacktrace(ptr noundef %3526) #11
  %3528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3529 = trunc nuw i8 %3528 to i1
  br i1 %3529, label %3530, label %3534

3530:                                             ; preds = %3524
  %3531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3532 = call i32 @fileno(ptr noundef %3531) #11
  %3533 = call i32 @isatty(i32 noundef %3532) #11
  %.not788 = icmp eq i32 %3533, 0
  br i1 %.not788, label %3534, label %3535

3534:                                             ; preds = %3530, %3524
  br label %3535

3535:                                             ; preds = %3530, %3534
  %.str.4.sink2010 = phi ptr [ @.str.4, %3534 ], [ @.str, %3530 ]
  store i32 %3525, ptr %1134, align 4, !tbaa !5
  %3536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3537 = load i32, ptr @test_count, align 4, !tbaa !5
  %3538 = load i32, ptr %1080, align 4, !tbaa !5
  %3539 = call ptr @s2n_strerror(i32 noundef %3538, ptr noundef nonnull @.str.3) #11
  %3540 = load i32, ptr %1080, align 4, !tbaa !5
  %3541 = call ptr @s2n_strerror_debug(i32 noundef %3540, ptr noundef nonnull @.str.3) #11
  %3542 = load i32, ptr %1134, align 4, !tbaa !5
  %3543 = call ptr @strerror(i32 noundef %3542) #11
  %3544 = load i32, ptr %1134, align 4, !tbaa !5
  %3545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3536, ptr noundef nonnull %.str.4.sink2010, i32 noundef %3537, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 459, ptr noundef %3539, ptr noundef %3541, ptr noundef %3543, i32 noundef %3544) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3546:                                             ; preds = %3515
  %3547 = load i32, ptr @test_count, align 4, !tbaa !5
  %3548 = add nsw i32 %3547, 1
  store i32 %3548, ptr @test_count, align 4, !tbaa !5
  %3549 = load ptr, ptr %44, align 8, !tbaa !9
  %3550 = call i32 @s2n_connection_set_send_ctx(ptr noundef %3549, ptr noundef nonnull %46) #11
  %3551 = icmp eq i32 %3550, -1
  br i1 %3551, label %3552, label %3574

3552:                                             ; preds = %3546
  %3553 = load i32, ptr %1134, align 4, !tbaa !5
  %3554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3555 = call i32 @s2n_print_stacktrace(ptr noundef %3554) #11
  %3556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3557 = trunc nuw i8 %3556 to i1
  br i1 %3557, label %3558, label %3562

3558:                                             ; preds = %3552
  %3559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3560 = call i32 @fileno(ptr noundef %3559) #11
  %3561 = call i32 @isatty(i32 noundef %3560) #11
  %.not787 = icmp eq i32 %3561, 0
  br i1 %.not787, label %3562, label %3563

3562:                                             ; preds = %3558, %3552
  br label %3563

3563:                                             ; preds = %3558, %3562
  %.str.4.sink2019 = phi ptr [ @.str.4, %3562 ], [ @.str, %3558 ]
  store i32 %3553, ptr %1134, align 4, !tbaa !5
  %3564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3565 = load i32, ptr @test_count, align 4, !tbaa !5
  %3566 = load i32, ptr %1080, align 4, !tbaa !5
  %3567 = call ptr @s2n_strerror(i32 noundef %3566, ptr noundef nonnull @.str.3) #11
  %3568 = load i32, ptr %1080, align 4, !tbaa !5
  %3569 = call ptr @s2n_strerror_debug(i32 noundef %3568, ptr noundef nonnull @.str.3) #11
  %3570 = load i32, ptr %1134, align 4, !tbaa !5
  %3571 = call ptr @strerror(i32 noundef %3570) #11
  %3572 = load i32, ptr %1134, align 4, !tbaa !5
  %3573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3564, ptr noundef nonnull %.str.4.sink2019, i32 noundef %3565, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 460, ptr noundef %3567, ptr noundef %3569, ptr noundef %3571, i32 noundef %3572) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3574:                                             ; preds = %3546
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %47) #11
  store i32 0, ptr %47, align 4, !tbaa !5
  %3575 = load i32, ptr @test_count, align 4, !tbaa !5
  %3576 = add nsw i32 %3575, 1
  store i32 %3576, ptr @test_count, align 4, !tbaa !5
  %3577 = load ptr, ptr %44, align 8, !tbaa !9
  %3578 = call i64 @s2n_send(ptr noundef %3577, ptr noundef nonnull %4, i64 noundef 16394, ptr noundef nonnull %47) #11
  %3579 = icmp eq i64 %3578, 16174
  br i1 %3579, label %3602, label %3580

3580:                                             ; preds = %3574
  %3581 = load i32, ptr %1134, align 4, !tbaa !5
  %3582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3583 = call i32 @s2n_print_stacktrace(ptr noundef %3582) #11
  %3584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3585 = trunc nuw i8 %3584 to i1
  br i1 %3585, label %3586, label %3590

3586:                                             ; preds = %3580
  %3587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3588 = call i32 @fileno(ptr noundef %3587) #11
  %3589 = call i32 @isatty(i32 noundef %3588) #11
  %.not674 = icmp eq i32 %3589, 0
  br i1 %.not674, label %3590, label %3591

3590:                                             ; preds = %3586, %3580
  br label %3591

3591:                                             ; preds = %3586, %3590
  %.str.4.sink2028 = phi ptr [ @.str.4, %3590 ], [ @.str, %3586 ]
  store i32 %3581, ptr %1134, align 4, !tbaa !5
  %3592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3593 = load i32, ptr @test_count, align 4, !tbaa !5
  %3594 = load i32, ptr %1080, align 4, !tbaa !5
  %3595 = call ptr @s2n_strerror(i32 noundef %3594, ptr noundef nonnull @.str.3) #11
  %3596 = load i32, ptr %1080, align 4, !tbaa !5
  %3597 = call ptr @s2n_strerror_debug(i32 noundef %3596, ptr noundef nonnull @.str.3) #11
  %3598 = load i32, ptr %1134, align 4, !tbaa !5
  %3599 = call ptr @strerror(i32 noundef %3598) #11
  %3600 = load i32, ptr %1134, align 4, !tbaa !5
  %3601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3592, ptr noundef nonnull %.str.4.sink2028, i32 noundef %3593, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.2, i32 noundef 467, ptr noundef %3595, ptr noundef %3597, ptr noundef %3599, i32 noundef %3600) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3602:                                             ; preds = %3574
  %3603 = load i32, ptr @test_count, align 4, !tbaa !5
  %3604 = add nsw i32 %3603, 1
  store i32 %3604, ptr @test_count, align 4, !tbaa !5
  %3605 = load i32, ptr %47, align 4, !tbaa !5
  %3606 = icmp eq i32 %3605, 2
  br i1 %3606, label %3629, label %3607

3607:                                             ; preds = %3602
  %3608 = load i32, ptr %1134, align 4, !tbaa !5
  %3609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3610 = call i32 @s2n_print_stacktrace(ptr noundef %3609) #11
  %3611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3612 = trunc nuw i8 %3611 to i1
  br i1 %3612, label %3613, label %3617

3613:                                             ; preds = %3607
  %3614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3615 = call i32 @fileno(ptr noundef %3614) #11
  %3616 = call i32 @isatty(i32 noundef %3615) #11
  %.not675 = icmp eq i32 %3616, 0
  br i1 %.not675, label %3617, label %3618

3617:                                             ; preds = %3613, %3607
  br label %3618

3618:                                             ; preds = %3613, %3617
  %.str.4.sink2037 = phi ptr [ @.str.4, %3617 ], [ @.str, %3613 ]
  store i32 %3608, ptr %1134, align 4, !tbaa !5
  %3619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3620 = load i32, ptr @test_count, align 4, !tbaa !5
  %3621 = load i32, ptr %1080, align 4, !tbaa !5
  %3622 = call ptr @s2n_strerror(i32 noundef %3621, ptr noundef nonnull @.str.3) #11
  %3623 = load i32, ptr %1080, align 4, !tbaa !5
  %3624 = call ptr @s2n_strerror_debug(i32 noundef %3623, ptr noundef nonnull @.str.3) #11
  %3625 = load i32, ptr %1134, align 4, !tbaa !5
  %3626 = call ptr @strerror(i32 noundef %3625) #11
  %3627 = load i32, ptr %1134, align 4, !tbaa !5
  %3628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3619, ptr noundef nonnull %.str.4.sink2037, i32 noundef %3620, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 468, ptr noundef %3622, ptr noundef %3624, ptr noundef %3626, i32 noundef %3627) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3629:                                             ; preds = %3602
  %3630 = add nsw i32 %3603, 2
  store i32 %3630, ptr @test_count, align 4, !tbaa !5
  %3631 = load i64, ptr %3516, align 8, !tbaa !19
  %3632 = shl nsw i64 %3136, 1
  %3633 = icmp eq i64 %3631, %3632
  br i1 %3633, label %3656, label %3634

3634:                                             ; preds = %3629
  %3635 = load i32, ptr %1134, align 4, !tbaa !5
  %3636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3637 = call i32 @s2n_print_stacktrace(ptr noundef %3636) #11
  %3638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3639 = trunc nuw i8 %3638 to i1
  br i1 %3639, label %3640, label %3644

3640:                                             ; preds = %3634
  %3641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3642 = call i32 @fileno(ptr noundef %3641) #11
  %3643 = call i32 @isatty(i32 noundef %3642) #11
  %.not676 = icmp eq i32 %3643, 0
  br i1 %.not676, label %3644, label %3645

3644:                                             ; preds = %3640, %3634
  br label %3645

3645:                                             ; preds = %3640, %3644
  %.str.4.sink2046 = phi ptr [ @.str.4, %3644 ], [ @.str, %3640 ]
  store i32 %3635, ptr %1134, align 4, !tbaa !5
  %3646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3647 = load i32, ptr @test_count, align 4, !tbaa !5
  %3648 = load i32, ptr %1080, align 4, !tbaa !5
  %3649 = call ptr @s2n_strerror(i32 noundef %3648, ptr noundef nonnull @.str.3) #11
  %3650 = load i32, ptr %1080, align 4, !tbaa !5
  %3651 = call ptr @s2n_strerror_debug(i32 noundef %3650, ptr noundef nonnull @.str.3) #11
  %3652 = load i32, ptr %1134, align 4, !tbaa !5
  %3653 = call ptr @strerror(i32 noundef %3652) #11
  %3654 = load i32, ptr %1134, align 4, !tbaa !5
  %3655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3646, ptr noundef nonnull %.str.4.sink2046, i32 noundef %3647, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.2, i32 noundef 469, ptr noundef %3649, ptr noundef %3651, ptr noundef %3653, i32 noundef %3654) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3656:                                             ; preds = %3629
  %3657 = add nsw i32 %3603, 3
  store i32 %3657, ptr @test_count, align 4, !tbaa !5
  %3658 = load ptr, ptr %44, align 8, !tbaa !9
  %3659 = getelementptr inbounds i8, ptr %4, i64 16174
  %3660 = call i64 @s2n_send(ptr noundef %3658, ptr noundef nonnull %3659, i64 noundef 220, ptr noundef nonnull %47) #11
  %3661 = icmp eq i64 %3660, 220
  br i1 %3661, label %3684, label %3662

3662:                                             ; preds = %3656
  %3663 = load i32, ptr %1134, align 4, !tbaa !5
  %3664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3665 = call i32 @s2n_print_stacktrace(ptr noundef %3664) #11
  %3666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3667 = trunc nuw i8 %3666 to i1
  br i1 %3667, label %3668, label %3672

3668:                                             ; preds = %3662
  %3669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3670 = call i32 @fileno(ptr noundef %3669) #11
  %3671 = call i32 @isatty(i32 noundef %3670) #11
  %.not677 = icmp eq i32 %3671, 0
  br i1 %.not677, label %3672, label %3673

3672:                                             ; preds = %3668, %3662
  br label %3673

3673:                                             ; preds = %3668, %3672
  %.str.4.sink2055 = phi ptr [ @.str.4, %3672 ], [ @.str, %3668 ]
  store i32 %3663, ptr %1134, align 4, !tbaa !5
  %3674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3675 = load i32, ptr @test_count, align 4, !tbaa !5
  %3676 = load i32, ptr %1080, align 4, !tbaa !5
  %3677 = call ptr @s2n_strerror(i32 noundef %3676, ptr noundef nonnull @.str.3) #11
  %3678 = load i32, ptr %1080, align 4, !tbaa !5
  %3679 = call ptr @s2n_strerror_debug(i32 noundef %3678, ptr noundef nonnull @.str.3) #11
  %3680 = load i32, ptr %1134, align 4, !tbaa !5
  %3681 = call ptr @strerror(i32 noundef %3680) #11
  %3682 = load i32, ptr %1134, align 4, !tbaa !5
  %3683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3674, ptr noundef nonnull %.str.4.sink2055, i32 noundef %3675, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.2, i32 noundef 476, ptr noundef %3677, ptr noundef %3679, ptr noundef %3681, i32 noundef %3682) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3684:                                             ; preds = %3656
  %3685 = load i32, ptr @test_count, align 4, !tbaa !5
  %3686 = add nsw i32 %3685, 1
  store i32 %3686, ptr @test_count, align 4, !tbaa !5
  %3687 = load i32, ptr %47, align 4, !tbaa !5
  %3688 = icmp eq i32 %3687, 0
  br i1 %3688, label %3711, label %3689

3689:                                             ; preds = %3684
  %3690 = load i32, ptr %1134, align 4, !tbaa !5
  %3691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3692 = call i32 @s2n_print_stacktrace(ptr noundef %3691) #11
  %3693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3694 = trunc nuw i8 %3693 to i1
  br i1 %3694, label %3695, label %3699

3695:                                             ; preds = %3689
  %3696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3697 = call i32 @fileno(ptr noundef %3696) #11
  %3698 = call i32 @isatty(i32 noundef %3697) #11
  %.not678 = icmp eq i32 %3698, 0
  br i1 %.not678, label %3699, label %3700

3699:                                             ; preds = %3695, %3689
  br label %3700

3700:                                             ; preds = %3695, %3699
  %.str.4.sink2064 = phi ptr [ @.str.4, %3699 ], [ @.str, %3695 ]
  store i32 %3690, ptr %1134, align 4, !tbaa !5
  %3701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3702 = load i32, ptr @test_count, align 4, !tbaa !5
  %3703 = load i32, ptr %1080, align 4, !tbaa !5
  %3704 = call ptr @s2n_strerror(i32 noundef %3703, ptr noundef nonnull @.str.3) #11
  %3705 = load i32, ptr %1080, align 4, !tbaa !5
  %3706 = call ptr @s2n_strerror_debug(i32 noundef %3705, ptr noundef nonnull @.str.3) #11
  %3707 = load i32, ptr %1134, align 4, !tbaa !5
  %3708 = call ptr @strerror(i32 noundef %3707) #11
  %3709 = load i32, ptr %1134, align 4, !tbaa !5
  %3710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3701, ptr noundef nonnull %.str.4.sink2064, i32 noundef %3702, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 477, ptr noundef %3704, ptr noundef %3706, ptr noundef %3708, i32 noundef %3709) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3711:                                             ; preds = %3684
  %3712 = add nsw i32 %3685, 2
  store i32 %3712, ptr @test_count, align 4, !tbaa !5
  %3713 = load i64, ptr %3516, align 8, !tbaa !19
  %3714 = icmp eq i64 %3713, %2721
  br i1 %3714, label %3737, label %3715

3715:                                             ; preds = %3711
  %3716 = load i32, ptr %1134, align 4, !tbaa !5
  %3717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3718 = call i32 @s2n_print_stacktrace(ptr noundef %3717) #11
  %3719 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3720 = trunc nuw i8 %3719 to i1
  br i1 %3720, label %3721, label %3725

3721:                                             ; preds = %3715
  %3722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3723 = call i32 @fileno(ptr noundef %3722) #11
  %3724 = call i32 @isatty(i32 noundef %3723) #11
  %.not679 = icmp eq i32 %3724, 0
  br i1 %.not679, label %3725, label %3726

3725:                                             ; preds = %3721, %3715
  br label %3726

3726:                                             ; preds = %3721, %3725
  %.str.4.sink2073 = phi ptr [ @.str.4, %3725 ], [ @.str, %3721 ]
  store i32 %3716, ptr %1134, align 4, !tbaa !5
  %3727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3728 = load i32, ptr @test_count, align 4, !tbaa !5
  %3729 = load i32, ptr %1080, align 4, !tbaa !5
  %3730 = call ptr @s2n_strerror(i32 noundef %3729, ptr noundef nonnull @.str.3) #11
  %3731 = load i32, ptr %1080, align 4, !tbaa !5
  %3732 = call ptr @s2n_strerror_debug(i32 noundef %3731, ptr noundef nonnull @.str.3) #11
  %3733 = load i32, ptr %1134, align 4, !tbaa !5
  %3734 = call ptr @strerror(i32 noundef %3733) #11
  %3735 = load i32, ptr %1134, align 4, !tbaa !5
  %3736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3727, ptr noundef nonnull %.str.4.sink2073, i32 noundef %3728, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.2, i32 noundef 478, ptr noundef %3730, ptr noundef %3732, ptr noundef %3734, i32 noundef %3735) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3737:                                             ; preds = %3711
  %3738 = add nsw i32 %3685, 3
  store i32 %3738, ptr @test_count, align 4, !tbaa !5
  %3739 = load ptr, ptr %44, align 8, !tbaa !9
  %3740 = getelementptr inbounds i8, ptr %3739, i64 1904
  %3741 = load i32, ptr %3740, align 8, !tbaa !47
  %3742 = icmp eq i32 %3741, %2013
  br i1 %3742, label %3765, label %3743

3743:                                             ; preds = %3737
  %3744 = load i32, ptr %1134, align 4, !tbaa !5
  %3745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3746 = call i32 @s2n_print_stacktrace(ptr noundef %3745) #11
  %3747 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3748 = trunc nuw i8 %3747 to i1
  br i1 %3748, label %3749, label %3753

3749:                                             ; preds = %3743
  %3750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3751 = call i32 @fileno(ptr noundef %3750) #11
  %3752 = call i32 @isatty(i32 noundef %3751) #11
  %.not680 = icmp eq i32 %3752, 0
  br i1 %.not680, label %3753, label %3754

3753:                                             ; preds = %3749, %3743
  br label %3754

3754:                                             ; preds = %3749, %3753
  %.str.4.sink2082 = phi ptr [ @.str.4, %3753 ], [ @.str, %3749 ]
  store i32 %3744, ptr %1134, align 4, !tbaa !5
  %3755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3756 = load i32, ptr @test_count, align 4, !tbaa !5
  %3757 = load i32, ptr %1080, align 4, !tbaa !5
  %3758 = call ptr @s2n_strerror(i32 noundef %3757, ptr noundef nonnull @.str.3) #11
  %3759 = load i32, ptr %1080, align 4, !tbaa !5
  %3760 = call ptr @s2n_strerror_debug(i32 noundef %3759, ptr noundef nonnull @.str.3) #11
  %3761 = load i32, ptr %1134, align 4, !tbaa !5
  %3762 = call ptr @strerror(i32 noundef %3761) #11
  %3763 = load i32, ptr %1134, align 4, !tbaa !5
  %3764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3755, ptr noundef nonnull %.str.4.sink2082, i32 noundef %3756, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 481, ptr noundef %3758, ptr noundef %3760, ptr noundef %3762, i32 noundef %3763) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3765:                                             ; preds = %3737
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #11
  %3766 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %44) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #11
  %.sroa.8.0..sroa_idx571 = getelementptr inbounds i8, ptr %49, i64 16
  %.sroa.9.0..sroa_idx577 = getelementptr inbounds i8, ptr %49, i64 24
  br label %3772

3767:                                             ; preds = %4027
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #11
  %3768 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %3768, ptr %51, align 8, !tbaa !9
  %3769 = load i32, ptr @test_count, align 4, !tbaa !5
  %3770 = add nsw i32 %3769, 1
  store i32 %3770, ptr @test_count, align 4, !tbaa !5
  %3771 = icmp eq ptr %3768, null
  br i1 %3771, label %4030, label %4052

3772:                                             ; preds = %3765, %4027
  %.0596844 = phi i64 [ 0, %3765 ], [ %4029, %4027 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #11
  %3773 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %3773, ptr %48, align 8, !tbaa !9
  %3774 = load i32, ptr @test_count, align 4, !tbaa !5
  %3775 = add nsw i32 %3774, 1
  store i32 %3775, ptr @test_count, align 4, !tbaa !5
  %3776 = icmp eq ptr %3773, null
  br i1 %3776, label %3777, label %3799

3777:                                             ; preds = %3772
  %3778 = load i32, ptr %1134, align 4, !tbaa !5
  %3779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3780 = call i32 @s2n_print_stacktrace(ptr noundef %3779) #11
  %3781 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3782 = trunc nuw i8 %3781 to i1
  br i1 %3782, label %3783, label %3787

3783:                                             ; preds = %3777
  %3784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3785 = call i32 @fileno(ptr noundef %3784) #11
  %3786 = call i32 @isatty(i32 noundef %3785) #11
  %.not786 = icmp eq i32 %3786, 0
  br i1 %.not786, label %3787, label %3788

3787:                                             ; preds = %3783, %3777
  br label %3788

3788:                                             ; preds = %3783, %3787
  %.str.4.sink2091 = phi ptr [ @.str.4, %3787 ], [ @.str, %3783 ]
  store i32 %3778, ptr %1134, align 4, !tbaa !5
  %3789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3790 = load i32, ptr @test_count, align 4, !tbaa !5
  %3791 = load i32, ptr %1080, align 4, !tbaa !5
  %3792 = call ptr @s2n_strerror(i32 noundef %3791, ptr noundef nonnull @.str.3) #11
  %3793 = load i32, ptr %1080, align 4, !tbaa !5
  %3794 = call ptr @s2n_strerror_debug(i32 noundef %3793, ptr noundef nonnull @.str.3) #11
  %3795 = load i32, ptr %1134, align 4, !tbaa !5
  %3796 = call ptr @strerror(i32 noundef %3795) #11
  %3797 = load i32, ptr %1134, align 4, !tbaa !5
  %3798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3789, ptr noundef nonnull %.str.4.sink2091, i32 noundef %3790, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 488, ptr noundef %3792, ptr noundef %3794, ptr noundef %3796, i32 noundef %3797) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3799:                                             ; preds = %3772
  %3800 = add nsw i32 %3774, 2
  store i32 %3800, ptr @test_count, align 4, !tbaa !5
  %3801 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %3773) #11
  %3802 = call zeroext i1 @s2n_result_is_ok(i32 %3801)
  br i1 %3802, label %3825, label %3803

3803:                                             ; preds = %3799
  %3804 = load i32, ptr %1134, align 4, !tbaa !5
  %3805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3806 = call i32 @s2n_print_stacktrace(ptr noundef %3805) #11
  %3807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3808 = trunc nuw i8 %3807 to i1
  br i1 %3808, label %3809, label %3813

3809:                                             ; preds = %3803
  %3810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3811 = call i32 @fileno(ptr noundef %3810) #11
  %3812 = call i32 @isatty(i32 noundef %3811) #11
  %.not778 = icmp eq i32 %3812, 0
  br i1 %.not778, label %3813, label %3814

3813:                                             ; preds = %3809, %3803
  br label %3814

3814:                                             ; preds = %3809, %3813
  %.str.4.sink2100 = phi ptr [ @.str.4, %3813 ], [ @.str, %3809 ]
  store i32 %3804, ptr %1134, align 4, !tbaa !5
  %3815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3816 = load i32, ptr @test_count, align 4, !tbaa !5
  %3817 = load i32, ptr %1080, align 4, !tbaa !5
  %3818 = call ptr @s2n_strerror(i32 noundef %3817, ptr noundef nonnull @.str.3) #11
  %3819 = load i32, ptr %1080, align 4, !tbaa !5
  %3820 = call ptr @s2n_strerror_debug(i32 noundef %3819, ptr noundef nonnull @.str.3) #11
  %3821 = load i32, ptr %1134, align 4, !tbaa !5
  %3822 = call ptr @strerror(i32 noundef %3821) #11
  %3823 = load i32, ptr %1134, align 4, !tbaa !5
  %3824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3815, ptr noundef nonnull %.str.4.sink2100, i32 noundef %3816, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 489, ptr noundef %3818, ptr noundef %3820, ptr noundef %3822, i32 noundef %3823) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3825:                                             ; preds = %3799
  %3826 = load i32, ptr @test_count, align 4, !tbaa !5
  %3827 = add nsw i32 %3826, 1
  store i32 %3827, ptr @test_count, align 4, !tbaa !5
  %3828 = load ptr, ptr %48, align 8, !tbaa !9
  %3829 = trunc nuw nsw i64 %.0596844 to i32
  %3830 = call i32 @s2n_set_test_max_fragment_len(ptr noundef %3828, i32 noundef %3829)
  %3831 = call zeroext i1 @s2n_result_is_ok(i32 %3830)
  br i1 %3831, label %3854, label %3832

3832:                                             ; preds = %3825
  %3833 = load i32, ptr %1134, align 4, !tbaa !5
  %3834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3835 = call i32 @s2n_print_stacktrace(ptr noundef %3834) #11
  %3836 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3837 = trunc nuw i8 %3836 to i1
  br i1 %3837, label %3838, label %3842

3838:                                             ; preds = %3832
  %3839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3840 = call i32 @fileno(ptr noundef %3839) #11
  %3841 = call i32 @isatty(i32 noundef %3840) #11
  %.not779 = icmp eq i32 %3841, 0
  br i1 %.not779, label %3842, label %3843

3842:                                             ; preds = %3838, %3832
  br label %3843

3843:                                             ; preds = %3838, %3842
  %.str.4.sink2109 = phi ptr [ @.str.4, %3842 ], [ @.str, %3838 ]
  store i32 %3833, ptr %1134, align 4, !tbaa !5
  %3844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3845 = load i32, ptr @test_count, align 4, !tbaa !5
  %3846 = load i32, ptr %1080, align 4, !tbaa !5
  %3847 = call ptr @s2n_strerror(i32 noundef %3846, ptr noundef nonnull @.str.3) #11
  %3848 = load i32, ptr %1080, align 4, !tbaa !5
  %3849 = call ptr @s2n_strerror_debug(i32 noundef %3848, ptr noundef nonnull @.str.3) #11
  %3850 = load i32, ptr %1134, align 4, !tbaa !5
  %3851 = call ptr @strerror(i32 noundef %3850) #11
  %3852 = load i32, ptr %1134, align 4, !tbaa !5
  %3853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3844, ptr noundef nonnull %.str.4.sink2109, i32 noundef %3845, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.2, i32 noundef 490, ptr noundef %3847, ptr noundef %3849, ptr noundef %3851, i32 noundef %3852) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3854:                                             ; preds = %3825
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %49, i8 0, i64 16, i1 false)
  store ptr %6, ptr %.sroa.8.0..sroa_idx571, align 8, !tbaa !9
  store i64 50, ptr %.sroa.9.0..sroa_idx577, align 8, !tbaa !15
  %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 %48, align 8, !tbaa !9
  %3858 = call i32 @s2n_connection_set_send_cb(ptr noundef %3857, ptr noundef nonnull @s2n_test_send_cb) #11
  %3859 = icmp eq i32 %3858, -1
  br i1 %3859, label %3860, label %3882

3860:                                             ; preds = %3854
  %3861 = load i32, ptr %1134, align 4, !tbaa !5
  %3862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3863 = call i32 @s2n_print_stacktrace(ptr noundef %3862) #11
  %3864 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3865 = trunc nuw i8 %3864 to i1
  br i1 %3865, label %3866, label %3870

3866:                                             ; preds = %3860
  %3867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3868 = call i32 @fileno(ptr noundef %3867) #11
  %3869 = call i32 @isatty(i32 noundef %3868) #11
  %.not785 = icmp eq i32 %3869, 0
  br i1 %.not785, label %3870, label %3871

3870:                                             ; preds = %3866, %3860
  br label %3871

3871:                                             ; preds = %3866, %3870
  %.str.4.sink2118 = phi ptr [ @.str.4, %3870 ], [ @.str, %3866 ]
  store i32 %3861, ptr %1134, align 4, !tbaa !5
  %3872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3873 = load i32, ptr @test_count, align 4, !tbaa !5
  %3874 = load i32, ptr %1080, align 4, !tbaa !5
  %3875 = call ptr @s2n_strerror(i32 noundef %3874, ptr noundef nonnull @.str.3) #11
  %3876 = load i32, ptr %1080, align 4, !tbaa !5
  %3877 = call ptr @s2n_strerror_debug(i32 noundef %3876, ptr noundef nonnull @.str.3) #11
  %3878 = load i32, ptr %1134, align 4, !tbaa !5
  %3879 = call ptr @strerror(i32 noundef %3878) #11
  %3880 = load i32, ptr %1134, align 4, !tbaa !5
  %3881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3872, ptr noundef nonnull %.str.4.sink2118, i32 noundef %3873, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 493, ptr noundef %3875, ptr noundef %3877, ptr noundef %3879, i32 noundef %3880) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3882:                                             ; preds = %3854
  %3883 = load i32, ptr @test_count, align 4, !tbaa !5
  %3884 = add nsw i32 %3883, 1
  store i32 %3884, ptr @test_count, align 4, !tbaa !5
  %3885 = load ptr, ptr %48, align 8, !tbaa !9
  %3886 = call i32 @s2n_connection_set_send_ctx(ptr noundef %3885, ptr noundef nonnull %49) #11
  %3887 = icmp eq i32 %3886, -1
  br i1 %3887, label %3888, label %3910

3888:                                             ; preds = %3882
  %3889 = load i32, ptr %1134, align 4, !tbaa !5
  %3890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3891 = call i32 @s2n_print_stacktrace(ptr noundef %3890) #11
  %3892 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3893 = trunc nuw i8 %3892 to i1
  br i1 %3893, label %3894, label %3898

3894:                                             ; preds = %3888
  %3895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3896 = call i32 @fileno(ptr noundef %3895) #11
  %3897 = call i32 @isatty(i32 noundef %3896) #11
  %.not784 = icmp eq i32 %3897, 0
  br i1 %.not784, label %3898, label %3899

3898:                                             ; preds = %3894, %3888
  br label %3899

3899:                                             ; preds = %3894, %3898
  %.str.4.sink2127 = phi ptr [ @.str.4, %3898 ], [ @.str, %3894 ]
  store i32 %3889, ptr %1134, align 4, !tbaa !5
  %3900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3901 = load i32, ptr @test_count, align 4, !tbaa !5
  %3902 = load i32, ptr %1080, align 4, !tbaa !5
  %3903 = call ptr @s2n_strerror(i32 noundef %3902, ptr noundef nonnull @.str.3) #11
  %3904 = load i32, ptr %1080, align 4, !tbaa !5
  %3905 = call ptr @s2n_strerror_debug(i32 noundef %3904, ptr noundef nonnull @.str.3) #11
  %3906 = load i32, ptr %1134, align 4, !tbaa !5
  %3907 = call ptr @strerror(i32 noundef %3906) #11
  %3908 = load i32, ptr %1134, align 4, !tbaa !5
  %3909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3900, ptr noundef nonnull %.str.4.sink2127, i32 noundef %3901, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 494, ptr noundef %3903, ptr noundef %3905, ptr noundef %3907, i32 noundef %3908) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3910:                                             ; preds = %3882
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %50) #11
  store i32 0, ptr %50, align 4, !tbaa !5
  %3911 = load i32, ptr @test_count, align 4, !tbaa !5
  %3912 = add nsw i32 %3911, 1
  store i32 %3912, ptr @test_count, align 4, !tbaa !5
  %3913 = load ptr, ptr %48, align 8, !tbaa !9
  %3914 = call i64 @s2n_send(ptr noundef %3913, ptr noundef nonnull %4, i64 noundef 16394, ptr noundef nonnull %50) #11
  %3915 = icmp eq i64 %3914, 16394
  br i1 %3915, label %3938, label %3916

3916:                                             ; preds = %3910
  %3917 = load i32, ptr %1134, align 4, !tbaa !5
  %3918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3919 = call i32 @s2n_print_stacktrace(ptr noundef %3918) #11
  %3920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3921 = trunc nuw i8 %3920 to i1
  br i1 %3921, label %3922, label %3926

3922:                                             ; preds = %3916
  %3923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3924 = call i32 @fileno(ptr noundef %3923) #11
  %3925 = call i32 @isatty(i32 noundef %3924) #11
  %.not780 = icmp eq i32 %3925, 0
  br i1 %.not780, label %3926, label %3927

3926:                                             ; preds = %3922, %3916
  br label %3927

3927:                                             ; preds = %3922, %3926
  %.str.4.sink2136 = phi ptr [ @.str.4, %3926 ], [ @.str, %3922 ]
  store i32 %3917, ptr %1134, align 4, !tbaa !5
  %3928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3929 = load i32, ptr @test_count, align 4, !tbaa !5
  %3930 = load i32, ptr %1080, align 4, !tbaa !5
  %3931 = call ptr @s2n_strerror(i32 noundef %3930, ptr noundef nonnull @.str.3) #11
  %3932 = load i32, ptr %1080, align 4, !tbaa !5
  %3933 = call ptr @s2n_strerror_debug(i32 noundef %3932, ptr noundef nonnull @.str.3) #11
  %3934 = load i32, ptr %1134, align 4, !tbaa !5
  %3935 = call ptr @strerror(i32 noundef %3934) #11
  %3936 = load i32, ptr %1134, align 4, !tbaa !5
  %3937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3928, ptr noundef nonnull %.str.4.sink2136, i32 noundef %3929, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.2, i32 noundef 497, ptr noundef %3931, ptr noundef %3933, ptr noundef %3935, i32 noundef %3936) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3938:                                             ; preds = %3910
  %3939 = load i32, ptr @test_count, align 4, !tbaa !5
  %3940 = add nsw i32 %3939, 1
  store i32 %3940, ptr @test_count, align 4, !tbaa !5
  %3941 = load i32, ptr %50, align 4, !tbaa !5
  %3942 = icmp eq i32 %3941, 0
  br i1 %3942, label %3965, label %3943

3943:                                             ; preds = %3938
  %3944 = load i32, ptr %1134, align 4, !tbaa !5
  %3945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3946 = call i32 @s2n_print_stacktrace(ptr noundef %3945) #11
  %3947 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3948 = trunc nuw i8 %3947 to i1
  br i1 %3948, label %3949, label %3953

3949:                                             ; preds = %3943
  %3950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3951 = call i32 @fileno(ptr noundef %3950) #11
  %3952 = call i32 @isatty(i32 noundef %3951) #11
  %.not781 = icmp eq i32 %3952, 0
  br i1 %.not781, label %3953, label %3954

3953:                                             ; preds = %3949, %3943
  br label %3954

3954:                                             ; preds = %3949, %3953
  %.str.4.sink2145 = phi ptr [ @.str.4, %3953 ], [ @.str, %3949 ]
  store i32 %3944, ptr %1134, align 4, !tbaa !5
  %3955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3956 = load i32, ptr @test_count, align 4, !tbaa !5
  %3957 = load i32, ptr %1080, align 4, !tbaa !5
  %3958 = call ptr @s2n_strerror(i32 noundef %3957, ptr noundef nonnull @.str.3) #11
  %3959 = load i32, ptr %1080, align 4, !tbaa !5
  %3960 = call ptr @s2n_strerror_debug(i32 noundef %3959, ptr noundef nonnull @.str.3) #11
  %3961 = load i32, ptr %1134, align 4, !tbaa !5
  %3962 = call ptr @strerror(i32 noundef %3961) #11
  %3963 = load i32, ptr %1134, align 4, !tbaa !5
  %3964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3955, ptr noundef nonnull %.str.4.sink2145, i32 noundef %3956, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 498, ptr noundef %3958, ptr noundef %3960, ptr noundef %3962, i32 noundef %3963) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3965:                                             ; preds = %3938
  %3966 = load ptr, ptr %48, align 8, !tbaa !9
  %3967 = getelementptr inbounds i8, ptr %3966, i64 2208
  %3968 = load i16, ptr %3967, align 8, !tbaa !46
  %3969 = uitofp i16 %3968 to double
  %3970 = fdiv double 1.639400e+04, %3969
  %3971 = call double @llvm.ceil.f64(double %3970)
  %3972 = fptoui double %3971 to i64
  %3973 = add nsw i32 %3939, 2
  store i32 %3973, ptr @test_count, align 4, !tbaa !5
  %3974 = load i64, ptr %49, align 8, !tbaa !17
  %3975 = icmp eq i64 %3974, %3972
  br i1 %3975, label %3998, label %3976

3976:                                             ; preds = %3965
  %3977 = load i32, ptr %1134, align 4, !tbaa !5
  %3978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3979 = call i32 @s2n_print_stacktrace(ptr noundef %3978) #11
  %3980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3981 = trunc nuw i8 %3980 to i1
  br i1 %3981, label %3982, label %3986

3982:                                             ; preds = %3976
  %3983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3984 = call i32 @fileno(ptr noundef %3983) #11
  %3985 = call i32 @isatty(i32 noundef %3984) #11
  %.not782 = icmp eq i32 %3985, 0
  br i1 %.not782, label %3986, label %3987

3986:                                             ; preds = %3982, %3976
  br label %3987

3987:                                             ; preds = %3982, %3986
  %.str.4.sink2154 = phi ptr [ @.str.4, %3986 ], [ @.str, %3982 ]
  store i32 %3977, ptr %1134, align 4, !tbaa !5
  %3988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3989 = load i32, ptr @test_count, align 4, !tbaa !5
  %3990 = load i32, ptr %1080, align 4, !tbaa !5
  %3991 = call ptr @s2n_strerror(i32 noundef %3990, ptr noundef nonnull @.str.3) #11
  %3992 = load i32, ptr %1080, align 4, !tbaa !5
  %3993 = call ptr @s2n_strerror_debug(i32 noundef %3992, ptr noundef nonnull @.str.3) #11
  %3994 = load i32, ptr %1134, align 4, !tbaa !5
  %3995 = call ptr @strerror(i32 noundef %3994) #11
  %3996 = load i32, ptr %1134, align 4, !tbaa !5
  %3997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3988, ptr noundef nonnull %.str.4.sink2154, i32 noundef %3989, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.2, i32 noundef 502, ptr noundef %3991, ptr noundef %3993, ptr noundef %3995, i32 noundef %3996) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3998:                                             ; preds = %3965
  %3999 = add nsw i32 %3939, 3
  store i32 %3999, ptr @test_count, align 4, !tbaa !5
  %4000 = getelementptr inbounds i8, ptr %3966, i64 1904
  %4001 = load i32, ptr %4000, align 8, !tbaa !47
  %4002 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 %.0596844
  %4003 = load i32, ptr %4002, align 4, !tbaa !5
  %4004 = icmp eq i32 %4001, %4003
  br i1 %4004, label %4027, label %4005

4005:                                             ; preds = %3998
  %4006 = load i32, ptr %1134, align 4, !tbaa !5
  %4007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4008 = call i32 @s2n_print_stacktrace(ptr noundef %4007) #11
  %4009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4010 = trunc nuw i8 %4009 to i1
  br i1 %4010, label %4011, label %4015

4011:                                             ; preds = %4005
  %4012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4013 = call i32 @fileno(ptr noundef %4012) #11
  %4014 = call i32 @isatty(i32 noundef %4013) #11
  %.not783 = icmp eq i32 %4014, 0
  br i1 %.not783, label %4015, label %4016

4015:                                             ; preds = %4011, %4005
  br label %4016

4016:                                             ; preds = %4011, %4015
  %.str.4.sink2163 = phi ptr [ @.str.4, %4015 ], [ @.str, %4011 ]
  store i32 %4006, ptr %1134, align 4, !tbaa !5
  %4017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4018 = load i32, ptr @test_count, align 4, !tbaa !5
  %4019 = load i32, ptr %1080, align 4, !tbaa !5
  %4020 = call ptr @s2n_strerror(i32 noundef %4019, ptr noundef nonnull @.str.3) #11
  %4021 = load i32, ptr %1080, align 4, !tbaa !5
  %4022 = call ptr @s2n_strerror_debug(i32 noundef %4021, ptr noundef nonnull @.str.3) #11
  %4023 = load i32, ptr %1134, align 4, !tbaa !5
  %4024 = call ptr @strerror(i32 noundef %4023) #11
  %4025 = load i32, ptr %1134, align 4, !tbaa !5
  %4026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4017, ptr noundef nonnull %.str.4.sink2163, i32 noundef %4018, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.2, i32 noundef 505, ptr noundef %4020, ptr noundef %4022, ptr noundef %4024, i32 noundef %4025) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4027:                                             ; preds = %3998
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %50) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #11
  %4028 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %48) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #11
  %4029 = add nuw nsw i64 %.0596844, 1
  %exitcond846.not = icmp eq i64 %4029, 4
  br i1 %exitcond846.not, label %3767, label %3772, !llvm.loop !52

4030:                                             ; preds = %3767
  %4031 = load i32, ptr %1134, align 4, !tbaa !5
  %4032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4033 = call i32 @s2n_print_stacktrace(ptr noundef %4032) #11
  %4034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4035 = trunc nuw i8 %4034 to i1
  br i1 %4035, label %4036, label %4040

4036:                                             ; preds = %4030
  %4037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4038 = call i32 @fileno(ptr noundef %4037) #11
  %4039 = call i32 @isatty(i32 noundef %4038) #11
  %.not777 = icmp eq i32 %4039, 0
  br i1 %.not777, label %4040, label %4041

4040:                                             ; preds = %4036, %4030
  br label %4041

4041:                                             ; preds = %4036, %4040
  %.str.4.sink2172 = phi ptr [ @.str.4, %4040 ], [ @.str, %4036 ]
  store i32 %4031, ptr %1134, align 4, !tbaa !5
  %4042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4043 = load i32, ptr @test_count, align 4, !tbaa !5
  %4044 = load i32, ptr %1080, align 4, !tbaa !5
  %4045 = call ptr @s2n_strerror(i32 noundef %4044, ptr noundef nonnull @.str.3) #11
  %4046 = load i32, ptr %1080, align 4, !tbaa !5
  %4047 = call ptr @s2n_strerror_debug(i32 noundef %4046, ptr noundef nonnull @.str.3) #11
  %4048 = load i32, ptr %1134, align 4, !tbaa !5
  %4049 = call ptr @strerror(i32 noundef %4048) #11
  %4050 = load i32, ptr %1134, align 4, !tbaa !5
  %4051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4042, ptr noundef nonnull %.str.4.sink2172, i32 noundef %4043, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 512, ptr noundef %4045, ptr noundef %4047, ptr noundef %4049, i32 noundef %4050) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4052:                                             ; preds = %3767
  %4053 = add nsw i32 %3769, 2
  store i32 %4053, ptr @test_count, align 4, !tbaa !5
  %4054 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %3768) #11
  %4055 = call zeroext i1 @s2n_result_is_ok(i32 %4054)
  br i1 %4055, label %4078, label %4056

4056:                                             ; preds = %4052
  %4057 = load i32, ptr %1134, align 4, !tbaa !5
  %4058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4059 = call i32 @s2n_print_stacktrace(ptr noundef %4058) #11
  %4060 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4061 = trunc nuw i8 %4060 to i1
  br i1 %4061, label %4062, label %4066

4062:                                             ; preds = %4056
  %4063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4064 = call i32 @fileno(ptr noundef %4063) #11
  %4065 = call i32 @isatty(i32 noundef %4064) #11
  %.not681 = icmp eq i32 %4065, 0
  br i1 %.not681, label %4066, label %4067

4066:                                             ; preds = %4062, %4056
  br label %4067

4067:                                             ; preds = %4062, %4066
  %.str.4.sink2181 = phi ptr [ @.str.4, %4066 ], [ @.str, %4062 ]
  store i32 %4057, ptr %1134, align 4, !tbaa !5
  %4068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4069 = load i32, ptr @test_count, align 4, !tbaa !5
  %4070 = load i32, ptr %1080, align 4, !tbaa !5
  %4071 = call ptr @s2n_strerror(i32 noundef %4070, ptr noundef nonnull @.str.3) #11
  %4072 = load i32, ptr %1080, align 4, !tbaa !5
  %4073 = call ptr @s2n_strerror_debug(i32 noundef %4072, ptr noundef nonnull @.str.3) #11
  %4074 = load i32, ptr %1134, align 4, !tbaa !5
  %4075 = call ptr @strerror(i32 noundef %4074) #11
  %4076 = load i32, ptr %1134, align 4, !tbaa !5
  %4077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4068, ptr noundef nonnull %.str.4.sink2181, i32 noundef %4069, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 513, ptr noundef %4071, ptr noundef %4073, ptr noundef %4075, i32 noundef %4076) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4078:                                             ; preds = %4052
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %52) #11
  store i16 0, ptr %52, align 2, !tbaa !53
  %4079 = load i32, ptr @test_count, align 4, !tbaa !5
  %4080 = add nsw i32 %4079, 1
  store i32 %4080, ptr @test_count, align 4, !tbaa !5
  %4081 = load ptr, ptr %51, align 8, !tbaa !9
  %4082 = call i32 @s2n_record_min_write_payload_size(ptr noundef %4081, ptr noundef nonnull %52) #11
  %4083 = call zeroext i1 @s2n_result_is_ok(i32 %4082)
  br i1 %4083, label %4106, label %4084

4084:                                             ; preds = %4078
  %4085 = load i32, ptr %1134, align 4, !tbaa !5
  %4086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4087 = call i32 @s2n_print_stacktrace(ptr noundef %4086) #11
  %4088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4089 = trunc nuw i8 %4088 to i1
  br i1 %4089, label %4090, label %4094

4090:                                             ; preds = %4084
  %4091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4092 = call i32 @fileno(ptr noundef %4091) #11
  %4093 = call i32 @isatty(i32 noundef %4092) #11
  %.not682 = icmp eq i32 %4093, 0
  br i1 %.not682, label %4094, label %4095

4094:                                             ; preds = %4090, %4084
  br label %4095

4095:                                             ; preds = %4090, %4094
  %.str.4.sink2190 = phi ptr [ @.str.4, %4094 ], [ @.str, %4090 ]
  store i32 %4085, ptr %1134, align 4, !tbaa !5
  %4096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4097 = load i32, ptr @test_count, align 4, !tbaa !5
  %4098 = load i32, ptr %1080, align 4, !tbaa !5
  %4099 = call ptr @s2n_strerror(i32 noundef %4098, ptr noundef nonnull @.str.3) #11
  %4100 = load i32, ptr %1080, align 4, !tbaa !5
  %4101 = call ptr @s2n_strerror_debug(i32 noundef %4100, ptr noundef nonnull @.str.3) #11
  %4102 = load i32, ptr %1134, align 4, !tbaa !5
  %4103 = call ptr @strerror(i32 noundef %4102) #11
  %4104 = load i32, ptr %1134, align 4, !tbaa !5
  %4105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4096, ptr noundef nonnull %.str.4.sink2190, i32 noundef %4097, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.2, i32 noundef 517, ptr noundef %4099, ptr noundef %4101, ptr noundef %4103, i32 noundef %4104) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4106:                                             ; preds = %4078
  %4107 = load i16, ptr %52, align 2, !tbaa !53
  %4108 = zext i16 %4107 to i32
  %4109 = shl nuw nsw i32 %4108, 1
  %4110 = load i32, ptr @test_count, align 4, !tbaa !5
  %4111 = add nsw i32 %4110, 1
  store i32 %4111, ptr @test_count, align 4, !tbaa !5
  %4112 = load ptr, ptr %51, align 8, !tbaa !9
  %4113 = call i32 @s2n_connection_set_dynamic_record_threshold(ptr noundef %4112, i32 noundef %4109, i16 noundef zeroext -1) #11
  %4114 = icmp eq i32 %4113, -1
  br i1 %4114, label %4115, label %4137

4115:                                             ; preds = %4106
  %4116 = load i32, ptr %1134, align 4, !tbaa !5
  %4117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4118 = call i32 @s2n_print_stacktrace(ptr noundef %4117) #11
  %4119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4120 = trunc nuw i8 %4119 to i1
  br i1 %4120, label %4121, label %4125

4121:                                             ; preds = %4115
  %4122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4123 = call i32 @fileno(ptr noundef %4122) #11
  %4124 = call i32 @isatty(i32 noundef %4123) #11
  %.not776 = icmp eq i32 %4124, 0
  br i1 %.not776, label %4125, label %4126

4125:                                             ; preds = %4121, %4115
  br label %4126

4126:                                             ; preds = %4121, %4125
  %.str.4.sink2199 = phi ptr [ @.str.4, %4125 ], [ @.str, %4121 ]
  store i32 %4116, ptr %1134, align 4, !tbaa !5
  %4127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4128 = load i32, ptr @test_count, align 4, !tbaa !5
  %4129 = load i32, ptr %1080, align 4, !tbaa !5
  %4130 = call ptr @s2n_strerror(i32 noundef %4129, ptr noundef nonnull @.str.3) #11
  %4131 = load i32, ptr %1080, align 4, !tbaa !5
  %4132 = call ptr @s2n_strerror_debug(i32 noundef %4131, ptr noundef nonnull @.str.3) #11
  %4133 = load i32, ptr %1134, align 4, !tbaa !5
  %4134 = call ptr @strerror(i32 noundef %4133) #11
  %4135 = load i32, ptr %1134, align 4, !tbaa !5
  %4136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4127, ptr noundef nonnull %.str.4.sink2199, i32 noundef %4128, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.2, i32 noundef 521, ptr noundef %4130, ptr noundef %4132, ptr noundef %4134, i32 noundef %4135) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4137:                                             ; preds = %4106
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %53) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(48) %53, ptr noundef nonnull align 16 dereferenceable(48) @__const.main.results.64, i64 48, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #11
  %4138 = getelementptr inbounds i8, ptr %54, i64 8
  %4139 = getelementptr inbounds i8, ptr %54, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %54, i8 0, i64 16, i1 false)
  store ptr %53, ptr %4139, align 8, !tbaa !50
  %4140 = getelementptr inbounds i8, ptr %54, i64 24
  store i64 6, ptr %4140, align 8, !tbaa !51
  %4141 = load i32, ptr @test_count, align 4, !tbaa !5
  %4142 = add nsw i32 %4141, 1
  store i32 %4142, ptr @test_count, align 4, !tbaa !5
  %4143 = load ptr, ptr %51, align 8, !tbaa !9
  %4144 = call i32 @s2n_connection_set_send_ctx(ptr noundef %4143, ptr noundef nonnull %54) #11
  %4145 = icmp eq i32 %4144, -1
  br i1 %4145, label %4146, label %4168

4146:                                             ; preds = %4137
  %4147 = load i32, ptr %1134, align 4, !tbaa !5
  %4148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4149 = call i32 @s2n_print_stacktrace(ptr noundef %4148) #11
  %4150 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4151 = trunc nuw i8 %4150 to i1
  br i1 %4151, label %4152, label %4156

4152:                                             ; preds = %4146
  %4153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4154 = call i32 @fileno(ptr noundef %4153) #11
  %4155 = call i32 @isatty(i32 noundef %4154) #11
  %.not775 = icmp eq i32 %4155, 0
  br i1 %.not775, label %4156, label %4157

4156:                                             ; preds = %4152, %4146
  br label %4157

4157:                                             ; preds = %4152, %4156
  %.str.4.sink2208 = phi ptr [ @.str.4, %4156 ], [ @.str, %4152 ]
  store i32 %4147, ptr %1134, align 4, !tbaa !5
  %4158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4159 = load i32, ptr @test_count, align 4, !tbaa !5
  %4160 = load i32, ptr %1080, align 4, !tbaa !5
  %4161 = call ptr @s2n_strerror(i32 noundef %4160, ptr noundef nonnull @.str.3) #11
  %4162 = load i32, ptr %1080, align 4, !tbaa !5
  %4163 = call ptr @s2n_strerror_debug(i32 noundef %4162, ptr noundef nonnull @.str.3) #11
  %4164 = load i32, ptr %1134, align 4, !tbaa !5
  %4165 = call ptr @strerror(i32 noundef %4164) #11
  %4166 = load i32, ptr %1134, align 4, !tbaa !5
  %4167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4158, ptr noundef nonnull %.str.4.sink2208, i32 noundef %4159, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 535, ptr noundef %4161, ptr noundef %4163, ptr noundef %4165, i32 noundef %4166) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4168:                                             ; preds = %4137
  %4169 = load i32, ptr @test_count, align 4, !tbaa !5
  %4170 = add nsw i32 %4169, 1
  store i32 %4170, ptr @test_count, align 4, !tbaa !5
  %4171 = load ptr, ptr %51, align 8, !tbaa !9
  %4172 = call i32 @s2n_connection_set_send_cb(ptr noundef %4171, ptr noundef nonnull @s2n_test_send_cb) #11
  %4173 = icmp eq i32 %4172, -1
  br i1 %4173, label %4174, label %4196

4174:                                             ; preds = %4168
  %4175 = load i32, ptr %1134, align 4, !tbaa !5
  %4176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4177 = call i32 @s2n_print_stacktrace(ptr noundef %4176) #11
  %4178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4179 = trunc nuw i8 %4178 to i1
  br i1 %4179, label %4180, label %4184

4180:                                             ; preds = %4174
  %4181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4182 = call i32 @fileno(ptr noundef %4181) #11
  %4183 = call i32 @isatty(i32 noundef %4182) #11
  %.not774 = icmp eq i32 %4183, 0
  br i1 %.not774, label %4184, label %4185

4184:                                             ; preds = %4180, %4174
  br label %4185

4185:                                             ; preds = %4180, %4184
  %.str.4.sink2217 = phi ptr [ @.str.4, %4184 ], [ @.str, %4180 ]
  store i32 %4175, ptr %1134, align 4, !tbaa !5
  %4186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4187 = load i32, ptr @test_count, align 4, !tbaa !5
  %4188 = load i32, ptr %1080, align 4, !tbaa !5
  %4189 = call ptr @s2n_strerror(i32 noundef %4188, ptr noundef nonnull @.str.3) #11
  %4190 = load i32, ptr %1080, align 4, !tbaa !5
  %4191 = call ptr @s2n_strerror_debug(i32 noundef %4190, ptr noundef nonnull @.str.3) #11
  %4192 = load i32, ptr %1134, align 4, !tbaa !5
  %4193 = call ptr @strerror(i32 noundef %4192) #11
  %4194 = load i32, ptr %1134, align 4, !tbaa !5
  %4195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4186, ptr noundef nonnull %.str.4.sink2217, i32 noundef %4187, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 536, ptr noundef %4189, ptr noundef %4191, ptr noundef %4193, i32 noundef %4194) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4196:                                             ; preds = %4168
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %55) #11
  store i32 0, ptr %55, align 4, !tbaa !5
  %4197 = load i16, ptr %52, align 2, !tbaa !53
  %4198 = zext i16 %4197 to i64
  %4199 = shl nuw nsw i64 %4198, 1
  %4200 = load i32, ptr @test_count, align 4, !tbaa !5
  %4201 = add nsw i32 %4200, 1
  store i32 %4201, ptr @test_count, align 4, !tbaa !5
  %4202 = load ptr, ptr %51, align 8, !tbaa !9
  %4203 = call i64 @s2n_send(ptr noundef %4202, ptr noundef nonnull %4, i64 noundef %4199, ptr noundef nonnull %55) #11
  %4204 = icmp eq i64 %4203, -1
  br i1 %4204, label %4227, label %4205

4205:                                             ; preds = %4196
  %4206 = load i32, ptr %1134, align 4, !tbaa !5
  %4207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4208 = call i32 @s2n_print_stacktrace(ptr noundef %4207) #11
  %4209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4210 = trunc nuw i8 %4209 to i1
  br i1 %4210, label %4211, label %4215

4211:                                             ; preds = %4205
  %4212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4213 = call i32 @fileno(ptr noundef %4212) #11
  %4214 = call i32 @isatty(i32 noundef %4213) #11
  %.not683 = icmp eq i32 %4214, 0
  br i1 %.not683, label %4215, label %4216

4215:                                             ; preds = %4211, %4205
  br label %4216

4216:                                             ; preds = %4211, %4215
  %.str.4.sink2226 = phi ptr [ @.str.4, %4215 ], [ @.str, %4211 ]
  store i32 %4206, ptr %1134, align 4, !tbaa !5
  %4217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4218 = load i32, ptr @test_count, align 4, !tbaa !5
  %4219 = load i32, ptr %1080, align 4, !tbaa !5
  %4220 = call ptr @s2n_strerror(i32 noundef %4219, ptr noundef nonnull @.str.3) #11
  %4221 = load i32, ptr %1080, align 4, !tbaa !5
  %4222 = call ptr @s2n_strerror_debug(i32 noundef %4221, ptr noundef nonnull @.str.3) #11
  %4223 = load i32, ptr %1134, align 4, !tbaa !5
  %4224 = call ptr @strerror(i32 noundef %4223) #11
  %4225 = load i32, ptr %1134, align 4, !tbaa !5
  %4226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4217, ptr noundef nonnull %.str.4.sink2226, i32 noundef %4218, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.2, i32 noundef 543, ptr noundef %4220, ptr noundef %4222, ptr noundef %4224, i32 noundef %4225) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4227:                                             ; preds = %4196
  %4228 = load i32, ptr @test_count, align 4, !tbaa !5
  %4229 = add nsw i32 %4228, 1
  store i32 %4229, ptr @test_count, align 4, !tbaa !5
  %4230 = load i32, ptr %1080, align 4, !tbaa !5
  %4231 = icmp eq i32 %4230, 201326592
  br i1 %4231, label %4254, label %4232

4232:                                             ; preds = %4227
  %4233 = load i32, ptr %1134, align 4, !tbaa !5
  %4234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4235 = call i32 @s2n_print_stacktrace(ptr noundef %4234) #11
  %4236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4237 = trunc nuw i8 %4236 to i1
  br i1 %4237, label %4238, label %4242

4238:                                             ; preds = %4232
  %4239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4240 = call i32 @fileno(ptr noundef %4239) #11
  %4241 = call i32 @isatty(i32 noundef %4240) #11
  %.not684 = icmp eq i32 %4241, 0
  br i1 %.not684, label %4242, label %4243

4242:                                             ; preds = %4238, %4232
  br label %4243

4243:                                             ; preds = %4238, %4242
  %.str.4.sink2235 = phi ptr [ @.str.4, %4242 ], [ @.str, %4238 ]
  store i32 %4233, ptr %1134, align 4, !tbaa !5
  %4244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4245 = load i32, ptr @test_count, align 4, !tbaa !5
  %4246 = load i32, ptr %1080, align 4, !tbaa !5
  %4247 = call ptr @s2n_strerror(i32 noundef %4246, ptr noundef nonnull @.str.3) #11
  %4248 = load i32, ptr %1080, align 4, !tbaa !5
  %4249 = call ptr @s2n_strerror_debug(i32 noundef %4248, ptr noundef nonnull @.str.3) #11
  %4250 = load i32, ptr %1134, align 4, !tbaa !5
  %4251 = call ptr @strerror(i32 noundef %4250) #11
  %4252 = load i32, ptr %1134, align 4, !tbaa !5
  %4253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4244, ptr noundef nonnull %.str.4.sink2235, i32 noundef %4245, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.2, i32 noundef 543, ptr noundef %4247, ptr noundef %4249, ptr noundef %4251, i32 noundef %4252) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4254:                                             ; preds = %4227
  %4255 = add nsw i32 %4228, 2
  store i32 %4255, ptr @test_count, align 4, !tbaa !5
  %4256 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.3) #11
  %4257 = icmp eq ptr %4256, null
  br i1 %4257, label %4258, label %4280

4258:                                             ; preds = %4254
  %4259 = load i32, ptr %1134, align 4, !tbaa !5
  %4260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4261 = call i32 @s2n_print_stacktrace(ptr noundef %4260) #11
  %4262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4263 = trunc nuw i8 %4262 to i1
  br i1 %4263, label %4264, label %4268

4264:                                             ; preds = %4258
  %4265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4266 = call i32 @fileno(ptr noundef %4265) #11
  %4267 = call i32 @isatty(i32 noundef %4266) #11
  %.not773 = icmp eq i32 %4267, 0
  br i1 %.not773, label %4268, label %4269

4268:                                             ; preds = %4264, %4258
  br label %4269

4269:                                             ; preds = %4264, %4268
  %.str.4.sink2244 = phi ptr [ @.str.4, %4268 ], [ @.str, %4264 ]
  store i32 %4259, ptr %1134, align 4, !tbaa !5
  %4270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4271 = load i32, ptr @test_count, align 4, !tbaa !5
  %4272 = load i32, ptr %1080, align 4, !tbaa !5
  %4273 = call ptr @s2n_strerror(i32 noundef %4272, ptr noundef nonnull @.str.3) #11
  %4274 = load i32, ptr %1080, align 4, !tbaa !5
  %4275 = call ptr @s2n_strerror_debug(i32 noundef %4274, ptr noundef nonnull @.str.3) #11
  %4276 = load i32, ptr %1134, align 4, !tbaa !5
  %4277 = call ptr @strerror(i32 noundef %4276) #11
  %4278 = load i32, ptr %1134, align 4, !tbaa !5
  %4279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4270, ptr noundef nonnull %.str.4.sink2244, i32 noundef %4271, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 543, ptr noundef %4273, ptr noundef %4275, ptr noundef %4277, i32 noundef %4278) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4280:                                             ; preds = %4254
  store i32 0, ptr %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1134, align 4, !tbaa !5
  %4281 = load i32, ptr @test_count, align 4, !tbaa !5
  %4282 = add nsw i32 %4281, 1
  store i32 %4282, ptr @test_count, align 4, !tbaa !5
  %4283 = load i32, ptr %55, align 4, !tbaa !5
  %4284 = icmp eq i32 %4283, 2
  br i1 %4284, label %4307, label %4285

4285:                                             ; preds = %4280
  %4286 = load i32, ptr %1134, align 4, !tbaa !5
  %4287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4288 = call i32 @s2n_print_stacktrace(ptr noundef %4287) #11
  %4289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4290 = trunc nuw i8 %4289 to i1
  br i1 %4290, label %4291, label %4295

4291:                                             ; preds = %4285
  %4292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4293 = call i32 @fileno(ptr noundef %4292) #11
  %4294 = call i32 @isatty(i32 noundef %4293) #11
  %.not685 = icmp eq i32 %4294, 0
  br i1 %.not685, label %4295, label %4296

4295:                                             ; preds = %4291, %4285
  br label %4296

4296:                                             ; preds = %4291, %4295
  %.str.4.sink2253 = phi ptr [ @.str.4, %4295 ], [ @.str, %4291 ]
  store i32 %4286, ptr %1134, align 4, !tbaa !5
  %4297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4298 = load i32, ptr @test_count, align 4, !tbaa !5
  %4299 = load i32, ptr %1080, align 4, !tbaa !5
  %4300 = call ptr @s2n_strerror(i32 noundef %4299, ptr noundef nonnull @.str.3) #11
  %4301 = load i32, ptr %1080, align 4, !tbaa !5
  %4302 = call ptr @s2n_strerror_debug(i32 noundef %4301, ptr noundef nonnull @.str.3) #11
  %4303 = load i32, ptr %1134, align 4, !tbaa !5
  %4304 = call ptr @strerror(i32 noundef %4303) #11
  %4305 = load i32, ptr %1134, align 4, !tbaa !5
  %4306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4297, ptr noundef nonnull %.str.4.sink2253, i32 noundef %4298, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 544, ptr noundef %4300, ptr noundef %4302, ptr noundef %4304, i32 noundef %4305) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4307:                                             ; preds = %4280
  %4308 = add nsw i32 %4281, 2
  store i32 %4308, ptr @test_count, align 4, !tbaa !5
  %4309 = load i64, ptr %4138, align 8, !tbaa !19
  %4310 = icmp eq i64 %4309, 0
  br i1 %4310, label %4333, label %4311

4311:                                             ; preds = %4307
  %4312 = load i32, ptr %1134, align 4, !tbaa !5
  %4313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4314 = call i32 @s2n_print_stacktrace(ptr noundef %4313) #11
  %4315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4316 = trunc nuw i8 %4315 to i1
  br i1 %4316, label %4317, label %4321

4317:                                             ; preds = %4311
  %4318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4319 = call i32 @fileno(ptr noundef %4318) #11
  %4320 = call i32 @isatty(i32 noundef %4319) #11
  %.not686 = icmp eq i32 %4320, 0
  br i1 %.not686, label %4321, label %4322

4321:                                             ; preds = %4317, %4311
  br label %4322

4322:                                             ; preds = %4317, %4321
  %.str.4.sink2262 = phi ptr [ @.str.4, %4321 ], [ @.str, %4317 ]
  store i32 %4312, ptr %1134, align 4, !tbaa !5
  %4323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4324 = load i32, ptr @test_count, align 4, !tbaa !5
  %4325 = load i32, ptr %1080, align 4, !tbaa !5
  %4326 = call ptr @s2n_strerror(i32 noundef %4325, ptr noundef nonnull @.str.3) #11
  %4327 = load i32, ptr %1080, align 4, !tbaa !5
  %4328 = call ptr @s2n_strerror_debug(i32 noundef %4327, ptr noundef nonnull @.str.3) #11
  %4329 = load i32, ptr %1134, align 4, !tbaa !5
  %4330 = call ptr @strerror(i32 noundef %4329) #11
  %4331 = load i32, ptr %1134, align 4, !tbaa !5
  %4332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4323, ptr noundef nonnull %.str.4.sink2262, i32 noundef %4324, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.2, i32 noundef 546, ptr noundef %4326, ptr noundef %4328, ptr noundef %4330, i32 noundef %4331) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4333:                                             ; preds = %4307
  %4334 = add nsw i32 %4281, 3
  store i32 %4334, ptr @test_count, align 4, !tbaa !5
  %4335 = load ptr, ptr %51, align 8, !tbaa !9
  %4336 = getelementptr inbounds i8, ptr %4335, i64 2224
  %4337 = load i64, ptr %4336, align 8, !tbaa !54
  %4338 = load i16, ptr %52, align 2, !tbaa !53
  %4339 = zext i16 %4338 to i64
  %4340 = icmp eq i64 %4337, %4339
  br i1 %4340, label %4363, label %4341

4341:                                             ; preds = %4333
  %4342 = load i32, ptr %1134, align 4, !tbaa !5
  %4343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4344 = call i32 @s2n_print_stacktrace(ptr noundef %4343) #11
  %4345 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4346 = trunc nuw i8 %4345 to i1
  br i1 %4346, label %4347, label %4351

4347:                                             ; preds = %4341
  %4348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4349 = call i32 @fileno(ptr noundef %4348) #11
  %4350 = call i32 @isatty(i32 noundef %4349) #11
  %.not687 = icmp eq i32 %4350, 0
  br i1 %.not687, label %4351, label %4352

4351:                                             ; preds = %4347, %4341
  br label %4352

4352:                                             ; preds = %4347, %4351
  %.str.4.sink2271 = phi ptr [ @.str.4, %4351 ], [ @.str, %4347 ]
  store i32 %4342, ptr %1134, align 4, !tbaa !5
  %4353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4354 = load i32, ptr @test_count, align 4, !tbaa !5
  %4355 = load i32, ptr %1080, align 4, !tbaa !5
  %4356 = call ptr @s2n_strerror(i32 noundef %4355, ptr noundef nonnull @.str.3) #11
  %4357 = load i32, ptr %1080, align 4, !tbaa !5
  %4358 = call ptr @s2n_strerror_debug(i32 noundef %4357, ptr noundef nonnull @.str.3) #11
  %4359 = load i32, ptr %1134, align 4, !tbaa !5
  %4360 = call ptr @strerror(i32 noundef %4359) #11
  %4361 = load i32, ptr %1134, align 4, !tbaa !5
  %4362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4353, ptr noundef nonnull %.str.4.sink2271, i32 noundef %4354, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.2, i32 noundef 551, ptr noundef %4356, ptr noundef %4358, ptr noundef %4360, i32 noundef %4361) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4363:                                             ; preds = %4333
  %4364 = add nsw i32 %4281, 4
  store i32 %4364, ptr @test_count, align 4, !tbaa !5
  %4365 = zext nneg i32 %4109 to i64
  %4366 = icmp ult i64 %4337, %4365
  br i1 %4366, label %4389, label %4367

4367:                                             ; preds = %4363
  %4368 = load i32, ptr %1134, align 4, !tbaa !5
  %4369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4370 = call i32 @s2n_print_stacktrace(ptr noundef %4369) #11
  %4371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4372 = trunc nuw i8 %4371 to i1
  br i1 %4372, label %4373, label %4377

4373:                                             ; preds = %4367
  %4374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4375 = call i32 @fileno(ptr noundef %4374) #11
  %4376 = call i32 @isatty(i32 noundef %4375) #11
  %.not688 = icmp eq i32 %4376, 0
  br i1 %.not688, label %4377, label %4378

4377:                                             ; preds = %4373, %4367
  br label %4378

4378:                                             ; preds = %4373, %4377
  %.str.4.sink2280 = phi ptr [ @.str.4, %4377 ], [ @.str, %4373 ]
  store i32 %4368, ptr %1134, align 4, !tbaa !5
  %4379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4380 = load i32, ptr @test_count, align 4, !tbaa !5
  %4381 = load i32, ptr %1080, align 4, !tbaa !5
  %4382 = call ptr @s2n_strerror(i32 noundef %4381, ptr noundef nonnull @.str.3) #11
  %4383 = load i32, ptr %1080, align 4, !tbaa !5
  %4384 = call ptr @s2n_strerror_debug(i32 noundef %4383, ptr noundef nonnull @.str.3) #11
  %4385 = load i32, ptr %1134, align 4, !tbaa !5
  %4386 = call ptr @strerror(i32 noundef %4385) #11
  %4387 = load i32, ptr %1134, align 4, !tbaa !5
  %4388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4379, ptr noundef nonnull %.str.4.sink2280, i32 noundef %4380, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.2, i32 noundef 552, ptr noundef %4382, ptr noundef %4384, ptr noundef %4386, i32 noundef %4387) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4389:                                             ; preds = %4363
  %4390 = add nsw i32 %4281, 5
  store i32 %4390, ptr @test_count, align 4, !tbaa !5
  %4391 = getelementptr inbounds i8, ptr %4335, i64 1904
  %4392 = load i32, ptr %4391, align 8, !tbaa !47
  %4393 = icmp eq i32 %4392, %2013
  br i1 %4393, label %4416, label %4394

4394:                                             ; preds = %4389
  %4395 = load i32, ptr %1134, align 4, !tbaa !5
  %4396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4397 = call i32 @s2n_print_stacktrace(ptr noundef %4396) #11
  %4398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4399 = trunc nuw i8 %4398 to i1
  br i1 %4399, label %4400, label %4404

4400:                                             ; preds = %4394
  %4401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4402 = call i32 @fileno(ptr noundef %4401) #11
  %4403 = call i32 @isatty(i32 noundef %4402) #11
  %.not689 = icmp eq i32 %4403, 0
  br i1 %.not689, label %4404, label %4405

4404:                                             ; preds = %4400, %4394
  br label %4405

4405:                                             ; preds = %4400, %4404
  %.str.4.sink2289 = phi ptr [ @.str.4, %4404 ], [ @.str, %4400 ]
  store i32 %4395, ptr %1134, align 4, !tbaa !5
  %4406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4407 = load i32, ptr @test_count, align 4, !tbaa !5
  %4408 = load i32, ptr %1080, align 4, !tbaa !5
  %4409 = call ptr @s2n_strerror(i32 noundef %4408, ptr noundef nonnull @.str.3) #11
  %4410 = load i32, ptr %1080, align 4, !tbaa !5
  %4411 = call ptr @s2n_strerror_debug(i32 noundef %4410, ptr noundef nonnull @.str.3) #11
  %4412 = load i32, ptr %1134, align 4, !tbaa !5
  %4413 = call ptr @strerror(i32 noundef %4412) #11
  %4414 = load i32, ptr %1134, align 4, !tbaa !5
  %4415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4406, ptr noundef nonnull %.str.4.sink2289, i32 noundef %4407, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 556, ptr noundef %4409, ptr noundef %4411, ptr noundef %4413, i32 noundef %4414) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4416:                                             ; preds = %4389
  %4417 = call i64 @s2n_send(ptr noundef nonnull %4335, ptr noundef nonnull %4, i64 noundef %4199, ptr noundef nonnull %55) #11
  %4418 = load i32, ptr @test_count, align 4, !tbaa !5
  %4419 = add nsw i32 %4418, 1
  store i32 %4419, ptr @test_count, align 4, !tbaa !5
  %4420 = load i32, ptr %55, align 4, !tbaa !5
  %4421 = icmp eq i32 %4420, 2
  br i1 %4421, label %4444, label %4422

4422:                                             ; preds = %4416
  %4423 = load i32, ptr %1134, align 4, !tbaa !5
  %4424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4425 = call i32 @s2n_print_stacktrace(ptr noundef %4424) #11
  %4426 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4427 = trunc nuw i8 %4426 to i1
  br i1 %4427, label %4428, label %4432

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

4432:                                             ; preds = %4428, %4422
  br label %4433

4433:                                             ; preds = %4428, %4432
  %.str.4.sink2298 = phi ptr [ @.str.4, %4432 ], [ @.str, %4428 ]
  store i32 %4423, ptr %1134, align 4, !tbaa !5
  %4434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4435 = load i32, ptr @test_count, align 4, !tbaa !5
  %4436 = load i32, ptr %1080, align 4, !tbaa !5
  %4437 = call ptr @s2n_strerror(i32 noundef %4436, ptr noundef nonnull @.str.3) #11
  %4438 = load i32, ptr %1080, align 4, !tbaa !5
  %4439 = call ptr @s2n_strerror_debug(i32 noundef %4438, ptr noundef nonnull @.str.3) #11
  %4440 = load i32, ptr %1134, align 4, !tbaa !5
  %4441 = call ptr @strerror(i32 noundef %4440) #11
  %4442 = load i32, ptr %1134, align 4, !tbaa !5
  %4443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4434, ptr noundef nonnull %.str.4.sink2298, i32 noundef %4435, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 562, ptr noundef %4437, ptr noundef %4439, ptr noundef %4441, i32 noundef %4442) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4444:                                             ; preds = %4416
  %4445 = add nsw i32 %4418, 2
  store i32 %4445, ptr @test_count, align 4, !tbaa !5
  %4446 = load i16, ptr %52, align 2, !tbaa !53
  %4447 = zext i16 %4446 to i64
  %4448 = icmp eq i64 %4417, %4447
  br i1 %4448, label %4471, label %4449

4449:                                             ; preds = %4444
  %4450 = load i32, ptr %1134, align 4, !tbaa !5
  %4451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4452 = call i32 @s2n_print_stacktrace(ptr noundef %4451) #11
  %4453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4454 = trunc nuw i8 %4453 to i1
  br i1 %4454, label %4455, label %4459

4455:                                             ; preds = %4449
  %4456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4457 = call i32 @fileno(ptr noundef %4456) #11
  %4458 = call i32 @isatty(i32 noundef %4457) #11
  %.not691 = icmp eq i32 %4458, 0
  br i1 %.not691, label %4459, label %4460

4459:                                             ; preds = %4455, %4449
  br label %4460

4460:                                             ; preds = %4455, %4459
  %.str.4.sink2307 = phi ptr [ @.str.4, %4459 ], [ @.str, %4455 ]
  store i32 %4450, ptr %1134, align 4, !tbaa !5
  %4461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4462 = load i32, ptr @test_count, align 4, !tbaa !5
  %4463 = load i32, ptr %1080, align 4, !tbaa !5
  %4464 = call ptr @s2n_strerror(i32 noundef %4463, ptr noundef nonnull @.str.3) #11
  %4465 = load i32, ptr %1080, align 4, !tbaa !5
  %4466 = call ptr @s2n_strerror_debug(i32 noundef %4465, ptr noundef nonnull @.str.3) #11
  %4467 = load i32, ptr %1134, align 4, !tbaa !5
  %4468 = call ptr @strerror(i32 noundef %4467) #11
  %4469 = load i32, ptr %1134, align 4, !tbaa !5
  %4470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4461, ptr noundef nonnull %.str.4.sink2307, i32 noundef %4462, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.2, i32 noundef 564, ptr noundef %4464, ptr noundef %4466, ptr noundef %4468, i32 noundef %4469) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4471:                                             ; preds = %4444
  %4472 = add nsw i32 %4418, 3
  store i32 %4472, ptr @test_count, align 4, !tbaa !5
  %4473 = load i64, ptr %4138, align 8, !tbaa !19
  %4474 = icmp ult i64 %4473, 1500
  br i1 %4474, label %4497, label %4475

4475:                                             ; preds = %4471
  %4476 = load i32, ptr %1134, align 4, !tbaa !5
  %4477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4478 = call i32 @s2n_print_stacktrace(ptr noundef %4477) #11
  %4479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4480 = trunc nuw i8 %4479 to i1
  br i1 %4480, label %4481, label %4485

4481:                                             ; preds = %4475
  %4482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4483 = call i32 @fileno(ptr noundef %4482) #11
  %4484 = call i32 @isatty(i32 noundef %4483) #11
  %.not692 = icmp eq i32 %4484, 0
  br i1 %.not692, label %4485, label %4486

4485:                                             ; preds = %4481, %4475
  br label %4486

4486:                                             ; preds = %4481, %4485
  %.str.4.sink2316 = phi ptr [ @.str.4, %4485 ], [ @.str, %4481 ]
  store i32 %4476, ptr %1134, align 4, !tbaa !5
  %4487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4488 = load i32, ptr @test_count, align 4, !tbaa !5
  %4489 = load i32, ptr %1080, align 4, !tbaa !5
  %4490 = call ptr @s2n_strerror(i32 noundef %4489, ptr noundef nonnull @.str.3) #11
  %4491 = load i32, ptr %1080, align 4, !tbaa !5
  %4492 = call ptr @s2n_strerror_debug(i32 noundef %4491, ptr noundef nonnull @.str.3) #11
  %4493 = load i32, ptr %1134, align 4, !tbaa !5
  %4494 = call ptr @strerror(i32 noundef %4493) #11
  %4495 = load i32, ptr %1134, align 4, !tbaa !5
  %4496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4487, ptr noundef nonnull %.str.4.sink2316, i32 noundef %4488, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.2, i32 noundef 565, ptr noundef %4490, ptr noundef %4492, ptr noundef %4494, i32 noundef %4495) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4497:                                             ; preds = %4471
  %4498 = add nsw i32 %4418, 4
  store i32 %4498, ptr @test_count, align 4, !tbaa !5
  %4499 = load ptr, ptr %51, align 8, !tbaa !9
  %4500 = getelementptr inbounds i8, ptr %4499, i64 2224
  %4501 = load i64, ptr %4500, align 8, !tbaa !54
  %4502 = icmp eq i64 %4501, %4365
  br i1 %4502, label %4525, label %4503

4503:                                             ; preds = %4497
  %4504 = load i32, ptr %1134, align 4, !tbaa !5
  %4505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4506 = call i32 @s2n_print_stacktrace(ptr noundef %4505) #11
  %4507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4508 = trunc nuw i8 %4507 to i1
  br i1 %4508, label %4509, label %4513

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

4513:                                             ; preds = %4509, %4503
  br label %4514

4514:                                             ; preds = %4509, %4513
  %.str.4.sink2325 = phi ptr [ @.str.4, %4513 ], [ @.str, %4509 ]
  store i32 %4504, ptr %1134, align 4, !tbaa !5
  %4515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4516 = load i32, ptr @test_count, align 4, !tbaa !5
  %4517 = load i32, ptr %1080, align 4, !tbaa !5
  %4518 = call ptr @s2n_strerror(i32 noundef %4517, ptr noundef nonnull @.str.3) #11
  %4519 = load i32, ptr %1080, align 4, !tbaa !5
  %4520 = call ptr @s2n_strerror_debug(i32 noundef %4519, ptr noundef nonnull @.str.3) #11
  %4521 = load i32, ptr %1134, align 4, !tbaa !5
  %4522 = call ptr @strerror(i32 noundef %4521) #11
  %4523 = load i32, ptr %1134, align 4, !tbaa !5
  %4524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4515, ptr noundef nonnull %.str.4.sink2325, i32 noundef %4516, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.2, i32 noundef 570, ptr noundef %4518, ptr noundef %4520, ptr noundef %4522, i32 noundef %4523) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4525:                                             ; preds = %4497
  %4526 = add nsw i32 %4418, 5
  store i32 %4526, ptr @test_count, align 4, !tbaa !5
  %4527 = getelementptr inbounds i8, ptr %4499, i64 1904
  %4528 = load i32, ptr %4527, align 8, !tbaa !47
  %4529 = icmp eq i32 %4528, %2013
  br i1 %4529, label %4552, label %4530

4530:                                             ; preds = %4525
  %4531 = load i32, ptr %1134, align 4, !tbaa !5
  %4532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4533 = call i32 @s2n_print_stacktrace(ptr noundef %4532) #11
  %4534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4535 = trunc nuw i8 %4534 to i1
  br i1 %4535, label %4536, label %4540

4536:                                             ; preds = %4530
  %4537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4538 = call i32 @fileno(ptr noundef %4537) #11
  %4539 = call i32 @isatty(i32 noundef %4538) #11
  %.not694 = icmp eq i32 %4539, 0
  br i1 %.not694, label %4540, label %4541

4540:                                             ; preds = %4536, %4530
  br label %4541

4541:                                             ; preds = %4536, %4540
  %.str.4.sink2334 = phi ptr [ @.str.4, %4540 ], [ @.str, %4536 ]
  store i32 %4531, ptr %1134, align 4, !tbaa !5
  %4542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4543 = load i32, ptr @test_count, align 4, !tbaa !5
  %4544 = load i32, ptr %1080, align 4, !tbaa !5
  %4545 = call ptr @s2n_strerror(i32 noundef %4544, ptr noundef nonnull @.str.3) #11
  %4546 = load i32, ptr %1080, align 4, !tbaa !5
  %4547 = call ptr @s2n_strerror_debug(i32 noundef %4546, ptr noundef nonnull @.str.3) #11
  %4548 = load i32, ptr %1134, align 4, !tbaa !5
  %4549 = call ptr @strerror(i32 noundef %4548) #11
  %4550 = load i32, ptr %1134, align 4, !tbaa !5
  %4551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4542, ptr noundef nonnull %.str.4.sink2334, i32 noundef %4543, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 574, ptr noundef %4545, ptr noundef %4547, ptr noundef %4549, i32 noundef %4550) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4552:                                             ; preds = %4525
  %4553 = sub nsw i64 %4199, %4417
  %4554 = call i64 @s2n_send(ptr noundef nonnull %4499, ptr noundef nonnull %4, i64 noundef %4553, ptr noundef nonnull %55) #11
  %4555 = load i32, ptr @test_count, align 4, !tbaa !5
  %4556 = add nsw i32 %4555, 1
  store i32 %4556, ptr @test_count, align 4, !tbaa !5
  %4557 = load i32, ptr %55, align 4, !tbaa !5
  %4558 = icmp eq i32 %4557, 0
  br i1 %4558, label %4581, label %4559

4559:                                             ; preds = %4552
  %4560 = load i32, ptr %1134, align 4, !tbaa !5
  %4561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4562 = call i32 @s2n_print_stacktrace(ptr noundef %4561) #11
  %4563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4564 = trunc nuw i8 %4563 to i1
  br i1 %4564, label %4565, label %4569

4565:                                             ; preds = %4559
  %4566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4567 = call i32 @fileno(ptr noundef %4566) #11
  %4568 = call i32 @isatty(i32 noundef %4567) #11
  %.not695 = icmp eq i32 %4568, 0
  br i1 %.not695, label %4569, label %4570

4569:                                             ; preds = %4565, %4559
  br label %4570

4570:                                             ; preds = %4565, %4569
  %.str.4.sink2343 = phi ptr [ @.str.4, %4569 ], [ @.str, %4565 ]
  store i32 %4560, ptr %1134, align 4, !tbaa !5
  %4571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4572 = load i32, ptr @test_count, align 4, !tbaa !5
  %4573 = load i32, ptr %1080, align 4, !tbaa !5
  %4574 = call ptr @s2n_strerror(i32 noundef %4573, ptr noundef nonnull @.str.3) #11
  %4575 = load i32, ptr %1080, align 4, !tbaa !5
  %4576 = call ptr @s2n_strerror_debug(i32 noundef %4575, ptr noundef nonnull @.str.3) #11
  %4577 = load i32, ptr %1134, align 4, !tbaa !5
  %4578 = call ptr @strerror(i32 noundef %4577) #11
  %4579 = load i32, ptr %1134, align 4, !tbaa !5
  %4580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4571, ptr noundef nonnull %.str.4.sink2343, i32 noundef %4572, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 578, ptr noundef %4574, ptr noundef %4576, ptr noundef %4578, i32 noundef %4579) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4581:                                             ; preds = %4552
  %4582 = add nsw i32 %4555, 2
  store i32 %4582, ptr @test_count, align 4, !tbaa !5
  %4583 = load i16, ptr %52, align 2, !tbaa !53
  %4584 = zext i16 %4583 to i64
  %4585 = icmp eq i64 %4554, %4584
  br i1 %4585, label %4608, label %4586

4586:                                             ; preds = %4581
  %4587 = load i32, ptr %1134, align 4, !tbaa !5
  %4588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4589 = call i32 @s2n_print_stacktrace(ptr noundef %4588) #11
  %4590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4591 = trunc nuw i8 %4590 to i1
  br i1 %4591, label %4592, label %4596

4592:                                             ; preds = %4586
  %4593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4594 = call i32 @fileno(ptr noundef %4593) #11
  %4595 = call i32 @isatty(i32 noundef %4594) #11
  %.not696 = icmp eq i32 %4595, 0
  br i1 %.not696, label %4596, label %4597

4596:                                             ; preds = %4592, %4586
  br label %4597

4597:                                             ; preds = %4592, %4596
  %.str.4.sink2352 = phi ptr [ @.str.4, %4596 ], [ @.str, %4592 ]
  store i32 %4587, ptr %1134, align 4, !tbaa !5
  %4598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4599 = load i32, ptr @test_count, align 4, !tbaa !5
  %4600 = load i32, ptr %1080, align 4, !tbaa !5
  %4601 = call ptr @s2n_strerror(i32 noundef %4600, ptr noundef nonnull @.str.3) #11
  %4602 = load i32, ptr %1080, align 4, !tbaa !5
  %4603 = call ptr @s2n_strerror_debug(i32 noundef %4602, ptr noundef nonnull @.str.3) #11
  %4604 = load i32, ptr %1134, align 4, !tbaa !5
  %4605 = call ptr @strerror(i32 noundef %4604) #11
  %4606 = load i32, ptr %1134, align 4, !tbaa !5
  %4607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4598, ptr noundef nonnull %.str.4.sink2352, i32 noundef %4599, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.2, i32 noundef 580, ptr noundef %4601, ptr noundef %4603, ptr noundef %4605, i32 noundef %4606) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4608:                                             ; preds = %4581
  %4609 = add nsw i32 %4555, 3
  store i32 %4609, ptr @test_count, align 4, !tbaa !5
  %4610 = load ptr, ptr %51, align 8, !tbaa !9
  %4611 = getelementptr inbounds i8, ptr %4610, i64 2224
  %4612 = load i64, ptr %4611, align 8, !tbaa !54
  %4613 = icmp eq i64 %4612, %4365
  br i1 %4613, label %4636, label %4614

4614:                                             ; preds = %4608
  %4615 = load i32, ptr %1134, align 4, !tbaa !5
  %4616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4617 = call i32 @s2n_print_stacktrace(ptr noundef %4616) #11
  %4618 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4619 = trunc nuw i8 %4618 to i1
  br i1 %4619, label %4620, label %4624

4620:                                             ; preds = %4614
  %4621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4622 = call i32 @fileno(ptr noundef %4621) #11
  %4623 = call i32 @isatty(i32 noundef %4622) #11
  %.not697 = icmp eq i32 %4623, 0
  br i1 %.not697, label %4624, label %4625

4624:                                             ; preds = %4620, %4614
  br label %4625

4625:                                             ; preds = %4620, %4624
  %.str.4.sink2361 = phi ptr [ @.str.4, %4624 ], [ @.str, %4620 ]
  store i32 %4615, ptr %1134, align 4, !tbaa !5
  %4626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4627 = load i32, ptr @test_count, align 4, !tbaa !5
  %4628 = load i32, ptr %1080, align 4, !tbaa !5
  %4629 = call ptr @s2n_strerror(i32 noundef %4628, ptr noundef nonnull @.str.3) #11
  %4630 = load i32, ptr %1080, align 4, !tbaa !5
  %4631 = call ptr @s2n_strerror_debug(i32 noundef %4630, ptr noundef nonnull @.str.3) #11
  %4632 = load i32, ptr %1134, align 4, !tbaa !5
  %4633 = call ptr @strerror(i32 noundef %4632) #11
  %4634 = load i32, ptr %1134, align 4, !tbaa !5
  %4635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4626, ptr noundef nonnull %.str.4.sink2361, i32 noundef %4627, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.2, i32 noundef 584, ptr noundef %4629, ptr noundef %4631, ptr noundef %4633, i32 noundef %4634) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4636:                                             ; preds = %4608
  %4637 = add nsw i32 %4555, 4
  store i32 %4637, ptr @test_count, align 4, !tbaa !5
  %4638 = getelementptr inbounds i8, ptr %4610, i64 1904
  %4639 = load i32, ptr %4638, align 8, !tbaa !47
  %4640 = icmp eq i32 %4639, %2013
  br i1 %4640, label %4663, label %4641

4641:                                             ; preds = %4636
  %4642 = load i32, ptr %1134, align 4, !tbaa !5
  %4643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4644 = call i32 @s2n_print_stacktrace(ptr noundef %4643) #11
  %4645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4646 = trunc nuw i8 %4645 to i1
  br i1 %4646, label %4647, label %4651

4647:                                             ; preds = %4641
  %4648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4649 = call i32 @fileno(ptr noundef %4648) #11
  %4650 = call i32 @isatty(i32 noundef %4649) #11
  %.not698 = icmp eq i32 %4650, 0
  br i1 %.not698, label %4651, label %4652

4651:                                             ; preds = %4647, %4641
  br label %4652

4652:                                             ; preds = %4647, %4651
  %.str.4.sink2370 = phi ptr [ @.str.4, %4651 ], [ @.str, %4647 ]
  store i32 %4642, ptr %1134, align 4, !tbaa !5
  %4653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4654 = load i32, ptr @test_count, align 4, !tbaa !5
  %4655 = load i32, ptr %1080, align 4, !tbaa !5
  %4656 = call ptr @s2n_strerror(i32 noundef %4655, ptr noundef nonnull @.str.3) #11
  %4657 = load i32, ptr %1080, align 4, !tbaa !5
  %4658 = call ptr @s2n_strerror_debug(i32 noundef %4657, ptr noundef nonnull @.str.3) #11
  %4659 = load i32, ptr %1134, align 4, !tbaa !5
  %4660 = call ptr @strerror(i32 noundef %4659) #11
  %4661 = load i32, ptr %1134, align 4, !tbaa !5
  %4662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4653, ptr noundef nonnull %.str.4.sink2370, i32 noundef %4654, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 588, ptr noundef %4656, ptr noundef %4658, ptr noundef %4660, i32 noundef %4661) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4663:                                             ; preds = %4636
  %4664 = getelementptr inbounds i8, ptr %4610, i64 2208
  %4665 = load i16, ptr %4664, align 8, !tbaa !46
  %4666 = zext i16 %4665 to i64
  %4667 = shl nuw nsw i64 %4666, 1
  %4668 = call i64 @s2n_send(ptr noundef nonnull %4610, ptr noundef nonnull %4, i64 noundef %4667, ptr noundef nonnull %55) #11
  %4669 = load i32, ptr @test_count, align 4, !tbaa !5
  %4670 = add nsw i32 %4669, 1
  store i32 %4670, ptr @test_count, align 4, !tbaa !5
  %4671 = load i32, ptr %55, align 4, !tbaa !5
  %4672 = icmp eq i32 %4671, 2
  br i1 %4672, label %4695, label %4673

4673:                                             ; preds = %4663
  %4674 = load i32, ptr %1134, align 4, !tbaa !5
  %4675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4676 = call i32 @s2n_print_stacktrace(ptr noundef %4675) #11
  %4677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4678 = trunc nuw i8 %4677 to i1
  br i1 %4678, label %4679, label %4683

4679:                                             ; preds = %4673
  %4680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4681 = call i32 @fileno(ptr noundef %4680) #11
  %4682 = call i32 @isatty(i32 noundef %4681) #11
  %.not699 = icmp eq i32 %4682, 0
  br i1 %.not699, label %4683, label %4684

4683:                                             ; preds = %4679, %4673
  br label %4684

4684:                                             ; preds = %4679, %4683
  %.str.4.sink2379 = phi ptr [ @.str.4, %4683 ], [ @.str, %4679 ]
  store i32 %4674, ptr %1134, align 4, !tbaa !5
  %4685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4686 = load i32, ptr @test_count, align 4, !tbaa !5
  %4687 = load i32, ptr %1080, align 4, !tbaa !5
  %4688 = call ptr @s2n_strerror(i32 noundef %4687, ptr noundef nonnull @.str.3) #11
  %4689 = load i32, ptr %1080, align 4, !tbaa !5
  %4690 = call ptr @s2n_strerror_debug(i32 noundef %4689, ptr noundef nonnull @.str.3) #11
  %4691 = load i32, ptr %1134, align 4, !tbaa !5
  %4692 = call ptr @strerror(i32 noundef %4691) #11
  %4693 = load i32, ptr %1134, align 4, !tbaa !5
  %4694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4685, ptr noundef nonnull %.str.4.sink2379, i32 noundef %4686, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 592, ptr noundef %4688, ptr noundef %4690, ptr noundef %4692, i32 noundef %4693) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4695:                                             ; preds = %4663
  %4696 = add nsw i32 %4669, 2
  store i32 %4696, ptr @test_count, align 4, !tbaa !5
  %4697 = load i16, ptr %52, align 2, !tbaa !53
  %4698 = zext i16 %4697 to i64
  %4699 = icmp sgt i64 %4668, %4698
  br i1 %4699, label %4722, label %4700

4700:                                             ; preds = %4695
  %4701 = load i32, ptr %1134, 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
  %.not700 = icmp eq i32 %4709, 0
  br i1 %.not700, label %4710, label %4711

4710:                                             ; preds = %4706, %4700
  br label %4711

4711:                                             ; preds = %4706, %4710
  %.str.4.sink2388 = phi ptr [ @.str.4, %4710 ], [ @.str, %4706 ]
  store i32 %4701, ptr %1134, 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 %1080, align 4, !tbaa !5
  %4715 = call ptr @s2n_strerror(i32 noundef %4714, ptr noundef nonnull @.str.3) #11
  %4716 = load i32, ptr %1080, align 4, !tbaa !5
  %4717 = call ptr @s2n_strerror_debug(i32 noundef %4716, ptr noundef nonnull @.str.3) #11
  %4718 = load i32, ptr %1134, align 4, !tbaa !5
  %4719 = call ptr @strerror(i32 noundef %4718) #11
  %4720 = load i32, ptr %1134, align 4, !tbaa !5
  %4721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4712, ptr noundef nonnull %.str.4.sink2388, i32 noundef %4713, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.2, i32 noundef 596, ptr noundef %4715, ptr noundef %4717, ptr noundef %4719, i32 noundef %4720) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4722:                                             ; preds = %4695
  %4723 = add nsw i32 %4669, 3
  store i32 %4723, ptr @test_count, align 4, !tbaa !5
  %4724 = load ptr, ptr %51, align 8, !tbaa !9
  %4725 = getelementptr inbounds i8, ptr %4724, i64 2208
  %4726 = load i16, ptr %4725, align 8, !tbaa !46
  %4727 = zext i16 %4726 to i64
  %4728 = icmp eq i64 %4668, %4727
  br i1 %4728, label %4751, label %4729

4729:                                             ; preds = %4722
  %4730 = load i32, ptr %1134, align 4, !tbaa !5
  %4731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4732 = call i32 @s2n_print_stacktrace(ptr noundef %4731) #11
  %4733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4734 = trunc nuw i8 %4733 to i1
  br i1 %4734, label %4735, label %4739

4735:                                             ; preds = %4729
  %4736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4737 = call i32 @fileno(ptr noundef %4736) #11
  %4738 = call i32 @isatty(i32 noundef %4737) #11
  %.not701 = icmp eq i32 %4738, 0
  br i1 %.not701, label %4739, label %4740

4739:                                             ; preds = %4735, %4729
  br label %4740

4740:                                             ; preds = %4735, %4739
  %.str.4.sink2397 = phi ptr [ @.str.4, %4739 ], [ @.str, %4735 ]
  store i32 %4730, ptr %1134, align 4, !tbaa !5
  %4741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4742 = load i32, ptr @test_count, align 4, !tbaa !5
  %4743 = load i32, ptr %1080, align 4, !tbaa !5
  %4744 = call ptr @s2n_strerror(i32 noundef %4743, ptr noundef nonnull @.str.3) #11
  %4745 = load i32, ptr %1080, align 4, !tbaa !5
  %4746 = call ptr @s2n_strerror_debug(i32 noundef %4745, ptr noundef nonnull @.str.3) #11
  %4747 = load i32, ptr %1134, align 4, !tbaa !5
  %4748 = call ptr @strerror(i32 noundef %4747) #11
  %4749 = load i32, ptr %1134, align 4, !tbaa !5
  %4750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4741, ptr noundef nonnull %.str.4.sink2397, i32 noundef %4742, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.2, i32 noundef 597, ptr noundef %4744, ptr noundef %4746, ptr noundef %4748, i32 noundef %4749) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4751:                                             ; preds = %4722
  %4752 = add nsw i32 %4669, 4
  store i32 %4752, ptr @test_count, align 4, !tbaa !5
  %4753 = getelementptr inbounds i8, ptr %4724, i64 1904
  %4754 = load i32, ptr %4753, align 8, !tbaa !47
  %4755 = icmp eq i32 %4754, %2013
  br i1 %4755, label %4778, label %4756

4756:                                             ; preds = %4751
  %4757 = load i32, ptr %1134, align 4, !tbaa !5
  %4758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4759 = call i32 @s2n_print_stacktrace(ptr noundef %4758) #11
  %4760 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4761 = trunc nuw i8 %4760 to i1
  br i1 %4761, label %4762, label %4766

4762:                                             ; preds = %4756
  %4763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4764 = call i32 @fileno(ptr noundef %4763) #11
  %4765 = call i32 @isatty(i32 noundef %4764) #11
  %.not702 = icmp eq i32 %4765, 0
  br i1 %.not702, label %4766, label %4767

4766:                                             ; preds = %4762, %4756
  br label %4767

4767:                                             ; preds = %4762, %4766
  %.str.4.sink2406 = phi ptr [ @.str.4, %4766 ], [ @.str, %4762 ]
  store i32 %4757, ptr %1134, align 4, !tbaa !5
  %4768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4769 = load i32, ptr @test_count, align 4, !tbaa !5
  %4770 = load i32, ptr %1080, align 4, !tbaa !5
  %4771 = call ptr @s2n_strerror(i32 noundef %4770, ptr noundef nonnull @.str.3) #11
  %4772 = load i32, ptr %1080, align 4, !tbaa !5
  %4773 = call ptr @s2n_strerror_debug(i32 noundef %4772, ptr noundef nonnull @.str.3) #11
  %4774 = load i32, ptr %1134, align 4, !tbaa !5
  %4775 = call ptr @strerror(i32 noundef %4774) #11
  %4776 = load i32, ptr %1134, align 4, !tbaa !5
  %4777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4768, ptr noundef nonnull %.str.4.sink2406, i32 noundef %4769, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 600, ptr noundef %4771, ptr noundef %4773, ptr noundef %4775, i32 noundef %4776) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4778:                                             ; preds = %4751
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %53) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %52) #11
  %4779 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %51) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #11
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %56) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(128) %56, i8 0, i64 128, i1 false)
  %4780 = getelementptr inbounds i8, ptr %56, i64 24
  store i64 1, ptr %4780, align 8
  %4781 = getelementptr inbounds i8, ptr %56, i64 40
  store i64 2, ptr %4781, align 8
  %4782 = getelementptr inbounds i8, ptr %56, i64 72
  store i64 14, ptr %4782, align 8
  %4783 = getelementptr inbounds i8, ptr %56, i64 104
  store i64 3, ptr %4783, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %57) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %57, i8 0, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #11
  store i64 0, ptr %58, align 8, !tbaa !15
  %4784 = load i32, ptr @test_count, align 4, !tbaa !5
  %4785 = add nsw i32 %4784, 1
  store i32 %4785, ptr @test_count, align 4, !tbaa !5
  %4786 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef nonnull %57, i64 noundef 1, i64 noundef 0, ptr noundef null) #11
  %4787 = call zeroext i1 @s2n_result_is_error(i32 %4786)
  br i1 %4787, label %4810, label %4788

4788:                                             ; preds = %4778
  %4789 = load i32, ptr %1134, align 4, !tbaa !5
  %4790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4791 = call i32 @s2n_print_stacktrace(ptr noundef %4790) #11
  %4792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4793 = trunc nuw i8 %4792 to i1
  br i1 %4793, label %4794, label %4798

4794:                                             ; preds = %4788
  %4795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4796 = call i32 @fileno(ptr noundef %4795) #11
  %4797 = call i32 @isatty(i32 noundef %4796) #11
  %.not703 = icmp eq i32 %4797, 0
  br i1 %.not703, label %4798, label %4799

4798:                                             ; preds = %4794, %4788
  br label %4799

4799:                                             ; preds = %4794, %4798
  %.str.4.sink2415 = phi ptr [ @.str.4, %4798 ], [ @.str, %4794 ]
  store i32 %4789, ptr %1134, align 4, !tbaa !5
  %4800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4801 = load i32, ptr @test_count, align 4, !tbaa !5
  %4802 = load i32, ptr %1080, align 4, !tbaa !5
  %4803 = call ptr @s2n_strerror(i32 noundef %4802, ptr noundef nonnull @.str.3) #11
  %4804 = load i32, ptr %1080, align 4, !tbaa !5
  %4805 = call ptr @s2n_strerror_debug(i32 noundef %4804, ptr noundef nonnull @.str.3) #11
  %4806 = load i32, ptr %1134, align 4, !tbaa !5
  %4807 = call ptr @strerror(i32 noundef %4806) #11
  %4808 = load i32, ptr %1134, align 4, !tbaa !5
  %4809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4800, ptr noundef nonnull %.str.4.sink2415, i32 noundef %4801, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.2, i32 noundef 625, ptr noundef %4803, ptr noundef %4805, ptr noundef %4807, i32 noundef %4808) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4810:                                             ; preds = %4778
  %4811 = load i32, ptr @test_count, align 4, !tbaa !5
  %4812 = add nsw i32 %4811, 1
  store i32 %4812, ptr @test_count, align 4, !tbaa !5
  %4813 = load i32, ptr %1080, align 4, !tbaa !5
  %4814 = icmp eq i32 %4813, 402653193
  br i1 %4814, label %4837, label %4815

4815:                                             ; preds = %4810
  %4816 = load i32, ptr %1134, align 4, !tbaa !5
  %4817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4818 = call i32 @s2n_print_stacktrace(ptr noundef %4817) #11
  %4819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4820 = trunc nuw i8 %4819 to i1
  br i1 %4820, label %4821, label %4825

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

4825:                                             ; preds = %4821, %4815
  br label %4826

4826:                                             ; preds = %4821, %4825
  %.str.4.sink2424 = phi ptr [ @.str.4, %4825 ], [ @.str, %4821 ]
  store i32 %4816, ptr %1134, align 4, !tbaa !5
  %4827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4828 = load i32, ptr @test_count, align 4, !tbaa !5
  %4829 = load i32, ptr %1080, align 4, !tbaa !5
  %4830 = call ptr @s2n_strerror(i32 noundef %4829, ptr noundef nonnull @.str.3) #11
  %4831 = load i32, ptr %1080, align 4, !tbaa !5
  %4832 = call ptr @s2n_strerror_debug(i32 noundef %4831, ptr noundef nonnull @.str.3) #11
  %4833 = load i32, ptr %1134, align 4, !tbaa !5
  %4834 = call ptr @strerror(i32 noundef %4833) #11
  %4835 = load i32, ptr %1134, align 4, !tbaa !5
  %4836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4827, ptr noundef nonnull %.str.4.sink2424, i32 noundef %4828, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.2, i32 noundef 625, ptr noundef %4830, ptr noundef %4832, ptr noundef %4834, i32 noundef %4835) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4837:                                             ; preds = %4810
  %4838 = add nsw i32 %4811, 2
  store i32 %4838, ptr @test_count, align 4, !tbaa !5
  %4839 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.3) #11
  %4840 = icmp eq ptr %4839, null
  br i1 %4840, label %4841, label %4863

4841:                                             ; preds = %4837
  %4842 = load i32, ptr %1134, align 4, !tbaa !5
  %4843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4844 = call i32 @s2n_print_stacktrace(ptr noundef %4843) #11
  %4845 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4846 = trunc nuw i8 %4845 to i1
  br i1 %4846, label %4847, label %4851

4847:                                             ; preds = %4841
  %4848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4849 = call i32 @fileno(ptr noundef %4848) #11
  %4850 = call i32 @isatty(i32 noundef %4849) #11
  %.not772 = icmp eq i32 %4850, 0
  br i1 %.not772, label %4851, label %4852

4851:                                             ; preds = %4847, %4841
  br label %4852

4852:                                             ; preds = %4847, %4851
  %.str.4.sink2433 = phi ptr [ @.str.4, %4851 ], [ @.str, %4847 ]
  store i32 %4842, ptr %1134, align 4, !tbaa !5
  %4853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4854 = load i32, ptr @test_count, align 4, !tbaa !5
  %4855 = load i32, ptr %1080, align 4, !tbaa !5
  %4856 = call ptr @s2n_strerror(i32 noundef %4855, ptr noundef nonnull @.str.3) #11
  %4857 = load i32, ptr %1080, align 4, !tbaa !5
  %4858 = call ptr @s2n_strerror_debug(i32 noundef %4857, ptr noundef nonnull @.str.3) #11
  %4859 = load i32, ptr %1134, align 4, !tbaa !5
  %4860 = call ptr @strerror(i32 noundef %4859) #11
  %4861 = load i32, ptr %1134, align 4, !tbaa !5
  %4862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4853, ptr noundef nonnull %.str.4.sink2433, i32 noundef %4854, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 625, ptr noundef %4856, ptr noundef %4858, ptr noundef %4860, i32 noundef %4861) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4863:                                             ; preds = %4837
  store i32 0, ptr %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1134, align 4, !tbaa !5
  %4864 = load i32, ptr @test_count, align 4, !tbaa !5
  %4865 = add nsw i32 %4864, 1
  store i32 %4865, ptr @test_count, align 4, !tbaa !5
  %4866 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef null, i64 noundef 1, i64 noundef 0, ptr noundef nonnull %58) #11
  %4867 = call zeroext i1 @s2n_result_is_error(i32 %4866)
  br i1 %4867, label %4890, label %4868

4868:                                             ; preds = %4863
  %4869 = load i32, ptr %1134, 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
  %.not705 = icmp eq i32 %4877, 0
  br i1 %.not705, label %4878, label %4879

4878:                                             ; preds = %4874, %4868
  br label %4879

4879:                                             ; preds = %4874, %4878
  %.str.4.sink2442 = phi ptr [ @.str.4, %4878 ], [ @.str, %4874 ]
  store i32 %4869, ptr %1134, 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 %1080, align 4, !tbaa !5
  %4883 = call ptr @s2n_strerror(i32 noundef %4882, ptr noundef nonnull @.str.3) #11
  %4884 = load i32, ptr %1080, align 4, !tbaa !5
  %4885 = call ptr @s2n_strerror_debug(i32 noundef %4884, ptr noundef nonnull @.str.3) #11
  %4886 = load i32, ptr %1134, align 4, !tbaa !5
  %4887 = call ptr @strerror(i32 noundef %4886) #11
  %4888 = load i32, ptr %1134, align 4, !tbaa !5
  %4889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4880, ptr noundef nonnull %.str.4.sink2442, i32 noundef %4881, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.2, i32 noundef 628, ptr noundef %4883, ptr noundef %4885, ptr noundef %4887, i32 noundef %4888) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4890:                                             ; preds = %4863
  %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 %1080, align 4, !tbaa !5
  %4894 = icmp eq i32 %4893, 402653193
  br i1 %4894, label %4917, label %4895

4895:                                             ; preds = %4890
  %4896 = load i32, ptr %1134, 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
  %.not706 = icmp eq i32 %4904, 0
  br i1 %.not706, label %4905, label %4906

4905:                                             ; preds = %4901, %4895
  br label %4906

4906:                                             ; preds = %4901, %4905
  %.str.4.sink2451 = phi ptr [ @.str.4, %4905 ], [ @.str, %4901 ]
  store i32 %4896, ptr %1134, 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 %1080, align 4, !tbaa !5
  %4910 = call ptr @s2n_strerror(i32 noundef %4909, ptr noundef nonnull @.str.3) #11
  %4911 = load i32, ptr %1080, align 4, !tbaa !5
  %4912 = call ptr @s2n_strerror_debug(i32 noundef %4911, ptr noundef nonnull @.str.3) #11
  %4913 = load i32, ptr %1134, align 4, !tbaa !5
  %4914 = call ptr @strerror(i32 noundef %4913) #11
  %4915 = load i32, ptr %1134, align 4, !tbaa !5
  %4916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4907, ptr noundef nonnull %.str.4.sink2451, i32 noundef %4908, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.2, i32 noundef 628, 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 402653193, ptr noundef nonnull @.str.3) #11
  %4920 = icmp eq ptr %4919, null
  br i1 %4920, label %4921, label %4943

4921:                                             ; preds = %4917
  %4922 = load i32, ptr %1134, 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
  %.not771 = icmp eq i32 %4930, 0
  br i1 %.not771, label %4931, label %4932

4931:                                             ; preds = %4927, %4921
  br label %4932

4932:                                             ; preds = %4927, %4931
  %.str.4.sink2460 = phi ptr [ @.str.4, %4931 ], [ @.str, %4927 ]
  store i32 %4922, ptr %1134, 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 %1080, align 4, !tbaa !5
  %4936 = call ptr @s2n_strerror(i32 noundef %4935, ptr noundef nonnull @.str.3) #11
  %4937 = load i32, ptr %1080, align 4, !tbaa !5
  %4938 = call ptr @s2n_strerror_debug(i32 noundef %4937, ptr noundef nonnull @.str.3) #11
  %4939 = load i32, ptr %1134, align 4, !tbaa !5
  %4940 = call ptr @strerror(i32 noundef %4939) #11
  %4941 = load i32, ptr %1134, align 4, !tbaa !5
  %4942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4933, ptr noundef nonnull %.str.4.sink2460, i32 noundef %4934, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 628, 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 %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1134, 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 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef null, i64 noundef -1, i64 noundef 0, ptr noundef nonnull %58) #11
  %4947 = call zeroext i1 @s2n_result_is_ok(i32 %4946)
  br i1 %4947, label %4970, label %4948

4948:                                             ; preds = %4943
  %4949 = load i32, ptr %1134, align 4, !tbaa !5
  %4950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4951 = call i32 @s2n_print_stacktrace(ptr noundef %4950) #11
  %4952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4953 = trunc nuw i8 %4952 to i1
  br i1 %4953, label %4954, label %4958

4954:                                             ; preds = %4948
  %4955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4956 = call i32 @fileno(ptr noundef %4955) #11
  %4957 = call i32 @isatty(i32 noundef %4956) #11
  %.not707 = icmp eq i32 %4957, 0
  br i1 %.not707, label %4958, label %4959

4958:                                             ; preds = %4954, %4948
  br label %4959

4959:                                             ; preds = %4954, %4958
  %.str.4.sink2469 = phi ptr [ @.str.4, %4958 ], [ @.str, %4954 ]
  store i32 %4949, ptr %1134, align 4, !tbaa !5
  %4960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4961 = load i32, ptr @test_count, align 4, !tbaa !5
  %4962 = load i32, ptr %1080, align 4, !tbaa !5
  %4963 = call ptr @s2n_strerror(i32 noundef %4962, ptr noundef nonnull @.str.3) #11
  %4964 = load i32, ptr %1080, align 4, !tbaa !5
  %4965 = call ptr @s2n_strerror_debug(i32 noundef %4964, ptr noundef nonnull @.str.3) #11
  %4966 = load i32, ptr %1134, align 4, !tbaa !5
  %4967 = call ptr @strerror(i32 noundef %4966) #11
  %4968 = load i32, ptr %1134, align 4, !tbaa !5
  %4969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4960, ptr noundef nonnull %.str.4.sink2469, i32 noundef %4961, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.2, i32 noundef 631, ptr noundef %4963, ptr noundef %4965, ptr noundef %4967, i32 noundef %4968) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4970:                                             ; preds = %4943
  %4971 = load i32, ptr @test_count, align 4, !tbaa !5
  %4972 = add nsw i32 %4971, 1
  store i32 %4972, ptr @test_count, align 4, !tbaa !5
  %4973 = load i64, ptr %58, align 8, !tbaa !15
  %4974 = icmp eq i64 %4973, 0
  br i1 %4974, label %4997, label %4975

4975:                                             ; preds = %4970
  %4976 = load i32, ptr %1134, align 4, !tbaa !5
  %4977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4978 = call i32 @s2n_print_stacktrace(ptr noundef %4977) #11
  %4979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4980 = trunc nuw i8 %4979 to i1
  br i1 %4980, label %4981, label %4985

4981:                                             ; preds = %4975
  %4982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4983 = call i32 @fileno(ptr noundef %4982) #11
  %4984 = call i32 @isatty(i32 noundef %4983) #11
  %.not708 = icmp eq i32 %4984, 0
  br i1 %.not708, label %4985, label %4986

4985:                                             ; preds = %4981, %4975
  br label %4986

4986:                                             ; preds = %4981, %4985
  %.str.4.sink2478 = phi ptr [ @.str.4, %4985 ], [ @.str, %4981 ]
  store i32 %4976, ptr %1134, align 4, !tbaa !5
  %4987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4988 = load i32, ptr @test_count, align 4, !tbaa !5
  %4989 = load i32, ptr %1080, align 4, !tbaa !5
  %4990 = call ptr @s2n_strerror(i32 noundef %4989, ptr noundef nonnull @.str.3) #11
  %4991 = load i32, ptr %1080, align 4, !tbaa !5
  %4992 = call ptr @s2n_strerror_debug(i32 noundef %4991, ptr noundef nonnull @.str.3) #11
  %4993 = load i32, ptr %1134, align 4, !tbaa !5
  %4994 = call ptr @strerror(i32 noundef %4993) #11
  %4995 = load i32, ptr %1134, align 4, !tbaa !5
  %4996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4987, ptr noundef nonnull %.str.4.sink2478, i32 noundef %4988, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.2, i32 noundef 632, ptr noundef %4990, ptr noundef %4992, ptr noundef %4994, i32 noundef %4995) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4997:                                             ; preds = %4970
  %4998 = add nsw i32 %4971, 2
  store i32 %4998, ptr @test_count, align 4, !tbaa !5
  %4999 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef nonnull %57, i64 noundef -1, i64 noundef 0, ptr noundef nonnull %58) #11
  %5000 = call zeroext i1 @s2n_result_is_ok(i32 %4999)
  br i1 %5000, label %5023, label %5001

5001:                                             ; preds = %4997
  %5002 = load i32, ptr %1134, align 4, !tbaa !5
  %5003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5004 = call i32 @s2n_print_stacktrace(ptr noundef %5003) #11
  %5005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5006 = trunc nuw i8 %5005 to i1
  br i1 %5006, label %5007, label %5011

5007:                                             ; preds = %5001
  %5008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5009 = call i32 @fileno(ptr noundef %5008) #11
  %5010 = call i32 @isatty(i32 noundef %5009) #11
  %.not709 = icmp eq i32 %5010, 0
  br i1 %.not709, label %5011, label %5012

5011:                                             ; preds = %5007, %5001
  br label %5012

5012:                                             ; preds = %5007, %5011
  %.str.4.sink2487 = phi ptr [ @.str.4, %5011 ], [ @.str, %5007 ]
  store i32 %5002, ptr %1134, align 4, !tbaa !5
  %5013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5014 = load i32, ptr @test_count, align 4, !tbaa !5
  %5015 = load i32, ptr %1080, align 4, !tbaa !5
  %5016 = call ptr @s2n_strerror(i32 noundef %5015, ptr noundef nonnull @.str.3) #11
  %5017 = load i32, ptr %1080, align 4, !tbaa !5
  %5018 = call ptr @s2n_strerror_debug(i32 noundef %5017, ptr noundef nonnull @.str.3) #11
  %5019 = load i32, ptr %1134, align 4, !tbaa !5
  %5020 = call ptr @strerror(i32 noundef %5019) #11
  %5021 = load i32, ptr %1134, align 4, !tbaa !5
  %5022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5013, ptr noundef nonnull %.str.4.sink2487, i32 noundef %5014, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 633, ptr noundef %5016, ptr noundef %5018, ptr noundef %5020, i32 noundef %5021) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5023:                                             ; preds = %4997
  %5024 = load i32, ptr @test_count, align 4, !tbaa !5
  %5025 = add nsw i32 %5024, 1
  store i32 %5025, ptr @test_count, align 4, !tbaa !5
  %5026 = load i64, ptr %58, align 8, !tbaa !15
  %5027 = icmp eq i64 %5026, 0
  br i1 %5027, label %5050, label %5028

5028:                                             ; preds = %5023
  %5029 = load i32, ptr %1134, align 4, !tbaa !5
  %5030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5031 = call i32 @s2n_print_stacktrace(ptr noundef %5030) #11
  %5032 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5033 = trunc nuw i8 %5032 to i1
  br i1 %5033, label %5034, label %5038

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

5038:                                             ; preds = %5034, %5028
  br label %5039

5039:                                             ; preds = %5034, %5038
  %.str.4.sink2496 = phi ptr [ @.str.4, %5038 ], [ @.str, %5034 ]
  store i32 %5029, ptr %1134, align 4, !tbaa !5
  %5040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5041 = load i32, ptr @test_count, align 4, !tbaa !5
  %5042 = load i32, ptr %1080, align 4, !tbaa !5
  %5043 = call ptr @s2n_strerror(i32 noundef %5042, ptr noundef nonnull @.str.3) #11
  %5044 = load i32, ptr %1080, align 4, !tbaa !5
  %5045 = call ptr @s2n_strerror_debug(i32 noundef %5044, ptr noundef nonnull @.str.3) #11
  %5046 = load i32, ptr %1134, align 4, !tbaa !5
  %5047 = call ptr @strerror(i32 noundef %5046) #11
  %5048 = load i32, ptr %1134, align 4, !tbaa !5
  %5049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5040, ptr noundef nonnull %.str.4.sink2496, i32 noundef %5041, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.2, i32 noundef 634, ptr noundef %5043, ptr noundef %5045, ptr noundef %5047, i32 noundef %5048) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5050:                                             ; preds = %5023
  %5051 = add nsw i32 %5024, 2
  store i32 %5051, ptr @test_count, align 4, !tbaa !5
  %5052 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef null, i64 noundef 0, i64 noundef -1, ptr noundef nonnull %58) #11
  %5053 = call zeroext i1 @s2n_result_is_error(i32 %5052)
  br i1 %5053, label %5076, label %5054

5054:                                             ; preds = %5050
  %5055 = load i32, ptr %1134, align 4, !tbaa !5
  %5056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5057 = call i32 @s2n_print_stacktrace(ptr noundef %5056) #11
  %5058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5059 = trunc nuw i8 %5058 to i1
  br i1 %5059, label %5060, label %5064

5060:                                             ; preds = %5054
  %5061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5062 = call i32 @fileno(ptr noundef %5061) #11
  %5063 = call i32 @isatty(i32 noundef %5062) #11
  %.not711 = icmp eq i32 %5063, 0
  br i1 %.not711, label %5064, label %5065

5064:                                             ; preds = %5060, %5054
  br label %5065

5065:                                             ; preds = %5060, %5064
  %.str.4.sink2505 = phi ptr [ @.str.4, %5064 ], [ @.str, %5060 ]
  store i32 %5055, ptr %1134, align 4, !tbaa !5
  %5066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5067 = load i32, ptr @test_count, align 4, !tbaa !5
  %5068 = load i32, ptr %1080, align 4, !tbaa !5
  %5069 = call ptr @s2n_strerror(i32 noundef %5068, ptr noundef nonnull @.str.3) #11
  %5070 = load i32, ptr %1080, align 4, !tbaa !5
  %5071 = call ptr @s2n_strerror_debug(i32 noundef %5070, ptr noundef nonnull @.str.3) #11
  %5072 = load i32, ptr %1134, align 4, !tbaa !5
  %5073 = call ptr @strerror(i32 noundef %5072) #11
  %5074 = load i32, ptr %1134, align 4, !tbaa !5
  %5075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5066, ptr noundef nonnull %.str.4.sink2505, i32 noundef %5067, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.2, i32 noundef 637, ptr noundef %5069, ptr noundef %5071, ptr noundef %5073, i32 noundef %5074) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5076:                                             ; preds = %5050
  %5077 = load i32, ptr @test_count, align 4, !tbaa !5
  %5078 = add nsw i32 %5077, 1
  store i32 %5078, ptr @test_count, align 4, !tbaa !5
  %5079 = load i32, ptr %1080, align 4, !tbaa !5
  %5080 = icmp eq i32 %5079, 469762089
  br i1 %5080, label %5103, label %5081

5081:                                             ; preds = %5076
  %5082 = load i32, ptr %1134, align 4, !tbaa !5
  %5083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5084 = call i32 @s2n_print_stacktrace(ptr noundef %5083) #11
  %5085 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5086 = trunc nuw i8 %5085 to i1
  br i1 %5086, label %5087, label %5091

5087:                                             ; preds = %5081
  %5088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5089 = call i32 @fileno(ptr noundef %5088) #11
  %5090 = call i32 @isatty(i32 noundef %5089) #11
  %.not712 = icmp eq i32 %5090, 0
  br i1 %.not712, label %5091, label %5092

5091:                                             ; preds = %5087, %5081
  br label %5092

5092:                                             ; preds = %5087, %5091
  %.str.4.sink2514 = phi ptr [ @.str.4, %5091 ], [ @.str, %5087 ]
  store i32 %5082, ptr %1134, align 4, !tbaa !5
  %5093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5094 = load i32, ptr @test_count, align 4, !tbaa !5
  %5095 = load i32, ptr %1080, align 4, !tbaa !5
  %5096 = call ptr @s2n_strerror(i32 noundef %5095, ptr noundef nonnull @.str.3) #11
  %5097 = load i32, ptr %1080, align 4, !tbaa !5
  %5098 = call ptr @s2n_strerror_debug(i32 noundef %5097, ptr noundef nonnull @.str.3) #11
  %5099 = load i32, ptr %1134, align 4, !tbaa !5
  %5100 = call ptr @strerror(i32 noundef %5099) #11
  %5101 = load i32, ptr %1134, align 4, !tbaa !5
  %5102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5093, ptr noundef nonnull %.str.4.sink2514, i32 noundef %5094, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.2, i32 noundef 637, ptr noundef %5096, ptr noundef %5098, ptr noundef %5100, i32 noundef %5101) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5103:                                             ; preds = %5076
  %5104 = add nsw i32 %5077, 2
  store i32 %5104, ptr @test_count, align 4, !tbaa !5
  %5105 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.3) #11
  %5106 = icmp eq ptr %5105, null
  br i1 %5106, label %5107, label %5129

5107:                                             ; preds = %5103
  %5108 = load i32, ptr %1134, align 4, !tbaa !5
  %5109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5110 = call i32 @s2n_print_stacktrace(ptr noundef %5109) #11
  %5111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5112 = trunc nuw i8 %5111 to i1
  br i1 %5112, label %5113, label %5117

5113:                                             ; preds = %5107
  %5114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5115 = call i32 @fileno(ptr noundef %5114) #11
  %5116 = call i32 @isatty(i32 noundef %5115) #11
  %.not770 = icmp eq i32 %5116, 0
  br i1 %.not770, label %5117, label %5118

5117:                                             ; preds = %5113, %5107
  br label %5118

5118:                                             ; preds = %5113, %5117
  %.str.4.sink2523 = phi ptr [ @.str.4, %5117 ], [ @.str, %5113 ]
  store i32 %5108, ptr %1134, align 4, !tbaa !5
  %5119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5120 = load i32, ptr @test_count, align 4, !tbaa !5
  %5121 = load i32, ptr %1080, align 4, !tbaa !5
  %5122 = call ptr @s2n_strerror(i32 noundef %5121, ptr noundef nonnull @.str.3) #11
  %5123 = load i32, ptr %1080, align 4, !tbaa !5
  %5124 = call ptr @s2n_strerror_debug(i32 noundef %5123, ptr noundef nonnull @.str.3) #11
  %5125 = load i32, ptr %1134, align 4, !tbaa !5
  %5126 = call ptr @strerror(i32 noundef %5125) #11
  %5127 = load i32, ptr %1134, align 4, !tbaa !5
  %5128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5119, ptr noundef nonnull %.str.4.sink2523, i32 noundef %5120, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 637, ptr noundef %5122, ptr noundef %5124, ptr noundef %5126, i32 noundef %5127) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5129:                                             ; preds = %5103
  store i32 0, ptr %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1134, align 4, !tbaa !5
  %5130 = load i32, ptr @test_count, align 4, !tbaa !5
  %5131 = add nsw i32 %5130, 1
  store i32 %5131, ptr @test_count, align 4, !tbaa !5
  %5132 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef nonnull %57, i64 noundef 1, i64 noundef -1, ptr noundef nonnull %58) #11
  %5133 = call zeroext i1 @s2n_result_is_error(i32 %5132)
  br i1 %5133, label %5156, label %5134

5134:                                             ; preds = %5129
  %5135 = load i32, ptr %1134, align 4, !tbaa !5
  %5136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5137 = call i32 @s2n_print_stacktrace(ptr noundef %5136) #11
  %5138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5139 = trunc nuw i8 %5138 to i1
  br i1 %5139, label %5140, label %5144

5140:                                             ; preds = %5134
  %5141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5142 = call i32 @fileno(ptr noundef %5141) #11
  %5143 = call i32 @isatty(i32 noundef %5142) #11
  %.not713 = icmp eq i32 %5143, 0
  br i1 %.not713, label %5144, label %5145

5144:                                             ; preds = %5140, %5134
  br label %5145

5145:                                             ; preds = %5140, %5144
  %.str.4.sink2532 = phi ptr [ @.str.4, %5144 ], [ @.str, %5140 ]
  store i32 %5135, ptr %1134, align 4, !tbaa !5
  %5146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5147 = load i32, ptr @test_count, align 4, !tbaa !5
  %5148 = load i32, ptr %1080, align 4, !tbaa !5
  %5149 = call ptr @s2n_strerror(i32 noundef %5148, ptr noundef nonnull @.str.3) #11
  %5150 = load i32, ptr %1080, align 4, !tbaa !5
  %5151 = call ptr @s2n_strerror_debug(i32 noundef %5150, ptr noundef nonnull @.str.3) #11
  %5152 = load i32, ptr %1134, align 4, !tbaa !5
  %5153 = call ptr @strerror(i32 noundef %5152) #11
  %5154 = load i32, ptr %1134, align 4, !tbaa !5
  %5155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5146, ptr noundef nonnull %.str.4.sink2532, i32 noundef %5147, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.2, i32 noundef 640, ptr noundef %5149, ptr noundef %5151, ptr noundef %5153, i32 noundef %5154) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5156:                                             ; preds = %5129
  %5157 = load i32, ptr @test_count, align 4, !tbaa !5
  %5158 = add nsw i32 %5157, 1
  store i32 %5158, ptr @test_count, align 4, !tbaa !5
  %5159 = load i32, ptr %1080, align 4, !tbaa !5
  %5160 = icmp eq i32 %5159, 469762089
  br i1 %5160, label %5183, label %5161

5161:                                             ; preds = %5156
  %5162 = load i32, ptr %1134, align 4, !tbaa !5
  %5163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5164 = call i32 @s2n_print_stacktrace(ptr noundef %5163) #11
  %5165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5166 = trunc nuw i8 %5165 to i1
  br i1 %5166, label %5167, label %5171

5167:                                             ; preds = %5161
  %5168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5169 = call i32 @fileno(ptr noundef %5168) #11
  %5170 = call i32 @isatty(i32 noundef %5169) #11
  %.not714 = icmp eq i32 %5170, 0
  br i1 %.not714, label %5171, label %5172

5171:                                             ; preds = %5167, %5161
  br label %5172

5172:                                             ; preds = %5167, %5171
  %.str.4.sink2541 = phi ptr [ @.str.4, %5171 ], [ @.str, %5167 ]
  store i32 %5162, ptr %1134, align 4, !tbaa !5
  %5173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5174 = load i32, ptr @test_count, align 4, !tbaa !5
  %5175 = load i32, ptr %1080, align 4, !tbaa !5
  %5176 = call ptr @s2n_strerror(i32 noundef %5175, ptr noundef nonnull @.str.3) #11
  %5177 = load i32, ptr %1080, align 4, !tbaa !5
  %5178 = call ptr @s2n_strerror_debug(i32 noundef %5177, ptr noundef nonnull @.str.3) #11
  %5179 = load i32, ptr %1134, align 4, !tbaa !5
  %5180 = call ptr @strerror(i32 noundef %5179) #11
  %5181 = load i32, ptr %1134, align 4, !tbaa !5
  %5182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5173, ptr noundef nonnull %.str.4.sink2541, i32 noundef %5174, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.2, i32 noundef 640, ptr noundef %5176, ptr noundef %5178, ptr noundef %5180, i32 noundef %5181) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5183:                                             ; preds = %5156
  %5184 = add nsw i32 %5157, 2
  store i32 %5184, ptr @test_count, align 4, !tbaa !5
  %5185 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.3) #11
  %5186 = icmp eq ptr %5185, null
  br i1 %5186, label %5187, label %5209

5187:                                             ; preds = %5183
  %5188 = load i32, ptr %1134, align 4, !tbaa !5
  %5189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5190 = call i32 @s2n_print_stacktrace(ptr noundef %5189) #11
  %5191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5192 = trunc nuw i8 %5191 to i1
  br i1 %5192, label %5193, label %5197

5193:                                             ; preds = %5187
  %5194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5195 = call i32 @fileno(ptr noundef %5194) #11
  %5196 = call i32 @isatty(i32 noundef %5195) #11
  %.not769 = icmp eq i32 %5196, 0
  br i1 %.not769, label %5197, label %5198

5197:                                             ; preds = %5193, %5187
  br label %5198

5198:                                             ; preds = %5193, %5197
  %.str.4.sink2550 = phi ptr [ @.str.4, %5197 ], [ @.str, %5193 ]
  store i32 %5188, ptr %1134, align 4, !tbaa !5
  %5199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5200 = load i32, ptr @test_count, align 4, !tbaa !5
  %5201 = load i32, ptr %1080, align 4, !tbaa !5
  %5202 = call ptr @s2n_strerror(i32 noundef %5201, ptr noundef nonnull @.str.3) #11
  %5203 = load i32, ptr %1080, align 4, !tbaa !5
  %5204 = call ptr @s2n_strerror_debug(i32 noundef %5203, ptr noundef nonnull @.str.3) #11
  %5205 = load i32, ptr %1134, align 4, !tbaa !5
  %5206 = call ptr @strerror(i32 noundef %5205) #11
  %5207 = load i32, ptr %1134, align 4, !tbaa !5
  %5208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5199, ptr noundef nonnull %.str.4.sink2550, i32 noundef %5200, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 640, ptr noundef %5202, ptr noundef %5204, ptr noundef %5206, i32 noundef %5207) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5209:                                             ; preds = %5183
  store i32 0, ptr %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1134, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %57) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #11
  store i64 0, ptr %59, align 8, !tbaa !15
  %5210 = load i32, ptr @test_count, align 4, !tbaa !5
  %5211 = add nsw i32 %5210, 1
  store i32 %5211, ptr @test_count, align 4, !tbaa !5
  %5212 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef null, i64 noundef 0, i64 noundef 0, ptr noundef nonnull %59) #11
  %5213 = call zeroext i1 @s2n_result_is_ok(i32 %5212)
  br i1 %5213, label %5236, label %5214

5214:                                             ; preds = %5209
  %5215 = load i32, ptr %1134, align 4, !tbaa !5
  %5216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5217 = call i32 @s2n_print_stacktrace(ptr noundef %5216) #11
  %5218 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5219 = trunc nuw i8 %5218 to i1
  br i1 %5219, label %5220, label %5224

5220:                                             ; preds = %5214
  %5221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5222 = call i32 @fileno(ptr noundef %5221) #11
  %5223 = call i32 @isatty(i32 noundef %5222) #11
  %.not715 = icmp eq i32 %5223, 0
  br i1 %.not715, label %5224, label %5225

5224:                                             ; preds = %5220, %5214
  br label %5225

5225:                                             ; preds = %5220, %5224
  %.str.4.sink2559 = phi ptr [ @.str.4, %5224 ], [ @.str, %5220 ]
  store i32 %5215, ptr %1134, align 4, !tbaa !5
  %5226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5227 = load i32, ptr @test_count, align 4, !tbaa !5
  %5228 = load i32, ptr %1080, align 4, !tbaa !5
  %5229 = call ptr @s2n_strerror(i32 noundef %5228, ptr noundef nonnull @.str.3) #11
  %5230 = load i32, ptr %1080, align 4, !tbaa !5
  %5231 = call ptr @s2n_strerror_debug(i32 noundef %5230, ptr noundef nonnull @.str.3) #11
  %5232 = load i32, ptr %1134, align 4, !tbaa !5
  %5233 = call ptr @strerror(i32 noundef %5232) #11
  %5234 = load i32, ptr %1134, align 4, !tbaa !5
  %5235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5226, ptr noundef nonnull %.str.4.sink2559, i32 noundef %5227, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.2, i32 noundef 646, ptr noundef %5229, ptr noundef %5231, ptr noundef %5233, i32 noundef %5234) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5236:                                             ; preds = %5209
  %5237 = load i32, ptr @test_count, align 4, !tbaa !5
  %5238 = add nsw i32 %5237, 1
  store i32 %5238, ptr @test_count, align 4, !tbaa !5
  %5239 = load i64, ptr %59, align 8, !tbaa !15
  %5240 = icmp eq i64 %5239, 0
  br i1 %5240, label %5263, label %5241

5241:                                             ; preds = %5236
  %5242 = load i32, ptr %1134, align 4, !tbaa !5
  %5243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5244 = call i32 @s2n_print_stacktrace(ptr noundef %5243) #11
  %5245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5246 = trunc nuw i8 %5245 to i1
  br i1 %5246, label %5247, label %5251

5247:                                             ; preds = %5241
  %5248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5249 = call i32 @fileno(ptr noundef %5248) #11
  %5250 = call i32 @isatty(i32 noundef %5249) #11
  %.not716 = icmp eq i32 %5250, 0
  br i1 %.not716, label %5251, label %5252

5251:                                             ; preds = %5247, %5241
  br label %5252

5252:                                             ; preds = %5247, %5251
  %.str.4.sink2568 = phi ptr [ @.str.4, %5251 ], [ @.str, %5247 ]
  store i32 %5242, ptr %1134, align 4, !tbaa !5
  %5253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5254 = load i32, ptr @test_count, align 4, !tbaa !5
  %5255 = load i32, ptr %1080, align 4, !tbaa !5
  %5256 = call ptr @s2n_strerror(i32 noundef %5255, ptr noundef nonnull @.str.3) #11
  %5257 = load i32, ptr %1080, align 4, !tbaa !5
  %5258 = call ptr @s2n_strerror_debug(i32 noundef %5257, ptr noundef nonnull @.str.3) #11
  %5259 = load i32, ptr %1134, align 4, !tbaa !5
  %5260 = call ptr @strerror(i32 noundef %5259) #11
  %5261 = load i32, ptr %1134, align 4, !tbaa !5
  %5262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5253, ptr noundef nonnull %.str.4.sink2568, i32 noundef %5254, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.2, i32 noundef 647, ptr noundef %5256, ptr noundef %5258, ptr noundef %5260, i32 noundef %5261) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5263:                                             ; preds = %5236
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #11
  call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %60) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(160) %60, i8 0, i64 160, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %61) #11
  store i64 0, ptr %61, align 8, !tbaa !15
  %5264 = add nsw i32 %5237, 2
  store i32 %5264, ptr @test_count, align 4, !tbaa !5
  %5265 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef nonnull %60, i64 noundef 10, i64 noundef 0, ptr noundef nonnull %61) #11
  %5266 = call zeroext i1 @s2n_result_is_ok(i32 %5265)
  br i1 %5266, label %5289, label %5267

5267:                                             ; preds = %5263
  %5268 = load i32, ptr %1134, align 4, !tbaa !5
  %5269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5270 = call i32 @s2n_print_stacktrace(ptr noundef %5269) #11
  %5271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5272 = trunc nuw i8 %5271 to i1
  br i1 %5272, label %5273, label %5277

5273:                                             ; preds = %5267
  %5274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5275 = call i32 @fileno(ptr noundef %5274) #11
  %5276 = call i32 @isatty(i32 noundef %5275) #11
  %.not717 = icmp eq i32 %5276, 0
  br i1 %.not717, label %5277, label %5278

5277:                                             ; preds = %5273, %5267
  br label %5278

5278:                                             ; preds = %5273, %5277
  %.str.4.sink2577 = phi ptr [ @.str.4, %5277 ], [ @.str, %5273 ]
  store i32 %5268, ptr %1134, align 4, !tbaa !5
  %5279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5280 = load i32, ptr @test_count, align 4, !tbaa !5
  %5281 = load i32, ptr %1080, align 4, !tbaa !5
  %5282 = call ptr @s2n_strerror(i32 noundef %5281, ptr noundef nonnull @.str.3) #11
  %5283 = load i32, ptr %1080, align 4, !tbaa !5
  %5284 = call ptr @s2n_strerror_debug(i32 noundef %5283, ptr noundef nonnull @.str.3) #11
  %5285 = load i32, ptr %1134, align 4, !tbaa !5
  %5286 = call ptr @strerror(i32 noundef %5285) #11
  %5287 = load i32, ptr %1134, align 4, !tbaa !5
  %5288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5279, ptr noundef nonnull %.str.4.sink2577, i32 noundef %5280, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.2, i32 noundef 655, ptr noundef %5282, ptr noundef %5284, ptr noundef %5286, i32 noundef %5287) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5289:                                             ; preds = %5263
  %5290 = load i32, ptr @test_count, align 4, !tbaa !5
  %5291 = add nsw i32 %5290, 1
  store i32 %5291, ptr @test_count, align 4, !tbaa !5
  %5292 = load i64, ptr %61, align 8, !tbaa !15
  %5293 = icmp eq i64 %5292, 0
  br i1 %5293, label %5316, label %5294

5294:                                             ; preds = %5289
  %5295 = load i32, ptr %1134, align 4, !tbaa !5
  %5296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5297 = call i32 @s2n_print_stacktrace(ptr noundef %5296) #11
  %5298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5299 = trunc nuw i8 %5298 to i1
  br i1 %5299, label %5300, label %5304

5300:                                             ; preds = %5294
  %5301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5302 = call i32 @fileno(ptr noundef %5301) #11
  %5303 = call i32 @isatty(i32 noundef %5302) #11
  %.not718 = icmp eq i32 %5303, 0
  br i1 %.not718, label %5304, label %5305

5304:                                             ; preds = %5300, %5294
  br label %5305

5305:                                             ; preds = %5300, %5304
  %.str.4.sink2586 = phi ptr [ @.str.4, %5304 ], [ @.str, %5300 ]
  store i32 %5295, ptr %1134, align 4, !tbaa !5
  %5306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5307 = load i32, ptr @test_count, align 4, !tbaa !5
  %5308 = load i32, ptr %1080, align 4, !tbaa !5
  %5309 = call ptr @s2n_strerror(i32 noundef %5308, ptr noundef nonnull @.str.3) #11
  %5310 = load i32, ptr %1080, align 4, !tbaa !5
  %5311 = call ptr @s2n_strerror_debug(i32 noundef %5310, ptr noundef nonnull @.str.3) #11
  %5312 = load i32, ptr %1134, align 4, !tbaa !5
  %5313 = call ptr @strerror(i32 noundef %5312) #11
  %5314 = load i32, ptr %1134, align 4, !tbaa !5
  %5315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5306, ptr noundef nonnull %.str.4.sink2586, i32 noundef %5307, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.2, i32 noundef 656, ptr noundef %5309, ptr noundef %5311, ptr noundef %5313, i32 noundef %5314) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5316:                                             ; preds = %5289
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #11
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %60) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %62) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %62, ptr noundef nonnull align 8 dereferenceable(16) @__const.main.test_buf, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %63) #11
  store i64 0, ptr %63, align 8, !tbaa !15
  %5317 = add nsw i32 %5290, 2
  store i32 %5317, ptr @test_count, align 4, !tbaa !5
  %5318 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef nonnull %62, i64 noundef 1, i64 noundef 0, ptr noundef nonnull %63) #11
  %5319 = call zeroext i1 @s2n_result_is_ok(i32 %5318)
  br i1 %5319, label %5342, label %5320

5320:                                             ; preds = %5316
  %5321 = load i32, ptr %1134, align 4, !tbaa !5
  %5322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5323 = call i32 @s2n_print_stacktrace(ptr noundef %5322) #11
  %5324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5325 = trunc nuw i8 %5324 to i1
  br i1 %5325, label %5326, label %5330

5326:                                             ; preds = %5320
  %5327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5328 = call i32 @fileno(ptr noundef %5327) #11
  %5329 = call i32 @isatty(i32 noundef %5328) #11
  %.not719 = icmp eq i32 %5329, 0
  br i1 %.not719, label %5330, label %5331

5330:                                             ; preds = %5326, %5320
  br label %5331

5331:                                             ; preds = %5326, %5330
  %.str.4.sink2595 = phi ptr [ @.str.4, %5330 ], [ @.str, %5326 ]
  store i32 %5321, ptr %1134, align 4, !tbaa !5
  %5332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5333 = load i32, ptr @test_count, align 4, !tbaa !5
  %5334 = load i32, ptr %1080, align 4, !tbaa !5
  %5335 = call ptr @s2n_strerror(i32 noundef %5334, ptr noundef nonnull @.str.3) #11
  %5336 = load i32, ptr %1080, align 4, !tbaa !5
  %5337 = call ptr @s2n_strerror_debug(i32 noundef %5336, ptr noundef nonnull @.str.3) #11
  %5338 = load i32, ptr %1134, align 4, !tbaa !5
  %5339 = call ptr @strerror(i32 noundef %5338) #11
  %5340 = load i32, ptr %1134, align 4, !tbaa !5
  %5341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5332, ptr noundef nonnull %.str.4.sink2595, i32 noundef %5333, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.2, i32 noundef 664, ptr noundef %5335, ptr noundef %5337, ptr noundef %5339, i32 noundef %5340) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5342:                                             ; preds = %5316
  %5343 = load i32, ptr @test_count, align 4, !tbaa !5
  %5344 = add nsw i32 %5343, 1
  store i32 %5344, ptr @test_count, align 4, !tbaa !5
  %5345 = load i64, ptr %63, align 8, !tbaa !15
  %5346 = icmp eq i64 %5345, 10
  br i1 %5346, label %5369, label %5347

5347:                                             ; preds = %5342
  %5348 = load i32, ptr %1134, align 4, !tbaa !5
  %5349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5350 = call i32 @s2n_print_stacktrace(ptr noundef %5349) #11
  %5351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5352 = trunc nuw i8 %5351 to i1
  br i1 %5352, label %5353, label %5357

5353:                                             ; preds = %5347
  %5354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5355 = call i32 @fileno(ptr noundef %5354) #11
  %5356 = call i32 @isatty(i32 noundef %5355) #11
  %.not720 = icmp eq i32 %5356, 0
  br i1 %.not720, label %5357, label %5358

5357:                                             ; preds = %5353, %5347
  br label %5358

5358:                                             ; preds = %5353, %5357
  %.str.4.sink2604 = phi ptr [ @.str.4, %5357 ], [ @.str, %5353 ]
  store i32 %5348, ptr %1134, align 4, !tbaa !5
  %5359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5360 = load i32, ptr @test_count, align 4, !tbaa !5
  %5361 = load i32, ptr %1080, align 4, !tbaa !5
  %5362 = call ptr @s2n_strerror(i32 noundef %5361, ptr noundef nonnull @.str.3) #11
  %5363 = load i32, ptr %1080, align 4, !tbaa !5
  %5364 = call ptr @s2n_strerror_debug(i32 noundef %5363, ptr noundef nonnull @.str.3) #11
  %5365 = load i32, ptr %1134, align 4, !tbaa !5
  %5366 = call ptr @strerror(i32 noundef %5365) #11
  %5367 = load i32, ptr %1134, align 4, !tbaa !5
  %5368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5359, ptr noundef nonnull %.str.4.sink2604, i32 noundef %5360, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.2, i32 noundef 665, ptr noundef %5362, ptr noundef %5364, ptr noundef %5366, i32 noundef %5367) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5369:                                             ; preds = %5342
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %62) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %64) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %64, ptr noundef nonnull align 8 dereferenceable(16) @__const.main.test_buf.87, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %65) #11
  store i64 0, ptr %65, align 8, !tbaa !15
  %5370 = add nsw i32 %5343, 2
  store i32 %5370, ptr @test_count, align 4, !tbaa !5
  %5371 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef nonnull %64, i64 noundef 1, i64 noundef 5, ptr noundef nonnull %65) #11
  %5372 = call zeroext i1 @s2n_result_is_ok(i32 %5371)
  br i1 %5372, label %5395, label %5373

5373:                                             ; preds = %5369
  %5374 = load i32, ptr %1134, align 4, !tbaa !5
  %5375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5376 = call i32 @s2n_print_stacktrace(ptr noundef %5375) #11
  %5377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5378 = trunc nuw i8 %5377 to i1
  br i1 %5378, label %5379, label %5383

5379:                                             ; preds = %5373
  %5380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5381 = call i32 @fileno(ptr noundef %5380) #11
  %5382 = call i32 @isatty(i32 noundef %5381) #11
  %.not721 = icmp eq i32 %5382, 0
  br i1 %.not721, label %5383, label %5384

5383:                                             ; preds = %5379, %5373
  br label %5384

5384:                                             ; preds = %5379, %5383
  %.str.4.sink2613 = phi ptr [ @.str.4, %5383 ], [ @.str, %5379 ]
  store i32 %5374, ptr %1134, align 4, !tbaa !5
  %5385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5386 = load i32, ptr @test_count, align 4, !tbaa !5
  %5387 = load i32, ptr %1080, align 4, !tbaa !5
  %5388 = call ptr @s2n_strerror(i32 noundef %5387, ptr noundef nonnull @.str.3) #11
  %5389 = load i32, ptr %1080, align 4, !tbaa !5
  %5390 = call ptr @s2n_strerror_debug(i32 noundef %5389, ptr noundef nonnull @.str.3) #11
  %5391 = load i32, ptr %1134, align 4, !tbaa !5
  %5392 = call ptr @strerror(i32 noundef %5391) #11
  %5393 = load i32, ptr %1134, align 4, !tbaa !5
  %5394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5385, ptr noundef nonnull %.str.4.sink2613, i32 noundef %5386, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.2, i32 noundef 673, ptr noundef %5388, ptr noundef %5390, ptr noundef %5392, i32 noundef %5393) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5395:                                             ; preds = %5369
  %5396 = load i32, ptr @test_count, align 4, !tbaa !5
  %5397 = add nsw i32 %5396, 1
  store i32 %5397, ptr @test_count, align 4, !tbaa !5
  %5398 = load i64, ptr %65, align 8, !tbaa !15
  %5399 = icmp eq i64 %5398, 5
  br i1 %5399, label %5422, label %5400

5400:                                             ; preds = %5395
  %5401 = load i32, ptr %1134, align 4, !tbaa !5
  %5402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5403 = call i32 @s2n_print_stacktrace(ptr noundef %5402) #11
  %5404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5405 = trunc nuw i8 %5404 to i1
  br i1 %5405, label %5406, label %5410

5406:                                             ; preds = %5400
  %5407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5408 = call i32 @fileno(ptr noundef %5407) #11
  %5409 = call i32 @isatty(i32 noundef %5408) #11
  %.not722 = icmp eq i32 %5409, 0
  br i1 %.not722, label %5410, label %5411

5410:                                             ; preds = %5406, %5400
  br label %5411

5411:                                             ; preds = %5406, %5410
  %.str.4.sink2622 = phi ptr [ @.str.4, %5410 ], [ @.str, %5406 ]
  store i32 %5401, ptr %1134, align 4, !tbaa !5
  %5412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5413 = load i32, ptr @test_count, align 4, !tbaa !5
  %5414 = load i32, ptr %1080, align 4, !tbaa !5
  %5415 = call ptr @s2n_strerror(i32 noundef %5414, ptr noundef nonnull @.str.3) #11
  %5416 = load i32, ptr %1080, align 4, !tbaa !5
  %5417 = call ptr @s2n_strerror_debug(i32 noundef %5416, ptr noundef nonnull @.str.3) #11
  %5418 = load i32, ptr %1134, align 4, !tbaa !5
  %5419 = call ptr @strerror(i32 noundef %5418) #11
  %5420 = load i32, ptr %1134, align 4, !tbaa !5
  %5421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5412, ptr noundef nonnull %.str.4.sink2622, i32 noundef %5413, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.2, i32 noundef 674, ptr noundef %5415, ptr noundef %5417, ptr noundef %5419, i32 noundef %5420) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5422:                                             ; preds = %5395
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %65) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %64) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %66) #11
  store i64 0, ptr %66, align 8, !tbaa !15
  %5423 = add nsw i32 %5396, 2
  store i32 %5423, ptr @test_count, align 4, !tbaa !5
  %5424 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef nonnull %56, i64 noundef 8, i64 noundef 0, ptr noundef nonnull %66) #11
  %5425 = call zeroext i1 @s2n_result_is_ok(i32 %5424)
  br i1 %5425, label %5448, label %5426

5426:                                             ; preds = %5422
  %5427 = load i32, ptr %1134, 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
  %.not723 = icmp eq i32 %5435, 0
  br i1 %.not723, label %5436, label %5437

5436:                                             ; preds = %5432, %5426
  br label %5437

5437:                                             ; preds = %5432, %5436
  %.str.4.sink2631 = phi ptr [ @.str.4, %5436 ], [ @.str, %5432 ]
  store i32 %5427, ptr %1134, 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 %1080, align 4, !tbaa !5
  %5441 = call ptr @s2n_strerror(i32 noundef %5440, ptr noundef nonnull @.str.3) #11
  %5442 = load i32, ptr %1080, align 4, !tbaa !5
  %5443 = call ptr @s2n_strerror_debug(i32 noundef %5442, ptr noundef nonnull @.str.3) #11
  %5444 = load i32, ptr %1134, align 4, !tbaa !5
  %5445 = call ptr @strerror(i32 noundef %5444) #11
  %5446 = load i32, ptr %1134, align 4, !tbaa !5
  %5447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5438, ptr noundef nonnull %.str.4.sink2631, i32 noundef %5439, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.2, i32 noundef 681, ptr noundef %5441, ptr noundef %5443, ptr noundef %5445, i32 noundef %5446) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5448:                                             ; preds = %5422
  %5449 = load i32, ptr @test_count, align 4, !tbaa !5
  %5450 = add nsw i32 %5449, 1
  store i32 %5450, ptr @test_count, align 4, !tbaa !5
  %5451 = load i64, ptr %66, align 8, !tbaa !15
  %5452 = icmp eq i64 %5451, 20
  br i1 %5452, label %5475, label %5453

5453:                                             ; preds = %5448
  %5454 = load i32, ptr %1134, align 4, !tbaa !5
  %5455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5456 = call i32 @s2n_print_stacktrace(ptr noundef %5455) #11
  %5457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5458 = trunc nuw i8 %5457 to i1
  br i1 %5458, label %5459, label %5463

5459:                                             ; preds = %5453
  %5460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5461 = call i32 @fileno(ptr noundef %5460) #11
  %5462 = call i32 @isatty(i32 noundef %5461) #11
  %.not724 = icmp eq i32 %5462, 0
  br i1 %.not724, label %5463, label %5464

5463:                                             ; preds = %5459, %5453
  br label %5464

5464:                                             ; preds = %5459, %5463
  %.str.4.sink2640 = phi ptr [ @.str.4, %5463 ], [ @.str, %5459 ]
  store i32 %5454, ptr %1134, align 4, !tbaa !5
  %5465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5466 = load i32, ptr @test_count, align 4, !tbaa !5
  %5467 = load i32, ptr %1080, align 4, !tbaa !5
  %5468 = call ptr @s2n_strerror(i32 noundef %5467, ptr noundef nonnull @.str.3) #11
  %5469 = load i32, ptr %1080, align 4, !tbaa !5
  %5470 = call ptr @s2n_strerror_debug(i32 noundef %5469, ptr noundef nonnull @.str.3) #11
  %5471 = load i32, ptr %1134, align 4, !tbaa !5
  %5472 = call ptr @strerror(i32 noundef %5471) #11
  %5473 = load i32, ptr %1134, align 4, !tbaa !5
  %5474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5465, ptr noundef nonnull %.str.4.sink2640, i32 noundef %5466, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.2, i32 noundef 682, ptr noundef %5468, ptr noundef %5470, ptr noundef %5472, i32 noundef %5473) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5475:                                             ; preds = %5448
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %67) #11
  store i64 0, ptr %67, align 8, !tbaa !15
  %5476 = add nsw i32 %5449, 2
  store i32 %5476, ptr @test_count, align 4, !tbaa !5
  %5477 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef nonnull %56, i64 noundef 8, i64 noundef 10, ptr noundef nonnull %67) #11
  %5478 = call zeroext i1 @s2n_result_is_ok(i32 %5477)
  br i1 %5478, label %5501, label %5479

5479:                                             ; preds = %5475
  %5480 = load i32, ptr %1134, 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
  %.not725 = icmp eq i32 %5488, 0
  br i1 %.not725, label %5489, label %5490

5489:                                             ; preds = %5485, %5479
  br label %5490

5490:                                             ; preds = %5485, %5489
  %.str.4.sink2649 = phi ptr [ @.str.4, %5489 ], [ @.str, %5485 ]
  store i32 %5480, ptr %1134, 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 %1080, align 4, !tbaa !5
  %5494 = call ptr @s2n_strerror(i32 noundef %5493, ptr noundef nonnull @.str.3) #11
  %5495 = load i32, ptr %1080, align 4, !tbaa !5
  %5496 = call ptr @s2n_strerror_debug(i32 noundef %5495, ptr noundef nonnull @.str.3) #11
  %5497 = load i32, ptr %1134, align 4, !tbaa !5
  %5498 = call ptr @strerror(i32 noundef %5497) #11
  %5499 = load i32, ptr %1134, align 4, !tbaa !5
  %5500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5491, ptr noundef nonnull %.str.4.sink2649, i32 noundef %5492, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.2, i32 noundef 690, ptr noundef %5494, ptr noundef %5496, ptr noundef %5498, i32 noundef %5499) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5501:                                             ; preds = %5475
  %5502 = load i32, ptr @test_count, align 4, !tbaa !5
  %5503 = add nsw i32 %5502, 1
  store i32 %5503, ptr @test_count, align 4, !tbaa !5
  %5504 = load i64, ptr %67, align 8, !tbaa !15
  %5505 = icmp eq i64 %5504, 10
  br i1 %5505, label %5528, label %5506

5506:                                             ; preds = %5501
  %5507 = load i32, ptr %1134, align 4, !tbaa !5
  %5508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5509 = call i32 @s2n_print_stacktrace(ptr noundef %5508) #11
  %5510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5511 = trunc nuw i8 %5510 to i1
  br i1 %5511, label %5512, label %5516

5512:                                             ; preds = %5506
  %5513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5514 = call i32 @fileno(ptr noundef %5513) #11
  %5515 = call i32 @isatty(i32 noundef %5514) #11
  %.not726 = icmp eq i32 %5515, 0
  br i1 %.not726, label %5516, label %5517

5516:                                             ; preds = %5512, %5506
  br label %5517

5517:                                             ; preds = %5512, %5516
  %.str.4.sink2658 = phi ptr [ @.str.4, %5516 ], [ @.str, %5512 ]
  store i32 %5507, ptr %1134, align 4, !tbaa !5
  %5518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5519 = load i32, ptr @test_count, align 4, !tbaa !5
  %5520 = load i32, ptr %1080, align 4, !tbaa !5
  %5521 = call ptr @s2n_strerror(i32 noundef %5520, ptr noundef nonnull @.str.3) #11
  %5522 = load i32, ptr %1080, align 4, !tbaa !5
  %5523 = call ptr @s2n_strerror_debug(i32 noundef %5522, ptr noundef nonnull @.str.3) #11
  %5524 = load i32, ptr %1134, align 4, !tbaa !5
  %5525 = call ptr @strerror(i32 noundef %5524) #11
  %5526 = load i32, ptr %1134, align 4, !tbaa !5
  %5527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5518, ptr noundef nonnull %.str.4.sink2658, i32 noundef %5519, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.2, i32 noundef 691, ptr noundef %5521, ptr noundef %5523, ptr noundef %5525, i32 noundef %5526) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5528:                                             ; preds = %5501
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #11
  call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %68) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(160) %68, i8 0, i64 160, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %69) #11
  store i64 0, ptr %69, align 8, !tbaa !15
  %5529 = add nsw i32 %5502, 2
  store i32 %5529, ptr @test_count, align 4, !tbaa !5
  %5530 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef null, i64 noundef 0, i64 noundef 1, ptr noundef nonnull %69) #11
  %5531 = call zeroext i1 @s2n_result_is_error(i32 %5530)
  br i1 %5531, label %5554, label %5532

5532:                                             ; preds = %5528
  %5533 = load i32, ptr %1134, 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
  %.not727 = icmp eq i32 %5541, 0
  br i1 %.not727, label %5542, label %5543

5542:                                             ; preds = %5538, %5532
  br label %5543

5543:                                             ; preds = %5538, %5542
  %.str.4.sink2667 = phi ptr [ @.str.4, %5542 ], [ @.str, %5538 ]
  store i32 %5533, ptr %1134, 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 %1080, align 4, !tbaa !5
  %5547 = call ptr @s2n_strerror(i32 noundef %5546, ptr noundef nonnull @.str.3) #11
  %5548 = load i32, ptr %1080, align 4, !tbaa !5
  %5549 = call ptr @s2n_strerror_debug(i32 noundef %5548, ptr noundef nonnull @.str.3) #11
  %5550 = load i32, ptr %1134, align 4, !tbaa !5
  %5551 = call ptr @strerror(i32 noundef %5550) #11
  %5552 = load i32, ptr %1134, align 4, !tbaa !5
  %5553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5544, ptr noundef nonnull %.str.4.sink2667, i32 noundef %5545, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.2, i32 noundef 700, ptr noundef %5547, ptr noundef %5549, ptr noundef %5551, i32 noundef %5552) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5554:                                             ; preds = %5528
  %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 i32, ptr %1080, align 4, !tbaa !5
  %5558 = icmp eq i32 %5557, 469762089
  br i1 %5558, label %5581, label %5559

5559:                                             ; preds = %5554
  %5560 = load i32, ptr %1134, align 4, !tbaa !5
  %5561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5562 = call i32 @s2n_print_stacktrace(ptr noundef %5561) #11
  %5563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5564 = trunc nuw i8 %5563 to i1
  br i1 %5564, label %5565, label %5569

5565:                                             ; preds = %5559
  %5566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5567 = call i32 @fileno(ptr noundef %5566) #11
  %5568 = call i32 @isatty(i32 noundef %5567) #11
  %.not728 = icmp eq i32 %5568, 0
  br i1 %.not728, label %5569, label %5570

5569:                                             ; preds = %5565, %5559
  br label %5570

5570:                                             ; preds = %5565, %5569
  %.str.4.sink2676 = phi ptr [ @.str.4, %5569 ], [ @.str, %5565 ]
  store i32 %5560, ptr %1134, align 4, !tbaa !5
  %5571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5572 = load i32, ptr @test_count, align 4, !tbaa !5
  %5573 = load i32, ptr %1080, align 4, !tbaa !5
  %5574 = call ptr @s2n_strerror(i32 noundef %5573, ptr noundef nonnull @.str.3) #11
  %5575 = load i32, ptr %1080, align 4, !tbaa !5
  %5576 = call ptr @s2n_strerror_debug(i32 noundef %5575, ptr noundef nonnull @.str.3) #11
  %5577 = load i32, ptr %1134, align 4, !tbaa !5
  %5578 = call ptr @strerror(i32 noundef %5577) #11
  %5579 = load i32, ptr %1134, align 4, !tbaa !5
  %5580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5571, ptr noundef nonnull %.str.4.sink2676, i32 noundef %5572, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.2, i32 noundef 700, ptr noundef %5574, ptr noundef %5576, ptr noundef %5578, i32 noundef %5579) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5581:                                             ; preds = %5554
  %5582 = add nsw i32 %5555, 2
  store i32 %5582, ptr @test_count, align 4, !tbaa !5
  %5583 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.3) #11
  %5584 = icmp eq ptr %5583, null
  br i1 %5584, label %5585, label %5607

5585:                                             ; preds = %5581
  %5586 = load i32, ptr %1134, align 4, !tbaa !5
  %5587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5588 = call i32 @s2n_print_stacktrace(ptr noundef %5587) #11
  %5589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5590 = trunc nuw i8 %5589 to i1
  br i1 %5590, label %5591, label %5595

5591:                                             ; preds = %5585
  %5592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5593 = call i32 @fileno(ptr noundef %5592) #11
  %5594 = call i32 @isatty(i32 noundef %5593) #11
  %.not768 = icmp eq i32 %5594, 0
  br i1 %.not768, label %5595, label %5596

5595:                                             ; preds = %5591, %5585
  br label %5596

5596:                                             ; preds = %5591, %5595
  %.str.4.sink2685 = phi ptr [ @.str.4, %5595 ], [ @.str, %5591 ]
  store i32 %5586, ptr %1134, align 4, !tbaa !5
  %5597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5598 = load i32, ptr @test_count, align 4, !tbaa !5
  %5599 = load i32, ptr %1080, align 4, !tbaa !5
  %5600 = call ptr @s2n_strerror(i32 noundef %5599, ptr noundef nonnull @.str.3) #11
  %5601 = load i32, ptr %1080, align 4, !tbaa !5
  %5602 = call ptr @s2n_strerror_debug(i32 noundef %5601, ptr noundef nonnull @.str.3) #11
  %5603 = load i32, ptr %1134, align 4, !tbaa !5
  %5604 = call ptr @strerror(i32 noundef %5603) #11
  %5605 = load i32, ptr %1134, align 4, !tbaa !5
  %5606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5597, ptr noundef nonnull %.str.4.sink2685, i32 noundef %5598, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 700, ptr noundef %5600, ptr noundef %5602, ptr noundef %5604, i32 noundef %5605) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5607:                                             ; preds = %5581
  store i32 0, ptr %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1134, align 4, !tbaa !5
  %5608 = load i32, ptr @test_count, align 4, !tbaa !5
  %5609 = add nsw i32 %5608, 1
  store i32 %5609, ptr @test_count, align 4, !tbaa !5
  %5610 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef nonnull %68, i64 noundef 0, i64 noundef 1, ptr noundef nonnull %69) #11
  %5611 = call zeroext i1 @s2n_result_is_error(i32 %5610)
  br i1 %5611, label %5634, label %5612

5612:                                             ; preds = %5607
  %5613 = load i32, ptr %1134, align 4, !tbaa !5
  %5614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5615 = call i32 @s2n_print_stacktrace(ptr noundef %5614) #11
  %5616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5617 = trunc nuw i8 %5616 to i1
  br i1 %5617, label %5618, label %5622

5618:                                             ; preds = %5612
  %5619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5620 = call i32 @fileno(ptr noundef %5619) #11
  %5621 = call i32 @isatty(i32 noundef %5620) #11
  %.not729 = icmp eq i32 %5621, 0
  br i1 %.not729, label %5622, label %5623

5622:                                             ; preds = %5618, %5612
  br label %5623

5623:                                             ; preds = %5618, %5622
  %.str.4.sink2694 = phi ptr [ @.str.4, %5622 ], [ @.str, %5618 ]
  store i32 %5613, ptr %1134, align 4, !tbaa !5
  %5624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5625 = load i32, ptr @test_count, align 4, !tbaa !5
  %5626 = load i32, ptr %1080, align 4, !tbaa !5
  %5627 = call ptr @s2n_strerror(i32 noundef %5626, ptr noundef nonnull @.str.3) #11
  %5628 = load i32, ptr %1080, align 4, !tbaa !5
  %5629 = call ptr @s2n_strerror_debug(i32 noundef %5628, ptr noundef nonnull @.str.3) #11
  %5630 = load i32, ptr %1134, align 4, !tbaa !5
  %5631 = call ptr @strerror(i32 noundef %5630) #11
  %5632 = load i32, ptr %1134, align 4, !tbaa !5
  %5633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5624, ptr noundef nonnull %.str.4.sink2694, i32 noundef %5625, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.2, i32 noundef 703, ptr noundef %5627, ptr noundef %5629, ptr noundef %5631, i32 noundef %5632) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5634:                                             ; preds = %5607
  %5635 = load i32, ptr @test_count, align 4, !tbaa !5
  %5636 = add nsw i32 %5635, 1
  store i32 %5636, ptr @test_count, align 4, !tbaa !5
  %5637 = load i32, ptr %1080, align 4, !tbaa !5
  %5638 = icmp eq i32 %5637, 469762089
  br i1 %5638, label %5661, label %5639

5639:                                             ; preds = %5634
  %5640 = load i32, ptr %1134, align 4, !tbaa !5
  %5641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5642 = call i32 @s2n_print_stacktrace(ptr noundef %5641) #11
  %5643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5644 = trunc nuw i8 %5643 to i1
  br i1 %5644, label %5645, label %5649

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

5649:                                             ; preds = %5645, %5639
  br label %5650

5650:                                             ; preds = %5645, %5649
  %.str.4.sink2703 = phi ptr [ @.str.4, %5649 ], [ @.str, %5645 ]
  store i32 %5640, ptr %1134, align 4, !tbaa !5
  %5651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5652 = load i32, ptr @test_count, align 4, !tbaa !5
  %5653 = load i32, ptr %1080, align 4, !tbaa !5
  %5654 = call ptr @s2n_strerror(i32 noundef %5653, ptr noundef nonnull @.str.3) #11
  %5655 = load i32, ptr %1080, align 4, !tbaa !5
  %5656 = call ptr @s2n_strerror_debug(i32 noundef %5655, ptr noundef nonnull @.str.3) #11
  %5657 = load i32, ptr %1134, align 4, !tbaa !5
  %5658 = call ptr @strerror(i32 noundef %5657) #11
  %5659 = load i32, ptr %1134, align 4, !tbaa !5
  %5660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5651, ptr noundef nonnull %.str.4.sink2703, i32 noundef %5652, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.2, i32 noundef 703, ptr noundef %5654, ptr noundef %5656, ptr noundef %5658, i32 noundef %5659) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5661:                                             ; preds = %5634
  %5662 = add nsw i32 %5635, 2
  store i32 %5662, ptr @test_count, align 4, !tbaa !5
  %5663 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.3) #11
  %5664 = icmp eq ptr %5663, null
  br i1 %5664, label %5665, label %5687

5665:                                             ; preds = %5661
  %5666 = load i32, ptr %1134, align 4, !tbaa !5
  %5667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5668 = call i32 @s2n_print_stacktrace(ptr noundef %5667) #11
  %5669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5670 = trunc nuw i8 %5669 to i1
  br i1 %5670, label %5671, label %5675

5671:                                             ; preds = %5665
  %5672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5673 = call i32 @fileno(ptr noundef %5672) #11
  %5674 = call i32 @isatty(i32 noundef %5673) #11
  %.not767 = icmp eq i32 %5674, 0
  br i1 %.not767, label %5675, label %5676

5675:                                             ; preds = %5671, %5665
  br label %5676

5676:                                             ; preds = %5671, %5675
  %.str.4.sink2712 = phi ptr [ @.str.4, %5675 ], [ @.str, %5671 ]
  store i32 %5666, ptr %1134, align 4, !tbaa !5
  %5677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5678 = load i32, ptr @test_count, align 4, !tbaa !5
  %5679 = load i32, ptr %1080, align 4, !tbaa !5
  %5680 = call ptr @s2n_strerror(i32 noundef %5679, ptr noundef nonnull @.str.3) #11
  %5681 = load i32, ptr %1080, align 4, !tbaa !5
  %5682 = call ptr @s2n_strerror_debug(i32 noundef %5681, ptr noundef nonnull @.str.3) #11
  %5683 = load i32, ptr %1134, align 4, !tbaa !5
  %5684 = call ptr @strerror(i32 noundef %5683) #11
  %5685 = load i32, ptr %1134, align 4, !tbaa !5
  %5686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5677, ptr noundef nonnull %.str.4.sink2712, i32 noundef %5678, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 703, ptr noundef %5680, ptr noundef %5682, ptr noundef %5684, i32 noundef %5685) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5687:                                             ; preds = %5661
  store i32 0, ptr %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1134, align 4, !tbaa !5
  %5688 = load i32, ptr @test_count, align 4, !tbaa !5
  %5689 = add nsw i32 %5688, 1
  store i32 %5689, ptr @test_count, align 4, !tbaa !5
  %5690 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef nonnull %68, i64 noundef 10, i64 noundef 1, ptr noundef nonnull %69) #11
  %5691 = call zeroext i1 @s2n_result_is_error(i32 %5690)
  br i1 %5691, label %5714, label %5692

5692:                                             ; preds = %5687
  %5693 = load i32, ptr %1134, align 4, !tbaa !5
  %5694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5695 = call i32 @s2n_print_stacktrace(ptr noundef %5694) #11
  %5696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5697 = trunc nuw i8 %5696 to i1
  br i1 %5697, label %5698, label %5702

5698:                                             ; preds = %5692
  %5699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5700 = call i32 @fileno(ptr noundef %5699) #11
  %5701 = call i32 @isatty(i32 noundef %5700) #11
  %.not731 = icmp eq i32 %5701, 0
  br i1 %.not731, label %5702, label %5703

5702:                                             ; preds = %5698, %5692
  br label %5703

5703:                                             ; preds = %5698, %5702
  %.str.4.sink2721 = phi ptr [ @.str.4, %5702 ], [ @.str, %5698 ]
  store i32 %5693, ptr %1134, align 4, !tbaa !5
  %5704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5705 = load i32, ptr @test_count, align 4, !tbaa !5
  %5706 = load i32, ptr %1080, align 4, !tbaa !5
  %5707 = call ptr @s2n_strerror(i32 noundef %5706, ptr noundef nonnull @.str.3) #11
  %5708 = load i32, ptr %1080, align 4, !tbaa !5
  %5709 = call ptr @s2n_strerror_debug(i32 noundef %5708, ptr noundef nonnull @.str.3) #11
  %5710 = load i32, ptr %1134, align 4, !tbaa !5
  %5711 = call ptr @strerror(i32 noundef %5710) #11
  %5712 = load i32, ptr %1134, align 4, !tbaa !5
  %5713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5704, ptr noundef nonnull %.str.4.sink2721, i32 noundef %5705, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.2, i32 noundef 706, ptr noundef %5707, ptr noundef %5709, ptr noundef %5711, i32 noundef %5712) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5714:                                             ; preds = %5687
  %5715 = load i32, ptr @test_count, align 4, !tbaa !5
  %5716 = add nsw i32 %5715, 1
  store i32 %5716, ptr @test_count, align 4, !tbaa !5
  %5717 = load i32, ptr %1080, align 4, !tbaa !5
  %5718 = icmp eq i32 %5717, 469762089
  br i1 %5718, label %5741, label %5719

5719:                                             ; preds = %5714
  %5720 = load i32, ptr %1134, align 4, !tbaa !5
  %5721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5722 = call i32 @s2n_print_stacktrace(ptr noundef %5721) #11
  %5723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5724 = trunc nuw i8 %5723 to i1
  br i1 %5724, label %5725, label %5729

5725:                                             ; preds = %5719
  %5726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5727 = call i32 @fileno(ptr noundef %5726) #11
  %5728 = call i32 @isatty(i32 noundef %5727) #11
  %.not732 = icmp eq i32 %5728, 0
  br i1 %.not732, label %5729, label %5730

5729:                                             ; preds = %5725, %5719
  br label %5730

5730:                                             ; preds = %5725, %5729
  %.str.4.sink2730 = phi ptr [ @.str.4, %5729 ], [ @.str, %5725 ]
  store i32 %5720, ptr %1134, align 4, !tbaa !5
  %5731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5732 = load i32, ptr @test_count, align 4, !tbaa !5
  %5733 = load i32, ptr %1080, align 4, !tbaa !5
  %5734 = call ptr @s2n_strerror(i32 noundef %5733, ptr noundef nonnull @.str.3) #11
  %5735 = load i32, ptr %1080, align 4, !tbaa !5
  %5736 = call ptr @s2n_strerror_debug(i32 noundef %5735, ptr noundef nonnull @.str.3) #11
  %5737 = load i32, ptr %1134, align 4, !tbaa !5
  %5738 = call ptr @strerror(i32 noundef %5737) #11
  %5739 = load i32, ptr %1134, align 4, !tbaa !5
  %5740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5731, ptr noundef nonnull %.str.4.sink2730, i32 noundef %5732, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.2, i32 noundef 706, ptr noundef %5734, ptr noundef %5736, ptr noundef %5738, i32 noundef %5739) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5741:                                             ; preds = %5714
  %5742 = add nsw i32 %5715, 2
  store i32 %5742, ptr @test_count, align 4, !tbaa !5
  %5743 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.3) #11
  %5744 = icmp eq ptr %5743, null
  br i1 %5744, label %5745, label %5767

5745:                                             ; preds = %5741
  %5746 = load i32, ptr %1134, align 4, !tbaa !5
  %5747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5748 = call i32 @s2n_print_stacktrace(ptr noundef %5747) #11
  %5749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5750 = trunc nuw i8 %5749 to i1
  br i1 %5750, label %5751, label %5755

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

5755:                                             ; preds = %5751, %5745
  br label %5756

5756:                                             ; preds = %5751, %5755
  %.str.4.sink2739 = phi ptr [ @.str.4, %5755 ], [ @.str, %5751 ]
  store i32 %5746, ptr %1134, align 4, !tbaa !5
  %5757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5758 = load i32, ptr @test_count, align 4, !tbaa !5
  %5759 = load i32, ptr %1080, align 4, !tbaa !5
  %5760 = call ptr @s2n_strerror(i32 noundef %5759, ptr noundef nonnull @.str.3) #11
  %5761 = load i32, ptr %1080, align 4, !tbaa !5
  %5762 = call ptr @s2n_strerror_debug(i32 noundef %5761, ptr noundef nonnull @.str.3) #11
  %5763 = load i32, ptr %1134, align 4, !tbaa !5
  %5764 = call ptr @strerror(i32 noundef %5763) #11
  %5765 = load i32, ptr %1134, align 4, !tbaa !5
  %5766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5757, ptr noundef nonnull %.str.4.sink2739, i32 noundef %5758, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 706, ptr noundef %5760, ptr noundef %5762, ptr noundef %5764, i32 noundef %5765) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5767:                                             ; preds = %5741
  store i32 0, ptr %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1134, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #11
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %68) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %70) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %70, ptr noundef nonnull align 8 dereferenceable(16) @__const.main.test_buf.97, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %71) #11
  store i64 0, ptr %71, align 8, !tbaa !15
  %5768 = load i32, ptr @test_count, align 4, !tbaa !5
  %5769 = add nsw i32 %5768, 1
  store i32 %5769, ptr @test_count, align 4, !tbaa !5
  %5770 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef nonnull %70, i64 noundef 1, i64 noundef 11, ptr noundef nonnull %71) #11
  %5771 = call zeroext i1 @s2n_result_is_error(i32 %5770)
  br i1 %5771, label %5794, label %5772

5772:                                             ; preds = %5767
  %5773 = load i32, ptr %1134, align 4, !tbaa !5
  %5774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5775 = call i32 @s2n_print_stacktrace(ptr noundef %5774) #11
  %5776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5777 = trunc nuw i8 %5776 to i1
  br i1 %5777, label %5778, label %5782

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

5782:                                             ; preds = %5778, %5772
  br label %5783

5783:                                             ; preds = %5778, %5782
  %.str.4.sink2748 = phi ptr [ @.str.4, %5782 ], [ @.str, %5778 ]
  store i32 %5773, ptr %1134, align 4, !tbaa !5
  %5784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5785 = load i32, ptr @test_count, align 4, !tbaa !5
  %5786 = load i32, ptr %1080, align 4, !tbaa !5
  %5787 = call ptr @s2n_strerror(i32 noundef %5786, ptr noundef nonnull @.str.3) #11
  %5788 = load i32, ptr %1080, align 4, !tbaa !5
  %5789 = call ptr @s2n_strerror_debug(i32 noundef %5788, ptr noundef nonnull @.str.3) #11
  %5790 = load i32, ptr %1134, align 4, !tbaa !5
  %5791 = call ptr @strerror(i32 noundef %5790) #11
  %5792 = load i32, ptr %1134, align 4, !tbaa !5
  %5793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5784, ptr noundef nonnull %.str.4.sink2748, i32 noundef %5785, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.2, i32 noundef 717, ptr noundef %5787, ptr noundef %5789, ptr noundef %5791, i32 noundef %5792) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5794:                                             ; preds = %5767
  %5795 = load i32, ptr @test_count, align 4, !tbaa !5
  %5796 = add nsw i32 %5795, 1
  store i32 %5796, ptr @test_count, align 4, !tbaa !5
  %5797 = load i32, ptr %1080, align 4, !tbaa !5
  %5798 = icmp eq i32 %5797, 469762089
  br i1 %5798, label %5821, label %5799

5799:                                             ; preds = %5794
  %5800 = load i32, ptr %1134, align 4, !tbaa !5
  %5801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5802 = call i32 @s2n_print_stacktrace(ptr noundef %5801) #11
  %5803 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5804 = trunc nuw i8 %5803 to i1
  br i1 %5804, label %5805, label %5809

5805:                                             ; preds = %5799
  %5806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5807 = call i32 @fileno(ptr noundef %5806) #11
  %5808 = call i32 @isatty(i32 noundef %5807) #11
  %.not734 = icmp eq i32 %5808, 0
  br i1 %.not734, label %5809, label %5810

5809:                                             ; preds = %5805, %5799
  br label %5810

5810:                                             ; preds = %5805, %5809
  %.str.4.sink2757 = phi ptr [ @.str.4, %5809 ], [ @.str, %5805 ]
  store i32 %5800, ptr %1134, align 4, !tbaa !5
  %5811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5812 = load i32, ptr @test_count, align 4, !tbaa !5
  %5813 = load i32, ptr %1080, align 4, !tbaa !5
  %5814 = call ptr @s2n_strerror(i32 noundef %5813, ptr noundef nonnull @.str.3) #11
  %5815 = load i32, ptr %1080, align 4, !tbaa !5
  %5816 = call ptr @s2n_strerror_debug(i32 noundef %5815, ptr noundef nonnull @.str.3) #11
  %5817 = load i32, ptr %1134, align 4, !tbaa !5
  %5818 = call ptr @strerror(i32 noundef %5817) #11
  %5819 = load i32, ptr %1134, align 4, !tbaa !5
  %5820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5811, ptr noundef nonnull %.str.4.sink2757, i32 noundef %5812, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.2, i32 noundef 717, ptr noundef %5814, ptr noundef %5816, ptr noundef %5818, i32 noundef %5819) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5821:                                             ; preds = %5794
  %5822 = add nsw i32 %5795, 2
  store i32 %5822, ptr @test_count, align 4, !tbaa !5
  %5823 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.3) #11
  %5824 = icmp eq ptr %5823, null
  br i1 %5824, label %5825, label %5847

5825:                                             ; preds = %5821
  %5826 = load i32, ptr %1134, align 4, !tbaa !5
  %5827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5828 = call i32 @s2n_print_stacktrace(ptr noundef %5827) #11
  %5829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5830 = trunc nuw i8 %5829 to i1
  br i1 %5830, label %5831, label %5835

5831:                                             ; preds = %5825
  %5832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5833 = call i32 @fileno(ptr noundef %5832) #11
  %5834 = call i32 @isatty(i32 noundef %5833) #11
  %.not765 = icmp eq i32 %5834, 0
  br i1 %.not765, label %5835, label %5836

5835:                                             ; preds = %5831, %5825
  br label %5836

5836:                                             ; preds = %5831, %5835
  %.str.4.sink2766 = phi ptr [ @.str.4, %5835 ], [ @.str, %5831 ]
  store i32 %5826, ptr %1134, align 4, !tbaa !5
  %5837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5838 = load i32, ptr @test_count, align 4, !tbaa !5
  %5839 = load i32, ptr %1080, align 4, !tbaa !5
  %5840 = call ptr @s2n_strerror(i32 noundef %5839, ptr noundef nonnull @.str.3) #11
  %5841 = load i32, ptr %1080, align 4, !tbaa !5
  %5842 = call ptr @s2n_strerror_debug(i32 noundef %5841, ptr noundef nonnull @.str.3) #11
  %5843 = load i32, ptr %1134, align 4, !tbaa !5
  %5844 = call ptr @strerror(i32 noundef %5843) #11
  %5845 = load i32, ptr %1134, align 4, !tbaa !5
  %5846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5837, ptr noundef nonnull %.str.4.sink2766, i32 noundef %5838, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 717, ptr noundef %5840, ptr noundef %5842, ptr noundef %5844, i32 noundef %5845) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5847:                                             ; preds = %5821
  store i32 0, ptr %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1134, align 4, !tbaa !5
  %5848 = load i32, ptr @test_count, align 4, !tbaa !5
  %5849 = add nsw i32 %5848, 1
  store i32 %5849, ptr @test_count, align 4, !tbaa !5
  %5850 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef nonnull %56, i64 noundef 8, i64 noundef 21, ptr noundef nonnull %71) #11
  %5851 = call zeroext i1 @s2n_result_is_error(i32 %5850)
  br i1 %5851, label %5874, label %5852

5852:                                             ; preds = %5847
  %5853 = load i32, ptr %1134, align 4, !tbaa !5
  %5854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5855 = call i32 @s2n_print_stacktrace(ptr noundef %5854) #11
  %5856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5857 = trunc nuw i8 %5856 to i1
  br i1 %5857, label %5858, label %5862

5858:                                             ; preds = %5852
  %5859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5860 = call i32 @fileno(ptr noundef %5859) #11
  %5861 = call i32 @isatty(i32 noundef %5860) #11
  %.not735 = icmp eq i32 %5861, 0
  br i1 %.not735, label %5862, label %5863

5862:                                             ; preds = %5858, %5852
  br label %5863

5863:                                             ; preds = %5858, %5862
  %.str.4.sink2775 = phi ptr [ @.str.4, %5862 ], [ @.str, %5858 ]
  store i32 %5853, ptr %1134, align 4, !tbaa !5
  %5864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5865 = load i32, ptr @test_count, align 4, !tbaa !5
  %5866 = load i32, ptr %1080, align 4, !tbaa !5
  %5867 = call ptr @s2n_strerror(i32 noundef %5866, ptr noundef nonnull @.str.3) #11
  %5868 = load i32, ptr %1080, align 4, !tbaa !5
  %5869 = call ptr @s2n_strerror_debug(i32 noundef %5868, ptr noundef nonnull @.str.3) #11
  %5870 = load i32, ptr %1134, align 4, !tbaa !5
  %5871 = call ptr @strerror(i32 noundef %5870) #11
  %5872 = load i32, ptr %1134, align 4, !tbaa !5
  %5873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5864, ptr noundef nonnull %.str.4.sink2775, i32 noundef %5865, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.2, i32 noundef 723, ptr noundef %5867, ptr noundef %5869, ptr noundef %5871, i32 noundef %5872) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5874:                                             ; preds = %5847
  %5875 = load i32, ptr @test_count, align 4, !tbaa !5
  %5876 = add nsw i32 %5875, 1
  store i32 %5876, ptr @test_count, align 4, !tbaa !5
  %5877 = load i32, ptr %1080, align 4, !tbaa !5
  %5878 = icmp eq i32 %5877, 469762089
  br i1 %5878, label %5901, label %5879

5879:                                             ; preds = %5874
  %5880 = load i32, ptr %1134, align 4, !tbaa !5
  %5881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5882 = call i32 @s2n_print_stacktrace(ptr noundef %5881) #11
  %5883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5884 = trunc nuw i8 %5883 to i1
  br i1 %5884, label %5885, label %5889

5885:                                             ; preds = %5879
  %5886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5887 = call i32 @fileno(ptr noundef %5886) #11
  %5888 = call i32 @isatty(i32 noundef %5887) #11
  %.not736 = icmp eq i32 %5888, 0
  br i1 %.not736, label %5889, label %5890

5889:                                             ; preds = %5885, %5879
  br label %5890

5890:                                             ; preds = %5885, %5889
  %.str.4.sink2784 = phi ptr [ @.str.4, %5889 ], [ @.str, %5885 ]
  store i32 %5880, ptr %1134, align 4, !tbaa !5
  %5891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5892 = load i32, ptr @test_count, align 4, !tbaa !5
  %5893 = load i32, ptr %1080, align 4, !tbaa !5
  %5894 = call ptr @s2n_strerror(i32 noundef %5893, ptr noundef nonnull @.str.3) #11
  %5895 = load i32, ptr %1080, align 4, !tbaa !5
  %5896 = call ptr @s2n_strerror_debug(i32 noundef %5895, ptr noundef nonnull @.str.3) #11
  %5897 = load i32, ptr %1134, align 4, !tbaa !5
  %5898 = call ptr @strerror(i32 noundef %5897) #11
  %5899 = load i32, ptr %1134, align 4, !tbaa !5
  %5900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5891, ptr noundef nonnull %.str.4.sink2784, i32 noundef %5892, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.2, i32 noundef 723, ptr noundef %5894, ptr noundef %5896, ptr noundef %5898, i32 noundef %5899) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5901:                                             ; preds = %5874
  %5902 = add nsw i32 %5875, 2
  store i32 %5902, ptr @test_count, align 4, !tbaa !5
  %5903 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.3) #11
  %5904 = icmp eq ptr %5903, null
  br i1 %5904, label %5905, label %5927

5905:                                             ; preds = %5901
  %5906 = load i32, ptr %1134, align 4, !tbaa !5
  %5907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5908 = call i32 @s2n_print_stacktrace(ptr noundef %5907) #11
  %5909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5910 = trunc nuw i8 %5909 to i1
  br i1 %5910, label %5911, label %5915

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

5915:                                             ; preds = %5911, %5905
  br label %5916

5916:                                             ; preds = %5911, %5915
  %.str.4.sink2793 = phi ptr [ @.str.4, %5915 ], [ @.str, %5911 ]
  store i32 %5906, ptr %1134, align 4, !tbaa !5
  %5917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5918 = load i32, ptr @test_count, align 4, !tbaa !5
  %5919 = load i32, ptr %1080, align 4, !tbaa !5
  %5920 = call ptr @s2n_strerror(i32 noundef %5919, ptr noundef nonnull @.str.3) #11
  %5921 = load i32, ptr %1080, align 4, !tbaa !5
  %5922 = call ptr @s2n_strerror_debug(i32 noundef %5921, ptr noundef nonnull @.str.3) #11
  %5923 = load i32, ptr %1134, align 4, !tbaa !5
  %5924 = call ptr @strerror(i32 noundef %5923) #11
  %5925 = load i32, ptr %1134, align 4, !tbaa !5
  %5926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5917, ptr noundef nonnull %.str.4.sink2793, i32 noundef %5918, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 723, ptr noundef %5920, ptr noundef %5922, ptr noundef %5924, i32 noundef %5925) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5927:                                             ; preds = %5901
  store i32 0, ptr %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1134, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %70) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %72) #11
  store i64 0, ptr %72, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %73) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %73, ptr noundef nonnull align 16 dereferenceable(32) @__const.main.test_bufs_ssize, i64 32, i1 false)
  %5928 = load i32, ptr @test_count, align 4, !tbaa !5
  %5929 = add nsw i32 %5928, 1
  store i32 %5929, ptr @test_count, align 4, !tbaa !5
  %5930 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef nonnull %73, i64 noundef 2, i64 noundef 0, ptr noundef nonnull %72) #11
  %5931 = call zeroext i1 @s2n_result_is_error(i32 %5930)
  br i1 %5931, label %5954, label %5932

5932:                                             ; preds = %5927
  %5933 = load i32, ptr %1134, align 4, !tbaa !5
  %5934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5935 = call i32 @s2n_print_stacktrace(ptr noundef %5934) #11
  %5936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5937 = trunc nuw i8 %5936 to i1
  br i1 %5937, label %5938, label %5942

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

5942:                                             ; preds = %5938, %5932
  br label %5943

5943:                                             ; preds = %5938, %5942
  %.str.4.sink2802 = phi ptr [ @.str.4, %5942 ], [ @.str, %5938 ]
  store i32 %5933, ptr %1134, align 4, !tbaa !5
  %5944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5945 = load i32, ptr @test_count, align 4, !tbaa !5
  %5946 = load i32, ptr %1080, align 4, !tbaa !5
  %5947 = call ptr @s2n_strerror(i32 noundef %5946, ptr noundef nonnull @.str.3) #11
  %5948 = load i32, ptr %1080, align 4, !tbaa !5
  %5949 = call ptr @s2n_strerror_debug(i32 noundef %5948, ptr noundef nonnull @.str.3) #11
  %5950 = load i32, ptr %1134, align 4, !tbaa !5
  %5951 = call ptr @strerror(i32 noundef %5950) #11
  %5952 = load i32, ptr %1134, align 4, !tbaa !5
  %5953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5944, ptr noundef nonnull %.str.4.sink2802, i32 noundef %5945, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.2, i32 noundef 741, ptr noundef %5947, ptr noundef %5949, ptr noundef %5951, i32 noundef %5952) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5954:                                             ; preds = %5927
  %5955 = load i32, ptr @test_count, align 4, !tbaa !5
  %5956 = add nsw i32 %5955, 1
  store i32 %5956, ptr @test_count, align 4, !tbaa !5
  %5957 = load i32, ptr %1080, align 4, !tbaa !5
  %5958 = icmp eq i32 %5957, 469762089
  br i1 %5958, label %5981, label %5959

5959:                                             ; preds = %5954
  %5960 = load i32, ptr %1134, align 4, !tbaa !5
  %5961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5962 = call i32 @s2n_print_stacktrace(ptr noundef %5961) #11
  %5963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5964 = trunc nuw i8 %5963 to i1
  br i1 %5964, label %5965, label %5969

5965:                                             ; preds = %5959
  %5966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5967 = call i32 @fileno(ptr noundef %5966) #11
  %5968 = call i32 @isatty(i32 noundef %5967) #11
  %.not738 = icmp eq i32 %5968, 0
  br i1 %.not738, label %5969, label %5970

5969:                                             ; preds = %5965, %5959
  br label %5970

5970:                                             ; preds = %5965, %5969
  %.str.4.sink2811 = phi ptr [ @.str.4, %5969 ], [ @.str, %5965 ]
  store i32 %5960, ptr %1134, align 4, !tbaa !5
  %5971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5972 = load i32, ptr @test_count, align 4, !tbaa !5
  %5973 = load i32, ptr %1080, align 4, !tbaa !5
  %5974 = call ptr @s2n_strerror(i32 noundef %5973, ptr noundef nonnull @.str.3) #11
  %5975 = load i32, ptr %1080, align 4, !tbaa !5
  %5976 = call ptr @s2n_strerror_debug(i32 noundef %5975, ptr noundef nonnull @.str.3) #11
  %5977 = load i32, ptr %1134, align 4, !tbaa !5
  %5978 = call ptr @strerror(i32 noundef %5977) #11
  %5979 = load i32, ptr %1134, align 4, !tbaa !5
  %5980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5971, ptr noundef nonnull %.str.4.sink2811, i32 noundef %5972, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.2, i32 noundef 741, ptr noundef %5974, ptr noundef %5976, ptr noundef %5978, i32 noundef %5979) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5981:                                             ; preds = %5954
  %5982 = add nsw i32 %5955, 2
  store i32 %5982, ptr @test_count, align 4, !tbaa !5
  %5983 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.3) #11
  %5984 = icmp eq ptr %5983, null
  br i1 %5984, label %5985, label %6007

5985:                                             ; preds = %5981
  %5986 = load i32, ptr %1134, align 4, !tbaa !5
  %5987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5988 = call i32 @s2n_print_stacktrace(ptr noundef %5987) #11
  %5989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5990 = trunc nuw i8 %5989 to i1
  br i1 %5990, label %5991, label %5995

5991:                                             ; preds = %5985
  %5992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5993 = call i32 @fileno(ptr noundef %5992) #11
  %5994 = call i32 @isatty(i32 noundef %5993) #11
  %.not763 = icmp eq i32 %5994, 0
  br i1 %.not763, label %5995, label %5996

5995:                                             ; preds = %5991, %5985
  br label %5996

5996:                                             ; preds = %5991, %5995
  %.str.4.sink2820 = phi ptr [ @.str.4, %5995 ], [ @.str, %5991 ]
  store i32 %5986, ptr %1134, align 4, !tbaa !5
  %5997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5998 = load i32, ptr @test_count, align 4, !tbaa !5
  %5999 = load i32, ptr %1080, align 4, !tbaa !5
  %6000 = call ptr @s2n_strerror(i32 noundef %5999, ptr noundef nonnull @.str.3) #11
  %6001 = load i32, ptr %1080, align 4, !tbaa !5
  %6002 = call ptr @s2n_strerror_debug(i32 noundef %6001, ptr noundef nonnull @.str.3) #11
  %6003 = load i32, ptr %1134, align 4, !tbaa !5
  %6004 = call ptr @strerror(i32 noundef %6003) #11
  %6005 = load i32, ptr %1134, align 4, !tbaa !5
  %6006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5997, ptr noundef nonnull %.str.4.sink2820, i32 noundef %5998, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 741, ptr noundef %6000, ptr noundef %6002, ptr noundef %6004, i32 noundef %6005) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6007:                                             ; preds = %5981
  store i32 0, ptr %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1134, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %74) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %74, ptr noundef nonnull align 16 dereferenceable(32) @__const.main.test_bufs_size, i64 32, i1 false)
  %6008 = load i32, ptr @test_count, align 4, !tbaa !5
  %6009 = add nsw i32 %6008, 1
  store i32 %6009, ptr @test_count, align 4, !tbaa !5
  %6010 = call i32 @s2n_sendv_with_offset_total_size(ptr noundef nonnull %74, i64 noundef 2, i64 noundef 0, ptr noundef nonnull %72) #11
  %6011 = call zeroext i1 @s2n_result_is_error(i32 %6010)
  br i1 %6011, label %6034, label %6012

6012:                                             ; preds = %6007
  %6013 = load i32, ptr %1134, align 4, !tbaa !5
  %6014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6015 = call i32 @s2n_print_stacktrace(ptr noundef %6014) #11
  %6016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6017 = trunc nuw i8 %6016 to i1
  br i1 %6017, label %6018, label %6022

6018:                                             ; preds = %6012
  %6019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6020 = call i32 @fileno(ptr noundef %6019) #11
  %6021 = call i32 @isatty(i32 noundef %6020) #11
  %.not739 = icmp eq i32 %6021, 0
  br i1 %.not739, label %6022, label %6023

6022:                                             ; preds = %6018, %6012
  br label %6023

6023:                                             ; preds = %6018, %6022
  %.str.4.sink2829 = phi ptr [ @.str.4, %6022 ], [ @.str, %6018 ]
  store i32 %6013, ptr %1134, align 4, !tbaa !5
  %6024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6025 = load i32, ptr @test_count, align 4, !tbaa !5
  %6026 = load i32, ptr %1080, align 4, !tbaa !5
  %6027 = call ptr @s2n_strerror(i32 noundef %6026, ptr noundef nonnull @.str.3) #11
  %6028 = load i32, ptr %1080, align 4, !tbaa !5
  %6029 = call ptr @s2n_strerror_debug(i32 noundef %6028, ptr noundef nonnull @.str.3) #11
  %6030 = load i32, ptr %1134, align 4, !tbaa !5
  %6031 = call ptr @strerror(i32 noundef %6030) #11
  %6032 = load i32, ptr %1134, align 4, !tbaa !5
  %6033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6024, ptr noundef nonnull %.str.4.sink2829, i32 noundef %6025, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.2, i32 noundef 749, ptr noundef %6027, ptr noundef %6029, ptr noundef %6031, i32 noundef %6032) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6034:                                             ; preds = %6007
  %6035 = load i32, ptr @test_count, align 4, !tbaa !5
  %6036 = add nsw i32 %6035, 1
  store i32 %6036, ptr @test_count, align 4, !tbaa !5
  %6037 = load i32, ptr %1080, align 4, !tbaa !5
  %6038 = icmp eq i32 %6037, 469762089
  br i1 %6038, label %6061, label %6039

6039:                                             ; preds = %6034
  %6040 = load i32, ptr %1134, 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
  %.not740 = icmp eq i32 %6048, 0
  br i1 %.not740, label %6049, label %6050

6049:                                             ; preds = %6045, %6039
  br label %6050

6050:                                             ; preds = %6045, %6049
  %.str.4.sink2838 = phi ptr [ @.str.4, %6049 ], [ @.str, %6045 ]
  store i32 %6040, ptr %1134, 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 %1080, align 4, !tbaa !5
  %6054 = call ptr @s2n_strerror(i32 noundef %6053, ptr noundef nonnull @.str.3) #11
  %6055 = load i32, ptr %1080, align 4, !tbaa !5
  %6056 = call ptr @s2n_strerror_debug(i32 noundef %6055, ptr noundef nonnull @.str.3) #11
  %6057 = load i32, ptr %1134, align 4, !tbaa !5
  %6058 = call ptr @strerror(i32 noundef %6057) #11
  %6059 = load i32, ptr %1134, align 4, !tbaa !5
  %6060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6051, ptr noundef nonnull %.str.4.sink2838, i32 noundef %6052, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.2, i32 noundef 749, ptr noundef %6054, ptr noundef %6056, ptr noundef %6058, i32 noundef %6059) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6061:                                             ; preds = %6034
  %6062 = add nsw i32 %6035, 2
  store i32 %6062, ptr @test_count, align 4, !tbaa !5
  %6063 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.3) #11
  %6064 = icmp eq ptr %6063, null
  br i1 %6064, label %6065, label %6087

6065:                                             ; preds = %6061
  %6066 = load i32, ptr %1134, align 4, !tbaa !5
  %6067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6068 = call i32 @s2n_print_stacktrace(ptr noundef %6067) #11
  %6069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6070 = trunc nuw i8 %6069 to i1
  br i1 %6070, label %6071, label %6075

6071:                                             ; preds = %6065
  %6072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6073 = call i32 @fileno(ptr noundef %6072) #11
  %6074 = call i32 @isatty(i32 noundef %6073) #11
  %.not762 = icmp eq i32 %6074, 0
  br i1 %.not762, label %6075, label %6076

6075:                                             ; preds = %6071, %6065
  br label %6076

6076:                                             ; preds = %6071, %6075
  %.str.4.sink2847 = phi ptr [ @.str.4, %6075 ], [ @.str, %6071 ]
  store i32 %6066, ptr %1134, align 4, !tbaa !5
  %6077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6078 = load i32, ptr @test_count, align 4, !tbaa !5
  %6079 = load i32, ptr %1080, align 4, !tbaa !5
  %6080 = call ptr @s2n_strerror(i32 noundef %6079, ptr noundef nonnull @.str.3) #11
  %6081 = load i32, ptr %1080, align 4, !tbaa !5
  %6082 = call ptr @s2n_strerror_debug(i32 noundef %6081, ptr noundef nonnull @.str.3) #11
  %6083 = load i32, ptr %1134, align 4, !tbaa !5
  %6084 = call ptr @strerror(i32 noundef %6083) #11
  %6085 = load i32, ptr %1134, align 4, !tbaa !5
  %6086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6077, ptr noundef nonnull %.str.4.sink2847, i32 noundef %6078, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 749, ptr noundef %6080, ptr noundef %6082, ptr noundef %6084, i32 noundef %6085) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6087:                                             ; preds = %6061
  store i32 0, ptr %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1134, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #11
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %56) #11
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %75) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %75, ptr noundef nonnull align 16 dereferenceable(32) @__const.main.results.102, i64 32, i1 false)
  %6088 = getelementptr inbounds i8, ptr %77, i64 8
  %6089 = getelementptr inbounds i8, ptr %77, i64 16
  %6090 = getelementptr inbounds i8, ptr %77, i64 24
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %76) #11
  %6091 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %6091, ptr %76, align 8, !tbaa !9
  %6092 = load i32, ptr @test_count, align 4, !tbaa !5
  %6093 = add nsw i32 %6092, 1
  store i32 %6093, ptr @test_count, align 4, !tbaa !5
  %6094 = icmp eq ptr %6091, null
  br i1 %6094, label %6095, label %6117

6095:                                             ; preds = %6523, %6087
  %6096 = load i32, ptr %1134, align 4, !tbaa !5
  %6097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6098 = call i32 @s2n_print_stacktrace(ptr noundef %6097) #11
  %6099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6100 = trunc nuw i8 %6099 to i1
  br i1 %6100, label %6101, label %6105

6101:                                             ; preds = %6095
  %6102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6103 = call i32 @fileno(ptr noundef %6102) #11
  %6104 = call i32 @isatty(i32 noundef %6103) #11
  %.not761 = icmp eq i32 %6104, 0
  br i1 %.not761, label %6105, label %6106

6105:                                             ; preds = %6101, %6095
  br label %6106

6106:                                             ; preds = %6101, %6105
  %.str.4.sink2856 = phi ptr [ @.str.4, %6105 ], [ @.str, %6101 ]
  store i32 %6096, ptr %1134, align 4, !tbaa !5
  %6107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6108 = load i32, ptr @test_count, align 4, !tbaa !5
  %6109 = load i32, ptr %1080, align 4, !tbaa !5
  %6110 = call ptr @s2n_strerror(i32 noundef %6109, ptr noundef nonnull @.str.3) #11
  %6111 = load i32, ptr %1080, align 4, !tbaa !5
  %6112 = call ptr @s2n_strerror_debug(i32 noundef %6111, ptr noundef nonnull @.str.3) #11
  %6113 = load i32, ptr %1134, align 4, !tbaa !5
  %6114 = call ptr @strerror(i32 noundef %6113) #11
  %6115 = load i32, ptr %1134, align 4, !tbaa !5
  %6116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6107, ptr noundef nonnull %.str.4.sink2856, i32 noundef %6108, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 770, ptr noundef %6110, ptr noundef %6112, ptr noundef %6114, i32 noundef %6115) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6117:                                             ; preds = %6087
  %6118 = add nsw i32 %6092, 2
  store i32 %6118, ptr @test_count, align 4, !tbaa !5
  %6119 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %6091) #11
  %6120 = call zeroext i1 @s2n_result_is_ok(i32 %6119)
  br i1 %6120, label %6143, label %6121

6121:                                             ; preds = %6529, %6117
  %6122 = load i32, ptr %1134, align 4, !tbaa !5
  %6123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6124 = call i32 @s2n_print_stacktrace(ptr noundef %6123) #11
  %6125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6126 = trunc nuw i8 %6125 to i1
  br i1 %6126, label %6127, label %6131

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

6131:                                             ; preds = %6127, %6121
  br label %6132

6132:                                             ; preds = %6127, %6131
  %.str.4.sink2865 = phi ptr [ @.str.4, %6131 ], [ @.str, %6127 ]
  store i32 %6122, ptr %1134, align 4, !tbaa !5
  %6133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6134 = load i32, ptr @test_count, align 4, !tbaa !5
  %6135 = load i32, ptr %1080, align 4, !tbaa !5
  %6136 = call ptr @s2n_strerror(i32 noundef %6135, ptr noundef nonnull @.str.3) #11
  %6137 = load i32, ptr %1080, align 4, !tbaa !5
  %6138 = call ptr @s2n_strerror_debug(i32 noundef %6137, ptr noundef nonnull @.str.3) #11
  %6139 = load i32, ptr %1134, align 4, !tbaa !5
  %6140 = call ptr @strerror(i32 noundef %6139) #11
  %6141 = load i32, ptr %1134, align 4, !tbaa !5
  %6142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6133, ptr noundef nonnull %.str.4.sink2865, i32 noundef %6134, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 771, ptr noundef %6136, ptr noundef %6138, ptr noundef %6140, i32 noundef %6141) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6143:                                             ; preds = %6117
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %77) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %77, i8 0, i64 16, i1 false)
  store ptr %75, ptr %6089, align 8, !tbaa !50
  store i64 4, ptr %6090, align 8, !tbaa !51
  %6144 = load i32, ptr @test_count, align 4, !tbaa !5
  %6145 = add nsw i32 %6144, 1
  store i32 %6145, ptr @test_count, align 4, !tbaa !5
  %6146 = load ptr, ptr %76, align 8, !tbaa !9
  %6147 = call i32 @s2n_connection_set_send_cb(ptr noundef %6146, ptr noundef nonnull @s2n_test_send_cb) #11
  %6148 = icmp eq i32 %6147, -1
  br i1 %6148, label %6149, label %6171

6149:                                             ; preds = %6533, %6143
  %6150 = load i32, ptr %1134, align 4, !tbaa !5
  %6151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6152 = call i32 @s2n_print_stacktrace(ptr noundef %6151) #11
  %6153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6154 = trunc nuw i8 %6153 to i1
  br i1 %6154, label %6155, label %6159

6155:                                             ; preds = %6149
  %6156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6157 = call i32 @fileno(ptr noundef %6156) #11
  %6158 = call i32 @isatty(i32 noundef %6157) #11
  %.not760 = icmp eq i32 %6158, 0
  br i1 %.not760, label %6159, label %6160

6159:                                             ; preds = %6155, %6149
  br label %6160

6160:                                             ; preds = %6155, %6159
  %.str.4.sink2874 = phi ptr [ @.str.4, %6159 ], [ @.str, %6155 ]
  store i32 %6150, ptr %1134, align 4, !tbaa !5
  %6161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6162 = load i32, ptr @test_count, align 4, !tbaa !5
  %6163 = load i32, ptr %1080, align 4, !tbaa !5
  %6164 = call ptr @s2n_strerror(i32 noundef %6163, ptr noundef nonnull @.str.3) #11
  %6165 = load i32, ptr %1080, align 4, !tbaa !5
  %6166 = call ptr @s2n_strerror_debug(i32 noundef %6165, ptr noundef nonnull @.str.3) #11
  %6167 = load i32, ptr %1134, align 4, !tbaa !5
  %6168 = call ptr @strerror(i32 noundef %6167) #11
  %6169 = load i32, ptr %1134, align 4, !tbaa !5
  %6170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6161, ptr noundef nonnull %.str.4.sink2874, i32 noundef %6162, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 777, ptr noundef %6164, ptr noundef %6166, ptr noundef %6168, i32 noundef %6169) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6171:                                             ; preds = %6143
  %6172 = load i32, ptr @test_count, align 4, !tbaa !5
  %6173 = add nsw i32 %6172, 1
  store i32 %6173, ptr @test_count, align 4, !tbaa !5
  %6174 = load ptr, ptr %76, align 8, !tbaa !9
  %6175 = call i32 @s2n_connection_set_send_ctx(ptr noundef %6174, ptr noundef nonnull %77) #11
  %6176 = icmp eq i32 %6175, -1
  br i1 %6176, label %6177, label %6199

6177:                                             ; preds = %6539, %6171
  %6178 = load i32, ptr %1134, align 4, !tbaa !5
  %6179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6180 = call i32 @s2n_print_stacktrace(ptr noundef %6179) #11
  %6181 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6182 = trunc nuw i8 %6181 to i1
  br i1 %6182, label %6183, label %6187

6183:                                             ; preds = %6177
  %6184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6185 = call i32 @fileno(ptr noundef %6184) #11
  %6186 = call i32 @isatty(i32 noundef %6185) #11
  %.not759 = icmp eq i32 %6186, 0
  br i1 %.not759, label %6187, label %6188

6187:                                             ; preds = %6183, %6177
  br label %6188

6188:                                             ; preds = %6183, %6187
  %.str.4.sink2883 = phi ptr [ @.str.4, %6187 ], [ @.str, %6183 ]
  store i32 %6178, ptr %1134, align 4, !tbaa !5
  %6189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6190 = load i32, ptr @test_count, align 4, !tbaa !5
  %6191 = load i32, ptr %1080, align 4, !tbaa !5
  %6192 = call ptr @s2n_strerror(i32 noundef %6191, ptr noundef nonnull @.str.3) #11
  %6193 = load i32, ptr %1080, align 4, !tbaa !5
  %6194 = call ptr @s2n_strerror_debug(i32 noundef %6193, ptr noundef nonnull @.str.3) #11
  %6195 = load i32, ptr %1134, align 4, !tbaa !5
  %6196 = call ptr @strerror(i32 noundef %6195) #11
  %6197 = load i32, ptr %1134, align 4, !tbaa !5
  %6198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6189, ptr noundef nonnull %.str.4.sink2883, i32 noundef %6190, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 778, ptr noundef %6192, ptr noundef %6194, ptr noundef %6196, i32 noundef %6197) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6199:                                             ; preds = %6171
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %78) #11
  store i32 0, ptr %78, align 4, !tbaa !5
  %6200 = load i32, ptr @test_count, align 4, !tbaa !5
  %6201 = add nsw i32 %6200, 1
  store i32 %6201, ptr @test_count, align 4, !tbaa !5
  %6202 = load ptr, ptr %76, align 8, !tbaa !9
  %6203 = call i64 @s2n_send(ptr noundef %6202, ptr noundef nonnull %4, i64 noundef 16394, ptr noundef nonnull %78) #11
  %6204 = icmp eq i64 %6203, -1
  br i1 %6204, label %6227, label %6205

6205:                                             ; preds = %6545, %6199
  %6206 = load i32, ptr %1134, align 4, !tbaa !5
  %6207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6208 = call i32 @s2n_print_stacktrace(ptr noundef %6207) #11
  %6209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6210 = trunc nuw i8 %6209 to i1
  br i1 %6210, label %6211, label %6215

6211:                                             ; preds = %6205
  %6212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6213 = call i32 @fileno(ptr noundef %6212) #11
  %6214 = call i32 @isatty(i32 noundef %6213) #11
  %.not747 = icmp eq i32 %6214, 0
  br i1 %.not747, label %6215, label %6216

6215:                                             ; preds = %6211, %6205
  br label %6216

6216:                                             ; preds = %6211, %6215
  %.str.4.sink2892 = phi ptr [ @.str.4, %6215 ], [ @.str, %6211 ]
  store i32 %6206, ptr %1134, align 4, !tbaa !5
  %6217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6218 = load i32, ptr @test_count, align 4, !tbaa !5
  %6219 = load i32, ptr %1080, align 4, !tbaa !5
  %6220 = call ptr @s2n_strerror(i32 noundef %6219, ptr noundef nonnull @.str.3) #11
  %6221 = load i32, ptr %1080, align 4, !tbaa !5
  %6222 = call ptr @s2n_strerror_debug(i32 noundef %6221, ptr noundef nonnull @.str.3) #11
  %6223 = load i32, ptr %1134, align 4, !tbaa !5
  %6224 = call ptr @strerror(i32 noundef %6223) #11
  %6225 = load i32, ptr %1134, align 4, !tbaa !5
  %6226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6217, ptr noundef nonnull %.str.4.sink2892, i32 noundef %6218, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.2, i32 noundef 784, ptr noundef %6220, ptr noundef %6222, ptr noundef %6224, i32 noundef %6225) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6227:                                             ; preds = %6199
  %6228 = load i32, ptr @test_count, align 4, !tbaa !5
  %6229 = add nsw i32 %6228, 1
  store i32 %6229, ptr @test_count, align 4, !tbaa !5
  %6230 = load i32, ptr %1080, align 4, !tbaa !5
  %6231 = icmp eq i32 %6230, 201326592
  br i1 %6231, label %6254, label %6232

6232:                                             ; preds = %6551, %6227
  %6233 = load i32, ptr %1134, align 4, !tbaa !5
  %6234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6235 = call i32 @s2n_print_stacktrace(ptr noundef %6234) #11
  %6236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6237 = trunc nuw i8 %6236 to i1
  br i1 %6237, label %6238, label %6242

6238:                                             ; preds = %6232
  %6239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6240 = call i32 @fileno(ptr noundef %6239) #11
  %6241 = call i32 @isatty(i32 noundef %6240) #11
  %.not748 = icmp eq i32 %6241, 0
  br i1 %.not748, label %6242, label %6243

6242:                                             ; preds = %6238, %6232
  br label %6243

6243:                                             ; preds = %6238, %6242
  %.str.4.sink2901 = phi ptr [ @.str.4, %6242 ], [ @.str, %6238 ]
  store i32 %6233, ptr %1134, align 4, !tbaa !5
  %6244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6245 = load i32, ptr @test_count, align 4, !tbaa !5
  %6246 = load i32, ptr %1080, align 4, !tbaa !5
  %6247 = call ptr @s2n_strerror(i32 noundef %6246, ptr noundef nonnull @.str.3) #11
  %6248 = load i32, ptr %1080, align 4, !tbaa !5
  %6249 = call ptr @s2n_strerror_debug(i32 noundef %6248, ptr noundef nonnull @.str.3) #11
  %6250 = load i32, ptr %1134, align 4, !tbaa !5
  %6251 = call ptr @strerror(i32 noundef %6250) #11
  %6252 = load i32, ptr %1134, align 4, !tbaa !5
  %6253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6244, ptr noundef nonnull %.str.4.sink2901, i32 noundef %6245, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.2, i32 noundef 784, ptr noundef %6247, ptr noundef %6249, ptr noundef %6251, i32 noundef %6252) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6254:                                             ; preds = %6227
  %6255 = add nsw i32 %6228, 2
  store i32 %6255, ptr @test_count, align 4, !tbaa !5
  %6256 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.3) #11
  %6257 = icmp eq ptr %6256, null
  br i1 %6257, label %6258, label %6280

6258:                                             ; preds = %6556, %6254
  %6259 = load i32, ptr %1134, align 4, !tbaa !5
  %6260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6261 = call i32 @s2n_print_stacktrace(ptr noundef %6260) #11
  %6262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6263 = trunc nuw i8 %6262 to i1
  br i1 %6263, label %6264, label %6268

6264:                                             ; preds = %6258
  %6265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6266 = call i32 @fileno(ptr noundef %6265) #11
  %6267 = call i32 @isatty(i32 noundef %6266) #11
  %.not758 = icmp eq i32 %6267, 0
  br i1 %.not758, label %6268, label %6269

6268:                                             ; preds = %6264, %6258
  br label %6269

6269:                                             ; preds = %6264, %6268
  %.str.4.sink2910 = phi ptr [ @.str.4, %6268 ], [ @.str, %6264 ]
  store i32 %6259, ptr %1134, align 4, !tbaa !5
  %6270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6271 = load i32, ptr @test_count, align 4, !tbaa !5
  %6272 = load i32, ptr %1080, align 4, !tbaa !5
  %6273 = call ptr @s2n_strerror(i32 noundef %6272, ptr noundef nonnull @.str.3) #11
  %6274 = load i32, ptr %1080, align 4, !tbaa !5
  %6275 = call ptr @s2n_strerror_debug(i32 noundef %6274, ptr noundef nonnull @.str.3) #11
  %6276 = load i32, ptr %1134, align 4, !tbaa !5
  %6277 = call ptr @strerror(i32 noundef %6276) #11
  %6278 = load i32, ptr %1134, align 4, !tbaa !5
  %6279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6270, ptr noundef nonnull %.str.4.sink2910, i32 noundef %6271, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 784, ptr noundef %6273, ptr noundef %6275, ptr noundef %6277, i32 noundef %6278) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6280:                                             ; preds = %6254
  store i32 0, ptr %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1134, align 4, !tbaa !5
  %6281 = load i32, ptr @test_count, align 4, !tbaa !5
  %6282 = add nsw i32 %6281, 1
  store i32 %6282, ptr @test_count, align 4, !tbaa !5
  %6283 = load i32, ptr %78, align 4, !tbaa !5
  %6284 = icmp eq i32 %6283, 2
  br i1 %6284, label %6307, label %6285

6285:                                             ; preds = %6560, %6280
  %6286 = load i32, ptr %1134, align 4, !tbaa !5
  %6287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6288 = call i32 @s2n_print_stacktrace(ptr noundef %6287) #11
  %6289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6290 = trunc nuw i8 %6289 to i1
  br i1 %6290, label %6291, label %6295

6291:                                             ; preds = %6285
  %6292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6293 = call i32 @fileno(ptr noundef %6292) #11
  %6294 = call i32 @isatty(i32 noundef %6293) #11
  %.not749 = icmp eq i32 %6294, 0
  br i1 %.not749, label %6295, label %6296

6295:                                             ; preds = %6291, %6285
  br label %6296

6296:                                             ; preds = %6291, %6295
  %.str.4.sink2919 = phi ptr [ @.str.4, %6295 ], [ @.str, %6291 ]
  store i32 %6286, ptr %1134, align 4, !tbaa !5
  %6297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6298 = load i32, ptr @test_count, align 4, !tbaa !5
  %6299 = load i32, ptr %1080, align 4, !tbaa !5
  %6300 = call ptr @s2n_strerror(i32 noundef %6299, ptr noundef nonnull @.str.3) #11
  %6301 = load i32, ptr %1080, align 4, !tbaa !5
  %6302 = call ptr @s2n_strerror_debug(i32 noundef %6301, ptr noundef nonnull @.str.3) #11
  %6303 = load i32, ptr %1134, align 4, !tbaa !5
  %6304 = call ptr @strerror(i32 noundef %6303) #11
  %6305 = load i32, ptr %1134, align 4, !tbaa !5
  %6306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6297, ptr noundef nonnull %.str.4.sink2919, i32 noundef %6298, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 785, ptr noundef %6300, ptr noundef %6302, ptr noundef %6304, i32 noundef %6305) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6307:                                             ; preds = %6280
  %6308 = add nsw i32 %6281, 2
  store i32 %6308, ptr @test_count, align 4, !tbaa !5
  %6309 = load i64, ptr %6088, align 8, !tbaa !19
  %6310 = icmp eq i64 %6309, 0
  br i1 %6310, label %6333, label %6311

6311:                                             ; preds = %6565, %6307
  %6312 = load i32, ptr %1134, align 4, !tbaa !5
  %6313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6314 = call i32 @s2n_print_stacktrace(ptr noundef %6313) #11
  %6315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6316 = trunc nuw i8 %6315 to i1
  br i1 %6316, label %6317, label %6321

6317:                                             ; preds = %6311
  %6318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6319 = call i32 @fileno(ptr noundef %6318) #11
  %6320 = call i32 @isatty(i32 noundef %6319) #11
  %.not750 = icmp eq i32 %6320, 0
  br i1 %.not750, label %6321, label %6322

6321:                                             ; preds = %6317, %6311
  br label %6322

6322:                                             ; preds = %6317, %6321
  %.str.4.sink2928 = phi ptr [ @.str.4, %6321 ], [ @.str, %6317 ]
  store i32 %6312, ptr %1134, align 4, !tbaa !5
  %6323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6324 = load i32, ptr @test_count, align 4, !tbaa !5
  %6325 = load i32, ptr %1080, align 4, !tbaa !5
  %6326 = call ptr @s2n_strerror(i32 noundef %6325, ptr noundef nonnull @.str.3) #11
  %6327 = load i32, ptr %1080, align 4, !tbaa !5
  %6328 = call ptr @s2n_strerror_debug(i32 noundef %6327, ptr noundef nonnull @.str.3) #11
  %6329 = load i32, ptr %1134, align 4, !tbaa !5
  %6330 = call ptr @strerror(i32 noundef %6329) #11
  %6331 = load i32, ptr %1134, align 4, !tbaa !5
  %6332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6323, ptr noundef nonnull %.str.4.sink2928, i32 noundef %6324, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.2, i32 noundef 786, ptr noundef %6326, ptr noundef %6328, ptr noundef %6330, i32 noundef %6331) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6333:                                             ; preds = %6307
  %6334 = load i8, ptr @__const.main.use_send, align 1, !tbaa !11, !range !13, !noundef !14
  %6335 = trunc nuw i8 %6334 to i1
  %6336 = add nsw i32 %6281, 3
  store i32 %6336, ptr @test_count, align 4, !tbaa !5
  %6337 = load ptr, ptr %76, align 8, !tbaa !9
  br i1 %6335, label %6338, label %6417

6338:                                             ; preds = %6333
  %6339 = call i64 @s2n_send(ptr noundef %6337, ptr noundef nonnull %4, i64 noundef 0, ptr noundef nonnull %78) #11
  %6340 = icmp eq i64 %6339, -1
  br i1 %6340, label %6363, label %6341

6341:                                             ; preds = %6592, %6338
  %6342 = load i32, ptr %1134, align 4, !tbaa !5
  %6343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6344 = call i32 @s2n_print_stacktrace(ptr noundef %6343) #11
  %6345 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6346 = trunc nuw i8 %6345 to i1
  br i1 %6346, label %6347, label %6351

6347:                                             ; preds = %6341
  %6348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6349 = call i32 @fileno(ptr noundef %6348) #11
  %6350 = call i32 @isatty(i32 noundef %6349) #11
  %.not755 = icmp eq i32 %6350, 0
  br i1 %.not755, label %6351, label %6352

6351:                                             ; preds = %6347, %6341
  br label %6352

6352:                                             ; preds = %6347, %6351
  %.str.4.sink2937 = phi ptr [ @.str.4, %6351 ], [ @.str, %6347 ]
  store i32 %6342, ptr %1134, align 4, !tbaa !5
  %6353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6354 = load i32, ptr @test_count, align 4, !tbaa !5
  %6355 = load i32, ptr %1080, align 4, !tbaa !5
  %6356 = call ptr @s2n_strerror(i32 noundef %6355, ptr noundef nonnull @.str.3) #11
  %6357 = load i32, ptr %1080, align 4, !tbaa !5
  %6358 = call ptr @s2n_strerror_debug(i32 noundef %6357, ptr noundef nonnull @.str.3) #11
  %6359 = load i32, ptr %1134, align 4, !tbaa !5
  %6360 = call ptr @strerror(i32 noundef %6359) #11
  %6361 = load i32, ptr %1134, align 4, !tbaa !5
  %6362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6353, ptr noundef nonnull %.str.4.sink2937, i32 noundef %6354, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.2, i32 noundef 792, ptr noundef %6356, ptr noundef %6358, ptr noundef %6360, i32 noundef %6361) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6363:                                             ; preds = %6338
  %6364 = load i32, ptr @test_count, align 4, !tbaa !5
  %6365 = add nsw i32 %6364, 1
  store i32 %6365, ptr @test_count, align 4, !tbaa !5
  %6366 = load i32, ptr %1080, align 4, !tbaa !5
  %6367 = icmp eq i32 %6366, 469762069
  br i1 %6367, label %6390, label %6368

6368:                                             ; preds = %6595, %6363
  %6369 = load i32, ptr %1134, align 4, !tbaa !5
  %6370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6371 = call i32 @s2n_print_stacktrace(ptr noundef %6370) #11
  %6372 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6373 = trunc nuw i8 %6372 to i1
  br i1 %6373, label %6374, label %6378

6374:                                             ; preds = %6368
  %6375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6376 = call i32 @fileno(ptr noundef %6375) #11
  %6377 = call i32 @isatty(i32 noundef %6376) #11
  %.not756 = icmp eq i32 %6377, 0
  br i1 %.not756, label %6378, label %6379

6378:                                             ; preds = %6374, %6368
  br label %6379

6379:                                             ; preds = %6374, %6378
  %.str.4.sink2946 = phi ptr [ @.str.4, %6378 ], [ @.str, %6374 ]
  store i32 %6369, ptr %1134, align 4, !tbaa !5
  %6380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6381 = load i32, ptr @test_count, align 4, !tbaa !5
  %6382 = load i32, ptr %1080, align 4, !tbaa !5
  %6383 = call ptr @s2n_strerror(i32 noundef %6382, ptr noundef nonnull @.str.3) #11
  %6384 = load i32, ptr %1080, align 4, !tbaa !5
  %6385 = call ptr @s2n_strerror_debug(i32 noundef %6384, ptr noundef nonnull @.str.3) #11
  %6386 = load i32, ptr %1134, align 4, !tbaa !5
  %6387 = call ptr @strerror(i32 noundef %6386) #11
  %6388 = load i32, ptr %1134, align 4, !tbaa !5
  %6389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6380, ptr noundef nonnull %.str.4.sink2946, i32 noundef %6381, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.2, i32 noundef 792, ptr noundef %6383, ptr noundef %6385, ptr noundef %6387, i32 noundef %6388) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6390:                                             ; preds = %6363
  %6391 = add nsw i32 %6364, 2
  store i32 %6391, ptr @test_count, align 4, !tbaa !5
  %6392 = call ptr @s2n_strerror_debug(i32 noundef 469762069, ptr noundef nonnull @.str.3) #11
  %6393 = icmp eq ptr %6392, null
  br i1 %6393, label %6394, label %6416

6394:                                             ; preds = %6600, %6390
  %6395 = load i32, ptr %1134, align 4, !tbaa !5
  %6396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6397 = call i32 @s2n_print_stacktrace(ptr noundef %6396) #11
  %6398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6399 = trunc nuw i8 %6398 to i1
  br i1 %6399, label %6400, label %6404

6400:                                             ; preds = %6394
  %6401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6402 = call i32 @fileno(ptr noundef %6401) #11
  %6403 = call i32 @isatty(i32 noundef %6402) #11
  %.not757 = icmp eq i32 %6403, 0
  br i1 %.not757, label %6404, label %6405

6404:                                             ; preds = %6400, %6394
  br label %6405

6405:                                             ; preds = %6400, %6404
  %.str.4.sink2955 = phi ptr [ @.str.4, %6404 ], [ @.str, %6400 ]
  store i32 %6395, ptr %1134, align 4, !tbaa !5
  %6406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6407 = load i32, ptr @test_count, align 4, !tbaa !5
  %6408 = load i32, ptr %1080, align 4, !tbaa !5
  %6409 = call ptr @s2n_strerror(i32 noundef %6408, ptr noundef nonnull @.str.3) #11
  %6410 = load i32, ptr %1080, align 4, !tbaa !5
  %6411 = call ptr @s2n_strerror_debug(i32 noundef %6410, ptr noundef nonnull @.str.3) #11
  %6412 = load i32, ptr %1134, align 4, !tbaa !5
  %6413 = call ptr @strerror(i32 noundef %6412) #11
  %6414 = load i32, ptr %1134, align 4, !tbaa !5
  %6415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6406, ptr noundef nonnull %.str.4.sink2955, i32 noundef %6407, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 792, ptr noundef %6409, ptr noundef %6411, ptr noundef %6413, i32 noundef %6414) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6416:                                             ; preds = %6390
  store i32 0, ptr %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1134, align 4, !tbaa !5
  br label %6523

6417:                                             ; preds = %6333
  %6418 = call i32 @s2n_flush(ptr noundef %6337, ptr noundef nonnull %78) #11
  %6419 = icmp eq i32 %6418, -1
  br i1 %6419, label %6420, label %6442

6420:                                             ; preds = %6574, %6417
  %6421 = load i32, ptr %1134, align 4, !tbaa !5
  %6422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6423 = call i32 @s2n_print_stacktrace(ptr noundef %6422) #11
  %6424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6425 = trunc nuw i8 %6424 to i1
  br i1 %6425, label %6426, label %6430

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

6430:                                             ; preds = %6426, %6420
  br label %6431

6431:                                             ; preds = %6426, %6430
  %.str.4.sink2964 = phi ptr [ @.str.4, %6430 ], [ @.str, %6426 ]
  store i32 %6421, ptr %1134, align 4, !tbaa !5
  %6432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6433 = load i32, ptr @test_count, align 4, !tbaa !5
  %6434 = load i32, ptr %1080, align 4, !tbaa !5
  %6435 = call ptr @s2n_strerror(i32 noundef %6434, ptr noundef nonnull @.str.3) #11
  %6436 = load i32, ptr %1080, align 4, !tbaa !5
  %6437 = call ptr @s2n_strerror_debug(i32 noundef %6436, ptr noundef nonnull @.str.3) #11
  %6438 = load i32, ptr %1134, align 4, !tbaa !5
  %6439 = call ptr @strerror(i32 noundef %6438) #11
  %6440 = load i32, ptr %1134, align 4, !tbaa !5
  %6441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6432, ptr noundef nonnull %.str.4.sink2964, i32 noundef %6433, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.2, i32 noundef 797, ptr noundef %6435, ptr noundef %6437, ptr noundef %6439, i32 noundef %6440) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6442:                                             ; preds = %6417
  %6443 = load i32, ptr @test_count, align 4, !tbaa !5
  %6444 = add nsw i32 %6443, 1
  store i32 %6444, ptr @test_count, align 4, !tbaa !5
  %6445 = load i64, ptr %6088, align 8, !tbaa !19
  %6446 = icmp eq i64 %6445, %3136
  br i1 %6446, label %6469, label %6447

6447:                                             ; preds = %6577, %6442
  %6448 = load i32, ptr %1134, align 4, !tbaa !5
  %6449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6450 = call i32 @s2n_print_stacktrace(ptr noundef %6449) #11
  %6451 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6452 = trunc nuw i8 %6451 to i1
  br i1 %6452, label %6453, label %6457

6453:                                             ; preds = %6447
  %6454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6455 = call i32 @fileno(ptr noundef %6454) #11
  %6456 = call i32 @isatty(i32 noundef %6455) #11
  %.not751 = icmp eq i32 %6456, 0
  br i1 %.not751, label %6457, label %6458

6457:                                             ; preds = %6453, %6447
  br label %6458

6458:                                             ; preds = %6453, %6457
  %.str.4.sink2973 = phi ptr [ @.str.4, %6457 ], [ @.str, %6453 ]
  store i32 %6448, ptr %1134, align 4, !tbaa !5
  %6459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6460 = load i32, ptr @test_count, align 4, !tbaa !5
  %6461 = load i32, ptr %1080, align 4, !tbaa !5
  %6462 = call ptr @s2n_strerror(i32 noundef %6461, ptr noundef nonnull @.str.3) #11
  %6463 = load i32, ptr %1080, align 4, !tbaa !5
  %6464 = call ptr @s2n_strerror_debug(i32 noundef %6463, ptr noundef nonnull @.str.3) #11
  %6465 = load i32, ptr %1134, align 4, !tbaa !5
  %6466 = call ptr @strerror(i32 noundef %6465) #11
  %6467 = load i32, ptr %1134, align 4, !tbaa !5
  %6468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6459, ptr noundef nonnull %.str.4.sink2973, i32 noundef %6460, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.2, i32 noundef 798, ptr noundef %6462, ptr noundef %6464, ptr noundef %6466, i32 noundef %6467) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6469:                                             ; preds = %6442
  %6470 = add nsw i32 %6443, 2
  store i32 %6470, ptr @test_count, align 4, !tbaa !5
  %6471 = load ptr, ptr %76, align 8, !tbaa !9
  %6472 = call i64 @s2n_send(ptr noundef %6471, ptr noundef nonnull %4, i64 noundef 16394, ptr noundef nonnull %78) #11
  %6473 = icmp eq i64 %6472, 16394
  br i1 %6473, label %6496, label %6474

6474:                                             ; preds = %6582, %6469
  %6475 = load i32, ptr %1134, align 4, !tbaa !5
  %6476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6477 = call i32 @s2n_print_stacktrace(ptr noundef %6476) #11
  %6478 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6479 = trunc nuw i8 %6478 to i1
  br i1 %6479, label %6480, label %6484

6480:                                             ; preds = %6474
  %6481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6482 = call i32 @fileno(ptr noundef %6481) #11
  %6483 = call i32 @isatty(i32 noundef %6482) #11
  %.not752 = icmp eq i32 %6483, 0
  br i1 %.not752, label %6484, label %6485

6484:                                             ; preds = %6480, %6474
  br label %6485

6485:                                             ; preds = %6480, %6484
  %.str.4.sink2982 = phi ptr [ @.str.4, %6484 ], [ @.str, %6480 ]
  store i32 %6475, ptr %1134, align 4, !tbaa !5
  %6486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6487 = load i32, ptr @test_count, align 4, !tbaa !5
  %6488 = load i32, ptr %1080, align 4, !tbaa !5
  %6489 = call ptr @s2n_strerror(i32 noundef %6488, ptr noundef nonnull @.str.3) #11
  %6490 = load i32, ptr %1080, align 4, !tbaa !5
  %6491 = call ptr @s2n_strerror_debug(i32 noundef %6490, ptr noundef nonnull @.str.3) #11
  %6492 = load i32, ptr %1134, align 4, !tbaa !5
  %6493 = call ptr @strerror(i32 noundef %6492) #11
  %6494 = load i32, ptr %1134, align 4, !tbaa !5
  %6495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6486, ptr noundef nonnull %.str.4.sink2982, i32 noundef %6487, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.2, i32 noundef 803, ptr noundef %6489, ptr noundef %6491, ptr noundef %6493, i32 noundef %6494) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6496:                                             ; preds = %6469
  %6497 = load i32, ptr @test_count, align 4, !tbaa !5
  %6498 = add nsw i32 %6497, 1
  store i32 %6498, ptr @test_count, align 4, !tbaa !5
  %6499 = load i64, ptr %6088, align 8, !tbaa !19
  %6500 = icmp eq i64 %6499, %2721
  br i1 %6500, label %6523, label %6501

6501:                                             ; preds = %6587, %6496
  %6502 = load i32, ptr %1134, align 4, !tbaa !5
  %6503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6504 = call i32 @s2n_print_stacktrace(ptr noundef %6503) #11
  %6505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6506 = trunc nuw i8 %6505 to i1
  br i1 %6506, label %6507, label %6511

6507:                                             ; preds = %6501
  %6508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6509 = call i32 @fileno(ptr noundef %6508) #11
  %6510 = call i32 @isatty(i32 noundef %6509) #11
  %.not753 = icmp eq i32 %6510, 0
  br i1 %.not753, label %6511, label %6512

6511:                                             ; preds = %6507, %6501
  br label %6512

6512:                                             ; preds = %6507, %6511
  %.str.4.sink2991 = phi ptr [ @.str.4, %6511 ], [ @.str, %6507 ]
  store i32 %6502, ptr %1134, align 4, !tbaa !5
  %6513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6514 = load i32, ptr @test_count, align 4, !tbaa !5
  %6515 = load i32, ptr %1080, align 4, !tbaa !5
  %6516 = call ptr @s2n_strerror(i32 noundef %6515, ptr noundef nonnull @.str.3) #11
  %6517 = load i32, ptr %1080, align 4, !tbaa !5
  %6518 = call ptr @s2n_strerror_debug(i32 noundef %6517, ptr noundef nonnull @.str.3) #11
  %6519 = load i32, ptr %1134, align 4, !tbaa !5
  %6520 = call ptr @strerror(i32 noundef %6519) #11
  %6521 = load i32, ptr %1134, align 4, !tbaa !5
  %6522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6513, ptr noundef nonnull %.str.4.sink2991, i32 noundef %6514, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.2, i32 noundef 804, ptr noundef %6516, ptr noundef %6518, ptr noundef %6520, i32 noundef %6521) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6523:                                             ; preds = %6496, %6416
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %78) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #11
  %6524 = 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 %76) #11
  %6525 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %6525, ptr %76, align 8, !tbaa !9
  %6526 = load i32, ptr @test_count, align 4, !tbaa !5
  %6527 = add nsw i32 %6526, 1
  store i32 %6527, ptr @test_count, align 4, !tbaa !5
  %6528 = icmp eq ptr %6525, null
  br i1 %6528, label %6095, label %6529

6529:                                             ; preds = %6523
  %6530 = add nsw i32 %6526, 2
  store i32 %6530, ptr @test_count, align 4, !tbaa !5
  %6531 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %6525) #11
  %6532 = call zeroext i1 @s2n_result_is_ok(i32 %6531)
  br i1 %6532, label %6533, label %6121

6533:                                             ; preds = %6529
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %77) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %77, i8 0, i64 16, i1 false)
  store ptr %75, ptr %6089, align 8, !tbaa !50
  store i64 4, ptr %6090, align 8, !tbaa !51
  %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 %76, align 8, !tbaa !9
  %6537 = call i32 @s2n_connection_set_send_cb(ptr noundef %6536, ptr noundef nonnull @s2n_test_send_cb) #11
  %6538 = icmp eq i32 %6537, -1
  br i1 %6538, label %6149, label %6539

6539:                                             ; preds = %6533
  %6540 = load i32, ptr @test_count, align 4, !tbaa !5
  %6541 = add nsw i32 %6540, 1
  store i32 %6541, ptr @test_count, align 4, !tbaa !5
  %6542 = load ptr, ptr %76, align 8, !tbaa !9
  %6543 = call i32 @s2n_connection_set_send_ctx(ptr noundef %6542, ptr noundef nonnull %77) #11
  %6544 = icmp eq i32 %6543, -1
  br i1 %6544, label %6177, label %6545

6545:                                             ; preds = %6539
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %78) #11
  store i32 0, ptr %78, align 4, !tbaa !5
  %6546 = load i32, ptr @test_count, align 4, !tbaa !5
  %6547 = add nsw i32 %6546, 1
  store i32 %6547, ptr @test_count, align 4, !tbaa !5
  %6548 = load ptr, ptr %76, align 8, !tbaa !9
  %6549 = call i64 @s2n_send(ptr noundef %6548, ptr noundef nonnull %4, i64 noundef 16394, ptr noundef nonnull %78) #11
  %6550 = icmp eq i64 %6549, -1
  br i1 %6550, label %6551, label %6205

6551:                                             ; preds = %6545
  %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 = load i32, ptr %1080, align 4, !tbaa !5
  %6555 = icmp eq i32 %6554, 201326592
  br i1 %6555, label %6556, label %6232

6556:                                             ; preds = %6551
  %6557 = add nsw i32 %6552, 2
  store i32 %6557, ptr @test_count, align 4, !tbaa !5
  %6558 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.3) #11
  %6559 = icmp eq ptr %6558, null
  br i1 %6559, label %6258, label %6560

6560:                                             ; preds = %6556
  store i32 0, ptr %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1134, align 4, !tbaa !5
  %6561 = load i32, ptr @test_count, align 4, !tbaa !5
  %6562 = add nsw i32 %6561, 1
  store i32 %6562, ptr @test_count, align 4, !tbaa !5
  %6563 = load i32, ptr %78, align 4, !tbaa !5
  %6564 = icmp eq i32 %6563, 2
  br i1 %6564, label %6565, label %6285

6565:                                             ; preds = %6560
  %6566 = add nsw i32 %6561, 2
  store i32 %6566, ptr @test_count, align 4, !tbaa !5
  %6567 = load i64, ptr %6088, align 8, !tbaa !19
  %6568 = icmp eq i64 %6567, 0
  br i1 %6568, label %6569, label %6311

6569:                                             ; preds = %6565
  %6570 = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.use_send, i64 1), align 1, !tbaa !11, !range !13, !noundef !14
  %6571 = trunc nuw i8 %6570 to i1
  %6572 = add nsw i32 %6561, 3
  store i32 %6572, ptr @test_count, align 4, !tbaa !5
  %6573 = load ptr, ptr %76, align 8, !tbaa !9
  br i1 %6571, label %6592, label %6574

6574:                                             ; preds = %6569
  %6575 = call i32 @s2n_flush(ptr noundef %6573, ptr noundef nonnull %78) #11
  %6576 = icmp eq i32 %6575, -1
  br i1 %6576, label %6420, label %6577

6577:                                             ; preds = %6574
  %6578 = load i32, ptr @test_count, align 4, !tbaa !5
  %6579 = add nsw i32 %6578, 1
  store i32 %6579, ptr @test_count, align 4, !tbaa !5
  %6580 = load i64, ptr %6088, align 8, !tbaa !19
  %6581 = icmp eq i64 %6580, %3136
  br i1 %6581, label %6582, label %6447

6582:                                             ; preds = %6577
  %6583 = add nsw i32 %6578, 2
  store i32 %6583, ptr @test_count, align 4, !tbaa !5
  %6584 = load ptr, ptr %76, align 8, !tbaa !9
  %6585 = call i64 @s2n_send(ptr noundef %6584, ptr noundef nonnull %4, i64 noundef 16394, ptr noundef nonnull %78) #11
  %6586 = icmp eq i64 %6585, 16394
  br i1 %6586, label %6587, label %6474

6587:                                             ; preds = %6582
  %6588 = load i32, ptr @test_count, align 4, !tbaa !5
  %6589 = add nsw i32 %6588, 1
  store i32 %6589, ptr @test_count, align 4, !tbaa !5
  %6590 = load i64, ptr %6088, align 8, !tbaa !19
  %6591 = icmp eq i64 %6590, %2721
  br i1 %6591, label %6605, label %6501

6592:                                             ; preds = %6569
  %6593 = call i64 @s2n_send(ptr noundef %6573, ptr noundef nonnull %4, i64 noundef 0, ptr noundef nonnull %78) #11
  %6594 = icmp eq i64 %6593, -1
  br i1 %6594, label %6595, label %6341

6595:                                             ; preds = %6592
  %6596 = load i32, ptr @test_count, align 4, !tbaa !5
  %6597 = add nsw i32 %6596, 1
  store i32 %6597, ptr @test_count, align 4, !tbaa !5
  %6598 = load i32, ptr %1080, align 4, !tbaa !5
  %6599 = icmp eq i32 %6598, 469762069
  br i1 %6599, label %6600, label %6368

6600:                                             ; preds = %6595
  %6601 = add nsw i32 %6596, 2
  store i32 %6601, ptr @test_count, align 4, !tbaa !5
  %6602 = call ptr @s2n_strerror_debug(i32 noundef 469762069, ptr noundef nonnull @.str.3) #11
  %6603 = icmp eq ptr %6602, null
  br i1 %6603, label %6394, label %6604

6604:                                             ; preds = %6600
  store i32 0, ptr %1080, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1134, align 4, !tbaa !5
  br label %6605

6605:                                             ; preds = %6604, %6587
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %78) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #11
  %6606 = 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.end.p0(i64 32, ptr nonnull %75) #11
  %6607 = call i32 @s2n_cleanup() #11
  %6608 = icmp eq i32 %6607, -1
  br i1 %6608, label %6609, label %6631

6609:                                             ; preds = %6605
  %6610 = load i32, ptr %1134, align 4, !tbaa !5
  %6611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6612 = call i32 @s2n_print_stacktrace(ptr noundef %6611) #11
  %6613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6614 = trunc nuw i8 %6613 to i1
  br i1 %6614, label %6615, label %6619

6615:                                             ; preds = %6609
  %6616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6617 = call i32 @fileno(ptr noundef %6616) #11
  %6618 = call i32 @isatty(i32 noundef %6617) #11
  %.not745 = icmp eq i32 %6618, 0
  br i1 %.not745, label %6619, label %6620

6619:                                             ; preds = %6615, %6609
  br label %6620

6620:                                             ; preds = %6615, %6619
  %.str.4.sink3000 = phi ptr [ @.str.4, %6619 ], [ @.str, %6615 ]
  store i32 %6610, ptr %1134, align 4, !tbaa !5
  %6621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6622 = load i32, ptr @test_count, align 4, !tbaa !5
  %6623 = load i32, ptr %1080, align 4, !tbaa !5
  %6624 = call ptr @s2n_strerror(i32 noundef %6623, ptr noundef nonnull @.str.3) #11
  %6625 = load i32, ptr %1080, align 4, !tbaa !5
  %6626 = call ptr @s2n_strerror_debug(i32 noundef %6625, ptr noundef nonnull @.str.3) #11
  %6627 = load i32, ptr %1134, align 4, !tbaa !5
  %6628 = call ptr @strerror(i32 noundef %6627) #11
  %6629 = load i32, ptr %1134, align 4, !tbaa !5
  %6630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6621, ptr noundef nonnull %.str.4.sink3000, i32 noundef %6622, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.2, i32 noundef 808, ptr noundef %6624, ptr noundef %6626, ptr noundef %6628, i32 noundef %6629) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6631:                                             ; preds = %6605
  %6632 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #11
  %6633 = icmp eq i32 %6632, -1
  br i1 %6633, label %6634, label %6656

6634:                                             ; preds = %6631
  %6635 = load i32, ptr %1134, align 4, !tbaa !5
  %6636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6637 = call i32 @s2n_print_stacktrace(ptr noundef %6636) #11
  %6638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6639 = trunc nuw i8 %6638 to i1
  br i1 %6639, label %6640, label %6644

6640:                                             ; preds = %6634
  %6641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6642 = call i32 @fileno(ptr noundef %6641) #11
  %6643 = call i32 @isatty(i32 noundef %6642) #11
  %.not744 = icmp eq i32 %6643, 0
  br i1 %.not744, label %6644, label %6645

6644:                                             ; preds = %6640, %6634
  br label %6645

6645:                                             ; preds = %6640, %6644
  %.str.4.sink3009 = phi ptr [ @.str.4, %6644 ], [ @.str, %6640 ]
  store i32 %6635, ptr %1134, align 4, !tbaa !5
  %6646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6647 = load i32, ptr @test_count, align 4, !tbaa !5
  %6648 = load i32, ptr %1080, align 4, !tbaa !5
  %6649 = call ptr @s2n_strerror(i32 noundef %6648, ptr noundef nonnull @.str.3) #11
  %6650 = load i32, ptr %1080, align 4, !tbaa !5
  %6651 = call ptr @s2n_strerror_debug(i32 noundef %6650, ptr noundef nonnull @.str.3) #11
  %6652 = load i32, ptr %1134, align 4, !tbaa !5
  %6653 = call ptr @strerror(i32 noundef %6652) #11
  %6654 = load i32, ptr %1134, align 4, !tbaa !5
  %6655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6646, ptr noundef nonnull %.str.4.sink3009, i32 noundef %6647, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.2, i32 noundef 808, ptr noundef %6649, ptr noundef %6651, ptr noundef %6653, i32 noundef %6654) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6656:                                             ; preds = %6631
  %6657 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6658 = trunc nuw i8 %6657 to i1
  br i1 %6658, label %6659, label %6670

6659:                                             ; preds = %6656
  %6660 = load ptr, ptr @stdout, align 8, !tbaa !9
  %6661 = call i32 @fileno(ptr noundef %6660) #11
  %6662 = call i32 @isatty(i32 noundef %6661) #11
  %.not741 = icmp eq i32 %6662, 0
  br i1 %.not741, label %6670, label %6663

6663:                                             ; preds = %6659
  %6664 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not743 = icmp eq i32 %6664, 0
  %6665 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not743, label %6668, label %6666

6666:                                             ; preds = %6663
  %6667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6665, ptr noundef nonnull @.str.110, i32 noundef %6664) #11
  br label %6677

6668:                                             ; preds = %6663
  %6669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6665, ptr noundef nonnull @.str.111) #11
  br label %6677

6670:                                             ; preds = %6659, %6656
  %6671 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not742 = icmp eq i32 %6671, 0
  %6672 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not742, label %6675, label %6673

6673:                                             ; preds = %6670
  %6674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6672, ptr noundef nonnull @.str.112, i32 noundef %6671) #11
  br label %6677

6675:                                             ; preds = %6670
  %6676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6672, ptr noundef nonnull @.str.113) #11
  br label %6677

6677:                                             ; preds = %6673, %6675, %6666, %6668
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #11
  call void @llvm.lifetime.end.p0(i64 400, ptr nonnull %6) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #11
  call void @llvm.lifetime.end.p0(i64 16394, ptr nonnull %4) #11
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %3) #11
  ret i32 0
}

; 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

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) #8

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #9

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

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

declare i32 @s2n_get_public_random_data(ptr noundef) local_unnamed_addr #2

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_secrets(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_send_cb(ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_connection_set_send_ctx(ptr noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_set_test_max_fragment_len(ptr noundef, i32 noundef) local_unnamed_addr #0

declare i32 @s2n_connection_set_blinding(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i64 @s2n_connection_get_wire_bytes_out(ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.ceil.f64(double) #6

declare i32 @s2n_record_min_write_payload_size(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_dynamic_record_threshold(ptr noundef, i32 noundef, i16 noundef zeroext) local_unnamed_addr #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_error(i32) local_unnamed_addr #10

declare i32 @s2n_sendv_with_offset_total_size(ptr noundef, i64 noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_flush(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
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 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 #4 = { 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 #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 nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #9 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #10 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #11 = { nounwind }
attributes #12 = { nounwind willreturn memory(none) }
attributes #13 = { cold nounwind }
attributes #14 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !16, i64 0}
!16 = !{!"long", !7, i64 0}
!17 = !{!18, !16, i64 0}
!18 = !{!"s2n_send_context", !16, i64 0, !16, i64 8, !10, i64 16, !16, i64 24}
!19 = !{!18, !16, i64 8}
!20 = !{!21, !16, i64 2248}
!21 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !22, i64 160, !16, i64 168, !16, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !23, i64 240, !10, i64 632, !10, i64 640, !24, i64 648, !30, i64 1144, !33, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !36, i64 1776, !36, i64 1816, !36, i64 1856, !36, i64 1896, !6, i64 1936, !16, i64 1944, !7, i64 1952, !36, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !37, i64 2004, !37, i64 2008, !38, i64 2016, !35, i64 2208, !6, i64 2212, !35, i64 2216, !16, i64 2224, !7, i64 2232, !16, i64 2240, !16, i64 2248, !16, i64 2256, !37, i64 2264, !37, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !29, i64 2792, !6, i64 2816, !29, i64 2824, !29, i64 2848, !29, i64 2872, !40, i64 2896, !42, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !29, i64 3784, !6, i64 3808, !44, i64 3816, !7, i64 3848, !36, i64 3992, !29, i64 4032, !29, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !35, i64 4084, !35, i64 4086, !6, i64 4088, !6, i64 4092, !29, i64 4096, !6, i64 4120, !45, i64 4128, !37, i64 4176, !7, i64 4180, !7, i64 4181}
!22 = !{!"s2n_timer", !16, i64 0}
!23 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!24 = !{!"s2n_kex_parameters", !25, i64 0, !26, i64 8, !7, i64 24, !26, i64 56, !27, i64 72, !27, i64 184, !7, i64 296, !28, i64 360, !29, i64 448, !29, i64 472}
!25 = !{!"s2n_dh_params", !10, i64 0}
!26 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!27 = !{!"s2n_kem_group_params", !10, i64 0, !28, i64 8, !26, i64 96}
!28 = !{!"s2n_kem_params", !10, i64 0, !29, i64 8, !29, i64 32, !29, i64 56, !12, i64 80}
!29 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!30 = !{!"s2n_handshake_parameters", !31, i64 0, !31, i64 48, !29, i64 96, !6, i64 120, !32, 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}
!31 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!32 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!33 = !{!"s2n_psk_parameters", !6, i64 0, !34, i64 8, !35, i64 40, !35, i64 42, !10, i64 48, !6, i64 56}
!34 = !{!"s2n_array", !29, i64 0, !6, i64 24, !6, i64 28}
!35 = !{!"short", !7, i64 0}
!36 = !{!"s2n_stuffer", !29, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!37 = !{!"", !6, i64 0}
!38 = !{!"s2n_handshake", !36, 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, !39, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!39 = !{!"s2n_offered_early_data", !10, i64 0}
!40 = !{!"s2n_client_hello", !29, i64 0, !41, i64 24, !29, i64 728, !29, i64 752, !29, 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}
!41 = !{!"", !7, i64 0, !29, i64 672, !35, i64 696}
!42 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !35, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !43, i64 48, !12, i64 52}
!43 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!44 = !{!"s2n_ticket_fields", !29, i64 0, !6, i64 24}
!45 = !{!"s2n_post_handshake", !36, i64 0, !7, i64 40}
!46 = !{!21, !35, i64 2208}
!47 = !{!21, !6, i64 1904}
!48 = distinct !{!48, !49}
!49 = !{!"llvm.loop.mustprogress"}
!50 = !{!18, !10, i64 16}
!51 = !{!18, !16, i64 24}
!52 = distinct !{!52, !49}
!53 = !{!35, !35, i64 0}
!54 = !{!21, !16, i64 2224}


; Effective O3 passes: CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,LICMPass,LoopRotatePass,MemCpyOptPass,PostOrderFunctionAttrsPass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass